// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/univariaterule.c
// Function: possible_condition_count
int possible_condition_count(Instanceptr instances)
{
 /*!Last Changed 18.05.2003*/
 int i, j, result = 0, size;
 Instanceptr instancelist;
 double valuebefore, value;
 for (i = 0; i < current_dataset->featurecount; i++)
   switch (current_dataset->features[i].type)
    {
     case INTEGER:
     case    REAL:instancelist = sort_instances(instances, i, &size);
                  j = 0;
                  valuebefore = INT_MAX;
                  while (j < size)
                   {
                    if (current_dataset->features[i].type == INTEGER)
                      value = instancelist[j].values[i].intvalue;  
                    else
                      value = instancelist[j].values[i].floatvalue;
                    if (value != valuebefore)
                     {
                      result += 2;
                      valuebefore = value;
                     }
                    j++;
                   }
                  safe_free(instancelist);
                  break;
     case  STRING:result += current_dataset->features[i].valuecount;
                  break;
    }
 return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
leaq 0x2bf8c(%rip), %rcx     # 0x105840
movq (%rcx), %rcx
cmpl 0x1bc(%rcx), %eax
jge 0xd9a10
leaq 0x2bf76(%rip), %rax     # 0x105840
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
movl 0x30f08(%rax,%rcx), %eax
movl %eax, -0x34(%rbp)
testl %eax, %eax
je 0xd9904
jmp 0xd98e8
movl -0x34(%rbp), %eax
subl $0x1, %eax
je 0xd99d9
jmp 0xd98f6
movl -0x34(%rbp), %eax
subl $0x2, %eax
jne 0xd9a00
jmp 0xd9904
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
leaq -0x18(%rbp), %rdx
callq 0xdc050
movq %rax, -0x20(%rbp)
movl $0x0, -0x10(%rbp)
movsd 0x86e9(%rip), %xmm0     # 0xe2010
movsd %xmm0, -0x28(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0xd99ce
leaq 0x2bf01(%rip), %rax     # 0x105840
movq (%rax), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
cmpl $0x0, (%rax)
jne 0xd997d
movq -0x20(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x30(%rbp)
jmp 0xd999d
movq -0x20(%rbp), %rax
movslq -0x10(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
ucomisd -0x28(%rbp), %xmm0
jne 0xd99ad
jp 0xd99ad
jmp 0xd99c0
movl -0x14(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x14(%rbp)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, -0x28(%rbp)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xd992c
movq -0x20(%rbp), %rdi
callq 0x52e80
jmp 0xd9a00
leaq 0x2be60(%rip), %rax     # 0x105840
movq (%rax), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl 0x18(%rax), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0xd9a02
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xd98aa
movl -0x14(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)