// File: tplinderoth[P]introDist/Dxyz.cpp
// Function: dxyzInfo(int, int, double)
void dxyzInfo (int winsize, int step, double maf) {
	int w1 = 12;
	int w2 = 8;

	std::cerr << "\nThis program calculates the Dxyz statistic in sliding windows\n"
	<< "\nTo run:\n"
	<< "Dxzy [arguments]\n\n"
	<< std::setw(w1) << std::left << "-vcf" << std::setw(w2) << std::left << "FILE" << "Input VCF (uncompressed, gzipped/bgzipped), '-' for STDIN\n"
	<< std::setw(w1) << std::left << "-poptable" << std::setw(w2) << std::left << "FILE" << "Population table\n"
	<< std::setw(w1) << std::left << "-out" << std::setw(w2) << std::left << "FILE" << "Output file name [STDOUT]\n"
	<< std::setw(w1) << std::left << "-winsize" << std::setw(w2) << std::left << "INT" << "Number of SNPs in a window [" << winsize << "]\n"
	<< std::setw(w1) << std::left << "-step" << std::setw(w2) << std::left << "INT" << "Window step size in terms of number of SNPs [" << step << "]\n"
	<< std::setw(w1) << std::left << "-maf" << std::setw(w2) << std::left << "FLOAT" << "Minimum MAF among all individuals combined [" << maf << "]\n"
	<< "\nPopulation table format:\n"
	<< "column 1: Sample name from input VCF\n"
	<< "column 2: Value indicating population: 0 = source, 1 = sink, 2 = outgroup\n"
	<< "\nOutput\n"
	<< "(1) Chromosome\n"
	<< "(2) Window start position\n"
	<< "(3) Window end position\n"
	<< "(4) Source-sink Dxy\n"
	<< "(5) Source-outgroup Dxy\n"
	<< "(6) Dxyz statistic\n"
	<< "(7) Average number of sequences with data per SNP\n"
	<< "(8) Number of SNPs used for calculation\n\n";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movl $0xc, -0x14(%rbp)
movl $0x8, -0x18(%rbp)
movq 0x22f3d(%rip), %rdi     # 0x2cfe8
leaq 0x13f76(%rip), %rsi     # 0x1e028
callq 0x8400
movq %rax, %rdi
leaq 0x13fa7(%rip), %rsi     # 0x1e068
callq 0x8400
movq %rax, %rdi
leaq 0x13fa2(%rip), %rsi     # 0x1e072
callq 0x8400
movq %rax, -0xa8(%rbp)
movl -0x14(%rbp), %edi
callq 0xb3a0
movq -0xa8(%rbp), %rdi
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x12c0(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13f76(%rip), %rsi     # 0x1e085
callq 0x8400
movq %rax, -0xa0(%rbp)
movl -0x18(%rbp), %edi
callq 0xb3a0
movq -0xa0(%rbp), %rdi
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x1281(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13f3c(%rip), %rsi     # 0x1e08a
callq 0x8400
movq %rax, %rdi
leaq 0x13f32(%rip), %rsi     # 0x1e08f
callq 0x8400
movq %rax, -0x98(%rbp)
movl -0x14(%rbp), %edi
callq 0xb3a0
movq -0x98(%rbp), %rdi
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x1233(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13f2e(%rip), %rsi     # 0x1e0ca
callq 0x8400
movq %rax, -0x90(%rbp)
movl -0x18(%rbp), %edi
callq 0xb3a0
movq -0x90(%rbp), %rdi
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x11f4(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13eaf(%rip), %rsi     # 0x1e08a
callq 0x8400
movq %rax, %rdi
leaq 0x13eea(%rip), %rsi     # 0x1e0d4
callq 0x8400
movq %rax, -0x88(%rbp)
movl -0x14(%rbp), %edi
callq 0xb3a0
movq -0x88(%rbp), %rdi
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x11a6(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13ebd(%rip), %rsi     # 0x1e0e6
callq 0x8400
movq %rax, -0x80(%rbp)
movl -0x18(%rbp), %edi
callq 0xb3a0
movq -0x80(%rbp), %rdi
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x116d(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13e28(%rip), %rsi     # 0x1e08a
callq 0x8400
movq %rax, %rdi
leaq 0x13e7a(%rip), %rsi     # 0x1e0eb
callq 0x8400
movq %rax, -0x78(%rbp)
movl -0x14(%rbp), %edi
callq 0xb3a0
movq -0x78(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x1125(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13e5c(%rip), %rsi     # 0x1e106
callq 0x8400
movq %rax, -0x70(%rbp)
movl -0x18(%rbp), %edi
callq 0xb3a0
movq -0x70(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x10ec(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13e2c(%rip), %rsi     # 0x1e10f
callq 0x8400
movq %rax, %rdi
leaq 0x13e21(%rip), %rsi     # 0x1e113
callq 0x8400
movq %rax, %rdi
movl -0x4(%rbp), %esi
callq 0x8820
movq %rax, %rdi
leaq 0x13df7(%rip), %rsi     # 0x1e103
callq 0x8400
movq %rax, -0x68(%rbp)
movl -0x14(%rbp), %edi
callq 0xb3a0
movq -0x68(%rbp), %rdi
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x108a(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13deb(%rip), %rsi     # 0x1e130
callq 0x8400
movq %rax, -0x60(%rbp)
movl -0x18(%rbp), %edi
callq 0xb3a0
movq -0x60(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0x1051(%rip), %rsi      # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13d91(%rip), %rsi     # 0x1e10f
callq 0x8400
movq %rax, %rdi
leaq 0x13da9(%rip), %rsi     # 0x1e136
callq 0x8400
movq %rax, %rdi
movl -0x8(%rbp), %esi
callq 0x8820
movq %rax, %rdi
leaq 0x13d5c(%rip), %rsi     # 0x1e103
callq 0x8400
movq %rax, -0x58(%rbp)
movl -0x14(%rbp), %edi
callq 0xb3a0
movq -0x58(%rbp), %rdi
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0xfef(%rip), %rsi       # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13d84(%rip), %rsi     # 0x1e164
callq 0x8400
movq %rax, -0x50(%rbp)
movl -0x18(%rbp), %edi
callq 0xb3a0
movq -0x50(%rbp), %rdi
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %esi
callq 0x8500
movq %rax, %rdi
leaq 0xfb6(%rip), %rsi       # 0xb3c0
callq 0x8170
movq %rax, %rdi
leaq 0x13d50(%rip), %rsi     # 0x1e169
callq 0x8400
movq %rax, %rdi
leaq 0x13d47(%rip), %rsi     # 0x1e16f
callq 0x8400
movq %rax, %rdi
movsd -0x10(%rbp), %xmm0
callq 0x88c0
movq %rax, %rdi
leaq 0x13cbf(%rip), %rsi     # 0x1e103
callq 0x8400
movq %rax, %rdi
leaq 0x13d49(%rip), %rsi     # 0x1e19c
callq 0x8400
movq %rax, %rdi
leaq 0x13d55(%rip), %rsi     # 0x1e1b7
callq 0x8400
movq %rax, %rdi
leaq 0x13d6c(%rip), %rsi     # 0x1e1dd
callq 0x8400
movq %rax, %rdi
leaq 0x13da8(%rip), %rsi     # 0x1e228
callq 0x8400
movq %rax, %rdi
leaq 0x13da2(%rip), %rsi     # 0x1e231
callq 0x8400
movq %rax, %rdi
leaq 0x13da3(%rip), %rsi     # 0x1e241
callq 0x8400
movq %rax, %rdi
leaq 0x13daf(%rip), %rsi     # 0x1e25c
callq 0x8400
movq %rax, %rdi
leaq 0x13db9(%rip), %rsi     # 0x1e275
callq 0x8400
movq %rax, %rdi
leaq 0x13dbf(%rip), %rsi     # 0x1e28a
callq 0x8400
movq %rax, %rdi
leaq 0x13dc9(%rip), %rsi     # 0x1e2a3
callq 0x8400
movq %rax, %rdi
leaq 0x13dce(%rip), %rsi     # 0x1e2b7
callq 0x8400
movq %rax, %rdi
leaq 0x13df2(%rip), %rsi     # 0x1e2ea
callq 0x8400
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)