// File: miniplane[P]mintree/./BpTree.h
// Function: BpTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 2ul>::Node::merge_nodes(BpTree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 2ul>::Node*, unsigned long)
void merge_nodes(Node* other, size_t pos_in_parent) { // always called from previous

			push_right(parent->keys[pos_in_parent]);

			size_t i;
			for (i = 0; i < other->elements; i++) {
				children[elements] = other->children[i];
				children[elements]->parent = this;
				push_right(other->keys[i]); // all values from next() are appended to this
			}

			children[elements] = other->children[i];
			children[elements]->parent = this;

			// parent is in inconsistent state here

			for (size_t i = pos_in_parent; i < parent->elements-1; i++) {// moves children from parent node
				parent->keys[i] = parent->keys[i+1];
				parent->children[i+1] = parent->children[i+2];
			}

			parent->elements--;
			other->elements = -1;
			delete other;
			parent->after_removal_from_inner();
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0xa0(%rbp)
movq %rsi, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
callq 0x31d0
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x88(%rbp)
movq (%rax), %rax
movq -0x18(%rbp), %rcx
shlq $0x5, %rcx
leaq 0x38(%rax,%rcx), %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3100
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x6990
jmp 0x71c0
leaq -0x38(%rbp), %rdi
callq 0x3180
movq $0x0, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0xb8(%rcx), %rax
jae 0x7299
movq -0x88(%rbp), %rcx
movq -0x10(%rbp), %rax
movq -0x50(%rbp), %rdx
movq 0x8(%rax,%rdx,8), %rdx
movq 0xb8(%rcx), %rax
movq %rdx, 0x8(%rcx,%rax,8)
movq 0xb8(%rcx), %rax
movq 0x8(%rcx,%rax,8), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq -0x50(%rbp), %rcx
shlq $0x5, %rcx
leaq 0x38(%rax,%rcx), %rsi
leaq -0x70(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x3100
movq -0x88(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x6990
jmp 0x724b
leaq -0x70(%rbp), %rdi
callq 0x3180
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
jmp 0x71d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x3180
jmp 0x73c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3180
jmp 0x73c0
movq -0x88(%rbp), %rcx
movq -0x10(%rbp), %rax
movq -0x50(%rbp), %rdx
movq 0x8(%rax,%rdx,8), %rdx
movq 0xb8(%rcx), %rax
movq %rdx, 0x8(%rcx,%rax,8)
movq 0xb8(%rcx), %rax
movq 0x8(%rcx,%rax,8), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x88(%rbp), %rcx
movq -0x78(%rbp), %rax
movq (%rcx), %rcx
movq 0xb8(%rcx), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x734f
movq -0x88(%rbp), %rax
movq (%rax), %rsi
addq $0x38, %rsi
movq -0x78(%rbp), %rcx
addq $0x1, %rcx
shlq $0x5, %rcx
addq %rcx, %rsi
movq (%rax), %rdi
addq $0x38, %rdi
movq -0x78(%rbp), %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x3040
movq -0x88(%rbp), %rax
movq (%rax), %rcx
movq -0x78(%rbp), %rdx
movq 0x18(%rcx,%rdx,8), %rdx
movq (%rax), %rax
movq -0x78(%rbp), %rcx
movq %rdx, 0x10(%rax,%rcx,8)
movq -0x78(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x78(%rbp)
jmp 0x72d0
movq -0x88(%rbp), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0xb8(%rax)
movq -0x10(%rbp), %rax
movq $-0x1, 0xb8(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
cmpq $0x0, %rax
je 0x73a8
movq -0xb0(%rbp), %rdi
callq 0x56e0
movq -0xb0(%rbp), %rdi
movl $0xc8, %esi
callq 0x3270
movq -0x88(%rbp), %rax
movq (%rax), %rdi
callq 0x6d00
addq $0xb0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x33d0
nopl (%rax)