// File: /workspace/github_cpp_makefile_star2_O1/vsklad[P]cgen/./bal/cnf/cnf/cnfclausescontainer.hpp
// Function: bal::CnfClausesIndexedContainer<false>::rollback(unsigned int, unsigned int, unsigned int)
void rollback(const container_size_t size,
                      const container_size_t instances_size,
                      const container_size_t container_size) override {
            base_t::rollback(0, 0, container_size);
            this->instances_.append(CONTAINER_END, instances_size);
            container_offset_t container_offset = 0;
            while (container_offset < container_size) {
                uint32_t* const p_clause = _clauses_offset_clause(this->p_container_->data_, container_offset);
                _clause_include(p_clause);
                insertion_point_t insertion_point;
                this->find(p_clause, insertion_point);
                _assert_level_1(insertion_point.container_offset == CONTAINER_END);
                base_t::_update(container_offset, insertion_point);
                _clauses_offset_next(container_offset, p_clause);
                this->size_ = container_offset; // "commits" the clause
            };
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %ecx, %ebx
movl %edx, %r13d
movq %rdi, %r14
xorl %r15d, %r15d
xorl %esi, %esi
xorl %edx, %edx
callq 0x290c4
leaq 0x30(%r14), %rdi
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq %rdi, -0x48(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl %r13d, %edx
callq 0x12094
movl %ebx, -0x3c(%rbp)
testl %ebx, %ebx
je 0x28e64
movq %r14, %rdi
movl $0x7fff, %r8d           # imm = 0x7FFF
leaq 0x3661b(%rip), %r13     # 0x5f2f4
movw $0x7fff, %bx            # imm = 0x7FFF
movq 0x28(%rdi), %rax
movq (%rax), %rcx
movl %r15d, %edx
leaq (%rcx,%rdx,4), %rax
andl $0xffff7fff, 0xc(%rax)  # imm = 0xFFFF7FFF
movl 0x5c(%rdi), %esi
movl %esi, -0x34(%rbp)
movl $0xffffffff, -0x38(%rbp) # imm = 0xFFFFFFFF
movl 0xc(%rax), %esi
andl %r8d, %esi
decl %esi
movl 0x10(%rax,%rsi,4), %esi
shrl %esi
decl %esi
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl 0x38(%rdi), %esi
jae 0x28d27
movq -0x48(%rbp), %rax
movq (%rax), %rax
movl %esi, %r8d
movl (%rax,%r8,4), %eax
leaq (%rcx,%rdx,4), %r14
addq $0xc, %r14
cmpl $-0x1, %eax
je 0x28e03
movq 0x8(%rdi), %rcx
movl %eax, %edx
incl (%r13)
movzwl 0xc(%rcx,%rdx,4), %esi
andl $0x7fff, %esi           # imm = 0x7FFF
movzwl (%r14), %r11d
andw %bx, %r11w
je 0x28d93
testw %si, %si
je 0x28d93
leaq (%rcx,%rdx,4), %r8
addq $0xc, %r8
movzwl %r11w, %r9d
movzwl %si, %r10d
movl (%r8,%r10,4), %r10d
cmpl %r10d, (%r14,%r9,4)
jne 0x28da9
leal -0x1(%r11), %r9d
leal -0x1(%rsi), %r10d
cmpw $0x1, %si
je 0x28d99
movl %r10d, %esi
cmpw $0x1, %r11w
movl %r9d, %r11d
jne 0x28d64
jmp 0x28d99
movl %r11d, %r9d
movl %esi, %r10d
xorl %esi, %esi
cmpw %r10w, %r9w
setne %sil
cmovbl %r12d, %esi
jmp 0x28db3
movl $0x0, %esi
sbbl %esi, %esi
orl $0x1, %esi
leaq (%rcx,%rdx,4), %rdx
testl %esi, %esi
jle 0x28dd1
movl 0x4(%rdx), %esi
movb $0x1, %dl
cmpl $-0x1, %esi
jne 0x28de4
movl $0x2, -0x30(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x28de0
js 0x28df0
movl $0x3, -0x30(%rbp)
movl %eax, -0x2c(%rbp)
movl %eax, -0x38(%rbp)
xorl %edx, %edx
movl %eax, %esi
movl %esi, %eax
testb %dl, %dl
jne 0x28d3c
jmp 0x28e0d
movl 0x8(%rdx), %esi
movb $0x1, %dl
cmpl $-0x1, %esi
jne 0x28de4
movl $0x1, -0x30(%rbp)
jmp 0x28dcc
movl $0x0, -0x30(%rbp)
movl %esi, -0x2c(%rbp)
movl -0x38(%rbp), %eax
leaq 0x364d5(%rip), %rcx     # 0x5f2ec
cmpl $-0x1, %eax
jne 0x28e23
leaq 0x364cd(%rip), %rcx     # 0x5f2f0
incl (%rcx)
cmpl $-0x1, %eax
jne 0x28e73
movl %r15d, %esi
leaq -0x38(%rbp), %rdx
movq %rdi, %r12
callq 0x11cb8
movq %r12, %rdi
movl (%r14), %eax
movl $0x7fff, %r8d           # imm = 0x7FFF
andl %r8d, %eax
addl %eax, %r15d
addl $0x4, %r15d
movl %r15d, 0x10(%r12)
cmpl -0x3c(%rbp), %r15d
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jb 0x28cdd
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1aa90(%rip), %rdi     # 0x4390a
leaq 0x1a42c(%rip), %rsi     # 0x432ad
leaq 0x203f4(%rip), %rcx     # 0x4927c
movl $0x69, %edx
callq 0xc180