// File: /workspace/github_cpp_makefile_star2_O1/vsklad[P]cgen/./bal/cnf/processor/cnfoptimizer.cpp
// Function: bal::CnfOptimizer::evaluate_clauses()
inline processor_result_t CnfOptimizer::evaluate_clauses() {
        evaluations_ = 0;
        evaluations_aggregated_ = 0;
        variables_assigned_ = 0;
        
        const processor_result_t result = process_clauses<CnfOptimizer, &CnfOptimizer::process_clause_evaluate>(this);
        
        std::cout << "Evaluation: " << std::dec << evaluations_ << "/" << evaluations_aggregated_ << " cls, size: ";
        std::cout << cnf_.clauses_size() << "/" << cnf_.clauses_size<0, true>() << " cls, ";
        std::cout << (cnf_.memory_size() >> 10) << "/";
        std::cout << (clauses_index_.memory_size() >> 10) << " Kb";
        std::cout << std::endl;
        
        return result;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
leaq 0x30(%rdi), %r15
xorps %xmm0, %xmm0
movups %xmm0, 0xc0(%rdi)
movq $0x0, 0xd0(%rdi)
xorl %r12d, %r12d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x1407a
movl $0x0, -0x2c(%rbp)
movq %r14, -0x38(%rbp)
movq 0x8(%r14), %rax
cmpl 0x88(%rax), %r12d
jae 0x1307f
movq 0x18(%r14), %rax
movq (%rax), %rax
movl %r12d, %ebx
movl 0xc(%rax,%rbx,4), %r13d
testw %r13w, %r13w
js 0x13063
leaq (%rax,%rbx,4), %rsi
addq $0xc, %rsi
movq -0x38(%rbp), %r14
movl %r12d, 0xb0(%r14)
movq %r14, %rdi
callq 0x15232
cmpl $0x4, %eax
jne 0x1301a
movl $0x4, -0x2c(%rbp)
xorl %eax, %eax
jmp 0x13077
movq 0x18(%r14), %rax
movq (%rax), %rax
movl 0xc(%rax,%rbx,4), %ecx
testw %cx, %cx
sets %dl
testl $0x7fff, %ecx           # imm = 0x7FFF
sete %cl
orb %dl, %cl
jne 0x13063
leaq (%rax,%rbx,4), %rbx
xorl %r14d, %r14d
movl 0x10(%rbx,%r14,4), %esi
shrl %esi
decl %esi
movq %r15, %rdi
movl %r12d, %edx
callq 0x153d6
incq %r14
movl 0xc(%rbx), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
cmpq %rax, %r14
jb 0x1303f
andl $0x7fff, %r13d          # imm = 0x7FFF
addl %r13d, %r12d
addl $0x4, %r12d
movb $0x1, %al
movq -0x38(%rbp), %r14
testb %al, %al
jne 0x12fc9
movq 0x4bf22(%rip), %r15     # 0x5efa8
leaq 0x317ea(%rip), %rsi     # 0x44877
movl $0xc, %edx
movq %r15, %rdi
callq 0xc320
movq (%r15), %rax
movq -0x18(%rax), %rax
movl 0x18(%r15,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%r15,%rax)
movq 0xc0(%r14), %rsi
movq %r15, %rdi
callq 0xc190
movq %rax, %r13
leaq 0x2ec94(%rip), %r12     # 0x41d5e
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0xc320
movq 0xc8(%r14), %rsi
movq %r13, %rdi
callq 0xc190
leaq 0x31794(%rip), %rsi     # 0x44884
movl $0xc, %edx
movq %rax, %rdi
callq 0xc320
movq 0x8(%r14), %rdi
addq $0x78, %rdi
callq 0x12aec
movl %eax, %esi
movq %r15, %rdi
callq 0xc190
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0xc320
movq 0x8(%r14), %rdi
addq $0x78, %rdi
callq 0x150c8
movl %eax, %esi
movq %r13, %rdi
callq 0xc190
leaq 0x3174c(%rip), %rsi     # 0x44891
movl $0x6, %edx
movq %rax, %rdi
callq 0xc320
movq 0x8(%r14), %rdi
movq 0x78(%rdi), %rax
addq $0x78, %rdi
callq *0x10(%rax)
shrq $0xa, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0xc190
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0xc320
movl 0x40(%r14), %eax
movl 0x68(%r14), %ecx
shlq $0x3, %rax
movl 0x98(%r14), %edx
addq %rcx, %rdx
leaq (%rax,%rdx,4), %rsi
shrq $0xa, %rsi
movq %r15, %rdi
callq 0xc190
leaq 0x316eb(%rip), %rsi     # 0x44898
movl $0x3, %edx
movq %rax, %rdi
callq 0xc320
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0xc2a0
movsbl %al, %esi
movq %r15, %rdi
callq 0xc030
movq %rax, %rdi
callq 0xc1a0
movl -0x2c(%rbp), %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop