#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 *);
scalar_t__ strcmp(char *, char *);
void usage() {
  if (strcmp("YES", "YES") == 0 || strcmp("YES", "yes") == 0) {
    printf(
        "[31mUsage: antechamber -i  [0m input file name\n"
        "[31m                   -fi [0m input file format\n"
        "[31m                   -o  [0m output file name\n"
        "[31m                   -fo [0m output file format\n"
        "[31m                   -c  [0m charge method\n"
        "[31m                   -cf [0m charge file name\n"
        "[31m                   -nc [0m net molecular charge (int)\n"
        "[31m                   -a  [0m additional file name\n"
        "[31m                   -fa [0m additional file format\n"
        "[31m                   -ao [0m additional file operation\n"
        "[34m                        crd   [0m: only read in coordinate\n"
        "[34m                        crg   [0m: only read in charge\n"
        "[34m                        radius[0m: only read in radius\n"
        "[34m                        name  [0m: only read in atom name\n"
        "[34m                        type  [0m: only read in atom type\n"
        "[34m                        bond  [0m: only read in bond type \n"
        "[31m                   -m  [0m multiplicity (2S+1), default is 1\n"
        "[31m                   -rn [0m residue name, overrides input file, "
        "default is MOL\n"
        "[31m                   -rf [0m residue toplogy file name in prep "
        "input file,\n"
        "                        default is molecule.res\n"
        "[31m                   -ch [0m check file name for gaussian, "
        "default is 'molecule'\n"
        "[31m                   -ek [0m mopac or sqm keyword, inside a pair "
        "of quotes\n"
        "[31m                   -gk [0m gaussian job keyword, inside a pair "
        "of quotes\n"
        "[31m                   -gm [0m gaussian memory keyword, inside a "
        "pair of quotes, such as\"%%mem=1000MB\"\n"
        "[31m                   -gn [0m gaussian number of processors "
        "keyword, inside a pair of quotes, such as \"%%nproc=8\"\n"
        "[31m                   -gv [0m add keyword to generate gesp file "
        "(for Gaussian 09 only)\n"
        "[34m                        1    [0m: yes\n"
        "[34m                        0    [0m: no, the default\n"
        "[31m                   -ge [0m gaussian esp file generated by "
        "iop(6/50=1), default is g09.gesp\n"
        "[31m                   -df [0m am1-bcc precharge flag, 2 - use "
        "sqm(default); 0 - use mopac\n"
        "[31m                   -at [0m atom type\n"
        "[34m                        gaff [0m: the default\n"
        "[34m                        gaff2[0m: for gaff2 (beta-version)\n"
        "[34m                        amber[0m: for PARM94/99/99SB\n"
        "[34m                        bcc  [0m: bcc \n"
        "[34m                        sybyl[0m: sybyl \n"
        "[31m                   -du [0m fix duplicate atom names: "
        "yes(y)[default] or no(n)\n"
        "[31m                   -bk [0m 4-character component Id, for ccif\n"
        "[31m                   -an [0m adjust atom names: yes(y) or no(n)\n"
        "                        the default is 'y' for 'mol2' and 'ac' and "
        "'n' for the other formats \n"
        "[31m                   -j  [0m atom type and bond type prediction "
        "index, default is 4 \n"
        "[34m                        0    [0m: no assignment\n"
        "[34m                        1    [0m: atom type \n"
        "[34m                        2    [0m: full  bond types \n"
        "[34m                        3    [0m: part  bond types \n"
        "[34m                        4    [0m: atom and full bond type \n"
        "[34m                        5    [0m: atom and part bond type \n"
        "[31m                   -s  [0m status information: 0(brief), "
        "1(default) or 2(verbose)\n"
        "[31m                   -eq [0m equalizing atomic charge, default is "
        "1 for '-c resp' and '-c bcc' and 0 for the other charge methods \n"
        "[34m                        0    [0m: no use\n"
        "[34m                        1    [0m: by atomic paths \n"
        "[34m                        2    [0m: by atomic paths and "
        "structural information, i.e. E/Z configurations \n"
        "[31m                   -pf [0m remove intermediate files: yes(y) or "
        "no(n)[default]\n"
        "[31m                   -pl [0m maximum path length to determin "
        "equivalence of atomic charges for resp and bcc,\n"
        "[31m                       [0m the smaller the value, the faster "
        "the algorithm, default is -1 (use full length),\n"
        "[31m                       [0m set this parameter to 10 to 30 if "
        "your molecule is big (# atoms >= 100)\n"
        "[31m                   -i -o -fi and -fo must appear; others are "
        "optional[0m\n"
        "[32m                   Use 'antechamber -L' to list the supported "
        "file formats and charge methods[0m\n");
  } else {
    printf(
        "Usage: antechamber -i  input file name\n"
        "                   -fi input file format\n"
        "                   -o  output file name\n"
        "                   -fo output file format\n"
        "                   -c  charge method\n"
        "                   -cf charge file name\n"
        "                   -nc net molecular charge (int)\n"
        "                   -a  additional file name\n"
        "                   -fa additional file format\n"
        "                   -ao additional file operation\n"
        "                       crd    only read in coordinate\n"
        "                       crg    only read in charge\n"
        "                       radius only read in radius\n"
        "                       name   only read in atom name\n"
        "                       type   only read in atom type\n"
        "                       bond   only read in bond type \n"
        "                   -m  multiplicity (2S+1), default is 1\n"
        "                   -rn residue name, overrides input file, default is "
        "MOL\n"
        "                   -rf residue toplogy file name in prep input file,\n"
        "                       default is molecule.res\n"
        "                   -ch check file name for gaussian, default is "
        "molecule\n"
        "                   -ek mopac or sqm keyword, inside a pair of quotes\n"
        "                   -gk gaussian job keyword, inside a pair of quotes\n"
        "                   -gm gaussian memory keyword, inside a pair of "
        "quotes, such as\"%%mem=1000MB\"\n"
        "                   -gn gaussian number of processors keyword, inside "
        "a pair of quotes, such as \"%%nproc=8\"\n"
        "                   -gv add keyword to generate gesp file (for "
        "Gaussian 09 only)\n"
        "                       1: yes\n"
        "                       0: no, the default\n"
        "                   -ge gaussian esp file generated by iop(6/50=1), "
        "default is g09.gesp\n"
        "                   -df am1-bcc precharge flag, 2 - use sqm(default); "
        "0 - use mopac\n"
        "                   -at atom type, can be gaff (default), amber (for "
        "PARM94/99/99SB), bcc and sybyl\n"
        "                   -du fix duplicate atom names: yes(y)[default] or "
        "no(n)\n"
        "                   -bk 4-character component Id, for ccif\n"
        "                   -an  adjust atom names: yes(y) or no(n)\n"
        "                        the default is 'y' for 'mol2' and 'ac' and "
        "'n' for the other formats \n"
        "                   -j  atom type and bond type prediction index, "
        "default is 4 \n"
        "                       0     no assignment\n"
        "                       1     atom type \n"
        "                       2     full  bond types \n"
        "                       3     part  bond types \n"
        "                       4     atom and full bond type \n"
        "                       5     atom and part bond type \n"
        "                   -eq equalizing atomic charge, default is 1 for '-c "
        "resp' and '-c bcc' and 0 for the other charge methods \n"
        "                       0     no use\n"
        "                       1     by atomic paths \n"
        "                       2     by atomic paths and structural "
        "information, i.e. E/Z configurations \n"
        "                   -s  status information: 0(brief), 1(default) or "
        "2(verbose)\n"
        "                   -pf remove intermediate files: yes(y) or "
        "no(n)[default]\n"
        "                   -pl maximum path length to determin equivalence of "
        "atomic charges for resp and bcc,\n"
        "                       the smaller the value, the faster the "
        "algorithm, default is -1 (use full length),\n"
        "                       set this parameter to 10 to 30 if your "
        "molecule is big (# atoms >= 100)\n"
        "                   -i -o -fi and -fo must appear; others are "
        "optional\n"
        "                   Using 'antechamber -L' to list the supported file "
        "formats and charge methods[0m\n");
  }
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rsi
mov    %rsi,%rdi
call   1040 <strcmp@plt>
cmp    $0x0,%rax
je     115a <usage+0x3a>
lea    0xebc(%rip),%rdi
lea    0xeb9(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%rax
jne    116b <usage+0x4b>
lea    0xea7(%rip),%rdi
call   1030 <printf@plt>
jmp    1177 <usage+0x57>
lea    0x1ebb(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
push   %rax
lea    0xed8(%rip),%rdi
mov    %rdi,%rsi
call   1040 <strcmp@plt>
test   %rax,%rax
je     1163 <usage+0x43>
lea    0xec4(%rip),%rdi
lea    0xec1(%rip),%rsi
call   1040 <strcmp@plt>
test   %rax,%rax
lea    0xeb6(%rip),%rax
lea    0x1ed4(%rip),%rdi
cmove  %rax,%rdi
pop    %rax
jmp    1030 <printf@plt>
lea    0xe9e(%rip),%rdi
pop    %rax
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [4 x i8] c"YES\00"
@.str.1 = [4 x i8] c"yes\00"
@.str.2 = [4133 x i8] c"\1B[31mUsage: antechamber -i \1B[0m input file name\0A\1B[31m -fi \1B[0m input file format\0A\1B[31m -o \1B[0m output file name\0A\1B[31m -fo \1B[0m output file format\0A\1B[31m -c \1B[0m charge method\0A\1B[31m -cf \1B[0m charge file name\0A\1B[31m -nc \1B[0m net molecular charge (int)\0A\1B[31m -a \1B[0m additional file name\0A\1B[31m -fa \1B[0m additional file format\0A\1B[31m -ao \1B[0m additional file operation\0A\1B[34m crd \1B[0m: only read in coordinate\0A\1B[34m crg \1B[0m: only read in charge\0A\1B[34m radius\1B[0m: only read in radius\0A\1B[34m name \1B[0m: only read in atom name\0A\1B[34m type \1B[0m: only read in atom type\0A\1B[34m bond \1B[0m: only read in bond type \0A\1B[31m -m \1B[0m multiplicity (2S+1), default is 1\0A\1B[31m -rn \1B[0m residue name, overrides input file, default is MOL\0A\1B[31m -rf \1B[0m residue toplogy file name in prep input file,\0A default is molecule.res\0A\1B[31m -ch \1B[0m check file name for gaussian, default is 'molecule'\0A\1B[31m -ek \1B[0m mopac or sqm keyword, inside a pair of quotes\0A\1B[31m -gk \1B[0m gaussian job keyword, inside a pair of quotes\0A\1B[31m -gm \1B[0m gaussian memory keyword, inside a pair of quotes, such as\22%%mem=1000MB\22\0A\1B[31m -gn \1B[0m gaussian number of processors keyword, inside a pair of quotes, such as \22%%nproc=8\22\0A\1B[31m -gv \1B[0m add keyword to generate gesp file (for Gaussian 09 only)\0A\1B[34m 1 \1B[0m: yes\0A\1B[34m 0 \1B[0m: no, the default\0A\1B[31m -ge \1B[0m gaussian esp file generated by iop(6/50=1), default is g09.gesp\0A\1B[31m -df \1B[0m am1-bcc precharge flag, 2 - use sqm(default); 0 - use mopac\0A\1B[31m -at \1B[0m atom type\0A\1B[34m gaff \1B[0m: the default\0A\1B[34m gaff2\1B[0m: for gaff2 (beta-version)\0A\1B[34m amber\1B[0m: for PARM94/99/99SB\0A\1B[34m bcc \1B[0m: bcc \0A\1B[34m sybyl\1B[0m: sybyl \0A\1B[31m -du \1B[0m fix duplicate atom names: yes(y)[default] or no(n)\0A\1B[31m -bk \1B[0m 4-character component Id, for ccif\0A\1B[31m -an \1B[0m adjust atom names: yes(y) or no(n)\0A the default is 'y' for 'mol2' and 'ac' and 'n' for the other formats \0A\1B[31m -j \1B[0m atom type and bond type prediction index, default is 4 \0A\1B[34m 0 \1B[0m: no assignment\0A\1B[34m 1 \1B[0m: atom type \0A\1B[34m 2 \1B[0m: full bond types \0A\1B[34m 3 \1B[0m: part bond types \0A\1B[34m 4 \1B[0m: atom and full bond type \0A\1B[34m 5 \1B[0m: atom and part bond type \0A\1B[31m -s \1B[0m status information: 0(brief), 1(default) or 2(verbose)\0A\1B[31m -eq \1B[0m equalizing atomic charge, default is 1 for '-c resp' and '-c bcc' and 0 for the other charge methods \0A\1B[34m 0 \1B[0m: no use\0A\1B[34m 1 \1B[0m: by atomic paths \0A\1B[34m 2 \1B[0m: by atomic paths and structural information, i.e. E/Z configurations \0A\1B[31m -pf \1B[0m remove intermediate files: yes(y) or no(n)[default]\0A\1B[31m -pl \1B[0m maximum path length to determin equivalence of atomic charges for resp and bcc,\0A\1B[31m \1B[0m the smaller the value, the faster the algorithm, default is -1 (use full length),\0A\1B[31m \1B[0m set this parameter to 10 to 30 if your molecule is big (# atoms >= 100)\0A\1B[31m -i -o -fi and -fo must appear; others are optional\1B[0m\0A\1B[32m Use 'antechamber -L' to list the supported file formats and charge methods\1B[0m\0A\00"
@.str.3 = [3404 x i8] c"Usage: antechamber -i input file name\0A -fi input file format\0A -o output file name\0A -fo output file format\0A -c charge method\0A -cf charge file name\0A -nc net molecular charge (int)\0A -a additional file name\0A -fa additional file format\0A -ao additional file operation\0A crd only read in coordinate\0A crg only read in charge\0A radius only read in radius\0A name only read in atom name\0A type only read in atom type\0A bond only read in bond type \0A -m multiplicity (2S+1), default is 1\0A -rn residue name, overrides input file, default is MOL\0A -rf residue toplogy file name in prep input file,\0A default is molecule.res\0A -ch check file name for gaussian, default is molecule\0A -ek mopac or sqm keyword, inside a pair of quotes\0A -gk gaussian job keyword, inside a pair of quotes\0A -gm gaussian memory keyword, inside a pair of quotes, such as\22%%mem=1000MB\22\0A -gn gaussian number of processors keyword, inside a pair of quotes, such as \22%%nproc=8\22\0A -gv add keyword to generate gesp file (for Gaussian 09 only)\0A 1: yes\0A 0: no, the default\0A -ge gaussian esp file generated by iop(6/50=1), default is g09.gesp\0A -df am1-bcc precharge flag, 2 - use sqm(default); 0 - use mopac\0A -at atom type, can be gaff (default), amber (for PARM94/99/99SB), bcc and sybyl\0A -du fix duplicate atom names: yes(y)[default] or no(n)\0A -bk 4-character component Id, for ccif\0A -an adjust atom names: yes(y) or no(n)\0A the default is 'y' for 'mol2' and 'ac' and 'n' for the other formats \0A -j atom type and bond type prediction index, default is 4 \0A 0 no assignment\0A 1 atom type \0A 2 full bond types \0A 3 part bond types \0A 4 atom and full bond type \0A 5 atom and part bond type \0A -eq equalizing atomic charge, default is 1 for '-c resp' and '-c bcc' and 0 for the other charge methods \0A 0 no use\0A 1 by atomic paths \0A 2 by atomic paths and structural information, i.e. E/Z configurations \0A -s status information: 0(brief), 1(default) or 2(verbose)\0A -pf remove intermediate files: yes(y) or no(n)[default]\0A -pl maximum path length to determin equivalence of atomic charges for resp and bcc,\0A the smaller the value, the faster the algorithm, default is -1 (use full length),\0A set this parameter to 10 to 30 if your molecule is big (# atoms >= 100)\0A -i -o -fi and -fo must appear; others are optional\0A Using 'antechamber -L' to list the supported file formats and charge methods\1B[0m\0A\00"
define void @usage() {
%1 = call i64 @strcmp(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
%2 = icmp eq i64 %1, 0
br i1 %2, label %6, label %3
3: ; preds = %0
%4 = call i64 @strcmp(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0))
%5 = icmp eq i64 %4, 0
br i1 %5, label %6, label %8
6: ; preds = %3, %0
%7 = call i32 @printf(i8* getelementptr inbounds ([4133 x i8], [4133 x i8]* @.str.2, i64 0, i64 0))
br label %10
8: ; preds = %3
%9 = call i32 @printf(i8* getelementptr inbounds ([3404 x i8], [3404 x i8]* @.str.3, i64 0, i64 0))
br label %10
10: ; preds = %8, %6
ret void
}

LLVM IR (-O2):
@.str = [4 x i8] c"YES\00"
@.str.1 = [4 x i8] c"yes\00"
@.str.2 = [4133 x i8] c"\1B[31mUsage: antechamber -i \1B[0m input file name\0A\1B[31m -fi \1B[0m input file format\0A\1B[31m -o \1B[0m output file name\0A\1B[31m -fo \1B[0m output file format\0A\1B[31m -c \1B[0m charge method\0A\1B[31m -cf \1B[0m charge file name\0A\1B[31m -nc \1B[0m net molecular charge (int)\0A\1B[31m -a \1B[0m additional file name\0A\1B[31m -fa \1B[0m additional file format\0A\1B[31m -ao \1B[0m additional file operation\0A\1B[34m crd \1B[0m: only read in coordinate\0A\1B[34m crg \1B[0m: only read in charge\0A\1B[34m radius\1B[0m: only read in radius\0A\1B[34m name \1B[0m: only read in atom name\0A\1B[34m type \1B[0m: only read in atom type\0A\1B[34m bond \1B[0m: only read in bond type \0A\1B[31m -m \1B[0m multiplicity (2S+1), default is 1\0A\1B[31m -rn \1B[0m residue name, overrides input file, default is MOL\0A\1B[31m -rf \1B[0m residue toplogy file name in prep input file,\0A default is molecule.res\0A\1B[31m -ch \1B[0m check file name for gaussian, default is 'molecule'\0A\1B[31m -ek \1B[0m mopac or sqm keyword, inside a pair of quotes\0A\1B[31m -gk \1B[0m gaussian job keyword, inside a pair of quotes\0A\1B[31m -gm \1B[0m gaussian memory keyword, inside a pair of quotes, such as\22%%mem=1000MB\22\0A\1B[31m -gn \1B[0m gaussian number of processors keyword, inside a pair of quotes, such as \22%%nproc=8\22\0A\1B[31m -gv \1B[0m add keyword to generate gesp file (for Gaussian 09 only)\0A\1B[34m 1 \1B[0m: yes\0A\1B[34m 0 \1B[0m: no, the default\0A\1B[31m -ge \1B[0m gaussian esp file generated by iop(6/50=1), default is g09.gesp\0A\1B[31m -df \1B[0m am1-bcc precharge flag, 2 - use sqm(default); 0 - use mopac\0A\1B[31m -at \1B[0m atom type\0A\1B[34m gaff \1B[0m: the default\0A\1B[34m gaff2\1B[0m: for gaff2 (beta-version)\0A\1B[34m amber\1B[0m: for PARM94/99/99SB\0A\1B[34m bcc \1B[0m: bcc \0A\1B[34m sybyl\1B[0m: sybyl \0A\1B[31m -du \1B[0m fix duplicate atom names: yes(y)[default] or no(n)\0A\1B[31m -bk \1B[0m 4-character component Id, for ccif\0A\1B[31m -an \1B[0m adjust atom names: yes(y) or no(n)\0A the default is 'y' for 'mol2' and 'ac' and 'n' for the other formats \0A\1B[31m -j \1B[0m atom type and bond type prediction index, default is 4 \0A\1B[34m 0 \1B[0m: no assignment\0A\1B[34m 1 \1B[0m: atom type \0A\1B[34m 2 \1B[0m: full bond types \0A\1B[34m 3 \1B[0m: part bond types \0A\1B[34m 4 \1B[0m: atom and full bond type \0A\1B[34m 5 \1B[0m: atom and part bond type \0A\1B[31m -s \1B[0m status information: 0(brief), 1(default) or 2(verbose)\0A\1B[31m -eq \1B[0m equalizing atomic charge, default is 1 for '-c resp' and '-c bcc' and 0 for the other charge methods \0A\1B[34m 0 \1B[0m: no use\0A\1B[34m 1 \1B[0m: by atomic paths \0A\1B[34m 2 \1B[0m: by atomic paths and structural information, i.e. E/Z configurations \0A\1B[31m -pf \1B[0m remove intermediate files: yes(y) or no(n)[default]\0A\1B[31m -pl \1B[0m maximum path length to determin equivalence of atomic charges for resp and bcc,\0A\1B[31m \1B[0m the smaller the value, the faster the algorithm, default is -1 (use full length),\0A\1B[31m \1B[0m set this parameter to 10 to 30 if your molecule is big (# atoms >= 100)\0A\1B[31m -i -o -fi and -fo must appear; others are optional\1B[0m\0A\1B[32m Use 'antechamber -L' to list the supported file formats and charge methods\1B[0m\0A\00"
@.str.3 = [3404 x i8] c"Usage: antechamber -i input file name\0A -fi input file format\0A -o output file name\0A -fo output file format\0A -c charge method\0A -cf charge file name\0A -nc net molecular charge (int)\0A -a additional file name\0A -fa additional file format\0A -ao additional file operation\0A crd only read in coordinate\0A crg only read in charge\0A radius only read in radius\0A name only read in atom name\0A type only read in atom type\0A bond only read in bond type \0A -m multiplicity (2S+1), default is 1\0A -rn residue name, overrides input file, default is MOL\0A -rf residue toplogy file name in prep input file,\0A default is molecule.res\0A -ch check file name for gaussian, default is molecule\0A -ek mopac or sqm keyword, inside a pair of quotes\0A -gk gaussian job keyword, inside a pair of quotes\0A -gm gaussian memory keyword, inside a pair of quotes, such as\22%%mem=1000MB\22\0A -gn gaussian number of processors keyword, inside a pair of quotes, such as \22%%nproc=8\22\0A -gv add keyword to generate gesp file (for Gaussian 09 only)\0A 1: yes\0A 0: no, the default\0A -ge gaussian esp file generated by iop(6/50=1), default is g09.gesp\0A -df am1-bcc precharge flag, 2 - use sqm(default); 0 - use mopac\0A -at atom type, can be gaff (default), amber (for PARM94/99/99SB), bcc and sybyl\0A -du fix duplicate atom names: yes(y)[default] or no(n)\0A -bk 4-character component Id, for ccif\0A -an adjust atom names: yes(y) or no(n)\0A the default is 'y' for 'mol2' and 'ac' and 'n' for the other formats \0A -j atom type and bond type prediction index, default is 4 \0A 0 no assignment\0A 1 atom type \0A 2 full bond types \0A 3 part bond types \0A 4 atom and full bond type \0A 5 atom and part bond type \0A -eq equalizing atomic charge, default is 1 for '-c resp' and '-c bcc' and 0 for the other charge methods \0A 0 no use\0A 1 by atomic paths \0A 2 by atomic paths and structural information, i.e. E/Z configurations \0A -s status information: 0(brief), 1(default) or 2(verbose)\0A -pf remove intermediate files: yes(y) or no(n)[default]\0A -pl maximum path length to determin equivalence of atomic charges for resp and bcc,\0A the smaller the value, the faster the algorithm, default is -1 (use full length),\0A set this parameter to 10 to 30 if your molecule is big (# atoms >= 100)\0A -i -o -fi and -fo must appear; others are optional\0A Using 'antechamber -L' to list the supported file formats and charge methods\1B[0m\0A\00"
define void @usage() {
%1 = tail call i64 @strcmp(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
%2 = icmp eq i64 %1, 0
br i1 %2, label %7, label %3
3: ; preds = %0
%4 = tail call i64 @strcmp(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0))
%5 = icmp eq i64 %4, 0
%6 = select i1 %5, i8* getelementptr inbounds ([4133 x i8], [4133 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([3404 x i8], [3404 x i8]* @.str.3, i64 0, i64 0)
br label %7
7: ; preds = %3, %0
%8 = phi i8* [ getelementptr inbounds ([4133 x i8], [4133 x i8]* @.str.2, i64 0, i64 0), %0 ], [ %6, %3 ]
%9 = tail call i32 @printf(i8* dereferenceable(1) %8)
ret void
}