// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_QName_tozemodulezepath
static STR* mw_mirth_name_QName_tozemodulezepath (struct mirth_name_QName* in_QName_1, struct mirth_mirth_zaMirth* in_zaMirth_2, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	incref(MK_mirth_name_QName(in_QName_1));
	struct mirth_name_Namespace v7 = in_QName_1->mnamespace;
	incref(MK_mirth_name_Namespace(v7));
	decref(MK_mirth_name_QName(in_QName_1));
	STR* branch_Path_8;
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	switch ((v7).tag) {
		case mirth_name_Namespace_Package: {
			uint64_t v10 = mtp_mirth_name_Namespace_Package(v7);
			struct mirth_mirth_zaMirth* v11;
			struct std_maybe_Maybe_1 v12 = mw_mirth_package_Package_pathzeorzesearch(in_zaMirth_2, v10, &v11);
			struct mirth_mirth_zaMirth* branch_zaMirth_13;
			uint64_t branch_Package_14;
			VAL branch_zux1_15;
			switch ((v12).tag) {
				case std_maybe_Maybe_1_Some: {
					VAL v16 = mtp_std_maybe_Maybe_1_Some(v12);
					branch_zux1_15 = v16;
					branch_Package_14 = v10;
					branch_zaMirth_13 = v11;
				} break;
				case std_maybe_Maybe_1_None: {
					STR* v17;
					STRLIT(v17, "False path defined for package ", 31);
					struct mirth_mirth_zaMirth* v18;
					uint64_t v19 = mw_mirth_package_Package_name(v11, v10, &v18);
					struct mirth_mirth_zaMirth* v20;
					STR* v21 = mw_mirth_name_Name_zgStr(v18, v19, &v20);
					mw_mirth_mirth_zaMirth_fatalzeerrorzx(v20, v21);
				} break;
				default: {
					do_panic(str_make("unexpected fallthrough in match\n", 32));
				}
			}
			uint64_t v24 = in_QName_1->mname;
			decref(MK_mirth_name_QName(in_QName_1));
			struct mirth_mirth_zaMirth* v25;
			STR* v26 = mw_mirth_name_Name_zgStr(branch_zaMirth_13, v24, &v25);
			STR* v27;
			STRLIT(v27, ".mth", 4);
			STR* v28 = str_cat(v26, v27);
			STR* v29 = mw_std_path_Path_join(value_str(branch_zux1_15), v28);
			branch_zaMirth_9 = v25;
			branch_Path_8 = v29;
		} break;
		default: {
			decref(MK_mirth_name_Namespace(v7));
			STR* v30;
			STRLIT(v30, "expected module name in QName.to-module-path", 44);
			mw_mirth_mirth_zaMirth_fatalzeerrorzx(in_zaMirth_2, v30);
		} break;
	}
	*out_zaMirth_4 = branch_zaMirth_9;
	return branch_Path_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdx, -0xb8(%rbp)
movq %rsi, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
movq %rdi, %rcx
movq %rax, -0x50(%rbp)
andq %rax, %rcx
setne %al
testb $0x3, %dil
sete %dl
andb %al, %dl
cmpb $0x1, %dl
jne 0x81455
incl (%rcx)
movl 0x8(%rdi), %r14d
movq 0x10(%rdi), %r15
movq %r15, %r12
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rax, %r12
setne %al
testb $0x3, %r15b
sete %r13b
andb %al, %r13b
cmpb $0x1, %r13b
jne 0x81485
incl (%r12)
testb %dl, %dl
movq %rdi, -0x88(%rbp)
movq %rcx, -0xb0(%rbp)
movb %dl, -0x29(%rbp)
je 0x814b1
decl (%rcx)
jne 0x814b1
movq -0x88(%rbp), %rdi
leaq 0x87295(%rip), %rsi     # 0x108741
callq 0xce94
cmpl $0x1, %r14d
jne 0x81aae
movq %r15, %rdi
callq 0x17b11
movq %rax, %r14
leaq -0xa8(%rbp), %rdx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x7ba57
testl %eax, %eax
je 0x81507
cmpl $0x1, %eax
jne 0x81a55
movq %rdx, %rdi
callq 0xd491
movq %rax, %rdi
movq %rdx, %rsi
callq 0x8d0c
movq %rdx, %rdi
movq -0xa8(%rbp), %r14
jmp 0x8198d
movq %r14, -0x70(%rbp)
movq -0xa8(%rbp), %rax
movl 0x30(%rax), %r15d
movq %rax, -0x78(%rbp)
movq 0x38(%rax), %r12
movq %r12, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0x8153e
incl (%rax)
xorl %edi, %edi
xorl %esi, %esi
callq 0xcd32
movl %eax, %r13d
movq %rdx, %r14
leaq -0x40(%rbp), %rbx
movb $0x1, %al
movq %r12, %rdi
testb $0x1, %al
je 0x815fe
xorl %eax, %eax
movl $0x0, %r12d
testl %r15d, %r15d
je 0x81553
cmpl $0x1, %r15d
jne 0x81a55
movq %rbx, %rsi
callq 0xce01
movq %rax, -0x60(%rbp)
movq %rdx, %r12
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x14712
movq -0x68(%rbp), %rdi
movq %rax, %rsi
leaq -0x80(%rbp), %rdx
callq 0x1c901
movq %rax, %r15
movq -0x60(%rbp), %rdi
movq %r12, %rsi
callq 0x8b55
movq %rax, %rdi
movq %r15, %rsi
callq 0x7b4b0
movq %rax, %rdi
leaq 0x86b90(%rip), %rsi     # 0x108159
movl %r13d, %edx
movq %r14, %rcx
leaq -0xa0(%rbp), %r8
callq 0x8e35
movl -0x40(%rbp), %r15d
movq -0x38(%rbp), %r12
movl -0xa0(%rbp), %r13d
movq -0x98(%rbp), %r14
movq -0x80(%rbp), %rax
movq %rax, -0x78(%rbp)
jmp 0x81551
movq %rdi, %rax
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
andq %r12, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x81636
decl (%rax)
jne 0x81636
shlq $0x30, %r15
orq %rdi, %r15
movq %r15, %rdi
leaq 0x86c48(%rip), %rsi     # 0x108279
callq 0xce94
movl %r13d, %edi
movq %r14, %rsi
callq 0xcd32
movl %eax, %edi
movq %rdx, %rsi
movq $0x0, -0x58(%rbp)
movb $0x1, %bl
leaq -0x40(%rbp), %r14
movq $0x0, -0x48(%rbp)
testb $0x1, %bl
je 0x8191b
movq %r14, %rdx
callq 0x1075d
testl %eax, %eax
je 0x81789
cmpl $0x1, %eax
jne 0x81a55
movq %rdx, %rdi
callq 0xd491
testb $0x1, %dl
je 0x816a1
movq %rax, %rdi
andq %r12, %rdi
sete %cl
testb $0x3, %al
setne %sil
orb %cl, %sil
jne 0x816a1
incl (%rdi)
movq %rax, -0x90(%rbp)
movq %rax, %rdi
movq %rdx, -0x60(%rbp)
movq %rdx, %rsi
callq 0x8b55
movq %rax, %r13
movl $0x201, %edi            # imm = 0x201
leaq -0xa0(%rbp), %rsi
callq 0x10ca6
movq %r13, %rbx
andq %r12, %rbx
setne %al
testb $0x3, %r13b
sete %r15b
andb %al, %r15b
cmpb $0x1, %r15b
jne 0x816e8
addl $0x2, (%rbx)
movq %r13, %rdi
callq 0xdf99
movq %rax, %r14
movq %r13, %rdi
callq 0xdb65
movq %rax, %rdi
callq 0xdbc8
movq %rax, %rdi
callq 0xdc43
movzbl (%r14,%rax), %edi
callq 0xdbc8
movq %rax, %rdi
pushq $0x1
popq %r12
movq %r12, %rsi
callq 0xd759
testb %al, %al
je 0x81a6c
movq -0xa0(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x10d9d
movq %r14, %rdi
movq %rax, %rsi
callq 0x50d0
movslq %eax, %rdi
callq 0xd86d
movq %rax, %rdi
movq %r12, %rsi
callq 0xd759
testb %al, %al
je 0x81797
movq -0x68(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x10d9d
movq %rax, %r14
callq 0x7b582
cmpl $0x3, %eax
je 0x817a0
pushq $0x31
popq %rdi
cmpl $0x2, %eax
je 0x817f1
cmpl $0x1, %eax
jne 0x817c9
pushq $0xd
jmp 0x817cb
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
xorl %ebx, %ebx
jmp 0x8165c
movq -0x68(%rbp), %r14
xorl %r12d, %r12d
jmp 0x8180c
movq %r12, %rdi
pushq $0x5
popq %r12
movq %r12, %rsi
callq 0xdfd4
testb %al, %al
je 0x817ce
movq %r12, %rdi
pushq $0x7
popq %r12
movq %r12, %rsi
callq 0xdfd4
movzbl %al, %edi
addl %edi, %edi
jmp 0x817d4
pushq $0x11
popq %rdi
jmp 0x817f1
xorl %edi, %edi
pushq $0x7
popq %r12
callq 0xd86d
movq %rax, %rdi
movq %r12, %rsi
callq 0xd759
xorb $0x1, %al
movzbl %al, %eax
leaq 0x9(,%rax,8), %rdi
callq 0xdc43
movzwl (%r14,%rax), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpw $0x4000, %ax            # imm = 0x4000
sete %r12b
movq -0x80(%rbp), %r14
testb %r15b, %r15b
je 0x81824
decl (%rbx)
jne 0x81824
movq %r13, %rdi
leaq 0x8693a(%rip), %rsi     # 0x108159
callq 0xce94
movq %r14, %rdi
callq 0x11e41
testb %r12b, %r12b
je 0x818d1
movq -0x90(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x8d0c
movq %rdx, %r14
movq -0x38(%rbp), %rax
movq %rax, %rcx
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
andq %r12, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0x81884
movl -0x40(%rbp), %edi
decl (%rcx)
jne 0x81884
shlq $0x30, %rdi
orq %rax, %rdi
leaq 0x869fa(%rip), %rsi     # 0x108279
callq 0xce94
movq -0x48(%rbp), %rsi
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
movb $0x1, %bl
orb %cl, %dl
jne 0x818b9
decl (%rax)
jne 0x818b9
movq -0x58(%rbp), %rdi
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0x86a0d(%rip), %rsi     # 0x1082c1
callq 0xce94
xorl %edi, %edi
pushq $0x1
popq %rax
movq %rax, -0x58(%rbp)
movq %r14, -0x48(%rbp)
xorl %esi, %esi
leaq -0x40(%rbp), %r14
jmp 0x8165c
movq -0x60(%rbp), %rsi
testb $0x1, %sil
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movq -0x90(%rbp), %rdi
je 0x81909
movq %rdi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x81909
decl (%rax)
jne 0x81909
callq 0xce94
movl -0x40(%rbp), %edi
movb $0x1, %bl
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %r14
jmp 0x8165c
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x81946
decl (%rax)
jne 0x81946
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0x86938(%rip), %rsi     # 0x108279
callq 0xce94
movq -0x48(%rbp), %rdx
movq %rdx, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0x8195f
incl (%rax)
leaq -0x40(%rbp), %r14
movq -0x78(%rbp), %rdi
movq -0x58(%rbp), %rbx
movl %ebx, %esi
movq -0x48(%rbp), %rdx
movq -0x70(%rbp), %rcx
movq %r14, %r8
callq 0x12769
movq (%r14), %r14
cmpl $0x1, %ebx
jne 0x81b14
movq -0x48(%rbp), %rdi
callq 0xd491
movq %rax, %rbx
movq %rdx, %r15
movq -0x88(%rbp), %rdi
movq 0x18(%rdi), %r12
cmpb $0x0, -0x29(%rbp)
je 0x819c0
movq -0xb0(%rbp), %rax
decl (%rax)
jne 0x819c0
leaq 0x86d86(%rip), %rsi     # 0x108741
callq 0xce94
leaq -0x40(%rbp), %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x1c901
movq %rax, %r14
movq 0x108bdd7(%rip), %rsi   # 0x110d7b0
testq %rsi, %rsi
jne 0x819f7
leaq 0x52f95(%rip), %rdi     # 0xd497a
pushq $0x4
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x108bdb9(%rip)   # 0x110d7b0
movabsq $0xfffffffffffc, %rdx   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rdx
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x81a14
incl (%rdx)
movq %r14, %rdi
callq 0xd8b0
movq %rax, %r14
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8b55
movq %rax, %rdi
movq %r14, %rsi
callq 0x7b4b0
movq -0x40(%rbp), %rcx
movq -0xb8(%rbp), %rdx
movq %rcx, (%rdx)
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x52db1(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6
movq 0x108bd4d(%rip), %rdi   # 0x110d7c0
testq %rdi, %rdi
jne 0x81a91
leaq 0x5a61d(%rip), %rdi     # 0xdc09c
pushq $0x38
popq %rsi
callq 0x8a21
movq %rax, %rdi
movq %rax, 0x108bd2f(%rip)   # 0x110d7c0
andq %rdi, -0x50(%rbp)
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x81aa9
movq -0x50(%rbp), %rax
incl (%rax)
callq 0x8cc6
testb %r13b, %r13b
je 0x81acf
decl (%r12)
jne 0x81acf
shlq $0x30, %r14
orq %r15, %r14
leaq 0x86e72(%rip), %rsi     # 0x108939
movq %r14, %rdi
callq 0xce94
movq 0x108bce2(%rip), %rsi   # 0x110d7b8
testq %rsi, %rsi
jne 0x81af4
leaq 0x5b5be(%rip), %rdi     # 0xdd0a0
pushq $0x2c
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x108bcc4(%rip)   # 0x110d7b8
andq %rsi, -0x50(%rbp)
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x81b0c
movq -0x50(%rbp), %rax
incl (%rax)
movq %rbx, %rdi
callq 0x13deb
movq 0x108bc8d(%rip), %rax   # 0x110d7a8
testq %rax, %rax
jne 0x81b36
leaq 0x5b559(%rip), %rdi     # 0xdd080
pushq $0x1f
popq %rsi
callq 0x8a21
movq %rax, 0x108bc72(%rip)   # 0x110d7a8
andq %rax, -0x50(%rbp)
sete %cl
testb $0x3, %al
setne %al
orb %cl, %al
jne 0x81b4c
movq -0x50(%rbp), %rax
incl (%rax)
leaq -0x40(%rbp), %rbx
movq %r14, %rdi
movq -0x70(%rbp), %rsi
movq %rbx, %rdx
callq 0x14712
movq (%rbx), %rdi
leaq -0xa0(%rbp), %rbx
movq %rax, %rsi
movq %rbx, %rdx
callq 0x1c901
movq (%rbx), %rdi
movq %rax, %rsi
callq 0x13deb