// File: /workspace/github_cpp_makefile_star2_O2/vsklad[P]cgen/./bal/cnf/io/cnfdimacs.hpp
// Function: bal::DimacsStreamReader::read(bal::Cnf&)
void read(Cnf& value) override {
            value.initialize();
            
            bool is_header_read = false;
            std::vector<literalid_t> literals;
            
            while (!is_eof()) {
                if (is_symbol('c')) {
                    skip_symbol();
                    skip_space();
                    if (is_token("var")) {
                        skip_token();
                        skip_space();
                        if (is_symbol('.')) {
                            skip_symbol();
                            read_parameters(value);
                        } else if (is_token(ttLiteral)) {
                            read_named_variable(value);
                        } else {
                            skip_line();
                        };
                    } else {
                        skip_line();
                    };
                } else if (is_symbol('p')) {
                    assert(!is_header_read);
                    read_header(value);
                    is_header_read = true;
                } else {
                    assert(is_header_read);
                    literals.clear();
                    while (!is_eol()) {
                        skip_space();
                        if (is_symbol('0')) {
                            break;
                        }
                        else {
                            literals.push_back(literal_t__from_sint(read_sint32()));
                        }
                    };
                    skip_space();
                    read_symbol('0');
                    skip_space();
                    read_eol();
                    
                    assert(literals.size() <= CLAUSE_SIZE_MAX);
                    value.append_clause(literals.data(), literals.size());
                }
            };
            
            read_eof();
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq %rsi, %rdi
callq *0x48(%rax)
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %r15
movaps %xmm0, (%r15)
andq $0x0, 0x10(%r15)
movq %rbx, -0x30(%rbp)
leaq 0x78(%rbx), %rax
movq %rax, -0x58(%rbp)
xorl %r13d, %r13d
pushq $0x30
popq %rbx
leaq -0x34(%rbp), %r12
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x18f7e
movq (%r14), %rcx
movq -0x18(%rcx), %rdi
addq %r14, %rdi
testb %al, %al
jne 0x2d9c1
pushq $0x63
popq %rsi
callq 0x18a92
movq (%r14), %rcx
movq -0x18(%rcx), %rdi
addq %r14, %rdi
testb %al, %al
je 0x2d880
callq 0x197ba
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x2d286
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
leaq 0xaade(%rip), %rsi      # 0x382f0
callq 0x18cd6
movq (%r14), %rcx
movq -0x18(%rcx), %rdi
addq %r14, %rdi
testb %al, %al
je 0x2d99d
movq 0x10(%rdi), %rax
addq %rax, 0x8(%rdi)
andq $0x0, 0x10(%rdi)
andl $0x0, 0x40(%rdi)
movq -0x18(%rcx), %rdi
addq %r14, %rdi
callq 0x2d286
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
pushq $0x2e
popq %rsi
callq 0x18a92
movq (%r14), %rcx
movq -0x18(%rcx), %rdi
addq %r14, %rdi
testb %al, %al
je 0x2d976
callq 0x197ba
movq %r14, %rdi
movq -0x30(%rbp), %rsi
callq 0x2dad8
jmp 0x2d7b2
pushq $0x70
popq %rsi
callq 0x18a92
testb %al, %al
jne 0x2d9a7
testb $0x1, %r13b
je 0x2d9de
movq -0x50(%rbp), %rax
cmpq %rax, -0x48(%rbp)
je 0x2d8a8
movq %rax, -0x48(%rbp)
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x18bfe
testb %al, %al
jne 0x2d90c
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x2d286
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl %ebx, %esi
callq 0x18a92
testb %al, %al
jne 0x2d90c
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x2ddfc
leal (%rax,%rax), %ecx
negl %ecx
testl %eax, %eax
leal 0x1(%rax,%rax), %eax
cmovlel %ecx, %eax
movl %eax, -0x34(%rbp)
movq %r15, %rdi
movq %r12, %rsi
callq 0xe0d2
jmp 0x2d8a8
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x2d286
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl %ebx, %esi
callq 0x18ac2
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x2d286
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x18c3c
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rax
subq %rsi, %rax
sarq $0x2, %rax
cmpq $0x8000, %rax           # imm = 0x8000
jae 0x2d9fb
movzwl %ax, %edx
movq -0x58(%rbp), %rdi
callq 0xf230
jmp 0x2d7b2
pushq $0x5
popq %rsi
callq 0x18644
testb %al, %al
je 0x2d993
movq %r14, %rdi
movq -0x30(%rbp), %rsi
callq 0x2dc58
jmp 0x2d7b2
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
callq 0x18f62
jmp 0x2d7b2
testb $0x1, %r13b
jne 0x2da1a
movb $0x1, %r13b
movq %r14, %rdi
movq -0x30(%rbp), %rsi
callq 0x2dd2c
jmp 0x2d7b2
callq 0x2d51c
leaq -0x50(%rbp), %rdi
callq 0x12486
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xf201(%rip), %rdi      # 0x3cbe6
leaq 0xf209(%rip), %rsi      # 0x3cbf5
leaq 0xf21d(%rip), %rcx      # 0x3cc10
pushq $0x70
popq %rdx
callq 0xc180
leaq 0xf240(%rip), %rdi      # 0x3cc42
leaq 0xf1ec(%rip), %rsi      # 0x3cbf5
leaq 0xf200(%rip), %rcx      # 0x3cc10
movl $0x80, %edx
callq 0xc180
leaq 0xf1c4(%rip), %rdi      # 0x3cbe5
leaq 0xf1cd(%rip), %rsi      # 0x3cbf5
leaq 0xf1e1(%rip), %rcx      # 0x3cc10
pushq $0x6c
jmp 0x2d9f5
jmp 0x2da3b
jmp 0x2da3b
jmp 0x2da3b
jmp 0x2da3b
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x12486
movq %rbx, %rdi
callq 0xc4c0
nop