// File: /workspace/github_c_makefile_star2_O0/waynebhayes[P]SAHap/src/Genome.cpp
// Function: SAHap::Genome::Report(int, bool)
void Genome::Report(int cpuSeconds, bool final) {
    assert(this->windowMEC() >= 0);
    printf("%2dk (%.1f%%,%ds)  T %.3f  fA %.3f  pBad %.4f  MEC %.2f", (int)this->curIteration/1000, (100*fracTime()),
	cpuSeconds, this->t, this->fAccept.getAverage(), this->pBad.getAverage(), this->windowMEC());
    if (this->file.hasGroundTruth && ((cpuSeconds-lastCpuTime>1 || lastErrorRate > .25) || final || this->curIteration>=this->maxIterations)) {
	    auto gt = this->compareGroundTruth();
	    int hapSize0=this->haplotypes[0].size(),hapSize1=this->haplotypes[1].size();
	    assert(hapSize0==hapSize1); // don't multiply by this->haplotypes.size()
	    double he = (double)gt / (this->haplotypes[0].size() * haplotypes.size());
		this->lastErrorRate = he;
		this->lastCpuTime = cpuSeconds;
	    printf("  ( Err_vs_truth %5d Err_Pct %.2f%% [%d %d])", (int)gt, 100*he,hapSize0,hapSize1);
	    if(final) {
		printf("\nEnding ground truth ");
		if(he > 1.3 * READ_ERROR_RATE) printf("Fail!");
		else printf("Good enough");
	    }
    }
	cout << " " << range.start << "->" << range.end;
    printf("\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
andb $0x1, %al
movb %al, -0xd(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x2e90
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x4641
jmp 0x4660
leaq 0x17cf6(%rip), %rdi     # 0x1c33e
leaq 0x17b0c(%rip), %rsi     # 0x1c15b
movl $0x1af, %edx            # imm = 0x1AF
leaq 0x17cfa(%rip), %rcx     # 0x1c355
callq 0x2180
movq -0x30(%rbp), %rdi
movq 0x3be0(%rdi), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cltd
idivl %ecx
movl %eax, -0x58(%rbp)
callq 0x3b80
movq -0x30(%rbp), %rdi
movaps %xmm0, %xmm1
movsd 0x17a26(%rip), %xmm0    # 0x1c0b0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x54(%rbp)
movsd 0x3bc0(%rdi), %xmm0
movsd %xmm0, -0x50(%rbp)
callq 0x4c20
movq -0x30(%rbp), %rdi
movsd %xmm0, -0x48(%rbp)
addq $0x408, %rdi            # imm = 0x408
callq 0x4200
movq -0x30(%rbp), %rdi
movsd %xmm0, -0x40(%rbp)
callq 0x2e90
movl -0x58(%rbp), %esi
movl -0x54(%rbp), %edx
movsd -0x50(%rbp), %xmm1
movsd -0x48(%rbp), %xmm2
movsd -0x40(%rbp), %xmm3
movaps %xmm0, %xmm4
movsd -0x38(%rbp), %xmm0
leaq 0x17c89(%rip), %rdi     # 0x1c37b
movb $0x5, %al
callq 0x2030
movq -0x30(%rbp), %rax
testb $0x1, 0x2431(%rax)
je 0x490a
movq -0x30(%rbp), %rax
cvtsi2sdl -0xc(%rbp), %xmm0
subsd 0x3c10(%rax), %xmm0
movsd 0x1791d(%rip), %xmm1    # 0x1c040
ucomisd %xmm1, %xmm0
ja 0x4761
movq -0x30(%rbp), %rax
movsd 0x3c08(%rax), %xmm0
movsd 0x17983(%rip), %xmm1    # 0x1c0c0
ucomisd %xmm1, %xmm0
ja 0x4761
testb $0x1, -0xd(%rbp)
jne 0x4761
movq -0x30(%rbp), %rcx
movq 0x3be0(%rcx), %rax
cmpq 0x3bd8(%rcx), %rax
jb 0x490a
movq -0x30(%rbp), %rdi
callq 0x4c90
movq -0x30(%rbp), %rdi
movq %rax, -0x18(%rbp)
addq $0x2368, %rdi           # imm = 0x2368
xorl %eax, %eax
movl %eax, %esi
callq 0x5b10
movq %rax, %rdi
callq 0x10860
movq -0x30(%rbp), %rdi
movl %eax, -0x1c(%rbp)
addq $0x2368, %rdi           # imm = 0x2368
movl $0x1, %esi
callq 0x5b10
movq %rax, %rdi
callq 0x10860
movl %eax, -0x20(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jne 0x47b7
jmp 0x47d6
leaq 0x17bf5(%rip), %rdi     # 0x1c3b3
leaq 0x17996(%rip), %rsi     # 0x1c15b
movl $0x1b5, %edx            # imm = 0x1B5
leaq 0x17b84(%rip), %rcx     # 0x1c355
callq 0x2180
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %xmm0
movaps 0x1782a(%rip), %xmm1    # 0x1c010
movaps %xmm1, -0x80(%rbp)
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x1782a(%rip), %xmm1    # 0x1c020
movaps %xmm1, -0x70(%rbp)
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
addq $0x2368, %rdi           # imm = 0x2368
movq %rdi, -0x90(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x5b10
movq %rax, %rdi
callq 0x10860
movq -0x90(%rbp), %rdi
movq %rax, -0x88(%rbp)
callq 0x5ae0
movq -0x88(%rbp), %rcx
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
movq %rax, %rdx
movq -0x30(%rbp), %rax
imulq %rdx, %rcx
movq %rcx, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
movsd -0x28(%rbp), %xmm0
movsd %xmm0, 0x3c08(%rax)
cvtsi2sdl -0xc(%rbp), %xmm0
movsd %xmm0, 0x3c10(%rax)
movq -0x18(%rbp), %rax
movl %eax, %esi
movsd 0x17808(%rip), %xmm0    # 0x1c0b0
mulsd -0x28(%rbp), %xmm0
movl -0x1c(%rbp), %edx
movl -0x20(%rbp), %ecx
leaq 0x17b0c(%rip), %rdi     # 0x1c3c6
movb $0x1, %al
callq 0x2030
testb $0x1, -0xd(%rbp)
je 0x4908
leaq 0x17b25(%rip), %rdi     # 0x1c3f3
movb $0x0, %al
callq 0x2030
movsd -0x28(%rbp), %xmm0
movsd 0x177e6(%rip), %xmm1    # 0x1c0c8
ucomisd %xmm1, %xmm0
jbe 0x48f8
leaq 0x17b1a(%rip), %rdi     # 0x1c409
movb $0x0, %al
callq 0x2030
jmp 0x4906
leaq 0x17b10(%rip), %rdi     # 0x1c40f
movb $0x0, %al
callq 0x2030
jmp 0x4908
jmp 0x490a
movq 0x266b7(%rip), %rdi     # 0x2afc8
leaq 0x17cb7(%rip), %rsi     # 0x1c5cf
callq 0x2230
movq %rax, %rdi
movq -0x30(%rbp), %rax
movq 0x3be8(%rax), %rsi
callq 0x2060
movq %rax, %rdi
leaq 0x17ae1(%rip), %rsi     # 0x1c41b
callq 0x2230
movq %rax, %rdi
movq -0x30(%rbp), %rax
movq 0x3bf0(%rax), %rsi
callq 0x2060
leaq 0x17958(%rip), %rdi     # 0x1c2b1
movb $0x0, %al
callq 0x2030
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)