// File: /workspace/github_c_makefile_star2_O1/olcaytaner[P]Isell/tests.c
// Function: nemenyi
void nemenyi(char **files, double confidence)
{
 /*!Last Changed 26.04.2010*/
 int i, j, N, k, t;
 Obsptr *obs;
 double *R, cd;
 double critical99[49] = {2.576, 2.913, 3.113, 3.255, 3.364, 3.452, 3.526, 3.590, 3.646, 3.696, 3.741, 3.781, 3.818, 3.853, 3.884, 3.914, 3.941, 3.967, 3.992, 4.015, 4.037, 4.057, 4.077,4.096, 4.114, 4.132, 4.148, 4.164, 4.179, 4.194, 4.208, 4.222, 4.236, 4.249, 4.261, 4.273, 4.285, 4.296, 4.307, 4.318, 4.329, 4.339, 4.349, 4.359, 4.368, 4.378, 4.387, 4.395, 4.404};
 double critical95[49] = {1.960, 2.344, 2.569, 2.728, 2.850, 2.948, 3.031, 3.102, 3.164, 3.219, 3.268, 3.313, 3.354, 3.391, 3.426, 3.458, 3.489, 3.517, 3.544, 3.569, 3.593, 3.616, 3.637, 3.658, 3.678, 3.696, 3.714, 3.732, 3.749, 3.765, 3.780, 3.795, 3.810, 3.824, 3.837, 3.850, 3.863, 3.876, 3.888, 3.899, 3.911, 3.922, 3.933, 3.943, 3.954, 3.964, 3.973, 3.983, 3.992};
 double critical90[49] = {1.645, 2.052, 2.291, 2.460, 2.589, 2.693, 2.780, 2.855, 2.920, 2.978, 3.030, 3.077, 3.120, 3.159, 3.196, 3.230, 3.261, 3.291, 3.319, 3.346, 3.371, 3.394, 3.417, 3.439, 3.459, 3.479, 3.498, 3.516, 3.533, 3.550, 3.567, 3.582, 3.597, 3.612, 3.626, 3.640, 3.653, 3.666, 3.679, 3.691, 3.703, 3.714, 3.726, 3.737, 3.747, 3.758, 3.768, 3.778, 3.788};
 obs = read_observations_for_multiple_equal_size_file(files, &N, &k);
 assign_ranks_to_equal_size_observations(obs, k, N);
 R = (double *)safecalloc(k, sizeof(double), "friedman", 6);
 for (i = 0; i < k; i++)
   for (j = 0; j < N; j++)
     R[i] += obs[i][j].rij;
 for (i = 0; i < k; i++)
  {
   R[i] /= N;
   if (get_parameter_o("displayresulton") == ON)
     printf("%.6f ", R[i]);
  }
 if (get_parameter_o("displayresulton") == ON)
   printf("\n");
 t = 0;
 if (confidence == 0.99)
   cd = critical99[k - 2] * sqrt((k * (k + 1)) / (6.0 * N));
 else
   if (confidence == 0.95)
     cd = critical95[k - 2] * sqrt((k * (k + 1)) / (6.0 * N));
   else
     if (confidence == 0.90)
       cd = critical90[k - 2] * sqrt((k * (k + 1)) / (6.0 * N));
     else
       cd = critical95[k - 2] * sqrt((k * (k + 1)) / (6.0 * N));
 if (get_parameter_o("displayresulton") == ON)
   printf("CD: %.6f\n", cd);
 for (i = 0; i < k; i++)
   for (j = i + 1; j < k; j++)
    {
     if (fabs(R[i] - R[j]) > cd)
      {
       t++;
       write_array_variables("aout", t, 1, "d", i + 1);
       write_array_variables("aout", t, 2, "d", j + 1);
      }
    }
 set_default_variable("out1", t + 0.0);
 switch (get_parameter_l("imagetype"))
  {
        case IMAGE_EPS:rangetest_plot(R, k, files, cd);
                       break;
   case IMAGE_PSTRICKS:rangetest_plot_pstricks(R, k, files, cd);
                       break;
  } 
 safe_free(R);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movsd %xmm0, 0x20(%rsp)
movq %rdi, %rbp
leaq 0x34(%rsp), %r15
leaq 0x30(%rsp), %r14
movq %r15, %rsi
movq %r14, %rdx
callq 0x982a0
movq %rax, %rbx
movslq (%r14), %r14
movl (%r15), %r12d
movq %rax, %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x95349
leaq 0x1650e(%rip), %rdx     # 0xaed3d
movl $0x8, %esi
movq %r14, %rdi
movl $0x6, %ecx
callq 0x39210
testq %r14, %r14
jle 0x9887b
movq %r12, %rdi
shlq $0x5, %rdi
xorl %ecx, %ecx
testl %r12d, %r12d
jle 0x98873
movq (%rbx,%rcx,8), %rdx
movsd (%rax,%rcx,8), %xmm0
xorl %esi, %esi
addsd 0x10(%rdx,%rsi), %xmm0
movsd %xmm0, (%rax,%rcx,8)
addq $0x20, %rsi
cmpq %rsi, %rdi
jne 0x9885f
incq %rcx
cmpq %r14, %rcx
jne 0x9884f
movq %rax, 0x18(%rsp)
movq %r14, 0x10(%rsp)
testl %r14d, %r14d
jle 0x988ec
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, 0x8(%rsp)
xorl %r14d, %r14d
leaq 0xad7f(%rip), %rbx      # 0xa3621
leaq 0x14e40(%rip), %r13     # 0xad6e9
movq 0x18(%rsp), %rax
movsd (%rax,%r14,8), %xmm0
divsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax,%r14,8)
movq %rbx, %rdi
callq 0x536e7
cmpl $0x1, %eax
jne 0x988e2
movq 0x18(%rsp), %rax
movsd (%rax,%r14,8), %xmm0
movq %r13, %rdi
movb $0x1, %al
callq 0x4030
incq %r14
cmpq %r14, 0x10(%rsp)
jne 0x988a9
leaq 0xad2e(%rip), %rdi      # 0xa3621
callq 0x536e7
cmpl $0x1, %eax
jne 0x98907
movl $0xa, %edi
callq 0x40d0
movsd 0x20(%rsp), %xmm0
ucomisd 0xa49b(%rip), %xmm0     # 0xa2db0
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %r13
jne 0x9892c
jp 0x9892c
leaq 0x165e6(%rip), %rax     # 0xaef10
jmp 0x98947
ucomisd 0xe544(%rip), %xmm0     # 0xa6e78
jne 0x98af2
jp 0x98af2
leaq 0x16759(%rip), %rax     # 0xaf0a0
leal 0x1(%rdx), %ecx
imull %edx, %ecx
xorps %xmm0, %xmm0
cvtsi2sd %ecx, %xmm0
cvtsi2sd %r12d, %xmm1
leaq (%rax,%rdx,8), %rax
addq $-0x10, %rax
mulsd 0xc307(%rip), %xmm1     # 0xa4c70
divsd %xmm1, %xmm0
movsd (%rax), %xmm1
movsd %xmm1, 0x8(%rsp)
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x98987
sqrtsd %xmm0, %xmm0
jmp 0x9898c
callq 0x4300
movsd 0x8(%rsp), %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0x8(%rsp)
leaq 0xac7e(%rip), %rdi      # 0xa3621
callq 0x536e7
cmpl $0x1, %eax
jne 0x989c1
leaq 0x16392(%rip), %rdi     # 0xaed46
movsd 0x8(%rsp), %xmm0
movb $0x1, %al
callq 0x4030
movq 0x10(%rsp), %rax
testl %eax, %eax
jle 0x98a89
movq %rbp, 0x28(%rsp)
movl $0x1, %r12d
movapd 0xa7ff(%rip), %xmm1     # 0xa31e0
xorl %r15d, %r15d
xorl %ebp, %ebp
movq %r15, %rbx
incq %r15
cmpq %rax, %r15
movq %r12, 0x20(%rsp)
jae 0x98a6a
movsd (%r13,%rbx,8), %xmm0
subsd (%r13,%r12,8), %xmm0
andpd %xmm1, %xmm0
ucomisd 0x8(%rsp), %xmm0
jbe 0x98a62
incl %ebp
leaq 0x9d97(%rip), %r13      # 0xa27b0
movq %r13, %rdi
movl %ebp, %esi
movl $0x1, %edx
leaq 0x15134(%rip), %r14     # 0xadb5e
movq %r14, %rcx
movl %r15d, %r8d
xorl %eax, %eax
callq 0x32c64
leal 0x1(%r12), %r8d
movq %r13, %rdi
movq 0x18(%rsp), %r13
movl %ebp, %esi
movl $0x2, %edx
movq %r14, %rcx
xorl %eax, %eax
callq 0x32c64
movapd 0xa783(%rip), %xmm1     # 0xa31e0
movq 0x10(%rsp), %rax
incq %r12
cmpq %r12, %rax
jne 0x989f6
movq 0x20(%rsp), %r12
incq %r12
cmpq %rax, %r15
jne 0x989e6
xorps %xmm0, %xmm0
cvtsi2sd %ebp, %xmm0
movq 0x28(%rsp), %rbp
jmp 0x98a8d
xorpd %xmm0, %xmm0
leaq 0xd524(%rip), %rdi      # 0xa5fb8
callq 0x3403a
leaq 0xce86(%rip), %rdi      # 0xa5926
callq 0x535f7
cmpl $0x1, %eax
je 0x98ac6
testl %eax, %eax
jne 0x98adc
movq %r13, %rdi
movq 0x10(%rsp), %rsi
movq %rbp, %rdx
movsd 0x8(%rsp), %xmm0
callq 0x25c96
jmp 0x98adc
movq %r13, %rdi
movq 0x10(%rsp), %rsi
movq %rbp, %rdx
movsd 0x8(%rsp), %xmm0
callq 0x6dccb
movq %r13, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x39194
leal 0x1(%rdx), %eax
imull %edx, %eax
ucomisd 0x16170(%rip), %xmm0    # 0xaec70
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
cvtsi2sd %r12d, %xmm1
leaq -0x2(%rdx), %rax
mulsd 0xc158(%rip), %xmm1     # 0xa4c70
divsd %xmm1, %xmm0
jne 0x98b29
jp 0x98b29
leaq 0x16709(%rip), %rcx     # 0xaf230
jmp 0x98b30
leaq 0x16570(%rip), %rcx     # 0xaf0a0
leaq (%rcx,%rax,8), %rax
jmp 0x9896d