// File: /workspace/github_cpp_makefile_star2_O3/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 0x5fe4
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 0x5fe4
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 0x5fe4
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 0x5fe4
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 0x5fe4
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 0x5fe4
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 0x5fe4
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 0x2804
decl %r14d
jne 0x565f
movb $0x1, 0x110(%rbx)
leaq 0x2b0(%rbx), %r14
leaq -0x80(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
leaq -0x70(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
leaq -0x60(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
leaq -0x20(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
leaq -0x40(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
leaq -0x30(%rbp), %rdi
movq %r14, %rsi
callq 0x6a50
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2978
movq %rbx, %rdi
callq 0x64b6
movq 0x8(%rbx), %rax
movl 0x4(%rax), %esi
movq %rbx, %rdi
callq 0x4c58
movq %rbx, %rdi
callq 0x64b6
movq -0x20(%rbp), %rdi
testq %rdi, %rdi
je 0x5751
movl $0x0, -0x18(%rbp)
callq 0x2180
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x5766
movl $0x0, -0x28(%rbp)
callq 0x2180
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x577b
movl $0x0, -0x38(%rbp)
callq 0x2180
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x5790
movl $0x0, -0x48(%rbp)
callq 0x2180
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x57a5
movl $0x0, -0x58(%rbp)
callq 0x2180
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x57ba
movl $0x0, -0x68(%rbp)
callq 0x2180
movq -0x80(%rbp), %rdi
testq %rdi, %rdi
je 0x57cf
movl $0x0, -0x78(%rbp)
callq 0x2180
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
jmp 0x5813
movq %rax, %rbx
jmp 0x5828
movq %rax, %rbx
jmp 0x583d
movq %rax, %rbx
jmp 0x5852
movq %rax, %rbx
jmp 0x5867
movq %rax, %rbx
jmp 0x587c
jmp 0x57fb
movq %rax, %rbx
movq -0x20(%rbp), %rdi
testq %rdi, %rdi
je 0x5813
movl $0x0, -0x18(%rbp)
callq 0x2180
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x5828
movl $0x0, -0x28(%rbp)
callq 0x2180
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x583d
movl $0x0, -0x38(%rbp)
callq 0x2180
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x5852
movl $0x0, -0x48(%rbp)
callq 0x2180
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x5867
movl $0x0, -0x58(%rbp)
callq 0x2180
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x587c
movl $0x0, -0x68(%rbp)
callq 0x2180
movq -0x80(%rbp), %rdi
testq %rdi, %rdi
je 0x5891
movl $0x0, -0x78(%rbp)
callq 0x2180
movq %rbx, %rdi
callq 0x2270