#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*/ fflush(int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ stdout;
void print_result(int n, long long usec, long long solution) {
  int i;
  static long long answer[30] = {0,
                                 1,
                                 0,
                                 0,
                                 2,
                                 10,
                                 4,
                                 40,
                                 92,
                                 352,
                                 724,
                                 2680,
                                 14200,
                                 73712,
                                 365596,
                                 2279184,
                                 14772512,
                                 95815104,
                                 666090624ull,
                                 4968057848ull,
                                 39029188884ull,
                                 314666222712ull,
                                 2691008701644ull,
                                 24233937684440ull,
                                 0,
                                 0,
                                 0,
                                 0,
                                 0,
                                 0};
  for (i = 0; i < 45; i++)
    printf("=");
  printf("\n");
  printf("%s %s\n", "qn24b XeonPhiPthread", "version 1.0.0 2013-08-03");
  printf("problem size n        : %d\n", n);
  printf("total   solutions     : %lld\n", solution);
  printf("correct solutions     : %lld\n", answer[n]);
  printf("million solutions/sec : %.3f\n", (double)solution / usec);
  printf("elapsed time (sec)    : %.3f\n", usec / 1000000.0);
  if (solution != answer[n])
    printf(" ### Wrong answer\n");
  for (i = 0; i < 45; i++)
    printf("=");
  printf("\n");
  fflush(stdout);
}


x86 assembly (clang, -O0):
<print_result>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
movl   $0x0,-0x1c(%rbp)
cmpl   $0x2d,-0x1c(%rbp)
jge    1160 <print_result+0x40>
lea    0xebd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    113a <print_result+0x1a>
lea    0xef2(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xe95(%rip),%rdi
lea    0xe95(%rip),%rsi
lea    0xea3(%rip),%rdx
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x4(%rbp),%esi
lea    0xeab(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%rsi
lea    0xeb5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movslq -0x4(%rbp),%rcx
lea    0x2e88(%rip),%rax
mov    (%rax,%rcx,8),%rsi
lea    0xeb6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
cvtsi2sdq -0x18(%rbp),%xmm0
cvtsi2sdq -0x10(%rbp),%xmm1
divsd  %xmm1,%xmm0
lea    0xeb6(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
cvtsi2sdq -0x10(%rbp),%xmm0
movsd  0xe0a(%rip),%xmm1
divsd  %xmm1,%xmm0
lea    0xeb4(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%rax
movslq -0x4(%rbp),%rdx
lea    0x2e29(%rip),%rcx
cmp    (%rcx,%rdx,8),%rax
je     122f <print_result+0x10f>
lea    0xeab(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x1c(%rbp)
cmpl   $0x2d,-0x1c(%rbp)
jge    125c <print_result+0x13c>
lea    0xdc1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1236 <print_result+0x116>
lea    0xdf6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    0x2d6f(%rip),%rax
mov    (%rax),%edi
call   1040 <fflush@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_result>:
push   %rbp
push   %r14
push   %rbx
sub    $0x10,%rsp
mov    %rdx,%rbx
mov    %rsi,%r14
mov    %edi,%ebp
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xddd(%rip),%rdi
lea    0xddd(%rip),%rsi
lea    0xdeb(%rip),%rdx
xor    %eax,%eax
call   1050 <printf@plt>
lea    0xdf6(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1050 <printf@plt>
lea    0xe02(%rip),%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <printf@plt>
movslq %ebp,%rax
lea    0xcad(%rip),%rcx
mov    (%rcx,%rax,8),%rbp
lea    0xe01(%rip),%rdi
mov    %rbp,%rsi
xor    %eax,%eax
call   1050 <printf@plt>
cvtsi2sd %rbx,%xmm0
cvtsi2sd %r14,%xmm1
movsd  %xmm1,0x8(%rsp)
divsd  %xmm1,%xmm0
lea    0xdfa(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
movsd  0x8(%rsp),%xmm0
divsd  0xc58(%rip),%xmm0
lea    0xdfc(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
cmp    %rbx,%rbp
je     13c7 <print_result+0x287>
lea    0xe07(%rip),%rdi
call   1040 <puts@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0x3d,%edi
call   1030 <putchar@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    0x2a46(%rip),%rax
mov    (%rax),%edi
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %rbp
jmp    1060 <fflush@plt>

LLVM IR (-O0):
@print_result.answer = internal global [30 x i64] [i64 0, i64 1, i64 0, i64 0, i64 2, i64 10, i64 4, i64 40, i64 92, i64 352, i64 724, i64 2680, i64 14200, i64 73712, i64 365596, i64 2279184, i64 14772512, i64 95815104, i64 666090624, i64 4968057848, i64 39029188884, i64 314666222712, i64 2691008701644, i64 24233937684440, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0]
@.str = [2 x i8] c"=\00"
@.str.1 = [2 x i8] c"\0A\00"
@.str.2 = [7 x i8] c"%s %s\0A\00"
@.str.3 = [21 x i8] c"qn24b XeonPhiPthread\00"
@.str.4 = [25 x i8] c"version 1.0.0 2013-08-03\00"
@.str.5 = [28 x i8] c"problem size n : %d\0A\00"
@.str.6 = [30 x i8] c"total solutions : %lld\0A\00"
@.str.7 = [30 x i8] c"correct solutions : %lld\0A\00"
@.str.8 = [30 x i8] c"million solutions/sec : %.3f\0A\00"
@.str.9 = [30 x i8] c"elapsed time (sec) : %.3f\0A\00"
@.str.10 = [19 x i8] c" ### Wrong answer\0A\00"
@stdout = global i32 0
define void @print_result(i32 %0, i64 %1, i64 %2) {
%4 = alloca i32
%5 = alloca i64
%6 = alloca i64
%7 = alloca i32
store i32 %0, i32* %4
store i64 %1, i64* %5
store i64 %2, i64* %6
store i32 0, i32* %7
br label %8
8: ; preds = %13, %3
%9 = load i32, i32* %7
%10 = icmp slt i32 %9, 45
br i1 %10, label %11, label %16
11: ; preds = %8
%12 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
br label %13
13: ; preds = %11
%14 = load i32, i32* %7
%15 = add nsw i32 %14, 1
store i32 %15, i32* %7
br label %8
16: ; preds = %8
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.4, i64 0, i64 0))
%19 = load i32, i32* %4
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %19)
%21 = load i64, i64* %6
%22 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.6, i64 0, i64 0), i64 %21)
%23 = load i32, i32* %4
%24 = sext i32 %23 to i64
%25 = getelementptr inbounds [30 x i64], [30 x i64]* @print_result.answer, i64 0, i64 %24
%26 = load i64, i64* %25
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0), i64 %26)
%28 = load i64, i64* %6
%29 = sitofp i64 %28 to double
%30 = load i64, i64* %5
%31 = sitofp i64 %30 to double
%32 = fdiv double %29, %31
%33 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.8, i64 0, i64 0), double %32)
%34 = load i64, i64* %5
%35 = sitofp i64 %34 to double
%36 = fdiv double %35, 1.000000e+06
%37 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.9, i64 0, i64 0), double %36)
%38 = load i64, i64* %6
%39 = load i32, i32* %4
%40 = sext i32 %39 to i64
%41 = getelementptr inbounds [30 x i64], [30 x i64]* @print_result.answer, i64 0, i64 %40
%42 = load i64, i64* %41
%43 = icmp ne i64 %38, %42
br i1 %43, label %44, label %46
44: ; preds = %16
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.10, i64 0, i64 0))
br label %46
46: ; preds = %44, %16
store i32 0, i32* %7
br label %47
47: ; preds = %52, %46
%48 = load i32, i32* %7
%49 = icmp slt i32 %48, 45
br i1 %49, label %50, label %55
50: ; preds = %47
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i64 0, i64 0))
br label %52
52: ; preds = %50
%53 = load i32, i32* %7
%54 = add nsw i32 %53, 1
store i32 %54, i32* %7
br label %47
55: ; preds = %47
%56 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%57 = load i32, i32* @stdout
%58 = call i32 @fflush(i32 %57)
ret void
}

LLVM IR (-O2):
@print_result.answer = internal unnamed_addr constant [30 x i64] [i64 0, i64 1, i64 0, i64 0, i64 2, i64 10, i64 4, i64 40, i64 92, i64 352, i64 724, i64 2680, i64 14200, i64 73712, i64 365596, i64 2279184, i64 14772512, i64 95815104, i64 666090624, i64 4968057848, i64 39029188884, i64 314666222712, i64 2691008701644, i64 24233937684440, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0]
@.str.2 = [7 x i8] c"%s %s\0A\00"
@.str.3 = [21 x i8] c"qn24b XeonPhiPthread\00"
@.str.4 = [25 x i8] c"version 1.0.0 2013-08-03\00"
@.str.5 = [28 x i8] c"problem size n : %d\0A\00"
@.str.6 = [30 x i8] c"total solutions : %lld\0A\00"
@.str.7 = [30 x i8] c"correct solutions : %lld\0A\00"
@.str.8 = [30 x i8] c"million solutions/sec : %.3f\0A\00"
@.str.9 = [30 x i8] c"elapsed time (sec) : %.3f\0A\00"
@stdout = global i32 0
@str = [18 x i8] c" ### Wrong answer\00"
define void @print_result(i32 %0, i64 %1, i64 %2) {
%4 = tail call i32 @putchar(i32 61)
%5 = tail call i32 @putchar(i32 61)
%6 = tail call i32 @putchar(i32 61)
%7 = tail call i32 @putchar(i32 61)
%8 = tail call i32 @putchar(i32 61)
%9 = tail call i32 @putchar(i32 61)
%10 = tail call i32 @putchar(i32 61)
%11 = tail call i32 @putchar(i32 61)
%12 = tail call i32 @putchar(i32 61)
%13 = tail call i32 @putchar(i32 61)
%14 = tail call i32 @putchar(i32 61)
%15 = tail call i32 @putchar(i32 61)
%16 = tail call i32 @putchar(i32 61)
%17 = tail call i32 @putchar(i32 61)
%18 = tail call i32 @putchar(i32 61)
%19 = tail call i32 @putchar(i32 61)
%20 = tail call i32 @putchar(i32 61)
%21 = tail call i32 @putchar(i32 61)
%22 = tail call i32 @putchar(i32 61)
%23 = tail call i32 @putchar(i32 61)
%24 = tail call i32 @putchar(i32 61)
%25 = tail call i32 @putchar(i32 61)
%26 = tail call i32 @putchar(i32 61)
%27 = tail call i32 @putchar(i32 61)
%28 = tail call i32 @putchar(i32 61)
%29 = tail call i32 @putchar(i32 61)
%30 = tail call i32 @putchar(i32 61)
%31 = tail call i32 @putchar(i32 61)
%32 = tail call i32 @putchar(i32 61)
%33 = tail call i32 @putchar(i32 61)
%34 = tail call i32 @putchar(i32 61)
%35 = tail call i32 @putchar(i32 61)
%36 = tail call i32 @putchar(i32 61)
%37 = tail call i32 @putchar(i32 61)
%38 = tail call i32 @putchar(i32 61)
%39 = tail call i32 @putchar(i32 61)
%40 = tail call i32 @putchar(i32 61)
%41 = tail call i32 @putchar(i32 61)
%42 = tail call i32 @putchar(i32 61)
%43 = tail call i32 @putchar(i32 61)
%44 = tail call i32 @putchar(i32 61)
%45 = tail call i32 @putchar(i32 61)
%46 = tail call i32 @putchar(i32 61)
%47 = tail call i32 @putchar(i32 61)
%48 = tail call i32 @putchar(i32 61)
%49 = tail call i32 @putchar(i32 10)
%50 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.4, i64 0, i64 0))
%51 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %0)
%52 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.6, i64 0, i64 0), i64 %2)
%53 = sext i32 %0 to i64
%54 = getelementptr inbounds [30 x i64], [30 x i64]* @print_result.answer, i64 0, i64 %53
%55 = load i64, i64* %54
%56 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0), i64 %55)
%57 = sitofp i64 %2 to double
%58 = sitofp i64 %1 to double
%59 = fdiv double %57, %58
%60 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.8, i64 0, i64 0), double %59)
%61 = fdiv double %58, 1.000000e+06
%62 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.9, i64 0, i64 0), double %61)
%63 = icmp eq i64 %55, %2
br i1 %63, label %66, label %64
64: ; preds = %3
%65 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @str, i64 0, i64 0))
br label %66
66: ; preds = %64, %3
%67 = tail call i32 @putchar(i32 61)
%68 = tail call i32 @putchar(i32 61)
%69 = tail call i32 @putchar(i32 61)
%70 = tail call i32 @putchar(i32 61)
%71 = tail call i32 @putchar(i32 61)
%72 = tail call i32 @putchar(i32 61)
%73 = tail call i32 @putchar(i32 61)
%74 = tail call i32 @putchar(i32 61)
%75 = tail call i32 @putchar(i32 61)
%76 = tail call i32 @putchar(i32 61)
%77 = tail call i32 @putchar(i32 61)
%78 = tail call i32 @putchar(i32 61)
%79 = tail call i32 @putchar(i32 61)
%80 = tail call i32 @putchar(i32 61)
%81 = tail call i32 @putchar(i32 61)
%82 = tail call i32 @putchar(i32 61)
%83 = tail call i32 @putchar(i32 61)
%84 = tail call i32 @putchar(i32 61)
%85 = tail call i32 @putchar(i32 61)
%86 = tail call i32 @putchar(i32 61)
%87 = tail call i32 @putchar(i32 61)
%88 = tail call i32 @putchar(i32 61)
%89 = tail call i32 @putchar(i32 61)
%90 = tail call i32 @putchar(i32 61)
%91 = tail call i32 @putchar(i32 61)
%92 = tail call i32 @putchar(i32 61)
%93 = tail call i32 @putchar(i32 61)
%94 = tail call i32 @putchar(i32 61)
%95 = tail call i32 @putchar(i32 61)
%96 = tail call i32 @putchar(i32 61)
%97 = tail call i32 @putchar(i32 61)
%98 = tail call i32 @putchar(i32 61)
%99 = tail call i32 @putchar(i32 61)
%100 = tail call i32 @putchar(i32 61)
%101 = tail call i32 @putchar(i32 61)
%102 = tail call i32 @putchar(i32 61)
%103 = tail call i32 @putchar(i32 61)
%104 = tail call i32 @putchar(i32 61)
%105 = tail call i32 @putchar(i32 61)
%106 = tail call i32 @putchar(i32 61)
%107 = tail call i32 @putchar(i32 61)
%108 = tail call i32 @putchar(i32 61)
%109 = tail call i32 @putchar(i32 61)
%110 = tail call i32 @putchar(i32 61)
%111 = tail call i32 @putchar(i32 61)
%112 = tail call i32 @putchar(i32 10)
%113 = load i32, i32* @stdout
%114 = tail call i32 @fflush(i32 %113)
ret void
}