#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 license() {
  printf(
      "\nMetaCalc is a program to calculate common (not individual!) \n"
      "metabolites of molecules.\n"
      "Its purpose is to avoid drawing every single possible structure in 2D \n"
      "drawing software to receive monoisotopic molecular masses of "
      "compounds.\n"
      "This tool might be usefull for high resolution mass spectrometry and \n"
      "in particular for metabolism studies using such techniques.\n\n"
      "Copyright (C) 2017  Sascha Manier (SaschaManier@posteo.de)\n\n"
      "This program is free software: you can redistribute it and/or modify\n"
      "it under the terms of the GNU General Public License as published by\n"
      "the Free Software Foundation version 3 of the License.\n\n"
      "This program is distributed in the hope that it will be useful,\n"
      "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
      "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
      "GNU General Public License for more details.\n\n"
      "You should have received a copy of the GNU General Public License\n"
      "along with this program. If not, see http://www.gnu.org/licenses/.\n\n");
}


x86 assembly (clang, -O0):
<license>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<license>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [985 x i8] c"\0AMetaCalc is a program to calculate common (not individual!) \0Ametabolites of molecules.\0AIts purpose is to avoid drawing every single possible structure in 2D \0Adrawing software to receive monoisotopic molecular masses of compounds.\0AThis tool might be usefull for high resolution mass spectrometry and \0Ain particular for metabolism studies using such techniques.\0A\0ACopyright (C) 2017 Sascha Manier (SaschaManier@posteo.de)\0A\0AThis program is free software: you can redistribute it and/or modify\0Ait under the terms of the GNU General Public License as published by\0Athe Free Software Foundation version 3 of the License.\0A\0AThis program is distributed in the hope that it will be useful,\0Abut WITHOUT ANY WARRANTY; without even the implied warranty of\0AMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\0AGNU General Public License for more details.\0A\0AYou should have received a copy of the GNU General Public License\0Aalong with this program. If not, see http://www.gnu.org/licenses/.\0A\0A\00"
define void @license() {
%1 = call i32 @printf(i8* getelementptr inbounds ([985 x i8], [985 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [984 x i8] c"\0AMetaCalc is a program to calculate common (not individual!) \0Ametabolites of molecules.\0AIts purpose is to avoid drawing every single possible structure in 2D \0Adrawing software to receive monoisotopic molecular masses of compounds.\0AThis tool might be usefull for high resolution mass spectrometry and \0Ain particular for metabolism studies using such techniques.\0A\0ACopyright (C) 2017 Sascha Manier (SaschaManier@posteo.de)\0A\0AThis program is free software: you can redistribute it and/or modify\0Ait under the terms of the GNU General Public License as published by\0Athe Free Software Foundation version 3 of the License.\0A\0AThis program is distributed in the hope that it will be useful,\0Abut WITHOUT ANY WARRANTY; without even the implied warranty of\0AMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\0AGNU General Public License for more details.\0A\0AYou should have received a copy of the GNU General Public License\0Aalong with this program. If not, see http://www.gnu.org/licenses/.\0A\00"
define void @license() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([984 x i8], [984 x i8]* @str, i64 0, i64 0))
ret void
}