// File: /workspace/github_cpp_makefile_star2_O1/Laakeri[P]maxpre/src/./SE.cpp
// Function: maxPreprocessor::Preprocessor::trySESlow(int)
int Preprocessor::trySESlow(int lit) {
	vector<int> toRemove;
	
	for (int c1 : pi.litClauses[lit]) {
		for (int c2 : pi.litClauses[lit]) {
			if (c1 <= c2) continue;
			if (pi.clauses[c1].lit.size() > pi.clauses[c2].lit.size() && pi.clauses[c2].isHard()) {
				if (isSubsumed(pi.clauses[c1].lit, pi.clauses[c2].lit)) {
					toRemove.push_back(c1);
				}
			}
			if (pi.clauses[c2].lit.size() > pi.clauses[c1].lit.size() && pi.clauses[c1].isHard()) {
				if (isSubsumed(pi.clauses[c2].lit, pi.clauses[c1].lit)) {
					toRemove.push_back(c2);
				}
			}
		}
	}
	int removed = 0;
	for (int c : toRemove) {
		if (!pi.isClauseRemoved(c)) {
			pi.removeClause(c);
			removed++;
		}
	}
	return removed;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movslq %esi, %rax
movq 0x18(%rdi), %rcx
leaq (%rax,%rax,2), %r13
movq (%rcx,%r13,8), %rbp
movq 0x8(%rcx,%r13,8), %rax
movq %rax, 0x30(%rsp)
cmpq %rax, %rbp
je 0xbc32
movl (%rbp), %eax
movl %eax, 0x8(%rsp)
movq 0x18(%rbx), %rax
movq (%rax,%r13,8), %r12
movq 0x8(%rax,%r13,8), %r14
cmpq %r14, %r12
je 0xbc23
movslq (%r12), %rax
movl %eax, 0xc(%rsp)
movslq 0x8(%rsp), %rdx
cmpl %eax, %edx
jle 0xbc1a
movq (%rbx), %rcx
leaq (%rdx,%rdx,4), %rdx
movq 0x8(%rcx,%rdx,8), %rsi
subq (%rcx,%rdx,8), %rsi
leaq (%rax,%rax,4), %rax
movq 0x8(%rcx,%rax,8), %rdx
subq (%rcx,%rax,8), %rdx
cmpq %rdx, %rsi
jbe 0xbb92
leaq (%rcx,%rax,8), %rdi
callq 0x29586
testb %al, %al
je 0xbb92
movslq 0x8(%rsp), %r15
movq (%rbx), %rax
leaq (%r15,%r15,4), %rcx
leaq (%rax,%rcx,8), %rsi
movslq 0xc(%rsp), %rcx
leaq (%rcx,%rcx,4), %rcx
leaq (%rax,%rcx,8), %rdx
callq 0xba2c
testb %al, %al
je 0xbb92
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0xbb83
movl %r15d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x18(%rsp)
jmp 0xbb92
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x98e8
movslq 0xc(%rsp), %rcx
movq (%rbx), %rax
leaq (%rcx,%rcx,4), %rcx
movq 0x8(%rax,%rcx,8), %rdx
subq (%rax,%rcx,8), %rdx
movslq 0x8(%rsp), %rcx
leaq (%rcx,%rcx,4), %rcx
movq 0x8(%rax,%rcx,8), %rsi
subq (%rax,%rcx,8), %rsi
cmpq %rsi, %rdx
jbe 0xbc1a
leaq (%rax,%rcx,8), %rdi
callq 0x29586
testb %al, %al
je 0xbc1a
movslq 0xc(%rsp), %r15
movq (%rbx), %rax
leaq (%r15,%r15,4), %rcx
leaq (%rax,%rcx,8), %rsi
movslq 0x8(%rsp), %rcx
leaq (%rcx,%rcx,4), %rcx
leaq (%rax,%rcx,8), %rdx
callq 0xba2c
testb %al, %al
je 0xbc1a
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0xbc0b
movl %r15d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x18(%rsp)
jmp 0xbc1a
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
callq 0x98e8
addq $0x4, %r12
jmp 0xbaf6
addq $0x4, %rbp
cmpq 0x30(%rsp), %rbp
jne 0xbae2
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %r12
xorl %ebp, %ebp
cmpq %r12, %r15
je 0xbc68
movl (%r15), %r14d
movq %rbx, %rdi
movl %r14d, %esi
callq 0x284dc
testb %al, %al
jne 0xbc62
movq %rbx, %rdi
movl %r14d, %esi
callq 0x28c34
incl %ebp
addq $0x4, %r15
jmp 0xbc3e
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0xbc7f
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x32b0
movl %ebp, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xbc92
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0xbcac
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x32b0
movq %rbx, %rdi
callq 0x34a0