// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x2e39(%rip), %rsi      # 0x60f7
callq 0x4f1a
pushq $0x2
popq %rbp
testb %al, %al
jne 0x3371
leaq 0x2e24(%rip), %rsi      # 0x60f9
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x3371
leaq 0x2e11(%rip), %rsi      # 0x60fd
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x3371
leaq 0x2dfc(%rip), %rsi      # 0x60fb
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x3371
leaq 0x2ded(%rip), %rsi      # 0x60ff
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x3371
leaq 0x2dde(%rip), %rsi      # 0x6103
movq %rbx, %rdi
callq 0x4f1a
pushq $0x1
popq %r14
testb %al, %al
jne 0x336e
leaq 0x2dcb(%rip), %rsi      # 0x6107
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2dbb(%rip), %rsi      # 0x610a
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2dac(%rip), %rsi      # 0x610e
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
je 0x3378
movl %r14d, %ebp
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x2d93(%rip), %rsi      # 0x6112
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x3371
leaq 0x2d84(%rip), %rsi      # 0x6116
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2d74(%rip), %rsi      # 0x6119
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2d64(%rip), %rsi      # 0x611c
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2d56(%rip), %rsi      # 0x6121
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2d48(%rip), %rsi      # 0x6126
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2d38(%rip), %rsi      # 0x6129
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2d24(%rip), %rsi      # 0x612c
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x3371
leaq 0x2d11(%rip), %rsi      # 0x6130
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2cfe(%rip), %rsi      # 0x6134
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2ceb(%rip), %rsi      # 0x6138
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2cd8(%rip), %rsi      # 0x613c
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2cc5(%rip), %rsi      # 0x6140
movq %rbx, %rdi
callq 0x4f1a
testb %al, %al
jne 0x336e
leaq 0x2cb2(%rip), %rsi      # 0x6144
movq %rbx, %rdi
callq 0x4f1a
movl %r14d, %ebp
testb %al, %al
jne 0x3371
leaq 0x2c9c(%rip), %rsi      # 0x6148
movq %rbx, %rdi
callq 0x4f1a
movzbl %al, %ebp
jmp 0x3371