// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x10, %rsp
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x246c
leaq 0x22f5(%rip), %rsi      # 0x77e4
movq %rbx, %rdi
callq 0x24ce
movq %rax, %rbx
movl 0x4c94(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4c8c(%rip)      # 0xa194
testq %rbx, %rbx
jne 0x553a
incl 0x4c79(%rip)            # 0xa18c
leaq 0x1e8d(%rip), %rdi      # 0x73a7
leaq 0x1ea4(%rip), %rsi      # 0x73c5
leaq 0x20b7(%rip), %rcx      # 0x75df
movl $0x120, %edx            # imm = 0x120
xorl %eax, %eax
callq 0x2040
movl 0x4c5a(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4c52(%rip)      # 0xa194
cmpb $0x4e, (%rbx)
je 0x5574
incl 0x4c3f(%rip)            # 0xa18c
leaq 0x1e53(%rip), %rdi      # 0x73a7
leaq 0x1e6a(%rip), %rsi      # 0x73c5
leaq 0x2085(%rip), %rcx      # 0x75e7
movl $0x121, %edx            # imm = 0x121
xorl %eax, %eax
callq 0x2040
movl 0x4c20(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4c18(%rip)      # 0xa194
movq %rbx, %rdi
callq 0x23ac
testl %eax, %eax
je 0x55af
incl 0x4bfe(%rip)            # 0xa18c
leaq 0x1e12(%rip), %rdi      # 0x73a7
leaq 0x1e29(%rip), %rsi      # 0x73c5
leaq 0x219c(%rip), %rcx      # 0x773f
movl $0x122, %edx            # imm = 0x122
xorl %eax, %eax
callq 0x2040
movq %rbx, %rdi
addq $0x8, %rdi
callq 0x20e0
pushq $0x30
popq %rsi
movq %rbx, %rdi
callq 0x2160
leaq 0x221e(%rip), %rsi      # 0x77eb
leaq 0x8(%rsp), %rdi
callq 0x24ce
movq %rax, %rbx
movl 0x4bb4(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4bac(%rip)      # 0xa194
testq %rbx, %rbx
jne 0x561a
incl 0x4b99(%rip)            # 0xa18c
leaq 0x1dad(%rip), %rdi      # 0x73a7
leaq 0x1dc4(%rip), %rsi      # 0x73c5
leaq 0x1fd7(%rip), %rcx      # 0x75df
movl $0x127, %edx            # imm = 0x127
xorl %eax, %eax
callq 0x2040
movl 0x4b7a(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4b72(%rip)      # 0xa194
cmpb $0x4e, (%rbx)
je 0x5654
incl 0x4b5f(%rip)            # 0xa18c
leaq 0x1d73(%rip), %rdi      # 0x73a7
leaq 0x1d8a(%rip), %rsi      # 0x73c5
leaq 0x1fa5(%rip), %rcx      # 0x75e7
movl $0x128, %edx            # imm = 0x128
xorl %eax, %eax
callq 0x2040
movl 0x4b40(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4b38(%rip)      # 0xa194
movq %rbx, %rdi
callq 0x23ac
cmpl $0x4, %eax
je 0x5690
incl 0x4b1d(%rip)            # 0xa18c
leaq 0x1d31(%rip), %rdi      # 0x73a7
leaq 0x1d48(%rip), %rsi      # 0x73c5
leaq 0x216e(%rip), %rcx      # 0x77f2
movl $0x129, %edx            # imm = 0x129
xorl %eax, %eax
callq 0x2040
movq %rbx, %rdi
addq $0x8, %rdi
callq 0x20e0
pushq $0x30
popq %rsi
movq %rbx, %rdi
callq 0x2160
leaq 0x2152(%rip), %rsi      # 0x7800
leaq 0x8(%rsp), %rdi
callq 0x24ce
movq %rax, %rbx
movl 0x4ad3(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4acb(%rip)      # 0xa194
testq %rbx, %rbx
jne 0x56fb
incl 0x4ab8(%rip)            # 0xa18c
leaq 0x1ccc(%rip), %rdi      # 0x73a7
leaq 0x1ce3(%rip), %rsi      # 0x73c5
leaq 0x1ef6(%rip), %rcx      # 0x75df
movl $0x12e, %edx            # imm = 0x12E
xorl %eax, %eax
callq 0x2040
movl 0x4a99(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4a91(%rip)      # 0xa194
cmpb $0x4e, (%rbx)
je 0x5735
incl 0x4a7e(%rip)            # 0xa18c
leaq 0x1c92(%rip), %rdi      # 0x73a7
leaq 0x1ca9(%rip), %rsi      # 0x73c5
leaq 0x1ec4(%rip), %rcx      # 0x75e7
movl $0x12f, %edx            # imm = 0x12F
xorl %eax, %eax
callq 0x2040
movl 0x4a5f(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4a57(%rip)      # 0xa194
movq %rbx, %rdi
callq 0x23ac
cmpl $-0x3, %eax
je 0x5771
incl 0x4a3c(%rip)            # 0xa18c
leaq 0x1c50(%rip), %rdi      # 0x73a7
leaq 0x1c67(%rip), %rsi      # 0x73c5
leaq 0x20a3(%rip), %rcx      # 0x7808
movl $0x130, %edx            # imm = 0x130
xorl %eax, %eax
callq 0x2040
movq %rbx, %rdi
addq $0x8, %rdi
callq 0x20e0
pushq $0x30
popq %rsi
movq %rbx, %rdi
callq 0x2160
leaq 0x2088(%rip), %rsi      # 0x7817
leaq 0x8(%rsp), %rdi
callq 0x24ce
movq %rax, %rbx
movl 0x49f2(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x49ea(%rip)      # 0xa194
testq %rbx, %rbx
jne 0x57dc
incl 0x49d7(%rip)            # 0xa18c
leaq 0x1beb(%rip), %rdi      # 0x73a7
leaq 0x1c02(%rip), %rsi      # 0x73c5
leaq 0x1e15(%rip), %rcx      # 0x75df
movl $0x136, %edx            # imm = 0x136
xorl %eax, %eax
callq 0x2040
movl 0x49b8(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x49b0(%rip)      # 0xa194
cmpb $0x4e, (%rbx)
je 0x5816
incl 0x499d(%rip)            # 0xa18c
leaq 0x1bb1(%rip), %rdi      # 0x73a7
leaq 0x1bc8(%rip), %rsi      # 0x73c5
leaq 0x1de3(%rip), %rcx      # 0x75e7
movl $0x137, %edx            # imm = 0x137
xorl %eax, %eax
callq 0x2040
movl 0x497e(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4976(%rip)      # 0xa194
movq %rbx, %rdi
callq 0x23ac
cmpl $0x8, %eax
je 0x5852
incl 0x495b(%rip)            # 0xa18c
leaq 0x1b6f(%rip), %rdi      # 0x73a7
leaq 0x1b86(%rip), %rsi      # 0x73c5
leaq 0x1fda(%rip), %rcx      # 0x7820
movl $0x138, %edx            # imm = 0x138
xorl %eax, %eax
callq 0x2040
movq %rbx, %rdi
addq $0x8, %rdi
callq 0x20e0
pushq $0x30
popq %rsi
movq %rbx, %rdi
callq 0x2160
leaq 0x1fbe(%rip), %rsi      # 0x782e
leaq 0x8(%rsp), %rdi
callq 0x24ce
incl 0x4914(%rip)            # 0xa194
incl 0x4906(%rip)            # 0xa18c
leaq 0x1b1a(%rip), %rdi      # 0x73a7
leaq 0x1b31(%rip), %rsi      # 0x73c5
leaq 0x1d22(%rip), %rcx      # 0x75bd
movl $0x144, %edx            # imm = 0x144
xorl %eax, %eax
callq 0x2040
leaq 0x1f86(%rip), %rsi      # 0x7834
leaq 0x8(%rsp), %rdi
callq 0x24ce
movq %rax, %rbx
movl 0x48d3(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x48cb(%rip)      # 0xa194
testq %rbx, %rbx
jne 0x58fb
incl 0x48b8(%rip)            # 0xa18c
leaq 0x1acc(%rip), %rdi      # 0x73a7
leaq 0x1ae3(%rip), %rsi      # 0x73c5
leaq 0x1cf6(%rip), %rcx      # 0x75df
movl $0x148, %edx            # imm = 0x148
xorl %eax, %eax
callq 0x2040
movl 0x4899(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4891(%rip)      # 0xa194
cmpb $0x4e, (%rbx)
je 0x5935
incl 0x487e(%rip)            # 0xa18c
leaq 0x1a92(%rip), %rdi      # 0x73a7
leaq 0x1aa9(%rip), %rsi      # 0x73c5
leaq 0x1cc4(%rip), %rcx      # 0x75e7
movl $0x149, %edx            # imm = 0x149
xorl %eax, %eax
callq 0x2040
movl 0x485f(%rip), %eax      # 0xa194
incl %eax
movl %eax, 0x4857(%rip)      # 0xa194
movq %rbx, %rdi
callq 0x23ac
testl %eax, %eax
je 0x5970
incl 0x483d(%rip)            # 0xa18c
leaq 0x1a51(%rip), %rdi      # 0x73a7
leaq 0x1a68(%rip), %rsi      # 0x73c5
leaq 0x1ddb(%rip), %rcx      # 0x773f
movl $0x14a, %edx            # imm = 0x14A
xorl %eax, %eax
callq 0x2040
leaq 0x1ec7(%rip), %rsi      # 0x783e
leaq 0x8(%rsp), %rdi
callq 0x24ce
incl 0x480d(%rip)            # 0xa194
incl 0x47ff(%rip)            # 0xa18c
leaq 0x1a13(%rip), %rdi      # 0x73a7
leaq 0x1a2a(%rip), %rsi      # 0x73c5
leaq 0x1c1b(%rip), %rcx      # 0x75bd
movl $0x154, %edx            # imm = 0x154
xorl %eax, %eax
callq 0x2040
leaq 0x8(%rsp), %rdi
callq 0x2472
addq $0x10, %rsp
popq %rbx
retq
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x5a8e
movq %rbx, %rdi
callq 0x20c0
incl 0x47bc(%rip)            # 0xa194
movq (%rax), %rax
movq -0x8(%rax), %rdi
movq 0x4612(%rip), %rsi      # 0x9ff8
callq 0x6980
testb %al, %al
jne 0x5a16
incl 0x4797(%rip)            # 0xa18c
leaq 0x19ab(%rip), %rdi      # 0x73a7
leaq 0x19c2(%rip), %rsi      # 0x73c5
leaq 0x1d9f(%rip), %rcx      # 0x77a9
movl $0x152, %edx            # imm = 0x152
xorl %eax, %eax
callq 0x2040
callq 0x2240
incl 0x4773(%rip)            # 0xa194
jmp 0x59ae
jmp 0x5a8b
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x5a8e
movq %rbx, %rdi
callq 0x20c0
incl 0x4759(%rip)            # 0xa194
movq (%rax), %rax
movq -0x8(%rax), %rdi
movq 0x45af(%rip), %rsi      # 0x9ff8
callq 0x6980
testb %al, %al
jne 0x5a79
incl 0x4734(%rip)            # 0xa18c
leaq 0x1948(%rip), %rdi      # 0x73a7
leaq 0x195f(%rip), %rsi      # 0x73c5
leaq 0x1d3c(%rip), %rcx      # 0x77a9
movl $0x142, %edx            # imm = 0x142
xorl %eax, %eax
callq 0x2040
callq 0x2240
incl 0x4710(%rip)            # 0xa194
jmp 0x58a7
jmp 0x5a8b
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2472
movq %rbx, %rdi
callq 0x2280