#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 option_help() {
  printf(
      "[OPTIONS] : \n"
      "                                                     \n"
      "Ab Initio Method:                                    \n"
      "-HF             Hartree-Fock (default)\n"
      "-DFT=S:VWN5     DFT - exchange: Slater  correlation: VWN5\n"
      "-DFT=S:CHACHIYO DFT - exchange: Slater  correlation: CHACHIYO\n"
      "-Q=INT          Set total molecular charge (default=0)\n"
      "-M=INT          Set molecular spin multiplicity (M=2S+1)\n"
      "-R              Use restricted   orbitals (default if singlet)\n"
      "-U              Use unrestricted orbitals (default if  M > 1 )\n"
      "                                                           \n"
      "Post SCF:                                                  \n"
      "-FORCE          Compute forces acting on nuclei\n"
      "-OPT            Request geometry optimization\n"
      "-MP2            Request MP2 energy calculations\n"
      "-MECP=INT,INT   Request MECP between two spin multiplicities\n"
      "-EXCITE         Request excited state calculations\n"
      "-QMD            Request quantum molecular dynamics simulation\n"
      "                                                                     \n"
      "SCF Cycle:                                                           \n"
      "-GUESS=DIAG     Use identity density matrix as initial guess (default)\n"
      "-GUESS=CORE     Use density from core hamiltonian as initial guess\n"
      "-GUESS=CHECK    Use density from checkpoint as initial guess\n"
      "-SCFDIIS        Use 4-point DIIS method for convergence (default)\n"
      "-SCFDIIS3       Use 3-point DIIS method for convergence\n"
      "-SCFDIIS2       Use 2-point DIIS method for convergence\n"
      "-SCFDAMP        Use simple weighting method for convergence\n"
      "-SCFDRAG=REAL   Set SCF drag coefficient between 0 to 1 (default=0.25)\n"
      "-SCFCONV=REAL   Set SCF convergence threshold (default=1.0E-6)\n"
      "-SCFMAX=INT     Set maximum number of scf cycle (default=80)\n"
      "-SCFACC=3STEP   Use increasing integral accuracy in 3 steps (default)\n"
      "-SCFACC=1STEP   Use fixed integral accuracy\n"
      "-MAXMEM=INT     Set maximum memory per CPU in Mbyte (default=250)\n"
      "                                                        \n"
      "Checkpoint File:\n"
      "-LCHECK         Do not perform SCF but load info from checkpoint\n"
      "-SCHECK         Save checkpoint file at the end (default=no)\n"
      "-SCHECK=ALL     Save checkpoint file every scf cycle (default=no)\n"
      "-FCHECK=STR     Set file name for checkpoint (default=checkpoint.txt)\n"
      "-LDMATRIX       Load density matrix at the beginning (default=no)\n"
      "-SDMATRIX       Save density matrix at the end (default=no)\n"
      "-FDMATRIX=STR   Set file name for density matrix (default=dmatrix.txt)\n"
      "                                                         \n"
      "Output:                                           \n"
      "-DENSITY        Print electron density   volume information\n"
      "-POTENTIAL      Print electric potential volume information\n"
      "-MOUP=INT       Print spin up mo. volume info (index starts at 1)\n"
      "-MODN=INT       Print spin dn mo. volume info (index starts at 1)\n"
      "-VOLCUT=REAL    Set accuracy for computing volume info "
      "(default=1.0E-4)\n"
      "-XSF            Volume info. will be in XSF  format to 'volume.xsf'\n"
      "-CUBE           Volume info. will be in CUBE format to 'volume.cube'\n"
      "-GAUSSIAN       Emulate Gaussian output to 'gaussian.log' (for "
      "GabEdit)\n"
      "                                                         \n"
      "Parallel Run:                                            \n"
      "-NCPU=INT       Set the number of CPUs (default=1)\n"
      "-PREFIX=STR     Set prefix string for the job (default=SQ)\n"
      "                                                         \n"
      "Geometry Optimization:                                   \n"
      "-OPTMAX=INT     Maximum number of iterations (default=30) \n"
      "                                                         \n"
      "Minimum Energy Crossing Point (MECP):                    \n"
      "-MECPMAX=INT    Maximum number of iterations (default=30) \n"
      "-FCHECKA=STR    State A checkpoint file name (default=checkpointA.txt)\n"
      "-FCHECKB=STR    State B checkpoint file name (default=checkpointB.txt)\n"
      "-FDMATRIXA=STR  State A density matrix file name "
      "(default=dmatrixA.txt)\n"
      "-FDMATRIXB=STR  State B density matrix file name "
      "(default=dmatrixB.txt)\n"
      "-GAUSSINA=STR   State A Gaussian input file name (excluding .com)\n"
      "-GAUSSINB=STR   State B Gaussian input file name (excluding .com)\n"
      "-GAUSSEXE=STR   Gaussian program execution string\n"
      "                                                      \n"
      "External Field:\n"
      "-EF=EX,EY,EZ    Uniform electric field in AU (default=0.0,0.0,0.0)\n"
      "                Electric field 1 AU = 51.4220652 Volt/Angstrom\n"
      "                                                      \n"
      "Quantum Molecular Dynamics (QMD):                     \n"
      "-INITVEL=STR    Initial velocity from the file in xyz format  (nm/ps)\n"
      "-INITTEMP=REAL  Initial velocity at random using the temp.   (kelvin)\n"
      "-KEEPTEMP=REAL  Rescale velocity to maintain the temp. (default=none)\n"
      "-TRAJ=STR       Set output trajectory file         (default=traj.xyz)\n"
      "-DT=REAL        Set time step in pico-sec             (default=0.001)\n"
      "-QMDMAX=INT     Set maximum number of steps           (default=25)\n"
      "-EFREQ=REAL     Set electric field frequency in THz   (default=0.0)\n");
}


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

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

LLVM IR (-O0):
@.str = [4922 x i8] c"[OPTIONS] : \0A \0AAb Initio Method: \0A-HF Hartree-Fock (default)\0A-DFT=S:VWN5 DFT - exchange: Slater correlation: VWN5\0A-DFT=S:CHACHIYO DFT - exchange: Slater correlation: CHACHIYO\0A-Q=INT Set total molecular charge (default=0)\0A-M=INT Set molecular spin multiplicity (M=2S+1)\0A-R Use restricted orbitals (default if singlet)\0A-U Use unrestricted orbitals (default if M > 1 )\0A \0APost SCF: \0A-FORCE Compute forces acting on nuclei\0A-OPT Request geometry optimization\0A-MP2 Request MP2 energy calculations\0A-MECP=INT,INT Request MECP between two spin multiplicities\0A-EXCITE Request excited state calculations\0A-QMD Request quantum molecular dynamics simulation\0A \0ASCF Cycle: \0A-GUESS=DIAG Use identity density matrix as initial guess (default)\0A-GUESS=CORE Use density from core hamiltonian as initial guess\0A-GUESS=CHECK Use density from checkpoint as initial guess\0A-SCFDIIS Use 4-point DIIS method for convergence (default)\0A-SCFDIIS3 Use 3-point DIIS method for convergence\0A-SCFDIIS2 Use 2-point DIIS method for convergence\0A-SCFDAMP Use simple weighting method for convergence\0A-SCFDRAG=REAL Set SCF drag coefficient between 0 to 1 (default=0.25)\0A-SCFCONV=REAL Set SCF convergence threshold (default=1.0E-6)\0A-SCFMAX=INT Set maximum number of scf cycle (default=80)\0A-SCFACC=3STEP Use increasing integral accuracy in 3 steps (default)\0A-SCFACC=1STEP Use fixed integral accuracy\0A-MAXMEM=INT Set maximum memory per CPU in Mbyte (default=250)\0A \0ACheckpoint File:\0A-LCHECK Do not perform SCF but load info from checkpoint\0A-SCHECK Save checkpoint file at the end (default=no)\0A-SCHECK=ALL Save checkpoint file every scf cycle (default=no)\0A-FCHECK=STR Set file name for checkpoint (default=checkpoint.txt)\0A-LDMATRIX Load density matrix at the beginning (default=no)\0A-SDMATRIX Save density matrix at the end (default=no)\0A-FDMATRIX=STR Set file name for density matrix (default=dmatrix.txt)\0A \0AOutput: \0A-DENSITY Print electron density volume information\0A-POTENTIAL Print electric potential volume information\0A-MOUP=INT Print spin up mo. volume info (index starts at 1)\0A-MODN=INT Print spin dn mo. volume info (index starts at 1)\0A-VOLCUT=REAL Set accuracy for computing volume info (default=1.0E-4)\0A-XSF Volume info. will be in XSF format to 'volume.xsf'\0A-CUBE Volume info. will be in CUBE format to 'volume.cube'\0A-GAUSSIAN Emulate Gaussian output to 'gaussian.log' (for GabEdit)\0A \0AParallel Run: \0A-NCPU=INT Set the number of CPUs (default=1)\0A-PREFIX=STR Set prefix string for the job (default=SQ)\0A \0AGeometry Optimization: \0A-OPTMAX=INT Maximum number of iterations (default=30) \0A \0AMinimum Energy Crossing Point (MECP): \0A-MECPMAX=INT Maximum number of iterations (default=30) \0A-FCHECKA=STR State A checkpoint file name (default=checkpointA.txt)\0A-FCHECKB=STR State B checkpoint file name (default=checkpointB.txt)\0A-FDMATRIXA=STR State A density matrix file name (default=dmatrixA.txt)\0A-FDMATRIXB=STR State B density matrix file name (default=dmatrixB.txt)\0A-GAUSSINA=STR State A Gaussian input file name (excluding .com)\0A-GAUSSINB=STR State B Gaussian input file name (excluding .com)\0A-GAUSSEXE=STR Gaussian program execution string\0A \0AExternal Field:\0A-EF=EX,EY,EZ Uniform electric field in AU (default=0.0,0.0,0.0)\0A Electric field 1 AU = 51.4220652 Volt/Angstrom\0A \0AQuantum Molecular Dynamics (QMD): \0A-INITVEL=STR Initial velocity from the file in xyz format (nm/ps)\0A-INITTEMP=REAL Initial velocity at random using the temp. (kelvin)\0A-KEEPTEMP=REAL Rescale velocity to maintain the temp. (default=none)\0A-TRAJ=STR Set output trajectory file (default=traj.xyz)\0A-DT=REAL Set time step in pico-sec (default=0.001)\0A-QMDMAX=INT Set maximum number of steps (default=25)\0A-EFREQ=REAL Set electric field frequency in THz (default=0.0)\0A\00"
define void @option_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([4922 x i8], [4922 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [4921 x i8] c"[OPTIONS] : \0A \0AAb Initio Method: \0A-HF Hartree-Fock (default)\0A-DFT=S:VWN5 DFT - exchange: Slater correlation: VWN5\0A-DFT=S:CHACHIYO DFT - exchange: Slater correlation: CHACHIYO\0A-Q=INT Set total molecular charge (default=0)\0A-M=INT Set molecular spin multiplicity (M=2S+1)\0A-R Use restricted orbitals (default if singlet)\0A-U Use unrestricted orbitals (default if M > 1 )\0A \0APost SCF: \0A-FORCE Compute forces acting on nuclei\0A-OPT Request geometry optimization\0A-MP2 Request MP2 energy calculations\0A-MECP=INT,INT Request MECP between two spin multiplicities\0A-EXCITE Request excited state calculations\0A-QMD Request quantum molecular dynamics simulation\0A \0ASCF Cycle: \0A-GUESS=DIAG Use identity density matrix as initial guess (default)\0A-GUESS=CORE Use density from core hamiltonian as initial guess\0A-GUESS=CHECK Use density from checkpoint as initial guess\0A-SCFDIIS Use 4-point DIIS method for convergence (default)\0A-SCFDIIS3 Use 3-point DIIS method for convergence\0A-SCFDIIS2 Use 2-point DIIS method for convergence\0A-SCFDAMP Use simple weighting method for convergence\0A-SCFDRAG=REAL Set SCF drag coefficient between 0 to 1 (default=0.25)\0A-SCFCONV=REAL Set SCF convergence threshold (default=1.0E-6)\0A-SCFMAX=INT Set maximum number of scf cycle (default=80)\0A-SCFACC=3STEP Use increasing integral accuracy in 3 steps (default)\0A-SCFACC=1STEP Use fixed integral accuracy\0A-MAXMEM=INT Set maximum memory per CPU in Mbyte (default=250)\0A \0ACheckpoint File:\0A-LCHECK Do not perform SCF but load info from checkpoint\0A-SCHECK Save checkpoint file at the end (default=no)\0A-SCHECK=ALL Save checkpoint file every scf cycle (default=no)\0A-FCHECK=STR Set file name for checkpoint (default=checkpoint.txt)\0A-LDMATRIX Load density matrix at the beginning (default=no)\0A-SDMATRIX Save density matrix at the end (default=no)\0A-FDMATRIX=STR Set file name for density matrix (default=dmatrix.txt)\0A \0AOutput: \0A-DENSITY Print electron density volume information\0A-POTENTIAL Print electric potential volume information\0A-MOUP=INT Print spin up mo. volume info (index starts at 1)\0A-MODN=INT Print spin dn mo. volume info (index starts at 1)\0A-VOLCUT=REAL Set accuracy for computing volume info (default=1.0E-4)\0A-XSF Volume info. will be in XSF format to 'volume.xsf'\0A-CUBE Volume info. will be in CUBE format to 'volume.cube'\0A-GAUSSIAN Emulate Gaussian output to 'gaussian.log' (for GabEdit)\0A \0AParallel Run: \0A-NCPU=INT Set the number of CPUs (default=1)\0A-PREFIX=STR Set prefix string for the job (default=SQ)\0A \0AGeometry Optimization: \0A-OPTMAX=INT Maximum number of iterations (default=30) \0A \0AMinimum Energy Crossing Point (MECP): \0A-MECPMAX=INT Maximum number of iterations (default=30) \0A-FCHECKA=STR State A checkpoint file name (default=checkpointA.txt)\0A-FCHECKB=STR State B checkpoint file name (default=checkpointB.txt)\0A-FDMATRIXA=STR State A density matrix file name (default=dmatrixA.txt)\0A-FDMATRIXB=STR State B density matrix file name (default=dmatrixB.txt)\0A-GAUSSINA=STR State A Gaussian input file name (excluding .com)\0A-GAUSSINB=STR State B Gaussian input file name (excluding .com)\0A-GAUSSEXE=STR Gaussian program execution string\0A \0AExternal Field:\0A-EF=EX,EY,EZ Uniform electric field in AU (default=0.0,0.0,0.0)\0A Electric field 1 AU = 51.4220652 Volt/Angstrom\0A \0AQuantum Molecular Dynamics (QMD): \0A-INITVEL=STR Initial velocity from the file in xyz format (nm/ps)\0A-INITTEMP=REAL Initial velocity at random using the temp. (kelvin)\0A-KEEPTEMP=REAL Rescale velocity to maintain the temp. (default=none)\0A-TRAJ=STR Set output trajectory file (default=traj.xyz)\0A-DT=REAL Set time step in pico-sec (default=0.001)\0A-QMDMAX=INT Set maximum number of steps (default=25)\0A-EFREQ=REAL Set electric field frequency in THz (default=0.0)\00"
define void @option_help() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([4921 x i8], [4921 x i8]* @str, i64 0, i64 0))
ret void
}