#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 main() {
  int i = 0;
  for (i = 0; i < 10; i++) {
    printf(
        "One day Gregor Samsa, a traveling salesman, wakes up to find himself "
        "transformed into a \"ungeheures Ungeziefer\", literally \"monstrous "
        "vermin\", often interpreted as a giant bug or insect. He believes it "
        "is a dream, and reflects on how dreary life as a traveling salesman "
        "is. He looks at the wall clock and realizes that he has overslept and "
        "missed his train for work. He ponders on the consequences of this "
        "delay, and is annoyed at how his boss never accepts excuses or "
        "explanations from any of his employees no matter how hard working "
        "they are, displaying an apparent lack of trusting abilities. Gregor's "
        "mother knocks on the door and he answers her. She is concerned for "
        "Gregor because he is late for work, which is unorthodox for Gregor. "
        "Gregor answers his mother and realizes that his voice has changed, "
        "but his answer is short so his mother does not notice the voice "
        "change. His sister, Grete, to whom he was very close then whispers "
        "through the door and begs him to open the door. All his family "
        "members think that he is ill and ask him to open the door. He tries "
        "to get out of bed but he is incapable of moving his body. While "
        "trying to move, he finds that his office manager, the chief clerk has "
        "shown up to check on him. He finally rocks his body to the floor and "
        "calls out that he will open the door shortly.\n");
  }
  printf("\nWHAT???\n");
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
movl   $0x0,-0x8(%rbp)
cmpl   $0xa,-0x8(%rbp)
jge    1151 <main+0x41>
lea    0xec2(%rip),%rdi
call   1030 <printf@plt>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    112d <main+0x1d>
lea    0x13cf(%rip),%rdi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
lea    0xef1(%rip),%rbx
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
mov    %rbx,%rdi
call   1030 <puts@plt>
lea    0xe91(%rip),%rdi
call   1030 <puts@plt>
xor    %eax,%eax
pop    %rbx
ret

LLVM IR (-O0):
@.str = [1319 x i8] c"One day Gregor Samsa, a traveling salesman, wakes up to find himself transformed into a \22ungeheures Ungeziefer\22, literally \22monstrous vermin\22, often interpreted as a giant bug or insect. He believes it is a dream, and reflects on how dreary life as a traveling salesman is. He looks at the wall clock and realizes that he has overslept and missed his train for work. He ponders on the consequences of this delay, and is annoyed at how his boss never accepts excuses or explanations from any of his employees no matter how hard working they are, displaying an apparent lack of trusting abilities. Gregor's mother knocks on the door and he answers her. She is concerned for Gregor because he is late for work, which is unorthodox for Gregor. Gregor answers his mother and realizes that his voice has changed, but his answer is short so his mother does not notice the voice change. His sister, Grete, to whom he was very close then whispers through the door and begs him to open the door. All his family members think that he is ill and ask him to open the door. He tries to get out of bed but he is incapable of moving his body. While trying to move, he finds that his office manager, the chief clerk has shown up to check on him. He finally rocks his body to the floor and calls out that he will open the door shortly.\0A\00"
@.str.1 = [10 x i8] c"\0AWHAT???\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
store i32 0, i32* %1
store i32 0, i32* %2
store i32 0, i32* %2
br label %3
3: ; preds = %8, %0
%4 = load i32, i32* %2
%5 = icmp slt i32 %4, 10
br i1 %5, label %6, label %11
6: ; preds = %3
%7 = call i32 @printf(i8* getelementptr inbounds ([1319 x i8], [1319 x i8]* @.str, i64 0, i64 0))
br label %8
8: ; preds = %6
%9 = load i32, i32* %2
%10 = add nsw i32 %9, 1
store i32 %10, i32* %2
br label %3
11: ; preds = %3
%12 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0))
ret i32 0
}

LLVM IR (-O2):
@str = [9 x i8] c"\0AWHAT???\00"
@str.2 = [1318 x i8] c"One day Gregor Samsa, a traveling salesman, wakes up to find himself transformed into a \22ungeheures Ungeziefer\22, literally \22monstrous vermin\22, often interpreted as a giant bug or insect. He believes it is a dream, and reflects on how dreary life as a traveling salesman is. He looks at the wall clock and realizes that he has overslept and missed his train for work. He ponders on the consequences of this delay, and is annoyed at how his boss never accepts excuses or explanations from any of his employees no matter how hard working they are, displaying an apparent lack of trusting abilities. Gregor's mother knocks on the door and he answers her. She is concerned for Gregor because he is late for work, which is unorthodox for Gregor. Gregor answers his mother and realizes that his voice has changed, but his answer is short so his mother does not notice the voice change. His sister, Grete, to whom he was very close then whispers through the door and begs him to open the door. All his family members think that he is ill and ask him to open the door. He tries to get out of bed but he is incapable of moving his body. While trying to move, he finds that his office manager, the chief clerk has shown up to check on him. He finally rocks his body to the floor and calls out that he will open the door shortly.\00"
define i32 @main() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1318 x i8], [1318 x i8]* @str.2, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @str, i64 0, i64 0))
ret i32 0
}