#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 scalar_t__ u;
typedef scalar_t__ i;

/* Variables and functions */
int /*<<< orphan*/ printf(char *, int, int, unsigned int, long long, long long,
                          unsigned int, ...);
int _test_MAX_smallerint_biggeruint(int i, unsigned u) {
  if ((((((i) - (i)) - (((i) - (i)) + 1)) < ((i) - (i)))
           ? (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                  ? ((((long long)(i)) > ((long long)(u)))
                         ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                            : (i))
                         : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                            : (u)))
                  : (((i) < 0)
                         ? ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                            : (u))
                         : ((((unsigned long long)(i)) >
                             ((unsigned long long)(u)))
                                ? ((sizeof(i) < sizeof(long long))
                                       ? ((long long)(i))
                                       : (i))
                                : ((sizeof(u) < sizeof(long long))
                                       ? ((long long)(u))
                                       : (u)))))
           : (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                  ? (((u) < 0)
                         ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                            : (i))
                         : ((((unsigned long long)(i)) >
                             ((unsigned long long)(u)))
                                ? ((sizeof(i) < sizeof(long long))
                                       ? ((long long)(i))
                                       : (i))
                                : ((sizeof(u) < sizeof(long long))
                                       ? ((long long)(u))
                                       : (u))))
                  : ((((unsigned long long)(i)) > ((unsigned long long)(u)))
                         ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                            : (i))
                         : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                            : (u))))) < u) {
    printf(
        "failed test %d MAX(%d, %uU): %lldLL == %lluLLU < u == %uU == %uU\n",
        542, i, u,
        (((((i) - (i)) - (((i) - (i)) + 1)) < ((i) - (i)))
             ? (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? ((((long long)(i)) > ((long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u)))
                    : (((i) < 0)
                           ? ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u)))))
             : (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? (((u) < 0)
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u))))
                    : ((((unsigned long long)(i)) > ((unsigned long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))))),
        (((((i) - (i)) - (((i) - (i)) + 1)) < ((i) - (i)))
             ? (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? ((((long long)(i)) > ((long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u)))
                    : (((i) < 0)
                           ? ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u)))))
             : (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? (((u) < 0)
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u))))
                    : ((((unsigned long long)(i)) > ((unsigned long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))))),
        u, u);
  }
  if ((((((i) - (i)) - (((i) - (i)) + 1)) < ((i) - (i)))
           ? (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                  ? ((((long long)(i)) > ((long long)(u)))
                         ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                            : (i))
                         : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                            : (u)))
                  : (((i) < 0)
                         ? ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                            : (u))
                         : ((((unsigned long long)(i)) >
                             ((unsigned long long)(u)))
                                ? ((sizeof(i) < sizeof(long long))
                                       ? ((long long)(i))
                                       : (i))
                                : ((sizeof(u) < sizeof(long long))
                                       ? ((long long)(u))
                                       : (u)))))
           : (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                  ? (((u) < 0)
                         ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                            : (i))
                         : ((((unsigned long long)(i)) >
                             ((unsigned long long)(u)))
                                ? ((sizeof(i) < sizeof(long long))
                                       ? ((long long)(i))
                                       : (i))
                                : ((sizeof(u) < sizeof(long long))
                                       ? ((long long)(u))
                                       : (u))))
                  : ((((unsigned long long)(i)) > ((unsigned long long)(u)))
                         ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                            : (i))
                         : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                            : (u))))) != u) {
    printf(
        "failed test %d MAX(%d, %uU): %lldLL == %lluLLU != u == %u\n", 545, i,
        u,
        (((((i) - (i)) - (((i) - (i)) + 1)) < ((i) - (i)))
             ? (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? ((((long long)(i)) > ((long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u)))
                    : (((i) < 0)
                           ? ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u)))))
             : (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? (((u) < 0)
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u))))
                    : ((((unsigned long long)(i)) > ((unsigned long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))))),
        (((((i) - (i)) - (((i) - (i)) + 1)) < ((i) - (i)))
             ? (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? ((((long long)(i)) > ((long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u)))
                    : (((i) < 0)
                           ? ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u)))))
             : (((((u) - (u)) - (((u) - (u)) + 1)) < ((u) - (u)))
                    ? (((u) < 0)
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((((unsigned long long)(i)) >
                               ((unsigned long long)(u)))
                                  ? ((sizeof(i) < sizeof(long long))
                                         ? ((long long)(i))
                                         : (i))
                                  : ((sizeof(u) < sizeof(long long))
                                         ? ((long long)(u))
                                         : (u))))
                    : ((((unsigned long long)(i)) > ((unsigned long long)(u)))
                           ? ((sizeof(i) < sizeof(long long)) ? ((long long)(i))
                                                              : (i))
                           : ((sizeof(u) < sizeof(long long)) ? ((long long)(u))
                                                              : (u))))),
        u);
  }
  return 0;
}


x86 assembly (clang, -O0):
<_test_MAX_smallerint_biggeruint>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1f0,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    -0x4(%rbp),%eax
sub    -0x4(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
cmp    %ecx,%eax
jge    11e7 <_test_MAX_smallerint_biggeruint+0xd7>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1190 <_test_MAX_smallerint_biggeruint+0x80>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jle    117c <_test_MAX_smallerint_biggeruint+0x6c>
movslq -0x4(%rbp),%rax
mov    %rax,-0x10(%rbp)
jmp    1183 <_test_MAX_smallerint_biggeruint+0x73>
mov    -0x8(%rbp),%eax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
mov    %rax,-0x18(%rbp)
jmp    11da <_test_MAX_smallerint_biggeruint+0xca>
cmpl   $0x0,-0x4(%rbp)
jge    11a6 <_test_MAX_smallerint_biggeruint+0x96>
mov    -0x8(%rbp),%eax
mov    %rax,-0x20(%rbp)
jmp    11d2 <_test_MAX_smallerint_biggeruint+0xc2>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    11c3 <_test_MAX_smallerint_biggeruint+0xb3>
movslq -0x4(%rbp),%rax
mov    %rax,-0x28(%rbp)
jmp    11ca <_test_MAX_smallerint_biggeruint+0xba>
mov    -0x8(%rbp),%eax
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x30(%rbp)
jmp    128a <_test_MAX_smallerint_biggeruint+0x17a>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1256 <_test_MAX_smallerint_biggeruint+0x146>
cmpl   $0x0,-0x8(%rbp)
jae    121d <_test_MAX_smallerint_biggeruint+0x10d>
movslq -0x4(%rbp),%rax
mov    %rax,-0x38(%rbp)
jmp    1249 <_test_MAX_smallerint_biggeruint+0x139>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    123a <_test_MAX_smallerint_biggeruint+0x12a>
movslq -0x4(%rbp),%rax
mov    %rax,-0x40(%rbp)
jmp    1241 <_test_MAX_smallerint_biggeruint+0x131>
mov    -0x8(%rbp),%eax
mov    %rax,-0x40(%rbp)
mov    -0x40(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x48(%rbp)
jmp    1282 <_test_MAX_smallerint_biggeruint+0x172>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1273 <_test_MAX_smallerint_biggeruint+0x163>
movslq -0x4(%rbp),%rax
mov    %rax,-0x50(%rbp)
jmp    127a <_test_MAX_smallerint_biggeruint+0x16a>
mov    -0x8(%rbp),%eax
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jge    162b <_test_MAX_smallerint_biggeruint+0x51b>
mov    -0x4(%rbp),%eax
mov    %eax,-0x58(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0x54(%rbp)
mov    -0x4(%rbp),%eax
sub    -0x4(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
cmp    %ecx,%eax
jge    136c <_test_MAX_smallerint_biggeruint+0x25c>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1315 <_test_MAX_smallerint_biggeruint+0x205>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jle    1301 <_test_MAX_smallerint_biggeruint+0x1f1>
movslq -0x4(%rbp),%rax
mov    %rax,-0x60(%rbp)
jmp    1308 <_test_MAX_smallerint_biggeruint+0x1f8>
mov    -0x8(%rbp),%eax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x68(%rbp)
jmp    135f <_test_MAX_smallerint_biggeruint+0x24f>
cmpl   $0x0,-0x4(%rbp)
jge    132b <_test_MAX_smallerint_biggeruint+0x21b>
mov    -0x8(%rbp),%eax
mov    %rax,-0x70(%rbp)
jmp    1357 <_test_MAX_smallerint_biggeruint+0x247>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1348 <_test_MAX_smallerint_biggeruint+0x238>
movslq -0x4(%rbp),%rax
mov    %rax,-0x78(%rbp)
jmp    134f <_test_MAX_smallerint_biggeruint+0x23f>
mov    -0x8(%rbp),%eax
mov    %rax,-0x78(%rbp)
mov    -0x78(%rbp),%rax
mov    %rax,-0x70(%rbp)
mov    -0x70(%rbp),%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
mov    %rax,-0x80(%rbp)
jmp    1433 <_test_MAX_smallerint_biggeruint+0x323>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    13f0 <_test_MAX_smallerint_biggeruint+0x2e0>
cmpl   $0x0,-0x8(%rbp)
jae    13a5 <_test_MAX_smallerint_biggeruint+0x295>
movslq -0x4(%rbp),%rax
mov    %rax,-0x88(%rbp)
jmp    13dd <_test_MAX_smallerint_biggeruint+0x2cd>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    13c5 <_test_MAX_smallerint_biggeruint+0x2b5>
movslq -0x4(%rbp),%rax
mov    %rax,-0x90(%rbp)
jmp    13cf <_test_MAX_smallerint_biggeruint+0x2bf>
mov    -0x8(%rbp),%eax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    %rax,-0x98(%rbp)
jmp    1428 <_test_MAX_smallerint_biggeruint+0x318>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1410 <_test_MAX_smallerint_biggeruint+0x300>
movslq -0x4(%rbp),%rax
mov    %rax,-0xa0(%rbp)
jmp    141a <_test_MAX_smallerint_biggeruint+0x30a>
mov    -0x8(%rbp),%eax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    %rax,-0x98(%rbp)
mov    -0x98(%rbp),%rax
mov    %rax,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    -0x4(%rbp),%eax
sub    -0x4(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
cmp    %ecx,%eax
jge    152b <_test_MAX_smallerint_biggeruint+0x41b>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    14b9 <_test_MAX_smallerint_biggeruint+0x3a9>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jle    149c <_test_MAX_smallerint_biggeruint+0x38c>
movslq -0x4(%rbp),%rax
mov    %rax,-0xb0(%rbp)
jmp    14a6 <_test_MAX_smallerint_biggeruint+0x396>
mov    -0x8(%rbp),%eax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
mov    %rax,-0xb8(%rbp)
jmp    1518 <_test_MAX_smallerint_biggeruint+0x408>
cmpl   $0x0,-0x4(%rbp)
jge    14d2 <_test_MAX_smallerint_biggeruint+0x3c2>
mov    -0x8(%rbp),%eax
mov    %rax,-0xc0(%rbp)
jmp    150a <_test_MAX_smallerint_biggeruint+0x3fa>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    14f2 <_test_MAX_smallerint_biggeruint+0x3e2>
movslq -0x4(%rbp),%rax
mov    %rax,-0xc8(%rbp)
jmp    14fc <_test_MAX_smallerint_biggeruint+0x3ec>
mov    -0x8(%rbp),%eax
mov    %rax,-0xc8(%rbp)
mov    -0xc8(%rbp),%rax
mov    %rax,-0xc0(%rbp)
mov    -0xc0(%rbp),%rax
mov    %rax,-0xb8(%rbp)
mov    -0xb8(%rbp),%rax
mov    %rax,-0xd0(%rbp)
jmp    15f5 <_test_MAX_smallerint_biggeruint+0x4e5>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    15af <_test_MAX_smallerint_biggeruint+0x49f>
cmpl   $0x0,-0x8(%rbp)
jae    1564 <_test_MAX_smallerint_biggeruint+0x454>
movslq -0x4(%rbp),%rax
mov    %rax,-0xd8(%rbp)
jmp    159c <_test_MAX_smallerint_biggeruint+0x48c>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1584 <_test_MAX_smallerint_biggeruint+0x474>
movslq -0x4(%rbp),%rax
mov    %rax,-0xe0(%rbp)
jmp    158e <_test_MAX_smallerint_biggeruint+0x47e>
mov    -0x8(%rbp),%eax
mov    %rax,-0xe0(%rbp)
mov    -0xe0(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0xd8(%rbp),%rax
mov    %rax,-0xe8(%rbp)
jmp    15e7 <_test_MAX_smallerint_biggeruint+0x4d7>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    15cf <_test_MAX_smallerint_biggeruint+0x4bf>
movslq -0x4(%rbp),%rax
mov    %rax,-0xf0(%rbp)
jmp    15d9 <_test_MAX_smallerint_biggeruint+0x4c9>
mov    -0x8(%rbp),%eax
mov    %rax,-0xf0(%rbp)
mov    -0xf0(%rbp),%rax
mov    %rax,-0xe8(%rbp)
mov    -0xe8(%rbp),%rax
mov    %rax,-0xd0(%rbp)
mov    -0xa8(%rbp),%r8
mov    -0x54(%rbp),%ecx
mov    -0x58(%rbp),%edx
mov    -0xd0(%rbp),%r9
mov    -0x8(%rbp),%r10d
mov    -0x8(%rbp),%eax
lea    0x9e9(%rip),%rdi
mov    $0x21e,%esi
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x4(%rbp),%eax
sub    -0x4(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
cmp    %ecx,%eax
jge    1718 <_test_MAX_smallerint_biggeruint+0x608>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    16a6 <_test_MAX_smallerint_biggeruint+0x596>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jle    1689 <_test_MAX_smallerint_biggeruint+0x579>
movslq -0x4(%rbp),%rax
mov    %rax,-0xf8(%rbp)
jmp    1693 <_test_MAX_smallerint_biggeruint+0x583>
mov    -0x8(%rbp),%eax
mov    %rax,-0xf8(%rbp)
mov    -0xf8(%rbp),%rax
mov    %rax,-0x100(%rbp)
jmp    1705 <_test_MAX_smallerint_biggeruint+0x5f5>
cmpl   $0x0,-0x4(%rbp)
jge    16bf <_test_MAX_smallerint_biggeruint+0x5af>
mov    -0x8(%rbp),%eax
mov    %rax,-0x108(%rbp)
jmp    16f7 <_test_MAX_smallerint_biggeruint+0x5e7>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    16df <_test_MAX_smallerint_biggeruint+0x5cf>
movslq -0x4(%rbp),%rax
mov    %rax,-0x110(%rbp)
jmp    16e9 <_test_MAX_smallerint_biggeruint+0x5d9>
mov    -0x8(%rbp),%eax
mov    %rax,-0x110(%rbp)
mov    -0x110(%rbp),%rax
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
mov    %rax,-0x118(%rbp)
jmp    17e2 <_test_MAX_smallerint_biggeruint+0x6d2>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    179c <_test_MAX_smallerint_biggeruint+0x68c>
cmpl   $0x0,-0x8(%rbp)
jae    1751 <_test_MAX_smallerint_biggeruint+0x641>
movslq -0x4(%rbp),%rax
mov    %rax,-0x120(%rbp)
jmp    1789 <_test_MAX_smallerint_biggeruint+0x679>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1771 <_test_MAX_smallerint_biggeruint+0x661>
movslq -0x4(%rbp),%rax
mov    %rax,-0x128(%rbp)
jmp    177b <_test_MAX_smallerint_biggeruint+0x66b>
mov    -0x8(%rbp),%eax
mov    %rax,-0x128(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x120(%rbp),%rax
mov    %rax,-0x130(%rbp)
jmp    17d4 <_test_MAX_smallerint_biggeruint+0x6c4>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    17bc <_test_MAX_smallerint_biggeruint+0x6ac>
movslq -0x4(%rbp),%rax
mov    %rax,-0x138(%rbp)
jmp    17c6 <_test_MAX_smallerint_biggeruint+0x6b6>
mov    -0x8(%rbp),%eax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    -0x130(%rbp),%rax
mov    %rax,-0x118(%rbp)
mov    -0x118(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
je     1bb6 <_test_MAX_smallerint_biggeruint+0xaa6>
mov    -0x4(%rbp),%eax
mov    %eax,-0x140(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0x13c(%rbp)
mov    -0x4(%rbp),%eax
sub    -0x4(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
cmp    %ecx,%eax
jge    18f4 <_test_MAX_smallerint_biggeruint+0x7e4>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1882 <_test_MAX_smallerint_biggeruint+0x772>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jle    1865 <_test_MAX_smallerint_biggeruint+0x755>
movslq -0x4(%rbp),%rax
mov    %rax,-0x148(%rbp)
jmp    186f <_test_MAX_smallerint_biggeruint+0x75f>
mov    -0x8(%rbp),%eax
mov    %rax,-0x148(%rbp)
mov    -0x148(%rbp),%rax
mov    %rax,-0x150(%rbp)
jmp    18e1 <_test_MAX_smallerint_biggeruint+0x7d1>
cmpl   $0x0,-0x4(%rbp)
jge    189b <_test_MAX_smallerint_biggeruint+0x78b>
mov    -0x8(%rbp),%eax
mov    %rax,-0x158(%rbp)
jmp    18d3 <_test_MAX_smallerint_biggeruint+0x7c3>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    18bb <_test_MAX_smallerint_biggeruint+0x7ab>
movslq -0x4(%rbp),%rax
mov    %rax,-0x160(%rbp)
jmp    18c5 <_test_MAX_smallerint_biggeruint+0x7b5>
mov    -0x8(%rbp),%eax
mov    %rax,-0x160(%rbp)
mov    -0x160(%rbp),%rax
mov    %rax,-0x158(%rbp)
mov    -0x158(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
mov    %rax,-0x168(%rbp)
jmp    19be <_test_MAX_smallerint_biggeruint+0x8ae>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1978 <_test_MAX_smallerint_biggeruint+0x868>
cmpl   $0x0,-0x8(%rbp)
jae    192d <_test_MAX_smallerint_biggeruint+0x81d>
movslq -0x4(%rbp),%rax
mov    %rax,-0x170(%rbp)
jmp    1965 <_test_MAX_smallerint_biggeruint+0x855>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    194d <_test_MAX_smallerint_biggeruint+0x83d>
movslq -0x4(%rbp),%rax
mov    %rax,-0x178(%rbp)
jmp    1957 <_test_MAX_smallerint_biggeruint+0x847>
mov    -0x8(%rbp),%eax
mov    %rax,-0x178(%rbp)
mov    -0x178(%rbp),%rax
mov    %rax,-0x170(%rbp)
mov    -0x170(%rbp),%rax
mov    %rax,-0x180(%rbp)
jmp    19b0 <_test_MAX_smallerint_biggeruint+0x8a0>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1998 <_test_MAX_smallerint_biggeruint+0x888>
movslq -0x4(%rbp),%rax
mov    %rax,-0x188(%rbp)
jmp    19a2 <_test_MAX_smallerint_biggeruint+0x892>
mov    -0x8(%rbp),%eax
mov    %rax,-0x188(%rbp)
mov    -0x188(%rbp),%rax
mov    %rax,-0x180(%rbp)
mov    -0x180(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x168(%rbp),%rax
mov    %rax,-0x190(%rbp)
mov    -0x4(%rbp),%eax
sub    -0x4(%rbp),%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x4(%rbp),%ecx
sub    -0x4(%rbp),%ecx
cmp    %ecx,%eax
jge    1ab9 <_test_MAX_smallerint_biggeruint+0x9a9>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1a47 <_test_MAX_smallerint_biggeruint+0x937>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jle    1a2a <_test_MAX_smallerint_biggeruint+0x91a>
movslq -0x4(%rbp),%rax
mov    %rax,-0x198(%rbp)
jmp    1a34 <_test_MAX_smallerint_biggeruint+0x924>
mov    -0x8(%rbp),%eax
mov    %rax,-0x198(%rbp)
mov    -0x198(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
jmp    1aa6 <_test_MAX_smallerint_biggeruint+0x996>
cmpl   $0x0,-0x4(%rbp)
jge    1a60 <_test_MAX_smallerint_biggeruint+0x950>
mov    -0x8(%rbp),%eax
mov    %rax,-0x1a8(%rbp)
jmp    1a98 <_test_MAX_smallerint_biggeruint+0x988>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1a80 <_test_MAX_smallerint_biggeruint+0x970>
movslq -0x4(%rbp),%rax
mov    %rax,-0x1b0(%rbp)
jmp    1a8a <_test_MAX_smallerint_biggeruint+0x97a>
mov    -0x8(%rbp),%eax
mov    %rax,-0x1b0(%rbp)
mov    -0x1b0(%rbp),%rax
mov    %rax,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
mov    -0x1a0(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
jmp    1b83 <_test_MAX_smallerint_biggeruint+0xa73>
mov    -0x8(%rbp),%eax
sub    -0x8(%rbp),%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
add    $0x1,%ecx
sub    %ecx,%eax
mov    -0x8(%rbp),%ecx
sub    -0x8(%rbp),%ecx
cmp    %ecx,%eax
jae    1b3d <_test_MAX_smallerint_biggeruint+0xa2d>
cmpl   $0x0,-0x8(%rbp)
jae    1af2 <_test_MAX_smallerint_biggeruint+0x9e2>
movslq -0x4(%rbp),%rax
mov    %rax,-0x1c0(%rbp)
jmp    1b2a <_test_MAX_smallerint_biggeruint+0xa1a>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1b12 <_test_MAX_smallerint_biggeruint+0xa02>
movslq -0x4(%rbp),%rax
mov    %rax,-0x1c8(%rbp)
jmp    1b1c <_test_MAX_smallerint_biggeruint+0xa0c>
mov    -0x8(%rbp),%eax
mov    %rax,-0x1c8(%rbp)
mov    -0x1c8(%rbp),%rax
mov    %rax,-0x1c0(%rbp)
mov    -0x1c0(%rbp),%rax
mov    %rax,-0x1d0(%rbp)
jmp    1b75 <_test_MAX_smallerint_biggeruint+0xa65>
movslq -0x4(%rbp),%rax
mov    -0x8(%rbp),%ecx
cmp    %rcx,%rax
jbe    1b5d <_test_MAX_smallerint_biggeruint+0xa4d>
movslq -0x4(%rbp),%rax
mov    %rax,-0x1d8(%rbp)
jmp    1b67 <_test_MAX_smallerint_biggeruint+0xa57>
mov    -0x8(%rbp),%eax
mov    %rax,-0x1d8(%rbp)
mov    -0x1d8(%rbp),%rax
mov    %rax,-0x1d0(%rbp)
mov    -0x1d0(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
mov    -0x190(%rbp),%r8
mov    -0x13c(%rbp),%ecx
mov    -0x140(%rbp),%edx
mov    -0x1b8(%rbp),%r9
mov    -0x8(%rbp),%eax
lea    0x49b(%rip),%rdi
mov    $0x221,%esi
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x1f0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<_test_MAX_smallerint_biggeruint>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    %esi,%r15d
mov    %edi,%r14d
mov    %esi,%ebx
movslq %edi,%rax
cmp    %rbx,%rax
mov    %rbx,%rbp
cmova  %rax,%rbp
test   %eax,%eax
cmovs  %rbx,%rbp
cmp    %rbx,%rbp
jge    115e <_test_MAX_smallerint_biggeruint+0x4e>
lea    0xec2(%rip),%rdi
mov    $0x21e,%esi
mov    %r14d,%edx
mov    %r15d,%ecx
mov    %rbp,%r8
mov    %rbp,%r9
xor    %eax,%eax
push   %r15
push   %r15
call   1030 <printf@plt>
add    $0x10,%rsp
cmp    %rbx,%rbp
je     118c <_test_MAX_smallerint_biggeruint+0x7c>
sub    $0x8,%rsp
lea    0xed4(%rip),%rdi
mov    $0x221,%esi
mov    %r14d,%edx
mov    %r15d,%ecx
mov    %rbp,%r8
mov    %rbp,%r9
xor    %eax,%eax
push   %r15
call   1030 <printf@plt>
add    $0x10,%rsp
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [66 x i8] c"failed test %d MAX(%d, %uU): %lldLL == %lluLLU < u == %uU == %uU\0A\00"
@.str.1 = [59 x i8] c"failed test %d MAX(%d, %uU): %lldLL == %lluLLU != u == %u\0A\00"
define i32 @_test_MAX_smallerint_biggeruint(i32 %0, i32 %1) {
%3 = alloca i32
%4 = alloca i32
store i32 %0, i32* %3
store i32 %1, i32* %4
%5 = load i32, i32* %3
%6 = load i32, i32* %3
%7 = sub nsw i32 %5, %6
%8 = load i32, i32* %3
%9 = load i32, i32* %3
%10 = sub nsw i32 %8, %9
%11 = add nsw i32 %10, 1
%12 = sub nsw i32 %7, %11
%13 = load i32, i32* %3
%14 = load i32, i32* %3
%15 = sub nsw i32 %13, %14
%16 = icmp slt i32 %12, %15
br i1 %16, label %17, label %68
17: ; preds = %2
%18 = load i32, i32* %4
%19 = load i32, i32* %4
%20 = sub i32 %18, %19
%21 = load i32, i32* %4
%22 = load i32, i32* %4
%23 = sub i32 %21, %22
%24 = add i32 %23, 1
%25 = sub i32 %20, %24
%26 = load i32, i32* %4
%27 = load i32, i32* %4
%28 = sub i32 %26, %27
%29 = icmp ult i32 %25, %28
br i1 %29, label %30, label %44
30: ; preds = %17
%31 = load i32, i32* %3
%32 = sext i32 %31 to i64
%33 = load i32, i32* %4
%34 = zext i32 %33 to i64
%35 = icmp sgt i64 %32, %34
br i1 %35, label %36, label %39
36: ; preds = %30
%37 = load i32, i32* %3
%38 = sext i32 %37 to i64
br label %42
39: ; preds = %30
%40 = load i32, i32* %4
%41 = zext i32 %40 to i64
br label %42
42: ; preds = %39, %36
%43 = phi i64 [ %38, %36 ], [ %41, %39 ]
br label %66
44: ; preds = %17
%45 = load i32, i32* %3
%46 = icmp slt i32 %45, 0
br i1 %46, label %47, label %50
47: ; preds = %44
%48 = load i32, i32* %4
%49 = zext i32 %48 to i64
br label %64
50: ; preds = %44
%51 = load i32, i32* %3
%52 = sext i32 %51 to i64
%53 = load i32, i32* %4
%54 = zext i32 %53 to i64
%55 = icmp ugt i64 %52, %54
br i1 %55, label %56, label %59
56: ; preds = %50
%57 = load i32, i32* %3
%58 = sext i32 %57 to i64
br label %62
59: ; preds = %50
%60 = load i32, i32* %4
%61 = zext i32 %60 to i64
br label %62
62: ; preds = %59, %56
%63 = phi i64 [ %58, %56 ], [ %61, %59 ]
br label %64
64: ; preds = %62, %47
%65 = phi i64 [ %49, %47 ], [ %63, %62 ]
br label %66
66: ; preds = %64, %42
%67 = phi i64 [ %43, %42 ], [ %65, %64 ]
br label %119
68: ; preds = %2
%69 = load i32, i32* %4
%70 = load i32, i32* %4
%71 = sub i32 %69, %70
%72 = load i32, i32* %4
%73 = load i32, i32* %4
%74 = sub i32 %72, %73
%75 = add i32 %74, 1
%76 = sub i32 %71, %75
%77 = load i32, i32* %4
%78 = load i32, i32* %4
%79 = sub i32 %77, %78
%80 = icmp ult i32 %76, %79
br i1 %80, label %81, label %103
81: ; preds = %68
%82 = load i32, i32* %4
%83 = icmp ult i32 %82, 0
br i1 %83, label %84, label %87
84: ; preds = %81
%85 = load i32, i32* %3
%86 = sext i32 %85 to i64
br label %101
87: ; preds = %81
%88 = load i32, i32* %3
%89 = sext i32 %88 to i64
%90 = load i32, i32* %4
%91 = zext i32 %90 to i64
%92 = icmp ugt i64 %89, %91
br i1 %92, label %93, label %96
93: ; preds = %87
%94 = load i32, i32* %3
%95 = sext i32 %94 to i64
br label %99
96: ; preds = %87
%97 = load i32, i32* %4
%98 = zext i32 %97 to i64
br label %99
99: ; preds = %96, %93
%100 = phi i64 [ %95, %93 ], [ %98, %96 ]
br label %101
101: ; preds = %99, %84
%102 = phi i64 [ %86, %84 ], [ %100, %99 ]
br label %117
103: ; preds = %68
%104 = load i32, i32* %3
%105 = sext i32 %104 to i64
%106 = load i32, i32* %4
%107 = zext i32 %106 to i64
%108 = icmp ugt i64 %105, %107
br i1 %108, label %109, label %112
109: ; preds = %103
%110 = load i32, i32* %3
%111 = sext i32 %110 to i64
br label %115
112: ; preds = %103
%113 = load i32, i32* %4
%114 = zext i32 %113 to i64
br label %115
115: ; preds = %112, %109
%116 = phi i64 [ %111, %109 ], [ %114, %112 ]
br label %117
117: ; preds = %115, %101
%118 = phi i64 [ %102, %101 ], [ %116, %115 ]
br label %119
119: ; preds = %117, %66
%120 = phi i64 [ %67, %66 ], [ %118, %117 ]
%121 = load i32, i32* %4
%122 = zext i32 %121 to i64
%123 = icmp slt i64 %120, %122
br i1 %123, label %124, label %362
124: ; preds = %119
%125 = load i32, i32* %3
%126 = load i32, i32* %4
%127 = load i32, i32* %3
%128 = load i32, i32* %3
%129 = sub nsw i32 %127, %128
%130 = load i32, i32* %3
%131 = load i32, i32* %3
%132 = sub nsw i32 %130, %131
%133 = add nsw i32 %132, 1
%134 = sub nsw i32 %129, %133
%135 = load i32, i32* %3
%136 = load i32, i32* %3
%137 = sub nsw i32 %135, %136
%138 = icmp slt i32 %134, %137
br i1 %138, label %139, label %190
139: ; preds = %124
%140 = load i32, i32* %4
%141 = load i32, i32* %4
%142 = sub i32 %140, %141
%143 = load i32, i32* %4
%144 = load i32, i32* %4
%145 = sub i32 %143, %144
%146 = add i32 %145, 1
%147 = sub i32 %142, %146
%148 = load i32, i32* %4
%149 = load i32, i32* %4
%150 = sub i32 %148, %149
%151 = icmp ult i32 %147, %150
br i1 %151, label %152, label %166
152: ; preds = %139
%153 = load i32, i32* %3
%154 = sext i32 %153 to i64
%155 = load i32, i32* %4
%156 = zext i32 %155 to i64
%157 = icmp sgt i64 %154, %156
br i1 %157, label %158, label %161
158: ; preds = %152
%159 = load i32, i32* %3
%160 = sext i32 %159 to i64
br label %164
161: ; preds = %152
%162 = load i32, i32* %4
%163 = zext i32 %162 to i64
br label %164
164: ; preds = %161, %158
%165 = phi i64 [ %160, %158 ], [ %163, %161 ]
br label %188
166: ; preds = %139
%167 = load i32, i32* %3
%168 = icmp slt i32 %167, 0
br i1 %168, label %169, label %172
169: ; preds = %166
%170 = load i32, i32* %4
%171 = zext i32 %170 to i64
br label %186
172: ; preds = %166
%173 = load i32, i32* %3
%174 = sext i32 %173 to i64
%175 = load i32, i32* %4
%176 = zext i32 %175 to i64
%177 = icmp ugt i64 %174, %176
br i1 %177, label %178, label %181
178: ; preds = %172
%179 = load i32, i32* %3
%180 = sext i32 %179 to i64
br label %184
181: ; preds = %172
%182 = load i32, i32* %4
%183 = zext i32 %182 to i64
br label %184
184: ; preds = %181, %178
%185 = phi i64 [ %180, %178 ], [ %183, %181 ]
br label %186
186: ; preds = %184, %169
%187 = phi i64 [ %171, %169 ], [ %185, %184 ]
br label %188
188: ; preds = %186, %164
%189 = phi i64 [ %165, %164 ], [ %187, %186 ]
br label %241
190: ; preds = %124
%191 = load i32, i32* %4
%192 = load i32, i32* %4
%193 = sub i32 %191, %192
%194 = load i32, i32* %4
%195 = load i32, i32* %4
%196 = sub i32 %194, %195
%197 = add i32 %196, 1
%198 = sub i32 %193, %197
%199 = load i32, i32* %4
%200 = load i32, i32* %4
%201 = sub i32 %199, %200
%202 = icmp ult i32 %198, %201
br i1 %202, label %203, label %225
203: ; preds = %190
%204 = load i32, i32* %4
%205 = icmp ult i32 %204, 0
br i1 %205, label %206, label %209
206: ; preds = %203
%207 = load i32, i32* %3
%208 = sext i32 %207 to i64
br label %223
209: ; preds = %203
%210 = load i32, i32* %3
%211 = sext i32 %210 to i64
%212 = load i32, i32* %4
%213 = zext i32 %212 to i64
%214 = icmp ugt i64 %211, %213
br i1 %214, label %215, label %218
215: ; preds = %209
%216 = load i32, i32* %3
%217 = sext i32 %216 to i64
br label %221
218: ; preds = %209
%219 = load i32, i32* %4
%220 = zext i32 %219 to i64
br label %221
221: ; preds = %218, %215
%222 = phi i64 [ %217, %215 ], [ %220, %218 ]
br label %223
223: ; preds = %221, %206
%224 = phi i64 [ %208, %206 ], [ %222, %221 ]
br label %239
225: ; preds = %190
%226 = load i32, i32* %3
%227 = sext i32 %226 to i64
%228 = load i32, i32* %4
%229 = zext i32 %228 to i64
%230 = icmp ugt i64 %227, %229
br i1 %230, label %231, label %234
231: ; preds = %225
%232 = load i32, i32* %3
%233 = sext i32 %232 to i64
br label %237
234: ; preds = %225
%235 = load i32, i32* %4
%236 = zext i32 %235 to i64
br label %237
237: ; preds = %234, %231
%238 = phi i64 [ %233, %231 ], [ %236, %234 ]
br label %239
239: ; preds = %237, %223
%240 = phi i64 [ %224, %223 ], [ %238, %237 ]
br label %241
241: ; preds = %239, %188
%242 = phi i64 [ %189, %188 ], [ %240, %239 ]
%243 = load i32, i32* %3
%244 = load i32, i32* %3
%245 = sub nsw i32 %243, %244
%246 = load i32, i32* %3
%247 = load i32, i32* %3
%248 = sub nsw i32 %246, %247
%249 = add nsw i32 %248, 1
%250 = sub nsw i32 %245, %249
%251 = load i32, i32* %3
%252 = load i32, i32* %3
%253 = sub nsw i32 %251, %252
%254 = icmp slt i32 %250, %253
br i1 %254, label %255, label %306
255: ; preds = %241
%256 = load i32, i32* %4
%257 = load i32, i32* %4
%258 = sub i32 %256, %257
%259 = load i32, i32* %4
%260 = load i32, i32* %4
%261 = sub i32 %259, %260
%262 = add i32 %261, 1
%263 = sub i32 %258, %262
%264 = load i32, i32* %4
%265 = load i32, i32* %4
%266 = sub i32 %264, %265
%267 = icmp ult i32 %263, %266
br i1 %267, label %268, label %282
268: ; preds = %255
%269 = load i32, i32* %3
%270 = sext i32 %269 to i64
%271 = load i32, i32* %4
%272 = zext i32 %271 to i64
%273 = icmp sgt i64 %270, %272
br i1 %273, label %274, label %277
274: ; preds = %268
%275 = load i32, i32* %3
%276 = sext i32 %275 to i64
br label %280
277: ; preds = %268
%278 = load i32, i32* %4
%279 = zext i32 %278 to i64
br label %280
280: ; preds = %277, %274
%281 = phi i64 [ %276, %274 ], [ %279, %277 ]
br label %304
282: ; preds = %255
%283 = load i32, i32* %3
%284 = icmp slt i32 %283, 0
br i1 %284, label %285, label %288
285: ; preds = %282
%286 = load i32, i32* %4
%287 = zext i32 %286 to i64
br label %302
288: ; preds = %282
%289 = load i32, i32* %3
%290 = sext i32 %289 to i64
%291 = load i32, i32* %4
%292 = zext i32 %291 to i64
%293 = icmp ugt i64 %290, %292
br i1 %293, label %294, label %297
294: ; preds = %288
%295 = load i32, i32* %3
%296 = sext i32 %295 to i64
br label %300
297: ; preds = %288
%298 = load i32, i32* %4
%299 = zext i32 %298 to i64
br label %300
300: ; preds = %297, %294
%301 = phi i64 [ %296, %294 ], [ %299, %297 ]
br label %302
302: ; preds = %300, %285
%303 = phi i64 [ %287, %285 ], [ %301, %300 ]
br label %304
304: ; preds = %302, %280
%305 = phi i64 [ %281, %280 ], [ %303, %302 ]
br label %357
306: ; preds = %241
%307 = load i32, i32* %4
%308 = load i32, i32* %4
%309 = sub i32 %307, %308
%310 = load i32, i32* %4
%311 = load i32, i32* %4
%312 = sub i32 %310, %311
%313 = add i32 %312, 1
%314 = sub i32 %309, %313
%315 = load i32, i32* %4
%316 = load i32, i32* %4
%317 = sub i32 %315, %316
%318 = icmp ult i32 %314, %317
br i1 %318, label %319, label %341
319: ; preds = %306
%320 = load i32, i32* %4
%321 = icmp ult i32 %320, 0
br i1 %321, label %322, label %325
322: ; preds = %319
%323 = load i32, i32* %3
%324 = sext i32 %323 to i64
br label %339
325: ; preds = %319
%326 = load i32, i32* %3
%327 = sext i32 %326 to i64
%328 = load i32, i32* %4
%329 = zext i32 %328 to i64
%330 = icmp ugt i64 %327, %329
br i1 %330, label %331, label %334
331: ; preds = %325
%332 = load i32, i32* %3
%333 = sext i32 %332 to i64
br label %337
334: ; preds = %325
%335 = load i32, i32* %4
%336 = zext i32 %335 to i64
br label %337
337: ; preds = %334, %331
%338 = phi i64 [ %333, %331 ], [ %336, %334 ]
br label %339
339: ; preds = %337, %322
%340 = phi i64 [ %324, %322 ], [ %338, %337 ]
br label %355
341: ; preds = %306
%342 = load i32, i32* %3
%343 = sext i32 %342 to i64
%344 = load i32, i32* %4
%345 = zext i32 %344 to i64
%346 = icmp ugt i64 %343, %345
br i1 %346, label %347, label %350
347: ; preds = %341
%348 = load i32, i32* %3
%349 = sext i32 %348 to i64
br label %353
350: ; preds = %341
%351 = load i32, i32* %4
%352 = zext i32 %351 to i64
br label %353
353: ; preds = %350, %347
%354 = phi i64 [ %349, %347 ], [ %352, %350 ]
br label %355
355: ; preds = %353, %339
%356 = phi i64 [ %340, %339 ], [ %354, %353 ]
br label %357
357: ; preds = %355, %304
%358 = phi i64 [ %305, %304 ], [ %356, %355 ]
%359 = load i32, i32* %4
%360 = load i32, i32* %4
%361 = call i32 (i8*, i32, i32, i32, i64, i64, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str, i64 0, i64 0), i32 542, i32 %125, i32 %126, i64 %242, i64 %358, i32 %359, i32 %360)
br label %362
362: ; preds = %357, %119
%363 = load i32, i32* %3
%364 = load i32, i32* %3
%365 = sub nsw i32 %363, %364
%366 = load i32, i32* %3
%367 = load i32, i32* %3
%368 = sub nsw i32 %366, %367
%369 = add nsw i32 %368, 1
%370 = sub nsw i32 %365, %369
%371 = load i32, i32* %3
%372 = load i32, i32* %3
%373 = sub nsw i32 %371, %372
%374 = icmp slt i32 %370, %373
br i1 %374, label %375, label %426
375: ; preds = %362
%376 = load i32, i32* %4
%377 = load i32, i32* %4
%378 = sub i32 %376, %377
%379 = load i32, i32* %4
%380 = load i32, i32* %4
%381 = sub i32 %379, %380
%382 = add i32 %381, 1
%383 = sub i32 %378, %382
%384 = load i32, i32* %4
%385 = load i32, i32* %4
%386 = sub i32 %384, %385
%387 = icmp ult i32 %383, %386
br i1 %387, label %388, label %402
388: ; preds = %375
%389 = load i32, i32* %3
%390 = sext i32 %389 to i64
%391 = load i32, i32* %4
%392 = zext i32 %391 to i64
%393 = icmp sgt i64 %390, %392
br i1 %393, label %394, label %397
394: ; preds = %388
%395 = load i32, i32* %3
%396 = sext i32 %395 to i64
br label %400
397: ; preds = %388
%398 = load i32, i32* %4
%399 = zext i32 %398 to i64
br label %400
400: ; preds = %397, %394
%401 = phi i64 [ %396, %394 ], [ %399, %397 ]
br label %424
402: ; preds = %375
%403 = load i32, i32* %3
%404 = icmp slt i32 %403, 0
br i1 %404, label %405, label %408
405: ; preds = %402
%406 = load i32, i32* %4
%407 = zext i32 %406 to i64
br label %422
408: ; preds = %402
%409 = load i32, i32* %3
%410 = sext i32 %409 to i64
%411 = load i32, i32* %4
%412 = zext i32 %411 to i64
%413 = icmp ugt i64 %410, %412
br i1 %413, label %414, label %417
414: ; preds = %408
%415 = load i32, i32* %3
%416 = sext i32 %415 to i64
br label %420
417: ; preds = %408
%418 = load i32, i32* %4
%419 = zext i32 %418 to i64
br label %420
420: ; preds = %417, %414
%421 = phi i64 [ %416, %414 ], [ %419, %417 ]
br label %422
422: ; preds = %420, %405
%423 = phi i64 [ %407, %405 ], [ %421, %420 ]
br label %424
424: ; preds = %422, %400
%425 = phi i64 [ %401, %400 ], [ %423, %422 ]
br label %477
426: ; preds = %362
%427 = load i32, i32* %4
%428 = load i32, i32* %4
%429 = sub i32 %427, %428
%430 = load i32, i32* %4
%431 = load i32, i32* %4
%432 = sub i32 %430, %431
%433 = add i32 %432, 1
%434 = sub i32 %429, %433
%435 = load i32, i32* %4
%436 = load i32, i32* %4
%437 = sub i32 %435, %436
%438 = icmp ult i32 %434, %437
br i1 %438, label %439, label %461
439: ; preds = %426
%440 = load i32, i32* %4
%441 = icmp ult i32 %440, 0
br i1 %441, label %442, label %445
442: ; preds = %439
%443 = load i32, i32* %3
%444 = sext i32 %443 to i64
br label %459
445: ; preds = %439
%446 = load i32, i32* %3
%447 = sext i32 %446 to i64
%448 = load i32, i32* %4
%449 = zext i32 %448 to i64
%450 = icmp ugt i64 %447, %449
br i1 %450, label %451, label %454
451: ; preds = %445
%452 = load i32, i32* %3
%453 = sext i32 %452 to i64
br label %457
454: ; preds = %445
%455 = load i32, i32* %4
%456 = zext i32 %455 to i64
br label %457
457: ; preds = %454, %451
%458 = phi i64 [ %453, %451 ], [ %456, %454 ]
br label %459
459: ; preds = %457, %442
%460 = phi i64 [ %444, %442 ], [ %458, %457 ]
br label %475
461: ; preds = %426
%462 = load i32, i32* %3
%463 = sext i32 %462 to i64
%464 = load i32, i32* %4
%465 = zext i32 %464 to i64
%466 = icmp ugt i64 %463, %465
br i1 %466, label %467, label %470
467: ; preds = %461
%468 = load i32, i32* %3
%469 = sext i32 %468 to i64
br label %473
470: ; preds = %461
%471 = load i32, i32* %4
%472 = zext i32 %471 to i64
br label %473
473: ; preds = %470, %467
%474 = phi i64 [ %469, %467 ], [ %472, %470 ]
br label %475
475: ; preds = %473, %459
%476 = phi i64 [ %460, %459 ], [ %474, %473 ]
br label %477
477: ; preds = %475, %424
%478 = phi i64 [ %425, %424 ], [ %476, %475 ]
%479 = load i32, i32* %4
%480 = zext i32 %479 to i64
%481 = icmp ne i64 %478, %480
br i1 %481, label %482, label %719
482: ; preds = %477
%483 = load i32, i32* %3
%484 = load i32, i32* %4
%485 = load i32, i32* %3
%486 = load i32, i32* %3
%487 = sub nsw i32 %485, %486
%488 = load i32, i32* %3
%489 = load i32, i32* %3
%490 = sub nsw i32 %488, %489
%491 = add nsw i32 %490, 1
%492 = sub nsw i32 %487, %491
%493 = load i32, i32* %3
%494 = load i32, i32* %3
%495 = sub nsw i32 %493, %494
%496 = icmp slt i32 %492, %495
br i1 %496, label %497, label %548
497: ; preds = %482
%498 = load i32, i32* %4
%499 = load i32, i32* %4
%500 = sub i32 %498, %499
%501 = load i32, i32* %4
%502 = load i32, i32* %4
%503 = sub i32 %501, %502
%504 = add i32 %503, 1
%505 = sub i32 %500, %504
%506 = load i32, i32* %4
%507 = load i32, i32* %4
%508 = sub i32 %506, %507
%509 = icmp ult i32 %505, %508
br i1 %509, label %510, label %524
510: ; preds = %497
%511 = load i32, i32* %3
%512 = sext i32 %511 to i64
%513 = load i32, i32* %4
%514 = zext i32 %513 to i64
%515 = icmp sgt i64 %512, %514
br i1 %515, label %516, label %519
516: ; preds = %510
%517 = load i32, i32* %3
%518 = sext i32 %517 to i64
br label %522
519: ; preds = %510
%520 = load i32, i32* %4
%521 = zext i32 %520 to i64
br label %522
522: ; preds = %519, %516
%523 = phi i64 [ %518, %516 ], [ %521, %519 ]
br label %546
524: ; preds = %497
%525 = load i32, i32* %3
%526 = icmp slt i32 %525, 0
br i1 %526, label %527, label %530
527: ; preds = %524
%528 = load i32, i32* %4
%529 = zext i32 %528 to i64
br label %544
530: ; preds = %524
%531 = load i32, i32* %3
%532 = sext i32 %531 to i64
%533 = load i32, i32* %4
%534 = zext i32 %533 to i64
%535 = icmp ugt i64 %532, %534
br i1 %535, label %536, label %539
536: ; preds = %530
%537 = load i32, i32* %3
%538 = sext i32 %537 to i64
br label %542
539: ; preds = %530
%540 = load i32, i32* %4
%541 = zext i32 %540 to i64
br label %542
542: ; preds = %539, %536
%543 = phi i64 [ %538, %536 ], [ %541, %539 ]
br label %544
544: ; preds = %542, %527
%545 = phi i64 [ %529, %527 ], [ %543, %542 ]
br label %546
546: ; preds = %544, %522
%547 = phi i64 [ %523, %522 ], [ %545, %544 ]
br label %599
548: ; preds = %482
%549 = load i32, i32* %4
%550 = load i32, i32* %4
%551 = sub i32 %549, %550
%552 = load i32, i32* %4
%553 = load i32, i32* %4
%554 = sub i32 %552, %553
%555 = add i32 %554, 1
%556 = sub i32 %551, %555
%557 = load i32, i32* %4
%558 = load i32, i32* %4
%559 = sub i32 %557, %558
%560 = icmp ult i32 %556, %559
br i1 %560, label %561, label %583
561: ; preds = %548
%562 = load i32, i32* %4
%563 = icmp ult i32 %562, 0
br i1 %563, label %564, label %567
564: ; preds = %561
%565 = load i32, i32* %3
%566 = sext i32 %565 to i64
br label %581
567: ; preds = %561
%568 = load i32, i32* %3
%569 = sext i32 %568 to i64
%570 = load i32, i32* %4
%571 = zext i32 %570 to i64
%572 = icmp ugt i64 %569, %571
br i1 %572, label %573, label %576
573: ; preds = %567
%574 = load i32, i32* %3
%575 = sext i32 %574 to i64
br label %579
576: ; preds = %567
%577 = load i32, i32* %4
%578 = zext i32 %577 to i64
br label %579
579: ; preds = %576, %573
%580 = phi i64 [ %575, %573 ], [ %578, %576 ]
br label %581
581: ; preds = %579, %564
%582 = phi i64 [ %566, %564 ], [ %580, %579 ]
br label %597
583: ; preds = %548
%584 = load i32, i32* %3
%585 = sext i32 %584 to i64
%586 = load i32, i32* %4
%587 = zext i32 %586 to i64
%588 = icmp ugt i64 %585, %587
br i1 %588, label %589, label %592
589: ; preds = %583
%590 = load i32, i32* %3
%591 = sext i32 %590 to i64
br label %595
592: ; preds = %583
%593 = load i32, i32* %4
%594 = zext i32 %593 to i64
br label %595
595: ; preds = %592, %589
%596 = phi i64 [ %591, %589 ], [ %594, %592 ]
br label %597
597: ; preds = %595, %581
%598 = phi i64 [ %582, %581 ], [ %596, %595 ]
br label %599
599: ; preds = %597, %546
%600 = phi i64 [ %547, %546 ], [ %598, %597 ]
%601 = load i32, i32* %3
%602 = load i32, i32* %3
%603 = sub nsw i32 %601, %602
%604 = load i32, i32* %3
%605 = load i32, i32* %3
%606 = sub nsw i32 %604, %605
%607 = add nsw i32 %606, 1
%608 = sub nsw i32 %603, %607
%609 = load i32, i32* %3
%610 = load i32, i32* %3
%611 = sub nsw i32 %609, %610
%612 = icmp slt i32 %608, %611
br i1 %612, label %613, label %664
613: ; preds = %599
%614 = load i32, i32* %4
%615 = load i32, i32* %4
%616 = sub i32 %614, %615
%617 = load i32, i32* %4
%618 = load i32, i32* %4
%619 = sub i32 %617, %618
%620 = add i32 %619, 1
%621 = sub i32 %616, %620
%622 = load i32, i32* %4
%623 = load i32, i32* %4
%624 = sub i32 %622, %623
%625 = icmp ult i32 %621, %624
br i1 %625, label %626, label %640
626: ; preds = %613
%627 = load i32, i32* %3
%628 = sext i32 %627 to i64
%629 = load i32, i32* %4
%630 = zext i32 %629 to i64
%631 = icmp sgt i64 %628, %630
br i1 %631, label %632, label %635
632: ; preds = %626
%633 = load i32, i32* %3
%634 = sext i32 %633 to i64
br label %638
635: ; preds = %626
%636 = load i32, i32* %4
%637 = zext i32 %636 to i64
br label %638
638: ; preds = %635, %632
%639 = phi i64 [ %634, %632 ], [ %637, %635 ]
br label %662
640: ; preds = %613
%641 = load i32, i32* %3
%642 = icmp slt i32 %641, 0
br i1 %642, label %643, label %646
643: ; preds = %640
%644 = load i32, i32* %4
%645 = zext i32 %644 to i64
br label %660
646: ; preds = %640
%647 = load i32, i32* %3
%648 = sext i32 %647 to i64
%649 = load i32, i32* %4
%650 = zext i32 %649 to i64
%651 = icmp ugt i64 %648, %650
br i1 %651, label %652, label %655
652: ; preds = %646
%653 = load i32, i32* %3
%654 = sext i32 %653 to i64
br label %658
655: ; preds = %646
%656 = load i32, i32* %4
%657 = zext i32 %656 to i64
br label %658
658: ; preds = %655, %652
%659 = phi i64 [ %654, %652 ], [ %657, %655 ]
br label %660
660: ; preds = %658, %643
%661 = phi i64 [ %645, %643 ], [ %659, %658 ]
br label %662
662: ; preds = %660, %638
%663 = phi i64 [ %639, %638 ], [ %661, %660 ]
br label %715
664: ; preds = %599
%665 = load i32, i32* %4
%666 = load i32, i32* %4
%667 = sub i32 %665, %666
%668 = load i32, i32* %4
%669 = load i32, i32* %4
%670 = sub i32 %668, %669
%671 = add i32 %670, 1
%672 = sub i32 %667, %671
%673 = load i32, i32* %4
%674 = load i32, i32* %4
%675 = sub i32 %673, %674
%676 = icmp ult i32 %672, %675
br i1 %676, label %677, label %699
677: ; preds = %664
%678 = load i32, i32* %4
%679 = icmp ult i32 %678, 0
br i1 %679, label %680, label %683
680: ; preds = %677
%681 = load i32, i32* %3
%682 = sext i32 %681 to i64
br label %697
683: ; preds = %677
%684 = load i32, i32* %3
%685 = sext i32 %684 to i64
%686 = load i32, i32* %4
%687 = zext i32 %686 to i64
%688 = icmp ugt i64 %685, %687
br i1 %688, label %689, label %692
689: ; preds = %683
%690 = load i32, i32* %3
%691 = sext i32 %690 to i64
br label %695
692: ; preds = %683
%693 = load i32, i32* %4
%694 = zext i32 %693 to i64
br label %695
695: ; preds = %692, %689
%696 = phi i64 [ %691, %689 ], [ %694, %692 ]
br label %697
697: ; preds = %695, %680
%698 = phi i64 [ %682, %680 ], [ %696, %695 ]
br label %713
699: ; preds = %664
%700 = load i32, i32* %3
%701 = sext i32 %700 to i64
%702 = load i32, i32* %4
%703 = zext i32 %702 to i64
%704 = icmp ugt i64 %701, %703
br i1 %704, label %705, label %708
705: ; preds = %699
%706 = load i32, i32* %3
%707 = sext i32 %706 to i64
br label %711
708: ; preds = %699
%709 = load i32, i32* %4
%710 = zext i32 %709 to i64
br label %711
711: ; preds = %708, %705
%712 = phi i64 [ %707, %705 ], [ %710, %708 ]
br label %713
713: ; preds = %711, %697
%714 = phi i64 [ %698, %697 ], [ %712, %711 ]
br label %715
715: ; preds = %713, %662
%716 = phi i64 [ %663, %662 ], [ %714, %713 ]
%717 = load i32, i32* %4
%718 = call i32 (i8*, i32, i32, i32, i64, i64, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.1, i64 0, i64 0), i32 545, i32 %483, i32 %484, i64 %600, i64 %716, i32 %717)
br label %719
719: ; preds = %715, %477
ret i32 0
}

LLVM IR (-O2):
@.str = [66 x i8] c"failed test %d MAX(%d, %uU): %lldLL == %lluLLU < u == %uU == %uU\0A\00"
@.str.1 = [59 x i8] c"failed test %d MAX(%d, %uU): %lldLL == %lluLLU != u == %u\0A\00"
define i32 @_test_MAX_smallerint_biggeruint(i32 %0, i32 %1) {
%3 = icmp slt i32 %0, 0
%4 = zext i32 %1 to i64
%5 = sext i32 %0 to i64
%6 = icmp ugt i64 %5, %4
%7 = select i1 %6, i64 %5, i64 %4
%8 = select i1 %3, i64 %4, i64 %7
%9 = icmp slt i64 %8, %4
br i1 %9, label %10, label %12
10: ; preds = %2
%11 = tail call i32 (i8*, i32, i32, i32, i64, i64, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str, i64 0, i64 0), i32 542, i32 %0, i32 %1, i64 %8, i64 %8, i32 %1, i32 %1)
br label %12
12: ; preds = %10, %2
%13 = icmp eq i64 %8, %4
br i1 %13, label %16, label %14
14: ; preds = %12
%15 = tail call i32 (i8*, i32, i32, i32, i64, i64, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.1, i64 0, i64 0), i32 545, i32 %0, i32 %1, i64 %8, i64 %8, i32 %1)
br label %16
16: ; preds = %14, %12
ret i32 0
}