// File: /workspace/github_c_makefile_star2_O1/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 0xa67a7
cmpl $0x1, %esi
je 0xa6783
cmpl $0x2, %esi
jne 0xa6caf
movl 0x4(%rdx), %r15d
decl (%rdx)
jne 0xa6729
movq %rdx, %rdi
callq 0x5030
cmpl $0x15, %r15d
ja 0xa6caf
movl %r15d, %eax
leaq 0x3d3ef(%rip), %rcx     # 0xe3b2c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpq $0x0, 0x1074a5a(%rip)   # 0x111b1a8
jne 0xa6777
movl $0x7, %edi
callq 0xf9f7
movq $0x7, 0x10(%rax)
movl $0x6b68746d, 0x18(%rax) # imm = 0x6B68746D
movl $0x646e696b, 0x1b(%rax) # imm = 0x646E696B
movq %rax, 0x1074a31(%rip)   # 0x111b1a8
movq 0x1074a2a(%rip), %rax   # 0x111b1a8
jmp 0xa6c89
movq 0x8(%rdx), %r15
decl (%rdx)
jne 0xa6793
movq %rdx, %rdi
callq 0x5030
leaq -0x28(%rbp), %r12
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x95f0c
jmp 0xa67c9
movq 0x8(%rdx), %r15
decl (%rdx)
jne 0xa67b7
movq %rdx, %rdi
callq 0x5030
leaq -0x28(%rbp), %r12
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x9e227
movq (%r12), %r14
movq %r14, (%rbx)
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
cmpq $0x0, 0x1074a43(%rip)   # 0x111b228
jne 0xa680a
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3666, 0x18(%rax)     # imm = 0x3666
movb $0x34, 0x1a(%rax)
movq %rax, 0x1074a1e(%rip)   # 0x111b228
movq 0x1074a17(%rip), %rax   # 0x111b228
jmp 0xa6c89
cmpq $0x0, 0x10749fa(%rip)   # 0x111b218
jne 0xa6843
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3669, 0x18(%rax)     # imm = 0x3669
movb $0x34, 0x1a(%rax)
movq %rax, 0x10749d5(%rip)   # 0x111b218
movq 0x10749ce(%rip), %rax   # 0x111b218
jmp 0xa6c89
cmpq $0x0, 0x10749a9(%rip)   # 0x111b200
jne 0xa6878
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x3869, 0x18(%rax)     # imm = 0x3869
movq %rax, 0x1074988(%rip)   # 0x111b200
movq 0x1074981(%rip), %rax   # 0x111b200
jmp 0xa6c89
cmpq $0x0, 0x107493c(%rip)   # 0x111b1c8
jne 0xa68ae
movl $0x4, %edi
callq 0xf9f7
movq $0x4, 0x10(%rax)
movl $0x6c6f6f62, 0x18(%rax) # imm = 0x6C6F6F62
movq %rax, 0x107491a(%rip)   # 0x111b1c8
movq 0x1074913(%rip), %rax   # 0x111b1c8
jmp 0xa6c89
cmpq $0x0, 0x1074946(%rip)   # 0x111b208
jne 0xa68e7
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3169, 0x18(%rax)     # imm = 0x3169
movb $0x36, 0x1a(%rax)
movq %rax, 0x1074921(%rip)   # 0x111b208
movq 0x107491a(%rip), %rax   # 0x111b208
jmp 0xa6c89
cmpq $0x0, 0x10748f5(%rip)   # 0x111b1f0
jne 0xa6920
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3375, 0x18(%rax)     # imm = 0x3375
movb $0x32, 0x1a(%rax)
movq %rax, 0x10748d0(%rip)   # 0x111b1f0
movq 0x10748c9(%rip), %rax   # 0x111b1f0
jmp 0xa6c89
cmpq $0x0, 0x1074884(%rip)   # 0x111b1b8
jne 0xa695d
movl $0x7, %edi
callq 0xf9f7
movq $0x7, 0x10(%rax)
movl $0x7468746d, 0x18(%rax) # imm = 0x7468746D
movl $0x65707974, 0x1b(%rax) # imm = 0x65707974
movq %rax, 0x107485b(%rip)   # 0x111b1b8
movq 0x1074854(%rip), %rax   # 0x111b1b8
jmp 0xa6c89
cmpq $0x0, 0x10748af(%rip)   # 0x111b220
jne 0xa6996
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3366, 0x18(%rax)     # imm = 0x3366
movb $0x32, 0x1a(%rax)
movq %rax, 0x107488a(%rip)   # 0x111b220
movq 0x1074883(%rip), %rax   # 0x111b220
jmp 0xa6c89
cmpq $0x0, 0x1074816(%rip)   # 0x111b1c0
jne 0xa69da
movl $0xb, %edi
callq 0xf9f7
movq $0xb, 0x10(%rax)
movabsq $0x756f73657268746d, %rcx # imm = 0x756F73657268746D
movq %rcx, 0x18(%rax)
movl $0x65637275, 0x1f(%rax) # imm = 0x65637275
movq %rax, 0x10747e6(%rip)   # 0x111b1c0
movq 0x10747df(%rip), %rax   # 0x111b1c0
jmp 0xa6c89
cmpq $0x0, 0x10747f2(%rip)   # 0x111b1e0
jne 0xa6a0f
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x3875, 0x18(%rax)     # imm = 0x3875
movq %rax, 0x10747d1(%rip)   # 0x111b1e0
movq 0x10747ca(%rip), %rax   # 0x111b1e0
jmp 0xa6c89
cmpq $0x0, 0x107478d(%rip)   # 0x111b1b0
jne 0xa6a4c
movl $0x7, %edi
callq 0xf9f7
movq $0x7, 0x10(%rax)
movl $0x7468746d, 0x18(%rax) # imm = 0x7468746D
movl $0x65707974, 0x1b(%rax) # imm = 0x65707974
movq %rax, 0x1074764(%rip)   # 0x111b1b0
movq 0x107475d(%rip), %rax   # 0x111b1b0
jmp 0xa6c89
cmpq $0x0, 0x10747d0(%rip)   # 0x111b230
jne 0xa6a85
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x7470, 0x18(%rax)     # imm = 0x7470
movb $0x72, 0x1a(%rax)
movq %rax, 0x10747ab(%rip)   # 0x111b230
movq 0x10747a4(%rip), %rax   # 0x111b230
jmp 0xa6c89
cmpq $0x0, 0x10747af(%rip)   # 0x111b248
jne 0xa6abf
movl $0x5, %edi
callq 0xf9f7
movq $0x5, 0x10(%rax)
movl $0x6c726f77, 0x18(%rax) # imm = 0x6C726F77
movb $0x64, 0x1c(%rax)
movq %rax, 0x1074789(%rip)   # 0x111b248
movq 0x1074782(%rip), %rax   # 0x111b248
jmp 0xa6c89
cmpq $0x0, 0x10746fd(%rip)   # 0x111b1d0
jne 0xa6af8
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x6e69, 0x18(%rax)     # imm = 0x6E69
movb $0x74, 0x1a(%rax)
movq %rax, 0x10746d8(%rip)   # 0x111b1d0
movq 0x10746d1(%rip), %rax   # 0x111b1d0
jmp 0xa6c89
cmpq $0x0, 0x1074744(%rip)   # 0x111b250
jne 0xa6b32
movl $0x5, %edi
callq 0xf9f7
movq $0x5, 0x10(%rax)
movl $0x75626564, 0x18(%rax) # imm = 0x75626564
movb $0x67, 0x1c(%rax)
movq %rax, 0x107471e(%rip)   # 0x111b250
movq 0x1074717(%rip), %rax   # 0x111b250
jmp 0xa6c89
cmpq $0x0, 0x10746ca(%rip)   # 0x111b210
jne 0xa6b6b
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3369, 0x18(%rax)     # imm = 0x3369
movb $0x32, 0x1a(%rax)
movq %rax, 0x10746a5(%rip)   # 0x111b210
movq 0x107469e(%rip), %rax   # 0x111b210
jmp 0xa6c89
cmpq $0x0, 0x1074659(%rip)   # 0x111b1d8
jne 0xa6ba4
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x616e, 0x18(%rax)     # imm = 0x616E
movb $0x74, 0x1a(%rax)
movq %rax, 0x1074634(%rip)   # 0x111b1d8
movq 0x107462d(%rip), %rax   # 0x111b1d8
jmp 0xa6c89
cmpq $0x0, 0x1074680(%rip)   # 0x111b238
jne 0xa6bdd
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x7473, 0x18(%rax)     # imm = 0x7473
movb $0x72, 0x1a(%rax)
movq %rax, 0x107465b(%rip)   # 0x111b238
movq 0x1074654(%rip), %rax   # 0x111b238
jmp 0xa6c89
cmpq $0x0, 0x1074607(%rip)   # 0x111b1f8
jne 0xa6c16
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3675, 0x18(%rax)     # imm = 0x3675
movb $0x34, 0x1a(%rax)
movq %rax, 0x10745e2(%rip)   # 0x111b1f8
movq 0x10745db(%rip), %rax   # 0x111b1f8
jmp 0xa6c89
cmpq $0x0, 0x10745c1(%rip)   # 0x111b1e8
jne 0xa6c4c
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x3175, 0x18(%rax)     # imm = 0x3175
movb $0x36, 0x1a(%rax)
movq %rax, 0x107459c(%rip)   # 0x111b1e8
movq 0x1074595(%rip), %rax   # 0x111b1e8
jmp 0xa6c89
cmpq $0x0, 0x10745e3(%rip)   # 0x111b240
jne 0xa6c82
movl $0x3, %edi
callq 0xf9f7
movq $0x3, 0x10(%rax)
movw $0x7261, 0x18(%rax)     # imm = 0x7261
movb $0x72, 0x1a(%rax)
movq %rax, 0x10745be(%rip)   # 0x111b240
movq 0x10745b7(%rip), %rax   # 0x111b240
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rax, %rcx
sete %dl
testb $0x3, %al
setne %sil
orb %dl, %sil
jne 0xa67cd
incl (%rcx)
jmp 0xa67cd
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x3da85(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x3da8a(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5