// File: /workspace/github_cpp_makefile_star2_O1/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 0x33820(%rip), %rsi     # 0x381b4
leaq 0x33824(%rip), %rdx     # 0x381bf
leaq 0x8(%rsp), %rdi
callq 0x945c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x9842
movq %rax, %r14
leaq 0x8(%rbx), %r12
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x49d0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
cmpq %r12, %r14
je 0x4b20
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x337cc(%rip), %rsi     # 0x381b4
leaq 0x337d0(%rip), %rdx     # 0x381bf
callq 0x945c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x8bb6
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a1b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
movq 0x8(%r14), %r12
testq %r12, %r12
je 0x4a40
movq (%r14), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %r12
jne 0x4a2a
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x33765(%rip), %rsi     # 0x381b4
leaq 0x33769(%rip), %rdx     # 0x381bf
callq 0x945c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x8bb6
leaq 0x33772(%rip), %rsi     # 0x381e1
movq %rax, %rdi
callq 0x30b0
movl %eax, %ebp
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4a90
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
testl %ebp, %ebp
je 0x4b7a
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x3370d(%rip), %rsi     # 0x381b4
leaq 0x33711(%rip), %rdx     # 0x381bf
callq 0x945c
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x8bb6
leaq 0x3370f(%rip), %rsi     # 0x381d6
movq %rax, %rdi
callq 0x30b0
movl %eax, %ebp
testl %eax, %eax
je 0x4bdb
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x336cb(%rip), %rsi     # 0x381b4
leaq 0x336cf(%rip), %rdx     # 0x381bf
leaq 0x28(%rsp), %rdi
callq 0x945c
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8bb6
leaq 0x336cf(%rip), %rsi     # 0x381dd
movq %rax, %rdi
callq 0x30b0
testl %eax, %eax
sete %bl
jmp 0x4bdd
movq 0x444a1(%rip), %rbx     # 0x48fc8
leaq 0x336ea(%rip), %rsi     # 0x38218
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 0x44487(%rip), %rdi     # 0x48ff0
leaq 0x336aa(%rip), %rsi     # 0x3821a
movl $0x2c, %edx
jmp 0x4c70
movq 0x44447(%rip), %rbx     # 0x48fc8
leaq 0x33638(%rip), %rsi     # 0x381c0
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 0x4442d(%rip), %rdi     # 0x48ff0
leaq 0x335f8(%rip), %rsi     # 0x381c2
movl $0x13, %edx
callq 0x3310
xorl %ebx, %ebx
jmp 0x4c77
movb $0x1, %bl
testl %ebp, %ebp
je 0x4bfc
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4bfc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32b0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c13
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
testb %bl, %bl
je 0x4cb6
movq 0x443a6(%rip), %rbx     # 0x48fc8
leaq 0x335bc(%rip), %rsi     # 0x381e5
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 0x4438c(%rip), %rdi     # 0x48ff0
leaq 0x3357c(%rip), %rsi     # 0x381e7
movl $0x17, %edx
callq 0x3310
movb $0x1, %bl
movq 0x44372(%rip), %r14     # 0x48ff0
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 0x4430b(%rip), %rdi     # 0x48fc8
leaq 0x3353b(%rip), %rbx     # 0x381ff
movq %rbx, %rsi
callq 0x3290
movq %rax, %rdi
callq 0x3130
movq 0x44315(%rip), %rdi     # 0x48ff0
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 0x4d1f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x32b0
jmp 0x4d1f
jmp 0x4d1c
jmp 0x4d1c
jmp 0x4d38
jmp 0x4d1c
jmp 0x4d38
jmp 0x4d1c
jmp 0x4d38
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x4d3b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x32b0
jmp 0x4d3b
movq %rax, %rbx
movq %rbx, %rdi
callq 0x34a0