#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 */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
int scanf(char *, char **, char **);
int /*<<< orphan*/ strcmp(char *, char *);
int main() {
  char n1[12], n2[12];
  int l1, l2, i, count;
  while (scanf("%s%s", &n1, &n2) != -1) {
    if (!strcmp(n1, "0") && !strcmp(n2, "0"))
      break;
    i = 0;
    while (n1[i])
      i++;
    l1 = i;
    i = 0;
    while (n2[i])
      i++;
    l2 = i;
    for (i = 11; i >= 0; i--)
      if (i > 11 - l1)
        n1[i] = n1[l1 + i - 12] - 48;
      else
        n1[i] = 0;
    for (i = 11; i >= 0; i--)
      if (i > 11 - l2)
        n2[i] = n2[l2 + i - 12] - 48;
      else
        n2[i] = 0;
    count = 0;
    for (i = 11; i; i--)
      if (n1[i] + n2[i] > 9) {
        count++;
        n1[i - 1]++;
      }
    if (count)
      printf("%d", count);
    else
      printf("No");
    if (count > 1)
      printf(" carry operations.\n");
    else
      printf(" carry operation.\n");
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
movl   $0x0,-0x4(%rbp)
lea    -0x10(%rbp),%rsi
lea    -0x1c(%rbp),%rdx
lea    0xeb2(%rip),%rdi
call   1050 <scanf@plt>
cmp    $0xffffffff,%eax
je     136d <main+0x23d>
lea    -0x10(%rbp),%rdi
lea    0xe9e(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1193 <main+0x63>
lea    -0x1c(%rbp),%rdi
lea    0xe85(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1193 <main+0x63>
jmp    136d <main+0x23d>
movl   $0x0,-0x28(%rbp)
movslq -0x28(%rbp),%rax
cmpb   $0x0,-0x10(%rbp,%rax,1)
je     11b7 <main+0x87>
mov    -0x28(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
jmp    119a <main+0x6a>
mov    -0x28(%rbp),%eax
mov    %eax,-0x20(%rbp)
movl   $0x0,-0x28(%rbp)
movslq -0x28(%rbp),%rax
cmpb   $0x0,-0x1c(%rbp,%rax,1)
je     11e1 <main+0xb1>
mov    -0x28(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
jmp    11c4 <main+0x94>
mov    -0x28(%rbp),%eax
mov    %eax,-0x24(%rbp)
movl   $0xb,-0x28(%rbp)
cmpl   $0x0,-0x28(%rbp)
jl     1249 <main+0x119>
mov    -0x28(%rbp),%eax
mov    $0xb,%ecx
sub    -0x20(%rbp),%ecx
cmp    %ecx,%eax
jle    122d <main+0xfd>
mov    -0x20(%rbp),%eax
add    -0x28(%rbp),%eax
sub    $0xc,%eax
cltq
movsbl -0x10(%rbp,%rax,1),%eax
sub    $0x30,%eax
mov    %al,%cl
movslq -0x28(%rbp),%rax
mov    %cl,-0x10(%rbp,%rax,1)
jmp    1236 <main+0x106>
movslq -0x28(%rbp),%rax
movb   $0x0,-0x10(%rbp,%rax,1)
jmp    123b <main+0x10b>
mov    -0x28(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x28(%rbp)
jmp    11ee <main+0xbe>
movl   $0xb,-0x28(%rbp)
cmpl   $0x0,-0x28(%rbp)
jl     12ab <main+0x17b>
mov    -0x28(%rbp),%eax
mov    $0xb,%ecx
sub    -0x24(%rbp),%ecx
cmp    %ecx,%eax
jle    128f <main+0x15f>
mov    -0x24(%rbp),%eax
add    -0x28(%rbp),%eax
sub    $0xc,%eax
cltq
movsbl -0x1c(%rbp,%rax,1),%eax
sub    $0x30,%eax
mov    %al,%cl
movslq -0x28(%rbp),%rax
mov    %cl,-0x1c(%rbp,%rax,1)
jmp    1298 <main+0x168>
movslq -0x28(%rbp),%rax
movb   $0x0,-0x1c(%rbp,%rax,1)
jmp    129d <main+0x16d>
mov    -0x28(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x28(%rbp)
jmp    1250 <main+0x120>
movl   $0x0,-0x2c(%rbp)
movl   $0xb,-0x28(%rbp)
cmpl   $0x0,-0x28(%rbp)
je     130f <main+0x1df>
movslq -0x28(%rbp),%rax
movsbl -0x10(%rbp,%rax,1),%eax
movslq -0x28(%rbp),%rcx
movsbl -0x1c(%rbp,%rcx,1),%ecx
add    %ecx,%eax
cmp    $0x9,%eax
jle    12fc <main+0x1cc>
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x28(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x10(%rbp,%rax,1),%cl
add    $0x1,%cl
mov    %cl,-0x10(%rbp,%rax,1)
jmp    1301 <main+0x1d1>
mov    -0x28(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x28(%rbp)
jmp    12b9 <main+0x189>
cmpl   $0x0,-0x2c(%rbp)
je     132f <main+0x1ff>
mov    -0x2c(%rbp),%esi
lea    0xce4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    133d <main+0x20d>
lea    0xcd4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
cmpl   $0x1,-0x2c(%rbp)
jle    135a <main+0x22a>
lea    0xcbf(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1368 <main+0x238>
lea    0xcc0(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    113f <main+0xf>
xor    %eax,%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x18,%rsp
lea    0xebb(%rip),%rdi
mov    %rsp,%r14
lea    0xc(%rsp),%r12
mov    %r14,%rsi
mov    %r12,%rdx
call   1050 <scanf@plt>
cmp    $0xffffffff,%eax
je     1967 <main+0x837>
movabs $0x7ffffff4ffffffff,%r13
ff ff 7f
movabs $0xc00000000,%rdi
movabs $0xa00000000,%rbx
movabs $0x900000000,%rbp
movabs $0x800000000,%r8
movabs $0x700000000,%r9
movabs $0x600000000,%r10
movabs $0x500000000,%r11
movabs $0x100000000,%r15
jmp    1245 <main+0x115>
lea    0xe43(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
movabs $0x7ffffff4ffffffff,%r13
ff ff 7f
lea    0xe2e(%rip),%rdi
call   1030 <puts@plt>
lea    0xe15(%rip),%rdi
mov    %r14,%rsi
mov    %r12,%rdx
call   1050 <scanf@plt>
cmp    $0xffffffff,%eax
movabs $0xc00000000,%rdi
movabs $0xa00000000,%rbx
movabs $0x900000000,%rbp
movabs $0x800000000,%r8
movabs $0x700000000,%r9
movabs $0x600000000,%r10
movabs $0x500000000,%r11
je     1967 <main+0x837>
cmpw   $0x30,(%rsp)
jne    1258 <main+0x128>
cmpw   $0x30,0xc(%rsp)
je     1967 <main+0x837>
mov    %r14,%rax
xor    %ecx,%ecx
nopl   (%rax)
add    %r15,%rcx
cmpb   $0x0,(%rax)
lea    0x1(%rax),%rax
jne    1260 <main+0x130>
mov    %r12,%rdx
xor    %eax,%eax
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
add    %r15,%rax
cmpb   $0x0,(%rdx)
lea    0x1(%rdx),%rdx
jne    1280 <main+0x150>
mov    %r15,%rsi
sub    %rcx,%rsi
mov    %rdi,%rdx
sub    %rcx,%rdx
cmp    %r13,%rsi
jbe    12c0 <main+0x190>
movabs $0xfffffffe00000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    12c2 <main+0x192>
nopl   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0xb(%rsp)
cmp    %rbx,%rdx
jge    12f0 <main+0x1c0>
movabs $0xfffffffd00000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    12f2 <main+0x1c2>
nopw   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0xa(%rsp)
cmp    %rbp,%rdx
jge    1320 <main+0x1f0>
movabs $0xfffffffc00000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    1322 <main+0x1f2>
nopw   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x9(%rsp)
cmp    %r8,%rdx
jge    1350 <main+0x220>
movabs $0xfffffffb00000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    1352 <main+0x222>
nopw   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x8(%rsp)
cmp    %r9,%rdx
jge    1380 <main+0x250>
movabs $0xfffffffa00000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    1382 <main+0x252>
nopw   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x7(%rsp)
cmp    %r10,%rdx
jge    13b0 <main+0x280>
movabs $0xfffffff900000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    13b2 <main+0x282>
nopw   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x6(%rsp)
cmp    %r11,%rdx
jge    13e0 <main+0x2b0>
movabs $0xfffffff800000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    13e2 <main+0x2b2>
nopw   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x5(%rsp)
movabs $0x400000000,%rsi
cmp    %rsi,%rdx
jge    1420 <main+0x2f0>
movabs $0xfffffff700000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    1422 <main+0x2f2>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x4(%rsp)
movabs $0x300000000,%rsi
cmp    %rsi,%rdx
jge    1460 <main+0x330>
movabs $0xfffffff600000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    1462 <main+0x332>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x3(%rsp)
movabs $0x200000000,%rsi
cmp    %rsi,%rdx
jge    14a0 <main+0x370>
movabs $0xfffffff500000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    14a2 <main+0x372>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
xor    %esi,%esi
mov    %sil,0x2(%rsp)
mov    $0xffffffff,%esi
cmp    %rsi,%rdx
jg     14d0 <main+0x3a0>
movabs $0xfffffff400000000,%rsi
ff ff ff
add    %rcx,%rsi
sar    $0x20,%rsi
mov    (%rsp,%rsi,1),%sil
add    $0xd0,%sil
jmp    14d2 <main+0x3a2>
nopl   0x0(%rax)
xor    %esi,%esi
mov    %sil,0x1(%rsp)
test   %rdx,%rdx
js     14e0 <main+0x3b0>
xor    %ecx,%ecx
jmp    14f7 <main+0x3c7>
movabs $0xfffffff300000000,%rdx
ff ff ff
add    %rdx,%rcx
sar    $0x20,%rcx
mov    (%rsp,%rcx,1),%cl
add    $0xd0,%cl
mov    %cl,(%rsp)
mov    %r15,%rdx
sub    %rax,%rdx
mov    %rdi,%rcx
sub    %rax,%rcx
cmp    %r13,%rdx
jbe    1530 <main+0x400>
movabs $0xfffffffe00000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1532 <main+0x402>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x17(%rsp)
cmp    %rbx,%rcx
jge    1560 <main+0x430>
movabs $0xfffffffd00000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1562 <main+0x432>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x16(%rsp)
cmp    %rbp,%rcx
jge    1590 <main+0x460>
movabs $0xfffffffc00000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1592 <main+0x462>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x15(%rsp)
cmp    %r8,%rcx
jge    15c0 <main+0x490>
movabs $0xfffffffb00000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    15c2 <main+0x492>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x14(%rsp)
cmp    %r9,%rcx
jge    15f0 <main+0x4c0>
movabs $0xfffffffa00000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    15f2 <main+0x4c2>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x13(%rsp)
cmp    %r10,%rcx
jge    1620 <main+0x4f0>
movabs $0xfffffff900000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1622 <main+0x4f2>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x12(%rsp)
cmp    %r11,%rcx
jge    1650 <main+0x520>
movabs $0xfffffff800000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1652 <main+0x522>
cs nopw 0x0(%rax,%rax,1)
nop
xor    %edx,%edx
mov    %dl,0x11(%rsp)
movabs $0x400000000,%rdx
cmp    %rdx,%rcx
jge    1680 <main+0x550>
movabs $0xfffffff700000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1682 <main+0x552>
nop
xor    %edx,%edx
mov    %dl,0x10(%rsp)
movabs $0x300000000,%rdx
cmp    %rdx,%rcx
jge    16b0 <main+0x580>
movabs $0xfffffff600000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    16b2 <main+0x582>
nop
xor    %edx,%edx
mov    %dl,0xf(%rsp)
movabs $0x200000000,%rdx
cmp    %rdx,%rcx
jge    16e0 <main+0x5b0>
movabs $0xfffffff500000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    16e2 <main+0x5b2>
nop
xor    %edx,%edx
mov    %dl,0xe(%rsp)
mov    $0xffffffff,%edx
cmp    %rdx,%rcx
jg     1710 <main+0x5e0>
movabs $0xfffffff400000000,%rdx
ff ff ff
add    %rax,%rdx
sar    $0x20,%rdx
mov    0xc(%rsp,%rdx,1),%dl
add    $0xd0,%dl
jmp    1712 <main+0x5e2>
nopw   0x0(%rax,%rax,1)
xor    %edx,%edx
mov    %dl,0xd(%rsp)
test   %rcx,%rcx
js     1720 <main+0x5f0>
xor    %eax,%eax
jmp    1737 <main+0x607>
nop
movabs $0xfffffff300000000,%rcx
ff ff ff
add    %rcx,%rax
sar    $0x20,%rax
mov    0xc(%rsp,%rax,1),%al
add    $0xd0,%al
mov    %al,0xc(%rsp)
movsbl 0xb(%rsp),%eax
movsbl 0x17(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    1760 <main+0x630>
mov    0xa(%rsp),%al
add    $0x1,%al
mov    %al,0xa(%rsp)
mov    $0x1,%ebp
jmp    1766 <main+0x636>
nopl   (%rax)
xor    %ebp,%ebp
mov    0xa(%rsp),%al
movsbl %al,%eax
movsbl 0x16(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    1790 <main+0x660>
add    $0x1,%ebp
mov    0x9(%rsp),%al
add    $0x1,%al
mov    %al,0x9(%rsp)
jmp    1794 <main+0x664>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    0x9(%rsp),%al
movsbl %al,%eax
movsbl 0x15(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    17c0 <main+0x690>
add    $0x1,%ebp
mov    0x8(%rsp),%al
add    $0x1,%al
mov    %al,0x8(%rsp)
jmp    17c4 <main+0x694>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x8(%rsp),%al
movsbl %al,%eax
movsbl 0x14(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    17f0 <main+0x6c0>
add    $0x1,%ebp
mov    0x7(%rsp),%al
add    $0x1,%al
mov    %al,0x7(%rsp)
jmp    17f4 <main+0x6c4>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x7(%rsp),%al
movsbl %al,%eax
movsbl 0x13(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    1820 <main+0x6f0>
add    $0x1,%ebp
mov    0x6(%rsp),%al
add    $0x1,%al
mov    %al,0x6(%rsp)
jmp    1824 <main+0x6f4>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x6(%rsp),%al
movsbl %al,%eax
movsbl 0x12(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    1850 <main+0x720>
add    $0x1,%ebp
mov    0x5(%rsp),%al
add    $0x1,%al
mov    %al,0x5(%rsp)
jmp    1854 <main+0x724>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x5(%rsp),%al
movsbl %al,%eax
movsbl 0x11(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    1880 <main+0x750>
add    $0x1,%ebp
mov    0x4(%rsp),%al
add    $0x1,%al
mov    %al,0x4(%rsp)
jmp    1884 <main+0x754>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x4(%rsp),%al
movsbl %al,%eax
movsbl 0x10(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    18b0 <main+0x780>
add    $0x1,%ebp
mov    0x3(%rsp),%al
add    $0x1,%al
mov    %al,0x3(%rsp)
jmp    18b4 <main+0x784>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x3(%rsp),%al
movsbl %al,%eax
movsbl 0xf(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    18e0 <main+0x7b0>
add    $0x1,%ebp
mov    0x2(%rsp),%al
add    $0x1,%al
mov    %al,0x2(%rsp)
jmp    18e4 <main+0x7b4>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x2(%rsp),%al
movsbl %al,%eax
movsbl 0xe(%rsp),%ecx
add    %eax,%ecx
cmp    $0x9,%ecx
jle    1910 <main+0x7e0>
add    $0x1,%ebp
mov    0x1(%rsp),%al
add    $0x1,%al
mov    %al,0x1(%rsp)
jmp    1914 <main+0x7e4>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    0x1(%rsp),%al
movsbl %al,%eax
movsbl 0xd(%rsp),%ecx
add    %eax,%ecx
cmp    $0xa,%ecx
jl     1930 <main+0x800>
add    $0x1,%ebp
addb   $0x1,(%rsp)
jmp    1938 <main+0x808>
nopl   0x0(%rax)
test   %ebp,%ebp
je     11c0 <main+0x90>
lea    0x6c8(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x6d0(%rip),%rdi
cmp    $0x1,%ebp
movabs $0x7ffffff4ffffffff,%r13
ff ff 7f
jbe    11d8 <main+0xa8>
jmp    11df <main+0xaf>
xor    %eax,%eax
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [5 x i8] c"%s%s\00"
@.str.1 = [2 x i8] c"0\00"
@.str.2 = [3 x i8] c"%d\00"
@.str.3 = [3 x i8] c"No\00"
@.str.4 = [20 x i8] c" carry operations.\0A\00"
@.str.5 = [19 x i8] c" carry operation.\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca [12 x i8]
%3 = alloca [12 x i8]
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
store i32 0, i32* %1
br label %8
8: ; preds = %151, %0
%9 = bitcast [12 x i8]* %2 to i8**
%10 = bitcast [12 x i8]* %3 to i8**
%11 = call i32 @scanf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8** %9, i8** %10)
%12 = icmp ne i32 %11, -1
br i1 %12, label %13, label %152
13: ; preds = %8
%14 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 0
%15 = call i32 @strcmp(i8* %14, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%16 = icmp ne i32 %15, 0
br i1 %16, label %22, label %17
17: ; preds = %13
%18 = getelementptr inbounds [12 x i8], [12 x i8]* %3, i64 0, i64 0
%19 = call i32 @strcmp(i8* %18, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%20 = icmp ne i32 %19, 0
br i1 %20, label %22, label %21
21: ; preds = %17
br label %152
22: ; preds = %17, %13
store i32 0, i32* %6
br label %23
23: ; preds = %29, %22
%24 = load i32, i32* %6
%25 = sext i32 %24 to i64
%26 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %25
%27 = load i8, i8* %26
%28 = icmp ne i8 %27, 0
br i1 %28, label %29, label %32
29: ; preds = %23
%30 = load i32, i32* %6
%31 = add nsw i32 %30, 1
store i32 %31, i32* %6
br label %23
32: ; preds = %23
%33 = load i32, i32* %6
store i32 %33, i32* %4
store i32 0, i32* %6
br label %34
34: ; preds = %40, %32
%35 = load i32, i32* %6
%36 = sext i32 %35 to i64
%37 = getelementptr inbounds [12 x i8], [12 x i8]* %3, i64 0, i64 %36
%38 = load i8, i8* %37
%39 = icmp ne i8 %38, 0
br i1 %39, label %40, label %43
40: ; preds = %34
%41 = load i32, i32* %6
%42 = add nsw i32 %41, 1
store i32 %42, i32* %6
br label %34
43: ; preds = %34
%44 = load i32, i32* %6
store i32 %44, i32* %5
store i32 11, i32* %6
br label %45
45: ; preds = %72, %43
%46 = load i32, i32* %6
%47 = icmp sge i32 %46, 0
br i1 %47, label %48, label %75
48: ; preds = %45
%49 = load i32, i32* %6
%50 = load i32, i32* %4
%51 = sub nsw i32 11, %50
%52 = icmp sgt i32 %49, %51
br i1 %52, label %53, label %67
53: ; preds = %48
%54 = load i32, i32* %4
%55 = load i32, i32* %6
%56 = add nsw i32 %54, %55
%57 = sub nsw i32 %56, 12
%58 = sext i32 %57 to i64
%59 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %58
%60 = load i8, i8* %59
%61 = sext i8 %60 to i32
%62 = sub nsw i32 %61, 48
%63 = trunc i32 %62 to i8
%64 = load i32, i32* %6
%65 = sext i32 %64 to i64
%66 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %65
store i8 %63, i8* %66
br label %71
67: ; preds = %48
%68 = load i32, i32* %6
%69 = sext i32 %68 to i64
%70 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %69
store i8 0, i8* %70
br label %71
71: ; preds = %67, %53
br label %72
72: ; preds = %71
%73 = load i32, i32* %6
%74 = add nsw i32 %73, -1
store i32 %74, i32* %6
br label %45
75: ; preds = %45
store i32 11, i32* %6
br label %76
76: ; preds = %103, %75
%77 = load i32, i32* %6
%78 = icmp sge i32 %77, 0
br i1 %78, label %79, label %106
79: ; preds = %76
%80 = load i32, i32* %6
%81 = load i32, i32* %5
%82 = sub nsw i32 11, %81
%83 = icmp sgt i32 %80, %82
br i1 %83, label %84, label %98
84: ; preds = %79
%85 = load i32, i32* %5
%86 = load i32, i32* %6
%87 = add nsw i32 %85, %86
%88 = sub nsw i32 %87, 12
%89 = sext i32 %88 to i64
%90 = getelementptr inbounds [12 x i8], [12 x i8]* %3, i64 0, i64 %89
%91 = load i8, i8* %90
%92 = sext i8 %91 to i32
%93 = sub nsw i32 %92, 48
%94 = trunc i32 %93 to i8
%95 = load i32, i32* %6
%96 = sext i32 %95 to i64
%97 = getelementptr inbounds [12 x i8], [12 x i8]* %3, i64 0, i64 %96
store i8 %94, i8* %97
br label %102
98: ; preds = %79
%99 = load i32, i32* %6
%100 = sext i32 %99 to i64
%101 = getelementptr inbounds [12 x i8], [12 x i8]* %3, i64 0, i64 %100
store i8 0, i8* %101
br label %102
102: ; preds = %98, %84
br label %103
103: ; preds = %102
%104 = load i32, i32* %6
%105 = add nsw i32 %104, -1
store i32 %105, i32* %6
br label %76
106: ; preds = %76
store i32 0, i32* %7
store i32 11, i32* %6
br label %107
107: ; preds = %133, %106
%108 = load i32, i32* %6
%109 = icmp ne i32 %108, 0
br i1 %109, label %110, label %136
110: ; preds = %107
%111 = load i32, i32* %6
%112 = sext i32 %111 to i64
%113 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %112
%114 = load i8, i8* %113
%115 = sext i8 %114 to i32
%116 = load i32, i32* %6
%117 = sext i32 %116 to i64
%118 = getelementptr inbounds [12 x i8], [12 x i8]* %3, i64 0, i64 %117
%119 = load i8, i8* %118
%120 = sext i8 %119 to i32
%121 = add nsw i32 %115, %120
%122 = icmp sgt i32 %121, 9
br i1 %122, label %123, label %132
123: ; preds = %110
%124 = load i32, i32* %7
%125 = add nsw i32 %124, 1
store i32 %125, i32* %7
%126 = load i32, i32* %6
%127 = sub nsw i32 %126, 1
%128 = sext i32 %127 to i64
%129 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %128
%130 = load i8, i8* %129
%131 = add i8 %130, 1
store i8 %131, i8* %129
br label %132
132: ; preds = %123, %110
br label %133
133: ; preds = %132
%134 = load i32, i32* %6
%135 = add nsw i32 %134, -1
store i32 %135, i32* %6
br label %107
136: ; preds = %107
%137 = load i32, i32* %7
%138 = icmp ne i32 %137, 0
br i1 %138, label %139, label %142
139: ; preds = %136
%140 = load i32, i32* %7
%141 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i32 %140)
br label %144
142: ; preds = %136
%143 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0))
br label %144
144: ; preds = %142, %139
%145 = load i32, i32* %7
%146 = icmp sgt i32 %145, 1
br i1 %146, label %147, label %149
147: ; preds = %144
%148 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4, i64 0, i64 0))
br label %151
149: ; preds = %144
%150 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.5, i64 0, i64 0))
br label %151
151: ; preds = %149, %147
br label %8
152: ; preds = %21, %8
ret i32 0
}

LLVM IR (-O2):
@.str = [5 x i8] c"%s%s\00"
@.str.1 = [2 x i8] c"0\00"
@.str.2 = [3 x i8] c"%d\00"
@.str.3 = [3 x i8] c"No\00"
@str = [18 x i8] c" carry operation.\00"
@str.6 = [19 x i8] c" carry operations.\00"
define i32 @main() {
%1 = alloca [12 x i8]
%2 = alloca [12 x i8]
%3 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 0
%4 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 0
%5 = bitcast [12 x i8]* %1 to i8**
%6 = bitcast [12 x i8]* %2 to i8**
%7 = call i32 @scanf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8** %5, i8** %6)
%8 = icmp eq i32 %7, -1
br i1 %8, label %493, label %9
9: ; preds = %0
%10 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 11
%11 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 11
%12 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 10
%13 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 10
%14 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 10
%15 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 9
%16 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 9
%17 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 9
%18 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 8
%19 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 8
%20 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 8
%21 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 7
%22 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 7
%23 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 7
%24 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 6
%25 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 6
%26 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 6
%27 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 5
%28 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 5
%29 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 5
%30 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 4
%31 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 4
%32 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 4
%33 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 3
%34 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 3
%35 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 3
%36 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 2
%37 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 2
%38 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 2
%39 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 1
%40 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 1
%41 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 1
%42 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 11
%43 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 10
%44 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 9
%45 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 8
%46 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 7
%47 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 6
%48 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 5
%49 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 4
%50 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 3
%51 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 2
%52 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 1
%53 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 0
%54 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 11
%55 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 10
%56 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 9
%57 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 8
%58 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 7
%59 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 6
%60 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 5
%61 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 4
%62 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 3
%63 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 2
%64 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 1
%65 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 0
br label %66
66: ; preds = %9, %488
%67 = call i32 @bcmp(i8* dereferenceable(2) %3, i8* dereferenceable(2) getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i64 2)
%68 = icmp eq i32 %67, 0
br i1 %68, label %69, label %72
69: ; preds = %66
%70 = call i32 @bcmp(i8* dereferenceable(2) %4, i8* dereferenceable(2) getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i64 2)
%71 = icmp eq i32 %70, 0
br i1 %71, label %493, label %72
72: ; preds = %69, %66
br label %73
73: ; preds = %72, %73
%74 = phi i64 [ %78, %73 ], [ 0, %72 ]
%75 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %74
%76 = load i8, i8* %75
%77 = icmp eq i8 %76, 0
%78 = add nuw i64 %74, 1
br i1 %77, label %79, label %73
79: ; preds = %73, %79
%80 = phi i64 [ %84, %79 ], [ 0, %73 ]
%81 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %80
%82 = load i8, i8* %81
%83 = icmp eq i8 %82, 0
%84 = add nuw i64 %80, 1
br i1 %83, label %85, label %79
85: ; preds = %79
%86 = mul i64 %74, -4294967296
%87 = add i64 %86, 47244640256
%88 = icmp ugt i64 %86, 9223371989610135551
br i1 %88, label %89, label %96
89: ; preds = %85
%90 = shl i64 %74, 32
%91 = add i64 %90, -4294967296
%92 = ashr exact i64 %91, 32
%93 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %92
%94 = load i8, i8* %93
%95 = add i8 %94, -48
br label %96
96: ; preds = %85, %89
%97 = phi i8 [ %95, %89 ], [ 0, %85 ]
store i8 %97, i8* %42
%98 = icmp slt i64 %87, 42949672960
br i1 %98, label %99, label %106
99: ; preds = %96
%100 = shl i64 %74, 32
%101 = add i64 %100, -8589934592
%102 = ashr exact i64 %101, 32
%103 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %102
%104 = load i8, i8* %103
%105 = add i8 %104, -48
br label %106
106: ; preds = %99, %96
%107 = phi i8 [ %105, %99 ], [ 0, %96 ]
store i8 %107, i8* %43
%108 = icmp slt i64 %87, 38654705664
br i1 %108, label %109, label %116
109: ; preds = %106
%110 = shl i64 %74, 32
%111 = add i64 %110, -12884901888
%112 = ashr exact i64 %111, 32
%113 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %112
%114 = load i8, i8* %113
%115 = add i8 %114, -48
br label %116
116: ; preds = %109, %106
%117 = phi i8 [ %115, %109 ], [ 0, %106 ]
store i8 %117, i8* %44
%118 = icmp slt i64 %87, 34359738368
br i1 %118, label %119, label %126
119: ; preds = %116
%120 = shl i64 %74, 32
%121 = add i64 %120, -17179869184
%122 = ashr exact i64 %121, 32
%123 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %122
%124 = load i8, i8* %123
%125 = add i8 %124, -48
br label %126
126: ; preds = %119, %116
%127 = phi i8 [ %125, %119 ], [ 0, %116 ]
store i8 %127, i8* %45
%128 = icmp slt i64 %87, 30064771072
br i1 %128, label %129, label %136
129: ; preds = %126
%130 = shl i64 %74, 32
%131 = add i64 %130, -21474836480
%132 = ashr exact i64 %131, 32
%133 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %132
%134 = load i8, i8* %133
%135 = add i8 %134, -48
br label %136
136: ; preds = %129, %126
%137 = phi i8 [ %135, %129 ], [ 0, %126 ]
store i8 %137, i8* %46
%138 = icmp slt i64 %87, 25769803776
br i1 %138, label %139, label %146
139: ; preds = %136
%140 = shl i64 %74, 32
%141 = add i64 %140, -25769803776
%142 = ashr exact i64 %141, 32
%143 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %142
%144 = load i8, i8* %143
%145 = add i8 %144, -48
br label %146
146: ; preds = %139, %136
%147 = phi i8 [ %145, %139 ], [ 0, %136 ]
store i8 %147, i8* %47
%148 = icmp slt i64 %87, 21474836480
br i1 %148, label %149, label %156
149: ; preds = %146
%150 = shl i64 %74, 32
%151 = add i64 %150, -30064771072
%152 = ashr exact i64 %151, 32
%153 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %152
%154 = load i8, i8* %153
%155 = add i8 %154, -48
br label %156
156: ; preds = %149, %146
%157 = phi i8 [ %155, %149 ], [ 0, %146 ]
store i8 %157, i8* %48
%158 = icmp slt i64 %87, 17179869184
br i1 %158, label %159, label %166
159: ; preds = %156
%160 = shl i64 %74, 32
%161 = add i64 %160, -34359738368
%162 = ashr exact i64 %161, 32
%163 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %162
%164 = load i8, i8* %163
%165 = add i8 %164, -48
br label %166
166: ; preds = %159, %156
%167 = phi i8 [ %165, %159 ], [ 0, %156 ]
store i8 %167, i8* %49
%168 = icmp slt i64 %87, 12884901888
br i1 %168, label %169, label %176
169: ; preds = %166
%170 = shl i64 %74, 32
%171 = add i64 %170, -38654705664
%172 = ashr exact i64 %171, 32
%173 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %172
%174 = load i8, i8* %173
%175 = add i8 %174, -48
br label %176
176: ; preds = %169, %166
%177 = phi i8 [ %175, %169 ], [ 0, %166 ]
store i8 %177, i8* %50
%178 = icmp slt i64 %87, 8589934592
br i1 %178, label %179, label %186
179: ; preds = %176
%180 = shl i64 %74, 32
%181 = add i64 %180, -42949672960
%182 = ashr exact i64 %181, 32
%183 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %182
%184 = load i8, i8* %183
%185 = add i8 %184, -48
br label %186
186: ; preds = %179, %176
%187 = phi i8 [ %185, %179 ], [ 0, %176 ]
store i8 %187, i8* %51
%188 = icmp slt i64 %87, 4294967296
br i1 %188, label %189, label %196
189: ; preds = %186
%190 = shl i64 %74, 32
%191 = add i64 %190, -47244640256
%192 = ashr exact i64 %191, 32
%193 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %192
%194 = load i8, i8* %193
%195 = add i8 %194, -48
br label %196
196: ; preds = %189, %186
%197 = phi i8 [ %195, %189 ], [ 0, %186 ]
store i8 %197, i8* %52
%198 = icmp slt i64 %87, 0
br i1 %198, label %199, label %206
199: ; preds = %196
%200 = shl i64 %74, 32
%201 = add i64 %200, -51539607552
%202 = ashr exact i64 %201, 32
%203 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i64 0, i64 %202
%204 = load i8, i8* %203
%205 = add i8 %204, -48
br label %206
206: ; preds = %199, %196
%207 = phi i8 [ %205, %199 ], [ 0, %196 ]
store i8 %207, i8* %53
%208 = mul i64 %80, -4294967296
%209 = add i64 %208, 47244640256
%210 = icmp ugt i64 %208, 9223371989610135551
br i1 %210, label %211, label %218
211: ; preds = %206
%212 = shl i64 %80, 32
%213 = add i64 %212, -4294967296
%214 = ashr exact i64 %213, 32
%215 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %214
%216 = load i8, i8* %215
%217 = add i8 %216, -48
br label %218
218: ; preds = %206, %211
%219 = phi i8 [ %217, %211 ], [ 0, %206 ]
store i8 %219, i8* %54
%220 = icmp slt i64 %209, 42949672960
br i1 %220, label %221, label %228
221: ; preds = %218
%222 = shl i64 %80, 32
%223 = add i64 %222, -8589934592
%224 = ashr exact i64 %223, 32
%225 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %224
%226 = load i8, i8* %225
%227 = add i8 %226, -48
br label %228
228: ; preds = %221, %218
%229 = phi i8 [ %227, %221 ], [ 0, %218 ]
store i8 %229, i8* %55
%230 = icmp slt i64 %209, 38654705664
br i1 %230, label %231, label %238
231: ; preds = %228
%232 = shl i64 %80, 32
%233 = add i64 %232, -12884901888
%234 = ashr exact i64 %233, 32
%235 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %234
%236 = load i8, i8* %235
%237 = add i8 %236, -48
br label %238
238: ; preds = %231, %228
%239 = phi i8 [ %237, %231 ], [ 0, %228 ]
store i8 %239, i8* %56
%240 = icmp slt i64 %209, 34359738368
br i1 %240, label %241, label %248
241: ; preds = %238
%242 = shl i64 %80, 32
%243 = add i64 %242, -17179869184
%244 = ashr exact i64 %243, 32
%245 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %244
%246 = load i8, i8* %245
%247 = add i8 %246, -48
br label %248
248: ; preds = %241, %238
%249 = phi i8 [ %247, %241 ], [ 0, %238 ]
store i8 %249, i8* %57
%250 = icmp slt i64 %209, 30064771072
br i1 %250, label %251, label %258
251: ; preds = %248
%252 = shl i64 %80, 32
%253 = add i64 %252, -21474836480
%254 = ashr exact i64 %253, 32
%255 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %254
%256 = load i8, i8* %255
%257 = add i8 %256, -48
br label %258
258: ; preds = %251, %248
%259 = phi i8 [ %257, %251 ], [ 0, %248 ]
store i8 %259, i8* %58
%260 = icmp slt i64 %209, 25769803776
br i1 %260, label %261, label %268
261: ; preds = %258
%262 = shl i64 %80, 32
%263 = add i64 %262, -25769803776
%264 = ashr exact i64 %263, 32
%265 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %264
%266 = load i8, i8* %265
%267 = add i8 %266, -48
br label %268
268: ; preds = %261, %258
%269 = phi i8 [ %267, %261 ], [ 0, %258 ]
store i8 %269, i8* %59
%270 = icmp slt i64 %209, 21474836480
br i1 %270, label %271, label %278
271: ; preds = %268
%272 = shl i64 %80, 32
%273 = add i64 %272, -30064771072
%274 = ashr exact i64 %273, 32
%275 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %274
%276 = load i8, i8* %275
%277 = add i8 %276, -48
br label %278
278: ; preds = %271, %268
%279 = phi i8 [ %277, %271 ], [ 0, %268 ]
store i8 %279, i8* %60
%280 = icmp slt i64 %209, 17179869184
br i1 %280, label %281, label %288
281: ; preds = %278
%282 = shl i64 %80, 32
%283 = add i64 %282, -34359738368
%284 = ashr exact i64 %283, 32
%285 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %284
%286 = load i8, i8* %285
%287 = add i8 %286, -48
br label %288
288: ; preds = %281, %278
%289 = phi i8 [ %287, %281 ], [ 0, %278 ]
store i8 %289, i8* %61
%290 = icmp slt i64 %209, 12884901888
br i1 %290, label %291, label %298
291: ; preds = %288
%292 = shl i64 %80, 32
%293 = add i64 %292, -38654705664
%294 = ashr exact i64 %293, 32
%295 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %294
%296 = load i8, i8* %295
%297 = add i8 %296, -48
br label %298
298: ; preds = %291, %288
%299 = phi i8 [ %297, %291 ], [ 0, %288 ]
store i8 %299, i8* %62
%300 = icmp slt i64 %209, 8589934592
br i1 %300, label %301, label %308
301: ; preds = %298
%302 = shl i64 %80, 32
%303 = add i64 %302, -42949672960
%304 = ashr exact i64 %303, 32
%305 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %304
%306 = load i8, i8* %305
%307 = add i8 %306, -48
br label %308
308: ; preds = %301, %298
%309 = phi i8 [ %307, %301 ], [ 0, %298 ]
store i8 %309, i8* %63
%310 = icmp slt i64 %209, 4294967296
br i1 %310, label %311, label %318
311: ; preds = %308
%312 = shl i64 %80, 32
%313 = add i64 %312, -47244640256
%314 = ashr exact i64 %313, 32
%315 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %314
%316 = load i8, i8* %315
%317 = add i8 %316, -48
br label %318
318: ; preds = %311, %308
%319 = phi i8 [ %317, %311 ], [ 0, %308 ]
store i8 %319, i8* %64
%320 = icmp slt i64 %209, 0
br i1 %320, label %321, label %328
321: ; preds = %318
%322 = shl i64 %80, 32
%323 = add i64 %322, -51539607552
%324 = ashr exact i64 %323, 32
%325 = getelementptr inbounds [12 x i8], [12 x i8]* %2, i64 0, i64 %324
%326 = load i8, i8* %325
%327 = add i8 %326, -48
br label %328
328: ; preds = %321, %318
%329 = phi i8 [ %327, %321 ], [ 0, %318 ]
store i8 %329, i8* %65
%330 = load i8, i8* %10
%331 = sext i8 %330 to i32
%332 = load i8, i8* %11
%333 = sext i8 %332 to i32
%334 = add nsw i32 %333, %331
%335 = icmp sgt i32 %334, 9
br i1 %335, label %338, label %336
336: ; preds = %328
%337 = load i8, i8* %12
br label %341
338: ; preds = %328
%339 = load i8, i8* %13
%340 = add i8 %339, 1
store i8 %340, i8* %13
br label %341
341: ; preds = %336, %338
%342 = phi i8 [ %340, %338 ], [ %337, %336 ]
%343 = phi i32 [ 1, %338 ], [ 0, %336 ]
%344 = sext i8 %342 to i32
%345 = load i8, i8* %14
%346 = sext i8 %345 to i32
%347 = add nsw i32 %346, %344
%348 = icmp sgt i32 %347, 9
br i1 %348, label %351, label %349
349: ; preds = %341
%350 = load i8, i8* %15
br label %355
351: ; preds = %341
%352 = add nuw nsw i32 %343, 1
%353 = load i8, i8* %16
%354 = add i8 %353, 1
store i8 %354, i8* %16
br label %355
355: ; preds = %349, %351
%356 = phi i8 [ %354, %351 ], [ %350, %349 ]
%357 = phi i32 [ %352, %351 ], [ %343, %349 ]
%358 = sext i8 %356 to i32
%359 = load i8, i8* %17
%360 = sext i8 %359 to i32
%361 = add nsw i32 %360, %358
%362 = icmp sgt i32 %361, 9
br i1 %362, label %365, label %363
363: ; preds = %355
%364 = load i8, i8* %18
br label %369
365: ; preds = %355
%366 = add nuw nsw i32 %357, 1
%367 = load i8, i8* %19
%368 = add i8 %367, 1
store i8 %368, i8* %19
br label %369
369: ; preds = %363, %365
%370 = phi i8 [ %368, %365 ], [ %364, %363 ]
%371 = phi i32 [ %366, %365 ], [ %357, %363 ]
%372 = sext i8 %370 to i32
%373 = load i8, i8* %20
%374 = sext i8 %373 to i32
%375 = add nsw i32 %374, %372
%376 = icmp sgt i32 %375, 9
br i1 %376, label %379, label %377
377: ; preds = %369
%378 = load i8, i8* %21
br label %383
379: ; preds = %369
%380 = add nuw nsw i32 %371, 1
%381 = load i8, i8* %22
%382 = add i8 %381, 1
store i8 %382, i8* %22
br label %383
383: ; preds = %377, %379
%384 = phi i8 [ %382, %379 ], [ %378, %377 ]
%385 = phi i32 [ %380, %379 ], [ %371, %377 ]
%386 = sext i8 %384 to i32
%387 = load i8, i8* %23
%388 = sext i8 %387 to i32
%389 = add nsw i32 %388, %386
%390 = icmp sgt i32 %389, 9
br i1 %390, label %393, label %391
391: ; preds = %383
%392 = load i8, i8* %24
br label %397
393: ; preds = %383
%394 = add nuw nsw i32 %385, 1
%395 = load i8, i8* %25
%396 = add i8 %395, 1
store i8 %396, i8* %25
br label %397
397: ; preds = %391, %393
%398 = phi i8 [ %396, %393 ], [ %392, %391 ]
%399 = phi i32 [ %394, %393 ], [ %385, %391 ]
%400 = sext i8 %398 to i32
%401 = load i8, i8* %26
%402 = sext i8 %401 to i32
%403 = add nsw i32 %402, %400
%404 = icmp sgt i32 %403, 9
br i1 %404, label %407, label %405
405: ; preds = %397
%406 = load i8, i8* %27
br label %411
407: ; preds = %397
%408 = add nuw nsw i32 %399, 1
%409 = load i8, i8* %28
%410 = add i8 %409, 1
store i8 %410, i8* %28
br label %411
411: ; preds = %405, %407
%412 = phi i8 [ %410, %407 ], [ %406, %405 ]
%413 = phi i32 [ %408, %407 ], [ %399, %405 ]
%414 = sext i8 %412 to i32
%415 = load i8, i8* %29
%416 = sext i8 %415 to i32
%417 = add nsw i32 %416, %414
%418 = icmp sgt i32 %417, 9
br i1 %418, label %421, label %419
419: ; preds = %411
%420 = load i8, i8* %30
br label %425
421: ; preds = %411
%422 = add nuw nsw i32 %413, 1
%423 = load i8, i8* %31
%424 = add i8 %423, 1
store i8 %424, i8* %31
br label %425
425: ; preds = %419, %421
%426 = phi i8 [ %424, %421 ], [ %420, %419 ]
%427 = phi i32 [ %422, %421 ], [ %413, %419 ]
%428 = sext i8 %426 to i32
%429 = load i8, i8* %32
%430 = sext i8 %429 to i32
%431 = add nsw i32 %430, %428
%432 = icmp sgt i32 %431, 9
br i1 %432, label %435, label %433
433: ; preds = %425
%434 = load i8, i8* %33
br label %439
435: ; preds = %425
%436 = add nuw nsw i32 %427, 1
%437 = load i8, i8* %34
%438 = add i8 %437, 1
store i8 %438, i8* %34
br label %439
439: ; preds = %433, %435
%440 = phi i8 [ %438, %435 ], [ %434, %433 ]
%441 = phi i32 [ %436, %435 ], [ %427, %433 ]
%442 = sext i8 %440 to i32
%443 = load i8, i8* %35
%444 = sext i8 %443 to i32
%445 = add nsw i32 %444, %442
%446 = icmp sgt i32 %445, 9
br i1 %446, label %449, label %447
447: ; preds = %439
%448 = load i8, i8* %36
br label %453
449: ; preds = %439
%450 = add nuw nsw i32 %441, 1
%451 = load i8, i8* %37
%452 = add i8 %451, 1
store i8 %452, i8* %37
br label %453
453: ; preds = %447, %449
%454 = phi i8 [ %452, %449 ], [ %448, %447 ]
%455 = phi i32 [ %450, %449 ], [ %441, %447 ]
%456 = sext i8 %454 to i32
%457 = load i8, i8* %38
%458 = sext i8 %457 to i32
%459 = add nsw i32 %458, %456
%460 = icmp sgt i32 %459, 9
br i1 %460, label %463, label %461
461: ; preds = %453
%462 = load i8, i8* %39
br label %467
463: ; preds = %453
%464 = add nuw nsw i32 %455, 1
%465 = load i8, i8* %40
%466 = add i8 %465, 1
store i8 %466, i8* %40
br label %467
467: ; preds = %461, %463
%468 = phi i8 [ %466, %463 ], [ %462, %461 ]
%469 = phi i32 [ %464, %463 ], [ %455, %461 ]
%470 = sext i8 %468 to i32
%471 = load i8, i8* %41
%472 = sext i8 %471 to i32
%473 = add nsw i32 %472, %470
%474 = icmp sgt i32 %473, 9
br i1 %474, label %475, label %479
475: ; preds = %467
%476 = add nuw nsw i32 %469, 1
%477 = load i8, i8* %3
%478 = add i8 %477, 1
store i8 %478, i8* %3
br label %483
479: ; preds = %467
%480 = icmp eq i32 %469, 0
br i1 %480, label %481, label %483
481: ; preds = %479
%482 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0))
br label %487
483: ; preds = %475, %479
%484 = phi i32 [ %476, %475 ], [ %469, %479 ]
%485 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i32 %484)
%486 = icmp ugt i32 %484, 1
br i1 %486, label %488, label %487
487: ; preds = %481, %483
br label %488
488: ; preds = %483, %487
%489 = phi i8* [ getelementptr inbounds ([18 x i8], [18 x i8]* @str, i64 0, i64 0), %487 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @str.6, i64 0, i64 0), %483 ]
%490 = call i32 @puts(i8* dereferenceable(1) %489)
%491 = call i32 @scanf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8** %5, i8** %6)
%492 = icmp eq i32 %491, -1
br i1 %492, label %493, label %66
493: ; preds = %488, %69, %0
ret i32 0
}