// File: /workspace/github_c_makefile_star2_O3/olcaytaner[P]Isell/process.c
// Function: test_single
void test_single(void* model, void* parameters, int algorithm, FILE* posfile, Instanceptr means, Instanceptr variances)
{
 /*!Last Changed 20.12.2005*/
 int testsize = data_size(testdata);
 Instance dummy;
 totalrun++;
 if (get_parameter_o("normalizeoutput") && get_algorithm_type(algorithm) == REGRESSION)
   normalize_regression_values(testdata, outputmean, outputvariance);
 if (must_normalize(algorithm))
   pre_process_with_mean_and_variance(means[totalrun - 1], variances[totalrun - 1], testdata);
 else
   pre_process_with_mean_and_variance(dummy, dummy, testdata);
 test_algorithm(algorithm, model, parameters, testsize); 
 if (get_parameter_o("printposterior"))
  {
   fprintf(posfile, "####### CURRENT RUN COUNT %d\n", totalrun);
   testsize = data_size(testdata);
   print_posterior(posfile, ((Classificationresultptr) result)->posteriors, testsize, testdata);
  }
 if (get_algorithm_type(algorithm) == CLASSIFICATION)
  {
   print_classification_results(testdata, (Classificationresultptr) result, 0, get_parameter_o("printbinary"), OFF, get_parameter_o("accuracy"), get_parameter_o("displayclassresulton"));
   free_performance((Classificationresultptr) result);
  }
 else
  {
   print_regression_results(testdata, (Regressionresultptr) result, 0, get_parameter_o("printbinary"), OFF);
   free_performance_regression((Regressionresultptr) result);
  }
 post_process(NO);
 if (traindata)
  {
   deallocate(traindata);
   traindata = NULL;
  }
 if (testdata)
  {
   deallocate(testdata);
   testdata = NULL;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %r9, %r14
movq %r8, %r13
movq %rcx, 0x60(%rsp)
movl %edx, %ebx
movq %rsi, %r15
movq %rdi, %r12
movq 0x2d6342(%rip), %rdi    # 0x337e38
callq 0x30309
movl %eax, %ebp
incl 0x35051d(%rip)          # 0x3b2020
leaq 0x491bd(%rip), %rdi     # 0xaacc7
callq 0x54bec
testl %eax, %eax
je 0x61b3b
movl %ebx, %edi
callq 0x445c
cmpl $0x1, %eax
jne 0x61b3b
movq 0x2d6312(%rip), %rdi    # 0x337e38
movsd 0x3504e2(%rip), %xmm0   # 0x3b2010
movsd 0x3504e2(%rip), %xmm1   # 0x3b2018
callq 0x10184
movl %ebx, %edi
callq 0x44c0
testl %eax, %eax
je 0x61b91
movslq 0x3504d3(%rip), %rax    # 0x3b2020
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
movq 0x2d62dc(%rip), %rdi    # 0x337e38
movups -0x30(%r14,%rax), %xmm0
movups -0x20(%r14,%rax), %xmm1
movups -0x10(%r14,%rax), %xmm2
movups %xmm2, 0x50(%rsp)
movups %xmm1, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups -0x30(%r13,%rax), %xmm0
movups -0x20(%r13,%rax), %xmm1
movups -0x10(%r13,%rax), %xmm2
jmp 0x61bb9
movq 0x2d62a0(%rip), %rdi    # 0x337e38
movups 0x68(%rsp), %xmm0
movups 0x78(%rsp), %xmm1
movups 0x88(%rsp), %xmm2
movups %xmm2, 0x50(%rsp)
movups %xmm1, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm2, 0x20(%rsp)
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
callq 0x5f06b
movl %ebx, %edi
movq %r12, %rsi
movq %r15, %rdx
movl %ebp, %ecx
callq 0x60fd6
leaq 0x49e86(%rip), %rdi     # 0xaba68
callq 0x54bec
testl %eax, %eax
je 0x61c2f
movl 0x35042f(%rip), %edx    # 0x3b2020
leaq 0x49e7f(%rip), %rsi     # 0xaba77
movq 0x60(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x42e0
movq 0x2d622a(%rip), %rdi    # 0x337e38
callq 0x30309
movq 0x35040e(%rip), %rcx    # 0x3b2028
movq 0x28(%rcx), %rsi
movq 0x2d6213(%rip), %rcx    # 0x337e38
movq %r14, %rdi
movl %eax, %edx
callq 0x8728
movl %ebx, %edi
callq 0x445c
movl %eax, %r15d
movq 0x2d61f8(%rip), %r14    # 0x337e38
movq 0x3503e1(%rip), %rbx    # 0x3b2028
leaq 0x49e9f(%rip), %rdi     # 0xabaed
callq 0x54bec
movl %eax, %ebp
testl %r15d, %r15d
je 0x61c7a
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
xorl %ecx, %ecx
callq 0x721cc
movq 0x3503b5(%rip), %rdi    # 0x3b2028
callq 0x7238c
jmp 0x61cb9
leaq 0x49e87(%rip), %rdi     # 0xabb08
callq 0x54bec
movl %eax, %r15d
leaq 0x49e81(%rip), %rdi     # 0xabb11
callq 0x54bec
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
xorl %ecx, %ecx
movl %r15d, %r8d
movl %eax, %r9d
callq 0x8823
movq 0x350374(%rip), %rdi    # 0x3b2028
callq 0x8bab
xorl %edi, %edi
callq 0x5d9af
movq 0x2d6169(%rip), %rdi    # 0x337e30
testq %rdi, %rdi
je 0x61cdc
callq 0x2ff55
movq $0x0, 0x2d6154(%rip) # 0x337e30
movq 0x2d6155(%rip), %rdi    # 0x337e38
testq %rdi, %rdi
je 0x61cf8
callq 0x2ff55
movq $0x0, 0x2d6140(%rip) # 0x337e38
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq