// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/loadmodel.c
// Function: load_model_nodeboundedtree
void* load_model_nodeboundedtree(FILE* infile, Datasetptr d)
{
 /*!Last Changed 25.12.2005*/
 Decisionnodeptr tmp;
 tmp = safemalloc(sizeof(Decisionnode), "load_model_nodeboundedtree", 2);
 tmp->left = NULL;
 tmp->parent = NULL;
 tmp->right = NULL;
 tmp->string = NULL;
	tmp->rule = NULL;
	tmp->instances = NULL;
	tmp->conditiontype = HYBRID_CONDITION;
 fscanf(infile, "%d", &(tmp->featureno));
	switch (tmp->featureno)
	 {
	  case LEAF_NODE:fscanf(infile, "%d", &(tmp->classno));
				              tmp->counts = load_array_int(infile, d->classno);
																		break;
			case LINEAR   :fscanf(infile, "%lf", &(tmp->w0));
               			tmp->w = load_matrix(infile, 1, d->multifeaturecount - 1);
		                tmp->counts = NULL;
                  break;
			case QUADRATIC:fscanf(infile, "%lf", &(tmp->w0));
				              tmp->w = load_matrix(infile, 1, multifeaturecount_2d(d));
		                tmp->counts = NULL;
                  break;
			default       :fscanf(infile, "%lf", &(tmp->split));
		                tmp->counts = NULL;
																		break;
	 }
	if (tmp->featureno != LEAF_NODE)
	 {
 		tmp->left = load_model_nodeboundedtree(infile, d);
			tmp->right = load_model_nodeboundedtree(infile, d);
	 }
 return tmp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x90827(%rip), %rsi     # 0xe689e
movl $0x160, %edi            # imm = 0x160
movl $0x2, %edx
callq 0x52d70
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x58(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x18(%rbp), %rax
movl $0x2, 0x98(%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x30, %rdx
leaq 0x97173(%rip), %rsi     # 0xed265
xorl %eax, %eax
callq 0x4070
movq -0x18(%rbp), %rax
movl 0x30(%rax), %eax
movl %eax, -0x3c(%rbp)
subl $-0x3, %eax
je 0x561d3
jmp 0x5610e
movl -0x3c(%rbp), %eax
subl $-0x2, %eax
je 0x56163
jmp 0x56118
movl -0x3c(%rbp), %eax
subl $-0x1, %eax
jne 0x56246
jmp 0x56126
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x34, %rdx
leaq 0x9712c(%rip), %rsi     # 0xed265
movb $0x0, %al
callq 0x4070
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x54df0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0xa0(%rax)
jmp 0x5626f
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x48, %rdx
leaq 0x90652(%rip), %rsi     # 0xe67c8
movb $0x0, %al
callq 0x4070
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x1c0(%rax), %edx
subl $0x1, %edx
movl $0x1, %esi
callq 0x54cc0
movq %rax, %rcx
movq -0x48(%rbp), %rax
movq %rcx, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x28(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x20(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0xa0(%rax)
jmp 0x5626f
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x48, %rdx
leaq 0x905e2(%rip), %rsi     # 0xe67c8
movb $0x0, %al
callq 0x4070
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1b690
movq -0x58(%rbp), %rdi
movl %eax, %edx
movl $0x1, %esi
callq 0x54cc0
movq %rax, %rcx
movq -0x50(%rbp), %rax
movq %rcx, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x38(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x30(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0xa0(%rax)
jmp 0x5626f
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x28, %rdx
leaq 0x9056f(%rip), %rsi     # 0xe67c8
movb $0x0, %al
callq 0x4070
movq -0x18(%rbp), %rax
movq $0x0, 0xa0(%rax)
movq -0x18(%rbp), %rax
cmpl $-0x1, 0x30(%rax)
je 0x562a8
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x56060
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x56060
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)