// File: /workspace/github_cpp_makefile_star2_O3/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 $0x58, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq %rsi, %rdi
callq *0x48(%rax)
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %r15
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
movq %r14, -0x30(%rbp)
leaq 0x78(%r14), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x38(%rbp)
leaq 0x126a8(%rip), %r13     # 0x4bcd4
leaq -0x80(%rbp), %r14
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r12
movq (%rbx,%rax), %rax
movq %r12, %rdi
callq *(%rax)
testb %al, %al
je 0x396c0
cmpq $0x0, 0x38(%r12)
je 0x39657
movq 0x8(%r12), %rax
jmp 0x3969a
movq (%r12), %rax
movq %r12, %rdi
callq *(%rax)
leaq 0x18(%r12), %rsi
testb %al, %al
je 0x39680
movq 0x20(%r12), %rdx
movq %rsi, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
callq 0xb410
jmp 0x3968f
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
incq 0x38(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r12)
xorl %eax, %eax
movq 0x20(%r12), %rcx
leaq -0x1(%rcx), %rdx
cmpq %rdx, %rax
jne 0x396b7
movq 0x18(%r12), %rdx
cmpb $0xd, (%rdx,%rax)
je 0x39cf8
cmpq %rcx, %rax
jae 0x39cfd
movq (%rbx), %rax
movq -0x18(%rax), %r12
addq %rbx, %r12
movq %r12, %rdi
callq 0x1d33a
cmpq $0x0, 0x10(%r12)
je 0x397dc
movq 0x8(%r12), %rax
movq 0x18(%r12), %rcx
cmpb $0x63, (%rcx,%rax)
jne 0x397dc
movq (%rbx), %rax
movq -0x18(%rax), %r12
cmpq $0x0, 0x10(%rbx,%r12)
je 0x3971c
incq 0x8(%rbx,%r12)
movq $0x0, 0x10(%rbx,%r12)
movl $0x0, 0x40(%rbx,%r12)
movq -0x18(%rax), %r12
movq 0x8(%rbx,%r12), %rcx
movq 0x20(%rbx,%r12), %rdx
cmpq %rdx, %rcx
jae 0x3977b
cmpq $0x0, 0x10(%rbx,%r12)
movq 0x18(%rbx,%r12), %rsi
sete %dil
negq %rdx
incq %rcx
cmpb $0x20, -0x1(%rsi,%rcx)
jne 0x39777
movq %rcx, 0x8(%rbx,%r12)
testb $0x1, %dil
jne 0x39764
movq $0x0, 0x10(%rbx,%r12)
movl $0x0, 0x40(%rbx,%r12)
leaq (%rdx,%rcx), %r8
incq %r8
incq %rcx
movb $0x1, %dil
cmpq $0x1, %r8
jne 0x39740
movq -0x18(%rax), %r12
addq %rbx, %r12
movq %r12, %rdi
callq 0x1d33a
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x39b7b
movq 0x18(%r12), %rcx
addq 0x8(%r12), %rcx
xorl %edx, %edx
cmpq $0x3, %rdx
je 0x39a87
movb (%rcx,%rdx), %sil
leaq 0xcbfb(%rip), %rdi      # 0x463b0
cmpb (%rdx,%rdi), %sil
jne 0x39b7b
incq %rdx
cmpq %rdx, %rax
jne 0x397a0
leaq 0xcbe2(%rip), %rcx      # 0x463b0
cmpb $0x1, (%rax,%rcx)
movl %eax, %ecx
sbbl $-0x1, %ecx
jmp 0x39a8c
movq (%rbx), %rax
movq -0x18(%rax), %r12
addq %rbx, %r12
movq %r12, %rdi
callq 0x1d33a
cmpq $0x0, 0x10(%r12)
je 0x3980a
movq 0x8(%r12), %rax
movq 0x18(%r12), %rcx
cmpb $0x70, (%rcx,%rax)
je 0x39c84
testb $0x1, -0x38(%rbp)
je 0x39d98
movq -0x50(%rbp), %rax
cmpq %rax, -0x48(%rbp)
je 0x39822
movq %rax, -0x48(%rbp)
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r12
cmpq $0x0, 0x38(%rbx,%rax)
je 0x3983c
movq 0x8(%r12), %rax
jmp 0x3987f
movq (%r12), %rax
movq %r12, %rdi
callq *(%rax)
leaq 0x18(%r12), %rsi
testb %al, %al
je 0x39865
movq 0x20(%r12), %rdx
movq %rsi, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
callq 0xb410
jmp 0x39874
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
incq 0x38(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r12)
xorl %eax, %eax
movq 0x20(%r12), %rcx
leaq -0x1(%rcx), %rdx
cmpq %rdx, %rax
jne 0x3989c
movq 0x18(%r12), %rdx
cmpb $0xd, (%rdx,%rax)
je 0x39977
cmpq %rcx, %rax
jae 0x3997c
movq (%rbx), %rax
movq -0x18(%rax), %r12
movq 0x8(%rbx,%r12), %rcx
movq 0x20(%rbx,%r12), %rdx
cmpq %rdx, %rcx
jae 0x3990b
cmpq $0x0, 0x10(%rbx,%r12)
movq 0x18(%rbx,%r12), %rsi
sete %dil
negq %rdx
incq %rcx
cmpb $0x20, -0x1(%rsi,%rcx)
jne 0x39907
movq %rcx, 0x8(%rbx,%r12)
testb $0x1, %dil
jne 0x398f4
movq $0x0, 0x10(%rbx,%r12)
movl $0x0, 0x40(%rbx,%r12)
leaq (%rdx,%rcx), %r8
incq %r8
incq %rcx
movb $0x1, %dil
cmpq $0x1, %r8
jne 0x398d0
movq -0x18(%rax), %r12
addq %rbx, %r12
movq %r12, %rdi
callq 0x1d33a
cmpq $0x0, 0x10(%r12)
je 0x3992e
movq 0x8(%r12), %rax
movq 0x18(%r12), %rcx
cmpb $0x30, (%rcx,%rax)
je 0x3997c
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x3a8c0
leal (%rax,%rax), %ecx
negl %ecx
testl %eax, %eax
leal 0x1(%rax,%rax), %eax
cmovlel %ecx, %eax
movl %eax, -0x80(%rbp)
movq -0x48(%rbp), %rsi
cmpq -0x40(%rbp), %rsi
je 0x39967
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x39822
movq %r15, %rdi
movq %r14, %rdx
callq 0xe7da
jmp 0x39822
movq %rcx, 0x8(%r12)
movq (%rbx), %rax
movq -0x18(%rax), %rdi
movq 0x8(%rbx,%rdi), %rcx
movq 0x20(%rbx,%rdi), %rdx
cmpq %rdx, %rcx
jae 0x399e1
cmpq $0x0, 0x10(%rbx,%rdi)
movq 0x18(%rbx,%rdi), %rsi
sete %r8b
negq %rdx
incq %rcx
cmpb $0x20, -0x1(%rsi,%rcx)
jne 0x399dd
movq %rcx, 0x8(%rbx,%rdi)
testb $0x1, %r8b
jne 0x399ca
movq $0x0, 0x10(%rbx,%rdi)
movl $0x0, 0x40(%rbx,%rdi)
leaq (%rdx,%rcx), %r9
incq %r9
incq %rcx
movb $0x1, %r8b
cmpq $0x1, %r9
jne 0x399a7
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0x30, %esi
callq 0x1c824
movq (%rbx), %rax
movq -0x18(%rax), %rdi
movq 0x8(%rbx,%rdi), %rcx
movq 0x20(%rbx,%rdi), %rdx
cmpq %rdx, %rcx
jae 0x39a53
cmpq $0x0, 0x10(%rbx,%rdi)
movq 0x18(%rbx,%rdi), %rsi
sete %r8b
negq %rdx
incq %rcx
cmpb $0x20, -0x1(%rsi,%rcx)
jne 0x39a4f
movq %rcx, 0x8(%rbx,%rdi)
testb $0x1, %r8b
jne 0x39a3c
movq $0x0, 0x10(%rbx,%rdi)
movl $0x0, 0x40(%rbx,%rdi)
leaq (%rdx,%rcx), %r9
incq %r9
incq %rcx
movb $0x1, %r8b
cmpq $0x1, %r9
jne 0x39a19
movq -0x18(%rax), %rdi
addq %rbx, %rdi
callq 0x1cb0e
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rax
subq %rsi, %rax
sarq $0x2, %rax
cmpq $0x8000, %rax           # imm = 0x8000
jae 0x39db7
movzwl %ax, %edx
movq -0x58(%rbp), %rdi
callq 0xfc72
jmp 0x39630
movl $0x3, %ecx
cmpq %rcx, %rax
jne 0x39b7b
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movq 0x10(%rbx,%rcx), %rdx
addq %rdx, 0x8(%rbx,%rcx)
movq $0x0, 0x10(%rbx,%rcx)
movl $0x0, 0x40(%rbx,%rcx)
movq -0x18(%rax), %r12
movq 0x8(%rbx,%r12), %rcx
movq 0x20(%rbx,%r12), %rdx
cmpq %rdx, %rcx
jae 0x39b1a
cmpq $0x0, 0x10(%rbx,%r12)
movq 0x18(%rbx,%r12), %rsi
sete %dil
negq %rdx
incq %rcx
cmpb $0x20, -0x1(%rsi,%rcx)
jne 0x39b16
movq %rcx, 0x8(%rbx,%r12)
testb $0x1, %dil
jne 0x39b03
movq $0x0, 0x10(%rbx,%r12)
movl $0x0, 0x40(%rbx,%r12)
leaq (%rdx,%rcx), %r8
incq %r8
incq %rcx
movb $0x1, %dil
cmpq $0x1, %r8
jne 0x39adf
movq -0x18(%rax), %r12
addq %rbx, %r12
movq %r12, %rdi
callq 0x1d33a
cmpq $0x0, 0x10(%r12)
je 0x39c15
movq 0x8(%r12), %rax
movq 0x18(%r12), %rcx
cmpb $0x2e, (%rcx,%rax)
jne 0x39c15
movq (%rbx), %rax
movq -0x18(%rax), %rax
cmpq $0x0, 0x10(%rbx,%rax)
je 0x39b6a
incq 0x8(%rbx,%rax)
movq $0x0, 0x10(%rbx,%rax)
movl $0x0, 0x40(%rbx,%rax)
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x39f02
jmp 0x39630
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r12
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x39bcf
movq (%r12), %rax
movq %r12, %rdi
callq *(%rax)
leaq 0x18(%r12), %rsi
testb %al, %al
je 0x39bb7
movq 0x20(%r12), %rdx
movq %rsi, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
callq 0xb410
jmp 0x39bc6
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
incq 0x38(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r12)
movq (%r12), %rax
movq %r12, %rdi
callq *(%rax)
leaq 0x18(%r12), %rsi
testb %al, %al
je 0x39bf8
movq 0x20(%r12), %rdx
movq %rsi, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
callq 0xb410
jmp 0x39c07
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
incq 0x38(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r12)
jmp 0x39630
movq (%rbx), %rax
movq -0x18(%rax), %r12
addq %rbx, %r12
movq %r12, %rdi
callq 0x1d33a
cmpq $0x0, 0x10(%r12)
je 0x39c48
cmpl $0x5, 0x40(%r12)
jne 0x39c48
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x3a3ee
jmp 0x39630
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r12
cmpq $0x0, 0x38(%rbx,%rax)
jne 0x39cbd
movq (%r12), %rax
movq %r12, %rdi
callq *(%rax)
leaq 0x18(%r12), %rsi
testb %al, %al
je 0x39ca5
movq 0x20(%r12), %rdx
movq %rsi, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
callq 0xb410
jmp 0x39cb4
testb $0x1, -0x38(%rbp)
jne 0x39dd6
movb $0x1, %al
movq %rax, -0x38(%rbp)
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x3a67a
jmp 0x39630
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
incq 0x38(%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r12)
movq (%r12), %rax
movq %r12, %rdi
callq *(%rax)
leaq 0x18(%r12), %rsi
testb %al, %al
je 0x39ce9
movq 0x20(%r12), %rdx
movq %rsi, %rdi
xorl %esi, %esi
movq %r13, %rcx
xorl %r8d, %r8d
callq 0xb410
jmp 0x39c07
movq (%r12), %rax
movq %r12, %rdi
callq *0x8(%rax)
jmp 0x39c02
movq %rcx, 0x8(%r12)
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %r14
movq (%rbx,%rax), %rax
movq %r14, %rdi
callq *(%rax)
testb %al, %al
jne 0x39d7b
leaq -0x70(%rbp), %r15
movq %r15, -0x10(%r15)
leaq -0x60(%rbp), %rsi
movq $0x16, (%rsi)
leaq -0x80(%rbp), %rdi
xorl %edx, %edx
callq 0xb4f0
leaq -0x80(%rbp), %rsi
movq %rax, (%rsi)
movq -0x60(%rbp), %rcx
movq %rcx, 0x10(%rsi)
movups 0x10c69(%rip), %xmm0    # 0x4a9b2
movups %xmm0, (%rax)
movabsq $0x656c696620656874, %rdx # imm = 0x656C696620656874
movq %rdx, 0xe(%rax)
movq %rcx, 0x8(%rsi)
movq (%rsi), %rax
movb $0x0, (%rax,%rcx)
movq %r14, %rdi
callq 0x1c690
movq -0x80(%rbp), %rdi
cmpq %r15, %rdi
je 0x39d7b
callq 0xb280
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x39d89
callq 0xb280
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x10c40(%rip), %rdi     # 0x4a9df
leaq 0x10c48(%rip), %rsi     # 0x4a9ee
leaq 0x10c5c(%rip), %rcx     # 0x4aa09
movl $0x70, %edx
callq 0xb180
leaq 0x10c7d(%rip), %rdi     # 0x4aa3b
leaq 0x10c29(%rip), %rsi     # 0x4a9ee
leaq 0x10c3d(%rip), %rcx     # 0x4aa09
movl $0x80, %edx
callq 0xb180
leaq 0x10c01(%rip), %rdi     # 0x4a9de
leaq 0x10c0a(%rip), %rsi     # 0x4a9ee
leaq 0x10c1e(%rip), %rcx     # 0x4aa09
movl $0x6c, %edx
callq 0xb180
movq %rax, %rbx
movq -0x80(%rbp), %rdi
cmpq %r15, %rdi
je 0x39e13
callq 0xb280
jmp 0x39e13
jmp 0x39e10
jmp 0x39e10
jmp 0x39e10
jmp 0x39e10
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x39e21
callq 0xb280
movq %rbx, %rdi
callq 0xb4e0
nop