// File: npaster[P]gmsh_tools/gmshMesh.cpp
// Function: gmsh::Gmesh::convertInDiscontinuousMesh1()
void
Gmesh::convertInDiscontinuousMesh1()
{
   const size_t      numberofNewNodes = 2 * _edges.size();
   std::vector<Node> oldNodes(_nodes);

   _nodes.clear();
   _nodes.reserve(numberofNewNodes);
   size_t indexCurrentNode = 1;

   for (size_t i = 0; i < _edges.size(); i++) {
      std::vector<size_t> indexnodes = (_edges.at(i)).getNodes();

      for (size_t j = 0; j < 2; j++) {
         Node tmpNode((oldNodes.at(indexnodes.at(j) - 1)));
         tmpNode.changeIndex(indexCurrentNode);
         (_edges.at(i)).changeNode(j, indexCurrentNode);
         _nodes.push_back(tmpNode);
         indexCurrentNode += 1;
      }
   }

   assert(indexCurrentNode - 1 == numberofNewNodes);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
addq $0x38, %rdi
callq 0xe110
movq -0xa0(%rbp), %rsi
addq %rax, %rax
movq %rax, -0x10(%rbp)
addq $0x8, %rsi
movq %rsi, -0x98(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xde10
movq -0x98(%rbp), %rdi
callq 0xf640
movq -0x98(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xf660
jmp 0xcdc3
movq $0x1, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x48(%rbp), %rax
movq %rax, -0xa8(%rbp)
addq $0x38, %rdi
callq 0xe110
movq %rax, %rcx
movq -0xa8(%rbp), %rax
cmpq %rcx, %rax
jae 0xcf53
movq -0xa0(%rbp), %rdi
addq $0x38, %rdi
movq -0x48(%rbp), %rsi
callq 0xf760
movq %rax, -0xb0(%rbp)
jmp 0xce1e
movq -0xb0(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x29f0
jmp 0xce30
movq $0x0, -0x68(%rbp)
cmpq $0x2, -0x68(%rbp)
jae 0xcf39
movq -0x68(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0xf7e0
movq %rax, -0xb8(%rbp)
jmp 0xce59
movq -0xb8(%rbp), %rax
movq (%rax), %rsi
decq %rsi
leaq -0x28(%rbp), %rdi
callq 0xf7a0
movq %rax, -0xc0(%rbp)
jmp 0xce78
movq -0xc0(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x70(%rbp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movaps %xmm1, -0x80(%rbp)
movaps %xmm0, -0x90(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x90(%rbp), %rdi
callq 0x27e0
jmp 0xceab
movq -0xa0(%rbp), %rdi
addq $0x38, %rdi
movq -0x48(%rbp), %rsi
callq 0xf760
movq %rax, -0xc8(%rbp)
jmp 0xcec8
movq -0xc8(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0x2a50
jmp 0xcede
movq -0xa0(%rbp), %rdi
addq $0x8, %rdi
leaq -0x90(%rbp), %rsi
callq 0xef90
jmp 0xcef7
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x68(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x68(%rbp)
jmp 0xce38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0xcf94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x37c0
jmp 0xcf94
leaq -0x60(%rbp), %rdi
callq 0x37c0
movq -0x48(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0xcdd3
movq -0x40(%rbp), %rax
subq $0x1, %rax
cmpq -0x10(%rbp), %rax
jne 0xcf63
jmp 0xcf82
leaq 0x14e08(%rip), %rdi     # 0x21d72
leaq 0x14914(%rip), %rsi     # 0x21885
movl $0x323, %edx            # imm = 0x323
leaq 0x14e1e(%rip), %rcx     # 0x21d9b
callq 0x2130
leaq -0x28(%rbp), %rdi
callq 0xe1a0
addq $0xd0, %rsp
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0xe1a0
movq -0x30(%rbp), %rdi
callq 0x22e0
nopw %cs:(%rax,%rax)