// File: /workspace/github_cpp_makefile_star2_O3/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 0x276a
leaq 0x1ddb(%rip), %rsi      # 0x77e4
movq %rbx, %rdi
callq 0x27e2
movq %rax, %r14
movq %rax, %rbx
movl 0x4757(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x474f(%rip)      # 0xa174
testq %r14, %r14
jne 0x5a57
incl 0x473c(%rip)            # 0xa16c
leaq 0x1970(%rip), %rdi      # 0x73a7
leaq 0x1987(%rip), %rsi      # 0x73c5
leaq 0x1b9a(%rip), %rcx      # 0x75df
movl $0x120, %edx            # imm = 0x120
xorl %eax, %eax
callq 0x2040
movl 0x471d(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4715(%rip)      # 0xa174
cmpb $0x4e, (%rbx)
je 0x5a91
incl 0x4702(%rip)            # 0xa16c
leaq 0x1936(%rip), %rdi      # 0x73a7
leaq 0x194d(%rip), %rsi      # 0x73c5
leaq 0x1b68(%rip), %rcx      # 0x75e7
movl $0x121, %edx            # imm = 0x121
xorl %eax, %eax
callq 0x2040
movl 0x46e3(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x46db(%rip)      # 0xa174
movq %rbx, %rdi
callq 0x260c
testl %eax, %eax
je 0x5acc
incl 0x46c1(%rip)            # 0xa16c
leaq 0x18f5(%rip), %rdi      # 0x73a7
leaq 0x190c(%rip), %rsi      # 0x73c5
leaq 0x1c7f(%rip), %rcx      # 0x773f
movl $0x122, %edx            # imm = 0x122
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5ae4
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1cf3(%rip), %rsi      # 0x77eb
movq %rsp, %rdi
callq 0x27e2
movq %rax, %r14
movq %rax, %rbx
movl 0x4668(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4660(%rip)      # 0xa174
testq %r14, %r14
jne 0x5b46
incl 0x464d(%rip)            # 0xa16c
leaq 0x1881(%rip), %rdi      # 0x73a7
leaq 0x1898(%rip), %rsi      # 0x73c5
leaq 0x1aab(%rip), %rcx      # 0x75df
movl $0x127, %edx            # imm = 0x127
xorl %eax, %eax
callq 0x2040
movl 0x462e(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4626(%rip)      # 0xa174
cmpb $0x4e, (%rbx)
je 0x5b80
incl 0x4613(%rip)            # 0xa16c
leaq 0x1847(%rip), %rdi      # 0x73a7
leaq 0x185e(%rip), %rsi      # 0x73c5
leaq 0x1a79(%rip), %rcx      # 0x75e7
movl $0x128, %edx            # imm = 0x128
xorl %eax, %eax
callq 0x2040
movl 0x45f4(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x45ec(%rip)      # 0xa174
movq %rbx, %rdi
callq 0x260c
cmpl $0x4, %eax
je 0x5bbc
incl 0x45d1(%rip)            # 0xa16c
leaq 0x1805(%rip), %rdi      # 0x73a7
leaq 0x181c(%rip), %rsi      # 0x73c5
leaq 0x1c42(%rip), %rcx      # 0x77f2
movl $0x129, %edx            # imm = 0x129
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5bd4
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1c18(%rip), %rsi      # 0x7800
movq %rsp, %rdi
callq 0x27e2
movq %rax, %r14
movq %rax, %rbx
movl 0x4578(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4570(%rip)      # 0xa174
testq %r14, %r14
jne 0x5c36
incl 0x455d(%rip)            # 0xa16c
leaq 0x1791(%rip), %rdi      # 0x73a7
leaq 0x17a8(%rip), %rsi      # 0x73c5
leaq 0x19bb(%rip), %rcx      # 0x75df
movl $0x12e, %edx            # imm = 0x12E
xorl %eax, %eax
callq 0x2040
movl 0x453e(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4536(%rip)      # 0xa174
cmpb $0x4e, (%rbx)
je 0x5c70
incl 0x4523(%rip)            # 0xa16c
leaq 0x1757(%rip), %rdi      # 0x73a7
leaq 0x176e(%rip), %rsi      # 0x73c5
leaq 0x1989(%rip), %rcx      # 0x75e7
movl $0x12f, %edx            # imm = 0x12F
xorl %eax, %eax
callq 0x2040
movl 0x4504(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x44fc(%rip)      # 0xa174
movq %rbx, %rdi
callq 0x260c
cmpl $-0x3, %eax
je 0x5cac
incl 0x44e1(%rip)            # 0xa16c
leaq 0x1715(%rip), %rdi      # 0x73a7
leaq 0x172c(%rip), %rsi      # 0x73c5
leaq 0x1b68(%rip), %rcx      # 0x7808
movl $0x130, %edx            # imm = 0x130
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5cc4
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1b3f(%rip), %rsi      # 0x7817
movq %rsp, %rdi
callq 0x27e2
movq %rax, %r14
movq %rax, %rbx
movl 0x4488(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4480(%rip)      # 0xa174
testq %r14, %r14
jne 0x5d26
incl 0x446d(%rip)            # 0xa16c
leaq 0x16a1(%rip), %rdi      # 0x73a7
leaq 0x16b8(%rip), %rsi      # 0x73c5
leaq 0x18cb(%rip), %rcx      # 0x75df
movl $0x136, %edx            # imm = 0x136
xorl %eax, %eax
callq 0x2040
movl 0x444e(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4446(%rip)      # 0xa174
cmpb $0x4e, (%rbx)
je 0x5d60
incl 0x4433(%rip)            # 0xa16c
leaq 0x1667(%rip), %rdi      # 0x73a7
leaq 0x167e(%rip), %rsi      # 0x73c5
leaq 0x1899(%rip), %rcx      # 0x75e7
movl $0x137, %edx            # imm = 0x137
xorl %eax, %eax
callq 0x2040
movl 0x4414(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x440c(%rip)      # 0xa174
movq %rbx, %rdi
callq 0x260c
cmpl $0x8, %eax
je 0x5d9c
incl 0x43f1(%rip)            # 0xa16c
leaq 0x1625(%rip), %rdi      # 0x73a7
leaq 0x163c(%rip), %rsi      # 0x73c5
leaq 0x1a90(%rip), %rcx      # 0x7820
movl $0x138, %edx            # imm = 0x138
xorl %eax, %eax
callq 0x2040
movq 0x8(%rbx), %rdi
addq $0x18, %r14
cmpq %r14, %rdi
je 0x5db4
movq (%r14), %rsi
incq %rsi
callq 0x2150
movl $0x30, %esi
movq %rbx, %rdi
callq 0x2150
leaq 0x1a66(%rip), %rsi      # 0x782e
movq %rsp, %rdi
callq 0x27e2
incl 0x439e(%rip)            # 0xa174
incl 0x4390(%rip)            # 0xa16c
leaq 0x15c4(%rip), %rdi      # 0x73a7
leaq 0x15db(%rip), %rsi      # 0x73c5
leaq 0x17cc(%rip), %rcx      # 0x75bd
movl $0x144, %edx            # imm = 0x144
xorl %eax, %eax
callq 0x2040
leaq 0x1a30(%rip), %rsi      # 0x7834
movq %rsp, %rdi
callq 0x27e2
movq %rax, %rbx
movl 0x435f(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x4357(%rip)      # 0xa174
testq %rbx, %rbx
jne 0x5e4f
incl 0x4344(%rip)            # 0xa16c
leaq 0x1578(%rip), %rdi      # 0x73a7
leaq 0x158f(%rip), %rsi      # 0x73c5
leaq 0x17a2(%rip), %rcx      # 0x75df
movl $0x148, %edx            # imm = 0x148
xorl %eax, %eax
callq 0x2040
movl 0x4325(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x431d(%rip)      # 0xa174
cmpb $0x4e, (%rbx)
je 0x5e89
incl 0x430a(%rip)            # 0xa16c
leaq 0x153e(%rip), %rdi      # 0x73a7
leaq 0x1555(%rip), %rsi      # 0x73c5
leaq 0x1770(%rip), %rcx      # 0x75e7
movl $0x149, %edx            # imm = 0x149
xorl %eax, %eax
callq 0x2040
movl 0x42eb(%rip), %eax      # 0xa174
incl %eax
movl %eax, 0x42e3(%rip)      # 0xa174
movq %rbx, %rdi
callq 0x260c
testl %eax, %eax
je 0x5ec4
incl 0x42c9(%rip)            # 0xa16c
leaq 0x14fd(%rip), %rdi      # 0x73a7
leaq 0x1514(%rip), %rsi      # 0x73c5
leaq 0x1887(%rip), %rcx      # 0x773f
movl $0x14a, %edx            # imm = 0x14A
xorl %eax, %eax
callq 0x2040
leaq 0x1973(%rip), %rsi      # 0x783e
movq %rsp, %rdi
callq 0x27e2
incl 0x429b(%rip)            # 0xa174
incl 0x428d(%rip)            # 0xa16c
leaq 0x14c1(%rip), %rdi      # 0x73a7
leaq 0x14d8(%rip), %rsi      # 0x73c5
leaq 0x16c9(%rip), %rcx      # 0x75bd
movl $0x154, %edx            # imm = 0x154
xorl %eax, %eax
callq 0x2040
movq %rsp, %rdi
callq 0x2772
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x5f58
movq %rbx, %rdi
movl %edx, %esi
callq 0x24bb
callq 0x2210
incl 0x4247(%rip)            # 0xa174
jmp 0x5f00
jmp 0x5f55
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x5f58
movq %rbx, %rdi
movl %edx, %esi
callq 0x245d
callq 0x2210
incl 0x4226(%rip)            # 0xa174
jmp 0x5dfd
jmp 0x5f55
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2772
movq %rbx, %rdi
callq 0x2240