// File: /workspace/github_cpp_makefile_star2_O3/Laakeri[P]maxpre/src/main.cpp
// Function: parseProblemType(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
bool parseProblemType(map<string, string>& flags) {
	bool maxSat = true;
	if (flags.count("problemtype")) {
		for (char& c : flags["problemtype"]) {
			c = tolower(c);
		}
		if (flags["problemtype"] == "sat") {
			maxSat = false;
			cout<<"c Problem type is SAT"<<endl;
			cerr<<"Problem type is SAT"<<endl;
		}
		else if (flags["problemtype"] == "maxsat" || flags["problemtype"] == "max-sat") {
			maxSat = true;
			cout<<"c Problem type is Max-SAT"<<endl;
			cerr<<"Problem type is Max-SAT"<<endl;
		}
		else {
			cout<<"Invalid problemtype flag"<<endl;
			cerr<<"Invalid problemtype flag"<<endl;
			exit(0);
		}
	}
	else {
		cout<<"c No -problemtype given, defaulting to Max-SAT"<<endl;
		cerr<<"No -problemtype given, defaulting to Max-SAT"<<endl;
	}
	return maxSat;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x32849(%rip), %rsi     # 0x371c0
leaq 0x3284d(%rip), %rdx     # 0x371cb
leaq 0x8(%rsp), %rdi
callq 0x9466
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x9852
movq %rax, %r14
leaq 0x8(%rbx), %r12
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x49b3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
cmpq %r12, %r14
je 0x4b1c
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x327f5(%rip), %rsi     # 0x371c0
leaq 0x327f9(%rip), %rdx     # 0x371cb
callq 0x9466
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x8ba4
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x49fe
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
movq 0x8(%r14), %r12
testq %r12, %r12
je 0x4a23
movq (%r14), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %r12
jne 0x4a0d
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x3278e(%rip), %rsi     # 0x371c0
leaq 0x32792(%rip), %rdx     # 0x371cb
callq 0x9466
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x8ba4
leaq 0x3279b(%rip), %rsi     # 0x371ed
movq %rax, %rdi
callq 0x30b0
movl %eax, %ebp
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a73
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
testl %ebp, %ebp
je 0x4b76
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x32736(%rip), %rsi     # 0x371c0
leaq 0x3273a(%rip), %rdx     # 0x371cb
callq 0x9466
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x8ba4
leaq 0x32738(%rip), %rsi     # 0x371e2
movq %rax, %rdi
callq 0x30b0
testl %eax, %eax
je 0x4bd4
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x326f6(%rip), %rsi     # 0x371c0
leaq 0x326fa(%rip), %rdx     # 0x371cb
leaq 0x28(%rsp), %rdi
callq 0x9466
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8ba4
leaq 0x326fa(%rip), %rsi     # 0x371e9
movq %rax, %rdi
callq 0x30b0
testl %eax, %eax
sete %bl
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x4bd6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32b0
jmp 0x4bd6
movq 0x434a5(%rip), %rbx     # 0x47fc8
leaq 0x326fa(%rip), %rsi     # 0x37224
movl $0x2e, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x4348b(%rip), %rdi     # 0x47ff0
leaq 0x326ba(%rip), %rsi     # 0x37226
movl $0x2c, %edx
jmp 0x4c4a
movq 0x4344b(%rip), %rbx     # 0x47fc8
leaq 0x32648(%rip), %rsi     # 0x371cc
movl $0x15, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x43431(%rip), %rdi     # 0x47ff0
leaq 0x32608(%rip), %rsi     # 0x371ce
movl $0x13, %edx
callq 0x3310
xorl %ebx, %ebx
jmp 0x4c51
movb $0x1, %bl
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4bed
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
testb %bl, %bl
je 0x4c90
movq 0x433cc(%rip), %rbx     # 0x47fc8
leaq 0x325ee(%rip), %rsi     # 0x371f1
movl $0x19, %edx
movq %rbx, %rdi
callq 0x3310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movq 0x433b2(%rip), %rdi     # 0x47ff0
leaq 0x325ae(%rip), %rsi     # 0x371f3
movl $0x17, %edx
callq 0x3310
movb $0x1, %bl
movq 0x43398(%rip), %r14     # 0x47ff0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3280
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31e0
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x43331(%rip), %rdi     # 0x47fc8
leaq 0x3256d(%rip), %rbx     # 0x3720b
movq %rbx, %rsi
callq 0x3290
movq %rax, %rdi
callq 0x3130
movq 0x4333b(%rip), %rdi     # 0x47ff0
movq %rbx, %rsi
callq 0x3290
movq %rax, %rdi
callq 0x3130
xorl %edi, %edi
callq 0x3350
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x4cf9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32b0
jmp 0x4cf9
jmp 0x4cf6
jmp 0x4cf6
jmp 0x4d12
jmp 0x4cf6
jmp 0x4d12
jmp 0x4cf6
jmp 0x4d12
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4d15
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
jmp 0x4d15
movq %rax, %rbx
movq %rbx, %rdi
callq 0x34a0