#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int uint32_t;
typedef int devid;

/* Variables and functions */
int /*<<< orphan*/ snprintf(char *, int, char *, char const *, ...);
void i830_debug_dspcntr(char *result, int len, int reg, uint32_t val,
                        uint32_t devid) {
  const char *enabled = val & (1 << 31) ? "enabled" : "disabled";
  char plane = val & (1 << 24) ? 'B' : 'A';
  if (((((devid) == 0x0042) || ((devid) == 0x0046)) ||
       ((devid) == 0x0102 || (devid) == 0x0112 || (devid) == 0x0122 ||
        (devid) == 0x0106 || (devid) == 0x0116 || (devid) == 0x0126 ||
        (devid) == 0x010A) ||
       ((devid) == 0x0152 || (devid) == 0x0162 || (devid) == 0x0156 ||
        (devid) == 0x0166 || (devid) == 0x015a || (devid) == 0x016a) ||
       (((devid) == 0x0402 || (devid) == 0x0406 || (devid) == 0x040A ||
         (devid) == 0x040B || (devid) == 0x040E || (devid) == 0x0C02 ||
         (devid) == 0x0C06 || (devid) == 0x0C0A || (devid) == 0x0C0B ||
         (devid) == 0x0C0E || (devid) == 0x0A02 || (devid) == 0x0A06 ||
         (devid) == 0x0A0A || (devid) == 0x0A0B || (devid) == 0x0A0E ||
         (devid) == 0x0D02 || (devid) == 0x0D06 || (devid) == 0x0D0A ||
         (devid) == 0x0D0B || (devid) == 0x0D0E) ||
        ((devid) == 0x0412 || (devid) == 0x0416 || (devid) == 0x041A ||
         (devid) == 0x041B || (devid) == 0x041E || (devid) == 0x0C12 ||
         (devid) == 0x0C16 || (devid) == 0x0C1A || (devid) == 0x0C1B ||
         (devid) == 0x0C1E || (devid) == 0x0A12 || (devid) == 0x0A16 ||
         (devid) == 0x0A1A || (devid) == 0x0A1B || (devid) == 0x0A1E ||
         (devid) == 0x0D12 || (devid) == 0x0D16 || (devid) == 0x0D1A ||
         (devid) == 0x0D1B || (devid) == 0x0D1E) ||
        ((devid) == 0x0422 || (devid) == 0x0426 || (devid) == 0x042A ||
         (devid) == 0x042B || (devid) == 0x042E || (devid) == 0x0C22 ||
         (devid) == 0x0C26 || (devid) == 0x0C2A || (devid) == 0x0C2B ||
         (devid) == 0x0C2E || (devid) == 0x0A22 || (devid) == 0x0A26 ||
         (devid) == 0x0A2A || (devid) == 0x0A2B || (devid) == 0x0A2E ||
         (devid) == 0x0D22 || (devid) == 0x0D26 || (devid) == 0x0D2A ||
         (devid) == 0x0D2B || (devid) == 0x0D2E)) ||
       ((((devid)&0xff00) != 0x1600)    ? 0
        : ((((devid)&0x00f0) >> 4) > 3) ? 0
        : (((devid)&0x000f) == 0x2)     ? 1
        : (((devid)&0x000f) == 0x6)     ? 1
        : (((devid)&0x000f) == 0xb)     ? 1
        : (((devid)&0x000f) == 0xa)     ? 1
        : (((devid)&0x000f) == 0xd)     ? 1
        : (((devid)&0x000f) == 0xe)     ? 1
                                        : 0) ||
       ((((devid) == 0x5913 || (devid) == 0x5915 || (devid) == 0x5917 ||
          (devid) == 0x5906 || (devid) == 0x590E || (devid) == 0x5902 ||
          (devid) == 0x590B || (devid) == 0x590A) ||
         ((devid) == 0x5916 || (devid) == 0x5921 || (devid) == 0x591E ||
          (devid) == 0x5912 || (devid) == 0x591B || (devid) == 0x591A ||
          (devid) == 0x591D) ||
         ((devid) == 0x5926 || (devid) == 0x592B || (devid) == 0x592A)) ||
        ((devid) == 0x1906 || (devid) == 0x190E || (devid) == 0x1902 ||
         (devid) == 0x190B || (devid) == 0x190A) ||
        ((devid) == 0x1916 || (devid) == 0x1921 || (devid) == 0x191E ||
         (devid) == 0x1912 || (devid) == 0x191B || (devid) == 0x191A ||
         (devid) == 0x191D) ||
        ((devid) == 0x1926 || (devid) == 0x192B || (devid) == 0x192A))) ||
      ((devid) == 0x0A84 || (devid) == 0x1A84 || (devid) == 0x5A84))
    snprintf(result, len, "%s", enabled);
  else
    snprintf(result, len, "%s, pipe %c", enabled, plane);
}


x86 assembly (clang, -O0):
<i830_debug_dspcntr>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    %ecx,-0x14(%rbp)
mov    %r8d,-0x18(%rbp)
mov    -0x14(%rbp),%edx
and    $0x80000000,%edx
lea    0xecf(%rip),%rax
lea    0xec0(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x14(%rbp),%edx
and    $0x1000000,%edx
mov    $0x41,%eax
mov    $0x42,%ecx
cmp    $0x0,%edx
cmovne %ecx,%eax
mov    %al,-0x21(%rbp)
cmpl   $0x42,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x46,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x102,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x112,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x122,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x106,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x116,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x126,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x10a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x152,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x162,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x156,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x166,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x15a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x16a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x402,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x406,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x40a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x40b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x40e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc02,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc06,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc0a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc0b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc0e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa02,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa06,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa0a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa0b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa0e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd02,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd06,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd0a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd0b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd0e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x412,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x416,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x41a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x41b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x41e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc12,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc16,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc1a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc1b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc1e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa12,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa16,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa1a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa1b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa1e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd12,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd16,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd1a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd1b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd1e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x422,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x426,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x42a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x42b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x42e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc22,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc26,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc2a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc2b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xc2e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa22,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa26,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa2a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa2b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa2e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd22,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd26,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd2a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd2b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xd2e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
mov    -0x18(%rbp),%eax
and    $0xff00,%eax
cmp    $0x1600,%eax
je     1552 <i830_debug_dspcntr+0x442>
xor    %eax,%eax
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf0,%eax
sar    $0x4,%eax
cmp    $0x3,%eax
jle    1575 <i830_debug_dspcntr+0x465>
xor    %eax,%eax
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0x2,%eax
jne    1593 <i830_debug_dspcntr+0x483>
mov    $0x1,%al
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0x6,%eax
jne    15b1 <i830_debug_dspcntr+0x4a1>
mov    $0x1,%al
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xb,%eax
jne    15cf <i830_debug_dspcntr+0x4bf>
mov    $0x1,%al
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xa,%eax
jne    15ed <i830_debug_dspcntr+0x4dd>
mov    $0x1,%al
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xd,%eax
jne    160b <i830_debug_dspcntr+0x4fb>
mov    $0x1,%al
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xe,%eax
jne    1629 <i830_debug_dspcntr+0x519>
mov    $0x1,%al
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
xor    %eax,%eax
test   $0x1,%al
jne    180c <i830_debug_dspcntr+0x6fc>
jmp    1638 <i830_debug_dspcntr+0x528>
cmpl   $0x5913,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5915,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5917,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5906,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x590e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5902,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x590b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x590a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5916,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5921,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x591e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5912,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x591b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x591a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x591d,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5926,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x592b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x592a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1906,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x190e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1902,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x190b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x190a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1916,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1921,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x191e,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1912,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x191b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x191a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x191d,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1926,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x192b,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x192a,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0xa84,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x1a84,-0x18(%rbp)
je     180c <i830_debug_dspcntr+0x6fc>
cmpl   $0x5a84,-0x18(%rbp)
jne    182a <i830_debug_dspcntr+0x71a>
mov    -0x8(%rbp),%rdi
mov    -0xc(%rbp),%esi
mov    -0x20(%rbp),%rcx
lea    0x7f3(%rip),%rdx
mov    $0x0,%al
call   1030 <snprintf@plt>
jmp    1848 <i830_debug_dspcntr+0x738>
mov    -0x8(%rbp),%rdi
mov    -0xc(%rbp),%esi
mov    -0x20(%rbp),%rcx
movsbl -0x21(%rbp),%r8d
lea    0x7d3(%rip),%rdx
mov    $0x0,%al
call   1030 <snprintf@plt>
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<i830_debug_dspcntr>:
mov    %ecx,%r10d
test   %ecx,%ecx
lea    0x1090(%rip),%rdx
lea    0x1081(%rip),%rcx
cmovns %rdx,%rcx
cmp    $0xa01,%r8d
jle    1151 <i830_debug_dspcntr+0x41>
lea    -0xa02(%r8),%edx
cmp    $0x2c,%edx
jbe    1176 <i830_debug_dspcntr+0x66>
lea    -0xc02(%r8),%edx
cmp    $0x2c,%edx
jbe    1188 <i830_debug_dspcntr+0x78>
lea    -0xd02(%r8),%edx
jmp    11a1 <i830_debug_dspcntr+0x91>
cmp    $0x401,%r8d
jg     119a <i830_debug_dspcntr+0x8a>
lea    -0x102(%r8),%edx
cmp    $0x68,%edx
ja     11c4 <i830_debug_dspcntr+0xb4>
lea    0xe93(%rip),%r9
movslq (%r9,%rdx,4),%rdx
add    %r9,%rdx
jmp    *%rdx
movabs $0x131113111311,%rax
bt     %rdx,%rax
jb     11b6 <i830_debug_dspcntr+0xa6>
jmp    113c <i830_debug_dspcntr+0x2c>
movabs $0x131113111311,%rax
bt     %rdx,%rax
jb     11b6 <i830_debug_dspcntr+0xa6>
jmp    1148 <i830_debug_dspcntr+0x38>
lea    -0x402(%r8),%edx
cmp    $0x2c,%edx
ja     11d0 <i830_debug_dspcntr+0xc0>
movabs $0x131113111311,%rax
bt     %rdx,%rax
jae    11d0 <i830_debug_dspcntr+0xc0>
lea    0xff8(%rip),%rdx
xor    %eax,%eax
jmp    1030 <snprintf@plt>
cmp    $0x42,%r8d
je     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0x46,%r8d
je     11b6 <i830_debug_dspcntr+0xa6>
mov    %r8d,%eax
and    $0xffc0,%eax
cmp    $0x1600,%eax
jne    1227 <i830_debug_dspcntr+0x117>
mov    %r8d,%edx
and    $0xf,%edx
cmp    $0xd,%edx
ja     11f4 <i830_debug_dspcntr+0xe4>
mov    $0x2c44,%eax
bt     %edx,%eax
jb     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0x5913,%r8d
je     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0xe,%edx
je     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0x5901,%r8d
jle    12bc <i830_debug_dspcntr+0x1ac>
lea    -0x5902(%r8),%edx
cmp    $0x29,%edx
ja     1250 <i830_debug_dspcntr+0x140>
movabs $0x3109b391311,%rax
jmp    1246 <i830_debug_dspcntr+0x136>
cmp    $0x5901,%r8d
jle    125f <i830_debug_dspcntr+0x14f>
lea    -0x5902(%r8),%edx
cmp    $0x29,%edx
ja     1250 <i830_debug_dspcntr+0x140>
movabs $0x3109b3b1311,%rax
bt     %rdx,%rax
jb     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0x5a84,%r8d
je     11b6 <i830_debug_dspcntr+0xa6>
jmp    1299 <i830_debug_dspcntr+0x189>
lea    -0x1902(%r8),%edx
cmp    $0x29,%edx
ja     127f <i830_debug_dspcntr+0x16f>
movabs $0x3109b111311,%rax
bt     %rdx,%rax
jb     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0xa84,%r8d
je     11b6 <i830_debug_dspcntr+0xa6>
cmp    $0x1a84,%r8d
je     11b6 <i830_debug_dspcntr+0xa6>
and    $0x1000000,%r10d
cmp    $0x1,%r10d
mov    $0x42,%r8d
sbb    $0x0,%r8d
lea    0xf03(%rip),%rdx
xor    %eax,%eax
jmp    1030 <snprintf@plt>
lea    -0x1902(%r8),%edx
cmp    $0x29,%edx
ja     128c <i830_debug_dspcntr+0x17c>
movabs $0x3109b111311,%rax
bt     %rdx,%rax
jb     11b6 <i830_debug_dspcntr+0xa6>
jmp    128c <i830_debug_dspcntr+0x17c>

LLVM IR (-O0):
@.str = [8 x i8] c"enabled\00"
@.str.1 = [9 x i8] c"disabled\00"
@.str.2 = [3 x i8] c"%s\00"
@.str.3 = [12 x i8] c"%s, pipe %c\00"
define void @i830_debug_dspcntr(i8* %0, i32 %1, i32 %2, i32 %3, i32 %4) {
%6 = alloca i8*
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i8*
%12 = alloca i8
store i8* %0, i8** %6
store i32 %1, i32* %7
store i32 %2, i32* %8
store i32 %3, i32* %9
store i32 %4, i32* %10
%13 = load i32, i32* %9
%14 = and i32 %13, -2147483648
%15 = icmp ne i32 %14, 0
%16 = zext i1 %15 to i64
%17 = select i1 %15, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0)
store i8* %17, i8** %11
%18 = load i32, i32* %9
%19 = and i32 %18, 16777216
%20 = icmp ne i32 %19, 0
%21 = zext i1 %20 to i64
%22 = select i1 %20, i32 66, i32 65
%23 = trunc i32 %22 to i8
store i8 %23, i8* %12
%24 = load i32, i32* %10
%25 = icmp eq i32 %24, 66
br i1 %25, label %398, label %26
26: ; preds = %5
%27 = load i32, i32* %10
%28 = icmp eq i32 %27, 70
br i1 %28, label %398, label %29
29: ; preds = %26
%30 = load i32, i32* %10
%31 = icmp eq i32 %30, 258
br i1 %31, label %398, label %32
32: ; preds = %29
%33 = load i32, i32* %10
%34 = icmp eq i32 %33, 274
br i1 %34, label %398, label %35
35: ; preds = %32
%36 = load i32, i32* %10
%37 = icmp eq i32 %36, 290
br i1 %37, label %398, label %38
38: ; preds = %35
%39 = load i32, i32* %10
%40 = icmp eq i32 %39, 262
br i1 %40, label %398, label %41
41: ; preds = %38
%42 = load i32, i32* %10
%43 = icmp eq i32 %42, 278
br i1 %43, label %398, label %44
44: ; preds = %41
%45 = load i32, i32* %10
%46 = icmp eq i32 %45, 294
br i1 %46, label %398, label %47
47: ; preds = %44
%48 = load i32, i32* %10
%49 = icmp eq i32 %48, 266
br i1 %49, label %398, label %50
50: ; preds = %47
%51 = load i32, i32* %10
%52 = icmp eq i32 %51, 338
br i1 %52, label %398, label %53
53: ; preds = %50
%54 = load i32, i32* %10
%55 = icmp eq i32 %54, 354
br i1 %55, label %398, label %56
56: ; preds = %53
%57 = load i32, i32* %10
%58 = icmp eq i32 %57, 342
br i1 %58, label %398, label %59
59: ; preds = %56
%60 = load i32, i32* %10
%61 = icmp eq i32 %60, 358
br i1 %61, label %398, label %62
62: ; preds = %59
%63 = load i32, i32* %10
%64 = icmp eq i32 %63, 346
br i1 %64, label %398, label %65
65: ; preds = %62
%66 = load i32, i32* %10
%67 = icmp eq i32 %66, 362
br i1 %67, label %398, label %68
68: ; preds = %65
%69 = load i32, i32* %10
%70 = icmp eq i32 %69, 1026
br i1 %70, label %398, label %71
71: ; preds = %68
%72 = load i32, i32* %10
%73 = icmp eq i32 %72, 1030
br i1 %73, label %398, label %74
74: ; preds = %71
%75 = load i32, i32* %10
%76 = icmp eq i32 %75, 1034
br i1 %76, label %398, label %77
77: ; preds = %74
%78 = load i32, i32* %10
%79 = icmp eq i32 %78, 1035
br i1 %79, label %398, label %80
80: ; preds = %77
%81 = load i32, i32* %10
%82 = icmp eq i32 %81, 1038
br i1 %82, label %398, label %83
83: ; preds = %80
%84 = load i32, i32* %10
%85 = icmp eq i32 %84, 3074
br i1 %85, label %398, label %86
86: ; preds = %83
%87 = load i32, i32* %10
%88 = icmp eq i32 %87, 3078
br i1 %88, label %398, label %89
89: ; preds = %86
%90 = load i32, i32* %10
%91 = icmp eq i32 %90, 3082
br i1 %91, label %398, label %92
92: ; preds = %89
%93 = load i32, i32* %10
%94 = icmp eq i32 %93, 3083
br i1 %94, label %398, label %95
95: ; preds = %92
%96 = load i32, i32* %10
%97 = icmp eq i32 %96, 3086
br i1 %97, label %398, label %98
98: ; preds = %95
%99 = load i32, i32* %10
%100 = icmp eq i32 %99, 2562
br i1 %100, label %398, label %101
101: ; preds = %98
%102 = load i32, i32* %10
%103 = icmp eq i32 %102, 2566
br i1 %103, label %398, label %104
104: ; preds = %101
%105 = load i32, i32* %10
%106 = icmp eq i32 %105, 2570
br i1 %106, label %398, label %107
107: ; preds = %104
%108 = load i32, i32* %10
%109 = icmp eq i32 %108, 2571
br i1 %109, label %398, label %110
110: ; preds = %107
%111 = load i32, i32* %10
%112 = icmp eq i32 %111, 2574
br i1 %112, label %398, label %113
113: ; preds = %110
%114 = load i32, i32* %10
%115 = icmp eq i32 %114, 3330
br i1 %115, label %398, label %116
116: ; preds = %113
%117 = load i32, i32* %10
%118 = icmp eq i32 %117, 3334
br i1 %118, label %398, label %119
119: ; preds = %116
%120 = load i32, i32* %10
%121 = icmp eq i32 %120, 3338
br i1 %121, label %398, label %122
122: ; preds = %119
%123 = load i32, i32* %10
%124 = icmp eq i32 %123, 3339
br i1 %124, label %398, label %125
125: ; preds = %122
%126 = load i32, i32* %10
%127 = icmp eq i32 %126, 3342
br i1 %127, label %398, label %128
128: ; preds = %125
%129 = load i32, i32* %10
%130 = icmp eq i32 %129, 1042
br i1 %130, label %398, label %131
131: ; preds = %128
%132 = load i32, i32* %10
%133 = icmp eq i32 %132, 1046
br i1 %133, label %398, label %134
134: ; preds = %131
%135 = load i32, i32* %10
%136 = icmp eq i32 %135, 1050
br i1 %136, label %398, label %137
137: ; preds = %134
%138 = load i32, i32* %10
%139 = icmp eq i32 %138, 1051
br i1 %139, label %398, label %140
140: ; preds = %137
%141 = load i32, i32* %10
%142 = icmp eq i32 %141, 1054
br i1 %142, label %398, label %143
143: ; preds = %140
%144 = load i32, i32* %10
%145 = icmp eq i32 %144, 3090
br i1 %145, label %398, label %146
146: ; preds = %143
%147 = load i32, i32* %10
%148 = icmp eq i32 %147, 3094
br i1 %148, label %398, label %149
149: ; preds = %146
%150 = load i32, i32* %10
%151 = icmp eq i32 %150, 3098
br i1 %151, label %398, label %152
152: ; preds = %149
%153 = load i32, i32* %10
%154 = icmp eq i32 %153, 3099
br i1 %154, label %398, label %155
155: ; preds = %152
%156 = load i32, i32* %10
%157 = icmp eq i32 %156, 3102
br i1 %157, label %398, label %158
158: ; preds = %155
%159 = load i32, i32* %10
%160 = icmp eq i32 %159, 2578
br i1 %160, label %398, label %161
161: ; preds = %158
%162 = load i32, i32* %10
%163 = icmp eq i32 %162, 2582
br i1 %163, label %398, label %164
164: ; preds = %161
%165 = load i32, i32* %10
%166 = icmp eq i32 %165, 2586
br i1 %166, label %398, label %167
167: ; preds = %164
%168 = load i32, i32* %10
%169 = icmp eq i32 %168, 2587
br i1 %169, label %398, label %170
170: ; preds = %167
%171 = load i32, i32* %10
%172 = icmp eq i32 %171, 2590
br i1 %172, label %398, label %173
173: ; preds = %170
%174 = load i32, i32* %10
%175 = icmp eq i32 %174, 3346
br i1 %175, label %398, label %176
176: ; preds = %173
%177 = load i32, i32* %10
%178 = icmp eq i32 %177, 3350
br i1 %178, label %398, label %179
179: ; preds = %176
%180 = load i32, i32* %10
%181 = icmp eq i32 %180, 3354
br i1 %181, label %398, label %182
182: ; preds = %179
%183 = load i32, i32* %10
%184 = icmp eq i32 %183, 3355
br i1 %184, label %398, label %185
185: ; preds = %182
%186 = load i32, i32* %10
%187 = icmp eq i32 %186, 3358
br i1 %187, label %398, label %188
188: ; preds = %185
%189 = load i32, i32* %10
%190 = icmp eq i32 %189, 1058
br i1 %190, label %398, label %191
191: ; preds = %188
%192 = load i32, i32* %10
%193 = icmp eq i32 %192, 1062
br i1 %193, label %398, label %194
194: ; preds = %191
%195 = load i32, i32* %10
%196 = icmp eq i32 %195, 1066
br i1 %196, label %398, label %197
197: ; preds = %194
%198 = load i32, i32* %10
%199 = icmp eq i32 %198, 1067
br i1 %199, label %398, label %200
200: ; preds = %197
%201 = load i32, i32* %10
%202 = icmp eq i32 %201, 1070
br i1 %202, label %398, label %203
203: ; preds = %200
%204 = load i32, i32* %10
%205 = icmp eq i32 %204, 3106
br i1 %205, label %398, label %206
206: ; preds = %203
%207 = load i32, i32* %10
%208 = icmp eq i32 %207, 3110
br i1 %208, label %398, label %209
209: ; preds = %206
%210 = load i32, i32* %10
%211 = icmp eq i32 %210, 3114
br i1 %211, label %398, label %212
212: ; preds = %209
%213 = load i32, i32* %10
%214 = icmp eq i32 %213, 3115
br i1 %214, label %398, label %215
215: ; preds = %212
%216 = load i32, i32* %10
%217 = icmp eq i32 %216, 3118
br i1 %217, label %398, label %218
218: ; preds = %215
%219 = load i32, i32* %10
%220 = icmp eq i32 %219, 2594
br i1 %220, label %398, label %221
221: ; preds = %218
%222 = load i32, i32* %10
%223 = icmp eq i32 %222, 2598
br i1 %223, label %398, label %224
224: ; preds = %221
%225 = load i32, i32* %10
%226 = icmp eq i32 %225, 2602
br i1 %226, label %398, label %227
227: ; preds = %224
%228 = load i32, i32* %10
%229 = icmp eq i32 %228, 2603
br i1 %229, label %398, label %230
230: ; preds = %227
%231 = load i32, i32* %10
%232 = icmp eq i32 %231, 2606
br i1 %232, label %398, label %233
233: ; preds = %230
%234 = load i32, i32* %10
%235 = icmp eq i32 %234, 3362
br i1 %235, label %398, label %236
236: ; preds = %233
%237 = load i32, i32* %10
%238 = icmp eq i32 %237, 3366
br i1 %238, label %398, label %239
239: ; preds = %236
%240 = load i32, i32* %10
%241 = icmp eq i32 %240, 3370
br i1 %241, label %398, label %242
242: ; preds = %239
%243 = load i32, i32* %10
%244 = icmp eq i32 %243, 3371
br i1 %244, label %398, label %245
245: ; preds = %242
%246 = load i32, i32* %10
%247 = icmp eq i32 %246, 3374
br i1 %247, label %398, label %248
248: ; preds = %245
%249 = load i32, i32* %10
%250 = and i32 %249, 65280
%251 = icmp ne i32 %250, 5632
br i1 %251, label %252, label %253
252: ; preds = %248
br i1 false, label %398, label %290
253: ; preds = %248
%254 = load i32, i32* %10
%255 = and i32 %254, 240
%256 = ashr i32 %255, 4
%257 = icmp sgt i32 %256, 3
br i1 %257, label %258, label %259
258: ; preds = %253
br i1 false, label %398, label %290
259: ; preds = %253
%260 = load i32, i32* %10
%261 = and i32 %260, 15
%262 = icmp eq i32 %261, 2
br i1 %262, label %263, label %264
263: ; preds = %259
br i1 true, label %398, label %290
264: ; preds = %259
%265 = load i32, i32* %10
%266 = and i32 %265, 15
%267 = icmp eq i32 %266, 6
br i1 %267, label %268, label %269
268: ; preds = %264
br i1 true, label %398, label %290
269: ; preds = %264
%270 = load i32, i32* %10
%271 = and i32 %270, 15
%272 = icmp eq i32 %271, 11
br i1 %272, label %273, label %274
273: ; preds = %269
br i1 true, label %398, label %290
274: ; preds = %269
%275 = load i32, i32* %10
%276 = and i32 %275, 15
%277 = icmp eq i32 %276, 10
br i1 %277, label %278, label %279
278: ; preds = %274
br i1 true, label %398, label %290
279: ; preds = %274
%280 = load i32, i32* %10
%281 = and i32 %280, 15
%282 = icmp eq i32 %281, 13
br i1 %282, label %283, label %284
283: ; preds = %279
br i1 true, label %398, label %290
284: ; preds = %279
%285 = load i32, i32* %10
%286 = and i32 %285, 15
%287 = icmp eq i32 %286, 14
br i1 %287, label %288, label %289
288: ; preds = %284
br i1 true, label %398, label %290
289: ; preds = %284
br i1 false, label %398, label %290
290: ; preds = %289, %288, %283, %278, %273, %268, %263, %258, %252
%291 = load i32, i32* %10
%292 = icmp eq i32 %291, 22803
br i1 %292, label %398, label %293
293: ; preds = %290
%294 = load i32, i32* %10
%295 = icmp eq i32 %294, 22805
br i1 %295, label %398, label %296
296: ; preds = %293
%297 = load i32, i32* %10
%298 = icmp eq i32 %297, 22807
br i1 %298, label %398, label %299
299: ; preds = %296
%300 = load i32, i32* %10
%301 = icmp eq i32 %300, 22790
br i1 %301, label %398, label %302
302: ; preds = %299
%303 = load i32, i32* %10
%304 = icmp eq i32 %303, 22798
br i1 %304, label %398, label %305
305: ; preds = %302
%306 = load i32, i32* %10
%307 = icmp eq i32 %306, 22786
br i1 %307, label %398, label %308
308: ; preds = %305
%309 = load i32, i32* %10
%310 = icmp eq i32 %309, 22795
br i1 %310, label %398, label %311
311: ; preds = %308
%312 = load i32, i32* %10
%313 = icmp eq i32 %312, 22794
br i1 %313, label %398, label %314
314: ; preds = %311
%315 = load i32, i32* %10
%316 = icmp eq i32 %315, 22806
br i1 %316, label %398, label %317
317: ; preds = %314
%318 = load i32, i32* %10
%319 = icmp eq i32 %318, 22817
br i1 %319, label %398, label %320
320: ; preds = %317
%321 = load i32, i32* %10
%322 = icmp eq i32 %321, 22814
br i1 %322, label %398, label %323
323: ; preds = %320
%324 = load i32, i32* %10
%325 = icmp eq i32 %324, 22802
br i1 %325, label %398, label %326
326: ; preds = %323
%327 = load i32, i32* %10
%328 = icmp eq i32 %327, 22811
br i1 %328, label %398, label %329
329: ; preds = %326
%330 = load i32, i32* %10
%331 = icmp eq i32 %330, 22810
br i1 %331, label %398, label %332
332: ; preds = %329
%333 = load i32, i32* %10
%334 = icmp eq i32 %333, 22813
br i1 %334, label %398, label %335
335: ; preds = %332
%336 = load i32, i32* %10
%337 = icmp eq i32 %336, 22822
br i1 %337, label %398, label %338
338: ; preds = %335
%339 = load i32, i32* %10
%340 = icmp eq i32 %339, 22827
br i1 %340, label %398, label %341
341: ; preds = %338
%342 = load i32, i32* %10
%343 = icmp eq i32 %342, 22826
br i1 %343, label %398, label %344
344: ; preds = %341
%345 = load i32, i32* %10
%346 = icmp eq i32 %345, 6406
br i1 %346, label %398, label %347
347: ; preds = %344
%348 = load i32, i32* %10
%349 = icmp eq i32 %348, 6414
br i1 %349, label %398, label %350
350: ; preds = %347
%351 = load i32, i32* %10
%352 = icmp eq i32 %351, 6402
br i1 %352, label %398, label %353
353: ; preds = %350
%354 = load i32, i32* %10
%355 = icmp eq i32 %354, 6411
br i1 %355, label %398, label %356
356: ; preds = %353
%357 = load i32, i32* %10
%358 = icmp eq i32 %357, 6410
br i1 %358, label %398, label %359
359: ; preds = %356
%360 = load i32, i32* %10
%361 = icmp eq i32 %360, 6422
br i1 %361, label %398, label %362
362: ; preds = %359
%363 = load i32, i32* %10
%364 = icmp eq i32 %363, 6433
br i1 %364, label %398, label %365
365: ; preds = %362
%366 = load i32, i32* %10
%367 = icmp eq i32 %366, 6430
br i1 %367, label %398, label %368
368: ; preds = %365
%369 = load i32, i32* %10
%370 = icmp eq i32 %369, 6418
br i1 %370, label %398, label %371
371: ; preds = %368
%372 = load i32, i32* %10
%373 = icmp eq i32 %372, 6427
br i1 %373, label %398, label %374
374: ; preds = %371
%375 = load i32, i32* %10
%376 = icmp eq i32 %375, 6426
br i1 %376, label %398, label %377
377: ; preds = %374
%378 = load i32, i32* %10
%379 = icmp eq i32 %378, 6429
br i1 %379, label %398, label %380
380: ; preds = %377
%381 = load i32, i32* %10
%382 = icmp eq i32 %381, 6438
br i1 %382, label %398, label %383
383: ; preds = %380
%384 = load i32, i32* %10
%385 = icmp eq i32 %384, 6443
br i1 %385, label %398, label %386
386: ; preds = %383
%387 = load i32, i32* %10
%388 = icmp eq i32 %387, 6442
br i1 %388, label %398, label %389
389: ; preds = %386
%390 = load i32, i32* %10
%391 = icmp eq i32 %390, 2692
br i1 %391, label %398, label %392
392: ; preds = %389
%393 = load i32, i32* %10
%394 = icmp eq i32 %393, 6788
br i1 %394, label %398, label %395
395: ; preds = %392
%396 = load i32, i32* %10
%397 = icmp eq i32 %396, 23172
br i1 %397, label %398, label %403
398: ; preds = %395, %392, %389, %386, %383, %380, %377, %374, %371, %368, %365, %362, %359, %356, %353, %350, %347, %344, %341, %338, %335, %332, %329, %326, %323, %320, %317, %314, %311, %308, %305, %302, %299, %296, %293, %290, %289, %288, %283, %278, %273, %268, %263, %258, %252, %245, %242, %239, %236, %233, %230, %227, %224, %221, %218, %215, %212, %209, %206, %203, %200, %197, %194, %191, %188, %185, %182, %179, %176, %173, %170, %167, %164, %161, %158, %155, %152, %149, %146, %143, %140, %137, %134, %131, %128, %125, %122, %119, %116, %113, %110, %107, %104, %101, %98, %95, %92, %89, %86, %83, %80, %77, %74, %71, %68, %65, %62, %59, %56, %53, %50, %47, %44, %41, %38, %35, %32, %29, %26, %5
%399 = load i8*, i8** %6
%400 = load i32, i32* %7
%401 = load i8*, i8** %11
%402 = call i32 (i8*, i32, i8*, i8*, ...) @snprintf(i8* %399, i32 %400, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* %401)
br label %410
403: ; preds = %395
%404 = load i8*, i8** %6
%405 = load i32, i32* %7
%406 = load i8*, i8** %11
%407 = load i8, i8* %12
%408 = sext i8 %407 to i32
%409 = call i32 (i8*, i32, i8*, i8*, ...) @snprintf(i8* %404, i32 %405, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* %406, i32 %408)
br label %410
410: ; preds = %403, %398
ret void
}

LLVM IR (-O2):
@.str = [8 x i8] c"enabled\00"
@.str.1 = [9 x i8] c"disabled\00"
@.str.2 = [3 x i8] c"%s\00"
@.str.3 = [12 x i8] c"%s, pipe %c\00"
define void @i830_debug_dspcntr(i8* %0, i32 %1, i32 %2, i32 %3, i32 %4) {
%6 = icmp sgt i32 %3, -1
%7 = select i1 %6, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0)
%8 = and i32 %3, 16777216
%9 = icmp eq i32 %8, 0
switch i32 %4, label %10 [
i32 3374, label %21
i32 3371, label %21
i32 3370, label %21
i32 3366, label %21
i32 3362, label %21
i32 3358, label %21
i32 3355, label %21
i32 3354, label %21
i32 3350, label %21
i32 3346, label %21
i32 3342, label %21
i32 3339, label %21
i32 3338, label %21
i32 3334, label %21
i32 3330, label %21
i32 3118, label %21
i32 3115, label %21
i32 3114, label %21
i32 3110, label %21
i32 3106, label %21
i32 3102, label %21
i32 3099, label %21
i32 3098, label %21
i32 3094, label %21
i32 3090, label %21
i32 3086, label %21
i32 3083, label %21
i32 3082, label %21
i32 3078, label %21
i32 3074, label %21
i32 2606, label %21
i32 2603, label %21
i32 2602, label %21
i32 2598, label %21
i32 2594, label %21
i32 2590, label %21
i32 2587, label %21
i32 2586, label %21
i32 2582, label %21
i32 2578, label %21
i32 2574, label %21
i32 2571, label %21
i32 2570, label %21
i32 2566, label %21
i32 2562, label %21
i32 1070, label %21
i32 1067, label %21
i32 1066, label %21
i32 1062, label %21
i32 1058, label %21
i32 1054, label %21
i32 1051, label %21
i32 1050, label %21
i32 1046, label %21
i32 1042, label %21
i32 1038, label %21
i32 1035, label %21
i32 1034, label %21
i32 1030, label %21
i32 1026, label %21
i32 362, label %21
i32 358, label %21
i32 354, label %21
i32 346, label %21
i32 342, label %21
i32 338, label %21
i32 294, label %21
i32 290, label %21
i32 278, label %21
i32 274, label %21
i32 266, label %21
i32 262, label %21
i32 258, label %21
i32 70, label %21
i32 66, label %21
]
10: ; preds = %5
%11 = and i32 %4, 65472
%12 = icmp eq i32 %11, 5632
br i1 %12, label %13, label %19
13: ; preds = %10
%14 = and i32 %4, 15
switch i32 %14, label %15 [
i32 2, label %21
i32 6, label %21
i32 11, label %21
i32 10, label %21
i32 13, label %21
]
15: ; preds = %13
%16 = icmp eq i32 %14, 14
%17 = icmp eq i32 %4, 22803
%18 = or i1 %17, %16
br i1 %18, label %21, label %20
19: ; preds = %10
switch i32 %4, label %23 [
i32 22803, label %21
i32 23172, label %21
i32 22827, label %21
i32 22826, label %21
i32 22822, label %21
i32 22817, label %21
i32 22814, label %21
i32 22813, label %21
i32 22811, label %21
i32 22810, label %21
i32 22807, label %21
i32 22806, label %21
i32 22805, label %21
i32 22802, label %21
i32 22798, label %21
i32 22795, label %21
i32 22794, label %21
i32 22790, label %21
i32 22786, label %21
i32 6788, label %21
i32 6443, label %21
i32 6442, label %21
i32 6438, label %21
i32 6433, label %21
i32 6430, label %21
i32 6429, label %21
i32 6427, label %21
i32 6426, label %21
i32 6422, label %21
i32 6418, label %21
i32 6414, label %21
i32 6411, label %21
i32 6410, label %21
i32 6406, label %21
i32 6402, label %21
i32 2692, label %21
]
20: ; preds = %15
switch i32 %4, label %23 [
i32 23172, label %21
i32 22827, label %21
i32 22826, label %21
i32 22822, label %21
i32 22817, label %21
i32 22814, label %21
i32 22813, label %21
i32 22811, label %21
i32 22810, label %21
i32 22807, label %21
i32 22806, label %21
i32 22805, label %21
i32 22802, label %21
i32 22798, label %21
i32 22795, label %21
i32 22794, label %21
i32 22790, label %21
i32 22786, label %21
i32 6788, label %21
i32 6443, label %21
i32 6442, label %21
i32 6438, label %21
i32 6433, label %21
i32 6430, label %21
i32 6429, label %21
i32 6427, label %21
i32 6426, label %21
i32 6422, label %21
i32 6418, label %21
i32 6414, label %21
i32 6411, label %21
i32 6410, label %21
i32 6406, label %21
i32 6402, label %21
]
21: ; preds = %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %19, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %20, %13, %13, %13, %13, %13, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %15
%22 = tail call i32 (i8*, i32, i8*, i8*, ...) @snprintf(i8* %0, i32 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* %7)
br label %26
23: ; preds = %19, %20
%24 = select i1 %9, i32 65, i32 66
%25 = tail call i32 (i8*, i32, i8*, i8*, ...) @snprintf(i8* %0, i32 %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* %7, i32 %24)
br label %26
26: ; preds = %23, %21
ret void
}