// File: /workspace/github_cpp_makefile_star2_O1/yukioc[P]tscrpt/t-tscrpt.cpp
// Function: t_rem()
void t_rem(){ /*{{{*/
	bool except;
	tscrpt_t sc;
	obj_t*o;

	//! \test 15 % 5 => 0
	o = sc.eval("15 % 5");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==0);
	delete o;

	//! \test 16 % 6 => 4
	o = sc.eval("16 % 6");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==4);
	delete o;

	//! \test -17 % 7 => -3
	o = sc.eval("-17 % 7");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==-3);
	delete o;
	o=0;

	//! \test 18 % -10 => 8
	o = sc.eval("18 % -10");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==8);
	delete o;
	o=0;

	//! \test 9 % 0 => runtime_error
	except=false;
	try {
		o=sc.eval("9 % 0");
	}catch(std::exception& e){
		except=true;
		mu_assert(typeid(e)==typeid(std::runtime_error));
	}
	mu_assert(except==true);

	//! \test "rrr" % 7 => exception
	o = sc.eval("\"rrr\" % 7");
	mu_assert(o!=NULL);
	mu_assert(o->type=='N');
	mu_assert(o->value()==0);

	//! \test 12 % "rrr" => exception
	except=false;
	try {
		o = sc.eval("12 % \"rrr\"");
	}catch(std::exception& e){
		except=true;
		mu_assert(typeid(e)==typeid(std::runtime_error));
	}
	mu_assert(except==true);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x2778
leaq 0x2039(%rip), %rsi      # 0x77e7
movq %rbx, %rdi
callq 0x27ec
movq %rax, %r14
movq %rax, %rbx
incl 0x49b2(%rip)            # 0xa174
testq %rax, %rax
jne 0x57ee
incl 0x499f(%rip)            # 0xa16c
leaq 0x1bd6(%rip), %rdi      # 0x73aa
leaq 0x1bed(%rip), %rsi      # 0x73c8
leaq 0x1e00(%rip), %rcx      # 0x75e2
movl $0x120, %edx            # imm = 0x120
xorl %eax, %eax
callq 0x2040
incl 0x4980(%rip)            # 0xa174
cmpb $0x4e, (%rbx)
je 0x5820
incl 0x496d(%rip)            # 0xa16c
leaq 0x1ba4(%rip), %rdi      # 0x73aa
leaq 0x1bbb(%rip), %rsi      # 0x73c8
leaq 0x1dd6(%rip), %rcx      # 0x75ea
movl $0x121, %edx            # imm = 0x121
xorl %eax, %eax
callq 0x2040
incl 0x494e(%rip)            # 0xa174
movq %rbx, %rdi
callq 0x261c
testl %eax, %eax
je 0x5859
incl 0x4934(%rip)            # 0xa16c
leaq 0x1b6b(%rip), %rdi      # 0x73aa
leaq 0x1b82(%rip), %rsi      # 0x73c8
leaq 0x1ef5(%rip), %rcx      # 0x7742
movl $0x122, %edx            # imm = 0x122
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5871
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1f69(%rip), %rsi      # 0x77ee
movq %rsp, %rdi
callq 0x27ec
movq %rax, %r14
movq %rax, %rbx
incl 0x48db(%rip)            # 0xa174
testq %rax, %rax
jne 0x58c5
incl 0x48c8(%rip)            # 0xa16c
leaq 0x1aff(%rip), %rdi      # 0x73aa
leaq 0x1b16(%rip), %rsi      # 0x73c8
leaq 0x1d29(%rip), %rcx      # 0x75e2
movl $0x127, %edx            # imm = 0x127
xorl %eax, %eax
callq 0x2040
incl 0x48a9(%rip)            # 0xa174
cmpb $0x4e, (%rbx)
je 0x58f7
incl 0x4896(%rip)            # 0xa16c
leaq 0x1acd(%rip), %rdi      # 0x73aa
leaq 0x1ae4(%rip), %rsi      # 0x73c8
leaq 0x1cff(%rip), %rcx      # 0x75ea
movl $0x128, %edx            # imm = 0x128
xorl %eax, %eax
callq 0x2040
incl 0x4877(%rip)            # 0xa174
movq %rbx, %rdi
callq 0x261c
cmpl $0x4, %eax
je 0x5931
incl 0x485c(%rip)            # 0xa16c
leaq 0x1a93(%rip), %rdi      # 0x73aa
leaq 0x1aaa(%rip), %rsi      # 0x73c8
leaq 0x1ed0(%rip), %rcx      # 0x77f5
movl $0x129, %edx            # imm = 0x129
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5949
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1ea6(%rip), %rsi      # 0x7803
movq %rsp, %rdi
callq 0x27ec
movq %rax, %r14
movq %rax, %rbx
incl 0x4803(%rip)            # 0xa174
testq %rax, %rax
jne 0x599d
incl 0x47f0(%rip)            # 0xa16c
leaq 0x1a27(%rip), %rdi      # 0x73aa
leaq 0x1a3e(%rip), %rsi      # 0x73c8
leaq 0x1c51(%rip), %rcx      # 0x75e2
movl $0x12e, %edx            # imm = 0x12E
xorl %eax, %eax
callq 0x2040
incl 0x47d1(%rip)            # 0xa174
cmpb $0x4e, (%rbx)
je 0x59cf
incl 0x47be(%rip)            # 0xa16c
leaq 0x19f5(%rip), %rdi      # 0x73aa
leaq 0x1a0c(%rip), %rsi      # 0x73c8
leaq 0x1c27(%rip), %rcx      # 0x75ea
movl $0x12f, %edx            # imm = 0x12F
xorl %eax, %eax
callq 0x2040
incl 0x479f(%rip)            # 0xa174
movq %rbx, %rdi
callq 0x261c
cmpl $-0x3, %eax
je 0x5a09
incl 0x4784(%rip)            # 0xa16c
leaq 0x19bb(%rip), %rdi      # 0x73aa
leaq 0x19d2(%rip), %rsi      # 0x73c8
leaq 0x1e0e(%rip), %rcx      # 0x780b
movl $0x130, %edx            # imm = 0x130
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5a21
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1de5(%rip), %rsi      # 0x781a
movq %rsp, %rdi
callq 0x27ec
movq %rax, %r14
movq %rax, %rbx
incl 0x472b(%rip)            # 0xa174
testq %rax, %rax
jne 0x5a75
incl 0x4718(%rip)            # 0xa16c
leaq 0x194f(%rip), %rdi      # 0x73aa
leaq 0x1966(%rip), %rsi      # 0x73c8
leaq 0x1b79(%rip), %rcx      # 0x75e2
movl $0x136, %edx            # imm = 0x136
xorl %eax, %eax
callq 0x2040
incl 0x46f9(%rip)            # 0xa174
cmpb $0x4e, (%rbx)
je 0x5aa7
incl 0x46e6(%rip)            # 0xa16c
leaq 0x191d(%rip), %rdi      # 0x73aa
leaq 0x1934(%rip), %rsi      # 0x73c8
leaq 0x1b4f(%rip), %rcx      # 0x75ea
movl $0x137, %edx            # imm = 0x137
xorl %eax, %eax
callq 0x2040
incl 0x46c7(%rip)            # 0xa174
movq %rbx, %rdi
callq 0x261c
cmpl $0x8, %eax
je 0x5ae1
incl 0x46ac(%rip)            # 0xa16c
leaq 0x18e3(%rip), %rdi      # 0x73aa
leaq 0x18fa(%rip), %rsi      # 0x73c8
leaq 0x1d4e(%rip), %rcx      # 0x7823
movl $0x138, %edx            # imm = 0x138
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5af9
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1d24(%rip), %rsi      # 0x7831
movq %rsp, %rdi
callq 0x27ec
incl 0x4659(%rip)            # 0xa174
incl 0x464b(%rip)            # 0xa16c
leaq 0x1882(%rip), %rdi      # 0x73aa
leaq 0x1899(%rip), %rsi      # 0x73c8
leaq 0x1a8a(%rip), %rcx      # 0x75c0
movl $0x144, %edx            # imm = 0x144
xorl %eax, %eax
callq 0x2040
leaq 0x1cee(%rip), %rsi      # 0x7837
movq %rsp, %rdi
callq 0x27ec
movq %rax, %rbx
incl 0x461a(%rip)            # 0xa174
testq %rax, %rax
jne 0x5b86
incl 0x4607(%rip)            # 0xa16c
leaq 0x183e(%rip), %rdi      # 0x73aa
leaq 0x1855(%rip), %rsi      # 0x73c8
leaq 0x1a68(%rip), %rcx      # 0x75e2
movl $0x148, %edx            # imm = 0x148
xorl %eax, %eax
callq 0x2040
incl 0x45e8(%rip)            # 0xa174
cmpb $0x4e, (%rbx)
je 0x5bb8
incl 0x45d5(%rip)            # 0xa16c
leaq 0x180c(%rip), %rdi      # 0x73aa
leaq 0x1823(%rip), %rsi      # 0x73c8
leaq 0x1a3e(%rip), %rcx      # 0x75ea
movl $0x149, %edx            # imm = 0x149
xorl %eax, %eax
callq 0x2040
incl 0x45b6(%rip)            # 0xa174
movq %rbx, %rdi
callq 0x261c
testl %eax, %eax
je 0x5bf1
incl 0x459c(%rip)            # 0xa16c
leaq 0x17d3(%rip), %rdi      # 0x73aa
leaq 0x17ea(%rip), %rsi      # 0x73c8
leaq 0x1b5d(%rip), %rcx      # 0x7742
movl $0x14a, %edx            # imm = 0x14A
xorl %eax, %eax
callq 0x2040
leaq 0x1c49(%rip), %rsi      # 0x7841
movq %rsp, %rdi
callq 0x27ec
incl 0x456e(%rip)            # 0xa174
incl 0x4560(%rip)            # 0xa16c
leaq 0x1797(%rip), %rdi      # 0x73aa
leaq 0x17ae(%rip), %rsi      # 0x73c8
leaq 0x199f(%rip), %rcx      # 0x75c0
movl $0x154, %edx            # imm = 0x154
xorl %eax, %eax
callq 0x2040
movq %rsp, %rdi
callq 0x2780
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x5c85
movq %rbx, %rdi
movl %edx, %esi
callq 0x24c6
callq 0x2210
incl 0x451a(%rip)            # 0xa174
jmp 0x5c2d
jmp 0x5c82
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x5c85
movq %rbx, %rdi
movl %edx, %esi
callq 0x2468
callq 0x2210
incl 0x44f9(%rip)            # 0xa174
jmp 0x5b42
jmp 0x5c82
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2780
movq %rbx, %rdi
callq 0x2240