// File: /workspace/github_cpp_makefile_star2_O1/Myyura[P]MyyuraSat/./source/./solver_debug.cpp
// Function: MyyuraSat::Solver::subsumption_test()
void Solver::subsumption_test(void) {
    Vector<Literal> A = {Literal(1, 0), Literal(2, 0), Literal(3, 0)};
    Vector<Literal> B = {Literal(1, 0), Literal(2, 0)};
    Vector<Literal> C = {Literal(1, 0), Literal(2, 0), Literal(4, 0)};

    Vector<Literal> E = {Literal(2, 0), Literal(4, 0)};
    Vector<Literal> F = {Literal(4, 0), Literal(2, 0), Literal(5, 0)};
    Vector<Literal> G = {Literal(2, 0), Literal(4, 0)};
    Vector<Literal> D = {Literal(3, 0), Literal(2, 0)};

    for (int i = 0; i <= 5; i++) {
        new_variable();
    }

    _ca.extra_clause_field(true);

    // print_clauses();

    add_clause(A);
    add_clause(B);
    add_clause(C);
    add_clause(D);
    add_clause(E);
    add_clause(F);
    add_clause(G);

    // check_garbage();

    print_clauses();
    subsume0(_clauses[1]);
    print_clauses();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
leaq -0x80(%rbp), %r14
movaps %xmm0, (%r14)
movq %r14, %rdi
movl $0x3, %esi
callq 0x6170
movl $0x3, 0x8(%r14)
movq (%r14), %rax
movabsq $0x400000002, %r14      # imm = 0x400000002
movq %r14, (%rax)
movl $0x6, 0x8(%rax)
leaq -0x70(%rbp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movl $0x2, %esi
callq 0x6170
movl $0x2, -0x68(%rbp)
movq -0x70(%rbp), %rax
movq %r14, (%rax)
leaq -0x60(%rbp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movl $0x3, %esi
callq 0x6170
movl $0x3, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq %r14, (%rax)
movl $0x8, 0x8(%rax)
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rdi
movaps %xmm0, (%rdi)
movl $0x2, %esi
callq 0x6170
movl $0x2, -0x48(%rbp)
movq -0x50(%rbp), %rax
movabsq $0x800000004, %r14      # imm = 0x800000004
movq %r14, (%rax)
leaq -0x40(%rbp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movl $0x3, %esi
callq 0x6170
movl $0x3, -0x38(%rbp)
movq -0x40(%rbp), %rax
movabsq $0x400000008, %rcx      # imm = 0x400000008
movq %rcx, (%rax)
movl $0xa, 0x8(%rax)
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rdi
movaps %xmm0, (%rdi)
movl $0x2, %esi
callq 0x6170
movl $0x2, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %r14, (%rax)
leaq -0x20(%rbp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movl $0x2, %esi
callq 0x6170
movl $0x2, -0x18(%rbp)
movq -0x20(%rbp), %rax
movabsq $0x400000006, %rcx      # imm = 0x400000006
movq %rcx, (%rax)
movl $0x6, %r14d
movq %rbx, %rdi
xorl %edx, %edx
callq 0x2864
decl %r14d
jne 0x5759
movb $0x1, 0x110(%rbx)
leaq 0x2b0(%rbx), %r14
leaq -0x80(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
leaq -0x70(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
leaq -0x60(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
leaq -0x20(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
leaq -0x40(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
leaq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x6c20
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29d4
movq %rbx, %rdi
callq 0x6688
movq 0x8(%rbx), %rax
movl 0x4(%rax), %esi
movq %rbx, %rdi
callq 0x4cce
movq %rbx, %rdi
callq 0x6688
movq -0x20(%rbp), %rdi
testq %rdi, %rdi
je 0x5854
xorl %ebx, %ebx
movl %ebx, -0x18(%rbp)
callq 0x2180
movq $0x0, -0x20(%rbp)
movl %ebx, -0x14(%rbp)
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x5872
xorl %ebx, %ebx
movl %ebx, -0x28(%rbp)
callq 0x2180
movq $0x0, -0x30(%rbp)
movl %ebx, -0x24(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x5890
xorl %ebx, %ebx
movl %ebx, -0x38(%rbp)
callq 0x2180
movq $0x0, -0x40(%rbp)
movl %ebx, -0x34(%rbp)
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x58ae
xorl %ebx, %ebx
movl %ebx, -0x48(%rbp)
callq 0x2180
movq $0x0, -0x50(%rbp)
movl %ebx, -0x44(%rbp)
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x58cc
xorl %ebx, %ebx
movl %ebx, -0x58(%rbp)
callq 0x2180
movq $0x0, -0x60(%rbp)
movl %ebx, -0x54(%rbp)
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x58ea
xorl %ebx, %ebx
movl %ebx, -0x68(%rbp)
callq 0x2180
movq $0x0, -0x70(%rbp)
movl %ebx, -0x64(%rbp)
movq -0x80(%rbp), %rdi
testq %rdi, %rdi
je 0x5908
xorl %ebx, %ebx
movl %ebx, -0x78(%rbp)
callq 0x2180
movq $0x0, -0x80(%rbp)
movl %ebx, -0x74(%rbp)
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
jmp 0x5961
movq %rax, %rbx
jmp 0x5982
movq %rax, %rbx
jmp 0x59a3
movq %rax, %rbx
jmp 0x59c4
movq %rax, %rbx
jmp 0x59e5
movq %rax, %rbx
jmp 0x5a06
jmp 0x593d
movq %rax, %rbx
movq -0x20(%rbp), %rdi
testq %rdi, %rdi
je 0x5961
xorl %r14d, %r14d
movl %r14d, -0x18(%rbp)
callq 0x2180
movq $0x0, -0x20(%rbp)
movl %r14d, -0x14(%rbp)
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x5982
xorl %r14d, %r14d
movl %r14d, -0x28(%rbp)
callq 0x2180
movq $0x0, -0x30(%rbp)
movl %r14d, -0x24(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x59a3
xorl %r14d, %r14d
movl %r14d, -0x38(%rbp)
callq 0x2180
movq $0x0, -0x40(%rbp)
movl %r14d, -0x34(%rbp)
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x59c4
xorl %r14d, %r14d
movl %r14d, -0x48(%rbp)
callq 0x2180
movq $0x0, -0x50(%rbp)
movl %r14d, -0x44(%rbp)
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x59e5
xorl %r14d, %r14d
movl %r14d, -0x58(%rbp)
callq 0x2180
movq $0x0, -0x60(%rbp)
movl %r14d, -0x54(%rbp)
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x5a06
xorl %r14d, %r14d
movl %r14d, -0x68(%rbp)
callq 0x2180
movq $0x0, -0x70(%rbp)
movl %r14d, -0x64(%rbp)
movq -0x80(%rbp), %rdi
testq %rdi, %rdi
je 0x5a27
xorl %r14d, %r14d
movl %r14d, -0x78(%rbp)
callq 0x2180
movq $0x0, -0x80(%rbp)
movl %r14d, -0x74(%rbp)
movq %rbx, %rdi
callq 0x2270