#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*/ fprintf(int /*<<< orphan*/, char *, int, int);
int /*<<< orphan*/ stderr;
void PrintVersion(void) {
  fprintf(stderr,
          "                                                                    "
          "   \n"
          "                            ============                            "
          "   \n"
          "                            | GeCo %u.%u |                          "
          "   \n"
          "                            ============                            "
          "   \n"
          "                                                                    "
          "   \n"
          "[ A compressor and analyzer for multiple genomic [A,C,G,T] "
          "sequences ] \n"
          "Copyright (C) 2014-2015 University of Aveiro. This is a Free "
          "software. \n"
          "You may redistribute copies of it under the terms of the GNU - "
          "General \n"
          "Public License v2 <http://www.gnu.org/licenses/gpl.html>. There is "
          "NOT \n"
          "ANY WARRANTY, to the extent permitted by law. Developed and Written "
          "by \n"
          "Diogo Pratas, Armando J. Pinho and Paulo J. S. G. Ferreira.\n\n",
          2, 1);
}


x86 assembly (clang, -O0):
<PrintVersion>:
push   %rbp
mov    %rsp,%rbp
mov    0x2ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
mov    $0x2,%edx
mov    $0x1,%ecx
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<PrintVersion>:
mov    0x2ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
mov    $0x2,%edx
mov    $0x1,%ecx
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [782 x i8] c" \0A ============ \0A | GeCo %u.%u | \0A ============ \0A \0A[ A compressor and analyzer for multiple genomic [A,C,G,T] sequences ] \0ACopyright (C) 2014-2015 University of Aveiro. This is a Free software. \0AYou may redistribute copies of it under the terms of the GNU - General \0APublic License v2 <http://www.gnu.org/licenses/gpl.html>. There is NOT \0AANY WARRANTY, to the extent permitted by law. Developed and Written by \0ADiogo Pratas, Armando J. Pinho and Paulo J. S. G. Ferreira.\0A\0A\00"
define void @PrintVersion() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([782 x i8], [782 x i8]* @.str, i64 0, i64 0), i32 2, i32 1)
ret void
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [782 x i8] c" \0A ============ \0A | GeCo %u.%u | \0A ============ \0A \0A[ A compressor and analyzer for multiple genomic [A,C,G,T] sequences ] \0ACopyright (C) 2014-2015 University of Aveiro. This is a Free software. \0AYou may redistribute copies of it under the terms of the GNU - General \0APublic License v2 <http://www.gnu.org/licenses/gpl.html>. There is NOT \0AANY WARRANTY, to the extent permitted by law. Developed and Written by \0ADiogo Pratas, Armando J. Pinho and Paulo J. S. G. Ferreira.\0A\0A\00"
define void @PrintVersion() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([782 x i8], [782 x i8]* @.str, i64 0, i64 0), i32 2, i32 1)
ret void
}