// File: /workspace/github_cpp_makefile_star2_O1/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 0x38f0(%rip), %rsi      # 0x70f7
callq 0x2080
movl $0x2, %ebp
testl %eax, %eax
je 0x3a1e
leaq 0x38d9(%rip), %rsi      # 0x70f9
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a1e
leaq 0x38c6(%rip), %rsi      # 0x70fd
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a1e
leaq 0x38ad(%rip), %rsi      # 0x70fb
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a1e
leaq 0x389a(%rip), %rsi      # 0x70ff
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a1e
leaq 0x3887(%rip), %rsi      # 0x7103
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3874(%rip), %rsi      # 0x7107
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3860(%rip), %rsi      # 0x710a
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x384d(%rip), %rsi      # 0x710e
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x383a(%rip), %rsi      # 0x7112
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a1e
leaq 0x3827(%rip), %rsi      # 0x7116
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3813(%rip), %rsi      # 0x7119
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x37ff(%rip), %rsi      # 0x711c
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x37ed(%rip), %rsi      # 0x7121
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x37db(%rip), %rsi      # 0x7126
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x37c7(%rip), %rsi      # 0x7129
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x37b3(%rip), %rsi      # 0x712c
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a1e
leaq 0x37a0(%rip), %rsi      # 0x7130
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3791(%rip), %rsi      # 0x7134
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3782(%rip), %rsi      # 0x7138
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3773(%rip), %rsi      # 0x713c
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3764(%rip), %rsi      # 0x7140
movq %rbx, %rdi
callq 0x2080
testl %eax, %eax
je 0x3a19
leaq 0x3755(%rip), %rsi      # 0x7144
movq %rbx, %rdi
callq 0x2080
movl $0x1, %ebp
testl %eax, %eax
je 0x3a1e
leaq 0x3741(%rip), %rsi      # 0x7148
movq %rbx, %rdi
callq 0x2080
xorl %ebp, %ebp
testl %eax, %eax
sete %bpl
jmp 0x3a1e
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq