// File: /workspace/github_c_makefile_star2_O0/dapogon[P]cellcoal/src/cellcoal.c
// Function: ListTimes
void ListTimes (int position, FILE *fp)
	{
    TreeNode	*p;
    do
    {
        p = treeNodes + position;
 
        if (p->isHealthyTip == YES)
            fprintf (fp, "%12s   %4d   %4d  (%4d %4d %4d) |   %10.2lf      %10.2lf       %10.4lf\n",
                     "outgroupTip", Label(p), Index(p), Index(p->left), Index(p->right), Index(p->anc), p->time, p->length, p->branchLength);
        else if (p->anc != NULL && p->left != NULL && p->right != NULL && p->anc->anc == NULL)
            fprintf (fp, "%12s   %4d   %4d  (%4d %4d %4d) |   %10.2lf      %10.2lf       %10.4lf\n",
                     "ingroupMRCA", Label(p), Index(p), Index(p->left), Index(p->right), Index(p->anc), p->time, p->length, p->branchLength);
        else if (p->anc != NULL && p->left != NULL && p->right != NULL)
            fprintf (fp, "%12s   %4d   %4d  (%4d %4d %4d) |   %10.2lf      %10.2lf       %10.4lf\n",
                     "internal", Label(p), Index(p), Index(p->left), Index(p->right), Index(p->anc), p->time, p->length, p->branchLength);
        else if (p->anc != NULL && p->left == NULL && p->right == NULL)
            fprintf (fp, "%12s   %4d   %4d  (%4d %4d %4d) |   %10.2lf      %10.2lf       %10.4lf\n",
                     "tip", Label(p), Index(p), Index(p->left), Index(p->right), Index(p->anc), p->time, p->length, p->branchLength);
        else if (p->anc == NULL && p->left != NULL && p->right != NULL)
            fprintf (fp, "%12s   %4d   %4d  (%4d %4d %4d) |   %10.2lf      %10.2lf       %10.4lf\n",
                     "outgroupRoot", Label(p), Index(p), Index(p->left), Index(p->right), Index(p->anc), p->time, p->length, p->branchLength);
		
        position++;
		
        if (position>500000) /* just in case the tree is weird */
            {
            fprintf (stderr, "\n\nERROR: Problems when listing times in the tree\n\n");
            exit(-1);
            }
		}
    while (p->isHealthyTip == NO);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x2de37(%rip), %rax     # 0x4f860
movslq -0x4(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x1, 0x20(%rax)
jne 0x21ae2
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
callq 0x21e80
movl %eax, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x219e0
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x219e0
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x219e0
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x219e0
movq -0x30(%rbp), %rdi
movl -0x28(%rbp), %ecx
movl -0x24(%rbp), %r8d
movl -0x20(%rbp), %r9d
movl -0x1c(%rbp), %r10d
movq -0x18(%rbp), %rdx
movsd 0x38(%rdx), %xmm0
movq -0x18(%rbp), %rdx
movsd 0x30(%rdx), %xmm1
movq -0x18(%rbp), %rdx
movsd 0x40(%rdx), %xmm2
leaq 0x2101b(%rip), %rsi     # 0x42ae2
leaq 0x2105c(%rip), %rdx     # 0x42b2a
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x3, %al
callq 0x21b0
jmp 0x21e2a
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x21bbd
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x21bbd
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x21bbd
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpq $0x0, 0x10(%rax)
jne 0x21bbd
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
callq 0x21e80
movl %eax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
callq 0x219e0
movl %eax, -0x3c(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x219e0
movl %eax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x219e0
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x219e0
movq -0x48(%rbp), %rdi
movl -0x40(%rbp), %ecx
movl -0x3c(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl -0x34(%rbp), %r10d
movq -0x18(%rbp), %rdx
movsd 0x38(%rdx), %xmm0
movq -0x18(%rbp), %rdx
movsd 0x30(%rdx), %xmm1
movq -0x18(%rbp), %rdx
movsd 0x40(%rdx), %xmm2
leaq 0x20f40(%rip), %rsi     # 0x42ae2
leaq 0x20f8d(%rip), %rdx     # 0x42b36
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x3, %al
callq 0x21b0
jmp 0x21e28
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x21c85
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x21c85
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x21c85
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
callq 0x21e80
movl %eax, -0x58(%rbp)
movq -0x18(%rbp), %rdi
callq 0x219e0
movl %eax, -0x54(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x219e0
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x219e0
movl %eax, -0x4c(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x219e0
movq -0x60(%rbp), %rdi
movl -0x58(%rbp), %ecx
movl -0x54(%rbp), %r8d
movl -0x50(%rbp), %r9d
movl -0x4c(%rbp), %r10d
movq -0x18(%rbp), %rdx
movsd 0x38(%rdx), %xmm0
movq -0x18(%rbp), %rdx
movsd 0x30(%rdx), %xmm1
movq -0x18(%rbp), %rdx
movsd 0x40(%rdx), %xmm2
leaq 0x20e78(%rip), %rsi     # 0x42ae2
leaq 0x20ed1(%rip), %rdx     # 0x42b42
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x3, %al
callq 0x21b0
jmp 0x21e26
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x21d4d
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x21d4d
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x21d4d
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
callq 0x21e80
movl %eax, -0x70(%rbp)
movq -0x18(%rbp), %rdi
callq 0x219e0
movl %eax, -0x6c(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x219e0
movl %eax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x219e0
movl %eax, -0x64(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x219e0
movq -0x78(%rbp), %rdi
movl -0x70(%rbp), %ecx
movl -0x6c(%rbp), %r8d
movl -0x68(%rbp), %r9d
movl -0x64(%rbp), %r10d
movq -0x18(%rbp), %rdx
movsd 0x38(%rdx), %xmm0
movq -0x18(%rbp), %rdx
movsd 0x30(%rdx), %xmm1
movq -0x18(%rbp), %rdx
movsd 0x40(%rdx), %xmm2
leaq 0x20db0(%rip), %rsi     # 0x42ae2
leaq 0x20e12(%rip), %rdx     # 0x42b4b
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x3, %al
callq 0x21b0
jmp 0x21e24
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x21e22
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x21e22
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x21e22
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rdi
callq 0x21e80
movl %eax, -0x88(%rbp)
movq -0x18(%rbp), %rdi
callq 0x219e0
movl %eax, -0x84(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x219e0
movl %eax, -0x80(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x219e0
movl %eax, -0x7c(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x219e0
movq -0x90(%rbp), %rdi
movl -0x88(%rbp), %ecx
movl -0x84(%rbp), %r8d
movl -0x80(%rbp), %r9d
movl -0x7c(%rbp), %r10d
movq -0x18(%rbp), %rdx
movsd 0x38(%rdx), %xmm0
movq -0x18(%rbp), %rdx
movsd 0x30(%rdx), %xmm1
movq -0x18(%rbp), %rdx
movsd 0x40(%rdx), %xmm2
leaq 0x20cd6(%rip), %rsi     # 0x42ae2
leaq 0x20d3c(%rip), %rdx     # 0x42b4f
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x3, %al
callq 0x21b0
jmp 0x21e24
jmp 0x21e26
jmp 0x21e28
jmp 0x21e2a
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
cmpl $0x7a120, -0x4(%rbp)    # imm = 0x7A120
jle 0x21e5e
movq 0x2c1b5(%rip), %rax     # 0x4dff8
movq (%rax), %rdi
leaq 0x20d0f(%rip), %rsi     # 0x42b5c
movb $0x0, %al
callq 0x21b0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x2290
jmp 0x21e60
movq -0x18(%rbp), %rax
cmpl $0x0, 0x20(%rax)
je 0x21a22
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)