// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %rax
movq %rdi, %rbx
leaq 0x30(%rdi), %r15
xorps %xmm0, %xmm0
movups %xmm0, 0xc0(%rdi)
movq $0x0, 0xd0(%rdi)
xorl %r14d, %r14d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x12c3c
movq 0x8(%rbx), %rax
cmpl $0x0, 0x88(%rax)
je 0x11c92
xorl %r14d, %r14d
movq %rbx, -0x30(%rbp)
movq 0x18(%rbx), %rax
movq (%rax), %rax
movl %r14d, %r13d
movl 0xc(%rax,%r13,4), %r12d
testw %r12w, %r12w
js 0x11c64
leaq (%rax,%r13,4), %rsi
addq $0xc, %rsi
movq -0x30(%rbp), %rbx
movl %r14d, 0xb0(%rbx)
movq %rbx, %rdi
callq 0x13da0
cmpl $0x4, %eax
je 0x11c8c
movq 0x18(%rbx), %rax
movq (%rax), %rax
movl 0xc(%rax,%r13,4), %ecx
testw %cx, %cx
sets %dl
testl $0x7fff, %ecx           # imm = 0x7FFF
sete %cl
orb %dl, %cl
jne 0x11c64
leaq (%rax,%r13,4), %r13
xorl %ebx, %ebx
movl 0x10(%r13,%rbx,4), %esi
shrl %esi
decl %esi
movq %r15, %rdi
movl %r14d, %edx
callq 0x13f3c
incq %rbx
movl 0xc(%r13), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
cmpq %rax, %rbx
jb 0x11c3f
andl $0x7fff, %r12d          # imm = 0x7FFF
addl %r12d, %r14d
addl $0x4, %r14d
movq -0x30(%rbp), %rbx
movq 0x8(%rbx), %rax
cmpl 0x88(%rax), %r14d
jb 0x11be5
xorl %r14d, %r14d
jmp 0x11c92
movl $0x4, %r14d
movq 0x4a317(%rip), %r15     # 0x5bfb0
leaq 0x30be7(%rip), %rsi     # 0x42887
movl $0xc, %edx
movq %r15, %rdi
callq 0xb320
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(%rbx), %rsi
movq %r15, %rdi
callq 0xb190
movq %rax, %r13
leaq 0x2e06d(%rip), %r12     # 0x3fd4a
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0xb320
movq 0xc8(%rbx), %rsi
movq %r13, %rdi
callq 0xb190
leaq 0x30b91(%rip), %rsi     # 0x42894
movl $0xc, %edx
movq %rax, %rdi
callq 0xb320
movq 0x8(%rbx), %rdi
addq $0x78, %rdi
callq 0x11708
movl %eax, %esi
movq %r15, %rdi
callq 0xb190
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0xb320
movq 0x8(%rbx), %rdi
addq $0x78, %rdi
callq 0x13c3e
movl %eax, %esi
movq %r13, %rdi
callq 0xb190
leaq 0x30b49(%rip), %rsi     # 0x428a1
movl $0x6, %edx
movq %rax, %rdi
callq 0xb320
movq 0x8(%rbx), %rdi
movq 0x78(%rdi), %rax
addq $0x78, %rdi
callq *0x10(%rax)
shrq $0xa, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0xb190
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0xb320
movl 0x40(%rbx), %eax
movl 0x68(%rbx), %ecx
shlq $0x3, %rax
movl 0x98(%rbx), %edx
addq %rcx, %rdx
leaq (%rax,%rdx,4), %rsi
shrq $0xa, %rsi
movq %r15, %rdi
callq 0xb190
leaq 0x30aeb(%rip), %rsi     # 0x428a8
movl $0x3, %edx
movq %rax, %rdi
callq 0xb320
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0xb2a0
movsbl %al, %esi
movq %r15, %rdi
callq 0xb030
movq %rax, %rdi
callq 0xb1a0
movl %r14d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop