#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 *, ...);
void module1_section2_topic7() {
  char *restaurant = "Taco Bell";
  int survey_number = 685746568;
  char first_initial = 'C';
  char last_initial = 'C';
  char *full_name = "Chris Carl";
  int house = 1101;
  char *street = "Main Street";
  char *city = "Washington";
  char *state = "D.C.";
  int zip = 20052;
  char *last_four_digits = "8675";
  char credit_card = 'V';
  char *name_of_item_one = "Wilkshire Pilsner";
  float cost_of_item_one = 4.00;
  int amount_of_item_one = 2;
  float total_item_one = amount_of_item_one * cost_of_item_one;
  char *name_of_item_two = "Yuengling Bottled";
  float cost_of_item_two = 3.65;
  int amount_of_item_two = 1;
  float total_item_two = amount_of_item_two * cost_of_item_two;
  char *name_of_item_three = "10pcs Buffalo Chicken Wings";
  float cost_of_item_three = 8.99;
  int amount_of_item_three = 2;
  float total_item_three = amount_of_item_three * cost_of_item_three;
  float tax_rate = 0.06;
  float subtotal = total_item_one + total_item_two + total_item_three;
  float tax = subtotal * tax_rate;
  float total = subtotal + tax;
  printf("Thank you for shoping at %s!\n", restaurant);
  printf("Thank the Bell and get entered to win a $500 gift card at: ");
  printf("www.tacobell.com\nJust enter the following survey information and be "
         "enetered to win: %d\n\n",
         survey_number);
  printf("Receipt for %c%c\n", first_initial, last_initial);
  printf("credit card (%c) $#: XXXX-XXXX-XXXX-%s\n", credit_card,
         last_four_digits);
  printf("Card holder: %s", full_name);
  printf("located at:\n\t%d %s\n\t%s, %s %d\n\n", house, street, city, state,
         zip);
  printf("COST\t\tQUANTITY\t\tPRICE\n");
  printf("$%0.2f\t\t%d\t\t$%0.2f\n", cost_of_item_one, amount_of_item_one,
         (amount_of_item_one * cost_of_item_one));
  printf("$%0.2f\t\t%d\t\t$%0.2f\n", cost_of_item_two, amount_of_item_two,
         (amount_of_item_two * cost_of_item_two));
  printf("$%0.2f\t\t%d\t\t$%0.2f\n", cost_of_item_three, amount_of_item_three,
         (amount_of_item_three * cost_of_item_three));
  printf("\t\t\tsub:\t\t$%0.2f\n", subtotal);
  printf("\t\t\ttax:\t\t$%0.2f\n", tax);
  printf("\t\t\ttotal:\t$%0.2f\n", total);
}


x86 assembly (clang, -O0):
<module1_section2_topic7>:
push   %rbp
mov    %rsp,%rbp
sub    $0xb0,%rsp
lea    0xeee(%rip),%rax
mov    %rax,-0x8(%rbp)
movl   $0x28dfa988,-0xc(%rbp)
movb   $0x43,-0xd(%rbp)
movb   $0x43,-0xe(%rbp)
lea    0xede(%rip),%rax
mov    %rax,-0x18(%rbp)
movl   $0x44d,-0x1c(%rbp)
lea    0xed7(%rip),%rax
mov    %rax,-0x28(%rbp)
lea    0xed8(%rip),%rax
mov    %rax,-0x30(%rbp)
lea    0xed8(%rip),%rax
mov    %rax,-0x38(%rbp)
movl   $0x4e54,-0x3c(%rbp)
lea    0xecb(%rip),%rax
mov    %rax,-0x48(%rbp)
movb   $0x56,-0x49(%rbp)
lea    0xec1(%rip),%rax
mov    %rax,-0x58(%rbp)
movss  0xe7b(%rip),%xmm0
movss  %xmm0,-0x5c(%rbp)
movl   $0x2,-0x60(%rbp)
cvtsi2ssl -0x60(%rbp),%xmm0
mulss  -0x5c(%rbp),%xmm0
movss  %xmm0,-0x64(%rbp)
lea    0xea5(%rip),%rax
mov    %rax,-0x70(%rbp)
movss  0xe49(%rip),%xmm0
movss  %xmm0,-0x74(%rbp)
movl   $0x1,-0x78(%rbp)
cvtsi2ssl -0x78(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
movss  %xmm0,-0x7c(%rbp)
lea    0xe89(%rip),%rax
mov    %rax,-0x88(%rbp)
movss  0xe14(%rip),%xmm0
movss  %xmm0,-0x8c(%rbp)
ff
movl   $0x2,-0x90(%rbp)
cvtsi2ssl -0x90(%rbp),%xmm0
ff
mulss  -0x8c(%rbp),%xmm0
ff
movss  %xmm0,-0x94(%rbp)
ff
movss  0xdde(%rip),%xmm0
movss  %xmm0,-0x98(%rbp)
ff
movss  -0x64(%rbp),%xmm0
addss  -0x7c(%rbp),%xmm0
addss  -0x94(%rbp),%xmm0
ff
movss  %xmm0,-0x9c(%rbp)
ff
movss  -0x9c(%rbp),%xmm0
ff
mulss  -0x98(%rbp),%xmm0
ff
movss  %xmm0,-0xa0(%rbp)
ff
movss  -0x9c(%rbp),%xmm0
ff
addss  -0xa0(%rbp),%xmm0
ff
movss  %xmm0,-0xa4(%rbp)
ff
mov    -0x8(%rbp),%rsi
lea    0xe07(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xe17(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0xe42(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movsbl -0xd(%rbp),%esi
movsbl -0xe(%rbp),%edx
lea    0xe86(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movsbl -0x49(%rbp),%esi
mov    -0x48(%rbp),%rdx
lea    0xe82(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%rsi
lea    0xe98(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x1c(%rbp),%esi
mov    -0x28(%rbp),%rdx
mov    -0x30(%rbp),%rcx
mov    -0x38(%rbp),%r8
mov    -0x3c(%rbp),%r9d
lea    0xe87(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xe99(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movss  -0x5c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    -0x60(%rbp),%esi
cvtsi2ssl -0x60(%rbp),%xmm1
mulss  -0x5c(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
lea    0xe88(%rip),%rdi
mov    $0x2,%al
call   1030 <printf@plt>
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    -0x78(%rbp),%esi
cvtsi2ssl -0x78(%rbp),%xmm1
mulss  -0x74(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
lea    0xe60(%rip),%rdi
mov    $0x2,%al
call   1030 <printf@plt>
movss  -0x8c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
mov    -0x90(%rbp),%esi
cvtsi2ssl -0x90(%rbp),%xmm1
ff
mulss  -0x8c(%rbp),%xmm1
ff
cvtss2sd %xmm1,%xmm1
lea    0xe2c(%rip),%rdi
mov    $0x2,%al
call   1030 <printf@plt>
movss  -0x9c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xe26(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movss  -0xa0(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xe1d(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movss  -0xa4(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xe14(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
add    $0xb0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<module1_section2_topic7>:
push   %rbx
lea    0xf4e(%rip),%rdi
lea    0xf11(%rip),%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf57(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf85(%rip),%rdi
mov    $0x28dfa988,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xfcc(%rip),%rdi
mov    $0x43,%esi
mov    $0x43,%edx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xfc6(%rip),%rdi
lea    0xef4(%rip),%rdx
mov    $0x56,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xfd4(%rip),%rdi
lea    0xeb3(%rip),%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xfcf(%rip),%rdi
lea    0xea9(%rip),%rdx
lea    0xeae(%rip),%rcx
lea    0xeb2(%rip),%r8
mov    $0x44d,%esi
mov    $0x4e54,%r9d
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1009(%rip),%rdi
call   1030 <puts@plt>
lea    0xfb5(%rip),%rbx
movsd  0xe19(%rip),%xmm0
movsd  0xe19(%rip),%xmm1
mov    %rbx,%rdi
mov    $0x2,%esi
mov    $0x2,%al
call   1040 <printf@plt>
movsd  0xe0a(%rip),%xmm0
mov    %rbx,%rdi
mov    $0x1,%esi
movaps %xmm0,%xmm1
mov    $0x2,%al
call   1040 <printf@plt>
movsd  0xdf8(%rip),%xmm0
movsd  0xdf8(%rip),%xmm1
mov    %rbx,%rdi
mov    $0x2,%esi
mov    $0x2,%al
call   1040 <printf@plt>
lea    0xf6a(%rip),%rdi
movsd  0xde2(%rip),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xf65(%rip),%rdi
movsd  0xdd4(%rip),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xf60(%rip),%rdi
movsd  0xdc6(%rip),%xmm0
mov    $0x1,%al
pop    %rbx
jmp    1040 <printf@plt>

LLVM IR (-O0):
@.str = [10 x i8] c"Taco Bell\00"
@.str.1 = [11 x i8] c"Chris Carl\00"
@.str.2 = [12 x i8] c"Main Street\00"
@.str.3 = [11 x i8] c"Washington\00"
@.str.4 = [5 x i8] c"D.C.\00"
@.str.5 = [5 x i8] c"8675\00"
@.str.6 = [18 x i8] c"Wilkshire Pilsner\00"
@.str.7 = [18 x i8] c"Yuengling Bottled\00"
@.str.8 = [28 x i8] c"10pcs Buffalo Chicken Wings\00"
@.str.9 = [30 x i8] c"Thank you for shoping at %s!\0A\00"
@.str.10 = [60 x i8] c"Thank the Bell and get entered to win a $500 gift card at: \00"
@.str.11 = [90 x i8] c"www.tacobell.com\0AJust enter the following survey information and be enetered to win: %d\0A\0A\00"
@.str.12 = [18 x i8] c"Receipt for %c%c\0A\00"
@.str.13 = [40 x i8] c"credit card (%c) $#: XXXX-XXXX-XXXX-%s\0A\00"
@.str.14 = [16 x i8] c"Card holder: %s\00"
@.str.15 = [32 x i8] c"located at:\0A\09%d %s\0A\09%s, %s %d\0A\0A\00"
@.str.16 = [23 x i8] c"COST\09\09QUANTITY\09\09PRICE\0A\00"
@.str.17 = [20 x i8] c"$%0.2f\09\09%d\09\09$%0.2f\0A\00"
@.str.18 = [17 x i8] c"\09\09\09sub:\09\09$%0.2f\0A\00"
@.str.19 = [17 x i8] c"\09\09\09tax:\09\09$%0.2f\0A\00"
@.str.20 = [18 x i8] c"\09\09\09total:\09$%0.2f\0A\00"
define void @module1_section2_topic7() {
%1 = alloca i8*
%2 = alloca i32
%3 = alloca i8
%4 = alloca i8
%5 = alloca i8*
%6 = alloca i32
%7 = alloca i8*
%8 = alloca i8*
%9 = alloca i8*
%10 = alloca i32
%11 = alloca i8*
%12 = alloca i8
%13 = alloca i8*
%14 = alloca float
%15 = alloca i32
%16 = alloca float
%17 = alloca i8*
%18 = alloca float
%19 = alloca i32
%20 = alloca float
%21 = alloca i8*
%22 = alloca float
%23 = alloca i32
%24 = alloca float
%25 = alloca float
%26 = alloca float
%27 = alloca float
%28 = alloca float
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0), i8** %1
store i32 685746568, i32* %2
store i8 67, i8* %3
store i8 67, i8* %4
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.1, i64 0, i64 0), i8** %5
store i32 1101, i32* %6
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.2, i64 0, i64 0), i8** %7
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i8** %8
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i8** %9
store i32 20052, i32* %10
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %11
store i8 86, i8* %12
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6, i64 0, i64 0), i8** %13
store float 4.000000e+00, float* %14
store i32 2, i32* %15
%29 = load i32, i32* %15
%30 = sitofp i32 %29 to float
%31 = load float, float* %14
%32 = fmul float %30, %31
store float %32, float* %16
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.7, i64 0, i64 0), i8** %17
store float 0x400D333340000000, float* %18
store i32 1, i32* %19
%33 = load i32, i32* %19
%34 = sitofp i32 %33 to float
%35 = load float, float* %18
%36 = fmul float %34, %35
store float %36, float* %20
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i8** %21
store float 0x4021FAE140000000, float* %22
store i32 2, i32* %23
%37 = load i32, i32* %23
%38 = sitofp i32 %37 to float
%39 = load float, float* %22
%40 = fmul float %38, %39
store float %40, float* %24
store float 0x3FAEB851E0000000, float* %25
%41 = load float, float* %16
%42 = load float, float* %20
%43 = fadd float %41, %42
%44 = load float, float* %24
%45 = fadd float %43, %44
store float %45, float* %26
%46 = load float, float* %26
%47 = load float, float* %25
%48 = fmul float %46, %47
store float %48, float* %27
%49 = load float, float* %26
%50 = load float, float* %27
%51 = fadd float %49, %50
store float %51, float* %28
%52 = load i8*, i8** %1
%53 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.9, i64 0, i64 0), i8* %52)
%54 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.10, i64 0, i64 0))
%55 = load i32, i32* %2
%56 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([90 x i8], [90 x i8]* @.str.11, i64 0, i64 0), i32 %55)
%57 = load i8, i8* %3
%58 = sext i8 %57 to i32
%59 = load i8, i8* %4
%60 = sext i8 %59 to i32
%61 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i32 %58, i32 %60)
%62 = load i8, i8* %12
%63 = sext i8 %62 to i32
%64 = load i8*, i8** %11
%65 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.13, i64 0, i64 0), i32 %63, i8* %64)
%66 = load i8*, i8** %5
%67 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i8* %66)
%68 = load i32, i32* %6
%69 = load i8*, i8** %7
%70 = load i8*, i8** %8
%71 = load i8*, i8** %9
%72 = load i32, i32* %10
%73 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.15, i64 0, i64 0), i32 %68, i8* %69, i8* %70, i8* %71, i32 %72)
%74 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.16, i64 0, i64 0))
%75 = load float, float* %14
%76 = fpext float %75 to double
%77 = load i32, i32* %15
%78 = load i32, i32* %15
%79 = sitofp i32 %78 to float
%80 = load float, float* %14
%81 = fmul float %79, %80
%82 = fpext float %81 to double
%83 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.17, i64 0, i64 0), double %76, i32 %77, double %82)
%84 = load float, float* %18
%85 = fpext float %84 to double
%86 = load i32, i32* %19
%87 = load i32, i32* %19
%88 = sitofp i32 %87 to float
%89 = load float, float* %18
%90 = fmul float %88, %89
%91 = fpext float %90 to double
%92 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.17, i64 0, i64 0), double %85, i32 %86, double %91)
%93 = load float, float* %22
%94 = fpext float %93 to double
%95 = load i32, i32* %23
%96 = load i32, i32* %23
%97 = sitofp i32 %96 to float
%98 = load float, float* %22
%99 = fmul float %97, %98
%100 = fpext float %99 to double
%101 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.17, i64 0, i64 0), double %94, i32 %95, double %100)
%102 = load float, float* %26
%103 = fpext float %102 to double
%104 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.18, i64 0, i64 0), double %103)
%105 = load float, float* %27
%106 = fpext float %105 to double
%107 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0), double %106)
%108 = load float, float* %28
%109 = fpext float %108 to double
%110 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.20, i64 0, i64 0), double %109)
ret void
}

LLVM IR (-O2):
@.str = [10 x i8] c"Taco Bell\00"
@.str.1 = [11 x i8] c"Chris Carl\00"
@.str.2 = [12 x i8] c"Main Street\00"
@.str.3 = [11 x i8] c"Washington\00"
@.str.4 = [5 x i8] c"D.C.\00"
@.str.5 = [5 x i8] c"8675\00"
@.str.9 = [30 x i8] c"Thank you for shoping at %s!\0A\00"
@.str.10 = [60 x i8] c"Thank the Bell and get entered to win a $500 gift card at: \00"
@.str.11 = [90 x i8] c"www.tacobell.com\0AJust enter the following survey information and be enetered to win: %d\0A\0A\00"
@.str.12 = [18 x i8] c"Receipt for %c%c\0A\00"
@.str.13 = [40 x i8] c"credit card (%c) $#: XXXX-XXXX-XXXX-%s\0A\00"
@.str.14 = [16 x i8] c"Card holder: %s\00"
@.str.15 = [32 x i8] c"located at:\0A\09%d %s\0A\09%s, %s %d\0A\0A\00"
@.str.17 = [20 x i8] c"$%0.2f\09\09%d\09\09$%0.2f\0A\00"
@.str.18 = [17 x i8] c"\09\09\09sub:\09\09$%0.2f\0A\00"
@.str.19 = [17 x i8] c"\09\09\09tax:\09\09$%0.2f\0A\00"
@.str.20 = [18 x i8] c"\09\09\09total:\09$%0.2f\0A\00"
@str = [22 x i8] c"COST\09\09QUANTITY\09\09PRICE\00"
define void @module1_section2_topic7() {
%1 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @.str.10, i64 0, i64 0))
%3 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([90 x i8], [90 x i8]* @.str.11, i64 0, i64 0), i32 685746568)
%4 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i32 67, i32 67)
%5 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.13, i64 0, i64 0), i32 86, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0))
%6 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.1, i64 0, i64 0))
%7 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.15, i64 0, i64 0), i32 1101, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0), i32 20052)
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str, i64 0, i64 0))
%9 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([20 x i8], [20 x i8]* @.str.17, i64 0, i64 0), double 4.000000e+00, i32 2, double 8.000000e+00)
%10 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([20 x i8], [20 x i8]* @.str.17, i64 0, i64 0), double 0x400D333340000000, i32 1, double 0x400D333340000000)
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([20 x i8], [20 x i8]* @.str.17, i64 0, i64 0), double 0x4021FAE140000000, i32 2, double 0x4031FAE140000000)
%12 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.18, i64 0, i64 0), double 0x403DA147A0000000)
%13 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0), double 0x3FFC71DE60000000)
%14 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.20, i64 0, i64 0), double 0x403F686580000000)
ret void
}