// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/rule.c
// Function: create_copy_of_condition
Decisionconditionptr create_copy_of_condition(Decisionconditionptr condition)
{
	/* Last Changed 02.02.2004 added safemalloc*/
	/* Last Changed 27.01.2004*/
	/* Last Changed 13.01.2004*/
	/* Last Changed 20.05.2003*/
	Decisionconditionptr result = safemalloc(sizeof(Decisioncondition), "create_copy_of_condition", 1);
	result->comparison = condition->comparison;
	result->featureindex = condition->featureindex;
	result->conditiontype = condition->conditiontype;
	result->upperlimit = condition->upperlimit;
	result->lowerlimit = condition->lowerlimit;
	result->w0 = condition->w0;
	if (in_list(condition->featureindex, 2, LINEAR, QUADRATIC))
		 result->w = matrix_copy(condition->w);
	result->value = condition->value;
	result->datasize = condition->datasize;
	result->freeparam = condition->freeparam;
	if (condition->featureindex == DISCRETEMIX)
  	result->ksplit = copy_of_korderingsplit(condition->ksplit);
	result->next = NULL;
	return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movl $0x70, %edi
leaq 0x3f038(%rip), %rsi     # 0xec4d0
movl $0x1, %edx
callq 0x52d70
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movb 0x4(%rax), %cl
movq -0x10(%rbp), %rax
movb %cl, 0x4(%rax)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl 0x40(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x40(%rax)
movq -0x8(%rbp), %rax
movsd 0x10(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rbp), %rax
movsd 0x18(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, 0x18(%rax)
movq -0x8(%rbp), %rax
movsd 0x30(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, 0x30(%rax)
movq -0x8(%rbp), %rax
movl (%rax), %edi
movl $0x2, %esi
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
movl $0xfffffffd, %ecx       # imm = 0xFFFFFFFD
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0xad55d
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movq 0x28(%rax), %rsi
callq 0x58550
movq %rax, %rcx
movq -0x48(%rbp), %rax
movq %rcx, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
movsd 0x8(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x38(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x38(%rax)
movq -0x8(%rbp), %rax
movl 0x3c(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x3c(%rax)
movq -0x8(%rbp), %rax
cmpl $-0x5, (%rax)
jne 0xad5f3
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rax
leaq -0x40(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x18(%rax), %rax
movq %rax, 0x18(%rsp)
callq 0x47ec0
movq -0x50(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x30(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x28(%rbp), %rcx
movq %rcx, 0x68(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x48(%rax)
movq -0x10(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)