// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: rehash
void rehash(cell e) {
	unsigned int	i;
	cell		p, *v, new;
	unsigned int	h, k = hash_size(length(e));
	char		*s;

	if (Program == NIL || k < HASH_THRESHOLD)
		return;
	set(car(e), new_vec(T_VECTOR, k * sizeof(cell)));
	v = vector(car(e));
	for (i=0; i<k; i++)
		v[i] = NIL;
	p = cdr(e);
	while (p != NIL) {
		s = symbol_name(caar(p));
		h = 0;
		hash(s, h);
		new = node(car(p), v[h%k]);
		v = vector(car(e));
		v[h%k] = new;
		p = cdr(p);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5160
movl %eax, %edi
callq 0x12550
movl %eax, -0x30(%rbp)
cmpq $-0x1, 0x15ae1(%rip)    # 0x28108
je 0x1262f
cmpl $0x5, -0x30(%rbp)
jae 0x12634
jmp 0x127e5
movl -0x30(%rbp), %eax
shlq $0x3, %rax
movl %eax, %esi
movq $-0x24, %rdi
callq 0x4790
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdx
movq 0x15b28(%rip), %rax     # 0x28180
movq -0x8(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x15f91(%rip), %rax     # 0x285f8
movq 0x15f62(%rip), %rcx     # 0x285d0
movq 0x15b0b(%rip), %rdx     # 0x28180
movq -0x8(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x30(%rbp), %eax
jae 0x126b5
movq -0x20(%rbp), %rax
movl -0xc(%rbp), %ecx
movq $-0x1, (%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x12693
movq 0x15f14(%rip), %rax     # 0x285d0
movq -0x8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
cmpq $-0x1, -0x18(%rbp)
je 0x127e5
movq 0x15f1e(%rip), %rax     # 0x285f8
movq 0x15eef(%rip), %rcx     # 0x285d0
movq 0x15a98(%rip), %rdx     # 0x28180
movq 0x15a91(%rip), %rsi     # 0x28180
movq -0x18(%rbp), %rdi
movq (%rsi,%rdi,8), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x38(%rbp), %rax
cmpb $0x0, (%rax)
je 0x12743
movl -0x2c(%rbp), %eax
shll $0x5, %eax
addl -0x2c(%rbp), %eax
movq -0x38(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x38(%rbp)
movsbl (%rcx), %ecx
xorl %ecx, %eax
movl %eax, -0x2c(%rbp)
jmp 0x12718
jmp 0x12745
movq 0x15a34(%rip), %rax     # 0x28180
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
movl -0x2c(%rbp), %eax
xorl %edx, %edx
divl -0x30(%rbp)
movq -0x50(%rbp), %rax
movl %edx, %ecx
movq (%rax,%rcx,8), %rsi
xorl %edx, %edx
callq 0x3780
movq %rax, -0x28(%rbp)
movq 0x15e78(%rip), %rax     # 0x285f8
movq 0x15e49(%rip), %rcx     # 0x285d0
movq 0x159f2(%rip), %rdx     # 0x28180
movq -0x8(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movl -0x2c(%rbp), %eax
xorl %edx, %edx
divl -0x30(%rbp)
movq -0x48(%rbp), %rax
movl %edx, %ecx
movq -0x40(%rbp), %rdx
movl %ecx, %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x15dfc(%rip), %rax     # 0x285d0
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
jmp 0x126c8
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)