// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_tycon_Tycon_c99zereprzeprefix
static STR* mw_mirth_tycon_Tycon_c99zereprzeprefix (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_tycon_Tycon in_Tycon_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	STR* branch_Str_6;
	switch ((in_Tycon_2).tag) {
		case mirth_tycon_Tycon_Prim: {
			enum mirth_type_PrimType v7 = mtp_mirth_tycon_Tycon_Prim(in_Tycon_2);
			struct mirth_mirth_zaMirth* v8;
			STR* v9 = mw_mirth_type_PrimType_c99zereprzeprefix(in_zaMirth_1, v7, &v8);
			branch_Str_6 = v9;
			branch_zaMirth_5 = v8;
		} break;
		case mirth_tycon_Tycon_Data: {
			uint64_t v10 = mtp_mirth_tycon_Tycon_Data(in_Tycon_2);
			struct mirth_mirth_zaMirth* v11;
			STR* v12 = mw_mirth_data_Data_cname(in_zaMirth_1, v10, &v11);
			branch_Str_6 = v12;
			branch_zaMirth_5 = v11;
		} break;
		case mirth_tycon_Tycon_Table: {
			uint64_t v13 = mtp_mirth_tycon_Tycon_Table(in_Tycon_2);
			struct mirth_mirth_zaMirth* v14;
			STR* v15 = mw_mirth_table_Table_cname(in_zaMirth_1, v13, &v14);
			branch_Str_6 = v15;
			branch_zaMirth_5 = v14;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_Str_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rcx, %rbx
movq %rdi, %r14
testl %esi, %esi
je 0xa3c46
cmpl $0x1, %esi
je 0xa3c22
cmpl $0x2, %esi
jne 0xa4131
movl 0x4(%rdx), %r15d
decl (%rdx)
jne 0xa3bc9
movq %rdx, %rdi
callq 0x5030
cmpl $0x15, %r15d
ja 0xa4131
movl %r15d, %eax
leaq 0x3bf97(%rip), %rcx     # 0xdfb74
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10735bb(%rip), %rax   # 0x11171a8
testq %rax, %rax
jne 0xa410b
movl $0x7, %edi
callq 0xf5e4
movq $0x7, 0x10(%rax)
movl $0x6b68746d, 0x18(%rax) # imm = 0x6B68746D
movl $0x646e696b, 0x1b(%rax) # imm = 0x646E696B
movq %rax, 0x107358b(%rip)   # 0x11171a8
jmp 0xa410b
movq 0x8(%rdx), %r15
decl (%rdx)
jne 0xa3c32
movq %rdx, %rdi
callq 0x5030
leaq -0x28(%rbp), %r12
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x93807
jmp 0xa3c68
movq 0x8(%rdx), %r15
decl (%rdx)
jne 0xa3c56
movq %rdx, %rdi
callq 0x5030
leaq -0x28(%rbp), %r12
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x9b7b1
movq (%r12), %r14
movq %r14, (%rbx)
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x10735a5(%rip), %rax   # 0x1117228
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3666, 0x18(%rax)     # imm = 0x3666
movb $0x34, 0x1a(%rax)
movq %rax, 0x1073579(%rip)   # 0x1117228
jmp 0xa410b
movq 0x107355d(%rip), %rax   # 0x1117218
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3669, 0x18(%rax)     # imm = 0x3669
movb $0x34, 0x1a(%rax)
movq %rax, 0x1073531(%rip)   # 0x1117218
jmp 0xa410b
movq 0x107350d(%rip), %rax   # 0x1117200
testq %rax, %rax
jne 0xa410b
movl $0x2, %edi
callq 0xf5e4
movq $0x2, 0x10(%rax)
movw $0x3869, 0x18(%rax)     # imm = 0x3869
movq %rax, 0x10734e5(%rip)   # 0x1117200
jmp 0xa410b
movq 0x10734a1(%rip), %rax   # 0x11171c8
testq %rax, %rax
jne 0xa410b
movl $0x4, %edi
callq 0xf5e4
movq $0x4, 0x10(%rax)
movl $0x6c6f6f62, 0x18(%rax) # imm = 0x6C6F6F62
movq %rax, 0x1073478(%rip)   # 0x11171c8
jmp 0xa410b
movq 0x10734ac(%rip), %rax   # 0x1117208
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3169, 0x18(%rax)     # imm = 0x3169
movb $0x36, 0x1a(%rax)
movq %rax, 0x1073480(%rip)   # 0x1117208
jmp 0xa410b
movq 0x107345c(%rip), %rax   # 0x11171f0
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3375, 0x18(%rax)     # imm = 0x3375
movb $0x32, 0x1a(%rax)
movq %rax, 0x1073430(%rip)   # 0x11171f0
jmp 0xa410b
movq 0x10733ec(%rip), %rax   # 0x11171b8
testq %rax, %rax
jne 0xa410b
movl $0x7, %edi
callq 0xf5e4
movq $0x7, 0x10(%rax)
movl $0x7468746d, 0x18(%rax) # imm = 0x7468746D
movl $0x65707974, 0x1b(%rax) # imm = 0x65707974
movq %rax, 0x10733bc(%rip)   # 0x11171b8
jmp 0xa410b
movq 0x1073418(%rip), %rax   # 0x1117220
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3366, 0x18(%rax)     # imm = 0x3366
movb $0x32, 0x1a(%rax)
movq %rax, 0x10733ec(%rip)   # 0x1117220
jmp 0xa410b
movq 0x1073380(%rip), %rax   # 0x11171c0
testq %rax, %rax
jne 0xa410b
movl $0xb, %edi
callq 0xf5e4
movq $0xb, 0x10(%rax)
movabsq $0x756f73657268746d, %rcx # imm = 0x756F73657268746D
movq %rcx, 0x18(%rax)
movl $0x65637275, 0x1f(%rax) # imm = 0x65637275
movq %rax, 0x1073349(%rip)   # 0x11171c0
jmp 0xa410b
movq 0x107335d(%rip), %rax   # 0x11171e0
testq %rax, %rax
jne 0xa410b
movl $0x2, %edi
callq 0xf5e4
movq $0x2, 0x10(%rax)
movw $0x3875, 0x18(%rax)     # imm = 0x3875
movq %rax, 0x1073335(%rip)   # 0x11171e0
jmp 0xa410b
movq 0x10732f9(%rip), %rax   # 0x11171b0
testq %rax, %rax
jne 0xa410b
movl $0x7, %edi
callq 0xf5e4
movq $0x7, 0x10(%rax)
movl $0x7468746d, 0x18(%rax) # imm = 0x7468746D
movl $0x65707974, 0x1b(%rax) # imm = 0x65707974
movq %rax, 0x10732c9(%rip)   # 0x11171b0
jmp 0xa410b
movq 0x107333d(%rip), %rax   # 0x1117230
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x7470, 0x18(%rax)     # imm = 0x7470
movb $0x72, 0x1a(%rax)
movq %rax, 0x1073311(%rip)   # 0x1117230
jmp 0xa410b
movq 0x107331d(%rip), %rax   # 0x1117248
testq %rax, %rax
jne 0xa410b
movl $0x5, %edi
callq 0xf5e4
movq $0x5, 0x10(%rax)
movl $0x6c726f77, 0x18(%rax) # imm = 0x6C726F77
movb $0x64, 0x1c(%rax)
movq %rax, 0x10732f0(%rip)   # 0x1117248
jmp 0xa410b
movq 0x107326c(%rip), %rax   # 0x11171d0
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x6e69, 0x18(%rax)     # imm = 0x6E69
movb $0x74, 0x1a(%rax)
movq %rax, 0x1073240(%rip)   # 0x11171d0
jmp 0xa410b
movq 0x10732b4(%rip), %rax   # 0x1117250
testq %rax, %rax
jne 0xa410b
movl $0x5, %edi
callq 0xf5e4
movq $0x5, 0x10(%rax)
movl $0x75626564, 0x18(%rax) # imm = 0x75626564
movb $0x67, 0x1c(%rax)
movq %rax, 0x1073287(%rip)   # 0x1117250
jmp 0xa410b
movq 0x107323b(%rip), %rax   # 0x1117210
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3369, 0x18(%rax)     # imm = 0x3369
movb $0x32, 0x1a(%rax)
movq %rax, 0x107320f(%rip)   # 0x1117210
jmp 0xa410b
movq 0x10731cb(%rip), %rax   # 0x11171d8
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x616e, 0x18(%rax)     # imm = 0x616E
movb $0x74, 0x1a(%rax)
movq %rax, 0x107319f(%rip)   # 0x11171d8
jmp 0xa410b
movq 0x10731f3(%rip), %rax   # 0x1117238
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x7473, 0x18(%rax)     # imm = 0x7473
movb $0x72, 0x1a(%rax)
movq %rax, 0x10731c7(%rip)   # 0x1117238
jmp 0xa410b
movq 0x107317b(%rip), %rax   # 0x11171f8
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3675, 0x18(%rax)     # imm = 0x3675
movb $0x34, 0x1a(%rax)
movq %rax, 0x107314f(%rip)   # 0x11171f8
jmp 0xa410b
movq 0x1073136(%rip), %rax   # 0x11171e8
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x3175, 0x18(%rax)     # imm = 0x3175
movb $0x36, 0x1a(%rax)
movq %rax, 0x107310e(%rip)   # 0x11171e8
jmp 0xa410b
movq 0x107315d(%rip), %rax   # 0x1117240
testq %rax, %rax
jne 0xa410b
movl $0x3, %edi
callq 0xf5e4
movq $0x3, 0x10(%rax)
movw $0x7261, 0x18(%rax)     # imm = 0x7261
movb $0x72, 0x1a(%rax)
movq %rax, 0x1073135(%rip)   # 0x1117240
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rax, %rcx
setne %dl
testb $0x3, %al
sete %sil
testb %sil, %dl
je 0xa3c6c
incl (%rcx)
jmp 0xa3c6c
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0x3c583(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0x3c588(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302