// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq 0x2dccaf(%rip), %rdi    # 0x367e08
callq 0x449f0
movl %eax, -0x34(%rbp)
movl 0x356e89(%rip), %eax    # 0x3e1ff0
addl $0x1, %eax
movl %eax, 0x356e80(%rip)    # 0x3e1ff0
leaq 0x5c5b0(%rip), %rdi     # 0xe7727
callq 0x79440
cmpl $0x0, %eax
je 0x8b1aa
movl -0x14(%rbp), %edi
callq 0x4400
cmpl $0x1, %eax
jne 0x8b1aa
movq 0x2dcc73(%rip), %rdi    # 0x367e08
movsd 0x356e43(%rip), %xmm0   # 0x3e1fe0
movsd 0x356e43(%rip), %xmm1   # 0x3e1fe8
callq 0x16330
movl -0x14(%rbp), %edi
callq 0x44f0
cmpl $0x0, %eax
je 0x8b222
movq -0x28(%rbp), %rcx
movl 0x356e2f(%rip), %eax    # 0x3e1ff0
subl $0x1, %eax
cltq
imulq $0x30, %rax, %rax
addq %rax, %rcx
movq -0x30(%rbp), %rax
movl 0x356e19(%rip), %edx    # 0x3e1ff0
subl $0x1, %edx
movslq %edx, %rdx
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq 0x2dcc1d(%rip), %rdi    # 0x367e08
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movq %rsp, %rax
movups %xmm2, 0x50(%rax)
movups %xmm1, 0x40(%rax)
movups %xmm0, 0x30(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups 0x20(%rcx), %xmm2
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x87600
jmp 0x8b254
movq 0x2dcbdf(%rip), %rdi    # 0x367e08
movups -0x68(%rbp), %xmm0
movups -0x58(%rbp), %xmm1
movups -0x48(%rbp), %xmm2
movq %rsp, %rax
movups %xmm2, 0x50(%rax)
movups %xmm1, 0x40(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x87600
movl -0x14(%rbp), %edi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl -0x34(%rbp), %ecx
callq 0x8a310
leaq 0x5d0ae(%rip), %rdi     # 0xe831c
callq 0x79440
cmpl $0x0, %eax
je 0x8b2bd
movq -0x20(%rbp), %rdi
movl 0x356d6e(%rip), %edx    # 0x3e1ff0
leaq 0x5d0a2(%rip), %rsi     # 0xe832b
movb $0x0, %al
callq 0x4280
movq 0x2dcb71(%rip), %rdi    # 0x367e08
callq 0x449f0
movl %eax, -0x34(%rbp)
movq -0x20(%rbp), %rdi
movq 0x356d4e(%rip), %rax    # 0x3e1ff8
movq 0x28(%rax), %rsi
movl -0x34(%rbp), %edx
movq 0x2dcb50(%rip), %rcx    # 0x367e08
callq 0xb4f0
movl -0x14(%rbp), %edi
callq 0x4400
cmpl $0x0, %eax
jne 0x8b334
movq 0x2dcb37(%rip), %rax    # 0x367e08
movq %rax, -0x80(%rbp)
movq 0x356d1c(%rip), %rax    # 0x3e1ff8
movq %rax, -0x78(%rbp)
leaq 0x5d0ba(%rip), %rdi     # 0xe83a1
callq 0x79440
movl %eax, -0x70(%rbp)
leaq 0x5d0c6(%rip), %rdi     # 0xe83bc
callq 0x79440
movl %eax, -0x6c(%rbp)
leaq 0x5d0c0(%rip), %rdi     # 0xe83c5
callq 0x79440
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
movl -0x70(%rbp), %edx
movl -0x6c(%rbp), %r8d
movl %eax, %r9d
xorps %xmm0, %xmm0
xorl %ecx, %ecx
callq 0xb600
movq 0x356ccb(%rip), %rdi    # 0x3e1ff8
callq 0xbba0
jmp 0x8b382
movq 0x2dcacd(%rip), %rax    # 0x367e08
movq %rax, -0x90(%rbp)
movq 0x356caf(%rip), %rax    # 0x3e1ff8
movq %rax, -0x88(%rbp)
leaq 0x5d04a(%rip), %rdi     # 0xe83a1
callq 0x79440
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
movl %eax, %edx
xorps %xmm0, %xmm0
xorl %ecx, %ecx
callq 0xa0150
movq 0x356c7b(%rip), %rdi    # 0x3e1ff8
callq 0xa03a0
xorl %edi, %edi
callq 0x85860
cmpq $0x0, 0x2dca6f(%rip)    # 0x367e00
je 0x8b3aa
movq 0x2dca66(%rip), %rdi    # 0x367e00
callq 0x44510
movq $0x0, 0x2dca56(%rip) # 0x367e00
cmpq $0x0, 0x2dca56(%rip)    # 0x367e08
je 0x8b3cb
movq 0x2dca4d(%rip), %rdi    # 0x367e08
callq 0x44510
movq $0x0, 0x2dca3d(%rip) # 0x367e08
addq $0xf0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)