#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*/ puts(char *);
void printHelp() {
  puts("WiggleTools");
  puts("");
  puts("Copyright EMBL-EBI, 2013-2014.");
  puts("Development contact: Daniel Zerbino zerbino@ebi.ac.uk");
  puts("");
  puts("This library parses wiggle files and executes various operations on "
       "them streaming through lazy evaluators.");
  puts("");
  puts("Inputs:");
  puts(
      "\tThe program takes in Wig, BigWig, BedGraph, Bed, BigBed, Bam, VCF, "
      "and BCF files, which are distinguished thanks to their suffix (.wig, "
      "(.bw|.bigWig|.bigwig), .bg, .bed, .bb, .bam, .vcf, .bcf respectively).");
  puts("\tNote that wiggletools assumes that every bam file has an index .bai "
       "file next to it.");
  puts("");
  puts("Outputs:");
  puts("\tThe program outputs a wiggle file in stdout unless the output is "
       "squashed");
  puts("");
  puts("Command line:");
  puts("\twiggletools --help");
  puts("\twiggletools program");
  puts("");
  puts("Program grammar:");
  puts("\tprogram = (iterator) | do (iterator) | (extraction) | (statistic)");
  puts("\titerator = (in_filename) | (unary_operator) (iterator) | "
       "(binary_operator) (iterator) (iterator) | (reducer) (multiplex) | "
       "(setComparison) (multiplex_list) | print (output) (statistic)");
  puts("\tunary_operator = unit | coverage | write (output) | write_bg (ouput) "
       "| smooth (int) | exp | ln | log (float) | pow (float) | offset (float) "
       "| scale (float) | gt (float) | lt (float) | default (float) | isZero | "
       "extend (int) | (statistic)");
  puts("\toutput = (out_filename) | -");
  puts("\tin_filename = *.wig | *.bw | *.bed | *.bb | *.bg | *.bam | *.vcf | "
       "*.bcf");
  puts("\tstatistic = (statistic_function) (iterator) | ndpearson (multiplex) "
       "(multiplex)");
  puts("\tstatistic_function = AUC | meanI | varI | minI | maxI | stddevI | "
       "CVI | pearson (iterator)");
  puts("\tbinary_operator = diff | ratio | overlaps | trim | noverlaps | "
       "nearest | apply (statistic) | fillIn");
  puts("\treducer = cat | sum | product | mean | var | stddev | entropy | CV | "
       "median | min | max");
  puts("\tsetComparison = ttest | ftest | wilcoxon");
  puts("\tmultiplex_list = (multiplex) | (multiplex) : (multiplex_list)");
  puts("\tmultiplex = (iterator_list) | map (unary_operator) (multiplex) | "
       "strict (multiplex)");
  puts("\titerator_list = (iterator) | (iterator) : (iterator_list)");
  puts("\textraction = profile (output) (int) (iterator) (iterator) | profiles "
       "(output) (int) (iterator) (iterator) | histogram (output) (width) "
       "(iterator_list) | mwrite (output) (multiplex) | mwrite_bg (output) "
       "(multiplex)");
  puts("\t\t| apply_paste (out_filename) (statistic) (bed_file) (iterator)");
}


x86 assembly (clang, -O0):
<printHelp>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <puts@plt>
lea    0x126c(%rip),%rdi
call   1030 <puts@plt>
lea    0xed9(%rip),%rdi
call   1030 <puts@plt>
lea    0xeec(%rip),%rdi
call   1030 <puts@plt>
lea    0x1248(%rip),%rdi
call   1030 <puts@plt>
lea    0xf0a(%rip),%rdi
call   1030 <puts@plt>
lea    0x1230(%rip),%rdi
call   1030 <puts@plt>
lea    0xf5e(%rip),%rdi
call   1030 <puts@plt>
lea    0xf5a(%rip),%rdi
call   1030 <puts@plt>
lea    0x101e(%rip),%rdi
call   1030 <puts@plt>
lea    0x1200(%rip),%rdi
call   1030 <puts@plt>
lea    0x105c(%rip),%rdi
call   1030 <puts@plt>
lea    0x1059(%rip),%rdi
call   1030 <puts@plt>
lea    0x11dc(%rip),%rdi
call   1030 <puts@plt>
lea    0x108c(%rip),%rdi
call   1030 <puts@plt>
lea    0x108e(%rip),%rdi
call   1030 <puts@plt>
lea    0x1096(%rip),%rdi
call   1030 <puts@plt>
lea    0x11ac(%rip),%rdi
call   1030 <puts@plt>
lea    0x1093(%rip),%rdi
call   1030 <puts@plt>
lea    0x1098(%rip),%rdi
call   1030 <puts@plt>
lea    0x10cf(%rip),%rdi
call   1030 <puts@plt>
lea    0x117d(%rip),%rdi
call   1030 <puts@plt>
lea    0x1260(%rip),%rdi
call   1030 <puts@plt>
lea    0x1271(%rip),%rdi
call   1030 <puts@plt>
lea    0x12af(%rip),%rdi
call   1030 <puts@plt>
lea    0x12f4(%rip),%rdi
call   1030 <puts@plt>
lea    0x1344(%rip),%rdi
call   1030 <puts@plt>
lea    0x139d(%rip),%rdi
call   1030 <puts@plt>
lea    0x13ea(%rip),%rdi
call   1030 <puts@plt>
lea    0x1408(%rip),%rdi
call   1030 <puts@plt>
lea    0x143b(%rip),%rdi
call   1030 <puts@plt>
lea    0x1484(%rip),%rdi
call   1030 <puts@plt>
lea    0x14b3(%rip),%rdi
call   1030 <puts@plt>
lea    0x157e(%rip),%rdi
call   1030 <puts@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<printHelp>:
push   %rax
lea    0xed8(%rip),%rdi
call   1040 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xece(%rip),%rdi
call   1040 <puts@plt>
lea    0xee1(%rip),%rdi
call   1040 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xf01(%rip),%rdi
call   1040 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xf57(%rip),%rdi
call   1040 <puts@plt>
lea    0xf53(%rip),%rdi
call   1040 <puts@plt>
lea    0x1017(%rip),%rdi
call   1040 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1057(%rip),%rdi
call   1040 <puts@plt>
lea    0x1054(%rip),%rdi
call   1040 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1089(%rip),%rdi
call   1040 <puts@plt>
lea    0x108b(%rip),%rdi
call   1040 <puts@plt>
lea    0x1093(%rip),%rdi
call   1040 <puts@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1092(%rip),%rdi
call   1040 <puts@plt>
lea    0x1097(%rip),%rdi
call   1040 <puts@plt>
lea    0x10ce(%rip),%rdi
call   1040 <puts@plt>
lea    0x117c(%rip),%rdi
call   1040 <puts@plt>
lea    0x125f(%rip),%rdi
call   1040 <puts@plt>
lea    0x1270(%rip),%rdi
call   1040 <puts@plt>
lea    0x12ae(%rip),%rdi
call   1040 <puts@plt>
lea    0x12f3(%rip),%rdi
call   1040 <puts@plt>
lea    0x1343(%rip),%rdi
call   1040 <puts@plt>
lea    0x139c(%rip),%rdi
call   1040 <puts@plt>
lea    0x13e9(%rip),%rdi
call   1040 <puts@plt>
lea    0x1407(%rip),%rdi
call   1040 <puts@plt>
lea    0x143a(%rip),%rdi
call   1040 <puts@plt>
lea    0x1483(%rip),%rdi
call   1040 <puts@plt>
lea    0x14b2(%rip),%rdi
call   1040 <puts@plt>
lea    0x157d(%rip),%rdi
pop    %rax
jmp    1040 <puts@plt>

LLVM IR (-O0):
@.str = [12 x i8] c"WiggleTools\00"
@.str.1 = [1 x i8] zeroinitializer
@.str.2 = [31 x i8] c"Copyright EMBL-EBI, 2013-2014.\00"
@.str.3 = [54 x i8] c"Development contact: Daniel Zerbino zerbino@ebi.ac.uk\00"
@.str.4 = [108 x i8] c"This library parses wiggle files and executes various operations on them streaming through lazy evaluators.\00"
@.str.5 = [8 x i8] c"Inputs:\00"
@.str.6 = [208 x i8] c"\09The program takes in Wig, BigWig, BedGraph, Bed, BigBed, Bam, VCF, and BCF files, which are distinguished thanks to their suffix (.wig, (.bw|.bigWig|.bigwig), .bg, .bed, .bb, .bam, .vcf, .bcf respectively).\00"
@.str.7 = [86 x i8] c"\09Note that wiggletools assumes that every bam file has an index .bai file next to it.\00"
@.str.8 = [9 x i8] c"Outputs:\00"
@.str.9 = [75 x i8] c"\09The program outputs a wiggle file in stdout unless the output is squashed\00"
@.str.10 = [14 x i8] c"Command line:\00"
@.str.11 = [20 x i8] c"\09wiggletools --help\00"
@.str.12 = [21 x i8] c"\09wiggletools program\00"
@.str.13 = [17 x i8] c"Program grammar:\00"
@.str.14 = [67 x i8] c"\09program = (iterator) | do (iterator) | (extraction) | (statistic)\00"
@.str.15 = [186 x i8] c"\09iterator = (in_filename) | (unary_operator) (iterator) | (binary_operator) (iterator) (iterator) | (reducer) (multiplex) | (setComparison) (multiplex_list) | print (output) (statistic)\00"
@.str.16 = [239 x i8] c"\09unary_operator = unit | coverage | write (output) | write_bg (ouput) | smooth (int) | exp | ln | log (float) | pow (float) | offset (float) | scale (float) | gt (float) | lt (float) | default (float) | isZero | extend (int) | (statistic)\00"
@.str.17 = [29 x i8] c"\09output = (out_filename) | -\00"
@.str.18 = [74 x i8] c"\09in_filename = *.wig | *.bw | *.bed | *.bb | *.bg | *.bam | *.vcf | *.bcf\00"
@.str.19 = [81 x i8] c"\09statistic = (statistic_function) (iterator) | ndpearson (multiplex) (multiplex)\00"
@.str.20 = [92 x i8] c"\09statistic_function = AUC | meanI | varI | minI | maxI | stddevI | CVI | pearson (iterator)\00"
@.str.21 = [101 x i8] c"\09binary_operator = diff | ratio | overlaps | trim | noverlaps | nearest | apply (statistic) | fillIn\00"
@.str.22 = [89 x i8] c"\09reducer = cat | sum | product | mean | var | stddev | entropy | CV | median | min | max\00"
@.str.23 = [42 x i8] c"\09setComparison = ttest | ftest | wilcoxon\00"
@.str.24 = [63 x i8] c"\09multiplex_list = (multiplex) | (multiplex) : (multiplex_list)\00"
@.str.25 = [85 x i8] c"\09multiplex = (iterator_list) | map (unary_operator) (multiplex) | strict (multiplex)\00"
@.str.26 = [59 x i8] c"\09iterator_list = (iterator) | (iterator) : (iterator_list)\00"
@.str.27 = [215 x i8] c"\09extraction = profile (output) (int) (iterator) (iterator) | profiles (output) (int) (iterator) (iterator) | histogram (output) (width) (iterator_list) | mwrite (output) (multiplex) | mwrite_bg (output) (multiplex)\00"
@.str.28 = [65 x i8] c"\09\09| apply_paste (out_filename) (statistic) (bed_file) (iterator)\00"
define void @printHelp() {
%1 = call i32 @puts(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0))
%2 = call i32 @puts(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0))
%3 = call i32 @puts(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2, i64 0, i64 0))
%4 = call i32 @puts(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.3, i64 0, i64 0))
%5 = call i32 @puts(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0))
%6 = call i32 @puts(i8* getelementptr inbounds ([108 x i8], [108 x i8]* @.str.4, i64 0, i64 0))
%7 = call i32 @puts(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0))
%8 = call i32 @puts(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5, i64 0, i64 0))
%9 = call i32 @puts(i8* getelementptr inbounds ([208 x i8], [208 x i8]* @.str.6, i64 0, i64 0))
%10 = call i32 @puts(i8* getelementptr inbounds ([86 x i8], [86 x i8]* @.str.7, i64 0, i64 0))
%11 = call i32 @puts(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0))
%12 = call i32 @puts(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0))
%13 = call i32 @puts(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.9, i64 0, i64 0))
%14 = call i32 @puts(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0))
%15 = call i32 @puts(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10, i64 0, i64 0))
%16 = call i32 @puts(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.11, i64 0, i64 0))
%17 = call i32 @puts(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
%18 = call i32 @puts(i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0))
%19 = call i32 @puts(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0))
%20 = call i32 @puts(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.14, i64 0, i64 0))
%21 = call i32 @puts(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.15, i64 0, i64 0))
%22 = call i32 @puts(i8* getelementptr inbounds ([239 x i8], [239 x i8]* @.str.16, i64 0, i64 0))
%23 = call i32 @puts(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0))
%24 = call i32 @puts(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.18, i64 0, i64 0))
%25 = call i32 @puts(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.19, i64 0, i64 0))
%26 = call i32 @puts(i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.20, i64 0, i64 0))
%27 = call i32 @puts(i8* getelementptr inbounds ([101 x i8], [101 x i8]* @.str.21, i64 0, i64 0))
%28 = call i32 @puts(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.22, i64 0, i64 0))
%29 = call i32 @puts(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.23, i64 0, i64 0))
%30 = call i32 @puts(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.24, i64 0, i64 0))
%31 = call i32 @puts(i8* getelementptr inbounds ([85 x i8], [85 x i8]* @.str.25, i64 0, i64 0))
%32 = call i32 @puts(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.26, i64 0, i64 0))
%33 = call i32 @puts(i8* getelementptr inbounds ([215 x i8], [215 x i8]* @.str.27, i64 0, i64 0))
%34 = call i32 @puts(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [12 x i8] c"WiggleTools\00"
@.str.2 = [31 x i8] c"Copyright EMBL-EBI, 2013-2014.\00"
@.str.3 = [54 x i8] c"Development contact: Daniel Zerbino zerbino@ebi.ac.uk\00"
@.str.4 = [108 x i8] c"This library parses wiggle files and executes various operations on them streaming through lazy evaluators.\00"
@.str.5 = [8 x i8] c"Inputs:\00"
@.str.6 = [208 x i8] c"\09The program takes in Wig, BigWig, BedGraph, Bed, BigBed, Bam, VCF, and BCF files, which are distinguished thanks to their suffix (.wig, (.bw|.bigWig|.bigwig), .bg, .bed, .bb, .bam, .vcf, .bcf respectively).\00"
@.str.7 = [86 x i8] c"\09Note that wiggletools assumes that every bam file has an index .bai file next to it.\00"
@.str.8 = [9 x i8] c"Outputs:\00"
@.str.9 = [75 x i8] c"\09The program outputs a wiggle file in stdout unless the output is squashed\00"
@.str.10 = [14 x i8] c"Command line:\00"
@.str.11 = [20 x i8] c"\09wiggletools --help\00"
@.str.12 = [21 x i8] c"\09wiggletools program\00"
@.str.13 = [17 x i8] c"Program grammar:\00"
@.str.14 = [67 x i8] c"\09program = (iterator) | do (iterator) | (extraction) | (statistic)\00"
@.str.15 = [186 x i8] c"\09iterator = (in_filename) | (unary_operator) (iterator) | (binary_operator) (iterator) (iterator) | (reducer) (multiplex) | (setComparison) (multiplex_list) | print (output) (statistic)\00"
@.str.16 = [239 x i8] c"\09unary_operator = unit | coverage | write (output) | write_bg (ouput) | smooth (int) | exp | ln | log (float) | pow (float) | offset (float) | scale (float) | gt (float) | lt (float) | default (float) | isZero | extend (int) | (statistic)\00"
@.str.17 = [29 x i8] c"\09output = (out_filename) | -\00"
@.str.18 = [74 x i8] c"\09in_filename = *.wig | *.bw | *.bed | *.bb | *.bg | *.bam | *.vcf | *.bcf\00"
@.str.19 = [81 x i8] c"\09statistic = (statistic_function) (iterator) | ndpearson (multiplex) (multiplex)\00"
@.str.20 = [92 x i8] c"\09statistic_function = AUC | meanI | varI | minI | maxI | stddevI | CVI | pearson (iterator)\00"
@.str.21 = [101 x i8] c"\09binary_operator = diff | ratio | overlaps | trim | noverlaps | nearest | apply (statistic) | fillIn\00"
@.str.22 = [89 x i8] c"\09reducer = cat | sum | product | mean | var | stddev | entropy | CV | median | min | max\00"
@.str.23 = [42 x i8] c"\09setComparison = ttest | ftest | wilcoxon\00"
@.str.24 = [63 x i8] c"\09multiplex_list = (multiplex) | (multiplex) : (multiplex_list)\00"
@.str.25 = [85 x i8] c"\09multiplex = (iterator_list) | map (unary_operator) (multiplex) | strict (multiplex)\00"
@.str.26 = [59 x i8] c"\09iterator_list = (iterator) | (iterator) : (iterator_list)\00"
@.str.27 = [215 x i8] c"\09extraction = profile (output) (int) (iterator) (iterator) | profiles (output) (int) (iterator) (iterator) | histogram (output) (width) (iterator_list) | mwrite (output) (multiplex) | mwrite_bg (output) (multiplex)\00"
@.str.28 = [65 x i8] c"\09\09| apply_paste (out_filename) (statistic) (bed_file) (iterator)\00"
define void @printHelp() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @putchar(i32 10)
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @.str.3, i64 0, i64 0))
%5 = tail call i32 @putchar(i32 10)
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([108 x i8], [108 x i8]* @.str.4, i64 0, i64 0))
%7 = tail call i32 @putchar(i32 10)
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([208 x i8], [208 x i8]* @.str.6, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([86 x i8], [86 x i8]* @.str.7, i64 0, i64 0))
%11 = tail call i32 @putchar(i32 10)
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @.str.9, i64 0, i64 0))
%14 = tail call i32 @putchar(i32 10)
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([20 x i8], [20 x i8]* @.str.11, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @.str.12, i64 0, i64 0))
%18 = tail call i32 @putchar(i32 10)
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @.str.14, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([186 x i8], [186 x i8]* @.str.15, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([239 x i8], [239 x i8]* @.str.16, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @.str.18, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @.str.19, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([92 x i8], [92 x i8]* @.str.20, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([101 x i8], [101 x i8]* @.str.21, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([89 x i8], [89 x i8]* @.str.22, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @.str.23, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @.str.24, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([85 x i8], [85 x i8]* @.str.25, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @.str.26, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([215 x i8], [215 x i8]* @.str.27, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([65 x i8], [65 x i8]* @.str.28, i64 0, i64 0))
ret void
}