// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: sf_letrec
cell sf_letrec(cell x, int *pc) {
	cell	p;

	if (!tuple_p(cdr(x)) || !tuple_p(cddr(x)))
		too_few_args(x);
	for (p = cadr(x); tuple_p(p); p = cdr(p)) {
		if (	!tuple_p(car(p)) ||
			!symbol_p(caar(p)) ||
			!tuple_p(cdar(p))
		)
			return error("letrec: malformed case", car(p));
	}
	if (p != NIL)
		return error("letrec: suntax error", x);
	*pc = 1;
	return make_recursive_fns(cadr(x), cddr(x));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq 0x15429(%rip), %rax     # 0x285d0
movq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x132d0
movq 0x15433(%rip), %rax     # 0x285f0
movq 0x1540c(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x132d0
movq 0x1540d(%rip), %rax     # 0x285f0
movq 0x153e6(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x132d0
movq 0x153e7(%rip), %rax     # 0x285f0
movq 0x153c0(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x132d0
movq 0x153a1(%rip), %rax     # 0x285d0
movq 0x1539a(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x132d0
movq 0x153a0(%rip), %rax     # 0x285f0
movq 0x15379(%rip), %rcx     # 0x285d0
movq 0x15372(%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 0x132d0
movq 0x15373(%rip), %rax     # 0x285f0
movq 0x1534c(%rip), %rcx     # 0x285d0
movq 0x15345(%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 0x132d0
movq 0x15346(%rip), %rax     # 0x285f0
movq 0x1531f(%rip), %rcx     # 0x285d0
movq 0x15318(%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
je 0x132d9
movq -0x10(%rbp), %rdi
callq 0x12c70
movq 0x14ea0(%rip), %rax     # 0x28180
movq 0x152e9(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x20(%rbp)
movb %al, -0x21(%rbp)
jl 0x13358
movq 0x152e6(%rip), %rax     # 0x285f0
movq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
andl $0x1, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x21(%rbp)
jne 0x13358
movq 0x152ca(%rip), %rax     # 0x285f0
movq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
andl $0x10, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x21(%rbp)
jne 0x13358
movq 0x152ae(%rip), %rax     # 0x285f0
movq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x13364
jmp 0x1354d
movq 0x14e15(%rip), %rax     # 0x28180
movq -0x20(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x13512
movq 0x1526f(%rip), %rax     # 0x285f0
movq 0x14df8(%rip), %rcx     # 0x28180
movq -0x20(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x13512
movq 0x15249(%rip), %rax     # 0x285f0
movq 0x14dd2(%rip), %rcx     # 0x28180
movq -0x20(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x13512
movq 0x15223(%rip), %rax     # 0x285f0
movq 0x14dac(%rip), %rcx     # 0x28180
movq -0x20(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x13512
movq 0x14d8d(%rip), %rax     # 0x28180
movq 0x14d86(%rip), %rcx     # 0x28180
movq -0x20(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x13512
movq 0x151dc(%rip), %rax     # 0x285f0
movq 0x14d65(%rip), %rcx     # 0x28180
movq 0x14d5e(%rip), %rdx     # 0x28180
movq -0x20(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x13512
movq 0x14d3b(%rip), %rax     # 0x28180
movq 0x14d34(%rip), %rcx     # 0x28180
movq 0x14d2d(%rip), %rdx     # 0x28180
movq -0x20(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x22, (%rax,%rcx,8)
jne 0x13512
movq 0x1515f(%rip), %rax     # 0x285d0
movq 0x14d08(%rip), %rcx     # 0x28180
movq -0x20(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x13512
movq 0x1515e(%rip), %rax     # 0x285f0
movq 0x15137(%rip), %rcx     # 0x285d0
movq 0x14ce0(%rip), %rdx     # 0x28180
movq -0x20(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x13512
movq 0x15131(%rip), %rax     # 0x285f0
movq 0x1510a(%rip), %rcx     # 0x285d0
movq 0x14cb3(%rip), %rdx     # 0x28180
movq -0x20(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x13512
movq 0x15104(%rip), %rax     # 0x285f0
movq 0x150dd(%rip), %rcx     # 0x285d0
movq 0x14c86(%rip), %rdx     # 0x28180
movq -0x20(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x13533
movq 0x14c67(%rip), %rax     # 0x28180
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0xd627(%rip), %rdi      # 0x20b4f
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x135b1
jmp 0x13535
movq 0x15094(%rip), %rax     # 0x285d0
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
jmp 0x132f7
cmpq $-0x1, -0x20(%rbp)
je 0x1356a
movq -0x10(%rbp), %rsi
leaq 0xd607(%rip), %rdi      # 0x20b66
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x135b1
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movq 0x14c05(%rip), %rax     # 0x28180
movq 0x1504e(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdi
movq 0x1503b(%rip), %rax     # 0x285d0
movq 0x15034(%rip), %rcx     # 0x285d0
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x12ef0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)