// File: /workspace/github_cpp_makefile_star2_O2/gchen98[P]macs/simulator.cpp
// Function: Simulator::printUsage()
void Simulator::printUsage() {
    cout<<"Usage: <samplesize> <region in base pairs> [options]"<<endl;
    cout<<"Options: "<<endl;
    cout<<"-s <random seed>"<<endl;
    cout<<"-d enable debugging messages"<<endl;
    cout<<"-i <iterations>"<<endl;
    cout<<"-h <history> number of previous base pairs to retain"<<endl;
    cout<<"-t <mu> (mutation rate per site per 4N generations)"<<endl;
    cout<<"-F <inputfilename> [0|1] (Tab delimited frequency distribution "<<
    "file where first column indicate range of SNP allele frequencies "<<
    "from previous row to current row and last column is desired bin "<<
    "frequency. Second parameter is 1 if SNPs with derived allele freq > "<<
    "1.0 should have alleles flipped, 0 otherwise.)"<<endl;
    cout<<"-r <r> (recombination rate per site per 4N generations)"<<endl;
    cout<<"-c <f> <lambda> (f = ratio of gene conversion rate to crossover "<<
    "rate. tracklen lambda is mean length of tract in base pairs.)"<<endl;
    cout<<"-R <inputfilename> (Tab delimited file where first "<<
    "two columns indicate range of base pair positions scaled to the "<<
    "unit interval and last column is ratio with respect to base line "<<
    "recombination rate.)"<<endl;
    cout<<"-T (Print each local tree in Newick format to standard out)"<<endl;
    cout<<"-G <alpha> (Assign growth rate alpha across populations "<<
    "where alpha=-log(Np/Nr)"<<endl;
    cout<<"-I <n> <n1> <n2> .. <mig_rate> (Assign all elements of the "<<
    "migration matrix for n populations.  Values in matrix set to "<<
    "mig_rate/(n-1).)"<<endl;
    cout<<"-m <i> <j> <m>  (Assign i,j-th element of migration matrix "<<
    "to m.)"<<
    endl;
    cout<<"-ma <m_11>..<m_12>..<m_nn> (Assign values to all "<<
    "elements of migration matrix for n populations.)"<<endl;
    cout<<"-n <i> <size>   (Pop i has size set to size*N_0 "<<endl;
    cout<<"-g <i> <alpha>  (If used must appear after -M option.)"<<endl;
    cout<<"The following options modify parameters at time t."<<endl;
    cout<<"-eG <t> <alpha>  (Assign growth rate for all pops at time"<<
    " t."<<endl;
    cout<<"-eg <t> <i> <alpha>  (Assign growth rate alpha of pop "<<
    "i at time t.)"<<endl;
    cout<<"-eM <t> <m> (Assign migrate rate m for all elements "<<
    "of migration matrix at time t.)"<<endl;
    cout<<"-em <t> <i> <j> <m_ij> (Assign migration rate for i,j-th "<<
    "element of migration matrix at time t.)"
    <<"at time t )"<<endl;
    cout<<"-ema <t> <n> <m_11>..<m_12>..<m_nn> (Assign migration rates "
    " within the migration matrix for n populations at time t.)"<<endl;
    cout<<"-eN <t> <size> (New pop sizes at time t for all pops "<<
    "where new sizes = size*N_0)"<<endl;
    cout<<"-en <t> <i> <size_i> (New pop size of pop i will be set "<<
    "to (size_i*N_0) at time t."<<endl;
    cout<<"-es <t> <i> <p> (Split two populations.  At time t, "<<
    "a proportion p of chromosomes from pop i will migrate to a "<<
    "population i+1."<<endl;
    cout<<"-ej <t> <i> <j> (Join two populations.  At time t "<<
    "all chromosomes migrate from pop i to pop j."<<endl;
    exit(1);
}

// Assembly:
pushq %rbx
movq 0x1b3ca(%rip), %rbx     # 0x1efd0
leaq 0x10543(%rip), %rsi     # 0x14150
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10561(%rip), %rsi     # 0x14185
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10554(%rip), %rsi     # 0x1418f
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1054e(%rip), %rsi     # 0x141a0
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10554(%rip), %rsi     # 0x141bd
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1054d(%rip), %rsi     # 0x141cd
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1056b(%rip), %rsi     # 0x14202
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10588(%rip), %rsi     # 0x14236
movq %rbx, %rdi
callq 0x3250
leaq 0x105b9(%rip), %rsi     # 0x14276
movq %rax, %rdi
callq 0x3250
leaq 0x105ec(%rip), %rsi     # 0x142b8
movq %rax, %rdi
callq 0x3250
leaq 0x1061e(%rip), %rsi     # 0x142f9
movq %rax, %rdi
callq 0x3250
leaq 0x10654(%rip), %rsi     # 0x1433e
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1066c(%rip), %rsi     # 0x1436d
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1068d(%rip), %rsi     # 0x143a5
movq %rbx, %rdi
callq 0x3250
leaq 0x106bf(%rip), %rsi     # 0x143e6
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x106e6(%rip), %rsi     # 0x14424
movq %rbx, %rdi
callq 0x3250
leaq 0x1070b(%rip), %rsi     # 0x14458
movq %rax, %rdi
callq 0x3250
leaq 0x1073d(%rip), %rsi     # 0x14499
movq %rax, %rdi
callq 0x3250
leaq 0x10770(%rip), %rsi     # 0x144db
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1076e(%rip), %rsi     # 0x144f0
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10793(%rip), %rsi     # 0x1452c
movq %rbx, %rdi
callq 0x3250
leaq 0x107bd(%rip), %rsi     # 0x14565
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x107be(%rip), %rsi     # 0x1457d
movq %rbx, %rdi
callq 0x3250
leaq 0x107eb(%rip), %rsi     # 0x145b9
movq %rax, %rdi
callq 0x3250
leaq 0x1081a(%rip), %rsi     # 0x145f7
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10814(%rip), %rsi     # 0x14608
movq %rbx, %rdi
callq 0x3250
leaq 0x10841(%rip), %rsi     # 0x14644
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10831(%rip), %rsi     # 0x1464b
movq %rbx, %rdi
callq 0x3250
leaq 0x10854(%rip), %rsi     # 0x1467d
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1086e(%rip), %rsi     # 0x146ae
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10888(%rip), %rsi     # 0x146df
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x108a8(%rip), %rsi     # 0x14716
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x108c4(%rip), %rsi     # 0x14749
movq %rbx, %rdi
callq 0x3250
leaq 0x10af0(%rip), %rsi     # 0x14984
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x108d8(%rip), %rsi     # 0x14783
movq %rbx, %rdi
callq 0x3250
leaq 0x10900(%rip), %rsi     # 0x147ba
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x108f7(%rip), %rsi     # 0x147c8
movq %rbx, %rdi
callq 0x3250
leaq 0x1095f(%rip), %rsi     # 0x1483f
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10906(%rip), %rsi     # 0x147fd
movq %rbx, %rdi
callq 0x3250
leaq 0x10931(%rip), %rsi     # 0x14837
movq %rax, %rdi
callq 0x3250
leaq 0x1094a(%rip), %rsi     # 0x1485f
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1093f(%rip), %rsi     # 0x1486b
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x1099f(%rip), %rsi     # 0x148e2
movq %rbx, %rdi
callq 0x3250
leaq 0x109c6(%rip), %rsi     # 0x14918
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x109cb(%rip), %rsi     # 0x14934
movq %rbx, %rdi
callq 0x3250
leaq 0x109f5(%rip), %rsi     # 0x1496d
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x109f9(%rip), %rsi     # 0x14988
movq %rbx, %rdi
callq 0x3250
leaq 0x10a1f(%rip), %rsi     # 0x149bd
movq %rax, %rdi
callq 0x3250
leaq 0x10a4c(%rip), %rsi     # 0x149f9
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
leaq 0x10a45(%rip), %rsi     # 0x14a09
movq %rbx, %rdi
callq 0x3250
leaq 0x10a69(%rip), %rsi     # 0x14a3c
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x3100
pushq $0x1
popq %rdi
callq 0x32c0
nop