// File: /workspace/github_cpp_makefile_star2_O2/rpetit3[P]fastq-scan/fastq-scan.cpp
// Function: Stats::jsonify_stats(float, bool)
void jsonify_stats(float GENOME_SIZE, bool QC_ONLY) {
            string t1 = "    ";
            string t2 = "        ";
            cout << "{" << endl;
            cout << t1 << "\"qc_stats\": {" << endl;
            cout << t2 << "\"total_bp\": " << total_bp << "," << endl;
            if (GENOME_SIZE <= 1)  {
                cout << t2 << "\"coverage\": 0.00," << endl;
            } else {
                cout << t2 << "\"coverage\": " << total_bp / GENOME_SIZE << "," << endl;
            }
            cout << t2 << "\"read_total\": " << read_total << "," << endl;
            cout << t2 << "\"read_min\": " << read_min << "," << endl;
            cout << t2 << "\"read_mean\": " << read_mean << "," << endl;
            cout << t2 << "\"read_std\": " << read_std << "," << endl;
            cout << t2 << "\"read_median\": " << read_median << "," << endl;
            cout << t2 << "\"read_max\": " << read_max << "," << endl;
            cout << t2 << "\"read_25th\": " << read_25th << "," << endl;
            cout << t2 << "\"read_75th\": " << read_75th << "," << endl;
            cout << t2 << "\"qual_min\": " << qual_min << "," << endl;
            cout << t2 << "\"qual_mean\": " << qual_mean << "," << endl;
            cout << t2 << "\"qual_std\": " << qual_std << "," << endl;
            cout << t2 << "\"qual_max\": " << qual_max << "," << endl;
            cout << t2 << "\"qual_median\": " << qual_median << "," << endl;
            cout << t2 << "\"qual_25th\": " << qual_25th << "," << endl;
            cout << t2 << "\"qual_75th\": " << qual_75th << endl;
            
            
            if (QC_ONLY) {
                cout << t1 << "}" << endl;
            } else {
                cout << t1 << "}," << endl;
                cout << t1 << "\"read_lengths\": {" << endl;
                for (unsigned int i = read_min; i <= read_max; i++) {
                    if (i % 5 == 0) {
                        cout << endl;
                    }
                    cout << t2 << "\"" << i << "\": " << read_length_count[i];
                    if (i < read_max) {
                        cout << ",";
                    }
                }
                cout << endl << t1 << "}," << endl;
                cout << t1 << "\"per_base_quality\": {" << endl;
                for (unsigned int i = 0; i < read_max; i++) {
                    if (i % 5 == 0 && i != 0) {
                        cout << endl;
                    }
                    cout << t2 << "\"" << i + 1 << "\": " << (per_base_qual[i] / float(per_base_count[i])) - phred;
                    if (i < read_max - 1) {
                        cout << ",";
                    }
                }
                cout << endl << t1 << "}" << endl;
            }
            cout << "}" << endl;
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movl %esi, %ebp
movss %xmm0, 0x34(%rsp)
movq %rdi, %rbx
leaq 0x2527(%rip), %rsi      # 0x5323
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x2970
leaq 0x250d(%rip), %rsi      # 0x531f
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x2970
movq 0x51a8(%rip), %rdi      # 0x7fd0
leaq 0x2619(%rip), %rsi      # 0x5448
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x518d(%rip), %rdi      # 0x7fd0
leaq 0x38(%rsp), %rsi
callq 0x2130
leaq 0x24d4(%rip), %rsi      # 0x5328
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x5165(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x24ba(%rip), %rsi      # 0x5336
movq %rax, %rdi
callq 0x2140
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x20c0
leaq 0x24bd(%rip), %r14      # 0x5353
movq %rax, %rdi
movq %r14, %rsi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movss 0x2153(%rip), %xmm0     # 0x5004
ucomiss 0x34(%rsp), %xmm0
jae 0x2ee7
movq 0x5111(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2485(%rip), %rsi      # 0x5355
movq %rax, %rdi
callq 0x2140
movq (%rbx), %rcx
testq %rcx, %rcx
js 0x2f01
cvtsi2ss %rcx, %xmm0
jmp 0x2f16
movq 0x50e2(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2444(%rip), %r14      # 0x5343
jmp 0x2f24
movq %rcx, %rdx
shrq %rdx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
divss 0x34(%rsp), %xmm0
movq %rax, %rdi
callq 0x20e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x5092(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2413(%rip), %rsi      # 0x5362
movq %rax, %rdi
callq 0x2140
movq 0x38(%rbx), %rsi
movq %rax, %rdi
callq 0x20c0
leaq 0x23e9(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x504f(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x23df(%rip), %rsi      # 0x5371
movq %rax, %rdi
callq 0x2140
movl 0x40(%rbx), %esi
movq %rax, %rdi
callq 0x20c0
leaq 0x23a7(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x500d(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x23aa(%rip), %rsi      # 0x537e
movq %rax, %rdi
callq 0x2140
movsd 0x48(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x2363(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4fc9(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2374(%rip), %rsi      # 0x538c
movq %rax, %rdi
callq 0x2140
movsd 0x50(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x231f(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4f85(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x233d(%rip), %rsi      # 0x5399
movq %rax, %rdi
callq 0x2140
movsd 0x58(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x22db(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4f41(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2309(%rip), %rsi      # 0x53a9
movq %rax, %rdi
callq 0x2140
movl 0x44(%rbx), %esi
movq %rax, %rdi
callq 0x20c0
leaq 0x2299(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4eff(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x22d4(%rip), %rsi      # 0x53b6
movq %rax, %rdi
callq 0x2140
movsd 0x60(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x2255(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4ebb(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x229e(%rip), %rsi      # 0x53c4
movq %rax, %rdi
callq 0x2140
movsd 0x68(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x2211(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4e77(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2268(%rip), %rsi      # 0x53d2
movq %rax, %rdi
callq 0x2140
movl 0xbc(%rbx), %esi
movq %rax, %rdi
callq 0x20c0
leaq 0x21cc(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4e32(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2230(%rip), %rsi      # 0x53df
movq %rax, %rdi
callq 0x2140
movsd 0xd0(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x2185(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4deb(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x21f7(%rip), %rsi      # 0x53ed
movq %rax, %rdi
callq 0x2140
movsd 0xf0(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x213e(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4da4(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x21bd(%rip), %rsi      # 0x53fa
movq %rax, %rdi
callq 0x2140
movl 0xc0(%rbx), %esi
movq %rax, %rdi
callq 0x20c0
leaq 0x20f9(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4d5f(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x2185(%rip), %rsi      # 0x5407
movq %rax, %rdi
callq 0x2140
movsd 0xd8(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x20b2(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4d18(%rip), %rdi      # 0x7fd0
leaq 0x10(%rsp), %rsi
callq 0x2130
leaq 0x214e(%rip), %rsi      # 0x5417
movq %rax, %rdi
callq 0x2140
movsd 0xe0(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
leaq 0x206b(%rip), %rsi      # 0x5353
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4cd1(%rip), %r14      # 0x7fd0
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x2130
leaq 0x2112(%rip), %rsi      # 0x5425
movq %rax, %rdi
callq 0x2140
movsd 0xe8(%rbx), %xmm0
movq %rax, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20a0
testb %bpl, %bpl
jne 0x3590
movq 0x4c8d(%rip), %rdi      # 0x7fd0
leaq 0x38(%rsp), %rsi
callq 0x2130
leaq 0x20e1(%rip), %rsi      # 0x5435
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4c65(%rip), %rdi      # 0x7fd0
leaq 0x38(%rsp), %rsi
callq 0x2130
leaq 0x20bc(%rip), %rsi      # 0x5438
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movl 0x40(%rbx), %ebp
movq 0x4c3a(%rip), %r14      # 0x7fd0
leaq 0x20ad(%rip), %r12      # 0x544a
leaq 0x1ff1(%rip), %r13      # 0x5395
movl %ebp, %eax
xorl %edx, %edx
pushq $0x5
popq %rcx
divl %ecx
cmpl 0x44(%rbx), %ebp
ja 0x341a
leal (%rax,%rax,4), %eax
cmpl %ebp, %eax
jne 0x33c1
movq %r14, %rdi
callq 0x20a0
movq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0x2130
movq %rax, %rdi
movq %r12, %rsi
callq 0x2140
movl %ebp, %r15d
movq %rax, %rdi
movq %r15, %rsi
callq 0x20c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x2140
movq 0x20(%rbx), %rcx
movl (%rcx,%r15,4), %esi
movq %rax, %rdi
callq 0x20c0
cmpl 0x44(%rbx), %ebp
jae 0x3416
movq %r14, %rdi
leaq 0x1f42(%rip), %rsi      # 0x5353
callq 0x2140
incl %ebp
jmp 0x33a4
movq 0x4baf(%rip), %rdi      # 0x7fd0
callq 0x20a0
leaq 0x38(%rsp), %rsi
movq %rax, %rdi
callq 0x2130
leaq 0x1ffb(%rip), %rsi      # 0x5435
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4b7f(%rip), %rdi      # 0x7fd0
leaq 0x38(%rsp), %rsi
callq 0x2130
leaq 0x1fea(%rip), %rsi      # 0x544c
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
xorl %r12d, %r12d
movq 0x4b54(%rip), %r14      # 0x7fd0
leaq 0x1f12(%rip), %r13      # 0x5395
xorl %r15d, %r15d
movl %r15d, %eax
xorl %edx, %edx
pushq $0x5
popq %rcx
divl %ecx
movl 0x44(%rbx), %ecx
cmpq %rcx, %r15
jae 0x3581
testq %r15, %r15
je 0x34b1
leal (%rax,%rax,4), %eax
addl %r12d, %eax
jne 0x34b1
movq %r14, %rdi
callq 0x20a0
movq %r14, %rdi
leaq 0x10(%rsp), %rsi
callq 0x2130
movq %rax, %rdi
leaq 0x1f82(%rip), %rsi      # 0x544a
callq 0x2140
leaq 0x1(%r15), %rbp
movq %rax, %rdi
movq %rbp, %rsi
callq 0x20c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x2140
movq 0x88(%rbx), %rcx
movq (%rcx,%r15,8), %rcx
testq %rcx, %rcx
js 0x34fe
cvtsi2ss %rcx, %xmm0
jmp 0x3513
movq %rcx, %rdx
shrq %rdx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
movq 0xa0(%rbx), %rcx
movq (%rcx,%r15,8), %rcx
testq %rcx, %rcx
js 0x352a
cvtsi2ss %rcx, %xmm1
jmp 0x353f
movq %rcx, %rdx
shrq %rdx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm1
addss %xmm1, %xmm1
divss %xmm1, %xmm0
cvtsi2ssl 0xb8(%rbx), %xmm1
subss %xmm1, %xmm0
movq %rax, %rdi
callq 0x20e0
movl 0x44(%rbx), %eax
decl %eax
decq %rbp
cmpq %rax, %rbp
jae 0x3573
movq %r14, %rdi
leaq 0x1de5(%rip), %rsi      # 0x5353
callq 0x2140
decl %r12d
incq %rbp
movq %rbp, %r15
jmp 0x3486
movq 0x4a48(%rip), %rdi      # 0x7fd0
callq 0x20a0
movq %rax, %r14
leaq 0x38(%rsp), %rsi
movq %r14, %rdi
callq 0x2130
leaq 0x1e8f(%rip), %rsi      # 0x5433
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
callq 0x20a0
movq 0x4a15(%rip), %rdi      # 0x7fd0
leaq 0x1e71(%rip), %rsi      # 0x5433
callq 0x2140
movq %rax, %rdi
callq 0x20a0
leaq 0x10(%rsp), %rdi
callq 0x2268
leaq 0x38(%rsp), %rdi
callq 0x2268
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x3608
jmp 0x35fb
jmp 0x35fb
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x2268
leaq 0x38(%rsp), %rdi
callq 0x2268
movq %rbx, %rdi
callq 0x2220