// File: /workspace/github_c_makefile_star2_O2/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_List_1_for_1_sp64
static void mw_std_list_List_1_for_1_sp64 (struct mirth_c99_zaC99* in_zaC99_1, struct mirth_mirth_zaMirth* in_zaMirth_2, struct std_list_List_1 in_List_3, struct mirth_c99_zaC99* *out_zaC99_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	bool v6 = true;
	struct mirth_c99_zaC99* r7 = in_zaC99_1;
	struct mirth_mirth_zaMirth* r8 = in_zaMirth_2;
	struct std_list_List_1 v9 = in_List_3;
	bool v10 = v6;
	bool v11 = v6;
	while (v11) {
		struct mirth_c99_zaC99* r12 = r7;
		struct mirth_mirth_zaMirth* r13 = r8;
		struct std_list_List_1 v14 = v9;
		bool v15 = v10;
		struct mirth_c99_zaC99* branch_zaC99_16;
		struct mirth_mirth_zaMirth* branch_zaMirth_17;
		struct std_list_List_1 branch_List_18;
		bool branch_Bool_19;
		switch ((v14).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v20;
				VAL v21 = mtp_std_list_List_1_Cons(v14, &v20);
				struct mirth_mirth_zaMirth* v22;
				struct mirth_c99_zaC99* v23;
				mw_mirth_c99_zaC99_indent(r13, r12, &v22, &v23);
				incref(v21);
				struct mirth_mirth_zaMirth* v24;
				STR* v25 = mw_mirth_data_Tag_cname(v22, V_mirth_data_Tag(v21), &v24);
				struct mirth_mirth_zaMirth* v26;
				struct mirth_c99_zaC99* v27;
				mw_mirth_c99_zaC99_put(v24, v23, v25, &v26, &v27);
				STR* v28;
				STRLIT(v28, " = ", 3);
				struct mirth_mirth_zaMirth* v29;
				struct mirth_c99_zaC99* v30;
				mw_mirth_c99_zaC99_put(v26, v27, v28, &v29, &v30);
				incref(v21);
				struct mirth_mirth_zaMirth* v31;
				INT v32 = mw_mirth_data_Tag_value(v29, V_mirth_data_Tag(v21), &v31);
				STR* v33;
				STRLIT(v33, "", 0);
				incref(MKINT(v32));
				INT v34 = WRAP_I63(0LL);
				INT v35 = v34;
				bool v36 = int_lt(v32, v35);
				STR* branch_zaStr_37;
				INT branch_Int_38;
				if (v36) {
					STR* v39;
					STRLIT(v39, "-", 1);
					STR* v40;
					mw_std_str_zaStr_pushzestrzx(v39, v33, &v40);
					INT v41 = WRAP_I63(0LL);
					INT v42 = int_sub(v41, v32);
					branch_Int_38 = v42;
					branch_zaStr_37 = v40;
				} else {
					branch_Int_38 = v32;
					branch_zaStr_37 = v33;
				}
				INT v43 = branch_Int_38;
				STR* v44;
				STRLIT(v44, "0x", 2);
				STR* v45;
				mw_std_str_zaStr_pushzestrzx(v44, branch_zaStr_37, &v45);
				INT v46 = mw_std_number_Base_Hex();
				STR* v47;
				mw_std_number_Base_digitszj(v45, v43, v46, &v47);
				struct mirth_mirth_zaMirth* v48;
				struct mirth_c99_zaC99* v49;
				mw_mirth_c99_zaC99_put(v31, v30, v47, &v48, &v49);
				STR* v50;
				STRLIT(v50, ",", 1);
				struct mirth_mirth_zaMirth* v51;
				struct mirth_c99_zaC99* v52;
				mw_mirth_c99_zaC99_put(v48, v49, v50, &v51, &v52);
				struct mirth_mirth_zaMirth* v53;
				struct mirth_c99_zaC99* v54;
				mw_mirth_c99_zaC99_line(v51, v52, &v53, &v54);
				decref(v21);
				bool v55 = true;
				branch_Bool_19 = v55;
				branch_List_18 = v20;
				branch_zaMirth_17 = v53;
				branch_zaC99_16 = v54;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v56 = { .tag=std_list_List_1_Nil };
				bool v57 = false;
				branch_Bool_19 = v57;
				branch_List_18 = v56;
				branch_zaMirth_17 = r13;
				branch_zaC99_16 = r12;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v11 = branch_Bool_19;
		v10 = branch_Bool_19;
		v9 = branch_List_18;
		r8 = branch_zaMirth_17;
		r7 = branch_zaC99_16;
	}
	decref(MK_std_list_List_1(v9));
	*out_zaMirth_5 = r8;
	*out_zaC99_4 = r7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %r9, %r13
movq %r8, %r12
movq %rsi, %rbx
movq %rdi, %r15
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
leaq -0xc0(%rbp), %rsi
movb $0x1, %al
movq %rcx, %rdi
testb $0x1, %al
je 0x972e8
xorl %eax, %eax
movl $0x0, %ecx
testl %edx, %edx
je 0x96fed
movq %r13, -0x30(%rbp)
movq %r12, -0x38(%rbp)
cmpl $0x1, %edx
jne 0x9732e
callq 0xce01
movq %rax, %r13
movq %rdx, %r12
movq %rbx, %rdi
movq %r15, %rsi
leaq -0xb0(%rbp), %rdx
leaq -0xa8(%rbp), %rcx
callq 0x8bc28
testb $0x1, %r12b
je 0x97054
movq %r13, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x97054
incl (%rax)
movq -0xb0(%rbp), %rdi
movq %r13, %rsi
leaq -0xa0(%rbp), %rdx
callq 0x93459
movq -0xa0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
movq %rax, %rdx
leaq -0x98(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x8a8a9
movq 0x1076c53(%rip), %rdx   # 0x110dce8
testq %rdx, %rdx
jne 0x970b3
leaq 0x4563b(%rip), %rdi     # 0xdc6dc
pushq $0x3
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1076c35(%rip)   # 0x110dce8
movq %rdx, %rax
andq %r14, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x970ca
incl (%rax)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
leaq -0x88(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x8a8a9
testb $0x1, %r12b
je 0x97104
movq %r13, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x97104
incl (%rax)
movq -0x88(%rbp), %rdi
movq %r13, %rsi
leaq -0x78(%rbp), %rdx
callq 0x6d476
movq %rax, %r15
movq 0x1076bcf(%rip), %rbx   # 0x110dcf0
testq %rbx, %rbx
jne 0x9713e
leaq 0x455c8(%rip), %rdi     # 0xdc6f5
xorl %esi, %esi
callq 0x8a21
movq %rax, %rbx
movq %rax, 0x1076bb2(%rip)   # 0x110dcf0
movq %rbx, %rax
andq %r14, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x97153
incl (%rax)
movq %r15, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0x97169
incl (%rax)
movq %r15, %rdi
pushq $0x1
popq %rsi
callq 0x89cc
testb %al, %al
je 0x971cc
movq 0x1076b79(%rip), %rsi   # 0x110dcf8
testq %rsi, %rsi
jne 0x9719d
leaq 0x3ec77(%rip), %rdi     # 0xd5e02
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1076b5b(%rip)   # 0x110dcf8
movq %rsi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x971b3
incl (%rax)
movq %rbx, %rdi
callq 0xd8b0
movq %rax, %rbx
pushq $0x1
popq %rdi
movq %r15, %rsi
callq 0xe191
movq %rax, %r15
movq 0x1076b2d(%rip), %rsi   # 0x110dd00
testq %rsi, %rsi
jne 0x971f1
leaq 0x3e35e(%rip), %rdi     # 0xd553d
pushq $0x2
popq %rsi
callq 0x8a21
movq %rax, %rsi
movq %rax, 0x1076b0f(%rip)   # 0x110dd00
movq %rsi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x97207
incl (%rax)
movq %rbx, %rdi
callq 0xd8b0
movq %rax, %rdi
movq %r15, %rsi
leaq -0x70(%rbp), %rdx
callq 0x9746e
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x70(%rbp), %rdx
leaq -0x68(%rbp), %rcx
leaq -0x60(%rbp), %r8
callq 0x8a8a9
movq 0x1076aca(%rip), %rdx   # 0x110dd08
testq %rdx, %rdx
jne 0x9725c
leaq 0x5645d(%rip), %rdi     # 0xed6a7
pushq $0x1
popq %rsi
callq 0x8a21
movq %rax, %rdx
movq %rax, 0x1076aac(%rip)   # 0x110dd08
movq %rdx, %rax
andq %r14, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x97273
incl (%rax)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x58(%rbp), %rcx
leaq -0x50(%rbp), %r8
callq 0x8a8a9
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x40(%rbp), %rcx
callq 0x8a92c
testb $0x1, %r12b
je 0x972c6
movq %r13, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0x972c6
decl (%rax)
jne 0x972c6
movq %r13, %rdi
movq %r12, %rsi
callq 0xce94
movl -0xc0(%rbp), %edx
movq -0xb8(%rbp), %rcx
movq -0x48(%rbp), %rbx
movq -0x40(%rbp), %r15
movq -0x38(%rbp), %r12
movq -0x30(%rbp), %r13
jmp 0x96fe4
andq %rdi, %r14
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x97314
decl (%r14)
jne 0x97314
shlq $0x30, %rdx
orq %rdi, %rdx
leaq 0x70f6d(%rip), %rsi     # 0x108279
movq %rdx, %rdi
callq 0xce94
movq %rbx, (%r13)
movq %r15, (%r12)
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3d4d8(%rip), %rdi     # 0xd480d
pushq $0x20
popq %rsi
callq 0x8a21
movq %rax, %rdi
callq 0x8cc6