// File: /workspace/github_c_makefile_star2_O3/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 %rbx
pushq %rax
movq 0x65c1(%rip), %rbx      # 0x9fe0
movq (%rbx), %rcx
leaq 0x3a12(%rip), %rdi      # 0x743b
movl $0x1c, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3a16(%rip), %rdi      # 0x7458
movl $0xc, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3a0a(%rip), %rdi      # 0x7465
movl $0x49, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3a3b(%rip), %rdi      # 0x74af
movl $0x35, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3a58(%rip), %rdi      # 0x74e5
movl $0x22, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3a62(%rip), %rdi      # 0x7508
movl $0x49, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3a93(%rip), %rdi      # 0x7552
movl $0x26, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3aa1(%rip), %rdi      # 0x7579
movl $0x5a, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3ae3(%rip), %rdi      # 0x75d4
movl $0x3f, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3b0a(%rip), %rdi      # 0x7614
movl $0x3f, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3b31(%rip), %rdi      # 0x7654
movl $0x55, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3b6e(%rip), %rdi      # 0x76aa
movl $0x3e, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3b94(%rip), %rdi      # 0x76e9
movl $0x59, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3bd5(%rip), %rdi      # 0x7743
movl $0x32, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3bef(%rip), %rdi      # 0x7776
movl $0x38, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3c0f(%rip), %rdi      # 0x77af
movl $0x5d, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3c54(%rip), %rdi      # 0x780d
movl $0x32, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3c6e(%rip), %rdi      # 0x7840
movl $0x33, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3c89(%rip), %rdi      # 0x7874
movl $0x50, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3cc1(%rip), %rdi      # 0x78c5
movl $0x4a, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3cf3(%rip), %rdi      # 0x7910
movl $0x61, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3d3c(%rip), %rdi      # 0x7972
movl $0x38, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3d5c(%rip), %rdi      # 0x79ab
movl $0x4e, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3d92(%rip), %rdi      # 0x79fa
movl $0x4e, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3dc8(%rip), %rdi      # 0x7a49
movl $0x5c, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3e0c(%rip), %rdi      # 0x7aa6
movl $0x5a, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3e4e(%rip), %rdi      # 0x7b01
movl $0x3c, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3e72(%rip), %rdi      # 0x7b3e
movl $0x26, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3e80(%rip), %rdi      # 0x7b65
movl $0x48, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3eb0(%rip), %rdi      # 0x7bae
movl $0x25, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3ebd(%rip), %rdi      # 0x7bd4
movl $0x50, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3ef5(%rip), %rdi      # 0x7c25
movl $0x46, %esi
movl $0x1, %edx
callq 0x11c0
movq (%rbx), %rcx
leaq 0x3f23(%rip), %rdi      # 0x7c6c
movl $0x34, %esi
movl $0x1, %edx
callq 0x11c0
movl $0x1, %edi
callq 0x10f0