// File: 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
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
callq *0x48(%rax)
movb $0x0, -0x11(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x17e70
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x26e90
movb %al, -0x49(%rbp)
jmp 0x53e87
movb -0x49(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x53e95
jmp 0x5420e
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0x63, %esi
callq 0x263d0
movb %al, -0x4a(%rbp)
jmp 0x53eb2
movb -0x4a(%rbp), %al
testb $0x1, %al
jne 0x53ebe
jmp 0x5400f
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x283f0
jmp 0x53ed3
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x535f0
jmp 0x53ee8
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
leaq 0xe49f(%rip), %rsi      # 0x6239c
callq 0x26810
movb %al, -0x4b(%rbp)
jmp 0x53f07
movb -0x4b(%rbp), %al
testb $0x1, %al
jne 0x53f13
jmp 0x53ff3
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x26900
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x535f0
jmp 0x53f3b
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0x2e, %esi
callq 0x263d0
movb %al, -0x4c(%rbp)
jmp 0x53f58
movb -0x4c(%rbp), %al
testb $0x1, %al
jne 0x53f61
jmp 0x53fa1
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x283f0
jmp 0x53f76
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x54440
jmp 0x53f85
jmp 0x53ff1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x18050
jmp 0x54232
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0x5, %esi
callq 0x25bb0
movb %al, -0x4d(%rbp)
jmp 0x53fbe
movb -0x4d(%rbp), %al
testb $0x1, %al
jne 0x53fc7
jmp 0x53fd8
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x546c0
jmp 0x53fd6
jmp 0x53fef
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x26e60
jmp 0x53fed
jmp 0x53fef
jmp 0x53ff1
jmp 0x5400a
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x26e60
jmp 0x54008
jmp 0x5400a
jmp 0x54209
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0x70, %esi
callq 0x263d0
movb %al, -0x4e(%rbp)
jmp 0x5402c
movb -0x4e(%rbp), %al
testb $0x1, %al
jne 0x54035
jmp 0x54079
movb -0x11(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x54040
jmp 0x54042
jmp 0x54061
leaq 0x1308f(%rip), %rdi     # 0x670d8
leaq 0x13098(%rip), %rsi     # 0x670e8
movl $0x6c, %edx
leaq 0x130a7(%rip), %rcx     # 0x67103
callq 0xd1c0
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x547f0
jmp 0x54070
movb $0x1, -0x11(%rbp)
jmp 0x54207
testb $0x1, -0x11(%rbp)
je 0x54081
jmp 0x540a0
leaq 0x13051(%rip), %rdi     # 0x670d9
leaq 0x13059(%rip), %rsi     # 0x670e8
movl $0x70, %edx
leaq 0x13068(%rip), %rcx     # 0x67103
callq 0xd1c0
leaq -0x30(%rbp), %rdi
callq 0xf9d0
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x26670
movb %al, -0x4f(%rbp)
jmp 0x540c1
movb -0x4f(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x540cc
jmp 0x54142
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x535f0
jmp 0x540e1
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0x30, %esi
callq 0x263d0
movb %al, -0x50(%rbp)
jmp 0x540fe
movb -0x50(%rbp), %al
testb $0x1, %al
jne 0x54107
jmp 0x54109
jmp 0x54142
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x548d0
movl %eax, -0x54(%rbp)
jmp 0x54121
movl -0x54(%rbp), %edi
callq 0x34880
movl %eax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xfa10
jmp 0x5413b
jmp 0x5413d
jmp 0x540a9
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x535f0
jmp 0x54157
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
movl $0x30, %esi
callq 0x26430
jmp 0x54171
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x535f0
jmp 0x54186
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x26710
jmp 0x5419b
leaq -0x30(%rbp), %rdi
callq 0xf9f0
cmpq $0x7fff, %rax           # imm = 0x7FFF
ja 0x541ae
jmp 0x541cd
leaq 0x12f80(%rip), %rdi     # 0x67135
leaq 0x12f2c(%rip), %rsi     # 0x670e8
movl $0x80, %edx
leaq 0x12f3b(%rip), %rcx     # 0x67103
callq 0xd1c0
movq -0x10(%rbp), %rax
addq $0x78, %rax
movq %rax, -0x68(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x4f7a0
movq -0x70(%rbp), %rdi
movq %rax, -0x60(%rbp)
callq 0xf9f0
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
movzwl %ax, %edx
callq 0x13950
jmp 0x54205
jmp 0x54207
jmp 0x54209
jmp 0x53e6f
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x53a20
jmp 0x54223
leaq -0x30(%rbp), %rdi
callq 0x18050
addq $0x70, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0xd5a0
nopl (%rax,%rax)