// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp50_0
static void mb_mirth_mirth_PropLabel_prop_1_sp50_0 (void) {
	uint64_t v0 = V_mirth_word_Word(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct mirth_mirth_zaMirth* v2;
	struct std_maybe_Maybe_1 v3 = mw_mirth_word_Word_sigzy(r1, v0, &v2);
	struct mirth_mirth_zaMirth* branch_zaMirth_4;
	PTUP branch__5;
	switch ((v3).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v6 = mtp_std_maybe_Maybe_1_Some(v3);
			struct mirth_elab_zaTypeElab* v7;
			mw_mirth_elab_zaTypeElab_Startzx(V_mirth_token_Token(v6), &v7);
			struct mirth_type_StackType v8 = mw_mirth_type_T0();
			struct mirth_mirth_zaMirth* v9;
			struct mirth_elab_zaTypeElab* v10;
			struct mirth_type_ArrowType* v11 = mw_mirth_elab_zaTypeElab_elabzetypezesigzx(v2, v7, v8, &v9, &v10);
			struct std_list_List_1 v12 = v10->mctx;
			incref(MK_std_list_List_1(v12));
			PTUP r13 = PTRMK(0,tup_new(2),0);
			((TUP*)PTRPTR(r13))->size = 2;
			((TUP*)PTRPTR(r13))->cells[1] = MK_mirth_type_ArrowType(v11);
			((TUP*)PTRPTR(r13))->cells[0] = MK_std_list_List_1(v12);
			mw_mirth_elab_zaTypeElab_rdrop(v10);
			branch__5 = r13;
			branch_zaMirth_4 = v9;
		} break;
		case std_maybe_Maybe_1_None: {
			struct mirth_mirth_zaMirth* v14;
			struct mirth_arrow_Arrow* v15 = mw_mirth_word_Word_arrow(v2, v0, &v14);
			struct mirth_type_ArrowType* v16;
			struct std_list_List_1 v17 = mw_mirth_arrow_Arrow_ctxzetype(v15, &v16);
			PTUP r18 = PTRMK(0,tup_new(2),0);
			((TUP*)PTRPTR(r18))->size = 2;
			((TUP*)PTRPTR(r18))->cells[1] = MK_mirth_type_ArrowType(v16);
			((TUP*)PTRPTR(r18))->cells[0] = MK_std_list_List_1(v17);
			branch__5 = r18;
			branch_zaMirth_4 = v14;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	push_resource(MK_mirth_mirth_zaMirth(branch_zaMirth_4));
	push_value(MKTUP(branch__5));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
callq 0xd699
movq %rax, %r14
callq 0xd6f2
movq %rax, %rbx
leaq 0x10e2617(%rip), %rdi   # 0x1115730
movq %r14, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rcx
shrq $0x30, %rcx
je 0x33200
cmpl $0x1, %ecx
jne 0x332ad
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
andq %r12, %rax
movq %rax, %rdi
callq 0xd745
leaq -0x30(%rbp), %r14
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rdx
xorl %ecx, %ecx
movl $0x1, %r8d
movq %r14, %r9
callq 0x348b3
movq (%r14), %rsi
leaq -0x30(%rbp), %r8
leaq -0x38(%rbp), %r14
movq %rbx, %rdi
movl $0x2, %edx
xorl %ecx, %ecx
movq %r14, %r9
callq 0x3433e
movq %rax, %r15
movq (%r14), %r14
movq 0x8(%r14), %rcx
movl (%r14), %r13d
shlq $0x30, %r13
orq %rcx, %r13
movq %rcx, %rax
andq %r12, %rax
sete %dl
testb $0x3, %cl
setne %cl
orb %dl, %cl
jne 0x331b5
incl (%rax)
movl $0x2, %edi
callq 0xe0e7
movq %rax, %rbx
andq %rax, %r12
movw $0x2, 0x6(%r12)
leaq 0xde9a5(%rip), %rax     # 0x111b79
movq %r15, 0x18(%r12)
movq %rax, 0x20(%r12)
movq %r13, 0x8(%r12)
leaq 0xde08f(%rip), %rax     # 0x111279
movq %rax, 0x10(%r12)
movq %r14, %rdi
callq 0x347de
movq -0x30(%rbp), %r14
jmp 0x33281
leaq 0x10e24c9(%rip), %rdi   # 0x11156d0
movq %r14, %rsi
callq 0x13c85
leaq -0x30(%rbp), %r14
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x1a6db
movq (%r14), %r14
leaq -0x30(%rbp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x3482e
movl %eax, %r12d
movq %rdx, %r13
movl $0x2, %edi
callq 0xe0e7
movq %rax, %rbx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rbx, %rax
movw $0x2, 0x6(%rax)
movq (%r15), %rcx
leaq 0xde916(%rip), %rdx     # 0x111b79
movq %rcx, 0x18(%rax)
movq %rdx, 0x20(%rax)
shlq $0x30, %r12
orq %r13, %r12
leaq 0xde000(%rip), %rcx     # 0x111279
movq %r12, 0x8(%rax)
movq %rcx, 0x10(%rax)
leaq 0xde668(%rip), %rsi     # 0x1118f0
movq %r14, %rdi
callq 0x8e6d
leaq 0xde102(%rip), %rsi     # 0x111399
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0xad407(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0xad40c(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302