// File: /workspace/github_cpp_makefile_star2_O3/syusui-s[P]old_rpn_language/./element.h
// Function: calc_elements(Element**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Element* calc_elements(Element** elementarray, std::string op){
	Element* rtn;
	if(op=="+") rtn = op_plus(elementarray[0],elementarray[1]);
	else if(op=="-") rtn = op_minus(elementarray[0],elementarray[1]);
	else if(op=="*") rtn = op_multiply(elementarray[0],elementarray[1]);
	else if(op=="/") rtn = op_divide(elementarray[0],elementarray[1]);
	else if(op=="mod") rtn = op_modulo(elementarray[0],elementarray[1]);
	else if(op=="abs") rtn = fn_absolute(elementarray[0]);
	else if(op=="pm") rtn = fn_pm(elementarray[0]);
	else if(op=="1/x" || op=="inv") rtn = fn_inverse(elementarray[0]);
	else if(op=="pow") rtn = fn_pow(elementarray[0],elementarray[1]);
	else if(op=="^2") rtn = fn_square(elementarray[0]);
	else if(op=="^3") rtn = fn_cube(elementarray[0]);
	else if(op=="sqrt") rtn = fn_sqrt(elementarray[0]);
	else if(op=="cbrt") rtn = fn_cbrt(elementarray[0]);
	else if(op=="print") rtn = fn_print(elementarray[0]);
	else throw((std::string)"この演算子、もしくは関数はまだ定義されていません。");

	return rtn;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x1df4(%rip), %rsi      # 0x70f7
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x5464
leaq 0x1ddf(%rip), %rsi      # 0x70f9
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x5477
leaq 0x1dca(%rip), %rsi      # 0x70fb
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x548a
leaq 0x1db5(%rip), %rsi      # 0x70fd
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x549d
leaq 0x1da0(%rip), %rsi      # 0x70ff
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x54b0
leaq 0x1d8d(%rip), %rsi      # 0x7103
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x54c3
leaq 0x1d7a(%rip), %rsi      # 0x7107
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x54e1
leaq 0x1d66(%rip), %rsi      # 0x710a
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x54d2
leaq 0x1d53(%rip), %rsi      # 0x710e
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x54d2
leaq 0x1d40(%rip), %rsi      # 0x7112
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x54f0
leaq 0x1d2d(%rip), %rsi      # 0x7116
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x5503
leaq 0x1d19(%rip), %rsi      # 0x7119
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x5512
leaq 0x1d05(%rip), %rsi      # 0x711c
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x5521
leaq 0x1cf3(%rip), %rsi      # 0x7121
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
je 0x5530
leaq 0x1d03(%rip), %rsi      # 0x7148
movq %r14, %rdi
callq 0x2080
testl %eax, %eax
jne 0x553f
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x51b7
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x39a5
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x3d09
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x406d
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x43d2
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x451f
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x486a
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x4c5c
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x4a6c
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x4d37
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x4e7b
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x4f52
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x502f
movq (%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x5116
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
addq $0x10, %rax
movq %rax, (%rbx)
leaq 0x1c96(%rip), %rsi      # 0x71f0
leaq 0x1cda(%rip), %rdx      # 0x723b
movq %rbx, %rdi
callq 0x610e
leaq 0x4818(%rip), %rsi      # 0x9d88
movq 0x4a41(%rip), %rdx      # 0x9fb8
movq %rbx, %rdi
callq 0x2280
movq %rax, %r14
movq %rbx, %rdi
callq 0x2110
movq %r14, %rdi
callq 0x22b0