// File: /workspace/github_cpp_makefile_star2_O2/CobaltXII[P]cxcc/./semantic/semantic_analyzer.hpp
// Function: semantic_analyzer_t::die(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, long, long)
void die(std::string error, long lineno, long colno) {
		std::cerr << set_color(bold_white) << filename << ":";
		std::cerr << lineno + 1 << ":" << colno + 1 << ": ";
		std::cerr << set_color(bold_red) << "error: ";
		std::cerr << set_color(bold_white) << error << set_color(reset) << std::endl;
		// Print the line where the error occurred.
		std::stringstream in(buffer);
		std::string line;
		for (int i = 0; i < lineno; i++) {
			std::getline(in, line);
		}
		std::getline(in, line);
		std::cerr << line << std::endl;
		// Print an indicator pointing to the column where the error occurred.
		for (int i = 0; i < colno + 1; i++) {
			if (line[i] == '\t') {
				std::cerr << '\t';
			} else {
				std::cerr << ' ';
			}
		}
		std::cerr << set_color(bold_green) << '^' << set_color(reset) << std::endl;
		exit(3);
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1e8, %rsp            # imm = 0x1E8
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %r15
leaq 0x60(%rsp), %r13
pushq $0xf
popq %rsi
movq %r13, %rdi
callq 0x322c
movq 0xd31a(%rip), %rdi      # 0x17ff0
movq %r13, %rsi
callq 0x21f0
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
leaq 0x5c99(%rip), %rsi      # 0x10989
movq %rax, %rdi
callq 0x2220
leaq 0x60(%rsp), %rdi
callq 0x2100
leaq 0x1(%r14), %rsi
movq 0xd2e3(%rip), %rdi      # 0x17ff0
callq 0x2210
leaq 0x5c70(%rip), %rsi      # 0x10989
movq %rax, %rdi
callq 0x2220
leaq 0x1(%rbx), %rsi
movq %rax, %rdi
callq 0x2210
leaq 0x5a3f(%rip), %rsi      # 0x10773
movq %rax, %rdi
callq 0x2220
leaq 0x60(%rsp), %r13
pushq $0x9
popq %rbp
movq %r13, %rdi
movl %ebp, %esi
callq 0x322c
movq 0xd29b(%rip), %rdi      # 0x17ff0
movq %r13, %rsi
callq 0x21f0
leaq 0x5c27(%rip), %rsi      # 0x1098b
movq %rax, %rdi
callq 0x2220
leaq 0x60(%rsp), %rdi
callq 0x2100
leaq 0x60(%rsp), %r13
pushq $0xf
popq %rsi
movq %r13, %rdi
callq 0x322c
movq 0xd263(%rip), %rdi      # 0x17ff0
movq %r13, %rsi
callq 0x21f0
movq %rax, %rdi
movq %r12, %rsi
callq 0x21f0
movq %rax, %r12
movq %rsp, %rdi
pushq $0x10
popq %rsi
callq 0x322c
movq %rsp, %rsi
movq %r12, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2110
movq %rsp, %r12
movq %r12, %rdi
callq 0x2100
leaq 0x60(%rsp), %r13
movq %r13, %rdi
callq 0x2100
addq $0x20, %r15
leaq 0x60(%rsp), %rdi
pushq $0x18
popq %rdx
movq %r15, %rsi
callq 0x2350
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorl %r15d, %r15d
testq %r14, %r14
cmovgq %r14, %r15
subq $0x1, %r15
jb 0xae1b
movq %r13, %rdi
movq %r12, %rsi
callq 0x2050
jmp 0xae08
leaq 0x60(%rsp), %rdi
movq %rsp, %rsi
callq 0x2050
movq 0xd1c1(%rip), %rdi      # 0x17ff0
movq %rsp, %rsi
callq 0x21f0
movq %rax, %rdi
callq 0x2110
xorl %r15d, %r15d
pushq $0x20
popq %r12
movq 0xd1a3(%rip), %r14      # 0x17ff0
cmpq %rbx, %r15
jg 0xae6f
movq (%rsp), %rax
cmpb $0x9, (%rax,%r15)
movl %ebp, %esi
je 0xae62
movl %r12d, %esi
movq %r14, %rdi
callq 0x2270
incq %r15
jmp 0xae4d
leaq 0x40(%rsp), %rdi
pushq $0xa
popq %rsi
callq 0x322c
movq 0xd16d(%rip), %rdi      # 0x17ff0
leaq 0x40(%rsp), %rsi
callq 0x21f0
pushq $0x5e
popq %rsi
movq %rax, %rdi
callq 0x2270
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
pushq $0x10
popq %rsi
callq 0x322c
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2110
leaq 0x20(%rsp), %rdi
callq 0x2100
leaq 0x40(%rsp), %rdi
callq 0x2100
pushq $0x3
popq %rdi
callq 0x2290
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x2100
jmp 0xaeed
jmp 0xaeea
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x2100
jmp 0xaf02
jmp 0xaeff
jmp 0xaeff
jmp 0xaeff
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2100
leaq 0x60(%rsp), %rdi
callq 0x2190
jmp 0xaf36
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2100
jmp 0xaf2c
jmp 0xaf29
jmp 0xaf29
jmp 0xaf29
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x2100
movq %rbx, %rdi
callq 0x2390