// File: /workspace/github_cpp_makefile_star2_O3/syusui-s[P]old_rpn_language/./element.h
// Function: op_num(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
int op_num(std::string op){
	// 二項演算子
	if(op=="+") return 2;
	if(op=="-") return 2;
	if(op=="/") return 2;
	if(op=="*") return 2;
	if(op=="mod") return 2;
	
	// 単項演算子
	if(op=="abs") return 1;
	if(op=="pm") return 1;
	if(op=="1/x" || op=="inv") return 1;

	// 指数関数
	if(op=="pow") return 2;
	if(op=="^2") return 1;
	if(op=="^3") return 1;
	if(op=="sqrt") return 1;
	if(op=="cbrt") return 1;
	
	// 対数関数
	if(op=="lg") return 1;
	if(op=="ln") return 1;
	if(op=="log") return 2;

	// 三角関数
	if(op=="sin") return 1;
	if(op=="cos") return 1;
	if(op=="tan") return 1;
	if(op=="csc") return 1;
	if(op=="sec") return 1;
	if(op=="cot") return 1;
	// if(op=="arcsin") return 1;

	// 
	if(op=="print") return 1;

	return 0;
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x3972(%rip), %rsi      # 0x70f7
callq 0x2080
movl $0x2, %ebp
testl %eax, %eax
je 0x399c
leaq 0x395b(%rip), %rsi      # 0x70f9
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x399c
leaq 0x3948(%rip), %rsi      # 0x70fd
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x399c
leaq 0x392f(%rip), %rsi      # 0x70fb
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x399c
leaq 0x391c(%rip), %rsi      # 0x70ff
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x399c
leaq 0x3909(%rip), %rsi      # 0x7103
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x38f6(%rip), %rsi      # 0x7107
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x38e2(%rip), %rsi      # 0x710a
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x38cf(%rip), %rsi      # 0x710e
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x38bc(%rip), %rsi      # 0x7112
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x399c
leaq 0x38a9(%rip), %rsi      # 0x7116
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x3895(%rip), %rsi      # 0x7119
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x3881(%rip), %rsi      # 0x711c
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x386f(%rip), %rsi      # 0x7121
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x385d(%rip), %rsi      # 0x7126
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x3849(%rip), %rsi      # 0x7129
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x3835(%rip), %rsi      # 0x712c
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x399c
leaq 0x3822(%rip), %rsi      # 0x7130
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x3813(%rip), %rsi      # 0x7134
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x3804(%rip), %rsi      # 0x7138
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x37f5(%rip), %rsi      # 0x713c
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x37e6(%rip), %rsi      # 0x7140
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3997
leaq 0x37d7(%rip), %rsi      # 0x7144
movq %rbx, %rdi
callq 0x2080
movl $0x1, %ebp
testl %eax, %eax
je 0x399c
leaq 0x37c3(%rip), %rsi      # 0x7148
movq %rbx, %rdi
callq 0x2080
xorl %ebp, %ebp
testl %eax, %eax
sete %bpl
jmp 0x399c
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq