// File: /workspace/github_c_makefile_star2_O3/ArtifexSoftware[P]mujs/pp.c
// Function: pstm
static void pstm(int d, js_Ast *stm)
{
	if (stm->type == STM_BLOCK) {
		pblock(d, stm);
		return;
	}

	in(d);

	switch (stm->type) {
	case AST_FUNDEC:
		ps("function ");
		pexp(d, stm->a);
		pc('(');
		pargs(d, stm->b);
		pc(')'); sp(); pc('{'); nl();
		pstmlist(d, stm->c);
		in(d); pc('}');
		break;

	case STM_EMPTY:
		pc(';');
		break;

	case STM_VAR:
		ps("var ");
		pvarlist(d, stm->a);
		pc(';');
		break;

	case STM_IF:
		ps("if"); sp(); pc('('); pexp(d, stm->a); pc(')');
		pstmh(d, stm->b);
		if (stm->c) {
			nl(); in(d); ps("else");
			pstmh(d, stm->c);
		}
		break;

	case STM_DO:
		ps("do");
		pstmh(d, stm->a);
		nl();
		in(d); ps("while"); sp(); pc('('); pexp(d, stm->b); pc(')'); pc(';');
		break;

	case STM_WHILE:
		ps("while"); sp(); pc('('); pexp(d, stm->a); pc(')');
		pstmh(d, stm->b);
		break;

	case STM_FOR:
		ps("for"); sp(); pc('(');
		pexp(d, stm->a); pc(';'); sp();
		pexp(d, stm->b); pc(';'); sp();
		pexp(d, stm->c); pc(')');
		pstmh(d, stm->d);
		break;
	case STM_FOR_VAR:
		ps("for"); sp(); ps("(var ");
		pvarlist(d, stm->a); pc(';'); sp();
		pexp(d, stm->b); pc(';'); sp();
		pexp(d, stm->c); pc(')');
		pstmh(d, stm->d);
		break;
	case STM_FOR_IN:
		ps("for"); sp(); pc('(');
		pexp(d, stm->a); ps(" in ");
		pexp(d, stm->b); pc(')');
		pstmh(d, stm->c);
		break;
	case STM_FOR_IN_VAR:
		ps("for"); sp(); ps("(var ");
		pvarlist(d, stm->a); ps(" in ");
		pexp(d, stm->b); pc(')');
		pstmh(d, stm->c);
		break;

	case STM_CONTINUE:
		ps("continue");
		if (stm->a) {
			pc(' '); pexp(d, stm->a);
		}
		pc(';');
		break;

	case STM_BREAK:
		ps("break");
		if (stm->a) {
			pc(' '); pexp(d, stm->a);
		}
		pc(';');
		break;

	case STM_RETURN:
		ps("return");
		if (stm->a) {
			pc(' '); pexp(d, stm->a);
		}
		pc(';');
		break;

	case STM_WITH:
		ps("with"); sp(); pc('('); pexp(d, stm->a); pc(')');
		pstmh(d, stm->b);
		break;

	case STM_SWITCH:
		ps("switch"); sp(); pc('(');
		pexp(d, stm->a);
		pc(')'); sp(); pc('{'); nl();
		pcaselist(d, stm->b);
		in(d); pc('}');
		break;

	case STM_THROW:
		ps("throw "); pexp(d, stm->a); pc(';');
		break;

	case STM_TRY:
		ps("try");
		if (minify && stm->a->type != STM_BLOCK)
			pc(' ');
		pstmh(d, stm->a);
		if (stm->b && stm->c) {
			nl(); in(d); ps("catch"); sp(); pc('('); pexp(d, stm->b); pc(')');
			pstmh(d, stm->c);
		}
		if (stm->d) {
			nl(); in(d); ps("finally");
			pstmh(d, stm->d);
		}
		break;

	case STM_LABEL:
		pexp(d, stm->a); pc(':'); sp(); pstm(d, stm->b);
		break;

	case STM_DEBUGGER:
		ps("debugger");
		pc(';');
		break;

	default:
		pexp(d, stm);
		pc(';');
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movl %edi, %ebx
movl (%rsi), %eax
cmpl $0x47, %eax
jne 0x4c6b
movl %ebx, %edi
movq %r14, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x54a7
movl 0x3e74f(%rip), %ecx     # 0x433c0
leal 0x1(%rbx), %ebp
leaq 0x2841d(%rip), %r15     # 0x2d098
testl %ebx, %ebx
jle 0x4c9c
testl %ecx, %ecx
jg 0x4c9c
movl %ebp, %r12d
movl $0x9, %edi
callq 0x4040
decl %r12d
cmpl $0x1, %r12d
ja 0x4c86
movl (%r14), %eax
leal -0x48(%rax), %ecx
cmpl $0x11, %ecx
ja 0x4cef
movslq (%r15,%rcx,4), %rax
addq %r15, %rax
jmpq *%rax
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x3a, %edi
callq 0x4040
movl 0x3e6f6(%rip), %ecx     # 0x433c0
testl %ecx, %ecx
jg 0x4cde
movl $0x20, %edi
callq 0x4040
movl 0x3e6e2(%rip), %ecx     # 0x433c0
movq 0x18(%r14), %r14
movl (%r14), %eax
cmpl $0x47, %eax
jne 0x4c7b
jmp 0x4c53
cmpl $0x1, %eax
jne 0x5474
movq 0x3e2d9(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x287b8(%rip), %rdi     # 0x2d4c1
callq 0x4170
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x28, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
callq 0x552d
movl $0x29, %edi
callq 0x4040
cmpl $0x0, 0x3e67f(%rip)     # 0x433c0
jg 0x4d4d
movl $0x20, %edi
callq 0x4040
movl $0x7b, %edi
callq 0x4040
cmpl $0x1, 0x3e662(%rip)     # 0x433c0
jg 0x4d6a
movl $0xa, %edi
callq 0x4040
movq 0x20(%r14), %rsi
movl %ebx, %edi
callq 0x4bdb
testl %ebx, %ebx
jle 0x5243
cmpl $0x0, 0x3e63c(%rip)     # 0x433c0
jg 0x5243
incl %ebx
movl $0x9, %edi
callq 0x4040
decl %ebx
cmpl $0x1, %ebx
ja 0x4d8c
jmp 0x5243
movq 0x3e22f(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28728(%rip), %rdi     # 0x2d4db
callq 0x4170
jmp 0x528e
movq 0x3e214(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28c58(%rip), %rdi     # 0x2da26
callq 0x4170
jmp 0x5480
movq 0x3e1f9(%rip), %r15     # 0x42fd8
movq (%r15), %rsi
leaq 0x28c35(%rip), %rdi     # 0x2da1e
callq 0x4170
cmpl $0x0, 0x3e5cb(%rip)     # 0x433c0
je 0x4e0a
movq 0x10(%r14), %rax
cmpl $0x47, (%rax)
je 0x4e0a
movl $0x20, %edi
callq 0x4040
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5654
cmpq $0x0, 0x18(%r14)
je 0x4ead
cmpq $0x0, 0x20(%r14)
je 0x4ead
cmpl $0x1, 0x3e58e(%rip)     # 0x433c0
jg 0x4e5f
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x4e5f
cmpl $0x0, 0x3e577(%rip)     # 0x433c0
jg 0x4e5f
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
ja 0x4e4e
movq (%r15), %rsi
leaq 0x28d49(%rip), %rdi     # 0x2dbb2
callq 0x4170
cmpl $0x0, 0x3e54b(%rip)     # 0x433c0
jg 0x4e81
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
movq 0x20(%r14), %rsi
movl %ebx, %edi
callq 0x5654
cmpq $0x0, 0x28(%r14)
je 0x5498
cmpl $0x1, 0x3e501(%rip)     # 0x433c0
jg 0x4eec
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x4eec
cmpl $0x0, 0x3e4ea(%rip)     # 0x433c0
jg 0x4eec
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
ja 0x4edb
movq (%r15), %rsi
leaq 0x285ec(%rip), %rdi     # 0x2d4e2
callq 0x4170
jmp 0x540b
movq 0x3e0d1(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28ada(%rip), %rdi     # 0x2d9eb
jmp 0x5274
movq 0x3e0bb(%rip), %r15     # 0x42fd8
movq (%r15), %rsi
leaq 0x28a89(%rip), %rdi     # 0x2d9b0
callq 0x4170
cmpl $0x0, 0x3e48d(%rip)     # 0x433c0
jg 0x4f3f
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
jmp 0x4f9b
movq 0x3e079(%rip), %r15     # 0x42fd8
movq (%r15), %rsi
leaq 0x28a47(%rip), %rdi     # 0x2d9b0
callq 0x4170
cmpl $0x0, 0x3e44b(%rip)     # 0x433c0
jg 0x4f81
movl $0x20, %edi
callq 0x4040
movq (%r15), %rsi
leaq 0x28545(%rip), %rdi     # 0x2d4d0
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5588
movq (%r15), %rsi
leaq 0x28531(%rip), %rdi     # 0x2d4d6
callq 0x4170
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
jmp 0x533e
movq 0x3e00b(%rip), %r15     # 0x42fd8
movq (%r15), %rsi
leaq 0x289d9(%rip), %rdi     # 0x2d9b0
callq 0x4170
cmpl $0x0, 0x3e3dd(%rip)     # 0x433c0
jg 0x4fef
movl $0x20, %edi
callq 0x4040
movq (%r15), %rsi
leaq 0x284d7(%rip), %rdi     # 0x2d4d0
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5588
jmp 0x53ad
movq 0x3dfc3(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x289bf(%rip), %rdi     # 0x2d9de
jmp 0x5274
movq 0x3dfad(%rip), %r15     # 0x42fd8
movq (%r15), %rsi
leaq 0x2896a(%rip), %rdi     # 0x2d99f
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5654
cmpl $0x1, 0x3e374(%rip)     # 0x433c0
jg 0x5079
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x5079
cmpl $0x0, 0x3e35d(%rip)     # 0x433c0
jg 0x5079
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
ja 0x5068
movq (%r15), %rsi
leaq 0x28923(%rip), %rdi     # 0x2d9a6
callq 0x4170
cmpl $0x0, 0x3e331(%rip)     # 0x433c0
jg 0x509b
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
jmp 0x5480
movq 0x3df10(%rip), %r12     # 0x42fd8
movq (%r12), %rsi
leaq 0x3198e(%rip), %rdi     # 0x36a61
callq 0x4170
cmpl $0x0, 0x3e2e1(%rip)     # 0x433c0
jg 0x50eb
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
cmpl $0x0, 0x3e2ad(%rip)     # 0x433c0
jg 0x511f
movl $0x20, %edi
callq 0x4040
movl $0x7b, %edi
callq 0x4040
cmpl $0x1, 0x3e290(%rip)     # 0x433c0
jg 0x513c
movl $0xa, %edi
callq 0x4040
movq 0x18(%r14), %r13
testq %r13, %r13
je 0x5223
leal 0x1(%rbx), %r15d
movq 0x10(%r13), %r14
movl (%r14), %eax
cmpl $0x5a, %eax
jne 0x51c2
testl %ebx, %ebx
jle 0x517a
cmpl $0x0, 0x3e25c(%rip)     # 0x433c0
jg 0x517a
movl %r15d, %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
ja 0x5169
movq (%r12), %rsi
leaq 0x284e1(%rip), %rdi     # 0x2d666
callq 0x4170
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x3a, %edi
callq 0x4040
cmpl $0x1, 0x3e218(%rip)     # 0x433c0
jg 0x51b4
movl $0xa, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
callq 0x4bdb
movl (%r14), %eax
cmpl $0x5b, %eax
jne 0x5216
testl %ebx, %ebx
jle 0x51e8
cmpl $0x0, 0x3e1ee(%rip)     # 0x433c0
jg 0x51e8
movl %r15d, %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
ja 0x51d7
movq (%r12), %rsi
leaq 0x28479(%rip), %rdi     # 0x2d66c
callq 0x4170
cmpl $0x1, 0x3e1c1(%rip)     # 0x433c0
jg 0x520b
movl $0xa, %edi
callq 0x4040
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x4bdb
movq 0x18(%r13), %r13
testq %r13, %r13
jne 0x514d
testl %ebx, %ebx
jle 0x5243
cmpl $0x0, 0x3e192(%rip)     # 0x433c0
jg 0x5243
incl %ebx
movl $0x9, %edi
callq 0x4040
decl %ebx
cmpl $0x1, %ebx
ja 0x5232
movl $0x7d, %edi
jmp 0x5485
movq 0x3dd84(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28748(%rip), %rdi     # 0x2d9a6
jmp 0x5422
movq 0x3dd6e(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28781(%rip), %rdi     # 0x2d9f5
callq 0x4170
cmpq $0x0, 0x10(%r14)
je 0x5480
movl $0x20, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
jmp 0x547b
movq 0x3dd36(%rip), %r15     # 0x42fd8
movq (%r15), %rsi
leaq 0x286ec(%rip), %rdi     # 0x2d998
callq 0x4170
cmpl $0x0, 0x3e108(%rip)     # 0x433c0
jg 0x52c4
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
callq 0x5654
cmpq $0x0, 0x20(%r14)
je 0x5498
cmpl $0x1, 0x3e0be(%rip)     # 0x433c0
jg 0x532f
movl $0xa, %edi
callq 0x4040
testl %ebx, %ebx
jle 0x532f
cmpl $0x0, 0x3e0a7(%rip)     # 0x433c0
jg 0x532f
leal 0x1(%rbx), %ebp
movl $0x9, %edi
callq 0x4040
decl %ebp
cmpl $0x1, %ebp
ja 0x531e
movq (%r15), %rsi
leaq 0x28192(%rip), %rdi     # 0x2d4cb
callq 0x4170
movq 0x20(%r14), %rsi
jmp 0x545f
movq 0x3dc8a(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28179(%rip), %rdi     # 0x2d4d1
callq 0x4170
movq 0x10(%r14), %rsi
movl %ebx, %edi
callq 0x5588
jmp 0x5480
movq 0x3dc64(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x28632(%rip), %rdi     # 0x2d9b0
callq 0x4170
cmpl $0x0, 0x3e036(%rip)     # 0x433c0
jg 0x5396
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x3b, %edi
callq 0x4040
cmpl $0x0, 0x3e002(%rip)     # 0x433c0
jg 0x53ca
movl $0x20, %edi
callq 0x4040
movq 0x18(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x3b, %edi
callq 0x4040
cmpl $0x0, 0x3dfd8(%rip)     # 0x433c0
jg 0x53f4
movl $0x20, %edi
callq 0x4040
movq 0x20(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
movq 0x28(%r14), %rsi
jmp 0x545f
movq 0x3dbc0(%rip), %rax     # 0x42fd8
movq (%rax), %rsi
leaq 0x285de(%rip), %rdi     # 0x2da00
callq 0x4170
cmpl $0x0, 0x3df92(%rip)     # 0x433c0
jg 0x543a
movl $0x20, %edi
callq 0x4040
movl $0x28, %edi
callq 0x4040
movq 0x10(%r14), %rdx
movl %ebx, %edi
xorl %esi, %esi
callq 0x56a6
movl $0x29, %edi
callq 0x4040
movq 0x18(%r14), %rsi
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5654
movl %ebx, %edi
xorl %esi, %esi
movq %r14, %rdx
callq 0x56a6
movl $0x3b, %edi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4040
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq