// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movsd %xmm0, 0x10(%rsp)
movl %esi, 0xc(%rsp)
movl %edi, %ebp
movq 0xfa4e(%rip), %rdi      # 0x16fe8
leaq 0x6a8f(%rip), %rsi      # 0xe030
callq 0x6320
leaq 0x6ac3(%rip), %rsi      # 0xe070
movq %rax, %rdi
callq 0x6320
leaq 0x6abe(%rip), %rsi      # 0xe07a
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
pushq $0xc
popq %r13
movq %r13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl $0xffffff4f, %r12d      # imm = 0xFFFFFF4F
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x6a9a(%rip), %rsi      # 0xe08d
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
pushq $0x8
popq %rbx
movq %rbx, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x6a6f(%rip), %r14      # 0xe092
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
leaq 0x6a62(%rip), %rsi      # 0xe097
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x6a70(%rip), %rsi      # 0xe0d2
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %rbx, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
leaq 0x6a42(%rip), %rsi      # 0xe0dc
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x6a27(%rip), %rsi      # 0xe0ee
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %rbx, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
leaq 0x69f4(%rip), %rsi      # 0xe0f3
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x69e2(%rip), %rsi      # 0xe10e
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %rbx, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x69be(%rip), %r15      # 0xe117
movq %rax, %rdi
movq %r15, %rsi
callq 0x6320
leaq 0x69b0(%rip), %rsi      # 0xe11b
movq %rax, %rdi
callq 0x6320
movq %rax, %rdi
movl %ebp, %esi
callq 0x65c0
leaq 0x6987(%rip), %r14      # 0xe10b
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x6984(%rip), %rsi      # 0xe138
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %rbx, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %r15, %rsi
callq 0x6320
leaq 0x6952(%rip), %rsi      # 0xe13e
movq %rax, %rdi
callq 0x6320
movq %rax, %rdi
movl 0xc(%rsp), %esi
callq 0x65c0
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %r13, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl %r12d, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x693c(%rip), %rsi      # 0xe16c
movq %rax, %rdi
callq 0x6320
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq %rbx, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
andl 0x18(%rax,%rcx), %r12d
orl $0x20, %r12d
movl %r12d, 0x18(%rax,%rcx)
leaq 0x6914(%rip), %rsi      # 0xe171
movq %rax, %rdi
callq 0x6320
leaq 0x690b(%rip), %rsi      # 0xe177
movq %rax, %rdi
callq 0x6320
movq %rax, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x6540
movq %rax, %rdi
movq %r14, %rsi
callq 0x6320
leaq 0x6910(%rip), %rsi      # 0xe1a4
movq %rax, %rdi
callq 0x6320
leaq 0x691c(%rip), %rsi      # 0xe1bf
movq %rax, %rdi
callq 0x6320
leaq 0x6933(%rip), %rsi      # 0xe1e5
movq %rax, %rdi
callq 0x6320
leaq 0x696f(%rip), %rsi      # 0xe230
movq %rax, %rdi
callq 0x6320
leaq 0x6969(%rip), %rsi      # 0xe239
movq %rax, %rdi
callq 0x6320
leaq 0x696a(%rip), %rsi      # 0xe249
movq %rax, %rdi
callq 0x6320
leaq 0x6976(%rip), %rsi      # 0xe264
movq %rax, %rdi
callq 0x6320
leaq 0x6980(%rip), %rsi      # 0xe27d
movq %rax, %rdi
callq 0x6320
leaq 0x6986(%rip), %rsi      # 0xe292
movq %rax, %rdi
callq 0x6320
leaq 0x6990(%rip), %rsi      # 0xe2ab
movq %rax, %rdi
callq 0x6320
leaq 0x6995(%rip), %rsi      # 0xe2bf
movq %rax, %rdi
callq 0x6320
leaq 0x69b9(%rip), %rsi      # 0xe2f2
movq %rax, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6320