// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: expand_syntax_1
cell expand_syntax_1(cell x) {
	cell	y, m, n, a, app;

	if (Error_flag || atom_p(x) || car(x) == S_quote)
		return x;
	if (symbol_p(car(x))) {
		y = lookup(car(x), Environment, 0);
		if (y != NIL && syntax_p(binding_value(y))) {
			save(x);
			app = node(cdr(binding_value(y)), cdr(x));
			unsave(1);
			return xeval(app, 1);
		}
	}
	/*
	 * If DEFINE-SYNTAX is followed by (MACRO-NAME ...)
	 * unbind the MACRO-NAME first to avoid erroneous
	 * expansion.
	 */
	if (	car(x) == S_define_syntax &&
		cdr(x) != NIL &&
		tuple_p(cadr(x))
	) {
		m = lookup(caadr(x), Environment, 0);
		if (m != NIL)
			binding_value(m) = UNDEFINED;
	}
	n = a = NIL;
	save(n);
	while (tuple_p(x)) {
		m = node(expand_syntax_1(car(x)), NIL);
		if (n == NIL) {
			n = m;
			car(Stack) = n;
			a = n;
		}
		else {
			cdr(a) = m;
			a = cdr(a);
		}
		x = cdr(x);
	}
	cdr(a) = x;
	unsave(1);
	return n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movl 0xca22(%rip), %eax      # 0x285c4
cmpl $0x0, %eax
jne 0x1bbf4
cmpq $0x0, -0x10(%rbp)
jl 0x1bbf4
movq 0xca3b(%rip), %rax      # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x1bbf4
movq 0xca24(%rip), %rax      # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x1bbf4
movq 0xc59d(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq 0xcac6(%rip), %rax      # 0x286b8
jne 0x1bc01
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1bfd9
movq 0xc578(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x1bd53
movq 0xc9d2(%rip), %rax      # 0x285f0
movq 0xc55b(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1bd53
movq 0xc53c(%rip), %rax      # 0x28180
movq 0xc535(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x22, (%rax,%rcx,8)
jne 0x1bd53
movq 0xc51b(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xc4a4(%rip), %rsi      # 0x28118
xorl %edx, %edx
callq 0x12a80
movq %rax, -0x18(%rbp)
cmpq $-0x1, -0x18(%rbp)
je 0x1bd51
movq 0xc93f(%rip), %rax      # 0x285d0
movq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x1bd51
movq 0xc949(%rip), %rax      # 0x285f0
movq 0xc922(%rip), %rcx      # 0x285d0
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1bd51
movq 0xc4b3(%rip), %rax      # 0x28180
movq 0xc8fc(%rip), %rcx      # 0x285d0
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x23, (%rax,%rcx,8)
jne 0x1bd51
movq -0x10(%rbp), %rdi
movq 0xc44a(%rip), %rsi      # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0xc43c(%rip)      # 0x28138
movq 0xc8cd(%rip), %rax      # 0x285d0
movq 0xc8c6(%rip), %rcx      # 0x285d0
movq -0x18(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xc8b3(%rip), %rax      # 0x285d0
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x38(%rbp)
movl $0x1, %edi
callq 0x3950
movq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0x1bff0
movq %rax, -0x8(%rbp)
jmp 0x1bfd9
jmp 0x1bd53
movq 0xc426(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq 0xca37(%rip), %rax      # 0x287a0
jne 0x1be88
movq 0xc85a(%rip), %rax      # 0x285d0
movq -0x10(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x1be88
movq 0xc3f4(%rip), %rax      # 0x28180
movq 0xc83d(%rip), %rcx      # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x1be88
movq 0xc843(%rip), %rax      # 0x285f0
movq 0xc3cc(%rip), %rcx      # 0x28180
movq 0xc815(%rip), %rdx      # 0x285d0
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x1be88
movq 0xc812(%rip), %rax      # 0x285f0
movq 0xc39b(%rip), %rcx      # 0x28180
movq 0xc7e4(%rip), %rdx      # 0x285d0
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x1be88
movq 0xc7e1(%rip), %rax      # 0x285f0
movq 0xc36a(%rip), %rcx      # 0x28180
movq 0xc7b3(%rip), %rdx      # 0x285d0
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x1be88
movq 0xc344(%rip), %rax      # 0x28180
movq 0xc33d(%rip), %rcx      # 0x28180
movq 0xc786(%rip), %rdx      # 0x285d0
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xc2b7(%rip), %rsi      # 0x28118
xorl %edx, %edx
callq 0x12a80
movq %rax, -0x20(%rbp)
cmpq $-0x1, -0x20(%rbp)
je 0x1be86
movq 0xc756(%rip), %rax      # 0x285d0
movq -0x20(%rbp), %rcx
movq $-0x5, (%rax,%rcx,8)
jmp 0x1be88
movq $-0x1, -0x30(%rbp)
movq $-0x1, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq 0xc295(%rip), %rsi      # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0xc287(%rip)      # 0x28138
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x39(%rbp)
jl 0x1bf12
movq 0xc72c(%rip), %rax      # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
andl $0x1, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x1bf12
movq 0xc710(%rip), %rax      # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
andl $0x10, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x39(%rbp)
jne 0x1bf12
movq 0xc6f4(%rip), %rax      # 0x285f0
movq -0x10(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
testb $0x1, %al
jne 0x1bf1e
jmp 0x1bfb4
movq 0xc25b(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1bb90
movq %rax, %rdi
movq $-0x1, %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x20(%rbp)
cmpq $-0x1, -0x28(%rbp)
jne 0x1bf76
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdx
movq 0xc21f(%rip), %rax      # 0x28180
movq 0xc1d0(%rip), %rcx      # 0x28138
movq %rdx, (%rax,%rcx,8)
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x1bf9c
movq -0x20(%rbp), %rdx
movq 0xc64f(%rip), %rax      # 0x285d0
movq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0xc640(%rip), %rax      # 0x285d0
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
movq 0xc62d(%rip), %rax      # 0x285d0
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x10(%rbp)
jmp 0x1beb1
movq -0x10(%rbp), %rdx
movq 0xc611(%rip), %rax      # 0x285d0
movq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x1, %edi
callq 0x3950
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)