// File: /workspace/github_c_makefile_star2_O1/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 $0x88, %rsp
movq %rdx, -0xa8(%rbp)
movq %rsi, -0x50(%rbp)
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movq %rdi, %rsi
andq %r12, %rsi
setne %al
testb $0x3, %dil
sete %r8b
andb %al, %r8b
cmpb $0x1, %r8b
jne 0x8af0a
incl (%rsi)
movl 0x8(%rdi), %r14d
movq 0x10(%rdi), %rbx
movq %rbx, %rax
andq %r12, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x8af27
incl (%rax)
testb %r8b, %r8b
movq %rdi, -0x70(%rbp)
movq %rsi, -0xa0(%rbp)
movb %r8b, -0x29(%rbp)
je 0x8af4f
decl (%rsi)
jne 0x8af4f
movq -0x70(%rbp), %rdi
leaq 0x8a7f7(%rip), %rsi     # 0x115741
callq 0xd4e3
cmpl $0x1, %r14d
movq %r12, -0x38(%rbp)
jne 0x8b55d
movq 0x8(%rbx), %rsi
decl (%rbx)
jne 0x8af73
movq %rbx, %rdi
movq %rsi, %rbx
callq 0x5030
movq %rbx, %rsi
leaq 0x108d576(%rip), %rdi   # 0x11184f0
movq %rsi, -0x68(%rbp)
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, %rcx
shrq $0x30, %rcx
je 0x8afbd
cmpl $0x1, %ecx
jne 0x8b4b7
andq %r12, %rax
movq %rax, %rdi
callq 0xdaeb
movq %rax, %rdi
movq %rdx, %rsi
callq 0x95f6
movq %rdx, %rdi
movb $0x1, %al
jmp 0x8b3d3
movq -0x50(%rbp), %rax
movq %r12, %rcx
movl 0x30(%rax), %r12d
movq 0x38(%rax), %r13
movq %r13, %rax
andq %rcx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x8afe2
incl (%rax)
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd37c
movl %eax, %r15d
movq %rdx, %rbx
testl %r12d, %r12d
je 0x8b0a3
cmpl $0x1, %r12d
jne 0x8b4b7
movq %r13, %rdi
leaq -0x60(%rbp), %rsi
callq 0xd450
movq %rax, %r12
movq %rdx, %r13
leaq 0x108d4bf(%rip), %rdi   # 0x11184e0
movq -0x68(%rbp), %rsi
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
leaq 0x108d48f(%rip), %rdi   # 0x11184c8
movq %rax, %rsi
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, %rdi
movq %rdx, %rsi
callq 0x942c
movq %rax, %r14
movq %r12, %rdi
movq %r13, %rsi
callq 0x942c
movq %rax, %rdi
movq %r14, %rsi
callq 0x84c99
movq %rax, %rdi
leaq 0x8a0e2(%rip), %rsi     # 0x115159
movl %r15d, %edx
movq %rbx, %rcx
leaq -0x98(%rbp), %r8
callq 0x9741
movl -0x60(%rbp), %r12d
movq -0x58(%rbp), %r13
movl -0x98(%rbp), %r15d
movq -0x90(%rbp), %rbx
movb $0x1, %al
jmp 0x8b0a8
xorl %eax, %eax
xorl %r13d, %r13d
testb %al, %al
jne 0x8aff5
movq %r13, %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x8b0e8
decl (%rax)
jne 0x8b0e8
shlq $0x30, %r12
orq %r13, %r12
movq %r12, %rdi
leaq 0x8a196(%rip), %rsi     # 0x115279
callq 0xd4e3
movq $0x0, -0x48(%rbp)
xorl %edi, %edi
xorl %esi, %esi
movl %r15d, %edx
movq %rbx, %rcx
callq 0xd37c
movl %eax, %edi
movq %rdx, %rsi
leaq -0x60(%rbp), %r14
movq $0x0, -0x40(%rbp)
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movq %r14, %rdx
callq 0x115ef
testl %eax, %eax
je 0x8b21e
cmpl $0x1, %eax
jne 0x8b4b7
movq %rdx, %rdi
callq 0xdaeb
testb $0x1, %dl
je 0x8b156
movq %rax, %rdi
andq %r12, %rdi
sete %cl
testb $0x3, %al
setne %sil
orb %cl, %sil
jne 0x8b156
incl (%rdi)
movq %rax, -0x78(%rbp)
movq %rax, %rdi
movq %rdx, -0x80(%rbp)
movq %rdx, %rsi
callq 0x942c
movq %rax, %r15
movl $0x201, %edi            # imm = 0x201
leaq -0x98(%rbp), %rsi
callq 0x11b70
movq %r15, %r14
andq %r12, %r14
setne %al
testb $0x3, %r15b
sete %r12b
andb %al, %r12b
cmpb $0x1, %r12b
jne 0x8b19b
addl $0x2, (%r14)
movq %r15, %rdi
callq 0xebc3
movq %rax, %rbx
movq %r15, %rdi
callq 0xe740
movq %rax, %rdi
callq 0xe7a9
movq %rax, %rdi
callq 0xe818
movzbl (%rbx,%rax), %edi
callq 0xe7a9
movl $0x1, %esi
movq %rax, %rdi
callq 0xec04
testl %eax, %eax
jne 0x8b4e7
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x11c70
movq %rbx, %rdi
movq %rax, %rsi
callq 0x50d0
cltq
leaq 0x1(,%rax,2), %rdi
movl $0x1, %esi
callq 0xec04
testl %eax, %eax
je 0x8b22c
movq -0x88(%rbp), %rbx
xorl %r13d, %r13d
jmp 0x8b258
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
xorl %ebx, %ebx
jmp 0x8b34f
movq -0x88(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x11c70
movzwl 0x18(%rax), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x4000, %eax           # imm = 0x4000
sete %r13b
movq -0xb0(%rbp), %rbx
testb %r12b, %r12b
je 0x8b271
decl (%r14)
jne 0x8b271
movq %r15, %rdi
leaq 0x89eed(%rip), %rsi     # 0x115159
callq 0xd4e3
movq %rbx, %rdi
callq 0x12e09
testb %r13b, %r13b
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
je 0x8b29a
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x95f6
movq %rdx, %r15
jmp 0x8b2c8
movq -0x80(%rbp), %rsi
testb $0x1, %sil
movq -0x78(%rbp), %rdi
je 0x8b2c5
movq %rdi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0x8b2c5
decl (%rax)
jne 0x8b2c5
callq 0xd4e3
xorl %r15d, %r15d
movl -0x60(%rbp), %edi
movb $0x1, %bl
movq -0x58(%rbp), %rsi
testb %r13b, %r13b
je 0x8b34b
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
leaq -0x60(%rbp), %r14
jne 0x8b305
decl (%rax)
jne 0x8b305
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0x89f79(%rip), %rsi     # 0x115279
callq 0xd4e3
movq -0x48(%rbp), %rsi
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x8b338
decl (%rax)
jne 0x8b338
movq -0x40(%rbp), %rdi
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0x89f8e(%rip), %rsi     # 0x1152c1
callq 0xd4e3
xorl %edi, %edi
movl $0x1, %eax
movq %rax, -0x40(%rbp)
movq %r15, -0x48(%rbp)
xorl %esi, %esi
jmp 0x8b34f
leaq -0x60(%rbp), %r14
testb %bl, %bl
jne 0x8b11a
movq %rsi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x8b382
decl (%rax)
jne 0x8b382
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0x89efc(%rip), %rsi     # 0x115279
callq 0xd4e3
movq -0x40(%rbp), %rbx
shlq $0x30, %rbx
movq -0x48(%rbp), %rdx
orq %rdx, %rbx
movq %rdx, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dl
setne %dl
orb %cl, %dl
jne 0x8b3a6
incl (%rax)
leaq 0x108d143(%rip), %rdi   # 0x11184f0
movq -0x68(%rbp), %rsi
callq 0x13ff0
movq %rbx, %rdi
leaq 0x89f01(%rip), %rsi     # 0x1152c1
movq %rax, %rdx
callq 0x14ab5
cmpl $0x1, -0x40(%rbp)
sete %al
movq -0x48(%rbp), %rdi
testb %al, %al
je 0x8b5f6
callq 0xdaeb
movq %rax, %rbx
movq %rdx, %r14
movq -0x70(%rbp), %rdi
movq 0x18(%rdi), %r15
cmpb $0x0, -0x29(%rbp)
je 0x8b40b
movq -0xa0(%rbp), %rax
decl (%rax)
jne 0x8b40b
leaq 0x8a33b(%rip), %rsi     # 0x115741
callq 0xd4e3
leaq 0x108d0b6(%rip), %rdi   # 0x11184c8
movq %r15, %rsi
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, %rdi
movq %rdx, %rsi
callq 0x942c
movq %rax, %r15
cmpq $0x0, 0x108f370(%rip)   # 0x111a7a8
jne 0x8b45a
movl $0x4, %edi
callq 0xf9f7
movq $0x4, 0x10(%rax)
movl $0x68746d2e, 0x18(%rax) # imm = 0x68746D2E
movq %rax, 0x108f34e(%rip)   # 0x111a7a8
movq 0x108f347(%rip), %rsi   # 0x111a7a8
andq %rsi, %r12
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x8b476
incl (%r12)
movq %r15, %rdi
callq 0xe43c
movq %rax, %r15
movq %rbx, %rdi
movq %r14, %rsi
callq 0x942c
movq %rax, %rdi
movq %r15, %rsi
callq 0x84c99
movq -0x50(%rbp), %rcx
movq -0xa8(%rbp), %rdx
movq %rcx, (%rdx)
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x5927d(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x59282(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
cmpq $0x0, 0x108f2c9(%rip)   # 0x111a7b8
jne 0x8b539
movl $0x38, %edi
callq 0xf9f7
movq $0x38, 0x10(%rax)
movabsq $0x646574616e696d72, %rcx # imm = 0x646574616E696D72
movq %rcx, 0x48(%rax)
movups 0x60ab7(%rip), %xmm0    # 0xebfcf
movups %xmm0, 0x18(%rax)
movups 0x60abc(%rip), %xmm0    # 0xebfdf
movups %xmm0, 0x28(%rax)
movups 0x60ac1(%rip), %xmm0    # 0xebfef
movups %xmm0, 0x38(%rax)
movq %rax, 0x108f27f(%rip)   # 0x111a7b8
movq 0x108f278(%rip), %rdi   # 0x111a7b8
andq %rdi, -0x38(%rbp)
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x8b558
movq -0x38(%rbp), %rax
incl (%rax)
callq 0x95a5
movq %rbx, %rax
andq %r12, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x8b58a
decl (%rax)
jne 0x8b58a
shlq $0x30, %r14
orq %rbx, %r14
leaq 0x8a3b7(%rip), %rsi     # 0x115939
movq %r14, %rdi
callq 0xd4e3
cmpq $0x0, 0x108f21e(%rip)   # 0x111a7b0
jne 0x8b5ce
movl $0x2c, %edi
callq 0xf9f7
movq $0x2c, 0x10(%rax)
movups 0x61a1c(%rip), %xmm0    # 0xecfc9
movups %xmm0, 0x18(%rax)
movups 0x61a21(%rip), %xmm0    # 0xecfd9
movups %xmm0, 0x28(%rax)
movups 0x61a22(%rip), %xmm0    # 0xecfe5
movups %xmm0, 0x34(%rax)
movq %rax, 0x108f1e2(%rip)   # 0x111a7b0
movq 0x108f1db(%rip), %rsi   # 0x111a7b0
andq %rsi, -0x38(%rbp)
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x8b5ed
movq -0x38(%rbp), %rax
incl (%rax)
movq -0x50(%rbp), %rdi
callq 0x15000
cmpq $0x0, 0x108f1a2(%rip)   # 0x111a7a0
jne 0x8b62f
movl $0x1f, %edi
callq 0xf9f7
movq $0x1f, 0x10(%rax)
movups 0x61990(%rip), %xmm0    # 0xecfa9
movups %xmm0, 0x18(%rax)
movups 0x61994(%rip), %xmm0    # 0xecfb8
movups %xmm0, 0x27(%rax)
movq %rax, 0x108f171(%rip)   # 0x111a7a0
movq 0x108f16a(%rip), %rax   # 0x111a7a0
andq %rax, -0x38(%rbp)
sete %cl
testb $0x3, %al
setne %al
orb %cl, %al
jne 0x8b64c
movq -0x38(%rbp), %rax
incl (%rax)
leaq 0x108ce8d(%rip), %rdi   # 0x11184e0
movq -0x68(%rbp), %rsi
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
leaq 0x108ce5d(%rip), %rdi   # 0x11184c8
movq %rax, %rsi
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, %rdi
movq %rdx, %rsi
callq 0x942c
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x15000