// File: /workspace/github_cpp_makefile_star2_O3/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 0x15d6(%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 0x6e8a
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x135d(%rip), %r12      # 0x8167
leaq 0x1569(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0x1270(%rip), %xmm0     # 0x8090
addsd 0x1230(%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 0x6e11
jmp 0x6ea2
movq 0x415f(%rip), %rdi      # 0xaff0
leaq 0x1525(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x154c(%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 0x6f84
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x1266(%rip), %r12      # 0x8167
leaq 0x1472(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0x1179(%rip), %xmm0     # 0x8090
addsd 0x1139(%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 0x6f08
jmp 0x6f9c
movq 0x4065(%rip), %rdi      # 0xaff0
leaq 0x142b(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x1479(%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 0x707e
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x116c(%rip), %r12      # 0x8167
leaq 0x1378(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0x107f(%rip), %xmm0     # 0x8090
addsd 0x103f(%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 0x7002
jmp 0x7096
movq 0x3f6b(%rip), %rdi      # 0xaff0
leaq 0x1331(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x13a7(%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 0x7178
xorl %ebx, %ebx
leaq -0x2a0(%rbp), %r15
leaq 0x1072(%rip), %r12      # 0x8167
leaq 0x127e(%rip), %r13      # 0x837a
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
divsd 0xf85(%rip), %xmm0      # 0x8090
addsd 0xf45(%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 0x70fc
jmp 0x7190
movq 0x3e71(%rip), %rdi      # 0xaff0
leaq 0x1237(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x12d5(%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 0x72f3
movq -0x38(%rbp), %rax
leaq 0x3ea4(%rax), %rbx
xorl %eax, %eax
leaq 0xf74(%rip), %r13       # 0x8167
leaq 0x1180(%rip), %r15      # 0x837a
movq %rax, -0x40(%rbp)
addl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd 0xe81(%rip), %xmm0      # 0x8090
addsd 0xe41(%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 0xe3d(%rip), %xmm0      # 0x8090
addsd 0xdfd(%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 0xdda(%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 0x721f
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 0x71fa
jmp 0x730b
movq 0x3cf6(%rip), %rdi      # 0xaff0
leaq 0x10bc(%rip), %rsi      # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
leaq 0x1184(%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 0x746e
movq -0x38(%rbp), %rax
leaq 0x3d47a4(%rax), %rbx
xorl %eax, %eax
leaq 0xdf9(%rip), %r15       # 0x8167
leaq 0x1005(%rip), %r12      # 0x837a
movq %rax, -0x40(%rbp)
addl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
divsd 0xd06(%rip), %xmm0      # 0x8090
addsd 0xcc6(%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 0xcc2(%rip), %xmm0      # 0x8090
addsd 0xc82(%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 0xc5f(%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 0x739a
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 0x7375
jmp 0x7486
movq 0x3b7b(%rip), %rdi      # 0xaff0
leaq 0xf41(%rip), %rsi       # 0x83bd
movl $0x43, %edx
callq 0x21f0
leaq -0x2a0(%rbp), %rdi
callq 0x2270
movq 0x3b27(%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 0x74ea
jmp 0x74ea
jmp 0x74ea
jmp 0x74ea
jmp 0x74ea
jmp 0x74ea
jmp 0x74ea
jmp 0x74ea
movq %rax, %rbx
leaq -0x2a0(%rbp), %rdi
callq 0x2290
movq %rbx, %rdi
callq 0x2350
nopl (%rax)