// File: /workspace/github_c_makefile_star2_O2/genevalab[P]msmove/ms.c
// Function: usage
int usage(void)
{
	fprintf(stderr, "usage: msmove nsam howmany \n");
	fprintf(stderr, "  Options: \n"); 
	fprintf(stderr, "\t -t theta   (this option and/or the next must be used. Theta = 4*N0*u )\n");
	fprintf(stderr, "\t -s segsites   ( fixed number of segregating sites)\n");
	fprintf(stderr, "\t -T          (Output gene tree.)\n");
	fprintf(stderr, "\t -F minfreq     Output only sites with freq of minor allele >= minfreq.\n");
	fprintf(stderr, "\t -r rho nsites     (rho here is 4Nc)\n");
	fprintf(stderr, "\t\t -c f track_len   (f = ratio of conversion rate to rec rate. tracklen is mean length.) \n");
	fprintf(stderr, "\t\t\t if rho = 0.,  f = 4*N0*g, with g the gene conversion rate.\n"); 
	fprintf(stderr, "\t -G alpha  ( N(t) = N0*exp(-alpha*t) .  alpha = -log(Np/Nr)/t\n");      
	fprintf(stderr, "\t -I npop n1 n2 ... [mig_rate] (all elements of mig matrix set to mig_rate/(npop-1) \n");    
	fprintf(stderr, "\t\t -m i j m_ij    (i,j-th element of mig matrix set to m_ij.)\n"); 
	fprintf(stderr, "\t\t -ma m_11 m_12 m_13 m_21 m_22 m_23 ...(Assign values to elements of migration matrix.)\n"); 
	fprintf(stderr, "\t\t -n i size_i   (popi has size set to size_i*N0 \n");
	fprintf(stderr, "\t\t -g i alpha_i  (If used must appear after -M option.)\n"); 
	fprintf(stderr, "\t   The following options modify parameters at the time 't' specified as the first argument:\n");
	fprintf(stderr, "\t -eG t alpha  (Modify growth rate of all pop's.)\n");     
	fprintf(stderr, "\t -eg t i alpha_i  (Modify growth rate of pop i.) \n");    
	fprintf(stderr, "\t -eM t mig_rate   (Modify the mig matrix so all elements are mig_rate/(npop-1)\n"); 
	fprintf(stderr, "\t -em t i j m_ij    (i,j-th element of mig matrix set to m_ij at time t )\n"); 
	fprintf(stderr, "\t -ema t npop  m_11 m_12 m_13 m_21 m_22 m_23 ...(Assign values to elements of migration matrix.)\n");  
	fprintf(stderr, "\t -eN t size  (Modify pop sizes. New sizes = size*N0 ) \n");    
	fprintf(stderr, "\t -en t i size_i  (Modify pop size of pop i.  New size of popi = size_i*N0 .)\n");
	fprintf(stderr, "\t -es t i proportion  (Split: pop i -> pop-i + pop-npop, npop increases by 1.\n");    
	fprintf(stderr, "\t\t proportion is probability that each lineage stays in pop-i. (p, 1-p are admixt. proport.\n");
	fprintf(stderr, "\t\t Size of pop npop is set to N0 and alpha = 0.0 , size and alpha of pop i are unchanged.\n");
	fprintf(stderr, "\t -ej t i j   ( Join lineages in pop i and pop j into pop j\n");
	fprintf(stderr, "\t\t  size, alpha and M are unchanged.)\n");
	fprintf(stderr, "\t -ev t i j x  ( Move lineages from pop i into pop j with probability x\n");
	fprintf(stderr, "\t\t  size, alpha and M are unchanged.\n");
	fprintf(stderr, "\t\t  If less than x lineages are present in pop i, then all lineages are moved.)\n"); 
	fprintf(stderr, "\t  -f filename     ( Read command line arguments from file filename.)\n");  
	fprintf(stderr, " See msdoc.pdf for explanation of these parameters.\n");
	exit(EXIT_FAILURE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq 0x5d88(%rip), %r15      # 0x8fe0
movq (%r15), %rcx
leaq 0x31d9(%rip), %rdi      # 0x643b
pushq $0x1c
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x31de(%rip), %rdi      # 0x6458
pushq $0xc
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x31d6(%rip), %rdi      # 0x6465
pushq $0x49
popq %r14
movq %r14, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3207(%rip), %rdi      # 0x64af
pushq $0x35
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3228(%rip), %rdi      # 0x64e5
pushq $0x22
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3236(%rip), %rdi      # 0x6508
movq %r14, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x326b(%rip), %rdi      # 0x6552
pushq $0x26
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x327d(%rip), %rdi      # 0x6579
pushq $0x5a
popq %r14
movq %r14, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x32bf(%rip), %rdi      # 0x65d4
pushq $0x3f
popq %r12
movq %r12, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x32e6(%rip), %rdi      # 0x6614
movq %r12, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3311(%rip), %rdi      # 0x6654
pushq $0x55
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3352(%rip), %rdi      # 0x66aa
pushq $0x3e
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x337c(%rip), %rdi      # 0x66e9
pushq $0x59
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x33c1(%rip), %rdi      # 0x6743
pushq $0x32
popq %r12
movq %r12, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x33db(%rip), %rdi      # 0x6776
pushq $0x38
popq %r13
movq %r13, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x33fb(%rip), %rdi      # 0x67af
pushq $0x5d
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3444(%rip), %rdi      # 0x680d
movq %r12, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3462(%rip), %rdi      # 0x6840
pushq $0x33
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3481(%rip), %rdi      # 0x6874
pushq $0x50
popq %r12
movq %r12, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x34b9(%rip), %rdi      # 0x68c5
pushq $0x4a
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x34ef(%rip), %rdi      # 0x6910
pushq $0x61
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x353c(%rip), %rdi      # 0x6972
movq %r13, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3560(%rip), %rdi      # 0x69ab
pushq $0x4e
popq %r13
movq %r13, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3596(%rip), %rdi      # 0x69fa
movq %r13, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x35d0(%rip), %rdi      # 0x6a49
pushq $0x5c
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3618(%rip), %rdi      # 0x6aa6
movq %r14, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x365e(%rip), %rdi      # 0x6b01
pushq $0x3c
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3686(%rip), %rdi      # 0x6b3e
pushq $0x26
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3698(%rip), %rdi      # 0x6b65
pushq $0x48
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x36cc(%rip), %rdi      # 0x6bae
pushq $0x25
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x36dd(%rip), %rdi      # 0x6bd4
movq %r12, %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x3719(%rip), %rdi      # 0x6c25
pushq $0x46
popq %rsi
movq %rbx, %rdx
callq 0x11a0
movq (%r15), %rcx
leaq 0x374b(%rip), %rdi      # 0x6c6c
pushq $0x34
popq %rsi
movq %rbx, %rdx
callq 0x11a0
pushq $0x1
popq %rdi
callq 0x10d0