#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 /*<<< orphan*/ version(char *);
void usage(char *name) {
  version(name);
  printf("Read a Tripos .mol2 file and generate something approximating a "
         "gromacs\n");
  printf(".gro and .itp from it.\n");
  printf("\tUses the following parameters and flags:\n");
  printf("\t\t-n                Common name for the .mol2, .gro, .itp, .top, "
         "and\n");
  printf(
      "\t\t                  .log files (the path to and name of the input\n");
  printf(
      "\t\t                  file stripped of the .mol2).  A revised .mol2\n");
  printf("\t\t                  file will be output to common nameMOL.mol2 as "
         "well.\n");
  printf("\t\t-dir              Absolute path to a directory that contains\n");
  printf("\t\t                  appropriate force field data.\n");
  printf(
      "\t\t                  For amber type force fields, including glycam,\n");
  printf("\t\t                  this would be a path to a directory that "
         "contains\n");
  printf("\t\t                  directories ./dat/antechamber and "
         "./dat/leap/parm\n");
  printf("\t\t                  (these in turn must contain appropriate "
         "antechamber\n");
  printf("\t\t                  and leap data files)\n");
  printf("\t\t                  For tripos force field this would be the value "
         "of\n");
  printf("\t\t                  Tripos variable $TA_ASCTABLES\n");
  printf("\t\t                  For gromacs force fields including oplsaa, "
         "this\n");
  printf("\t\t                  would be a path to a directory that contains "
         "the\n");
  printf(
      "\t\t                  files ATOMTYPE_GMX1.DEF, ATOMTYPE_gmx####.DEF,\n");
  printf("\t\t                  ffgmx####.dat (where #### designates the "
         "particular\n");
  printf("\t\t                  gromacs force field), ATOMTYPE_OPLSAA1.DEF,\n");
  printf("\t\t                  ATOMTYPE_oplsaa.DEF, and ffoplsaa.dat\n");
  printf("\t\t-ff               Force field to use, either tripos, gaff, "
         "glycam## or\n");
  printf("\t\t                  amber## (where ## designates the year of the "
         "glycam\n");
  printf("\t\t                  or amber file (the number between parm or the "
         "glycam\n");
  printf("\t\t                  and the .dat in /dat/leap/parm)), gmx#### "
         "(where\n");
  printf("\t\t                  #### designates the particular gromacs force "
         "field,\n");
  printf("\t\t                  or oplsaa.\n");
  printf("\t\t-r                Optional residue name to be used for all atoms "
         "in the\n");
  printf("\t\t                  output.\n");
  printf("\t\t-last             Optional last number of a topology to which "
         "this\n");
  printf("\t\t                  topology is to be appended.  The first number "
         "for an\n");
  printf("\t\t                  atom in this topology will be one more than "
         "the\n");
  printf("\t\t                  number given.  A -resnum is required along "
         "with this\n");
  printf("\t\t                  option.\n");
  printf("\t\t-resnum           Optional last residue number of a topology to "
         "which\n");
  printf("\t\t                  this topology is to be appended.  The first "
         "number\n");
  printf("\t\t                  for a residue in this topology will be one "
         "more than\n");
  printf("\t\t                  the number given.  A -last is required along "
         "with\n");
  printf("\t\t                  this option.\n");
  printf(
      "\t\t-renumall         Optional flag to renumber topology as well as\n");
  printf("\t\t                  coordinates to permit appending topology "
         "elements to\n");
  printf("\t\t                  a main topology to permit addition of "
         "inter-molecular\n");
  printf("\t\t                  restraints\n");
  printf("\t\t-meas             Optional flag to use measured bond lengths, "
         "angles\n");
  printf("\t\t                  and torsions.  Otherwise, use the values found "
         "in the\n");
  printf("\t\t                  selected forcefield.  Note that neither for "
         "oplsaa,\n");
  printf("\t\t                  nor for standard Ryckaert-Bellemans dihedrals "
         "is\n");
  printf("\t\t                  recalculation of the torsion parameters to the "
         "measured\n");
  printf("\t\t                  values done.\n");
  printf("\t\t-purge [level]    Optional flag to decrease the number of "
         "dihedral\n");
  printf("\t\t                  angles included in the topology.  A single "
         "digit\n");
  printf("\t\t                  between 0 and 5 can be specified to indicate "
         "the\n");
  printf("\t\t                  extent of the decrease with 0 as unpurged and "
         "5 as\n");
  printf("\t\t                  most stringent purge.  Default value is 1.\n");
  printf("\t\t-gro              Only write out gromacs coordinates (.gro) "
         "file.  The\n");
  printf("\t\t                  -r, -last, -resnum, -renumall, and -rename "
         "options\n");
  printf("\t\t                  will act upon the coordinate file "
         "appropriately.  The\n");
  printf("\t\t                  -meas option is inappliacble to gromacs "
         "coordinate\n");
  printf("\t\t                  files and will be ignored if specified.\n");
  printf("\t\t-move             Optional flag to translate the molecule so "
         "that it is\n");
  printf("\t\t                  centered on its center of mass.  This option "
         "conflicts\n");
  printf("\t\t                  with -renumall because it is assumed that "
         "-renumall\n");
  printf("\t\t                  is done for a molecule aligned with another to "
         "which\n");
  printf("\t\t                  this topology is to be added.\n");
  printf(
      "\t\t-rename           Optional flag to rename atoms for the output.\n");
  printf("\t\t-charge           Optional flag to assign charges from the force "
         "field\n");
  printf("\t\t                  atom types to replace the .mol2 charges.  "
         "Currently\n");
  printf("\t\t                  only works with oplsaa.\n\n");
  printf("\t\t-h                Prints program version information and this "
         "usage\n");
  printf("\t\t                  message.\n");
  printf("\t\t-H                Same as -h.\n");
  printf("\t\t-v                Prints program version information\n");
  printf("\t\t-V                Same as -v.\n");
  return;
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rdi
call   1040 <version@plt>
lea    0xec4(%rip),%rdi
call   1030 <printf@plt>
lea    0xf01(%rip),%rdi
call   1030 <printf@plt>
lea    0xf0d(%rip),%rdi
call   1030 <printf@plt>
lea    0xf2c(%rip),%rdi
call   1030 <printf@plt>
lea    0xf66(%rip),%rdi
call   1030 <printf@plt>
lea    0xf9d(%rip),%rdi
call   1030 <printf@plt>
lea    0xfd4(%rip),%rdi
call   1030 <printf@plt>
lea    0x1011(%rip),%rdi
call   1030 <printf@plt>
lea    0x1045(%rip),%rdi
call   1030 <printf@plt>
lea    0x106c(%rip),%rdi
call   1030 <printf@plt>
lea    0x10a4(%rip),%rdi
call   1030 <printf@plt>
lea    0x10df(%rip),%rdi
call   1030 <printf@plt>
lea    0x111a(%rip),%rdi
call   1030 <printf@plt>
lea    0x1157(%rip),%rdi
call   1030 <printf@plt>
lea    0x1175(%rip),%rdi
call   1030 <printf@plt>
lea    0x11b0(%rip),%rdi
call   1030 <printf@plt>
lea    0x11d7(%rip),%rdi
call   1030 <printf@plt>
lea    0x1210(%rip),%rdi
call   1030 <printf@plt>
lea    0x124a(%rip),%rdi
call   1030 <printf@plt>
lea    0x1282(%rip),%rdi
call   1030 <printf@plt>
lea    0x12bf(%rip),%rdi
call   1030 <printf@plt>
lea    0x12f4(%rip),%rdi
call   1030 <printf@plt>
lea    0x1323(%rip),%rdi
call   1030 <printf@plt>
lea    0x1361(%rip),%rdi
call   1030 <printf@plt>
lea    0x139e(%rip),%rdi
call   1030 <printf@plt>
lea    0x13dc(%rip),%rdi
call   1030 <printf@plt>
lea    0x1416(%rip),%rdi
call   1030 <printf@plt>
lea    0x1453(%rip),%rdi
call   1030 <printf@plt>
lea    0x1467(%rip),%rdi
call   1030 <printf@plt>
lea    0x14a6(%rip),%rdi
call   1030 <printf@plt>
lea    0x14b7(%rip),%rdi
call   1030 <printf@plt>
lea    0x14f1(%rip),%rdi
call   1030 <printf@plt>
lea    0x152f(%rip),%rdi
call   1030 <printf@plt>
lea    0x1568(%rip),%rdi
call   1030 <printf@plt>
lea    0x15a6(%rip),%rdi
call   1030 <printf@plt>
lea    0x15b7(%rip),%rdi
call   1030 <printf@plt>
lea    0x15f4(%rip),%rdi
call   1030 <printf@plt>
lea    0x1630(%rip),%rdi
call   1030 <printf@plt>
lea    0x166e(%rip),%rdi
call   1030 <printf@plt>
lea    0x16a9(%rip),%rdi
call   1030 <printf@plt>
lea    0x16bf(%rip),%rdi
call   1030 <printf@plt>
lea    0x16f6(%rip),%rdi
call   1030 <printf@plt>
lea    0x1734(%rip),%rdi
call   1030 <printf@plt>
lea    0x1773(%rip),%rdi
call   1030 <printf@plt>
lea    0x1787(%rip),%rdi
call   1030 <printf@plt>
lea    0x17c3(%rip),%rdi
call   1030 <printf@plt>
lea    0x1802(%rip),%rdi
call   1030 <printf@plt>
lea    0x183f(%rip),%rdi
call   1030 <printf@plt>
lea    0x1879(%rip),%rdi
call   1030 <printf@plt>
lea    0x18ba(%rip),%rdi
call   1030 <printf@plt>
lea    0x18d0(%rip),%rdi
call   1030 <printf@plt>
lea    0x190a(%rip),%rdi
call   1030 <printf@plt>
lea    0x1944(%rip),%rdi
call   1030 <printf@plt>
lea    0x197e(%rip),%rdi
call   1030 <printf@plt>
lea    0x19ba(%rip),%rdi
call   1030 <printf@plt>
lea    0x19ee(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a2c(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a68(%rip),%rdi
call   1030 <printf@plt>
lea    0x1aa7(%rip),%rdi
call   1030 <printf@plt>
lea    0x1ae3(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b14(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b53(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b93(%rip),%rdi
call   1030 <printf@plt>
lea    0x1bd0(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c0e(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c35(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c6c(%rip),%rdi
call   1030 <printf@plt>
lea    0x1caa(%rip),%rdi
call   1030 <printf@plt>
lea    0x1ce7(%rip),%rdi
call   1030 <printf@plt>
lea    0x1d09(%rip),%rdi
call   1030 <printf@plt>
lea    0x1d44(%rip),%rdi
call   1030 <printf@plt>
lea    0x1d56(%rip),%rdi
call   1030 <printf@plt>
lea    0x1d6b(%rip),%rdi
call   1030 <printf@plt>
lea    0x1d97(%rip),%rdi
call   1030 <printf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
push   %rax
call   1040 <version@plt>
lea    0xed3(%rip),%rdi
call   1030 <puts@plt>
lea    0xf0f(%rip),%rdi
call   1030 <puts@plt>
lea    0xf1a(%rip),%rdi
call   1030 <puts@plt>
lea    0xf38(%rip),%rdi
call   1030 <puts@plt>
lea    0xf71(%rip),%rdi
call   1030 <puts@plt>
lea    0xfa7(%rip),%rdi
call   1030 <puts@plt>
lea    0xfdd(%rip),%rdi
call   1030 <puts@plt>
lea    0x1019(%rip),%rdi
call   1030 <puts@plt>
lea    0x104c(%rip),%rdi
call   1030 <puts@plt>
lea    0x1072(%rip),%rdi
call   1030 <puts@plt>
lea    0x10a9(%rip),%rdi
call   1030 <puts@plt>
lea    0x10e3(%rip),%rdi
call   1030 <puts@plt>
lea    0x111d(%rip),%rdi
call   1030 <puts@plt>
lea    0x1159(%rip),%rdi
call   1030 <puts@plt>
lea    0x1176(%rip),%rdi
call   1030 <puts@plt>
lea    0x11b0(%rip),%rdi
call   1030 <puts@plt>
lea    0x11d6(%rip),%rdi
call   1030 <puts@plt>
lea    0x120e(%rip),%rdi
call   1030 <puts@plt>
lea    0x1247(%rip),%rdi
call   1030 <puts@plt>
lea    0x127e(%rip),%rdi
call   1030 <puts@plt>
lea    0x12ba(%rip),%rdi
call   1030 <puts@plt>
lea    0x12ee(%rip),%rdi
call   1030 <puts@plt>
lea    0x131c(%rip),%rdi
call   1030 <puts@plt>
lea    0x1359(%rip),%rdi
call   1030 <puts@plt>
lea    0x1395(%rip),%rdi
call   1030 <puts@plt>
lea    0x13d2(%rip),%rdi
call   1030 <puts@plt>
lea    0x140b(%rip),%rdi
call   1030 <puts@plt>
lea    0x1447(%rip),%rdi
call   1030 <puts@plt>
lea    0x145a(%rip),%rdi
call   1030 <puts@plt>
lea    0x1498(%rip),%rdi
call   1030 <puts@plt>
lea    0x14a8(%rip),%rdi
call   1030 <puts@plt>
lea    0x14e1(%rip),%rdi
call   1030 <puts@plt>
lea    0x151e(%rip),%rdi
call   1030 <puts@plt>
lea    0x1556(%rip),%rdi
call   1030 <puts@plt>
lea    0x1593(%rip),%rdi
call   1030 <puts@plt>
lea    0x15a3(%rip),%rdi
call   1030 <puts@plt>
lea    0x15df(%rip),%rdi
call   1030 <puts@plt>
lea    0x161a(%rip),%rdi
call   1030 <puts@plt>
lea    0x1657(%rip),%rdi
call   1030 <puts@plt>
lea    0x1691(%rip),%rdi
call   1030 <puts@plt>
lea    0x16a6(%rip),%rdi
call   1030 <puts@plt>
lea    0x16dc(%rip),%rdi
call   1030 <puts@plt>
lea    0x1719(%rip),%rdi
call   1030 <puts@plt>
lea    0x1757(%rip),%rdi
call   1030 <puts@plt>
lea    0x176a(%rip),%rdi
call   1030 <puts@plt>
lea    0x17a5(%rip),%rdi
call   1030 <puts@plt>
lea    0x17e3(%rip),%rdi
call   1030 <puts@plt>
lea    0x181f(%rip),%rdi
call   1030 <puts@plt>
lea    0x1858(%rip),%rdi
call   1030 <puts@plt>
lea    0x1898(%rip),%rdi
call   1030 <puts@plt>
lea    0x18ad(%rip),%rdi
call   1030 <puts@plt>
lea    0x18e6(%rip),%rdi
call   1030 <puts@plt>
lea    0x191f(%rip),%rdi
call   1030 <puts@plt>
lea    0x1958(%rip),%rdi
call   1030 <puts@plt>
lea    0x1993(%rip),%rdi
call   1030 <puts@plt>
lea    0x19c6(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a03(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a3e(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a7c(%rip),%rdi
call   1030 <puts@plt>
lea    0x1ab7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1ae7(%rip),%rdi
call   1030 <puts@plt>
lea    0x1b25(%rip),%rdi
call   1030 <puts@plt>
lea    0x1b64(%rip),%rdi
call   1030 <puts@plt>
lea    0x1ba0(%rip),%rdi
call   1030 <puts@plt>
lea    0x1bdd(%rip),%rdi
call   1030 <puts@plt>
lea    0x1c03(%rip),%rdi
call   1030 <puts@plt>
lea    0x1c39(%rip),%rdi
call   1030 <puts@plt>
lea    0x1c76(%rip),%rdi
call   1030 <puts@plt>
lea    0x1cb2(%rip),%rdi
call   1030 <puts@plt>
lea    0x1cd3(%rip),%rdi
call   1030 <puts@plt>
lea    0x1d0d(%rip),%rdi
call   1030 <puts@plt>
lea    0x1d1e(%rip),%rdi
call   1030 <puts@plt>
lea    0x1d32(%rip),%rdi
call   1030 <puts@plt>
lea    0x1d5d(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [73 x i8] c"Read a Tripos .mol2 file and generate something approximating a gromacs\0A\00"
@.str.1 = [24 x i8] c".gro and .itp from it.\0A\00"
@.str.2 = [43 x i8] c"\09Uses the following parameters and flags:\0A\00"
@.str.3 = [70 x i8] c"\09\09-n Common name for the .mol2, .gro, .itp, .top, and\0A\00"
@.str.4 = [67 x i8] c"\09\09 .log files (the path to and name of the input\0A\00"
@.str.5 = [67 x i8] c"\09\09 file stripped of the .mol2). A revised .mol2\0A\00"
@.str.6 = [73 x i8] c"\09\09 file will be output to common nameMOL.mol2 as well.\0A\00"
@.str.7 = [64 x i8] c"\09\09-dir Absolute path to a directory that contains\0A\00"
@.str.8 = [51 x i8] c"\09\09 appropriate force field data.\0A\00"
@.str.9 = [68 x i8] c"\09\09 For amber type force fields, including glycam,\0A\00"
@.str.10 = [71 x i8] c"\09\09 this would be a path to a directory that contains\0A\00"
@.str.11 = [71 x i8] c"\09\09 directories ./dat/antechamber and ./dat/leap/parm\0A\00"
@.str.12 = [73 x i8] c"\09\09 (these in turn must contain appropriate antechamber\0A\00"
@.str.13 = [42 x i8] c"\09\09 and leap data files)\0A\00"
@.str.14 = [71 x i8] c"\09\09 For tripos force field this would be the value of\0A\00"
@.str.15 = [51 x i8] c"\09\09 Tripos variable $TA_ASCTABLES\0A\00"
@.str.16 = [69 x i8] c"\09\09 For gromacs force fields including oplsaa, this\0A\00"
@.str.17 = [70 x i8] c"\09\09 would be a path to a directory that contains the\0A\00"
@.str.18 = [68 x i8] c"\09\09 files ATOMTYPE_GMX1.DEF, ATOMTYPE_gmx####.DEF,\0A\00"
@.str.19 = [73 x i8] c"\09\09 ffgmx####.dat (where #### designates the particular\0A\00"
@.str.20 = [65 x i8] c"\09\09 gromacs force field), ATOMTYPE_OPLSAA1.DEF,\0A\00"
@.str.21 = [59 x i8] c"\09\09 ATOMTYPE_oplsaa.DEF, and ffoplsaa.dat\0A\00"
@.str.22 = [74 x i8] c"\09\09-ff Force field to use, either tripos, gaff, glycam## or\0A\00"
@.str.23 = [73 x i8] c"\09\09 amber## (where ## designates the year of the glycam\0A\00"
@.str.24 = [74 x i8] c"\09\09 or amber file (the number between parm or the glycam\0A\00"
@.str.25 = [70 x i8] c"\09\09 and the .dat in /dat/leap/parm)), gmx#### (where\0A\00"
@.str.26 = [73 x i8] c"\09\09 #### designates the particular gromacs force field,\0A\00"
@.str.27 = [32 x i8] c"\09\09 or oplsaa.\0A\00"
@.str.28 = [75 x i8] c"\09\09-r Optional residue name to be used for all atoms in the\0A\00"
@.str.29 = [29 x i8] c"\09\09 output.\0A\00"
@.str.30 = [70 x i8] c"\09\09-last Optional last number of a topology to which this\0A\00"
@.str.31 = [74 x i8] c"\09\09 topology is to be appended. The first number for an\0A\00"
@.str.32 = [69 x i8] c"\09\09 atom in this topology will be one more than the\0A\00"
@.str.33 = [74 x i8] c"\09\09 number given. A -resnum is required along with this\0A\00"
@.str.34 = [29 x i8] c"\09\09 option.\0A\00"
@.str.35 = [73 x i8] c"\09\09-resnum Optional last residue number of a topology to which\0A\00"
@.str.36 = [72 x i8] c"\09\09 this topology is to be appended. The first number\0A\00"
@.str.37 = [74 x i8] c"\09\09 for a residue in this topology will be one more than\0A\00"
@.str.38 = [71 x i8] c"\09\09 the number given. A -last is required along with\0A\00"
@.str.39 = [34 x i8] c"\09\09 this option.\0A\00"
@.str.40 = [67 x i8] c"\09\09-renumall Optional flag to renumber topology as well as\0A\00"
@.str.41 = [74 x i8] c"\09\09 coordinates to permit appending topology elements to\0A\00"
@.str.42 = [75 x i8] c"\09\09 a main topology to permit addition of inter-molecular\0A\00"
@.str.43 = [32 x i8] c"\09\09 restraints\0A\00"
@.str.44 = [72 x i8] c"\09\09-meas Optional flag to use measured bond lengths, angles\0A\00"
@.str.45 = [75 x i8] c"\09\09 and torsions. Otherwise, use the values found in the\0A\00"
@.str.46 = [73 x i8] c"\09\09 selected forcefield. Note that neither for oplsaa,\0A\00"
@.str.47 = [70 x i8] c"\09\09 nor for standard Ryckaert-Bellemans dihedrals is\0A\00"
@.str.48 = [77 x i8] c"\09\09 recalculation of the torsion parameters to the measured\0A\00"
@.str.49 = [34 x i8] c"\09\09 values done.\0A\00"
@.str.50 = [70 x i8] c"\09\09-purge [level] Optional flag to decrease the number of dihedral\0A\00"
@.str.51 = [70 x i8] c"\09\09 angles included in the topology. A single digit\0A\00"
@.str.52 = [70 x i8] c"\09\09 between 0 and 5 can be specified to indicate the\0A\00"
@.str.53 = [72 x i8] c"\09\09 extent of the decrease with 0 as unpurged and 5 as\0A\00"
@.str.54 = [64 x i8] c"\09\09 most stringent purge. Default value is 1.\0A\00"
@.str.55 = [74 x i8] c"\09\09-gro Only write out gromacs coordinates (.gro) file. The\0A\00"
@.str.56 = [72 x i8] c"\09\09 -r, -last, -resnum, -renumall, and -rename options\0A\00"
@.str.57 = [75 x i8] c"\09\09 will act upon the coordinate file appropriately. The\0A\00"
@.str.58 = [72 x i8] c"\09\09 -meas option is inappliacble to gromacs coordinate\0A\00"
@.str.59 = [61 x i8] c"\09\09 files and will be ignored if specified.\0A\00"
@.str.60 = [75 x i8] c"\09\09-move Optional flag to translate the molecule so that it is\0A\00"
@.str.61 = [76 x i8] c"\09\09 centered on its center of mass. This option conflicts\0A\00"
@.str.62 = [73 x i8] c"\09\09 with -renumall because it is assumed that -renumall\0A\00"
@.str.63 = [74 x i8] c"\09\09 is done for a molecule aligned with another to which\0A\00"
@.str.64 = [51 x i8] c"\09\09 this topology is to be added.\0A\00"
@.str.65 = [67 x i8] c"\09\09-rename Optional flag to rename atoms for the output.\0A\00"
@.str.66 = [74 x i8] c"\09\09-charge Optional flag to assign charges from the force field\0A\00"
@.str.67 = [73 x i8] c"\09\09 atom types to replace the .mol2 charges. Currently\0A\00"
@.str.68 = [46 x i8] c"\09\09 only works with oplsaa.\0A\0A\00"
@.str.69 = [71 x i8] c"\09\09-h Prints program version information and this usage\0A\00"
@.str.70 = [30 x i8] c"\09\09 message.\0A\00"
@.str.71 = [33 x i8] c"\09\09-H Same as -h.\0A\00"
@.str.72 = [56 x i8] c"\09\09-v Prints program version information\0A\00"
@.str.73 = [33 x i8] c"\09\09-V Same as -v.\0A\00"
define void @usage(i8* %0) {
%2 = alloca i8*
store i8* %0, i8** %2
%3 = load i8*, i8** %2
%4 = call i32 @version(i8* %3)
%5 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str, i64 0, i64 0))
%6 = call i32 @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1, i64 0, i64 0))
%7 = call i32 @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.2, i64 0, i64 0))
%8 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.3, i64 0, i64 0))
%9 = call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.4, i64 0, i64 0))
%10 = call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.5, i64 0, i64 0))
%11 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.6, i64 0, i64 0))
%12 = call i32 @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.7, i64 0, i64 0))
%13 = call i32 @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.8, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.9, i64 0, i64 0))
%15 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.10, i64 0, i64 0))
%16 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.11, i64 0, i64 0))
%17 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.12, i64 0, i64 0))
%18 = call i32 @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.13, i64 0, i64 0))
%19 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.14, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.15, i64 0, i64 0))
%21 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.16, i64 0, i64 0))
%22 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.17, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.18, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.19, i64 0, i64 0))
%25 = call i32 @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.20, i64 0, i64 0))
%26 = call i32 @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.21, i64 0, i64 0))
%27 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.22, i64 0, i64 0))
%28 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.23, i64 0, i64 0))
%29 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.24, i64 0, i64 0))
%30 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.25, i64 0, i64 0))
%31 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.26, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.27, i64 0, i64 0))
%33 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.28, i64 0, i64 0))
%34 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.29, i64 0, i64 0))
%35 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.30, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.31, i64 0, i64 0))
%37 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.32, i64 0, i64 0))
%38 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.33, i64 0, i64 0))
%39 = call i32 @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.34, i64 0, i64 0))
%40 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.35, i64 0, i64 0))
%41 = call i32 @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.36, i64 0, i64 0))
%42 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.37, i64 0, i64 0))
%43 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.38, i64 0, i64 0))
%44 = call i32 @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.39, i64 0, i64 0))
%45 = call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.40, i64 0, i64 0))
%46 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.41, i64 0, i64 0))
%47 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.42, i64 0, i64 0))
%48 = call i32 @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.43, i64 0, i64 0))
%49 = call i32 @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.44, i64 0, i64 0))
%50 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.45, i64 0, i64 0))
%51 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.46, i64 0, i64 0))
%52 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.47, i64 0, i64 0))
%53 = call i32 @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.48, i64 0, i64 0))
%54 = call i32 @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.49, i64 0, i64 0))
%55 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.50, i64 0, i64 0))
%56 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.51, i64 0, i64 0))
%57 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.52, i64 0, i64 0))
%58 = call i32 @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.53, i64 0, i64 0))
%59 = call i32 @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.54, i64 0, i64 0))
%60 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.55, i64 0, i64 0))
%61 = call i32 @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.56, i64 0, i64 0))
%62 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.57, i64 0, i64 0))
%63 = call i32 @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.58, i64 0, i64 0))
%64 = call i32 @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.59, i64 0, i64 0))
%65 = call i32 @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.60, i64 0, i64 0))
%66 = call i32 @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.61, i64 0, i64 0))
%67 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.62, i64 0, i64 0))
%68 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.63, i64 0, i64 0))
%69 = call i32 @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.64, i64 0, i64 0))
%70 = call i32 @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.65, i64 0, i64 0))
%71 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.66, i64 0, i64 0))
%72 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.67, i64 0, i64 0))
%73 = call i32 @printf(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.68, i64 0, i64 0))
%74 = call i32 @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.69, i64 0, i64 0))
%75 = call i32 @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.70, i64 0, i64 0))
%76 = call i32 @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.71, i64 0, i64 0))
%77 = call i32 @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.72, i64 0, i64 0))
%78 = call i32 @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.73, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [72 x i8] c"Read a Tripos .mol2 file and generate something approximating a gromacs\00"
@str.74 = [23 x i8] c".gro and .itp from it.\00"
@str.75 = [42 x i8] c"\09Uses the following parameters and flags:\00"
@str.76 = [69 x i8] c"\09\09-n Common name for the .mol2, .gro, .itp, .top, and\00"
@str.77 = [66 x i8] c"\09\09 .log files (the path to and name of the input\00"
@str.78 = [66 x i8] c"\09\09 file stripped of the .mol2). A revised .mol2\00"
@str.79 = [72 x i8] c"\09\09 file will be output to common nameMOL.mol2 as well.\00"
@str.80 = [63 x i8] c"\09\09-dir Absolute path to a directory that contains\00"
@str.81 = [50 x i8] c"\09\09 appropriate force field data.\00"
@str.82 = [67 x i8] c"\09\09 For amber type force fields, including glycam,\00"
@str.83 = [70 x i8] c"\09\09 this would be a path to a directory that contains\00"
@str.84 = [70 x i8] c"\09\09 directories ./dat/antechamber and ./dat/leap/parm\00"
@str.85 = [72 x i8] c"\09\09 (these in turn must contain appropriate antechamber\00"
@str.86 = [41 x i8] c"\09\09 and leap data files)\00"
@str.87 = [70 x i8] c"\09\09 For tripos force field this would be the value of\00"
@str.88 = [50 x i8] c"\09\09 Tripos variable $TA_ASCTABLES\00"
@str.89 = [68 x i8] c"\09\09 For gromacs force fields including oplsaa, this\00"
@str.90 = [69 x i8] c"\09\09 would be a path to a directory that contains the\00"
@str.91 = [67 x i8] c"\09\09 files ATOMTYPE_GMX1.DEF, ATOMTYPE_gmx####.DEF,\00"
@str.92 = [72 x i8] c"\09\09 ffgmx####.dat (where #### designates the particular\00"
@str.93 = [64 x i8] c"\09\09 gromacs force field), ATOMTYPE_OPLSAA1.DEF,\00"
@str.94 = [58 x i8] c"\09\09 ATOMTYPE_oplsaa.DEF, and ffoplsaa.dat\00"
@str.95 = [73 x i8] c"\09\09-ff Force field to use, either tripos, gaff, glycam## or\00"
@str.96 = [72 x i8] c"\09\09 amber## (where ## designates the year of the glycam\00"
@str.97 = [73 x i8] c"\09\09 or amber file (the number between parm or the glycam\00"
@str.98 = [69 x i8] c"\09\09 and the .dat in /dat/leap/parm)), gmx#### (where\00"
@str.99 = [72 x i8] c"\09\09 #### designates the particular gromacs force field,\00"
@str.100 = [31 x i8] c"\09\09 or oplsaa.\00"
@str.101 = [74 x i8] c"\09\09-r Optional residue name to be used for all atoms in the\00"
@str.102 = [28 x i8] c"\09\09 output.\00"
@str.103 = [69 x i8] c"\09\09-last Optional last number of a topology to which this\00"
@str.104 = [73 x i8] c"\09\09 topology is to be appended. The first number for an\00"
@str.105 = [68 x i8] c"\09\09 atom in this topology will be one more than the\00"
@str.106 = [73 x i8] c"\09\09 number given. A -resnum is required along with this\00"
@str.107 = [28 x i8] c"\09\09 option.\00"
@str.108 = [72 x i8] c"\09\09-resnum Optional last residue number of a topology to which\00"
@str.109 = [71 x i8] c"\09\09 this topology is to be appended. The first number\00"
@str.110 = [73 x i8] c"\09\09 for a residue in this topology will be one more than\00"
@str.111 = [70 x i8] c"\09\09 the number given. A -last is required along with\00"
@str.112 = [33 x i8] c"\09\09 this option.\00"
@str.113 = [66 x i8] c"\09\09-renumall Optional flag to renumber topology as well as\00"
@str.114 = [73 x i8] c"\09\09 coordinates to permit appending topology elements to\00"
@str.115 = [74 x i8] c"\09\09 a main topology to permit addition of inter-molecular\00"
@str.116 = [31 x i8] c"\09\09 restraints\00"
@str.117 = [71 x i8] c"\09\09-meas Optional flag to use measured bond lengths, angles\00"
@str.118 = [74 x i8] c"\09\09 and torsions. Otherwise, use the values found in the\00"
@str.119 = [72 x i8] c"\09\09 selected forcefield. Note that neither for oplsaa,\00"
@str.120 = [69 x i8] c"\09\09 nor for standard Ryckaert-Bellemans dihedrals is\00"
@str.121 = [76 x i8] c"\09\09 recalculation of the torsion parameters to the measured\00"
@str.122 = [33 x i8] c"\09\09 values done.\00"
@str.123 = [69 x i8] c"\09\09-purge [level] Optional flag to decrease the number of dihedral\00"
@str.124 = [69 x i8] c"\09\09 angles included in the topology. A single digit\00"
@str.125 = [69 x i8] c"\09\09 between 0 and 5 can be specified to indicate the\00"
@str.126 = [71 x i8] c"\09\09 extent of the decrease with 0 as unpurged and 5 as\00"
@str.127 = [63 x i8] c"\09\09 most stringent purge. Default value is 1.\00"
@str.128 = [73 x i8] c"\09\09-gro Only write out gromacs coordinates (.gro) file. The\00"
@str.129 = [71 x i8] c"\09\09 -r, -last, -resnum, -renumall, and -rename options\00"
@str.130 = [74 x i8] c"\09\09 will act upon the coordinate file appropriately. The\00"
@str.131 = [71 x i8] c"\09\09 -meas option is inappliacble to gromacs coordinate\00"
@str.132 = [60 x i8] c"\09\09 files and will be ignored if specified.\00"
@str.133 = [74 x i8] c"\09\09-move Optional flag to translate the molecule so that it is\00"
@str.134 = [75 x i8] c"\09\09 centered on its center of mass. This option conflicts\00"
@str.135 = [72 x i8] c"\09\09 with -renumall because it is assumed that -renumall\00"
@str.136 = [73 x i8] c"\09\09 is done for a molecule aligned with another to which\00"
@str.137 = [50 x i8] c"\09\09 this topology is to be added.\00"
@str.138 = [66 x i8] c"\09\09-rename Optional flag to rename atoms for the output.\00"
@str.139 = [73 x i8] c"\09\09-charge Optional flag to assign charges from the force field\00"
@str.140 = [72 x i8] c"\09\09 atom types to replace the .mol2 charges. Currently\00"
@str.141 = [45 x i8] c"\09\09 only works with oplsaa.\0A\00"
@str.142 = [70 x i8] c"\09\09-h Prints program version information and this usage\00"
@str.143 = [29 x i8] c"\09\09 message.\00"
@str.144 = [32 x i8] c"\09\09-H Same as -h.\00"
@str.145 = [55 x i8] c"\09\09-v Prints program version information\00"
@str.146 = [32 x i8] c"\09\09-V Same as -v.\00"
define void @usage(i8* %0) {
%2 = tail call i32 @version(i8* %0)
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @str.74, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @str.75, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.76, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.77, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.78, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.79, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.80, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.81, i64 0, i64 0))
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.82, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.83, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.84, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.85, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.86, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.87, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.88, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.89, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.90, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.91, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.92, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.93, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @str.94, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.95, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.96, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.97, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.98, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.99, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @str.100, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.101, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str.102, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.103, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.104, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @str.105, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.106, i64 0, i64 0))
%37 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @str.107, i64 0, i64 0))
%38 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.108, i64 0, i64 0))
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.109, i64 0, i64 0))
%40 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.110, i64 0, i64 0))
%41 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.111, i64 0, i64 0))
%42 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @str.112, i64 0, i64 0))
%43 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.113, i64 0, i64 0))
%44 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.114, i64 0, i64 0))
%45 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.115, i64 0, i64 0))
%46 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @str.116, i64 0, i64 0))
%47 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.117, i64 0, i64 0))
%48 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.118, i64 0, i64 0))
%49 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.119, i64 0, i64 0))
%50 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.120, i64 0, i64 0))
%51 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.121, i64 0, i64 0))
%52 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @str.122, i64 0, i64 0))
%53 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.123, i64 0, i64 0))
%54 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.124, i64 0, i64 0))
%55 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.125, i64 0, i64 0))
%56 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.126, i64 0, i64 0))
%57 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.127, i64 0, i64 0))
%58 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.128, i64 0, i64 0))
%59 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.129, i64 0, i64 0))
%60 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.130, i64 0, i64 0))
%61 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([71 x i8], [71 x i8]* @str.131, i64 0, i64 0))
%62 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.132, i64 0, i64 0))
%63 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.133, i64 0, i64 0))
%64 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.134, i64 0, i64 0))
%65 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.135, i64 0, i64 0))
%66 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.136, i64 0, i64 0))
%67 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.137, i64 0, i64 0))
%68 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.138, i64 0, i64 0))
%69 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str.139, i64 0, i64 0))
%70 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([72 x i8], [72 x i8]* @str.140, i64 0, i64 0))
%71 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([45 x i8], [45 x i8]* @str.141, i64 0, i64 0))
%72 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.142, i64 0, i64 0))
%73 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @str.143, i64 0, i64 0))
%74 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.144, i64 0, i64 0))
%75 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([55 x i8], [55 x i8]* @str.145, i64 0, i64 0))
%76 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @str.146, i64 0, i64 0))
ret void
}