// File: /workspace/github_cpp_makefile_star2_O3/Laakeri[P]Triangulator/src/minfill.cpp
// Function: MinFill::SolveAtom::nbClique(Graph&)
pair<int, pair<int, int> > nbClique(Graph& G) {
	int minF = (int)1e9;
	for (int x = 0; x < G.n; x++) {
		assert(G.g[x].size() > 2);
		pair<int, int> fo = {-1, -1};
		bool fail = false;
		bool brk = false;
		int cnt = 0;
		for (int i = 0; i < (int)G.g[x].size(); i++) {
			for (int ii = i+1; ii < (int)G.g[x].size(); ii++) {
				if (!G.hasEdge(G.g[x][i], G.g[x][ii])) {
					cnt++;
					if (fo.F != -1) {
						fail = true;
						if (cnt >= minF) {
							brk = true;
							break;
						}
					}
					else {
						fo = {G.g[x][i], G.g[x][ii]};
					}
				}
			}
			if (brk) break;
		}
		if (!fail) {
			assert(fo.F != -1);
			return {-1, fo};
		}
		minF = min(minF, cnt);
	}
	return {minF, {-1, -1}};
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
cmpl $0x0, 0x50(%rdi)
jle 0x19064
movq %rdi, %rbx
movl $0x3b9aca00, (%rsp)     # imm = 0x3B9ACA00
xorl %esi, %esi
movq 0x38(%rbx), %rcx
leaq (%rsi,%rsi,2), %r12
movq (%rcx,%r12,8), %rax
movq 0x8(%rcx,%r12,8), %rcx
movq %rcx, %rdx
subq %rax, %rdx
cmpq $0x9, %rdx
jb 0x190da
movq %rsi, 0x20(%rsp)
shrq $0x2, %rdx
testl %edx, %edx
jle 0x190bb
xorl %r15d, %r15d
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movq %rdx, 0x8(%rsp)
movl $0x1, %r13d
xorl %ebp, %ebp
movl $0xffffffff, 0x4(%rsp)  # imm = 0xFFFFFFFF
xorl %r14d, %r14d
leaq 0x1(%r15), %rsi
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x2, %rdx
movslq %edx, %rdx
movq %rsi, 0x30(%rsp)
cmpq %rdx, %rsi
jge 0x19029
movq %r13, 0x28(%rsp)
movl (%rax,%r15,4), %esi
movl (%rax,%r13,4), %edx
movq %rbx, %rdi
callq 0x9ea6
testb %al, %al
jne 0x19002
incl %r14d
cmpl $-0x1, 0x4(%rsp)
je 0x18fe9
movb $0x1, %bpl
cmpl (%rsp), %r14d
jl 0x19002
jmp 0x19040
movq 0x38(%rbx), %rax
movq (%rax,%r12,8), %rax
movl (%rax,%r15,4), %ecx
movl %ecx, 0x4(%rsp)
movl (%rax,%r13,4), %eax
movq %rax, 0x8(%rsp)
incq %r13
movq 0x38(%rbx), %rcx
movq (%rcx,%r12,8), %rax
movq 0x8(%rcx,%r12,8), %rcx
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x2, %rdx
cmpl %edx, %r13d
jl 0x18fc0
movslq %edx, %rdx
movq 0x28(%rsp), %r13
incq %r13
movq 0x30(%rsp), %r15
cmpq %rdx, %r15
jl 0x18fa0
testb $0x1, %bpl
je 0x19097
movl (%rsp), %eax
cmpl %eax, %r14d
cmovll %r14d, %eax
movl %eax, (%rsp)
movq 0x20(%rsp), %rsi
incq %rsi
movslq 0x50(%rbx), %rax
cmpq %rax, %rsi
jl 0x18f4e
jmp 0x1906b
movl $0x3b9aca00, (%rsp)     # imm = 0x3B9ACA00
movl (%rsp), %eax
movl %eax, 0x10(%rsp)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movq $-0x1, %rax
movq %rax, 0x14(%rsp)
movq 0x10(%rsp), %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x4(%rsp), %eax
cmpl $-0x1, %eax
je 0x190bb
movl $0xffffffff, 0x10(%rsp) # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rdx
movq %rdx, %rcx
shlq $0x20, %rcx
movl %eax, %eax
orq %rcx, %rax
jmp 0x1907e
leaq 0x114a3(%rip), %rdi     # 0x2a565
leaq 0x1104f(%rip), %rsi     # 0x2a118
leaq 0x11455(%rip), %rcx     # 0x2a525
movl $0x1f8, %edx            # imm = 0x1F8
callq 0x2140
leaq 0x11432(%rip), %rdi     # 0x2a513
leaq 0x11030(%rip), %rsi     # 0x2a118
leaq 0x11436(%rip), %rcx     # 0x2a525
movl $0x1e0, %edx            # imm = 0x1E0
callq 0x2140