// File: /workspace/github_c_makefile_star2_O0/blakemcbride[P]LISP9/ls9.c
// Function: match
int match(cell a, cell b) {
	int	k;

	if (a == b) {
		return 1;
	}
	if (fixp(a) && fixp(b)) {
		return fixval(a) == fixval(b);
	}
	if (charp(a) && charp(b)) {
		return charval(a) == charval(b);
	}
	if (symbolp(a) && symbolp(b)) {
		k = symlen(a);
		if (symlen(b) != k) return 0;
		return memcmp(symname(a), symname(b), k) == 0;
	}
	if (stringp(a) && stringp(b)) {
		k = stringlen(a);
		if (stringlen(b) != k) return 0;
		return memcmp(string(a), string(b), k) == 0;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0x8(%rbp), %eax
cmpl -0xc(%rbp), %eax
jne 0x4142
movl $0x1, -0x4(%rbp)
jmp 0x44e3
cmpl $0x0, -0x8(%rbp)
jl 0x41f0
movq 0x1c1fd(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x41f0
movq 0x1c1d2(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movl $0xfffffff2, %eax       # imm = 0xFFFFFFF2
cmpl (%rcx,%rdx,4), %eax
jne 0x41f0
cmpl $0x0, -0xc(%rbp)
jl 0x41f0
movq 0x1c1c7(%rip), %rax     # 0x20350
movslq -0xc(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x41f0
movq 0x1c1a0(%rip), %rcx     # 0x20340
movslq -0xc(%rbp), %rdx
movl $0xfffffff2, %eax       # imm = 0xFFFFFFF2
cmpl (%rcx,%rdx,4), %eax
jne 0x41f0
movq 0x1c18b(%rip), %rax     # 0x20340
movq 0x1c18c(%rip), %rcx     # 0x20348
movslq -0x8(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %eax
movq 0x1c172(%rip), %rcx     # 0x20340
movq 0x1c173(%rip), %rdx     # 0x20348
movslq -0xc(%rbp), %rsi
movslq (%rdx,%rsi,4), %rdx
cmpl (%rcx,%rdx,4), %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4(%rbp)
jmp 0x44e3
cmpl $0x0, -0x8(%rbp)
jl 0x429e
movq 0x1c14f(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x429e
movq 0x1c124(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movl $0xfffffff4, %eax       # imm = 0xFFFFFFF4
cmpl (%rcx,%rdx,4), %eax
jne 0x429e
cmpl $0x0, -0xc(%rbp)
jl 0x429e
movq 0x1c119(%rip), %rax     # 0x20350
movslq -0xc(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x429e
movq 0x1c0f2(%rip), %rcx     # 0x20340
movslq -0xc(%rbp), %rdx
movl $0xfffffff4, %eax       # imm = 0xFFFFFFF4
cmpl (%rcx,%rdx,4), %eax
jne 0x429e
movq 0x1c0dd(%rip), %rax     # 0x20340
movq 0x1c0de(%rip), %rcx     # 0x20348
movslq -0x8(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %eax
movq 0x1c0c4(%rip), %rcx     # 0x20340
movq 0x1c0c5(%rip), %rdx     # 0x20348
movslq -0xc(%rbp), %rsi
movslq (%rdx,%rsi,4), %rdx
cmpl (%rcx,%rdx,4), %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4(%rbp)
jmp 0x44e3
cmpl $0x0, -0x8(%rbp)
jl 0x43c0
movq 0x1c0a1(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x43c0
movq 0x1c076(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movl $0xffffffee, %eax       # imm = 0xFFFFFFEE
cmpl (%rcx,%rdx,4), %eax
jne 0x43c0
cmpl $0x0, -0xc(%rbp)
jl 0x43c0
movq 0x1c063(%rip), %rax     # 0x20350
movslq -0xc(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x43c0
movq 0x1c038(%rip), %rcx     # 0x20340
movslq -0xc(%rbp), %rdx
movl $0xffffffee, %eax       # imm = 0xFFFFFFEE
cmpl (%rcx,%rdx,4), %eax
jne 0x43c0
movq 0x1c037(%rip), %rax     # 0x20358
movq 0x1c020(%rip), %rcx     # 0x20348
movslq -0x8(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x10(%rbp)
movq 0x1c016(%rip), %rax     # 0x20358
movq 0x1bfff(%rip), %rcx     # 0x20348
movslq -0xc(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
je 0x436a
movl $0x0, -0x4(%rbp)
jmp 0x44e3
movq 0x1bfe7(%rip), %rdi     # 0x20358
movq 0x1bfd0(%rip), %rax     # 0x20348
movslq -0x8(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x2, %rax
addq %rax, %rdi
movq 0x1bfca(%rip), %rsi     # 0x20358
movq 0x1bfb3(%rip), %rax     # 0x20348
movslq -0xc(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x2, %rax
addq %rax, %rsi
movslq -0x10(%rbp), %rdx
callq 0x20f0
cmpl $0x0, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4(%rbp)
jmp 0x44e3
cmpl $0x0, -0x8(%rbp)
jl 0x44dc
movq 0x1bf7f(%rip), %rax     # 0x20350
movslq -0x8(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x44dc
movq 0x1bf54(%rip), %rcx     # 0x20340
movslq -0x8(%rbp), %rdx
movl $0xffffffef, %eax       # imm = 0xFFFFFFEF
cmpl (%rcx,%rdx,4), %eax
jne 0x44dc
cmpl $0x0, -0xc(%rbp)
jl 0x44dc
movq 0x1bf41(%rip), %rax     # 0x20350
movslq -0xc(%rbp), %rcx
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x44dc
movq 0x1bf16(%rip), %rcx     # 0x20340
movslq -0xc(%rbp), %rdx
movl $0xffffffef, %eax       # imm = 0xFFFFFFEF
cmpl (%rcx,%rdx,4), %eax
jne 0x44dc
movq 0x1bf15(%rip), %rax     # 0x20358
movq 0x1befe(%rip), %rcx     # 0x20348
movslq -0x8(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x10(%rbp)
movq 0x1bef4(%rip), %rax     # 0x20358
movq 0x1bedd(%rip), %rcx     # 0x20348
movslq -0xc(%rbp), %rdx
movl (%rcx,%rdx,4), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx,4), %eax
cmpl -0x10(%rbp), %eax
je 0x4489
movl $0x0, -0x4(%rbp)
jmp 0x44e3
movq 0x1bec8(%rip), %rdi     # 0x20358
movq 0x1beb1(%rip), %rax     # 0x20348
movslq -0x8(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x2, %rax
addq %rax, %rdi
movq 0x1beab(%rip), %rsi     # 0x20358
movq 0x1be94(%rip), %rax     # 0x20348
movslq -0xc(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x2, %rax
addq %rax, %rsi
movslq -0x10(%rbp), %rdx
callq 0x20f0
cmpl $0x0, %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4(%rbp)
jmp 0x44e3
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)