// File: /workspace/github_cpp_makefile_star2_O1/Laakeri[P]Triangulator/src/setcover.cpp
// Function: SetCover::go(int, int)
void go(int i, int n) {
	if (i == n) {
		assert((int)cv.size() <= upperBound);
		upperBound = (int)cv.size();
		if (opt.size() == 0) {
			opt = cv;
		}
		else {
			assert((int)cv.size() < (int)opt.size());
			opt = cv;
		}
		assert(opt.size() > 0);
		return;
	}
	bool f = false;
	for (int x : where[i]) {
		if (sel[x]) {
			f = true;
			break;
		}
	}
	if (!f) {
		int ss = tnoS;
		for (int x : where[i]) {
			if ((int)cv.size() + 1 > upperBound) break;
			if ((int)cv.size() + 1 == (int)opt.size()) break;
			if (opt.size() != 0 && (int)opt.size() <= okCover) break;
			if (no[x]) continue;
			sel[x] = 1;
			cv.push_back(x);
			go(i+1, n);
			sel[x] = 0;
			cv.pop_back();
			no[x] = 1;
			tno[tnoS++] = x;
		}
		while (tnoS > ss) {
			no[tno[tnoS - 1]] = 0;
			tnoS--;
		}
	}
	else {
		go(i+1, n);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movl %edi, %ebp
leaq 0x7b4896(%rip), %rax    # 0x7d7530
leaq 0x62de8f(%rip), %r12    # 0x650b30
movl $0x1, %ecx
cmpl %ebx, %ebp
je 0x22e42
movslq %ebp, %rdx
leaq (%rdx,%rdx,2), %rdx
movq (%rax,%rdx,8), %r13
movq 0x8(%rax,%rdx,8), %r14
cmpq %r14, %r13
je 0x22cef
leaq 0x4(%r13), %rsi
xorl %edx, %edx
movslq -0x4(%rsi), %rdi
cmpl $0x0, (%r12,%rdi,4)
movzbl %dl, %edx
cmovnel %ecx, %edx
jne 0x22ce6
leaq 0x4(%rsi), %rdi
cmpq %r14, %rsi
movq %rdi, %rsi
jne 0x22cc9
testb $0x1, %dl
je 0x22cef
incl %ebp
jmp 0x22ca6
movslq 0xb8513a(%rip), %r15    # 0xba7e30
cmpq %r14, %r13
je 0x22e08
incl %ebp
leaq 0xb236a8(%rip), %r10    # 0xb463b0
movl (%r13), %eax
movl %eax, 0x4(%rsp)
movq 0x62dde1(%rip), %rsi    # 0x650af8
movq %rsi, %rdx
subq 0x62ddcf(%rip), %rdx    # 0x650af0
shrq $0x2, %rdx
movl $0x4, %ecx
cmpl %edx, 0xb8510c(%rip)    # 0xba7e3c
jle 0x22df2
incl %edx
movq 0x62ddd1(%rip), %r8     # 0x650b10
movq 0x62ddc2(%rip), %r9     # 0x650b08
movq %r8, %rdi
subq %r9, %rdi
shrq $0x2, %rdi
cmpl %edi, %edx
je 0x22df2
cmpq %r9, %r8
je 0x22d69
cmpl %edi, 0xb850d5(%rip)    # 0xba7e38
jge 0x22df2
movslq %eax, %rdx
movl $0x5, %ecx
cmpl $0x0, (%r10,%rdx,4)
jne 0x22df2
movl $0x1, (%r12,%rdx,4)
cmpq 0x62dd79(%rip), %rsi    # 0x650b00
je 0x22d98
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x62dd62(%rip)    # 0x650af8
jmp 0x22da9
leaq 0x62dd51(%rip), %rdi    # 0x650af0
leaq 0x4(%rsp), %rdx
callq 0x8fde
movl %ebp, %edi
movl %ebx, %esi
callq 0x22c84
addq $-0x4, 0x62dd3e(%rip)   # 0x650af8
movslq 0x4(%rsp), %rax
movl $0x0, (%r12,%rax,4)
leaq 0xb235e2(%rip), %r10    # 0xb463b0
movl $0x1, (%r10,%rax,4)
movslq 0xb85053(%rip), %rcx    # 0xba7e30
leal 0x1(%rcx), %edx
movl %edx, 0xb8504a(%rip)    # 0xba7e30
leaq 0xb54303(%rip), %rdx    # 0xb770f0
movl %eax, (%rdx,%rcx,4)
xorl %ecx, %ecx
cmpl $0x5, %ecx
je 0x22dfb
testl %ecx, %ecx
jne 0x22e08
addq $0x4, %r13
cmpq %r14, %r13
jne 0x22d08
movslq 0xb85021(%rip), %rax    # 0xba7e30
cmpl %r15d, %eax
jle 0x22e9d
leaq 0xb542d1(%rip), %rcx    # 0xb770f0
leaq 0xb2358a(%rip), %rdx    # 0xb463b0
movslq -0x4(%rcx,%rax,4), %rsi
decq %rax
movl $0x0, (%rdx,%rsi,4)
cmpq %r15, %rax
jg 0x22e26
movl %eax, 0xb84ff0(%rip)    # 0xba7e30
jmp 0x22e9d
movq 0x62dcaf(%rip), %rax    # 0x650af8
subq 0x62dca0(%rip), %rax    # 0x650af0
shrq $0x2, %rax
cmpl %eax, 0xb84fe2(%rip)    # 0xba7e3c
jl 0x22eac
movl %eax, 0xb84fda(%rip)    # 0xba7e3c
movq 0x62dca7(%rip), %rcx    # 0x650b10
subq 0x62dc98(%rip), %rcx    # 0x650b08
je 0x22e7a
shrq $0x2, %rcx
cmpl %ecx, %eax
jge 0x22eea
leaq 0x62dc87(%rip), %rdi    # 0x650b08
leaq 0x62dc68(%rip), %rsi    # 0x650af0
callq 0x21054
movq 0x62dc7c(%rip), %rax    # 0x650b10
cmpq 0x62dc6d(%rip), %rax    # 0x650b08
je 0x22ecb
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x9304(%rip), %rdi      # 0x2c1b7
leaq 0x92c7(%rip), %rsi      # 0x2c181
leaq 0x9313(%rip), %rcx      # 0x2c1d4
movl $0x3f, %edx
callq 0x2140
leaq 0x933f(%rip), %rdi      # 0x2c211
leaq 0x92a8(%rip), %rsi      # 0x2c181
leaq 0x92f4(%rip), %rcx      # 0x2c1d4
movl $0x48, %edx
callq 0x2140
leaq 0x92ff(%rip), %rdi      # 0x2c1f0
leaq 0x9289(%rip), %rsi      # 0x2c181
leaq 0x92d5(%rip), %rcx      # 0x2c1d4
movl $0x45, %edx
callq 0x2140