#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*/ __annotation(char *, char *, char *, char *, char *, ...);
int main() {
  __annotation(L"TMC:",
               L"f25b6b4c"
               L"-"
               L"98d9"
               L"-"
               L"41bf"
               L"-"
               L"bf48"
               L"-"
               L"36255d508a22",
               L"AmccS5933DK1TraceGuid", L"RDK_TRACE_INIT",
               L"RDK_TRACE_SHUTDOWN", L"RDK_TRACE_IO");
  __annotation(L"TMC:",
               L"5a08c3db"
               L"-"
               L"5c89"
               L"-"
               L"4089"
               L"-"
               L"bfdc"
               L"-"
               L"6b7b679faac3",
               L"AmccS5933DK1TraceGuid2", L"RDK2_TRACE_THIS",
               L"RDK2_TRACE_THAT");
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0xef2(%rip),%rsi
lea    0xf7f(%rip),%rdx
lea    0xfd0(%rip),%rcx
lea    0x1005(%rip),%r8
lea    0x104a(%rip),%r9
mov    $0x0,%al
call   1030 <__annotation@plt>
lea    0xeb4(%rip),%rdi
lea    0x1069(%rip),%rsi
lea    0x10f6(%rip),%rdx
lea    0x114b(%rip),%rcx
lea    0x1184(%rip),%r8
mov    $0x0,%al
call   1030 <__annotation@plt>
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
lea    0xee8(%rip),%rbx
lea    0xef5(%rip),%rsi
lea    0xf82(%rip),%rdx
lea    0xfd3(%rip),%rcx
lea    0x1008(%rip),%r8
lea    0x104d(%rip),%r9
mov    %rbx,%rdi
xor    %eax,%eax
call   1030 <__annotation@plt>
lea    0x1070(%rip),%rsi
lea    0x10fd(%rip),%rdx
lea    0x1152(%rip),%rcx
lea    0x118b(%rip),%r8
mov    %rbx,%rdi
xor    %eax,%eax
call   1030 <__annotation@plt>
xor    %eax,%eax
pop    %rbx
ret

LLVM IR (-O0):
@.str = [5 x i32] [i32 84, i32 77, i32 67, i32 58, i32 0]
@.str.1 = [37 x i32] [i32 102, i32 50, i32 53, i32 98, i32 54, i32 98, i32 52, i32 99, i32 45, i32 57, i32 56, i32 100, i32 57, i32 45, i32 52, i32 49, i32 98, i32 102, i32 45, i32 98, i32 102, i32 52, i32 56, i32 45, i32 51, i32 54, i32 50, i32 53, i32 53, i32 100, i32 53, i32 48, i32 56, i32 97, i32 50, i32 50, i32 0]
@.str.2 = [22 x i32] [i32 65, i32 109, i32 99, i32 99, i32 83, i32 53, i32 57, i32 51, i32 51, i32 68, i32 75, i32 49, i32 84, i32 114, i32 97, i32 99, i32 101, i32 71, i32 117, i32 105, i32 100, i32 0]
@.str.3 = [15 x i32] [i32 82, i32 68, i32 75, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 73, i32 78, i32 73, i32 84, i32 0]
@.str.4 = [19 x i32] [i32 82, i32 68, i32 75, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 83, i32 72, i32 85, i32 84, i32 68, i32 79, i32 87, i32 78, i32 0]
@.str.5 = [13 x i32] [i32 82, i32 68, i32 75, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 73, i32 79, i32 0]
@.str.6 = [37 x i32] [i32 53, i32 97, i32 48, i32 56, i32 99, i32 51, i32 100, i32 98, i32 45, i32 53, i32 99, i32 56, i32 57, i32 45, i32 52, i32 48, i32 56, i32 57, i32 45, i32 98, i32 102, i32 100, i32 99, i32 45, i32 54, i32 98, i32 55, i32 98, i32 54, i32 55, i32 57, i32 102, i32 97, i32 97, i32 99, i32 51, i32 0]
@.str.7 = [23 x i32] [i32 65, i32 109, i32 99, i32 99, i32 83, i32 53, i32 57, i32 51, i32 51, i32 68, i32 75, i32 49, i32 84, i32 114, i32 97, i32 99, i32 101, i32 71, i32 117, i32 105, i32 100, i32 50, i32 0]
@.str.8 = [16 x i32] [i32 82, i32 68, i32 75, i32 50, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 84, i32 72, i32 73, i32 83, i32 0]
@.str.9 = [16 x i32] [i32 82, i32 68, i32 75, i32 50, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 84, i32 72, i32 65, i32 84, i32 0]
define i32 @main() {
%1 = call i32 (i8*, i8*, i8*, i8*, i8*, ...) @__annotation(i8* bitcast ([5 x i32]* @.str to i8*), i8* bitcast ([37 x i32]* @.str.1 to i8*), i8* bitcast ([22 x i32]* @.str.2 to i8*), i8* bitcast ([15 x i32]* @.str.3 to i8*), i8* bitcast ([19 x i32]* @.str.4 to i8*), i32* getelementptr inbounds ([13 x i32], [13 x i32]* @.str.5, i64 0, i64 0))
%2 = call i32 (i8*, i8*, i8*, i8*, i8*, ...) @__annotation(i8* bitcast ([5 x i32]* @.str to i8*), i8* bitcast ([37 x i32]* @.str.6 to i8*), i8* bitcast ([23 x i32]* @.str.7 to i8*), i8* bitcast ([16 x i32]* @.str.8 to i8*), i8* bitcast ([16 x i32]* @.str.9 to i8*))
ret i32 0
}

LLVM IR (-O2):
@.str = [5 x i32] [i32 84, i32 77, i32 67, i32 58, i32 0]
@.str.1 = [37 x i32] [i32 102, i32 50, i32 53, i32 98, i32 54, i32 98, i32 52, i32 99, i32 45, i32 57, i32 56, i32 100, i32 57, i32 45, i32 52, i32 49, i32 98, i32 102, i32 45, i32 98, i32 102, i32 52, i32 56, i32 45, i32 51, i32 54, i32 50, i32 53, i32 53, i32 100, i32 53, i32 48, i32 56, i32 97, i32 50, i32 50, i32 0]
@.str.2 = [22 x i32] [i32 65, i32 109, i32 99, i32 99, i32 83, i32 53, i32 57, i32 51, i32 51, i32 68, i32 75, i32 49, i32 84, i32 114, i32 97, i32 99, i32 101, i32 71, i32 117, i32 105, i32 100, i32 0]
@.str.3 = [15 x i32] [i32 82, i32 68, i32 75, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 73, i32 78, i32 73, i32 84, i32 0]
@.str.4 = [19 x i32] [i32 82, i32 68, i32 75, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 83, i32 72, i32 85, i32 84, i32 68, i32 79, i32 87, i32 78, i32 0]
@.str.5 = [13 x i32] [i32 82, i32 68, i32 75, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 73, i32 79, i32 0]
@.str.6 = [37 x i32] [i32 53, i32 97, i32 48, i32 56, i32 99, i32 51, i32 100, i32 98, i32 45, i32 53, i32 99, i32 56, i32 57, i32 45, i32 52, i32 48, i32 56, i32 57, i32 45, i32 98, i32 102, i32 100, i32 99, i32 45, i32 54, i32 98, i32 55, i32 98, i32 54, i32 55, i32 57, i32 102, i32 97, i32 97, i32 99, i32 51, i32 0]
@.str.7 = [23 x i32] [i32 65, i32 109, i32 99, i32 99, i32 83, i32 53, i32 57, i32 51, i32 51, i32 68, i32 75, i32 49, i32 84, i32 114, i32 97, i32 99, i32 101, i32 71, i32 117, i32 105, i32 100, i32 50, i32 0]
@.str.8 = [16 x i32] [i32 82, i32 68, i32 75, i32 50, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 84, i32 72, i32 73, i32 83, i32 0]
@.str.9 = [16 x i32] [i32 82, i32 68, i32 75, i32 50, i32 95, i32 84, i32 82, i32 65, i32 67, i32 69, i32 95, i32 84, i32 72, i32 65, i32 84, i32 0]
define i32 @main() {
%1 = tail call i32 (i8*, i8*, i8*, i8*, i8*, ...) @__annotation(i8* bitcast ([5 x i32]* @.str to i8*), i8* bitcast ([37 x i32]* @.str.1 to i8*), i8* bitcast ([22 x i32]* @.str.2 to i8*), i8* bitcast ([15 x i32]* @.str.3 to i8*), i8* bitcast ([19 x i32]* @.str.4 to i8*), i32* getelementptr inbounds ([13 x i32], [13 x i32]* @.str.5, i64 0, i64 0))
%2 = tail call i32 (i8*, i8*, i8*, i8*, i8*, ...) @__annotation(i8* bitcast ([5 x i32]* @.str to i8*), i8* bitcast ([37 x i32]* @.str.6 to i8*), i8* bitcast ([23 x i32]* @.str.7 to i8*), i8* bitcast ([16 x i32]* @.str.8 to i8*), i8* bitcast ([16 x i32]* @.str.9 to i8*))
ret i32 0
}