// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: sf_fn
cell sf_fn(cell x) {
	cell	n, a, cas, new;

	if (cdr(x) == NIL)
		return too_few_args(x);
	a = node(NIL, NIL);
	save(a);
	for (x = cdr(x); x != NIL; x = cdr(x)) {
		cas = car(x);
		if (!tuple_p(cas) || cdr(cas) == NIL)
			return error("fn: malformed case", cas);
		if (cddr(cas) != NIL) {
			n = node(S_begin, cdr(cas));
			n = node(n, NIL);
			n = node(car(cas), n);
			cas = n;
		}
		car(a) = cas;
		if (cdr(x) != NIL) {
			set(cdr(a), node(NIL, NIL));
			a = cdr(a);
		}
	}
	n = node(car(Stack), car(Stack));
	n = node(Environment, n);
	unsave(1);
	return new_atom(T_FUNCTION, n);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq 0x14ffd(%rip), %rax     # 0x285d0
movq -0x10(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0x135f0
movq -0x10(%rbp), %rdi
callq 0x12c70
movq %rax, -0x8(%rbp)
jmp 0x13822
movq $-0x1, %rsi
xorl %edx, %edx
movq %rsi, %rdi
callq 0x3780
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq 0x14b28(%rip), %rsi     # 0x28138
xorl %edx, %edx
callq 0x3780
movq %rax, 0x14b1a(%rip)     # 0x28138
movq 0x14fab(%rip), %rax     # 0x285d0
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x10(%rbp)
cmpq $-0x1, -0x10(%rbp)
je 0x137ba
movq 0x14b3d(%rip), %rax     # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jl 0x136ad
movq 0x14f93(%rip), %rax     # 0x285f0
movq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x136ad
movq 0x14f7c(%rip), %rax     # 0x285f0
movq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x136ad
movq 0x14f65(%rip), %rax     # 0x285f0
movq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x136ad
movq 0x14f2e(%rip), %rax     # 0x285d0
movq -0x28(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
jne 0x136c6
movq -0x28(%rbp), %rsi
leaq 0xd4c3(%rip), %rdi      # 0x20b7b
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x13822
movq 0x14f03(%rip), %rax     # 0x285d0
movq 0x14efc(%rip), %rcx     # 0x285d0
movq -0x28(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x13740
movq 0x1507e(%rip), %rdi     # 0x28768
movq 0x14edf(%rip), %rax     # 0x285d0
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq $-0x1, %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x18(%rbp)
movq 0x14a5f(%rip), %rax     # 0x28180
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x18(%rbp), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdx
movq 0x14a35(%rip), %rax     # 0x28180
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x14e76(%rip), %rax     # 0x285d0
movq -0x10(%rbp), %rcx
cmpq $-0x1, (%rax,%rcx,8)
je 0x137a0
movq $-0x1, %rsi
xorl %edx, %edx
movq %rsi, %rdi
callq 0x3780
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdx
movq 0x14e4b(%rip), %rax     # 0x285d0
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x14e3c(%rip), %rax     # 0x285d0
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
jmp 0x137a2
movq 0x14e27(%rip), %rax     # 0x285d0
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x10(%rbp)
jmp 0x13631
movq 0x149bf(%rip), %rax     # 0x28180
movq 0x14970(%rip), %rcx     # 0x28138
movq (%rax,%rcx,8), %rdi
movq 0x149ad(%rip), %rax     # 0x28180
movq 0x1495e(%rip), %rcx     # 0x28138
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x18(%rbp)
movq 0x14928(%rip), %rdi     # 0x28118
movq -0x18(%rbp), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x18(%rbp)
movl $0x1, %edi
callq 0x3950
movq -0x18(%rbp), %rsi
movq $-0x1e, %rdi
movl $0x1, %edx
callq 0x3780
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)