// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/algorithm.c
// Function: is_cvdata_needed
int is_cvdata_needed(int algorithm)
{
 /*!Last Changed 16.08.2007*/
 /*!Last Changed 04.03.2006*/
 switch (algorithm)
  {
   case C45          :
   case LDT          :
   case MULTILDT     :if (in_list(get_parameter_l("prunetype"), 2, MODELSELECTIONPRUNING, VALIDATIONPRUNING))
                        return YES;
                      else
                        if (get_parameter_l("prunetype") == PREPRUNING && get_parameter_o("hyperparametertune") == ON)
                          return YES;
                        else
                          return NO;
                      break;
   case KTREE        :if (in_list(get_parameter_l("prunetype"), 2, MODELSELECTIONPRUNING, VALIDATIONPRUNING))
                        return YES;
                      else
                        return NO;
   case RANDOMFOREST :
   case KFOREST      :if (get_parameter_o("hyperparametertune") == ON)
                        return YES;
                      else
                        return NO;
   case SVMTREE      :if (in_list(get_parameter_l("prunetype"), 2, MODELSELECTIONPRUNING, VALIDATIONPRUNING))
                        return YES;
                      else
                        return NO;
                      break;
   case NBTREE       :if (in_list(get_parameter_l("prunetype"), 3, PREPRUNING, VALIDATIONPRUNING, MODELSELECTIONPRUNING))
                        return YES;
                      else
                        return NO;
                      break;
   case MULTIRIPPER  :if ((get_parameter_i("optimizecount") > 0) || (get_parameter_o("hyperparametertune") == ON))
                        return YES;
                      else
                        return NO;
                      break;
   case HYBRIDRIPPER :if ((get_parameter_i("optimizecount") > 0 && get_parameter_l("modelselectionmethod") == 0) || (get_parameter_o("hyperparametertune") == ON))
                        return YES;
                      else
                        return NO;
                      break;
   case HMM          :if (get_parameter_l("hmmlearningtype") != LEARNING_FIXED)
                        return YES;
                      else
                        return NO;
   case SVMREGTREE   :
   case REGTREE      :
   case OMNILDT      :
   case REGRULE      :if (get_parameter_l("prunetype") == VALIDATIONPRUNING || (get_parameter_l("prunetype") == MODELSELECTIONPRUNING && get_parameter_l("modelselectionmethod") == 0))
                        return YES;
                      else
                        return NO;
                      break;
   case SVM          :
   case SIMPLEXSVM   :
   case SVMREG       :
   case SIMPLEXSVMREG:
   case KNN          :
   case KNNREG       :
   case LOGISTIC     :if (get_parameter_o("hyperparametertune") == ON)
                        return YES;
                      else 
                        return NO;
                      break;
  }
 return cvdata_needed(algorithm);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
subl $0x3e9, %eax            # imm = 0x3E9
je 0x73d9
jmp 0x706e
movl -0xc(%rbp), %eax
subl $0x3ea, %eax            # imm = 0x3EA
je 0x7197
jmp 0x707e
movl -0xc(%rbp), %eax
subl $0x3ed, %eax            # imm = 0x3ED
je 0x7197
jmp 0x708e
movl -0xc(%rbp), %eax
subl $0x3f2, %eax            # imm = 0x3F2
je 0x72ec
jmp 0x709e
movl -0xc(%rbp), %eax
subl $0x3f3, %eax            # imm = 0x3F3
je 0x7326
jmp 0x70ae
movl -0xc(%rbp), %eax
subl $0x3f6, %eax            # imm = 0x3F6
je 0x7197
jmp 0x70be
movl -0xc(%rbp), %eax
subl $0x3f7, %eax            # imm = 0x3F7
je 0x7394
jmp 0x70ce
movl -0xc(%rbp), %eax
addl $0xfffffc08, %eax       # imm = 0xFFFFFC08
subl $0x3, %eax
jb 0x73d9
jmp 0x70e1
movl -0xc(%rbp), %eax
subl $0x3fb, %eax            # imm = 0x3FB
je 0x726a
jmp 0x70f1
movl -0xc(%rbp), %eax
subl $0x3fd, %eax            # imm = 0x3FD
je 0x72a8
jmp 0x7101
movl -0xc(%rbp), %eax
subl $0x3fe, %eax            # imm = 0x3FE
je 0x7371
jmp 0x7111
movl -0xc(%rbp), %eax
subl $0x403, %eax            # imm = 0x403
je 0x7241
jmp 0x7121
movl -0xc(%rbp), %eax
subl $0x40b, %eax            # imm = 0x40B
je 0x7203
jmp 0x7131
movl -0xc(%rbp), %eax
subl $0x40c, %eax            # imm = 0x40C
je 0x7241
jmp 0x7141
movl -0xc(%rbp), %eax
subl $0x7d1, %eax            # imm = 0x7D1
je 0x73d9
jmp 0x7151
movl -0xc(%rbp), %eax
subl $0x7d2, %eax            # imm = 0x7D2
je 0x7394
jmp 0x7161
movl -0xc(%rbp), %eax
subl $0x7d7, %eax            # imm = 0x7D7
je 0x7394
jmp 0x7171
movl -0xc(%rbp), %eax
addl $0xfffff828, %eax       # imm = 0xFFFFF828
subl $0x2, %eax
jb 0x73d9
jmp 0x7184
movl -0xc(%rbp), %eax
subl $0x7dd, %eax            # imm = 0x7DD
je 0x7394
jmp 0x73fc
leaq 0xdb1fb(%rip), %rdi     # 0xe2399
callq 0x792b0
movl %eax, %edi
movl $0x2, %edx
movl $0x1, %ecx
movl %edx, %esi
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x71c9
movl $0x1, -0x4(%rbp)
jmp 0x7407
leaq 0xdb1c9(%rip), %rdi     # 0xe2399
callq 0x792b0
cmpl $0x0, %eax
jne 0x71f7
leaq 0xdb2d9(%rip), %rdi     # 0xe24ba
callq 0x79440
cmpl $0x1, %eax
jne 0x71f7
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb18f(%rip), %rdi     # 0xe2399
callq 0x792b0
movl %eax, %edi
movl $0x2, %edx
movl $0x1, %ecx
movl %edx, %esi
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x7235
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb272(%rip), %rdi     # 0xe24ba
callq 0x79440
cmpl $0x1, %eax
jne 0x725e
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb128(%rip), %rdi     # 0xe2399
callq 0x792b0
movl %eax, %edi
movl $0x2, %edx
movl $0x1, %ecx
movl %edx, %esi
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x729c
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb0ea(%rip), %rdi     # 0xe2399
callq 0x792b0
movl %eax, %edi
movl $0x3, %esi
xorl %edx, %edx
movl $0x1, %ecx
movl $0x2, %r8d
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x72e0
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb1da(%rip), %rdi     # 0xe24cd
callq 0x78f10
cmpl $0x0, %eax
jg 0x730e
leaq 0xdb1b6(%rip), %rdi     # 0xe24ba
callq 0x79440
cmpl $0x1, %eax
jne 0x731a
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb1a0(%rip), %rdi     # 0xe24cd
callq 0x78f10
cmpl $0x0, %eax
jle 0x7348
leaq 0xdb19d(%rip), %rdi     # 0xe24db
callq 0x792b0
cmpl $0x0, %eax
je 0x7359
leaq 0xdb16b(%rip), %rdi     # 0xe24ba
callq 0x79440
cmpl $0x1, %eax
jne 0x7365
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb178(%rip), %rdi     # 0xe24f0
callq 0x792b0
cmpl $0x2, %eax
je 0x738b
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdaffe(%rip), %rdi     # 0xe2399
callq 0x792b0
cmpl $0x1, %eax
je 0x73c7
leaq 0xdafed(%rip), %rdi     # 0xe2399
callq 0x792b0
cmpl $0x2, %eax
jne 0x73d0
leaq 0xdb11e(%rip), %rdi     # 0xe24db
callq 0x792b0
cmpl $0x0, %eax
jne 0x73d0
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
leaq 0xdb0da(%rip), %rdi     # 0xe24ba
callq 0x79440
cmpl $0x1, %eax
jne 0x73f3
movl $0x1, -0x4(%rbp)
jmp 0x7407
movl $0x0, -0x4(%rbp)
jmp 0x7407
movl -0x8(%rbp), %edi
callq 0x4560
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq