// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/indtests.c
// Function: one_independence_test
double ***one_independence_test(bayesiangraphptr mygraph)
{
	/*!Last Changed 02.02.2004 added safemalloc*/
 /*!Last Changed 27.02.2001*/
 double time;
 int i, j, k, total = mygraph->nodecount * (mygraph->nodecount - 1) * (mygraph->nodecount - 2) / 2;
 double ***result, walk = total / 80.0, c;
	char pst[READLINELENGTH];
 printf(m1270);
 time = -clock();
 result = (double***) safemalloc_3d(sizeof(double **), sizeof(double *), sizeof(double), mygraph->nodecount, mygraph->nodecount, mygraph->nodecount, "one_independence_test", 6);
 c = 0;
 for (i = 0; i < mygraph->nodecount; i++)
   for (j = 0; j < mygraph->nodecount; j++)
     for (k = 0; k < mygraph->nodecount; k++)
       if ((i != j) && (i != k) && (j != k))
        {
         if (i < j)
          {
           result[i][j][k] = one_independence_test_indexed(mygraph, i, j, k);
           c++;
          }
         else
           result[i][j][k] = result[j][i][k];
         while (c >= walk)
          {
           printf(".");
           c -= walk;
          }
        }
       else
         result[i][j][k] = 0;
 time += clock();
	set_precision(pst, "Time for 1 independence calculations:", "\n");
 printf(pst, time / CLOCKS_PER_SEC);
 return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7a170, %rsp          # imm = 0x7A170
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x8(%rbp), %rcx
movl 0x10(%rcx), %ecx
subl $0x1, %ecx
imull %ecx, %eax
movq -0x8(%rbp), %rcx
movl 0x10(%rcx), %ecx
subl $0x2, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, -0x20(%rbp)
cvtsi2sdl -0x20(%rbp), %xmm0
movsd 0xa2110(%rip), %xmm1    # 0xe4988
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
leaq 0xa2cd7(%rip), %rdi     # 0xe555f
movb $0x0, %al
callq 0x4030
callq 0x4200
movq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x8(%rbp), %rax
movl 0x10(%rax), %r8d
movq -0x8(%rbp), %rax
movl 0x10(%rax), %r9d
movl $0x8, %edx
leaq 0xa2cb6(%rip), %rax     # 0xe557f
movq %rdx, %rdi
movq %rdx, %rsi
movq %rax, (%rsp)
movl $0x6, 0x8(%rsp)
callq 0x531b0
movq %rax, -0x28(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x38(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x42a5d
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x42a4d
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x42a3d
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
je 0x42a0d
movl -0x14(%rbp), %eax
cmpl -0x1c(%rbp), %eax
je 0x42a0d
movl -0x18(%rbp), %eax
cmpl -0x1c(%rbp), %eax
je 0x42a0d
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x429a0
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
movl -0x1c(%rbp), %ecx
callq 0x722a0
movq -0x28(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x9f684(%rip), %xmm0    # 0xe2018
addsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0x429da
movq -0x28(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x28(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x429dc
movsd -0x38(%rbp), %xmm0
ucomisd -0x30(%rbp), %xmm0
jb 0x42a0b
leaq 0xaa11c(%rip), %rdi     # 0xecb0b
movb $0x0, %al
callq 0x4030
movsd -0x30(%rbp), %xmm1
movsd -0x38(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0x429dc
jmp 0x42a2d
movq -0x28(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x42a2f
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x42921
jmp 0x42a3f
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x4290a
jmp 0x42a4f
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x428f3
callq 0x4200
cvtsi2sd %rax, %xmm0
addsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x10(%rbp)
leaq -0x7a160(%rbp), %rdi
leaq 0xa2b16(%rip), %rsi     # 0xe5595
leaq 0xa32b5(%rip), %rdx     # 0xe5d3b
callq 0x53310
leaq -0x7a160(%rbp), %rdi
movsd -0x10(%rbp), %xmm0
movsd 0x9ff21(%rip), %xmm1    # 0xe29c0
divsd %xmm1, %xmm0
movb $0x1, %al
callq 0x4030
movq -0x28(%rbp), %rax
addq $0x7a170, %rsp          # imm = 0x7A170
popq %rbp
retq
nopw (%rax,%rax)