// File: /workspace/github_cpp_makefile_star2_O1/Cell-veto[P]postlhc/./storage.hpp
// Function: Storage<Monodisperse2D>::dump_statistics(std::ostream&)
void dump_statistics (std::ostream &os) override
    {
        os << "fillfrac " << fdivide (num_, num_cells_) << "\n";

        // cell occupation histogram
        size_t max_occup = cell_count (DIM);
        std::vector <size_t> occ_hist (max_occup + 1, 0);
        for (size_t k = 0; k != num_cells_; k += max_occup)
        {
            size_t c = 0;
            for (size_t j = 0; j != max_occup; ++j)
                c += data_[k+j].in_use ();
            ++occ_hist[c];
        }
        os << "cell_occup";
        for (size_t occ : occ_hist)
            os << ' ' << fdivide (occ, num_cells_/max_occup);
        os << "\nplanes_in_use " << planes_in_use_ << "\n";
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r12
movq %rdi, %r14
leaq 0x195795(%rip), %rsi    # 0x5d0772
movl $0x9, %edx
movq %r12, %rdi
callq 0x4b14d0
movsd 0x30(%r14), %xmm1
movsd 0x1900b8(%rip), %xmm2   # 0x5cb0b0
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x1900bd(%rip), %xmm3   # 0x5cb0c0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x28(%r14), %xmm1
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
movq %r12, %rdi
callq 0x4b2730
leaq 0x1a0bab(%rip), %rsi    # 0x5dbbea
movl $0x1, %edx
movq %rax, %rdi
callq 0x4b14d0
movq (%r14), %rax
movq %r14, %rdi
movl $0x2, %esi
callq *0x48(%rax)
movq %rax, %r15
leaq 0x1(%rax), %rsi
leaq 0x8(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x10(%rsp), %rdi
leaq 0x7(%rsp), %rcx
callq 0x43b5a4
cmpq $0x0, 0x28(%r14)
je 0x43b0cc
movq 0x10(%rsp), %rax
leaq 0x90(%r14), %rcx
movq %r15, %rdx
shlq $0x4, %rdx
xorl %esi, %esi
testq %r15, %r15
je 0x43b0ba
movq %rcx, %r8
movq %r15, %r9
xorl %edi, %edi
movq (%r8), %r10
andl $0x1, %r10d
addq %r10, %rdi
addq $0x10, %r8
decq %r9
jne 0x43b0a5
jmp 0x43b0bc
xorl %edi, %edi
incq (%rax,%rdi,8)
addq %r15, %rsi
addq %rdx, %rcx
cmpq 0x28(%r14), %rsi
jne 0x43b098
leaq 0x1956a9(%rip), %rsi    # 0x5d077c
movl $0xa, %edx
movq %r12, %rdi
callq 0x4b14d0
movq 0x10(%rsp), %r13
movq 0x18(%rsp), %rbp
cmpq %rbp, %r13
je 0x43b167
movq (%r13), %rbx
movb $0x20, 0x8(%rsp)
movl $0x1, %edx
movq %r12, %rdi
leaq 0x8(%rsp), %rsi
callq 0x4b14d0
movq %rax, %rdi
movq %rbx, %xmm1
movq 0x18ff96(%rip), %xmm2   # 0x5cb0b0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x18ff9a(%rip), %xmm3   # 0x5cb0c0
subpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq 0x28(%r14), %rax
xorl %edx, %edx
divq %r15
movq %rax, %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm3, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
callq 0x4b2730
addq $0x8, %r13
jmp 0x43b0ea
leaq 0x195619(%rip), %rsi    # 0x5d0787
movl $0xf, %edx
movq %r12, %rdi
callq 0x4b14d0
movl 0x48(%r14), %esi
movq %r12, %rdi
callq 0x4b1dd0
leaq 0x1a0a5c(%rip), %rsi    # 0x5dbbea
movl $0x1, %edx
movq %rax, %rdi
callq 0x4b14d0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x43b1b2
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x4440d0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x43b1c3
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x43b1dd
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x4440d0
movq %rbx, %rdi
callq 0x4f77a0
nop