int swi120(int c) {
  int i;
  for (i = 0; i < 120; i++) {
    switch (i) {
    case 0:
      c++;
      break;
    case 1:
      c++;
      break;
    case 2:
      c++;
      break;
    case 3:
      c++;
      break;
    case 4:
      c++;
      break;
    case 5:
      c++;
      break;
    case 6:
      c++;
      break;
    case 7:
      c++;
      break;
    case 8:
      c++;
      break;
    case 9:
      c++;
      break;
    case 10:
      c++;
      break;
    case 11:
      c++;
      break;
    case 12:
      c++;
      break;
    case 13:
      c++;
      break;
    case 14:
      c++;
      break;
    case 15:
      c++;
      break;
    case 16:
      c++;
      break;
    case 17:
      c++;
      break;
    case 18:
      c++;
      break;
    case 19:
      c++;
      break;
    case 20:
      c++;
      break;
    case 21:
      c++;
      break;
    case 22:
      c++;
      break;
    case 23:
      c++;
      break;
    case 24:
      c++;
      break;
    case 25:
      c++;
      break;
    case 26:
      c++;
      break;
    case 27:
      c++;
      break;
    case 28:
      c++;
      break;
    case 29:
      c++;
      break;
    case 30:
      c++;
      break;
    case 31:
      c++;
      break;
    case 32:
      c++;
      break;
    case 33:
      c++;
      break;
    case 34:
      c++;
      break;
    case 35:
      c++;
      break;
    case 36:
      c++;
      break;
    case 37:
      c++;
      break;
    case 38:
      c++;
      break;
    case 39:
      c++;
      break;
    case 40:
      c++;
      break;
    case 41:
      c++;
      break;
    case 42:
      c++;
      break;
    case 43:
      c++;
      break;
    case 44:
      c++;
      break;
    case 45:
      c++;
      break;
    case 46:
      c++;
      break;
    case 47:
      c++;
      break;
    case 48:
      c++;
      break;
    case 49:
      c++;
      break;
    case 50:
      c++;
      break;
    case 51:
      c++;
      break;
    case 52:
      c++;
      break;
    case 53:
      c++;
      break;
    case 54:
      c++;
      break;
    case 55:
      c++;
      break;
    case 56:
      c++;
      break;
    case 57:
      c++;
      break;
    case 58:
      c++;
      break;
    case 59:
      c++;
      break;
    case 60:
      c++;
      break;
    case 61:
      c++;
      break;
    case 62:
      c++;
      break;
    case 63:
      c++;
      break;
    case 64:
      c++;
      break;
    case 65:
      c++;
      break;
    case 66:
      c++;
      break;
    case 67:
      c++;
      break;
    case 68:
      c++;
      break;
    case 69:
      c++;
      break;
    case 70:
      c++;
      break;
    case 71:
      c++;
      break;
    case 72:
      c++;
      break;
    case 73:
      c++;
      break;
    case 74:
      c++;
      break;
    case 75:
      c++;
      break;
    case 76:
      c++;
      break;
    case 77:
      c++;
      break;
    case 78:
      c++;
      break;
    case 79:
      c++;
      break;
    case 80:
      c++;
      break;
    case 81:
      c++;
      break;
    case 82:
      c++;
      break;
    case 83:
      c++;
      break;
    case 84:
      c++;
      break;
    case 85:
      c++;
      break;
    case 86:
      c++;
      break;
    case 87:
      c++;
      break;
    case 88:
      c++;
      break;
    case 89:
      c++;
      break;
    case 90:
      c++;
      break;
    case 91:
      c++;
      break;
    case 92:
      c++;
      break;
    case 93:
      c++;
      break;
    case 94:
      c++;
      break;
    case 95:
      c++;
      break;
    case 96:
      c++;
      break;
    case 97:
      c++;
      break;
    case 98:
      c++;
      break;
    case 99:
      c++;
      break;
    case 100:
      c++;
      break;
    case 101:
      c++;
      break;
    case 102:
      c++;
      break;
    case 103:
      c++;
      break;
    case 104:
      c++;
      break;
    case 105:
      c++;
      break;
    case 106:
      c++;
      break;
    case 107:
      c++;
      break;
    case 108:
      c++;
      break;
    case 109:
      c++;
      break;
    case 110:
      c++;
      break;
    case 111:
      c++;
      break;
    case 112:
      c++;
      break;
    case 113:
      c++;
      break;
    case 114:
      c++;
      break;
    case 115:
      c++;
      break;
    case 116:
      c++;
      break;
    case 117:
      c++;
      break;
    case 118:
      c++;
      break;
    case 119:
      c++;
      break;
    default:
      c--;
      break;
    }
  }
  return c;
}


x86 assembly (clang, -O0):
<swi120>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
cmpl   $0x78,-0x8(%rbp)
jge    17e9 <swi120+0x6e9>
mov    -0x8(%rbp),%eax
mov    %rax,-0x10(%rbp)
sub    $0x77,%rax
ja     17cd <swi120+0x6cd>
mov    -0x10(%rbp),%rax
lea    0xecc(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
jmp    17d6 <swi120+0x6d6>
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x4(%rbp)
jmp    17db <swi120+0x6db>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    110e <swi120+0xe>
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<swi120>:
mov    %edi,%eax
xor    %ecx,%ecx
xor    %edx,%edx
jmp    1118 <swi120+0x18>
nopl   0x0(%rax,%rax,1)
add    %esi,%eax
add    $0x8,%edx
add    $0x1,%ecx
mov    %edx,%edi
shl    $0x1d,%edi
or     %ecx,%edi
xor    %esi,%esi
cmp    $0xf,%edi
setb   %sil
lea    (%rax,%rsi,2),%eax
add    $0xffffffff,%eax
lea    -0x1(%rax,%rsi,2),%eax
lea    -0x1(%rax,%rsi,2),%eax
lea    -0x1(%rax,%rsi,2),%eax
lea    -0x1(%rax,%rsi,2),%eax
lea    (%rax,%rsi,2),%eax
add    $0xffffffff,%eax
lea    (%rax,%rsi,2),%eax
add    $0xffffffff,%eax
mov    $0x1,%esi
cmp    $0xe,%edi
jb     1110 <swi120+0x10>
je     115d <swi120+0x5d>
mov    $0xffffffff,%esi
jmp    1110 <swi120+0x10>
add    $0x1,%eax
ret

LLVM IR (-O0):
define i32 @swi120(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %2
store i32 0, i32* %3
br label %4
4: ; preds = %373, %1
%5 = load i32, i32* %3
%6 = icmp slt i32 %5, 120
br i1 %6, label %7, label %376
7: ; preds = %4
%8 = load i32, i32* %3
switch i32 %8, label %369 [
i32 0, label %9
i32 1, label %12
i32 2, label %15
i32 3, label %18
i32 4, label %21
i32 5, label %24
i32 6, label %27
i32 7, label %30
i32 8, label %33
i32 9, label %36
i32 10, label %39
i32 11, label %42
i32 12, label %45
i32 13, label %48
i32 14, label %51
i32 15, label %54
i32 16, label %57
i32 17, label %60
i32 18, label %63
i32 19, label %66
i32 20, label %69
i32 21, label %72
i32 22, label %75
i32 23, label %78
i32 24, label %81
i32 25, label %84
i32 26, label %87
i32 27, label %90
i32 28, label %93
i32 29, label %96
i32 30, label %99
i32 31, label %102
i32 32, label %105
i32 33, label %108
i32 34, label %111
i32 35, label %114
i32 36, label %117
i32 37, label %120
i32 38, label %123
i32 39, label %126
i32 40, label %129
i32 41, label %132
i32 42, label %135
i32 43, label %138
i32 44, label %141
i32 45, label %144
i32 46, label %147
i32 47, label %150
i32 48, label %153
i32 49, label %156
i32 50, label %159
i32 51, label %162
i32 52, label %165
i32 53, label %168
i32 54, label %171
i32 55, label %174
i32 56, label %177
i32 57, label %180
i32 58, label %183
i32 59, label %186
i32 60, label %189
i32 61, label %192
i32 62, label %195
i32 63, label %198
i32 64, label %201
i32 65, label %204
i32 66, label %207
i32 67, label %210
i32 68, label %213
i32 69, label %216
i32 70, label %219
i32 71, label %222
i32 72, label %225
i32 73, label %228
i32 74, label %231
i32 75, label %234
i32 76, label %237
i32 77, label %240
i32 78, label %243
i32 79, label %246
i32 80, label %249
i32 81, label %252
i32 82, label %255
i32 83, label %258
i32 84, label %261
i32 85, label %264
i32 86, label %267
i32 87, label %270
i32 88, label %273
i32 89, label %276
i32 90, label %279
i32 91, label %282
i32 92, label %285
i32 93, label %288
i32 94, label %291
i32 95, label %294
i32 96, label %297
i32 97, label %300
i32 98, label %303
i32 99, label %306
i32 100, label %309
i32 101, label %312
i32 102, label %315
i32 103, label %318
i32 104, label %321
i32 105, label %324
i32 106, label %327
i32 107, label %330
i32 108, label %333
i32 109, label %336
i32 110, label %339
i32 111, label %342
i32 112, label %345
i32 113, label %348
i32 114, label %351
i32 115, label %354
i32 116, label %357
i32 117, label %360
i32 118, label %363
i32 119, label %366
]
9: ; preds = %7
%10 = load i32, i32* %2
%11 = add nsw i32 %10, 1
store i32 %11, i32* %2
br label %372
12: ; preds = %7
%13 = load i32, i32* %2
%14 = add nsw i32 %13, 1
store i32 %14, i32* %2
br label %372
15: ; preds = %7
%16 = load i32, i32* %2
%17 = add nsw i32 %16, 1
store i32 %17, i32* %2
br label %372
18: ; preds = %7
%19 = load i32, i32* %2
%20 = add nsw i32 %19, 1
store i32 %20, i32* %2
br label %372
21: ; preds = %7
%22 = load i32, i32* %2
%23 = add nsw i32 %22, 1
store i32 %23, i32* %2
br label %372
24: ; preds = %7
%25 = load i32, i32* %2
%26 = add nsw i32 %25, 1
store i32 %26, i32* %2
br label %372
27: ; preds = %7
%28 = load i32, i32* %2
%29 = add nsw i32 %28, 1
store i32 %29, i32* %2
br label %372
30: ; preds = %7
%31 = load i32, i32* %2
%32 = add nsw i32 %31, 1
store i32 %32, i32* %2
br label %372
33: ; preds = %7
%34 = load i32, i32* %2
%35 = add nsw i32 %34, 1
store i32 %35, i32* %2
br label %372
36: ; preds = %7
%37 = load i32, i32* %2
%38 = add nsw i32 %37, 1
store i32 %38, i32* %2
br label %372
39: ; preds = %7
%40 = load i32, i32* %2
%41 = add nsw i32 %40, 1
store i32 %41, i32* %2
br label %372
42: ; preds = %7
%43 = load i32, i32* %2
%44 = add nsw i32 %43, 1
store i32 %44, i32* %2
br label %372
45: ; preds = %7
%46 = load i32, i32* %2
%47 = add nsw i32 %46, 1
store i32 %47, i32* %2
br label %372
48: ; preds = %7
%49 = load i32, i32* %2
%50 = add nsw i32 %49, 1
store i32 %50, i32* %2
br label %372
51: ; preds = %7
%52 = load i32, i32* %2
%53 = add nsw i32 %52, 1
store i32 %53, i32* %2
br label %372
54: ; preds = %7
%55 = load i32, i32* %2
%56 = add nsw i32 %55, 1
store i32 %56, i32* %2
br label %372
57: ; preds = %7
%58 = load i32, i32* %2
%59 = add nsw i32 %58, 1
store i32 %59, i32* %2
br label %372
60: ; preds = %7
%61 = load i32, i32* %2
%62 = add nsw i32 %61, 1
store i32 %62, i32* %2
br label %372
63: ; preds = %7
%64 = load i32, i32* %2
%65 = add nsw i32 %64, 1
store i32 %65, i32* %2
br label %372
66: ; preds = %7
%67 = load i32, i32* %2
%68 = add nsw i32 %67, 1
store i32 %68, i32* %2
br label %372
69: ; preds = %7
%70 = load i32, i32* %2
%71 = add nsw i32 %70, 1
store i32 %71, i32* %2
br label %372
72: ; preds = %7
%73 = load i32, i32* %2
%74 = add nsw i32 %73, 1
store i32 %74, i32* %2
br label %372
75: ; preds = %7
%76 = load i32, i32* %2
%77 = add nsw i32 %76, 1
store i32 %77, i32* %2
br label %372
78: ; preds = %7
%79 = load i32, i32* %2
%80 = add nsw i32 %79, 1
store i32 %80, i32* %2
br label %372
81: ; preds = %7
%82 = load i32, i32* %2
%83 = add nsw i32 %82, 1
store i32 %83, i32* %2
br label %372
84: ; preds = %7
%85 = load i32, i32* %2
%86 = add nsw i32 %85, 1
store i32 %86, i32* %2
br label %372
87: ; preds = %7
%88 = load i32, i32* %2
%89 = add nsw i32 %88, 1
store i32 %89, i32* %2
br label %372
90: ; preds = %7
%91 = load i32, i32* %2
%92 = add nsw i32 %91, 1
store i32 %92, i32* %2
br label %372
93: ; preds = %7
%94 = load i32, i32* %2
%95 = add nsw i32 %94, 1
store i32 %95, i32* %2
br label %372
96: ; preds = %7
%97 = load i32, i32* %2
%98 = add nsw i32 %97, 1
store i32 %98, i32* %2
br label %372
99: ; preds = %7
%100 = load i32, i32* %2
%101 = add nsw i32 %100, 1
store i32 %101, i32* %2
br label %372
102: ; preds = %7
%103 = load i32, i32* %2
%104 = add nsw i32 %103, 1
store i32 %104, i32* %2
br label %372
105: ; preds = %7
%106 = load i32, i32* %2
%107 = add nsw i32 %106, 1
store i32 %107, i32* %2
br label %372
108: ; preds = %7
%109 = load i32, i32* %2
%110 = add nsw i32 %109, 1
store i32 %110, i32* %2
br label %372
111: ; preds = %7
%112 = load i32, i32* %2
%113 = add nsw i32 %112, 1
store i32 %113, i32* %2
br label %372
114: ; preds = %7
%115 = load i32, i32* %2
%116 = add nsw i32 %115, 1
store i32 %116, i32* %2
br label %372
117: ; preds = %7
%118 = load i32, i32* %2
%119 = add nsw i32 %118, 1
store i32 %119, i32* %2
br label %372
120: ; preds = %7
%121 = load i32, i32* %2
%122 = add nsw i32 %121, 1
store i32 %122, i32* %2
br label %372
123: ; preds = %7
%124 = load i32, i32* %2
%125 = add nsw i32 %124, 1
store i32 %125, i32* %2
br label %372
126: ; preds = %7
%127 = load i32, i32* %2
%128 = add nsw i32 %127, 1
store i32 %128, i32* %2
br label %372
129: ; preds = %7
%130 = load i32, i32* %2
%131 = add nsw i32 %130, 1
store i32 %131, i32* %2
br label %372
132: ; preds = %7
%133 = load i32, i32* %2
%134 = add nsw i32 %133, 1
store i32 %134, i32* %2
br label %372
135: ; preds = %7
%136 = load i32, i32* %2
%137 = add nsw i32 %136, 1
store i32 %137, i32* %2
br label %372
138: ; preds = %7
%139 = load i32, i32* %2
%140 = add nsw i32 %139, 1
store i32 %140, i32* %2
br label %372
141: ; preds = %7
%142 = load i32, i32* %2
%143 = add nsw i32 %142, 1
store i32 %143, i32* %2
br label %372
144: ; preds = %7
%145 = load i32, i32* %2
%146 = add nsw i32 %145, 1
store i32 %146, i32* %2
br label %372
147: ; preds = %7
%148 = load i32, i32* %2
%149 = add nsw i32 %148, 1
store i32 %149, i32* %2
br label %372
150: ; preds = %7
%151 = load i32, i32* %2
%152 = add nsw i32 %151, 1
store i32 %152, i32* %2
br label %372
153: ; preds = %7
%154 = load i32, i32* %2
%155 = add nsw i32 %154, 1
store i32 %155, i32* %2
br label %372
156: ; preds = %7
%157 = load i32, i32* %2
%158 = add nsw i32 %157, 1
store i32 %158, i32* %2
br label %372
159: ; preds = %7
%160 = load i32, i32* %2
%161 = add nsw i32 %160, 1
store i32 %161, i32* %2
br label %372
162: ; preds = %7
%163 = load i32, i32* %2
%164 = add nsw i32 %163, 1
store i32 %164, i32* %2
br label %372
165: ; preds = %7
%166 = load i32, i32* %2
%167 = add nsw i32 %166, 1
store i32 %167, i32* %2
br label %372
168: ; preds = %7
%169 = load i32, i32* %2
%170 = add nsw i32 %169, 1
store i32 %170, i32* %2
br label %372
171: ; preds = %7
%172 = load i32, i32* %2
%173 = add nsw i32 %172, 1
store i32 %173, i32* %2
br label %372
174: ; preds = %7
%175 = load i32, i32* %2
%176 = add nsw i32 %175, 1
store i32 %176, i32* %2
br label %372
177: ; preds = %7
%178 = load i32, i32* %2
%179 = add nsw i32 %178, 1
store i32 %179, i32* %2
br label %372
180: ; preds = %7
%181 = load i32, i32* %2
%182 = add nsw i32 %181, 1
store i32 %182, i32* %2
br label %372
183: ; preds = %7
%184 = load i32, i32* %2
%185 = add nsw i32 %184, 1
store i32 %185, i32* %2
br label %372
186: ; preds = %7
%187 = load i32, i32* %2
%188 = add nsw i32 %187, 1
store i32 %188, i32* %2
br label %372
189: ; preds = %7
%190 = load i32, i32* %2
%191 = add nsw i32 %190, 1
store i32 %191, i32* %2
br label %372
192: ; preds = %7
%193 = load i32, i32* %2
%194 = add nsw i32 %193, 1
store i32 %194, i32* %2
br label %372
195: ; preds = %7
%196 = load i32, i32* %2
%197 = add nsw i32 %196, 1
store i32 %197, i32* %2
br label %372
198: ; preds = %7
%199 = load i32, i32* %2
%200 = add nsw i32 %199, 1
store i32 %200, i32* %2
br label %372
201: ; preds = %7
%202 = load i32, i32* %2
%203 = add nsw i32 %202, 1
store i32 %203, i32* %2
br label %372
204: ; preds = %7
%205 = load i32, i32* %2
%206 = add nsw i32 %205, 1
store i32 %206, i32* %2
br label %372
207: ; preds = %7
%208 = load i32, i32* %2
%209 = add nsw i32 %208, 1
store i32 %209, i32* %2
br label %372
210: ; preds = %7
%211 = load i32, i32* %2
%212 = add nsw i32 %211, 1
store i32 %212, i32* %2
br label %372
213: ; preds = %7
%214 = load i32, i32* %2
%215 = add nsw i32 %214, 1
store i32 %215, i32* %2
br label %372
216: ; preds = %7
%217 = load i32, i32* %2
%218 = add nsw i32 %217, 1
store i32 %218, i32* %2
br label %372
219: ; preds = %7
%220 = load i32, i32* %2
%221 = add nsw i32 %220, 1
store i32 %221, i32* %2
br label %372
222: ; preds = %7
%223 = load i32, i32* %2
%224 = add nsw i32 %223, 1
store i32 %224, i32* %2
br label %372
225: ; preds = %7
%226 = load i32, i32* %2
%227 = add nsw i32 %226, 1
store i32 %227, i32* %2
br label %372
228: ; preds = %7
%229 = load i32, i32* %2
%230 = add nsw i32 %229, 1
store i32 %230, i32* %2
br label %372
231: ; preds = %7
%232 = load i32, i32* %2
%233 = add nsw i32 %232, 1
store i32 %233, i32* %2
br label %372
234: ; preds = %7
%235 = load i32, i32* %2
%236 = add nsw i32 %235, 1
store i32 %236, i32* %2
br label %372
237: ; preds = %7
%238 = load i32, i32* %2
%239 = add nsw i32 %238, 1
store i32 %239, i32* %2
br label %372
240: ; preds = %7
%241 = load i32, i32* %2
%242 = add nsw i32 %241, 1
store i32 %242, i32* %2
br label %372
243: ; preds = %7
%244 = load i32, i32* %2
%245 = add nsw i32 %244, 1
store i32 %245, i32* %2
br label %372
246: ; preds = %7
%247 = load i32, i32* %2
%248 = add nsw i32 %247, 1
store i32 %248, i32* %2
br label %372
249: ; preds = %7
%250 = load i32, i32* %2
%251 = add nsw i32 %250, 1
store i32 %251, i32* %2
br label %372
252: ; preds = %7
%253 = load i32, i32* %2
%254 = add nsw i32 %253, 1
store i32 %254, i32* %2
br label %372
255: ; preds = %7
%256 = load i32, i32* %2
%257 = add nsw i32 %256, 1
store i32 %257, i32* %2
br label %372
258: ; preds = %7
%259 = load i32, i32* %2
%260 = add nsw i32 %259, 1
store i32 %260, i32* %2
br label %372
261: ; preds = %7
%262 = load i32, i32* %2
%263 = add nsw i32 %262, 1
store i32 %263, i32* %2
br label %372
264: ; preds = %7
%265 = load i32, i32* %2
%266 = add nsw i32 %265, 1
store i32 %266, i32* %2
br label %372
267: ; preds = %7
%268 = load i32, i32* %2
%269 = add nsw i32 %268, 1
store i32 %269, i32* %2
br label %372
270: ; preds = %7
%271 = load i32, i32* %2
%272 = add nsw i32 %271, 1
store i32 %272, i32* %2
br label %372
273: ; preds = %7
%274 = load i32, i32* %2
%275 = add nsw i32 %274, 1
store i32 %275, i32* %2
br label %372
276: ; preds = %7
%277 = load i32, i32* %2
%278 = add nsw i32 %277, 1
store i32 %278, i32* %2
br label %372
279: ; preds = %7
%280 = load i32, i32* %2
%281 = add nsw i32 %280, 1
store i32 %281, i32* %2
br label %372
282: ; preds = %7
%283 = load i32, i32* %2
%284 = add nsw i32 %283, 1
store i32 %284, i32* %2
br label %372
285: ; preds = %7
%286 = load i32, i32* %2
%287 = add nsw i32 %286, 1
store i32 %287, i32* %2
br label %372
288: ; preds = %7
%289 = load i32, i32* %2
%290 = add nsw i32 %289, 1
store i32 %290, i32* %2
br label %372
291: ; preds = %7
%292 = load i32, i32* %2
%293 = add nsw i32 %292, 1
store i32 %293, i32* %2
br label %372
294: ; preds = %7
%295 = load i32, i32* %2
%296 = add nsw i32 %295, 1
store i32 %296, i32* %2
br label %372
297: ; preds = %7
%298 = load i32, i32* %2
%299 = add nsw i32 %298, 1
store i32 %299, i32* %2
br label %372
300: ; preds = %7
%301 = load i32, i32* %2
%302 = add nsw i32 %301, 1
store i32 %302, i32* %2
br label %372
303: ; preds = %7
%304 = load i32, i32* %2
%305 = add nsw i32 %304, 1
store i32 %305, i32* %2
br label %372
306: ; preds = %7
%307 = load i32, i32* %2
%308 = add nsw i32 %307, 1
store i32 %308, i32* %2
br label %372
309: ; preds = %7
%310 = load i32, i32* %2
%311 = add nsw i32 %310, 1
store i32 %311, i32* %2
br label %372
312: ; preds = %7
%313 = load i32, i32* %2
%314 = add nsw i32 %313, 1
store i32 %314, i32* %2
br label %372
315: ; preds = %7
%316 = load i32, i32* %2
%317 = add nsw i32 %316, 1
store i32 %317, i32* %2
br label %372
318: ; preds = %7
%319 = load i32, i32* %2
%320 = add nsw i32 %319, 1
store i32 %320, i32* %2
br label %372
321: ; preds = %7
%322 = load i32, i32* %2
%323 = add nsw i32 %322, 1
store i32 %323, i32* %2
br label %372
324: ; preds = %7
%325 = load i32, i32* %2
%326 = add nsw i32 %325, 1
store i32 %326, i32* %2
br label %372
327: ; preds = %7
%328 = load i32, i32* %2
%329 = add nsw i32 %328, 1
store i32 %329, i32* %2
br label %372
330: ; preds = %7
%331 = load i32, i32* %2
%332 = add nsw i32 %331, 1
store i32 %332, i32* %2
br label %372
333: ; preds = %7
%334 = load i32, i32* %2
%335 = add nsw i32 %334, 1
store i32 %335, i32* %2
br label %372
336: ; preds = %7
%337 = load i32, i32* %2
%338 = add nsw i32 %337, 1
store i32 %338, i32* %2
br label %372
339: ; preds = %7
%340 = load i32, i32* %2
%341 = add nsw i32 %340, 1
store i32 %341, i32* %2
br label %372
342: ; preds = %7
%343 = load i32, i32* %2
%344 = add nsw i32 %343, 1
store i32 %344, i32* %2
br label %372
345: ; preds = %7
%346 = load i32, i32* %2
%347 = add nsw i32 %346, 1
store i32 %347, i32* %2
br label %372
348: ; preds = %7
%349 = load i32, i32* %2
%350 = add nsw i32 %349, 1
store i32 %350, i32* %2
br label %372
351: ; preds = %7
%352 = load i32, i32* %2
%353 = add nsw i32 %352, 1
store i32 %353, i32* %2
br label %372
354: ; preds = %7
%355 = load i32, i32* %2
%356 = add nsw i32 %355, 1
store i32 %356, i32* %2
br label %372
357: ; preds = %7
%358 = load i32, i32* %2
%359 = add nsw i32 %358, 1
store i32 %359, i32* %2
br label %372
360: ; preds = %7
%361 = load i32, i32* %2
%362 = add nsw i32 %361, 1
store i32 %362, i32* %2
br label %372
363: ; preds = %7
%364 = load i32, i32* %2
%365 = add nsw i32 %364, 1
store i32 %365, i32* %2
br label %372
366: ; preds = %7
%367 = load i32, i32* %2
%368 = add nsw i32 %367, 1
store i32 %368, i32* %2
br label %372
369: ; preds = %7
%370 = load i32, i32* %2
%371 = add nsw i32 %370, -1
store i32 %371, i32* %2
br label %372
372: ; preds = %369, %366, %363, %360, %357, %354, %351, %348, %345, %342, %339, %336, %333, %330, %327, %324, %321, %318, %315, %312, %309, %306, %303, %300, %297, %294, %291, %288, %285, %282, %279, %276, %273, %270, %267, %264, %261, %258, %255, %252, %249, %246, %243, %240, %237, %234, %231, %228, %225, %222, %219, %216, %213, %210, %207, %204, %201, %198, %195, %192, %189, %186, %183, %180, %177, %174, %171, %168, %165, %162, %159, %156, %153, %150, %147, %144, %141, %138, %135, %132, %129, %126, %123, %120, %117, %114, %111, %108, %105, %102, %99, %96, %93, %90, %87, %84, %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9
br label %373
373: ; preds = %372
%374 = load i32, i32* %3
%375 = add nsw i32 %374, 1
store i32 %375, i32* %3
br label %4
376: ; preds = %4
%377 = load i32, i32* %2
ret i32 %377
}

LLVM IR (-O2):
define i32 @swi120(i32 %0) {
br label %2
2: ; preds = %59, %1
%3 = phi i32 [ 0, %1 ], [ %62, %59 ]
%4 = phi i32 [ %0, %1 ], [ %61, %59 ]
%5 = sub i32 %3, 0
%6 = lshr i32 %5, 3
%7 = shl i32 %5, 29
%8 = or i32 %6, %7
%9 = icmp ult i32 %8, 15
%10 = select i1 %9, i32 1, i32 -1
%11 = add nsw i32 %4, %10
%12 = sub i32 %3, 0
%13 = lshr i32 %12, 3
%14 = shl i32 %12, 29
%15 = or i32 %13, %14
%16 = icmp ult i32 %15, 15
%17 = select i1 %16, i32 1, i32 -1
%18 = add nsw i32 %11, %17
%19 = sub i32 %3, 0
%20 = lshr i32 %19, 3
%21 = shl i32 %19, 29
%22 = or i32 %20, %21
%23 = icmp ult i32 %22, 15
%24 = select i1 %23, i32 1, i32 -1
%25 = add nsw i32 %18, %24
%26 = sub i32 %3, 0
%27 = lshr i32 %26, 3
%28 = shl i32 %26, 29
%29 = or i32 %27, %28
%30 = icmp ult i32 %29, 15
%31 = select i1 %30, i32 1, i32 -1
%32 = add nsw i32 %25, %31
%33 = sub i32 %3, 0
%34 = lshr i32 %33, 3
%35 = shl i32 %33, 29
%36 = or i32 %34, %35
%37 = icmp ult i32 %36, 15
%38 = select i1 %37, i32 1, i32 -1
%39 = add nsw i32 %32, %38
%40 = sub i32 %3, 0
%41 = lshr i32 %40, 3
%42 = shl i32 %40, 29
%43 = or i32 %41, %42
%44 = icmp ult i32 %43, 15
%45 = select i1 %44, i32 1, i32 -1
%46 = add nsw i32 %39, %45
%47 = sub i32 %3, 0
%48 = lshr i32 %47, 3
%49 = shl i32 %47, 29
%50 = or i32 %48, %49
%51 = icmp ult i32 %50, 15
%52 = select i1 %51, i32 1, i32 -1
%53 = add nsw i32 %46, %52
%54 = sub i32 %3, 0
%55 = lshr i32 %54, 3
%56 = shl i32 %54, 29
%57 = or i32 %55, %56
switch i32 %57, label %58 [
i32 14, label %63
i32 1, label %59
i32 11, label %59
i32 10, label %59
i32 12, label %59
i32 8, label %59
i32 6, label %59
i32 0, label %59
i32 3, label %59
i32 13, label %59
i32 4, label %59
i32 2, label %59
i32 9, label %59
i32 7, label %59
i32 5, label %59
]
58: ; preds = %2
br label %59
59: ; preds = %2, %2, %2, %2, %2, %2, %2, %2, %2, %2, %2, %2, %2, %58, %2
%60 = phi i32 [ -1, %58 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ], [ 1, %2 ]
%61 = add nsw i32 %53, %60
%62 = add nuw nsw i32 %3, 8
br label %2
63: ; preds = %2
%64 = add nsw i32 %53, 1
ret i32 %64
}