// File: yukioc[P]tscrpt/t-tscrpt.cpp
// Function: t_unaryop()
void t_unaryop(){/*{{{*/
	tscrpt_t sc;
	obj_t*o;
	//! \test + 2 => 2
	o = sc.eval("+ 2");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==2);
	delete o;

	//! \test +2 => 2
	o = sc.eval("+2");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==2);
	delete o;

	//! \test - 2 => -2
	o = sc.eval("-2");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==-2);
	delete o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x25b0
movq -0x30(%rbp), %rdi
leaq 0x423f(%rip), %rsi      # 0xa7ef
callq 0x2670
movq %rax, -0x28(%rbp)
jmp 0x65bb
movq -0x28(%rbp), %rax
movq %rax, -0x10(%rbp)
movl 0x7c33(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7c2a(%rip)      # 0xe1fc
cmpq $0x0, -0x10(%rbp)
jne 0x6626
movl 0x7c15(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7c0d(%rip)      # 0xe1f4
leaq 0x3eee(%rip), %rdi      # 0xa4dc
leaq 0x3f05(%rip), %rsi      # 0xa4fa
leaq 0x4118(%rip), %rcx      # 0xa714
xorl %eax, %eax
movl $0xa1, %edx
callq 0x2040
jmp 0x660a
jmp 0x6626
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x8(%rbp), %rdi
callq 0x25d0
jmp 0x6991
jmp 0x6628
jmp 0x662a
jmp 0x662c
movl 0x7bca(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7bc1(%rip)      # 0xe1fc
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x4e, %eax
je 0x667a
movl 0x7ba7(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7b9f(%rip)      # 0xe1f4
leaq 0x3e80(%rip), %rdi      # 0xa4dc
leaq 0x3e97(%rip), %rsi      # 0xa4fa
leaq 0x40b2(%rip), %rcx      # 0xa71c
xorl %eax, %eax
movl $0xa2, %edx
callq 0x2040
jmp 0x6678
jmp 0x667a
jmp 0x667c
jmp 0x667e
jmp 0x6680
movl 0x7b76(%rip), %eax      # 0xe1fc
incl %eax
movl %eax, 0x7b6e(%rip)      # 0xe1fc
movq -0x10(%rbp), %rdi
callq 0x2480
movl %eax, -0x34(%rbp)
jmp 0x669c
movl -0x34(%rbp), %eax
cmpl $0x2, %eax
je 0x66d7
movl 0x7b4a(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7b42(%rip)      # 0xe1f4
leaq 0x3e23(%rip), %rdi      # 0xa4dc
leaq 0x3e3a(%rip), %rsi      # 0xa4fa
leaq 0x412c(%rip), %rcx      # 0xa7f3
xorl %eax, %eax
movl $0xa3, %edx
callq 0x2040
jmp 0x66d5
jmp 0x66d7
jmp 0x66d9
jmp 0x66db
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0x6700
movq -0x40(%rbp), %rdi
callq 0x4480
movq -0x40(%rbp), %rdi
movl $0x30, %esi
callq 0x21d0
leaq 0x40fa(%rip), %rsi      # 0xa801
leaq -0x8(%rbp), %rdi
callq 0x2670
movq %rax, -0x48(%rbp)
jmp 0x6716
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movl 0x7ad8(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7acf(%rip)      # 0xe1fc
cmpq $0x0, -0x10(%rbp)
jne 0x6767
movl 0x7aba(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7ab2(%rip)      # 0xe1f4
leaq 0x3d93(%rip), %rdi      # 0xa4dc
leaq 0x3daa(%rip), %rsi      # 0xa4fa
leaq 0x3fbd(%rip), %rcx      # 0xa714
xorl %eax, %eax
movl $0xa8, %edx
callq 0x2040
jmp 0x6765
jmp 0x6767
jmp 0x6769
jmp 0x676b
jmp 0x676d
movl 0x7a89(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x7a80(%rip)      # 0xe1fc
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x4e, %eax
je 0x67bb
movl 0x7a66(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7a5e(%rip)      # 0xe1f4
leaq 0x3d3f(%rip), %rdi      # 0xa4dc
leaq 0x3d56(%rip), %rsi      # 0xa4fa
leaq 0x3f71(%rip), %rcx      # 0xa71c
xorl %eax, %eax
movl $0xa9, %edx
callq 0x2040
jmp 0x67b9
jmp 0x67bb
jmp 0x67bd
jmp 0x67bf
jmp 0x67c1
movl 0x7a35(%rip), %eax      # 0xe1fc
incl %eax
movl %eax, 0x7a2d(%rip)      # 0xe1fc
movq -0x10(%rbp), %rdi
callq 0x2480
movl %eax, -0x4c(%rbp)
jmp 0x67dd
movl -0x4c(%rbp), %eax
cmpl $0x2, %eax
je 0x6818
movl 0x7a09(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7a01(%rip)      # 0xe1f4
leaq 0x3ce2(%rip), %rdi      # 0xa4dc
leaq 0x3cf9(%rip), %rsi      # 0xa4fa
leaq 0x3feb(%rip), %rcx      # 0xa7f3
xorl %eax, %eax
movl $0xaa, %edx
callq 0x2040
jmp 0x6816
jmp 0x6818
jmp 0x681a
jmp 0x681c
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x6841
movq -0x58(%rbp), %rdi
callq 0x4480
movq -0x58(%rbp), %rdi
movl $0x30, %esi
callq 0x21d0
leaq 0x3fc8(%rip), %rsi      # 0xa810
leaq -0x8(%rbp), %rdi
callq 0x2670
movq %rax, -0x60(%rbp)
jmp 0x6857
movq -0x60(%rbp), %rax
movq %rax, -0x10(%rbp)
movl 0x7997(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x798e(%rip)      # 0xe1fc
cmpq $0x0, -0x10(%rbp)
jne 0x68a8
movl 0x7979(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x7971(%rip)      # 0xe1f4
leaq 0x3c52(%rip), %rdi      # 0xa4dc
leaq 0x3c69(%rip), %rsi      # 0xa4fa
leaq 0x3e7c(%rip), %rcx      # 0xa714
xorl %eax, %eax
movl $0xaf, %edx
callq 0x2040
jmp 0x68a6
jmp 0x68a8
jmp 0x68aa
jmp 0x68ac
jmp 0x68ae
movl 0x7948(%rip), %eax      # 0xe1fc
addl $0x1, %eax
movl %eax, 0x793f(%rip)      # 0xe1fc
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x4e, %eax
je 0x68fc
movl 0x7925(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x791d(%rip)      # 0xe1f4
leaq 0x3bfe(%rip), %rdi      # 0xa4dc
leaq 0x3c15(%rip), %rsi      # 0xa4fa
leaq 0x3e30(%rip), %rcx      # 0xa71c
xorl %eax, %eax
movl $0xb0, %edx
callq 0x2040
jmp 0x68fa
jmp 0x68fc
jmp 0x68fe
jmp 0x6900
jmp 0x6902
movl 0x78f4(%rip), %eax      # 0xe1fc
incl %eax
movl %eax, 0x78ec(%rip)      # 0xe1fc
movq -0x10(%rbp), %rdi
callq 0x2480
movl %eax, -0x64(%rbp)
jmp 0x691e
movl -0x64(%rbp), %eax
cmpl $-0x2, %eax
je 0x6959
movl 0x78c8(%rip), %eax      # 0xe1f4
incl %eax
movl %eax, 0x78c0(%rip)      # 0xe1f4
leaq 0x3ba1(%rip), %rdi      # 0xa4dc
leaq 0x3bb8(%rip), %rsi      # 0xa4fa
leaq 0x3ebb(%rip), %rcx      # 0xa804
xorl %eax, %eax
movl $0xb1, %edx
callq 0x2040
jmp 0x6957
jmp 0x6959
jmp 0x695b
jmp 0x695d
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x6982
movq -0x70(%rbp), %rdi
callq 0x4480
movq -0x70(%rbp), %rdi
movl $0x30, %esi
callq 0x21d0
leaq -0x8(%rbp), %rdi
callq 0x25d0
addq $0x70, %rsp
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x2330
nopw (%rax,%rax)