// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/material.cc
// Function: MATERIAL::PLDvisualize(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void MATERIAL::PLDvisualize(string basefilename, string visformat){

  fstream output;

  // Three data structures storing information about 
  vector<Point> NodesFracCoord;
  vector<int> NodesSegmentIDs;
  vector<double> NodesSize;

  string filename_vis;
  if(visformat == "ZEOVIS") filename_vis = basefilename + ".zpld_segments";
  if(visformat == "VISIT") filename_vis = basefilename + ".vpld_segments";
  if(visformat == "LIVERPOOL") filename_vis = basefilename + ".lpld_segments";
  output.open(filename_vis.data(), fstream::out);

  accessAnalysis.getPLDvisData(&NodesFracCoord, &NodesSegmentIDs, &NodesSize, "INITSEGMAP");
  NEWreportPointsValue(output, &atmnet, &NodesFracCoord, &NodesSegmentIDs, &NodesSize, visformat);

  output.close();

  if(visformat == "ZEOVIS") filename_vis = basefilename + ".zpld_segmentdi";
  if(visformat == "VISIT") filename_vis = basefilename + ".vpld_segmentdi";
  if(visformat == "LIVERPOOL") filename_vis = basefilename + ".lpld_segmentdi";
  output.open(filename_vis.data(), fstream::out);

  accessAnalysis.getPLDvisData(&NodesFracCoord, &NodesSegmentIDs, &NodesSize, "INITSEGDINODE");
  NEWreportPointsValue(output, &atmnet, &NodesFracCoord, &NodesSegmentIDs, &NodesSize, visformat);

  output.close();

  if(visformat == "ZEOVIS") filename_vis = basefilename + ".zpld_segmentpld";
  if(visformat == "VISIT") filename_vis = basefilename + ".vpld_segmentpld";
  if(visformat == "LIVERPOOL") filename_vis = basefilename + ".lpld_segmentpld";
  output.open(filename_vis.data(), fstream::out);

  accessAnalysis.getPLDvisData(&NodesFracCoord, &NodesSegmentIDs, &NodesSize, "PLDNODES");
  NEWreportPointsValue(output, &atmnet, &NodesFracCoord, &NodesSegmentIDs, &NodesSize, visformat);

  output.close();

  if(visformat == "ZEOVIS") filename_vis = basefilename + ".zpld_segmentdf";
  if(visformat == "VISIT") filename_vis = basefilename + ".vpld_segmentdf";
  if(visformat == "LIVERPOOL") filename_vis = basefilename + ".lpld_segmentdf";
  output.open(filename_vis.data(), fstream::out);

  accessAnalysis.getPLDvisData(&NodesFracCoord, &NodesSegmentIDs, &NodesSize, "DFSPHERES");
  NEWreportPointsValue(output, &atmnet, &NodesFracCoord, &NodesSegmentIDs, &NodesSize, visformat);

  output.close();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3a8, %rsp            # imm = 0x3A8
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x198(%rsp), %rdi
callq 0x4520
xorl %eax, %eax
movq %rax, 0x90(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x80(%rsp)
movq %rax, 0x70(%rsp)
movaps %xmm0, 0x60(%rsp)
movq %rax, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
leaq 0x30(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb $0x0, (%rcx)
leaq 0x46c95(%rip), %rsi     # 0x151670
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10aa37
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4cdca(%rip), %rsi     # 0x1577d3
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %r12
movq %r12, %rsi
callq 0x4540
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x10aa37
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x46c69(%rip), %rsi     # 0x1516a7
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10aa9a
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4cd76(%rip), %rsi     # 0x1577e2
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %r12
movq %r12, %rsi
callq 0x4540
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x10aa9a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x46c18(%rip), %rsi     # 0x1516b9
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10aafd
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4cd22(%rip), %rsi     # 0x1577f1
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %r12
movq %r12, %rsi
callq 0x4540
movq (%r12), %rdi
cmpq %r13, %rdi
je 0x10aafd
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
movq 0x20(%rsp), %rsi
leaq 0x198(%rsp), %rdi
movl $0x10, %edx
callq 0x43d0
leaq 0x188(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x4b7a2(%rip), %rsi     # 0x1562c9
leaq 0x4b7a5(%rip), %rdx     # 0x1562d3
leaq 0x178(%rsp), %rdi
callq 0x22538
leaq 0x990(%rbx), %r12
leaq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0x178(%rsp), %r8
movq %r12, %rdi
callq 0x968ce
movq 0x178(%rsp), %rdi
cmpq %r13, %rdi
je 0x10ab81
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x168(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x158(%rsp), %rdi
callq 0xf3ce
leaq 0x1a8(%rsp), %rdi
leaq 0x80(%rsp), %rdx
leaq 0x60(%rsp), %rcx
leaq 0x40(%rsp), %r8
leaq 0x158(%rsp), %r9
movq %rbx, %rsi
callq 0x3ce56
movq 0x158(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10abeb
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x198(%rsp), %rdi
callq 0x4090
leaq 0x46a71(%rip), %rsi     # 0x151670
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10ac5b
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4cbd3(%rip), %rsi     # 0x157800
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10ac5b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x46a45(%rip), %rsi     # 0x1516a7
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10acbe
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4cb80(%rip), %rsi     # 0x157810
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10acbe
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x469f4(%rip), %rsi     # 0x1516b9
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10ad21
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4cb2d(%rip), %rsi     # 0x157820
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10ad21
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
movq 0x20(%rsp), %rsi
leaq 0x198(%rsp), %rdi
movl $0x10, %edx
callq 0x43d0
leaq 0x148(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x4b595(%rip), %rsi     # 0x1562e0
leaq 0x4b59b(%rip), %rdx     # 0x1562ed
leaq 0x138(%rsp), %rdi
callq 0x22538
leaq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0x138(%rsp), %r8
movq %r12, %rdi
callq 0x968ce
movq 0x138(%rsp), %rdi
cmpq %r13, %rdi
je 0x10ad9e
movq 0x148(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x128(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x118(%rsp), %rdi
callq 0xf3ce
leaq 0x80(%rsp), %rdx
leaq 0x60(%rsp), %rcx
leaq 0x40(%rsp), %r8
leaq 0x118(%rsp), %r9
leaq 0x1a8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3ce56
movq 0x118(%rsp), %rdi
cmpq %r13, %rdi
je 0x10ae08
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x198(%rsp), %rdi
callq 0x4090
leaq 0x46854(%rip), %rsi     # 0x151670
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10ae78
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4c9e6(%rip), %rsi     # 0x157830
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10ae78
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x46828(%rip), %rsi     # 0x1516a7
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10aedb
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4c994(%rip), %rsi     # 0x157841
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10aedb
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x467d7(%rip), %rsi     # 0x1516b9
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10af3e
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4c942(%rip), %rsi     # 0x157852
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10af3e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
movq 0x20(%rsp), %rsi
leaq 0x198(%rsp), %rdi
movl $0x10, %edx
callq 0x43d0
leaq 0x108(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x4b386(%rip), %rsi     # 0x1562ee
leaq 0x4b387(%rip), %rdx     # 0x1562f6
leaq 0xf8(%rsp), %rdi
callq 0x22538
leaq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0xf8(%rsp), %r8
movq %r12, %rdi
callq 0x968ce
movq 0xf8(%rsp), %rdi
cmpq %r13, %rdi
je 0x10afbb
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0xe8(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0xd8(%rsp), %rdi
callq 0xf3ce
leaq 0x80(%rsp), %rdx
leaq 0x60(%rsp), %rcx
leaq 0x40(%rsp), %r8
leaq 0xd8(%rsp), %r9
leaq 0x1a8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3ce56
movq 0xd8(%rsp), %rdi
cmpq %r13, %rdi
je 0x10b025
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x198(%rsp), %rdi
callq 0x4090
leaq 0x46637(%rip), %rsi     # 0x151670
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10b095
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4c7fc(%rip), %rsi     # 0x157863
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10b095
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x4660b(%rip), %rsi     # 0x1516a7
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10b0f8
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4c7a9(%rip), %rsi     # 0x157873
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %rbp
movq %rbp, %rsi
callq 0x4540
movq (%rbp), %rdi
cmpq %r13, %rdi
je 0x10b0f8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x465ba(%rip), %rsi     # 0x1516b9
movq %r14, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10b15a
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0xf3ce
leaq 0x4c756(%rip), %rsi     # 0x157883
movq %rsp, %rdi
callq 0x4820
leaq 0x20(%rsp), %rdi
movq %rsp, %r15
movq %r15, %rsi
callq 0x4540
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x10b15a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
movq 0x20(%rsp), %rsi
leaq 0x198(%rsp), %rdi
movl $0x10, %edx
callq 0x43d0
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x4b173(%rip), %rsi     # 0x1562f7
leaq 0x4b175(%rip), %rdx     # 0x156300
leaq 0xb8(%rsp), %rdi
callq 0x22538
leaq 0x80(%rsp), %rsi
leaq 0x60(%rsp), %rdx
leaq 0x40(%rsp), %rcx
leaq 0xb8(%rsp), %r8
movq %r12, %rdi
callq 0x968ce
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x10b1d7
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0xa8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rdi
callq 0xf3ce
leaq 0x80(%rsp), %rdx
leaq 0x60(%rsp), %rcx
leaq 0x40(%rsp), %r8
leaq 0x98(%rsp), %r9
leaq 0x1a8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3ce56
movq 0x98(%rsp), %rdi
cmpq %r15, %rdi
je 0x10b241
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x198(%rsp), %rdi
callq 0x4090
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x10b26a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x4470
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x10b281
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x10b298
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x10b2b5
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x198(%rsp), %rdi
callq 0x4110
addq $0x3a8, %rsp            # imm = 0x3A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x10b31c
jmp 0x10b31c
jmp 0x10b442
jmp 0x10b31c
jmp 0x10b442
jmp 0x10b442
jmp 0x10b31c
jmp 0x10b31c
jmp 0x10b442
jmp 0x10b31c
jmp 0x10b442
jmp 0x10b442
jmp 0x10b31c
jmp 0x10b31c
jmp 0x10b442
jmp 0x10b31c
jmp 0x10b442
jmp 0x10b442
jmp 0x10b31c
jmp 0x10b31c
jmp 0x10b442
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x10b445
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
jmp 0x10b445
jmp 0x10b442
jmp 0x10b442
movq %rax, %rbx
movq 0x98(%rsp), %rdi
cmpq %r15, %rdi
je 0x10b445
movq 0xa8(%rsp), %rsi
jmp 0x10b331
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x10b445
movq 0xc8(%rsp), %rsi
jmp 0x10b331
jmp 0x10b442
movq %rax, %rbx
movq 0xd8(%rsp), %rdi
cmpq %r13, %rdi
je 0x10b445
movq 0xe8(%rsp), %rsi
jmp 0x10b331
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
cmpq %r13, %rdi
je 0x10b445
movq 0x108(%rsp), %rsi
jmp 0x10b331
jmp 0x10b442
movq %rax, %rbx
movq 0x118(%rsp), %rdi
cmpq %r13, %rdi
je 0x10b445
movq 0x128(%rsp), %rsi
jmp 0x10b331
movq %rax, %rbx
movq 0x138(%rsp), %rdi
cmpq %r13, %rdi
je 0x10b445
movq 0x148(%rsp), %rsi
jmp 0x10b331
jmp 0x10b442
movq %rax, %rbx
movq 0x158(%rsp), %rdi
cmpq %rbp, %rdi
je 0x10b445
movq 0x168(%rsp), %rsi
jmp 0x10b331
movq %rax, %rbx
movq 0x178(%rsp), %rdi
cmpq %r13, %rdi
je 0x10b445
movq 0x188(%rsp), %rsi
jmp 0x10b331
jmp 0x10b442
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x10b461
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x4470
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x10b478
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x10b48f
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x10b4ac
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x198(%rsp), %rdi
callq 0x4110
movq %rbx, %rdi
callq 0x4780
nopl (%rax)