// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/c45rules.c
// Function: description_length_of_all
double description_length_of_all(Ruleset r, int positive, int count, ...)
{
 /*!Last Changed 19.12.2003*/
 /*!Last Changed 29.11.2003*/
 /*!Last Changed 18.05.2003*/
 int i = 0, C = 0, U = 0, fp = 0, fn = 0, pcount = 0;
 double total = 0, result = description_length_of_ruleset(r, positive);
 Instanceptr tmp;
 va_list ap;
 va_start(ap, count);
 while (i < count)
  {
   tmp = va_arg(ap, Instanceptr);
   if (tmp)
    {
     pcount += find_class_count(tmp, positive);
     total += data_size(tmp);
     if (positive != -1)
       exception_handling(r, tmp, positive, &C, &U, &fp, &fn);
     else
       count_exceptions_for_ruleset(r, tmp, &C, &U, &fp, &fn);
    }
   i++;
  }
 if (positive != -1)
   result += description_length_of_exceptions(C, U, fp, fn, pcount/total);
 else
   result += description_length_of_exceptions(C, U, fp, fn, 0.5);
 return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
testb %al, %al
je 0x989e
movaps %xmm0, -0xd0(%rbp)
movaps %xmm1, -0xc0(%rbp)
movaps %xmm2, -0xb0(%rbp)
movaps %xmm3, -0xa0(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0x80(%rbp)
movaps %xmm6, -0x70(%rbp)
movaps %xmm7, -0x60(%rbp)
movq %r9, -0xd8(%rbp)
movq %r8, -0xe0(%rbp)
movq %rcx, -0xe8(%rbp)
movq %rdx, -0xf0(%rbp)
leaq 0x10(%rbp), %rcx
movq %rcx, -0x108(%rbp)
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x4(%rbp), %edi
movq 0x20(%rcx), %rdx
movq %rsp, %rax
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0xabd40
movsd %xmm0, -0x30(%rbp)
leaq -0x50(%rbp), %rax
leaq -0x100(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq 0x38(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x30, 0x4(%rax)
movl $0x10, (%rax)
movl -0xc(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x9a7a
leaq -0x50(%rbp), %rax
movq %rax, -0x118(%rbp)
movl -0x50(%rbp), %eax
movl %eax, -0x10c(%rbp)
cmpl $0x28, %eax
ja 0x998e
movq -0x118(%rbp), %rcx
movl -0x10c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x120(%rbp)
jmp 0x99ab
movq -0x118(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x120(%rbp)
movq -0x120(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x9a6c
movq -0x38(%rbp), %rdi
movl -0x4(%rbp), %esi
callq 0x18240
addl -0x20(%rbp), %eax
movl %eax, -0x20(%rbp)
movq -0x38(%rbp), %rdi
callq 0x449f0
cvtsi2sd %eax, %xmm0
addsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
cmpl $-0x1, -0x4(%rbp)
je 0x9a31
movq -0x108(%rbp), %rcx
movq -0x38(%rbp), %rdi
movl -0x4(%rbp), %esi
movq 0x20(%rcx), %rdx
movq %rsp, %rax
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq -0x10(%rbp), %rdx
leaq -0x14(%rbp), %rcx
leaq -0x18(%rbp), %r8
leaq -0x1c(%rbp), %r9
callq 0xad030
jmp 0x9a6a
movq -0x108(%rbp), %rcx
movq -0x38(%rbp), %rdi
movq 0x20(%rcx), %rdx
movq %rsp, %rax
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq -0x10(%rbp), %rsi
leaq -0x14(%rbp), %rdx
leaq -0x18(%rbp), %rcx
leaq -0x1c(%rbp), %r8
callq 0xad170
jmp 0x9a6c
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x9947
cmpl $-0x1, -0x4(%rbp)
je 0x9aa7
movl -0x10(%rbp), %edi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
movl -0x1c(%rbp), %ecx
cvtsi2sdl -0x20(%rbp), %xmm0
divsd -0x28(%rbp), %xmm0
callq 0xabdd0
addsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
jmp 0x9aca
movl -0x10(%rbp), %edi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
movl -0x1c(%rbp), %ecx
movsd 0xd8efd(%rip), %xmm0    # 0xe29b8
callq 0xabdd0
addsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
nopl (%rax,%rax)