// File: /workspace/github_cpp_makefile_star2_O1/WolfgangLechner[P]StructureAnalysis/molecular_system.cpp
// Function: CMolecularSystem::outputBondOrderHistogramms(int)
void CMolecularSystem::outputBondOrderHistogramms(int number)
{
  char IntStr[80];

  double a,b;
  int n;
  a = OrderParameterHistoStart;
  b = OrderParameterHistoStop;
  n = OrderParameterHistoSize;

  ofstream of;
  sprintf( IntStr, "./output/orderparameter/q4Histo.%d.txt", number) ;
  of.open (IntStr, ofstream::out | ofstream::trunc);

  if (of.is_open())
  {
    for (int i = 0;i<n;i++)
    {
      of << get_xFromBox(i,a,b,n) << " "  << this->q4Histo[i]/(double(this->normq4)*(b-a)) << "\n";
    }
  } else {cerr << "unable to open file for output, please mkdir output/orderparameter\n";}
  of.close();

  sprintf( IntStr, "./output/orderparameter/q6Histo.%d.txt", number) ;
  of.open (IntStr, ofstream::out | ofstream::trunc);

  if (of.is_open())
  {
    for (int i = 0;i<n;i++)
    {
      of << get_xFromBox(i,a,b,n) << " "  << this->q6Histo[i]/(double(this->normq6)*(b-a)) << "\n";
    }
  } else {cerr << "unable to open file for output, please mkdir output/orderparameter\n";}
  of.close();


  sprintf( IntStr, "./output/orderparameter/aq4Histo.%d.txt", number) ;
  of.open (IntStr, ofstream::out | ofstream::trunc);

  if (of.is_open())
  {
    for (int i = 0;i<n;i++)
    {
      of << get_xFromBox(i,a,b,n) << " "  << this->aq4Histo[i]/(double(this->normaq4)*(b-a)) << "\n";
    }
  } else {cerr << "unable to open file for output, please mkdir output/orderparameter\n";}
  of.close();

  sprintf( IntStr, "./output/orderparameter/aq6Histo.%d.txt", number) ;
  of.open (IntStr, ofstream::out | ofstream::trunc);

  if (of.is_open())
  {
    for (int i = 0;i<n;i++)
    {
      of << get_xFromBox(i,a,b,n) << " "  << this->aq6Histo[i]/(double(this->normaq6)*(b-a)) << "\n";
    }
  } else {cerr << "unable to open file for output, please mkdir output/orderparameter\n";}
  of.close();

  sprintf( IntStr, "./output/orderparameter/q46Histo3d.%d.txt", number) ;
  of.open (IntStr, ofstream::out | ofstream::trunc);

  if (of.is_open())
  {
    for (int i = 0;i<n;i++)
    {
      for (int j = 0;j<n;j++)
      {
        of << get_xFromBox(i,a,b,n) << " "  << get_xFromBox(j,a,b,n) << " "  <<  this->q46Histo3d[i][j]/(double(this->normaq6)*pow((b-a),2.0)) << "\n";
      }
      of << "\n";
    }

  } else {cerr << "unable to open file for output, please mkdir output/orderparameter\n";}
  of.close();


  sprintf( IntStr, "./output/orderparameter/aq46Histo3d.%d.txt", number) ;
  of.open (IntStr, ofstream::out | ofstream::trunc);

  if (of.is_open())
  {
    for (int i = 0;i<n;i++)
    {
      for (int j = 0;j<n;j++)
      {
        of << get_xFromBox(i,a,b,n) << " "  << get_xFromBox(j,a,b,n) << " "  <<  this->aq46Histo3d[i][j]/(double(this->normaq6)*pow((b-a),2.0)) << "\n";
      }
      of << "\n";
    }

  } else {cerr << "unable to open file for output, please mkdir output/orderparameter\n";}
  of.close();

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x278, %rsp            # imm = 0x278
movl %esi, %ebx
movq %rdi, -0x38(%rbp)
leaq -0x2a0(%rbp), %r14
movq %r14, %rdi
callq 0x2310
leaq 0x1504(%rip), %rsi      # 0x8396
leaq -0xa0(%rbp), %r15
movq %r15, %rdi
movl %ebx, -0x2c(%rbp)
movl %ebx, %edx
xorl %eax, %eax
callq 0x2070
movq %r14, %rdi
movq %r15, %rsi
movl $0x30, %edx
callq 0x2050
leaq -0x230(%rbp), %rdi
callq 0x2090
testb %al, %al
je 0x6f5c
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x128b(%rip), %r12      # 0x8167
leaq 0x1497(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0x119e(%rip), %xmm0     # 0x8090
addsd 0x115e(%rip), %xmm0     # 0x8058
movq %r15, %rdi
callq 0x22e0
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21f0
movq -0x38(%rbp), %rax
xorps %xmm0, %xmm0
cvtsi2sdl 0x24(%rax,%rbx,2), %xmm0
xorps %xmm1, %xmm1
cvtsi2sdl 0x7a50a4(%rax), %xmm1
addsd %xmm1, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
callq 0x22e0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21f0
addq $0x2, %rbx
cmpq $0x7d0, %rbx            # imm = 0x7D0
jne 0x6ee3
jmp 0x6f74
movq 0x408d(%rip), %rdi      # 0xaff0
leaq 0x1453(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x147a(%rip), %rsi      # 0x8401
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movl -0x2c(%rbp), %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2a0(%rbp), %rdi
movq %r14, %rsi
movl $0x30, %edx
callq 0x2050
leaq -0x230(%rbp), %rdi
callq 0x2090
testb %al, %al
je 0x7056
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x1194(%rip), %r12      # 0x8167
leaq 0x13a0(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0x10a7(%rip), %xmm0     # 0x8090
addsd 0x1067(%rip), %xmm0     # 0x8058
movq %r15, %rdi
callq 0x22e0
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21f0
movq -0x38(%rbp), %rax
xorps %xmm0, %xmm0
cvtsi2sdl 0xfc4(%rax,%rbx,2), %xmm0
xorps %xmm1, %xmm1
cvtsi2sdl 0x7a50a8(%rax), %xmm1
addsd %xmm1, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
callq 0x22e0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21f0
addq $0x2, %rbx
cmpq $0x7d0, %rbx            # imm = 0x7D0
jne 0x6fda
jmp 0x706e
movq 0x3f93(%rip), %rdi      # 0xaff0
leaq 0x1359(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x13a7(%rip), %rsi      # 0x8428
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movl -0x2c(%rbp), %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2a0(%rbp), %rdi
movq %r14, %rsi
movl $0x30, %edx
callq 0x2050
leaq -0x230(%rbp), %rdi
callq 0x2090
testb %al, %al
je 0x7150
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x109a(%rip), %r12      # 0x8167
leaq 0x12a6(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0xfad(%rip), %xmm0      # 0x8090
addsd 0xf6d(%rip), %xmm0      # 0x8058
movq %r15, %rdi
callq 0x22e0
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21f0
movq -0x38(%rbp), %rax
xorps %xmm0, %xmm0
cvtsi2sdl 0x1f64(%rax,%rbx,2), %xmm0
xorps %xmm1, %xmm1
cvtsi2sdl 0x7a50ac(%rax), %xmm1
addsd %xmm1, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
callq 0x22e0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21f0
addq $0x2, %rbx
cmpq $0x7d0, %rbx            # imm = 0x7D0
jne 0x70d4
jmp 0x7168
movq 0x3e99(%rip), %rdi      # 0xaff0
leaq 0x125f(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x12d5(%rip), %rsi      # 0x8450
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movl -0x2c(%rbp), %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2a0(%rbp), %rdi
movq %r14, %rsi
movl $0x30, %edx
callq 0x2050
leaq -0x230(%rbp), %rdi
callq 0x2090
testb %al, %al
je 0x724a
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0xfa0(%rip), %r12       # 0x8167
leaq 0x11ac(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0xeb3(%rip), %xmm0      # 0x8090
addsd 0xe73(%rip), %xmm0      # 0x8058
movq %r15, %rdi
callq 0x22e0
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21f0
movq -0x38(%rbp), %rax
xorps %xmm0, %xmm0
cvtsi2sdl 0x2f04(%rax,%rbx,2), %xmm0
xorps %xmm1, %xmm1
cvtsi2sdl 0x7a50b0(%rax), %xmm1
addsd %xmm1, %xmm1
divsd %xmm1, %xmm0
movq %r14, %rdi
callq 0x22e0
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21f0
addq $0x2, %rbx
cmpq $0x7d0, %rbx            # imm = 0x7D0
jne 0x71ce
jmp 0x7262
movq 0x3d9f(%rip), %rdi      # 0xaff0
leaq 0x1165(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x1203(%rip), %rsi      # 0x8478
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movl -0x2c(%rbp), %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2a0(%rbp), %rdi
movq %r14, %rsi
movl $0x30, %edx
callq 0x2050
leaq -0x230(%rbp), %rdi
callq 0x2090
testb %al, %al
je 0x73c5
movq -0x38(%rbp), %rax
leaq 0x3ea4(%rax), %rbx
xorl %eax, %eax
leaq 0xea2(%rip), %r13       # 0x8167
leaq 0x10ae(%rip), %r15      # 0x837a
movq %rax, -0x40(%rbp)
addl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd 0xdaf(%rip), %xmm0      # 0x8090
addsd 0xd6f(%rip), %xmm0      # 0x8058
movsd %xmm0, -0x48(%rbp)
xorl %r12d, %r12d
leaq -0x2a0(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
callq 0x22e0
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21f0
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
divsd 0xd6b(%rip), %xmm0      # 0x8090
addsd 0xd2b(%rip), %xmm0      # 0x8058
movq %r14, %rdi
callq 0x22e0
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x21f0
xorps %xmm0, %xmm0
cvtsi2sdl (%rbx,%r12,2), %xmm0
movq -0x38(%rbp), %rax
xorps %xmm1, %xmm1
cvtsi2sdl 0x7a50b0(%rax), %xmm1
mulsd 0xd08(%rip), %xmm1      # 0x8070
divsd %xmm1, %xmm0
movq %r14, %rdi
callq 0x22e0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
addq $0x2, %r12
cmpq $0x7d0, %r12            # imm = 0x7D0
jne 0x72f1
movl $0x1, %edx
leaq -0x2a0(%rbp), %rdi
movq %r15, %rsi
callq 0x21f0
movq -0x40(%rbp), %rax
incq %rax
addq $0xfa0, %rbx            # imm = 0xFA0
cmpq $0x3e8, %rax            # imm = 0x3E8
jne 0x72cc
jmp 0x73dd
movq 0x3c24(%rip), %rdi      # 0xaff0
leaq 0xfea(%rip), %rsi       # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x10b2(%rip), %rsi      # 0x84a2
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movl -0x2c(%rbp), %edx
xorl %eax, %eax
callq 0x2070
leaq -0x2a0(%rbp), %rdi
movq %r14, %rsi
movl $0x30, %edx
callq 0x2050
leaq -0x230(%rbp), %rdi
callq 0x2090
testb %al, %al
je 0x7540
movq -0x38(%rbp), %rax
leaq 0x3d47a4(%rax), %rbx
xorl %eax, %eax
leaq 0xd27(%rip), %r15       # 0x8167
leaq 0xf33(%rip), %r12       # 0x837a
movq %rax, -0x40(%rbp)
addl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd 0xc34(%rip), %xmm0      # 0x8090
addsd 0xbf4(%rip), %xmm0      # 0x8058
movsd %xmm0, -0x48(%rbp)
xorl %r14d, %r14d
leaq -0x2a0(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
callq 0x22e0
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
divsd 0xbf0(%rip), %xmm0      # 0x8090
addsd 0xbb0(%rip), %xmm0      # 0x8058
movq %r13, %rdi
callq 0x22e0
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x21f0
xorps %xmm0, %xmm0
cvtsi2sdl (%rbx,%r14,2), %xmm0
movq -0x38(%rbp), %rax
xorps %xmm1, %xmm1
cvtsi2sdl 0x7a50b0(%rax), %xmm1
mulsd 0xb8d(%rip), %xmm1      # 0x8070
divsd %xmm1, %xmm0
movq %r13, %rdi
callq 0x22e0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21f0
addq $0x2, %r14
cmpq $0x7d0, %r14            # imm = 0x7D0
jne 0x746c
movl $0x1, %edx
leaq -0x2a0(%rbp), %rdi
movq %r12, %rsi
callq 0x21f0
movq -0x40(%rbp), %rax
incq %rax
addq $0xfa0, %rbx            # imm = 0xFA0
cmpq $0x3e8, %rax            # imm = 0x3E8
jne 0x7447
jmp 0x7558
movq 0x3aa9(%rip), %rdi      # 0xaff0
leaq 0xe6f(%rip), %rsi       # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
movq 0x3a55(%rip), %rax      # 0xafc0
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x298(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x2a0(%rbp,%rcx)
callq 0x2160
leaq -0x1a8(%rbp), %rdi
callq 0x20d0
addq $0x278, %rsp            # imm = 0x278
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x75bc
jmp 0x75bc
jmp 0x75bc
jmp 0x75bc
jmp 0x75bc
jmp 0x75bc
jmp 0x75bc
jmp 0x75bc
movq %rax, %rbx
leaq -0x2a0(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
callq 0x2350
nop