// File: /workspace/github_cpp_makefile_star2_O2/tplinderoth[P]introDist/introDist.cpp
// Function: comp2DistInfo(unsigned int, unsigned int, int)
void comp2DistInfo (unsigned int windsize, unsigned int stepsize, int useAvg) {
	int w = 12;
	std::cerr << "\nintroDist comp2Dist [-freq] [-geno]\n"
	<< "\nInput:\n"
	<< std::setw(w) << std::left << "-freq" << std::setw(w) << "FILE" << "file with (1) chr, (2) position, (3) population1 allele frequency, (4) population2 allele frequency\n"
	<< std::setw(w) << std::left << "-geno" << std::setw(w) << "FILE" << "file with (1) chr, (2) position, (3) individual genotypes\n"
	<< std::setw(w) << std::left << "-window" << std::setw(w) << "INT" << "Window size in number of sites " << "[" << windsize << "]" << "\n"
	<< std::setw(w) << std::left << "-step" << std::setw(w) << "INT" << "step size in number of sites " << "[" << stepsize << "]" << "\n"
	<< std::setw(w) << std::left << "-useAverage" << std::setw(w) << "INT" << "compare region to distance between (0) populations within window, (1) populations across the genome, (2) individual and pop2 across the genome " << "[" << useAvg << "]" << "\n"
	<< std::setw(w) << std::left << "-distance" << std::setw(w) << "FLOAT" << "use provided instead of calculated genome-wide genetic distance for -useAverage 1 and 2\n"
	<< "\nIt is assumed that the individual belongs to population 1\n"
	<< "-useAverage 1 should use -distance calculated with avgDist -avgtype 0\n"
	<< "-useAverage 2 should use -distance calculated with avgDist -avgtype 1\n"
	<< "\nOutput:\n"
	<< "(1) chr\n"
	<< "(2) window start\n"
	<< "(3) window stop\n"
	<< "(4) window position midpoint\n"
	<< "(5) genetic distance statistic\n"
	<< "(6) number of sites with data in window\n"
	<< "\n";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, -0x30(%rbp)
movl %esi, -0x2c(%rbp)
movl %edi, %r12d
movq 0x8ada(%rip), %rdi      # 0xcff0
leaq 0x5199(%rip), %rsi      # 0x96b6
callq 0x3220
leaq 0x51b3(%rip), %rsi      # 0x96dc
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
pushq $0xc
popq %r15
movq %r15, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl $0xffffff4f, %r14d      # imm = 0xFFFFFF4F
movl 0x18(%rax,%rcx), %edx
andl %r14d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x4b45(%rip), %rsi      # 0x90a5
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
leaq 0x516a(%rip), %rbx      # 0x96e5
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3220
leaq 0x515d(%rip), %rsi      # 0x96ea
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r15, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r14d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x4b17(%rip), %rsi      # 0x90d1
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3220
leaq 0x516f(%rip), %rsi      # 0x974f
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r15, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r14d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x4ae8(%rip), %rsi      # 0x90f5
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
leaq 0x5162(%rip), %rsi      # 0x978a
movq %rax, %rdi
callq 0x3220
leaq 0x5157(%rip), %rsi      # 0x978e
movq %rax, %rdi
callq 0x3220
leaq 0x5168(%rip), %rbx      # 0x97ae
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3220
movl %r12d, %esi
movq %rax, %rdi
callq 0x3160
leaq 0x514d(%rip), %r13      # 0x97b0
movq %rax, %rdi
movq %r13, %rsi
callq 0x3220
leaq 0x553d(%rip), %r12      # 0x9bb2
movq %rax, %rdi
movq %r12, %rsi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r15, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r14d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x4a58(%rip), %rsi      # 0x90fd
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq %rax, %rdi
leaq 0x50c7(%rip), %rsi      # 0x978a
callq 0x3220
leaq 0x50e3(%rip), %rsi      # 0x97b2
movq %rax, %rdi
callq 0x3220
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3220
movl -0x2c(%rbp), %esi
movq %rax, %rdi
callq 0x3160
movq %rax, %rdi
movq %r13, %rsi
callq 0x3220
movq %rax, %rdi
movq %r12, %rsi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r15, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r14d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x4a40(%rip), %rsi      # 0x9168
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq %rax, %rdi
leaq 0x5044(%rip), %rsi      # 0x978a
callq 0x3220
leaq 0x507e(%rip), %rsi      # 0x97d0
movq %rax, %rdi
callq 0x3220
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3220
movq %rax, %rdi
movl -0x30(%rbp), %esi
callq 0x3370
movq %rax, %rdi
movq %r13, %rsi
callq 0x3220
movq %rax, %rdi
movq %r12, %rsi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r15, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
andl 0x18(%rax,%rcx), %r14d
orl $0x20, %r14d
movl %r14d, 0x18(%rax,%rcx)
leaq 0x4a38(%rip), %rsi      # 0x91e3
movq %rax, %rdi
callq 0x3220
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
leaq 0x509a(%rip), %rsi      # 0x9860
movq %rax, %rdi
callq 0x3220
leaq 0x5091(%rip), %rsi      # 0x9866
movq %rax, %rdi
callq 0x3220
leaq 0x50db(%rip), %rsi      # 0x98bf
movq %rax, %rdi
callq 0x3220
leaq 0x5108(%rip), %rsi      # 0x98fb
movq %rax, %rdi
callq 0x3220
leaq 0x5140(%rip), %rsi      # 0x9942
movq %rax, %rdi
callq 0x3220
leaq 0x5178(%rip), %rsi      # 0x9989
movq %rax, %rdi
callq 0x3220
leaq 0x5173(%rip), %rsi      # 0x9993
movq %rax, %rdi
callq 0x3220
leaq 0x516d(%rip), %rsi      # 0x999c
movq %rax, %rdi
callq 0x3220
leaq 0x5170(%rip), %rsi      # 0x99ae
movq %rax, %rdi
callq 0x3220
leaq 0x5172(%rip), %rsi      # 0x99bf
movq %rax, %rdi
callq 0x3220
leaq 0x5181(%rip), %rsi      # 0x99dd
movq %rax, %rdi
callq 0x3220
leaq 0x5192(%rip), %rsi      # 0x99fd
movq %rax, %rdi
callq 0x3220
movq %rax, %rdi
movq %r12, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3220