#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 print_help() {
  printf(
      "\nusage: draw_membrane2a [OPTIONS] infix\n"
      "\n"
      "This program takes the dielectric, kappa, and charge maps from APBS "
      "and\n"
      "accounts for the membrane. The thickness (-d) and the bottom of the\n"
      "membrane (-z) must be given. We assume that the membrane normal is\n"
      "along the z-axis. This requires lining the protein along the z-axis\n"
      "before running this program.  We also output a charge_change_map that\n"
      "tells me which positions in the charge matrix were edited by the\n"
      "addition of the membrane.\n"
      "If a headgroup region (-a l_h -i IDIE) is selected, then the "
      "hydrophobic core\n"
      "of the membrane (eps=MDIE) is modelled with a thickness of l_m - "
      "2*l_h.\n"
      "A cone-shaped or cylindrical exclusion zone can be specified (options "
      "-r, -R, \n"
      "-X, -Y and -c) to ensure that pores and cavities are calculated with a\n"
      "bulk-like dielectric (by default, it uses the same value as -s).\n"
      "\n"
      "ARGUMENTS:\n"
      "\n"
      "  infix  - all maps are constructed as <name><infix>.dx[.gz] where "
      "<name> is\n"
      "           hard-coded (dielx,diely,dielz,kappa,charge); see also "
      "OUTPUTS.\n"
      "\n"
      "OPTIONS:\n"
      "  -h          this help\n"
      "  -z z_m0     bottom of the membrane [-20]\n"
      "  -d l_m      total membrane thickness (Angstrom) [40]\n"
      "  -a l_h      headgroup thickness (Angstrom) [0]\n"
      "  -V V        cytoplasmic potential (kT/e)  [0] UNTESTED\n"
      "  -I I        molar conc. of one salt-species [0.1]\n"
      "  -R R_m1     excl. radius at top of  membrane [0]\n"
      "  -r R_m0     excl. radius at  bottom of membrane [0]\n"
      "  -X x0_R     centre of excl.zone in protein coordinates [centre of "
      "map]\n"
      "  -Y y0_R     centre of excl.zone in protein coordinates [centre of "
      "map]\n"
      "  -p PDIE     protein dielectric constant (must be SAME as in APBS!) "
      "[10]\n"
      "  -s SDIE     solvent dielectric (only used as default for CDIE) [80]\n"
      "  -c CDIE     channel dielectric for (z_m0,R_m0)->(z_m0+l_m,R_m1) "
      "[SDIE]\n"
      "  -m MDIE     membrane dielectric [2]\n"
      "  -i IDIE     headgroup dielectric [MDIR]\n"
      "  -Z          read and write gzipped files\n"
      "\n"
      "OUTPUTS:\n"
      "  maps - names are <name><infix>m.dx[.gz]\n"
      "\n");
}


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

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

LLVM IR (-O0):
@.str = [1941 x i8] c"\0Ausage: draw_membrane2a [OPTIONS] infix\0A\0AThis program takes the dielectric, kappa, and charge maps from APBS and\0Aaccounts for the membrane. The thickness (-d) and the bottom of the\0Amembrane (-z) must be given. We assume that the membrane normal is\0Aalong the z-axis. This requires lining the protein along the z-axis\0Abefore running this program. We also output a charge_change_map that\0Atells me which positions in the charge matrix were edited by the\0Aaddition of the membrane.\0AIf a headgroup region (-a l_h -i IDIE) is selected, then the hydrophobic core\0Aof the membrane (eps=MDIE) is modelled with a thickness of l_m - 2*l_h.\0AA cone-shaped or cylindrical exclusion zone can be specified (options -r, -R, \0A-X, -Y and -c) to ensure that pores and cavities are calculated with a\0Abulk-like dielectric (by default, it uses the same value as -s).\0A\0AARGUMENTS:\0A\0A infix - all maps are constructed as <name><infix>.dx[.gz] where <name> is\0A hard-coded (dielx,diely,dielz,kappa,charge); see also OUTPUTS.\0A\0AOPTIONS:\0A -h this help\0A -z z_m0 bottom of the membrane [-20]\0A -d l_m total membrane thickness (Angstrom) [40]\0A -a l_h headgroup thickness (Angstrom) [0]\0A -V V cytoplasmic potential (kT/e) [0] UNTESTED\0A -I I molar conc. of one salt-species [0.1]\0A -R R_m1 excl. radius at top of membrane [0]\0A -r R_m0 excl. radius at bottom of membrane [0]\0A -X x0_R centre of excl.zone in protein coordinates [centre of map]\0A -Y y0_R centre of excl.zone in protein coordinates [centre of map]\0A -p PDIE protein dielectric constant (must be SAME as in APBS!) [10]\0A -s SDIE solvent dielectric (only used as default for CDIE) [80]\0A -c CDIE channel dielectric for (z_m0,R_m0)->(z_m0+l_m,R_m1) [SDIE]\0A -m MDIE membrane dielectric [2]\0A -i IDIE headgroup dielectric [MDIR]\0A -Z read and write gzipped files\0A\0AOUTPUTS:\0A maps - names are <name><infix>m.dx[.gz]\0A\0A\00"
define void @print_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1941 x i8], [1941 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [1940 x i8] c"\0Ausage: draw_membrane2a [OPTIONS] infix\0A\0AThis program takes the dielectric, kappa, and charge maps from APBS and\0Aaccounts for the membrane. The thickness (-d) and the bottom of the\0Amembrane (-z) must be given. We assume that the membrane normal is\0Aalong the z-axis. This requires lining the protein along the z-axis\0Abefore running this program. We also output a charge_change_map that\0Atells me which positions in the charge matrix were edited by the\0Aaddition of the membrane.\0AIf a headgroup region (-a l_h -i IDIE) is selected, then the hydrophobic core\0Aof the membrane (eps=MDIE) is modelled with a thickness of l_m - 2*l_h.\0AA cone-shaped or cylindrical exclusion zone can be specified (options -r, -R, \0A-X, -Y and -c) to ensure that pores and cavities are calculated with a\0Abulk-like dielectric (by default, it uses the same value as -s).\0A\0AARGUMENTS:\0A\0A infix - all maps are constructed as <name><infix>.dx[.gz] where <name> is\0A hard-coded (dielx,diely,dielz,kappa,charge); see also OUTPUTS.\0A\0AOPTIONS:\0A -h this help\0A -z z_m0 bottom of the membrane [-20]\0A -d l_m total membrane thickness (Angstrom) [40]\0A -a l_h headgroup thickness (Angstrom) [0]\0A -V V cytoplasmic potential (kT/e) [0] UNTESTED\0A -I I molar conc. of one salt-species [0.1]\0A -R R_m1 excl. radius at top of membrane [0]\0A -r R_m0 excl. radius at bottom of membrane [0]\0A -X x0_R centre of excl.zone in protein coordinates [centre of map]\0A -Y y0_R centre of excl.zone in protein coordinates [centre of map]\0A -p PDIE protein dielectric constant (must be SAME as in APBS!) [10]\0A -s SDIE solvent dielectric (only used as default for CDIE) [80]\0A -c CDIE channel dielectric for (z_m0,R_m0)->(z_m0+l_m,R_m1) [SDIE]\0A -m MDIE membrane dielectric [2]\0A -i IDIE headgroup dielectric [MDIR]\0A -Z read and write gzipped files\0A\0AOUTPUTS:\0A maps - names are <name><infix>m.dx[.gz]\0A\00"
define void @print_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1940 x i8], [1940 x i8]* @str, i64 0, i64 0))
ret void
}