// File: 0asa[P]TTree-source/ClassicNodeTree.cpp
// Function: ClassicNodeTree::test(Result&, unsigned int)
void ClassicNodeTree::test(Result &r, unsigned int obj) { 
	Node* n = root;
	std::vector<double> vote(2,0.0);
	while (!n->isLeaf()) {
		n = n->propagate(obj);
	}
	std::vector<unsigned int> list = n->getLS();
	for (int i = 0 ; i < list.size() ; ++i)
		vote[db->getOutput(list[i])]++;
	vote[0] /= list.size();
	vote[1] /= list.size();
	r.prob.push(obj,vote[1],(double)db->getOutput(obj));
}

// Assembly:
subq $0x128, %rsp            # imm = 0x128
movq %rdi, 0x120(%rsp)
movq %rsi, 0x118(%rsp)
movl %edx, 0x114(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x50(%rax), %rax
movq %rax, 0x108(%rsp)
movq $0x0, 0xe8(%rsp)
leaq 0xe7(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xccb0
movq 0xa8(%rsp), %rcx
leaq 0xf0(%rsp), %rdi
movl $0x2, %esi
leaq 0xe8(%rsp), %rdx
callq 0xccc0
jmp 0x1024f
leaq 0xe7(%rsp), %rdi
callq 0xcd40
movq 0x108(%rsp), %rdi
callq 0x21aa0
movb %al, 0x9f(%rsp)
jmp 0x10272
movb 0x9f(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x10281
jmp 0x102f0
movq 0x108(%rsp), %rdi
movl 0x114(%rsp), %esi
callq 0x21d70
movq %rax, 0x90(%rsp)
jmp 0x1029f
movq 0x90(%rsp), %rax
movq %rax, 0x108(%rsp)
jmp 0x1025c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xe7(%rsp), %rdi
callq 0xcd40
jmp 0x10562
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x10555
movq 0x108(%rsp), %rdi
callq 0xcba0
movq %rax, 0x88(%rsp)
jmp 0x10307
movq 0x88(%rsp), %rsi
leaq 0xb8(%rsp), %rdi
callq 0xcbb0
jmp 0x1031e
movl $0x0, 0xb4(%rsp)
movslq 0xb4(%rsp), %rax
movq %rax, 0x80(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x8bf0
movq %rax, %rcx
movq 0x80(%rsp), %rax
cmpq %rcx, %rax
jae 0x103f5
movq 0xa0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x70(%rsp)
movslq 0xb4(%rsp), %rsi
leaq 0xb8(%rsp), %rdi
callq 0xcd80
movq 0x70(%rsp), %rdi
movl (%rax), %esi
callq 0xcdc0
movw %ax, 0x7e(%rsp)
jmp 0x10393
movw 0x7e(%rsp), %ax
movswq %ax, %rsi
leaq 0xf0(%rsp), %rdi
callq 0xcda0
movsd 0x203bf(%rip), %xmm0    # 0x30770
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movl 0xb4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb4(%rsp)
jmp 0x10329
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x6830
jmp 0x10555
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x8bf0
movq %rax, %xmm0
movaps 0x2033d(%rip), %xmm1    # 0x30750
movaps %xmm1, 0x10(%rsp)
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x2033c(%rip), %xmm1    # 0x30760
movaps %xmm1, 0x20(%rsp)
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, (%rsp)
xorl %eax, %eax
movl %eax, %esi
leaq 0xf0(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xcda0
movsd (%rsp), %xmm1
movq 0x8(%rsp), %rdi
movsd (%rax), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%rax)
callq 0x8bf0
movaps 0x10(%rsp), %xmm2
movaps 0x20(%rsp), %xmm1
movq 0x40(%rsp), %rdi
movq %rax, %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rsp)
movl $0x1, %esi
movq %rsi, 0x48(%rsp)
callq 0xcda0
movsd 0x38(%rsp), %xmm1
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rsi
movsd (%rax), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq 0x118(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x50(%rsp)
movl 0x114(%rsp), %eax
movl %eax, 0x5c(%rsp)
callq 0xcda0
movq %rax, %rcx
movq 0xa0(%rsp), %rax
movsd (%rcx), %xmm0
movsd %xmm0, 0x60(%rsp)
movq 0x8(%rax), %rdi
movl 0x114(%rsp), %esi
callq 0xcdc0
movw %ax, 0x6e(%rsp)
jmp 0x10513
movsd 0x60(%rsp), %xmm0
movl 0x5c(%rsp), %esi
movq 0x50(%rsp), %rdi
movw 0x6e(%rsp), %ax
cwtl
cvtsi2sd %eax, %xmm1
callq 0x22550
jmp 0x10533
leaq 0xb8(%rsp), %rdi
callq 0x6830
leaq 0xf0(%rsp), %rdi
callq 0xcaa0
addq $0x128, %rsp            # imm = 0x128
retq
leaq 0xf0(%rsp), %rdi
callq 0xcaa0
movq 0xd8(%rsp), %rdi
callq 0x33e0
nop