// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_c99zeline_1_sp152
static void mw_mirth_c99_zaC99_c99zeline_1_sp152 (struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_1, struct mirth_mirth_zaMirth* in_zaMirth_2, struct mirth_c99_zaC99* in_zaC99_3, struct mirth_c99_C99DataTransRepr* *out_C99DataTransRepr_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99* *out_zaC99_6) {
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99* v8;
	mw_mirth_c99_zaC99_indent(in_zaMirth_2, in_zaC99_3, &v7, &v8);
	STR* v9;
	STRLIT(v9, "v.tag = ", 8);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_c99_zaC99* v11;
	mw_mirth_c99_zaC99_put(v7, v8, v9, &v10, &v11);
	incref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_1));
	struct mirth_tycon_Tycon v12 = in_C99DataTransRepr_1->minputzetycon;
	incref(MK_mirth_tycon_Tycon(v12));
	decref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_1));
	struct mirth_mirth_zaMirth* v13;
	STR* v14 = mw_mirth_tycon_Tycon_c99zereprzetag(v10, v12, &v13);
	struct mirth_mirth_zaMirth* v15;
	struct mirth_c99_zaC99* v16;
	mw_mirth_c99_zaC99_put(v13, v11, v14, &v15, &v16);
	STR* v17;
	STRLIT(v17, ";", 1);
	struct mirth_mirth_zaMirth* v18;
	struct mirth_c99_zaC99* v19;
	mw_mirth_c99_zaC99_put(v15, v16, v17, &v18, &v19);
	struct mirth_mirth_zaMirth* v20;
	struct mirth_c99_zaC99* v21;
	mw_mirth_c99_zaC99_line(v18, v19, &v20, &v21);
	*out_zaC99_6 = v21;
	*out_zaMirth_5 = v20;
	*out_C99DataTransRepr_4 = in_C99DataTransRepr_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %r9, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %rcx, -0x40(%rbp)
movq %rdi, %r12
leaq -0x70(%rbp), %rax
leaq -0x68(%rbp), %rcx
movq %rsi, %rdi
movq %rdx, %rsi
movq %rax, %rdx
callq 0x93675
movq 0x1072ad0(%rip), %rdx   # 0x1117318
testq %rdx, %rdx
jne 0xa4877
movl $0x8, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x8, 0x10(%rax)
movabsq $0x203d206761742e76, %rax # imm = 0x203D206761742E76
movq %rax, 0x18(%rdx)
movq %rdx, 0x1072aa1(%rip)   # 0x1117318
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xa4898
incl (%rax)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
leaq -0x60(%rbp), %rcx
leaq -0x58(%rbp), %r8
callq 0x9221b
movq %r12, %rax
andq %r15, %rax
setne %dl
testb $0x3, %r12b
sete %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0xa48c6
incl (%rax)
movl 0x20(%r12), %r13d
movq 0x28(%r12), %rbx
movq %rbx, %rdx
andq %r15, %rdx
sete %sil
testb $0x3, %bl
setne %dil
orb %sil, %dil
jne 0xa48e8
incl (%rdx)
testb %cl, %cl
je 0xa48ff
decl (%rax)
jne 0xa48ff
leaq 0x6e55a(%rip), %rsi     # 0x112e51
movq %r12, %rdi
callq 0xd13d
movq -0x60(%rbp), %rdi
leaq -0x88(%rbp), %r14
movl %r13d, %esi
movq %rbx, %rdx
movq %r14, %rcx
callq 0xa4161
movq (%r14), %rdi
movq -0x58(%rbp), %rsi
leaq -0x50(%rbp), %rcx
leaq -0x48(%rbp), %r8
movq %rax, %rdx
callq 0x9221b
movq 0x10729ea(%rip), %rdx   # 0x1117320
testq %rdx, %rdx
jne 0xa495b
movl $0x1, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1, 0x10(%rax)
movb $0x3b, 0x18(%rax)
movq %rax, 0x10729c5(%rip)   # 0x1117320
andq %rdx, %r15
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0xa496e
incl (%r15)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x80(%rbp), %rbx
leaq -0x78(%rbp), %r14
movq %rbx, %rcx
movq %r14, %r8
callq 0x9221b
movq (%rbx), %r15
movq (%r14), %r14
cmpb $0x1, 0x18(%r14)
jne 0xa49b5
movq 0x28(%r14), %rsi
leaq -0x90(%rbp), %rbx
movl $0xa, %edi
movq %rbx, %rdx
callq 0x92a13
movq (%rbx), %rax
movq %rax, 0x28(%r14)
movq -0x30(%rbp), %rax
movq %r14, (%rax)
movq -0x38(%rbp), %rax
movq %r15, (%rax)
movq -0x40(%rbp), %rax
movq %r12, (%rax)
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq