// File: /workspace/github_cpp_makefile_star2_O3/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 0x1bcbc(%rip), %rbx     # 0x1ffd0
leaq 0x12e2c(%rip), %rsi     # 0x17147
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e4a(%rip), %rsi     # 0x1717c
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e3d(%rip), %rsi     # 0x17186
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e37(%rip), %rsi     # 0x17197
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e3d(%rip), %rsi     # 0x171b4
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e36(%rip), %rsi     # 0x171c4
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e54(%rip), %rsi     # 0x171f9
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12e71(%rip), %rsi     # 0x1722d
movq %rbx, %rdi
callq 0x3250
leaq 0x12ea2(%rip), %rsi     # 0x1726d
movq %rax, %rdi
callq 0x3250
leaq 0x12ed5(%rip), %rsi     # 0x172af
movq %rax, %rdi
callq 0x3250
leaq 0x12f07(%rip), %rsi     # 0x172f0
movq %rax, %rdi
callq 0x3250
leaq 0x12f3d(%rip), %rsi     # 0x17335
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12f55(%rip), %rsi     # 0x17364
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12f76(%rip), %rsi     # 0x1739c
movq %rbx, %rdi
callq 0x3250
leaq 0x12fa8(%rip), %rsi     # 0x173dd
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x12fcf(%rip), %rsi     # 0x1741b
movq %rbx, %rdi
callq 0x3250
leaq 0x12ff4(%rip), %rsi     # 0x1744f
movq %rax, %rdi
callq 0x3250
leaq 0x13026(%rip), %rsi     # 0x17490
movq %rax, %rdi
callq 0x3250
leaq 0x13059(%rip), %rsi     # 0x174d2
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x13057(%rip), %rsi     # 0x174e7
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x1307c(%rip), %rsi     # 0x17523
movq %rbx, %rdi
callq 0x3250
leaq 0x130a6(%rip), %rsi     # 0x1755c
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x130a7(%rip), %rsi     # 0x17574
movq %rbx, %rdi
callq 0x3250
leaq 0x130d4(%rip), %rsi     # 0x175b0
movq %rax, %rdi
callq 0x3250
leaq 0x13103(%rip), %rsi     # 0x175ee
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x130fd(%rip), %rsi     # 0x175ff
movq %rbx, %rdi
callq 0x3250
leaq 0x1312a(%rip), %rsi     # 0x1763b
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x1311a(%rip), %rsi     # 0x17642
movq %rbx, %rdi
callq 0x3250
leaq 0x1313d(%rip), %rsi     # 0x17674
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x13157(%rip), %rsi     # 0x176a5
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x13171(%rip), %rsi     # 0x176d6
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x13191(%rip), %rsi     # 0x1770d
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x131ad(%rip), %rsi     # 0x17740
movq %rbx, %rdi
callq 0x3250
leaq 0x133d9(%rip), %rsi     # 0x1797b
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x131c1(%rip), %rsi     # 0x1777a
movq %rbx, %rdi
callq 0x3250
leaq 0x131e9(%rip), %rsi     # 0x177b1
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x131e0(%rip), %rsi     # 0x177bf
movq %rbx, %rdi
callq 0x3250
leaq 0x13248(%rip), %rsi     # 0x17836
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x131ef(%rip), %rsi     # 0x177f4
movq %rbx, %rdi
callq 0x3250
leaq 0x1321a(%rip), %rsi     # 0x1782e
movq %rax, %rdi
callq 0x3250
leaq 0x13233(%rip), %rsi     # 0x17856
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x13228(%rip), %rsi     # 0x17862
movq %rbx, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x13288(%rip), %rsi     # 0x178d9
movq %rbx, %rdi
callq 0x3250
leaq 0x132af(%rip), %rsi     # 0x1790f
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x132b4(%rip), %rsi     # 0x1792b
movq %rbx, %rdi
callq 0x3250
leaq 0x132de(%rip), %rsi     # 0x17964
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x132e2(%rip), %rsi     # 0x1797f
movq %rbx, %rdi
callq 0x3250
leaq 0x13308(%rip), %rsi     # 0x179b4
movq %rax, %rdi
callq 0x3250
leaq 0x13335(%rip), %rsi     # 0x179f0
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
leaq 0x1332e(%rip), %rsi     # 0x17a00
movq %rbx, %rdi
callq 0x3250
leaq 0x13352(%rip), %rsi     # 0x17a33
movq %rax, %rdi
callq 0x3250
movq %rax, %rdi
callq 0x30f0
movl $0x1, %edi
callq 0x32c0
nop