// File: 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
subq $0xa0, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl $0xc, -0x10(%rbp)
movq 0xfe6e(%rip), %rdi      # 0x14ff0
leaq 0xa567(%rip), %rsi      # 0xf6f0
callq 0x32c0
movq %rax, %rdi
leaq 0xa57e(%rip), %rsi      # 0xf716
callq 0x32c0
movq %rax, -0xa0(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0xa0(%rbp), %rdi
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0x4778(%rip), %rsi      # 0x9940
callq 0x3110
movq %rax, %rdi
leaq 0x9ece(%rip), %rsi      # 0xf0a5
callq 0x32c0
movq %rax, -0x98(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x98(%rbp), %rdi
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0xa518(%rip), %rsi      # 0xf71f
callq 0x32c0
movq %rax, %rdi
leaq 0xa50e(%rip), %rsi      # 0xf724
callq 0x32c0
movq %rax, -0x90(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x90(%rbp), %rdi
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0x46fa(%rip), %rsi      # 0x9940
callq 0x3110
movq %rax, %rdi
leaq 0x9e7c(%rip), %rsi      # 0xf0d1
callq 0x32c0
movq %rax, -0x88(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x88(%rbp), %rdi
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0xa49a(%rip), %rsi      # 0xf71f
callq 0x32c0
movq %rax, %rdi
leaq 0xa4f5(%rip), %rsi      # 0xf789
callq 0x32c0
movq %rax, -0x80(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x80(%rbp), %rdi
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0x4682(%rip), %rsi      # 0x9940
callq 0x3110
movq %rax, %rdi
leaq 0x9e28(%rip), %rsi      # 0xf0f5
callq 0x32c0
movq %rax, -0x78(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x78(%rbp), %rdi
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0xa4cd(%rip), %rsi      # 0xf7c4
callq 0x32c0
movq %rax, %rdi
leaq 0xa4c2(%rip), %rsi      # 0xf7c8
callq 0x32c0
movq %rax, %rdi
leaq 0xa4d3(%rip), %rsi      # 0xf7e8
callq 0x32c0
movq %rax, %rdi
movl -0x4(%rbp), %esi
callq 0x33b0
movq %rax, %rdi
leaq 0xa4bb(%rip), %rsi      # 0xf7ea
callq 0x32c0
movq %rax, %rdi
leaq 0xa8ae(%rip), %rsi      # 0xfbec
callq 0x32c0
movq %rax, -0x70(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x70(%rbp), %rdi
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0x45d8(%rip), %rsi      # 0x9940
callq 0x3110
movq %rax, %rdi
leaq 0x9da4(%rip), %rsi      # 0xf11b
callq 0x32c0
movq %rax, -0x68(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x68(%rbp), %rdi
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0xa423(%rip), %rsi      # 0xf7c4
callq 0x32c0
movq %rax, %rdi
leaq 0xa43c(%rip), %rsi      # 0xf7ec
callq 0x32c0
movq %rax, %rdi
leaq 0xa429(%rip), %rsi      # 0xf7e8
callq 0x32c0
movq %rax, %rdi
movl -0x8(%rbp), %esi
callq 0x33b0
movq %rax, %rdi
leaq 0xa411(%rip), %rsi      # 0xf7ea
callq 0x32c0
movq %rax, %rdi
leaq 0xa804(%rip), %rsi      # 0xfbec
callq 0x32c0
movq %rax, -0x60(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x60(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0x452e(%rip), %rsi      # 0x9940
callq 0x3110
movq %rax, %rdi
leaq 0x9d81(%rip), %rsi      # 0xf1a2
callq 0x32c0
movq %rax, -0x58(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x58(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0xa379(%rip), %rsi      # 0xf7c4
callq 0x32c0
movq %rax, %rdi
leaq 0xa3b0(%rip), %rsi      # 0xf80a
callq 0x32c0
movq %rax, %rdi
leaq 0xa37f(%rip), %rsi      # 0xf7e8
callq 0x32c0
movq %rax, %rdi
movl -0xc(%rbp), %esi
callq 0x34a0
movq %rax, %rdi
leaq 0xa367(%rip), %rsi      # 0xf7ea
callq 0x32c0
movq %rax, %rdi
leaq 0xa75a(%rip), %rsi      # 0xfbec
callq 0x32c0
movq %rax, -0x50(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x50(%rbp), %rdi
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0x4484(%rip), %rsi      # 0x9940
callq 0x3110
movq %rax, %rdi
leaq 0x9d52(%rip), %rsi      # 0xf21d
callq 0x32c0
movq %rax, -0x48(%rbp)
movl -0x10(%rbp), %edi
callq 0x9920
movq -0x48(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x3350
movq %rax, %rdi
leaq 0xa3a5(%rip), %rsi      # 0xf89a
callq 0x32c0
movq %rax, %rdi
leaq 0xa39c(%rip), %rsi      # 0xf8a0
callq 0x32c0
movq %rax, %rdi
leaq 0xa3e6(%rip), %rsi      # 0xf8f9
callq 0x32c0
movq %rax, %rdi
leaq 0xa413(%rip), %rsi      # 0xf935
callq 0x32c0
movq %rax, %rdi
leaq 0xa44b(%rip), %rsi      # 0xf97c
callq 0x32c0
movq %rax, %rdi
leaq 0xa483(%rip), %rsi      # 0xf9c3
callq 0x32c0
movq %rax, %rdi
leaq 0xa47e(%rip), %rsi      # 0xf9cd
callq 0x32c0
movq %rax, %rdi
leaq 0xa478(%rip), %rsi      # 0xf9d6
callq 0x32c0
movq %rax, %rdi
leaq 0xa47b(%rip), %rsi      # 0xf9e8
callq 0x32c0
movq %rax, %rdi
leaq 0xa47d(%rip), %rsi      # 0xf9f9
callq 0x32c0
movq %rax, %rdi
leaq 0xa48c(%rip), %rsi      # 0xfa17
callq 0x32c0
movq %rax, %rdi
leaq 0xa49d(%rip), %rsi      # 0xfa37
callq 0x32c0
movq %rax, %rdi
leaq 0xa643(%rip), %rsi      # 0xfbec
callq 0x32c0
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)