// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_makezeprimzedatazx
static void mw_mirth_mirth_zaMirth_makezeprimzedatazx (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Str_2, struct std_list_List_1 in_List_3, uint64_t in_Data_4, struct std_list_List_1 in_List_5, struct std_maybe_Maybe_1 in_Maybe_6, struct mirth_mirth_zaMirth* *out_zaMirth_7) {
	incref(MK_std_list_List_1(in_List_3));
	INT v8 = mw_std_list_List_1_len(in_List_3);
	INT v9 = v8;
	incref(MKINT(v9));
	struct mirth_mirth_zaMirth* v10;
	mw_mirth_data_Data_arityzx(in_zaMirth_1, v9, in_Data_4, &v10);
	incref(MKSTR(in_Str_2));
	struct mirth_mirth_zaMirth* v11;
	uint64_t v12 = mw_mirth_name_Name_Name(v10, in_Str_2, &v11);
	struct mirth_mirth_zaMirth* v13;
	mw_mirth_data_Data_namezx(v11, v12, in_Data_4, &v13);
	struct mirth_mirth_zaMirth* v14;
	struct mirth_name_QName* v15 = mw_mirth_name_QName_Prim(v13, in_Str_2, v9, &v14);
	struct mirth_mirth_PropLabel v16 = mtw_mirth_mirth_PropLabel_DataQName(in_Data_4);
	struct mirth_mirth_zaMirth* v17;
	struct mirth_mirth_Prop_1* v18 = mw_mirth_mirth_PropLabel_prop(v14, MK_mirth_name_QName(v15), v16, &v17);
	void* v19 = field_mut(&mfld_mirth_data_Data_ztqname, in_Data_4);
	mut_set(MK_mirth_mirth_Prop_1(v18), v19);
	struct mirth_mirth_PropLabel v20 = mtw_mirth_mirth_PropLabel_DataCType(in_Data_4);
	struct mirth_mirth_zaMirth* v21;
	struct mirth_mirth_Prop_1* v22 = mw_mirth_mirth_PropLabel_prop(v17, MK_std_maybe_Maybe_1(in_Maybe_6), v20, &v21);
	void* v23 = field_mut(&mfld_mirth_data_Data_ztctypezy, in_Data_4);
	mut_set(MK_mirth_mirth_Prop_1(v22), v23);
	incref(MK_std_list_List_1(in_List_5));
	bool v24 = true;
	struct mirth_mirth_zaMirth* r25 = v21;
	uint64_t v26 = in_Data_4;
	struct std_list_List_1 v27 = in_List_5;
	bool v28 = v24;
	bool v29 = v24;
	while (v29) {
		struct mirth_mirth_zaMirth* r30 = r25;
		uint64_t v31 = v26;
		struct std_list_List_1 v32 = v27;
		bool v33 = v28;
		uint64_t branch_Data_34;
		struct mirth_mirth_zaMirth* branch_zaMirth_35;
		struct std_list_List_1 branch_List_36;
		bool branch_Bool_37;
		switch ((v32).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v38;
				VAL v39 = mtp_std_list_List_1_Cons(v32, &v38);
				struct mirth_mirth_zaMirth* v40;
				mw_mirth_data_Tag_datazx(r30, v31, V_mirth_data_Tag(v39), &v40);
				bool v41 = true;
				branch_Bool_37 = v41;
				branch_List_36 = v38;
				branch_zaMirth_35 = v40;
				branch_Data_34 = v31;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v42 = { .tag=std_list_List_1_Nil };
				bool v43 = false;
				branch_Bool_37 = v43;
				branch_List_36 = v42;
				branch_zaMirth_35 = r30;
				branch_Data_34 = v31;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v29 = branch_Bool_37;
		v28 = branch_Bool_37;
		v27 = branch_List_36;
		v26 = branch_Data_34;
		r25 = branch_zaMirth_35;
	}
	decref(MK_std_list_List_1(v27));
	struct mirth_mirth_zaMirth* v44;
	mw_mirth_data_Data_tagszx(r25, in_List_5, v26, &v44);
	struct mirth_mirth_PropLabel v45 = mtw_mirth_mirth_PropLabel_DataParams(v26);
	struct mirth_mirth_zaMirth* v46;
	struct mirth_mirth_Prop_1* v47 = mw_mirth_mirth_PropLabel_prop(v44, MK_std_list_List_1(in_List_3), v45, &v46);
	void* v48 = field_mut(&mfld_mirth_data_Data_ztparams, v26);
	mut_set(MK_mirth_mirth_Prop_1(v47), v48);
	struct std_maybe_Maybe_1 v49 = { .tag=std_maybe_Maybe_1_None };
	struct mirth_mirth_zaMirth* v50;
	mw_mirth_data_Data_headzyzx(v46, v49, v26, &v50);
	struct mirth_def_Def v51 = mtw_mirth_def_Def_Data(v26);
	struct mirth_mirth_zaMirth* v52;
	mw_mirth_def_Def_register(v50, v51, &v52);
	*out_zaMirth_7 = v52;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3c0, %rsp            # imm = 0x3C0
leaq 0x20(%rbp), %rax
movq %rax, -0x3a8(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x3a0(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x70d2d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x70d2d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x70d2d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x70d2f
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x33100
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x3206cf(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x70e10
movq -0x80(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x32069d(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rax
cmpq $0x0, %rax
je 0x70e10
movq -0x80(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x320669(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movq -0xb0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x70e10
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq 0x32063b(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xb8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x70e12
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rdx
movq -0x80(%rbp), %rsi
leaq -0xc8(%rbp), %rcx
callq 0x725e0
movq -0x20(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq 0x32031c(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x70ef3
movq -0x20(%rbp), %rax
movq %rax, -0xe8(%rbp)
leaq 0x3202ea(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xe0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xe8(%rbp), %rax
cmpq $0x0, %rax
je 0x70ef3
movq -0x20(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq 0x3202b6(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xf0(%rbp)
movq -0xf8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x70ef3
movq -0x20(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq 0x320288(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x100(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x108(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x70ef5
movq -0xc8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0x3ed80
movq %rax, -0x118(%rbp)
movq -0x110(%rbp), %rdi
movq -0x118(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x120(%rbp), %rcx
callq 0x72650
movq -0x120(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x128(%rbp), %rcx
callq 0x619f0
movq %rax, -0x130(%rbp)
movq -0x28(%rbp), %rdi
callq 0x726c0
movl %eax, -0x140(%rbp)
movq %rdx, -0x138(%rbp)
movq -0x128(%rbp), %rdi
movq -0x130(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq 0x32084b(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x158(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
movl -0x140(%rbp), %ecx
movq -0x138(%rbp), %r8
leaq -0x148(%rbp), %r9
callq 0x70840
movq %rax, -0x150(%rbp)
movq -0x28(%rbp), %rsi
leaq 0x1323cf7(%rip), %rdi   # 0x1394cc0
callq 0x40d30
movq %rax, -0x168(%rbp)
movq -0x150(%rbp), %rax
movq %rax, -0x178(%rbp)
leaq 0x320876(%rip), %rax    # 0x391860
orq $0x1, %rax
movq %rax, -0x170(%rbp)
movq -0x168(%rbp), %rdx
movq -0x178(%rbp), %rdi
movq -0x170(%rbp), %rsi
callq 0x431a0
movq -0x28(%rbp), %rdi
callq 0x72750
movl %eax, %ecx
movq -0x3a8(%rbp), %rax
movl %ecx, -0x188(%rbp)
movq %rdx, -0x180(%rbp)
movq -0x148(%rbp), %rcx
movq %rcx, -0x3b0(%rbp)
movl (%rax), %edi
movq 0x8(%rax), %rsi
callq 0x133a0
movq -0x3b0(%rbp), %rdi
movq %rax, -0x1a8(%rbp)
movq %rdx, -0x1a0(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
movl -0x188(%rbp), %ecx
movq -0x180(%rbp), %r8
leaq -0x190(%rbp), %r9
callq 0x70840
movq %rax, -0x198(%rbp)
movq -0x28(%rbp), %rsi
leaq 0x13242d3(%rip), %rdi   # 0x1395368
callq 0x40d30
movq %rax, -0x1b0(%rbp)
movq -0x198(%rbp), %rax
movq %rax, -0x1c0(%rbp)
leaq 0x3207aa(%rip), %rax    # 0x391860
orq $0x1, %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b0(%rbp), %rdx
movq -0x1c0(%rbp), %rdi
movq -0x1b8(%rbp), %rsi
callq 0x431a0
movq -0x3a0(%rbp), %rax
movl (%rax), %edi
movq 0x8(%rax), %rsi
callq 0x12780
movq %rax, -0x1d0(%rbp)
movq %rdx, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x711b0
movq -0x3a0(%rbp), %rax
movl (%rax), %edi
movq 0x8(%rax), %rsi
callq 0x12780
movq %rax, -0x1e0(%rbp)
movq %rdx, -0x1d8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x1e0(%rbp), %rax
cmpq $0x0, %rax
je 0x711b0
movq -0x3a0(%rbp), %rax
movl (%rax), %edi
movq 0x8(%rax), %rsi
callq 0x12780
movq %rax, -0x1f0(%rbp)
movq %rdx, -0x1e8(%rbp)
movq -0x1f0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x711b0
movq -0x3a0(%rbp), %rax
movl (%rax), %edi
movq 0x8(%rax), %rsi
callq 0x12780
movq %rax, -0x200(%rbp)
movq %rdx, -0x1f8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x200(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x711b2
movq -0x3a0(%rbp), %rax
movb $0x1, -0x201(%rbp)
movq -0x190(%rbp), %rcx
movq %rcx, -0x210(%rbp)
movq -0x28(%rbp), %rcx
movq %rcx, -0x218(%rbp)
movq (%rax), %rcx
movq %rcx, -0x228(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x220(%rbp)
movb -0x201(%rbp), %al
andb $0x1, %al
movb %al, -0x229(%rbp)
movb -0x201(%rbp), %al
andb $0x1, %al
movb %al, -0x22a(%rbp)
testb $0x1, -0x22a(%rbp)
je 0x713e1
movq -0x210(%rbp), %rax
movq %rax, -0x238(%rbp)
movq -0x218(%rbp), %rax
movq %rax, -0x240(%rbp)
movups -0x228(%rbp), %xmm0
movaps %xmm0, -0x250(%rbp)
movb -0x229(%rbp), %al
andb $0x1, %al
movb %al, -0x251(%rbp)
movl -0x250(%rbp), %eax
movl %eax, -0x3b4(%rbp)
testl %eax, %eax
je 0x7130d
jmp 0x71265
movl -0x3b4(%rbp), %eax
subl $0x1, %eax
jne 0x7136f
jmp 0x71276
movl -0x250(%rbp), %edi
movq -0x248(%rbp), %rsi
leaq -0x290(%rbp), %rdx
callq 0x125e0
movq %rax, -0x2a0(%rbp)
movq %rdx, -0x298(%rbp)
movq -0x238(%rbp), %rdi
movq -0x240(%rbp), %rsi
movq -0x2a0(%rbp), %rdx
leaq -0x2a8(%rbp), %rcx
callq 0x727e0
movb $0x1, -0x2a9(%rbp)
movb -0x2a9(%rbp), %al
andb $0x1, %al
movb %al, -0x279(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x278(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x2a8(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x240(%rbp), %rax
movq %rax, -0x260(%rbp)
jmp 0x71388
leaq -0x2c0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movb $0x0, -0x2c1(%rbp)
movb -0x2c1(%rbp), %al
andb $0x1, %al
movb %al, -0x279(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x278(%rbp)
movq -0x2b8(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x240(%rbp), %rax
movq %rax, -0x260(%rbp)
jmp 0x71388
leaq 0x2e2b0b(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movb -0x279(%rbp), %al
andb $0x1, %al
movb %al, -0x22a(%rbp)
movb -0x279(%rbp), %al
andb $0x1, %al
movb %al, -0x229(%rbp)
movq -0x278(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x270(%rbp), %rax
movq %rax, -0x220(%rbp)
movq -0x260(%rbp), %rax
movq %rax, -0x218(%rbp)
movq -0x268(%rbp), %rax
movq %rax, -0x210(%rbp)
jmp 0x7120a
jmp 0x713e3
movl -0x228(%rbp), %edi
movq -0x220(%rbp), %rsi
callq 0x12780
movq %rax, -0x2d8(%rbp)
movq %rdx, -0x2d0(%rbp)
movq -0x2d0(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x714f6
movl -0x228(%rbp), %edi
movq -0x220(%rbp), %rsi
callq 0x12780
movq %rax, -0x2e8(%rbp)
movq %rdx, -0x2e0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x2e8(%rbp), %rax
cmpq $0x0, %rax
je 0x714f6
movl -0x228(%rbp), %edi
movq -0x220(%rbp), %rsi
callq 0x12780
movq %rax, -0x2f8(%rbp)
movq %rdx, -0x2f0(%rbp)
movq -0x2f8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x714f6
movl -0x228(%rbp), %edi
movq -0x220(%rbp), %rsi
callq 0x12780
movq %rax, -0x308(%rbp)
movq %rdx, -0x300(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x308(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x714f4
movl -0x228(%rbp), %edi
movq -0x220(%rbp), %rsi
callq 0x12780
movq %rax, -0x318(%rbp)
movq %rdx, -0x310(%rbp)
movq -0x318(%rbp), %rdi
movq -0x310(%rbp), %rsi
callq 0x127c0
jmp 0x714f6
jmp 0x714f8
movq -0x3a0(%rbp), %rax
movq -0x210(%rbp), %rdi
movq -0x218(%rbp), %rcx
movl (%rax), %esi
movq 0x8(%rax), %rdx
leaq -0x320(%rbp), %r8
callq 0x72850
movq -0x218(%rbp), %rdi
callq 0x728c0
movl %eax, -0x330(%rbp)
movq %rdx, -0x328(%rbp)
movq -0x320(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x12780
movq -0x3c0(%rbp), %rdi
movq %rax, -0x350(%rbp)
movq %rdx, -0x348(%rbp)
movq -0x350(%rbp), %rsi
movq -0x348(%rbp), %rdx
movl -0x330(%rbp), %ecx
movq -0x328(%rbp), %r8
leaq -0x338(%rbp), %r9
callq 0x70840
movq %rax, -0x340(%rbp)
movq -0x218(%rbp), %rsi
leaq 0x1323dd5(%rip), %rdi   # 0x1395378
callq 0x40d30
movq %rax, -0x358(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x368(%rbp)
leaq 0x32029c(%rip), %rax    # 0x391860
orq $0x1, %rax
movq %rax, -0x360(%rbp)
movq -0x358(%rbp), %rdx
movq -0x368(%rbp), %rdi
movq -0x360(%rbp), %rsi
callq 0x431a0
leaq -0x378(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x338(%rbp), %rdi
movq -0x218(%rbp), %rcx
movl -0x378(%rbp), %esi
movq -0x370(%rbp), %rdx
leaq -0x380(%rbp), %r8
callq 0x72950
movq -0x218(%rbp), %rdi
callq 0x729c0
movl %eax, -0x390(%rbp)
movq %rdx, -0x388(%rbp)
movq -0x380(%rbp), %rdi
movl -0x390(%rbp), %esi
movq -0x388(%rbp), %rdx
leaq -0x398(%rbp), %rcx
callq 0x3f300
movq -0x398(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x3c0, %rsp            # imm = 0x3C0
popq %rbp
retq
nopw %cs:(%rax,%rax)