// File: Silica[P]PSL/./PSL/PSLlib.h
// Function: PSL::variable::PSLlib::Print(PSL::variable&)
static variable Print(variable &v)
	{
		switch (v.type())
		{
		case NIL:		PSL_PRINTF(("nil"));break;
		case INT:		PSL_PRINTF(("%d", static_cast<int>(v)));break;
		case HEX:		PSL_PRINTF(("%X", static_cast<int>(v)));break;
		case FLOAT:		PSL_PRINTF(("%f", static_cast<double>(v)));break;
		case POINTER:	PSL_PRINTF(("[pointer:%s]", v.toString().c_str()));break;
		case RARRAY:	PSL_PRINTF(("[tuple:%d]", static_cast<int>(v.length())));break;
		case THREAD:	PSL_PRINTF(("[thread:%s]", static_cast<bool>(v) ? "alive" : "dead"));break;
		case BCFUNCTION:PSL_PRINTF(("[bind function]"));break;
		case CCMETHOD:	PSL_PRINTF(("[bind method]"));break;
		default:
			PSL_PRINTF(("%s", v.toString().c_str()));
			break;
		}
		return v;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1fe90
movl %eax, %ecx
movq %rcx, -0x38(%rbp)
subl $0xf, %eax
ja 0x1fb3c
movq -0x38(%rbp), %rax
leaq 0x1e696(%rip), %rcx     # 0x3e094
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1ee43(%rip), %rdi     # 0x3e851
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
movq -0x10(%rbp), %rdi
callq 0x1feb0
movl %eax, %esi
leaq 0x1ee5f(%rip), %rdi     # 0x3e88b
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
movq -0x10(%rbp), %rdi
callq 0x1feb0
movl %eax, %esi
leaq 0x1ee44(%rip), %rdi     # 0x3e88e
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
movq -0x10(%rbp), %rdi
callq 0x1fed0
leaq 0x1ed7c(%rip), %rdi     # 0x3e7e2
movb $0x1, %al
callq 0xc050
jmp 0x1fb92
movq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0xcdf0
movq -0x58(%rbp), %rdi
callq 0xce20
movq %rax, -0x50(%rbp)
jmp 0x1fa92
movq -0x50(%rbp), %rsi
leaq 0x1edf4(%rip), %rdi     # 0x3e891
xorl %eax, %eax
callq 0xc050
jmp 0x1faa6
leaq -0x18(%rbp), %rdi
callq 0xc950
jmp 0x1fb92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x18(%rbp), %rdi
callq 0xc950
jmp 0x1fba9
movq -0x10(%rbp), %rdi
callq 0x1d280
movl %eax, %esi
leaq 0x1edbe(%rip), %rdi     # 0x3e89e
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
movq -0x10(%rbp), %rdi
callq 0x1fef0
movb %al, %cl
leaq 0x1edbd(%rip), %rsi     # 0x3e8bb
leaq 0x1edb0(%rip), %rax     # 0x3e8b5
testb $0x1, %cl
cmovneq %rax, %rsi
leaq 0x1ed96(%rip), %rdi     # 0x3e8a9
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
leaq 0x1ed9d(%rip), %rdi     # 0x3e8c0
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
leaq 0x1ed9d(%rip), %rdi     # 0x3e8d0
movb $0x0, %al
callq 0xc050
jmp 0x1fb92
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0xcdf0
movq -0x68(%rbp), %rdi
callq 0xce20
movq %rax, -0x60(%rbp)
jmp 0x1fb5c
movq -0x60(%rbp), %rsi
leaq 0x1eb54(%rip), %rdi     # 0x3e6bb
xorl %eax, %eax
callq 0xc050
jmp 0x1fb70
leaq -0x30(%rbp), %rdi
callq 0xc950
jmp 0x1fb92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xc950
jmp 0x1fba9
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1d4f0
movq -0x40(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0xc280
nopw %cs:(%rax,%rax)
nopl (%rax)