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

/* Forward declarations */

/* Type definitions */
typedef int uint8_t;
typedef int uint32_t;
typedef int /*<<< orphan*/ crc_values;

/* Variables and functions */
int /*<<< orphan*/ printf(char *, int, int, ...);
void find_poly() {
  uint32_t crc_values[] = {
      0x84c0, 0x94e1, 0xa482, 0xc444, 0, 0, 0xb7f1, 0xa7d0, 0x97b3, 0xf775,
  };
  int i;
  uint32_t crc, last_crc;
  uint8_t bytes[] = {
      0x6a, 0x29, 0x00, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
      0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76};
  uint32_t poly, crc32;
  for (i = 1; i < (sizeof(crc_values) / sizeof(crc_values[0])); i++) {
    crc = crc_values[i] ^ crc_values[i - 1];
    printf("%d %08x %x\n", i, crc, crc_values[i - 1]);
    if (i >= 2) {
      printf("%d %08x\n", i, crc ^ (last_crc << 1));
    }
    last_crc = crc;
  }
  return;
}


x86 assembly (clang, -O0):
<find_poly>:
push   %rbp
mov    %rsp,%rbp
sub    $0x860,%rsp
lea    -0x30(%rbp),%rdi
lea    0xeca(%rip),%rsi
mov    $0x28,%edx
call   1040 <memcpy@plt>
lea    -0x850(%rbp),%rdi
lea    0xee2(%rip),%rsi
mov    $0x80c,%edx
call   1040 <memcpy@plt>
movl   $0x1,-0x34(%rbp)
movslq -0x34(%rbp),%rax
cmp    $0xa,%rax
jae    11df <find_poly+0xbf>
movslq -0x34(%rbp),%rax
mov    -0x30(%rbp,%rax,4),%eax
mov    -0x34(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
xor    -0x30(%rbp,%rcx,4),%eax
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%esi
mov    -0x38(%rbp),%edx
mov    -0x34(%rbp),%eax
sub    $0x1,%eax
cltq
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x169e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
cmpl   $0x2,-0x34(%rbp)
jl     11cb <find_poly+0xab>
mov    -0x34(%rbp),%esi
mov    -0x38(%rbp),%edx
mov    -0x3c(%rbp),%eax
shl    $0x1,%eax
xor    %eax,%edx
lea    0x1684(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x38(%rbp),%eax
mov    %eax,-0x3c(%rbp)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    115f <find_poly+0x3f>
add    $0x860,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<find_poly>:
push   %r14
push   %rbx
push   %rax
lea    0xee5(%rip),%r14
mov    %r14,%rdi
mov    $0x1,%esi
mov    $0x1021,%edx
mov    $0x84c0,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x2,%esi
mov    $0x3063,%edx
mov    $0x94e1,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
lea    0xeb8(%rip),%rbx
mov    %rbx,%rdi
mov    $0x2,%esi
mov    $0x1021,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x3,%esi
mov    $0x60c6,%edx
mov    $0xa482,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x3,%esi
xor    %edx,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x4,%esi
mov    $0xc444,%edx
mov    $0xc444,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x4,%esi
mov    $0x5c8,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x5,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x5,%esi
mov    $0x18888,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x6,%esi
mov    $0xb7f1,%edx
xor    %ecx,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x6,%esi
mov    $0xb7f1,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x7,%esi
mov    $0x1021,%edx
mov    $0xb7f1,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x7,%esi
mov    $0x17fc3,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x8,%esi
mov    $0x3063,%edx
mov    $0xa7d0,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x8,%esi
mov    $0x1021,%edx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %r14,%rdi
mov    $0x9,%esi
mov    $0x60c6,%edx
mov    $0x97b3,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    $0x9,%esi
xor    %edx,%edx
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
jmp    1030 <printf@plt>

LLVM IR (-O0):
@__const.find_poly.crc_values = [10 x i32] [i32 33984, i32 38113, i32 42114, i32 50244, i32 0, i32 0, i32 47089, i32 42960, i32 38835, i32 63349]
@__const.find_poly.bytes = [515 x i32] [i32 106, i32 41, i32 0, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118, i32 118]
@.str = [12 x i8] c"%d %08x %x\0A\00"
@.str.1 = [9 x i8] c"%d %08x\0A\00"
define void @find_poly() {
%1 = alloca [10 x i32]
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca [515 x i32]
%6 = alloca i32
%7 = alloca i32
%8 = bitcast [10 x i32]* %1 to i8*
%9 = bitcast [515 x i32]* %5 to i8*
store i32 1, i32* %2
br label %10
10: ; preds = %44, %0
%11 = load i32, i32* %2
%12 = sext i32 %11 to i64
%13 = icmp ult i64 %12, 10
br i1 %13, label %14, label %47
14: ; preds = %10
%15 = load i32, i32* %2
%16 = sext i32 %15 to i64
%17 = getelementptr inbounds [10 x i32], [10 x i32]* %1, i64 0, i64 %16
%18 = load i32, i32* %17
%19 = load i32, i32* %2
%20 = sub nsw i32 %19, 1
%21 = sext i32 %20 to i64
%22 = getelementptr inbounds [10 x i32], [10 x i32]* %1, i64 0, i64 %21
%23 = load i32, i32* %22
%24 = xor i32 %18, %23
store i32 %24, i32* %3
%25 = load i32, i32* %2
%26 = load i32, i32* %3
%27 = load i32, i32* %2
%28 = sub nsw i32 %27, 1
%29 = sext i32 %28 to i64
%30 = getelementptr inbounds [10 x i32], [10 x i32]* %1, i64 0, i64 %29
%31 = load i32, i32* %30
%32 = call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 %25, i32 %26, i32 %31)
%33 = load i32, i32* %2
%34 = icmp sge i32 %33, 2
br i1 %34, label %35, label %42
35: ; preds = %14
%36 = load i32, i32* %2
%37 = load i32, i32* %3
%38 = load i32, i32* %4
%39 = shl i32 %38, 1
%40 = xor i32 %37, %39
%41 = call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 %36, i32 %40)
br label %42
42: ; preds = %35, %14
%43 = load i32, i32* %3
store i32 %43, i32* %4
br label %44
44: ; preds = %42
%45 = load i32, i32* %2
%46 = add nsw i32 %45, 1
store i32 %46, i32* %2
br label %10
47: ; preds = %10
ret void
}

LLVM IR (-O2):
@.str = [12 x i8] c"%d %08x %x\0A\00"
@.str.1 = [9 x i8] c"%d %08x\0A\00"
define void @find_poly() {
%1 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 1, i32 4129, i32 33984)
%2 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 2, i32 12387, i32 38113)
%3 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 2, i32 4129)
%4 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 3, i32 24774, i32 42114)
%5 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 3, i32 0)
%6 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 4, i32 50244, i32 50244)
%7 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 4, i32 1480)
%8 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 5, i32 0, i32 0)
%9 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 5, i32 100488)
%10 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 6, i32 47089, i32 0)
%11 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 6, i32 47089)
%12 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 7, i32 4129, i32 47089)
%13 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 7, i32 98243)
%14 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 8, i32 12387, i32 42960)
%15 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 8, i32 4129)
%16 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0), i32 9, i32 24774, i32 38835)
%17 = tail call i32 (i8*, i32, i32, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i32 9, i32 0)
ret void
}