// File: syusui-s[P]old_rpn_language/./element.h
// Function: elementarray(std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>)
Element** elementarray(std::list<std::string> input){
	int i;
	std::list<std::string>::iterator it = input.begin();
	Element **elements = new Element*[input.size()];

	for(i=0;i<(int)input.size();i++){
		elements[i] = new Element(*it);

		if(elements[i]->type_is() == "unknown"){
			throw((std::string)"要素 '"+(std::string)*it+(std::string)"' を評価できませんでした");
		}
		it++;
	}

	//std::cout << (elements[0])->data_is() << std::endl;

	return elements;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x110(%rbp)
movq %rdi, -0x8(%rbp)
callq 0x92c0
movq -0x110(%rbp), %rdi
movq %rax, -0x18(%rbp)
callq 0x92f0
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
seto %cl
movq $-0x1, %rax
testb $0x1, %cl
cmovneq %rax, %rdi
callq 0x3030
movq %rax, -0x20(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x110(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, -0x114(%rbp)
callq 0x92f0
movq %rax, %rcx
movl -0x114(%rbp), %eax
cmpl %ecx, %eax
jge 0x5c78
movl $0x40, %edi
callq 0x3230
movq %rax, -0x120(%rbp)
movb $0x1, -0x4d(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x9320
movq %rax, %rsi
leaq -0x40(%rbp), %rdi
callq 0x3100
jmp 0x59e9
movq -0x120(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x5800
jmp 0x59fb
movq -0x120(%rbp), %rdx
movb $0x0, -0x4d(%rbp)
movq -0x20(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
leaq -0x40(%rbp), %rdi
callq 0x3448
movq -0x20(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq -0x70(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x5910
movq -0x130(%rbp), %rdi
leaq 0x4719(%rip), %rsi      # 0xa15e
callq 0x9340
movb %al, -0x121(%rbp)
jmp 0x5a52
leaq -0x70(%rbp), %rdi
callq 0x3448
movb -0x121(%rbp), %al
testb $0x1, %al
jne 0x5a6a
jmp 0x5c58
movb $0x1, -0xfa(%rbp)
movl $0x20, %edi
callq 0x3130
movq %rax, -0x140(%rbp)
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x33c0
movq -0x138(%rbp), %rdx
leaq 0x46ef(%rip), %rsi      # 0xa192
leaq -0xb0(%rbp), %rdi
callq 0x9180
jmp 0x5ab1
leaq -0x18(%rbp), %rdi
callq 0x9320
movq %rax, %rsi
leaq -0xd8(%rbp), %rdi
callq 0x3100
jmp 0x5acb
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0x9370
jmp 0x5ae7
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0x33c0
movq -0x148(%rbp), %rdx
leaq 0x4693(%rip), %rsi      # 0xa19b
leaq -0xf8(%rbp), %rdi
callq 0x9180
jmp 0x5b16
movq -0x140(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xf8(%rbp), %rdx
callq 0x9370
jmp 0x5b32
movq -0x140(%rbp), %rdi
movb $0x0, -0xfa(%rbp)
leaq 0x8241(%rip), %rsi      # 0xdd88
movq 0x846a(%rip), %rdx      # 0xdfb8
callq 0x3390
jmp 0x5c8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5b7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3448
testb $0x1, -0x4d(%rbp)
jne 0x5b83
jmp 0x5b94
movq -0x120(%rbp), %rdi
movl $0x40, %esi
callq 0x3240
jmp 0x5c85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3448
jmp 0x5c85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5c33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5c27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5c1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5c03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x3448
leaq -0xf9(%rbp), %rdi
callq 0x3280
leaq -0x90(%rbp), %rdi
callq 0x3448
leaq -0xd8(%rbp), %rdi
callq 0x3448
leaq -0xb0(%rbp), %rdi
callq 0x3448
leaq -0xb1(%rbp), %rdi
callq 0x3280
testb $0x1, -0xfa(%rbp)
jne 0x5c4a
jmp 0x5c56
movq -0x140(%rbp), %rdi
callq 0x3190
jmp 0x5c85
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x9440
movq %rax, -0x108(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5997
movq -0x20(%rbp), %rax
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x33b0
nop