// File: /workspace/github_c_makefile_star2_O0/azhai[P]mlite/mlite.c
// Function: pp_gensym
cell pp_gensym(cell x) {
	char	pre[101];
	int	k;

	if (x == NIL) {
		strcpy(pre, "g");
		k = 1;
	}
	else if (string_p(car(x))) {
		memcpy(pre, string(car(x)), 100);
		k = string_len(car(x));
	}
	else if (symbol_p(car(x))) {
		memcpy(pre, symbol_name(car(x)), 100);
		k = symbol_len(car(x));
	}
	else
		return error("gensym: expected str/id, got",
				car(x));
	if (k > 100)
		return error("gensym: prefix too long", car(x));
	pre[100] = 0;
	return gensym(pre);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
cmpq $-0x1, -0x10(%rbp)
jne 0x1a7b5
leaq -0x80(%rbp), %rdi
leaq 0x5f10(%rip), %rsi      # 0x206b1
callq 0x3060
movl $0x1, -0x84(%rbp)
jmp 0x1a95d
movq 0xd9c4(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x1a878
movq 0xde1e(%rip), %rax      # 0x285f0
movq 0xd9a7(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1a878
movq 0xd988(%rip), %rax      # 0x28180
movq 0xd981(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x21, (%rax,%rcx,8)
jne 0x1a878
leaq -0x80(%rbp), %rdi
movq 0xdddf(%rip), %rsi      # 0x285f8
movq 0xddb0(%rip), %rax      # 0x285d0
movq 0xd959(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
shlq $0x3, %rax
addq %rax, %rsi
movl $0x64, %edx
callq 0x3140
movq 0xddad(%rip), %rax      # 0x285f8
movq 0xdd7e(%rip), %rcx      # 0x285d0
movq 0xd927(%rip), %rdx      # 0x28180
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movl %eax, -0x84(%rbp)
jmp 0x1a95b
movq 0xd901(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jl 0x1a938
movq 0xdd5b(%rip), %rax      # 0x285f0
movq 0xd8e4(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movsbl (%rax,%rcx), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1a938
movq 0xd8c5(%rip), %rax      # 0x28180
movq 0xd8be(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq $-0x22, (%rax,%rcx,8)
jne 0x1a938
leaq -0x80(%rbp), %rdi
movq 0xdd1c(%rip), %rsi      # 0x285f8
movq 0xdced(%rip), %rax      # 0x285d0
movq 0xd896(%rip), %rcx      # 0x28180
movq -0x10(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rax
shlq $0x3, %rax
addq %rax, %rsi
movl $0x64, %edx
callq 0x3140
movq 0xdcea(%rip), %rax      # 0x285f8
movq 0xdcbb(%rip), %rcx      # 0x285d0
movq 0xd864(%rip), %rdx      # 0x28180
movq -0x10(%rbp), %rsi
movq (%rdx,%rsi,8), %rdx
movq (%rcx,%rdx,8), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movl %eax, -0x84(%rbp)
jmp 0x1a959
movq 0xd841(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x6730(%rip), %rdi      # 0x2107e
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x1a998
jmp 0x1a95b
jmp 0x1a95d
cmpl $0x64, -0x84(%rbp)
jle 0x1a987
movq 0xd813(%rip), %rax      # 0x28180
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq 0x671f(%rip), %rdi      # 0x2109b
callq 0x34b0
movq %rax, -0x8(%rbp)
jmp 0x1a998
movb $0x0, -0x1c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x104d0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)