// File: /workspace/github_cpp_makefile_star2_O2/vsklad[P]cgen/commands.cpp
// Function: print_statistics(bal::Cnf const&)
void print_statistics(const bal::Cnf& cnf) {
    if (cnf.clauses_size() == 0) {
        std::cout << MSG_FORMULA_IS_SATISFIABLE;
        if (cnf.variables_size() > 0) {
            std::cout << " with " << std::dec << cnf.variables_size() << " free variables";
        } else {
            std::cout << " with 1 solution";
        };
        std::cout << std::endl;
    } else {
        std::cout << "CNF: " << std::dec;
        std::cout << cnf.variables_size() << " var";
        std::cout << ", " << cnf.clauses_size() << "/" << cnf.clauses_size<0, true>() << "/" << cnf.clauses_size<2>() << " cls/agr/bin";
        std::cout << ", " << cnf.clauses_size<0, false, true>() << " lit";
        std::cout << ", " << (cnf.memory_size() >> 10) << " Kb" << std::endl;
    };
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x78(%rdi), %r14
movq %r14, %rdi
callq 0x107d8
testl %eax, %eax
je 0x19fbf
movq 0x37125(%rip), %r15     # 0x50fb0
leaq 0x1e457(%rip), %rsi     # 0x382e9
movq %r15, %rdi
callq 0xc290
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x58(%rax)
movl %eax, %esi
movq %r15, %rdi
callq 0xc190
leaq 0x1e426(%rip), %rsi     # 0x382ef
movq %rax, %rdi
callq 0xc290
leaq 0x1e43e(%rip), %rsi     # 0x38316
movq %r15, %rdi
callq 0xc290
movq %rax, %r13
movq %r14, %rdi
callq 0x107d8
movl %eax, %esi
movq %r13, %rdi
callq 0xc190
leaq 0x17e62(%rip), %r13     # 0x31d5e
movq %rax, %rdi
movq %r13, %rsi
callq 0xc290
movq %rax, %r12
movq %r14, %rdi
callq 0x12690
movl %eax, %esi
movq %r12, %rdi
callq 0xc190
movq %rax, %rdi
movq %r13, %rsi
callq 0xc290
movq %rax, %r12
movq %r14, %rdi
callq 0x1bda6
movl %eax, %esi
movq %r12, %rdi
callq 0xc190
leaq 0x1e3b1(%rip), %rsi     # 0x382f4
movq %rax, %rdi
callq 0xc290
movq %r15, %rdi
leaq 0x1e3c1(%rip), %r13     # 0x38316
movq %r13, %rsi
callq 0xc290
movq %rax, %r12
movq %r14, %rdi
callq 0x1be1c
movl %eax, %esi
movq %r12, %rdi
callq 0xc190
leaq 0x1e388(%rip), %rsi     # 0x38301
movq %rax, %rdi
callq 0xc290
movq %r15, %rdi
movq %r13, %rsi
callq 0xc290
movq %rax, %r15
movq 0x78(%rbx), %rax
movq %r14, %rdi
callq *0x10(%rax)
shrq $0xa, %rax
movq %r15, %rdi
movq %rax, %rsi
callq 0xc190
leaq 0x1a8f9(%rip), %rsi     # 0x348a8
movq %rax, %rdi
callq 0xc290
movq %rax, %r14
jmp 0x1a040
movq 0x36fea(%rip), %r14     # 0x50fb0
leaq 0x1e2d9(%rip), %rsi     # 0x382a6
movq %r14, %rdi
callq 0xc290
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x58(%rax)
testl %eax, %eax
je 0x1a02a
leaq 0x1e2d8(%rip), %rsi     # 0x382c1
movq %r14, %rdi
callq 0xc290
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r15,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%r15,%rax)
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x58(%rax)
movl %eax, %esi
movq %r15, %rdi
callq 0xc190
leaq 0x1e2a3(%rip), %rsi     # 0x382c8
movq %rax, %rdi
jmp 0x1a03b
movq 0x36f7f(%rip), %r14     # 0x50fb0
leaq 0x1e2a0(%rip), %rsi     # 0x382d8
movq %r14, %rdi
callq 0xc290
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc120