// File: /workspace/github_cpp_makefile_star2_O3/ynilu[P]elastic/simulator.cpp
// Function: print_result(Traffic)
void print_result(Traffic traffic)
{
    cout << "Output result\n";
    ostringstream filename;

    filename << "result_";

    if(enable_OTDM)
    {
        filename << "OTDM_";
    }
    else
    {
        filename << "SLICE_";
    }

    filename << traffic_lambda << "_" << num_requests << "_" << num_transceiver << "_" << graph_file;

    ofstream ofs (filename.str(), ofstream::out);

    double num_OEO_s2 = 0;
    double num_OFDM_lightpath_use_s2 = 0;
    double num_OTDM_lightpath_use_s2 = 0;
    for(int i = 0; i < num_batch; i++)
    {
        num_OEO_BM[i] = (double)num_OEO_BM[i]/accepted_requests_BM[i] - (double)num_OEO/accepted_requests;
        num_OFDM_lightpath_use_BM[i] = (double)num_OFDM_lightpath_use_BM[i]/accepted_requests_BM[i] - (double)num_OFDM_lightpath_use/accepted_requests;
        num_OTDM_lightpath_use_BM[i] = (double)num_OTDM_lightpath_use_BM[i]/accepted_requests_BM[i] - (double)num_OTDM_lightpath_use/accepted_requests;

        num_OEO_BM[i] = num_OEO_BM[i]*num_OEO_BM[i];
        num_OFDM_lightpath_use_BM[i] = num_OFDM_lightpath_use_BM[i]*num_OFDM_lightpath_use_BM[i];
        num_OTDM_lightpath_use_BM[i] = num_OTDM_lightpath_use_BM[i]*num_OTDM_lightpath_use_BM[i];

        num_OEO_s2 += num_OEO_BM[i];
        num_OFDM_lightpath_use_s2 += num_OFDM_lightpath_use_BM[i];
        num_OTDM_lightpath_use_s2 += num_OFDM_lightpath_use_BM[i];
    }
    num_OEO_s2 /= (num_batch-1);
    num_OFDM_lightpath_use_s2 /= (num_batch-1);
    num_OTDM_lightpath_use_s2 /= (num_batch-1);

    num_OEO_s2 /= num_batch;
    num_OFDM_lightpath_use_s2 /= num_batch;
    num_OTDM_lightpath_use_s2 /= num_batch;

    num_OEO_s2 = sqrt(num_OEO_s2);
    num_OFDM_lightpath_use_s2 = sqrt(num_OFDM_lightpath_use_s2);
    num_OTDM_lightpath_use_s2 = sqrt(num_OTDM_lightpath_use_s2);

    double p_hat;

    p_hat = (double)blocked_bandwidth/total_bandwidth;
    p_hat = (double)p_hat*(1-p_hat)/total_bandwidth;
    ofs << "Bandwidth Blocking Ratio: "<<(double)blocked_bandwidth/total_bandwidth<< " +- " << (double)1.960*sqrt(p_hat)<< endl;
    ofs << "Blocked Requests: "<<blocked_requests<<endl;
    ofs << "Accepted Requests: "<<accepted_requests<<endl;
    p_hat = (double)blocked_requests/num_requests;
    p_hat = (double)p_hat*(1-p_hat)/num_requests;
    ofs << "Blocking Probability: "<<(double)blocked_requests/num_requests << " +- " << (double)1.960*sqrt(p_hat)<< endl;
    ofs << "Total Number of OEO: "<< num_OEO << endl;
    ofs << "Average OEO when Request Succeed: "<<(double)num_OEO/accepted_requests<<" +- t* "<<(double)num_OEO_s2<< endl;
    ofs << "Number of OFDM lightpath use: "<< num_OFDM_lightpath_use << endl;
    ofs << "Average OFDM lightpath use when Request Succeed: "<<(double)num_OFDM_lightpath_use/accepted_requests<<" +- t* "<<(double)num_OFDM_lightpath_use_s2<< endl;
    ofs << "Number of OTDM lightpath use: "<< num_OTDM_lightpath_use << endl;
    ofs << "Average OTDM lightpath use when Request Succeed: "<<(double)num_OTDM_lightpath_use/accepted_requests<<" +- t* "<<(double)num_OTDM_lightpath_use_s2<< endl;
    ofs << "Bandwidth Utilization Factor: "<<(double)total_bandwidth_utilization/(total_network_bandwidth*end_time)<<endl;
    ofs << "Used Bandwidth Utilization Factor: "<<(double)used_bandwidth_utilization/(total_network_bandwidth*end_time)<<endl;
    ofs << "Wasted Bandwidth Utilization Factor: "<<(double)wasted_bandwidth_utilization/(total_network_bandwidth*end_time)<<endl;
    ofs << "Guardband Bandwidth Utilization Factor: "<<(double)guardband_bandwidth_utilization/(total_network_bandwidth*end_time)<<endl;
    ofs << "Load:"<< traffic_lambda << endl << endl;
    ofs << "Number of OTDM transceiver per degree: "<< num_OTDM_transceiver << endl;
    ofs << "Number of OFDM transceiver per degree: "<< num_OFDM_transceiver << endl;
    ofs << "Number of OC1 requests: " << traffic.num_OC1_request << endl;
    ofs << "Number of OC3 requests: " << traffic.num_OC3_request << endl;
    ofs << "Number of OC9 requests: " << traffic.num_OC9_request << endl;
    ofs << "Number of OC12 requests: " << traffic.num_OC12_request << endl;
    ofs << "Number of OC18 requests: " << traffic.num_OC18_request << endl;
    ofs << "Number of OC24 requests: " << traffic.num_OC24_request << endl;
    ofs << "Number of OC36 requests: " << traffic.num_OC36_request << endl;
    ofs << "Number of OC48 requests: " << traffic.num_OC48_request << endl;
    ofs << "Number of OC192 requests: " << traffic.num_OC192_request << endl;
    ofs << "Number of OC768 requests: " << traffic.num_OC768_request << endl;
    ofs << "Number of OC3072 requests: " << traffic.num_OC3072_request << endl;


    ofs << "Elapsed time: " << (double) ( clock() - start_clk ) / CLOCKS_PER_SEC << " seconds" << endl;
    ofs << "Time spending for graph construction: "<<clk_construction<<" seconds" << endl;
    ofs << "Time spending for path finding: "<<clk_finding<<" seconds" << endl;
    ofs << "Time spending for path parsing: "<<clk_parsing<<" seconds" << endl<<endl;

    ofs.close();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x3c0, %rsp            # imm = 0x3C0
movq %rdi, %rbx
movq 0x12d3f(%rip), %rdi     # 0x17fd0
leaq 0xbffd(%rip), %rsi      # 0x11295
movl $0xe, %edx
callq 0x3250
leaq 0x248(%rsp), %r14
movq %r14, %rdi
callq 0x32a0
leaq 0xbfeb(%rip), %rsi      # 0x112a4
movl $0x7, %edx
movq %r14, %rdi
callq 0x3250
xorl %edx, %edx
cmpl $0x0, 0x12f49(%rip)     # 0x18218
sete %dl
leaq 0xbfd9(%rip), %rax      # 0x112b2
leaq 0xbfcc(%rip), %rsi      # 0x112ac
cmoveq %rax, %rsi
addq $0x5, %rdx
leaq 0x248(%rsp), %rdi
callq 0x3250
movl 0x12ef9(%rip), %esi     # 0x181f4
leaq 0x248(%rsp), %rdi
callq 0x3360
movq %rax, %r14
leaq 0xbfa5(%rip), %rsi      # 0x112b7
movl $0x1, %edx
movq %rax, %rdi
callq 0x3250
movl 0x12ec7(%rip), %esi     # 0x181ec
movq %r14, %rdi
callq 0x3360
movq %rax, %r14
leaq 0xbf80(%rip), %rsi      # 0x112b7
movl $0x1, %edx
movq %rax, %rdi
callq 0x3250
movl 0x12eb2(%rip), %esi     # 0x181fc
movq %r14, %rdi
callq 0x3360
movq %rax, %r14
leaq 0xbf5b(%rip), %rsi      # 0x112b7
movl $0x1, %edx
movq %rax, %rdi
callq 0x3250
movq 0x12f28(%rip), %r15     # 0x18298
testq %r15, %r15
je 0x538d
movq %r15, %rdi
callq 0x30d0
movq %r14, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x3250
jmp 0x53a7
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r14, %rdi
addq %rax, %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x3350
leaq 0x250(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x3300
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
movl $0x10, %edx
callq 0x3390
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x53e8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3230
movl 0x12df1(%rip), %r8d     # 0x181e0
xorpd %xmm1, %xmm1
xorpd %xmm0, %xmm0
xorpd %xmm6, %xmm6
xorpd %xmm5, %xmm5
testl %r8d, %r8d
jle 0x552a
movq 0x12f71(%rip), %rax     # 0x18380
movq 0x12f22(%rip), %rcx     # 0x18338
movq 0x12f7b(%rip), %rdx     # 0x18398
movq 0x12f8c(%rip), %rsi     # 0x183b0
xorl %edi, %edi
xorps %xmm2, %xmm2
cvtsi2sdl (%rax,%rdi,4), %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl (%rcx,%rdi,4), %xmm3
divsd %xmm3, %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl 0x12edb(%rip), %xmm3 # 0x18320
xorps %xmm4, %xmm4
cvtsi2sdl 0x12ec4(%rip), %xmm4 # 0x18314
divsd %xmm4, %xmm3
subsd %xmm3, %xmm2
cvttsd2si %xmm2, %r8d
movl %r8d, (%rax,%rdi,4)
xorps %xmm2, %xmm2
cvtsi2sdl (%rdx,%rdi,4), %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl (%rcx,%rdi,4), %xmm3
divsd %xmm3, %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl 0x12ea4(%rip), %xmm3 # 0x18324
xorps %xmm4, %xmm4
cvtsi2sdl 0x12e89(%rip), %xmm4 # 0x18314
divsd %xmm4, %xmm3
subsd %xmm3, %xmm2
cvttsd2si %xmm2, %r8d
movl %r8d, (%rdx,%rdi,4)
xorps %xmm2, %xmm2
cvtsi2sdl (%rsi,%rdi,4), %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl (%rcx,%rdi,4), %xmm3
divsd %xmm3, %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl 0x12e6d(%rip), %xmm3 # 0x18328
xorps %xmm4, %xmm4
cvtsi2sdl 0x12e4e(%rip), %xmm4 # 0x18314
divsd %xmm4, %xmm3
subsd %xmm3, %xmm2
cvttsd2si %xmm2, %r8d
movl %r8d, (%rsi,%rdi,4)
movl (%rax,%rdi,4), %r8d
imull %r8d, %r8d
movl %r8d, (%rax,%rdi,4)
movl (%rdx,%rdi,4), %r8d
imull %r8d, %r8d
movl %r8d, (%rdx,%rdi,4)
movl (%rsi,%rdi,4), %r8d
imull %r8d, %r8d
movl %r8d, (%rsi,%rdi,4)
xorps %xmm2, %xmm2
cvtsi2sdl (%rax,%rdi,4), %xmm2
addsd %xmm2, %xmm0
xorps %xmm2, %xmm2
cvtsi2sdl (%rdx,%rdi,4), %xmm2
addsd %xmm2, %xmm6
addsd %xmm2, %xmm5
incq %rdi
movslq 0x12cbf(%rip), %r8      # 0x181e0
cmpq %r8, %rdi
jl 0x5426
leal -0x1(%r8), %eax
xorps %xmm2, %xmm2
cvtsi2sd %eax, %xmm2
divsd %xmm2, %xmm0
divsd %xmm2, %xmm6
divsd %xmm2, %xmm5
xorps %xmm2, %xmm2
cvtsi2sd %r8d, %xmm2
divsd %xmm2, %xmm0
divsd %xmm2, %xmm6
ucomisd %xmm1, %xmm0
jb 0x555d
sqrtsd %xmm0, %xmm0
jmp 0x5584
movsd %xmm5, (%rsp)
movsd %xmm6, 0x8(%rsp)
movsd %xmm2, 0x10(%rsp)
callq 0x31a0
movsd 0x10(%rsp), %xmm2
movsd 0x8(%rsp), %xmm6
movsd (%rsp), %xmm5
movsd %xmm0, 0x20(%rsp)
divsd %xmm2, %xmm5
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm6
jb 0x55a1
xorps %xmm0, %xmm0
sqrtsd %xmm6, %xmm0
jmp 0x55b8
movapd %xmm6, %xmm0
movsd %xmm5, (%rsp)
callq 0x31a0
xorpd %xmm1, %xmm1
movsd (%rsp), %xmm5
movsd %xmm0, 0x10(%rsp)
ucomisd %xmm1, %xmm5
jb 0x55cd
xorps %xmm0, %xmm0
sqrtsd %xmm5, %xmm0
jmp 0x55d6
movapd %xmm5, %xmm0
callq 0x31a0
movsd %xmm0, 0x18(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x12d35(%rip), %xmm0 # 0x1831c
movsd %xmm0, 0x8(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x12d34(%rip), %xmm0 # 0x1832c
movsd %xmm0, (%rsp)
leaq 0xbcb5(%rip), %rsi      # 0x112b9
leaq 0x48(%rsp), %rdi
movl $0x1a, %edx
callq 0x3250
xorps %xmm0, %xmm0
cvtsi2sdl 0x12cfe(%rip), %xmm0 # 0x1831c
xorps %xmm1, %xmm1
cvtsi2sdl 0x12d03(%rip), %xmm1 # 0x1832c
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
leaq 0xbc93(%rip), %rsi      # 0x112d4
movl $0x4, %edx
movq %rax, %rdi
callq 0x3250
movsd (%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
divsd %xmm1, %xmm2
movsd 0xb9ab(%rip), %xmm0     # 0x11010
subsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x5681
sqrtsd %xmm0, %xmm0
jmp 0x5686
callq 0x31a0
mulsd 0xb98a(%rip), %xmm0     # 0x11018
movq %r14, %rdi
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xbc12(%rip), %rsi      # 0x112d9
leaq 0x48(%rsp), %rdi
movl $0x12, %edx
callq 0x3250
movl 0x12c3c(%rip), %esi     # 0x18318
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xbbd5(%rip), %rsi      # 0x112ec
leaq 0x48(%rsp), %rdi
movl $0x13, %edx
callq 0x3250
movl 0x12be8(%rip), %esi     # 0x18314
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
cvtsi2sdl 0x12bb0(%rip), %xmm0 # 0x18318
movsd %xmm0, 0x8(%rsp)
xorps %xmm0, %xmm0
cvtsi2sdl 0x12a73(%rip), %xmm0 # 0x181ec
movsd %xmm0, (%rsp)
leaq 0xbb7b(%rip), %rsi      # 0x11300
leaq 0x48(%rsp), %rdi
movl $0x16, %edx
callq 0x3250
xorps %xmm0, %xmm0
cvtsi2sdl 0x12b79(%rip), %xmm0 # 0x18318
cvtsi2sdl 0x12a45(%rip), %xmm1 # 0x181ec
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
leaq 0xbb15(%rip), %rsi      # 0x112d4
movl $0x4, %edx
movq %rax, %rdi
callq 0x3250
movsd (%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
divsd %xmm1, %xmm2
movsd 0xb82d(%rip), %xmm0     # 0x11010
subsd %xmm2, %xmm0
mulsd %xmm2, %xmm0
divsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x57ff
sqrtsd %xmm0, %xmm0
jmp 0x5804
callq 0x31a0
mulsd 0xb80c(%rip), %xmm0     # 0x11018
movq %r14, %rdi
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xbad2(%rip), %rsi      # 0x11317
leaq 0x48(%rsp), %rdi
movl $0x15, %edx
callq 0x3250
movl 0x12ac6(%rip), %esi     # 0x18320
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xba98(%rip), %rsi      # 0x1132d
leaq 0x48(%rsp), %rdi
movl $0x22, %edx
callq 0x3250
xorps %xmm0, %xmm0
cvtsi2sdl 0x12a71(%rip), %xmm0 # 0x18320
xorps %xmm1, %xmm1
cvtsi2sdl 0x12a5a(%rip), %xmm1 # 0x18314
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
leaq 0xba7e(%rip), %rsi      # 0x11350
movl $0x7, %edx
movq %rax, %rdi
callq 0x3250
movq %r14, %rdi
movsd 0x20(%rsp), %xmm0
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xba3a(%rip), %rsi      # 0x11358
leaq 0x48(%rsp), %rdi
movl $0x1e, %edx
callq 0x3250
movl 0x129f1(%rip), %esi     # 0x18324
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xba09(%rip), %rsi      # 0x11377
leaq 0x48(%rsp), %rdi
movl $0x31, %edx
callq 0x3250
xorps %xmm0, %xmm0
cvtsi2sdl 0x1299c(%rip), %xmm0 # 0x18324
cvtsi2sdl 0x12984(%rip), %xmm1 # 0x18314
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
leaq 0xb9a8(%rip), %rsi      # 0x11350
movl $0x7, %edx
movq %rax, %rdi
callq 0x3250
movq %r14, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb9b5(%rip), %rsi      # 0x113a9
leaq 0x48(%rsp), %rdi
movl $0x1e, %edx
callq 0x3250
movl 0x1291f(%rip), %esi     # 0x18328
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb984(%rip), %rsi      # 0x113c8
leaq 0x48(%rsp), %rdi
movl $0x31, %edx
callq 0x3250
xorps %xmm0, %xmm0
cvtsi2sdl 0x128ca(%rip), %xmm0 # 0x18328
cvtsi2sdl 0x128ae(%rip), %xmm1 # 0x18314
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
leaq 0xb8d2(%rip), %rsi      # 0x11350
movl $0x7, %edx
movq %rax, %rdi
callq 0x3250
movq %r14, %rdi
movsd 0x18(%rsp), %xmm0
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb935(%rip), %rsi      # 0x113ff
leaq 0x48(%rsp), %rdi
movl $0x1e, %edx
callq 0x3250
xorps %xmm1, %xmm1
cvtsi2sdl 0x1284c(%rip), %xmm1 # 0x18330
movsd 0x128dc(%rip), %xmm0    # 0x183c8
mulsd 0x128f4(%rip), %xmm1    # 0x183e8
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb8c7(%rip), %rsi      # 0x113fa
leaq 0x48(%rsp), %rdi
movl $0x23, %edx
callq 0x3250
xorps %xmm1, %xmm1
cvtsi2sdl 0x127e3(%rip), %xmm1 # 0x18330
movsd 0x1287b(%rip), %xmm0    # 0x183d0
mulsd 0x1288b(%rip), %xmm1    # 0x183e8
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb882(%rip), %rsi      # 0x1141e
leaq 0x48(%rsp), %rdi
movl $0x25, %edx
callq 0x3250
xorps %xmm1, %xmm1
cvtsi2sdl 0x1277a(%rip), %xmm1 # 0x18330
movsd 0x1281a(%rip), %xmm0    # 0x183d8
mulsd 0x12822(%rip), %xmm1    # 0x183e8
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb83f(%rip), %rsi      # 0x11444
leaq 0x48(%rsp), %rdi
movl $0x28, %edx
callq 0x3250
xorps %xmm1, %xmm1
cvtsi2sdl 0x12711(%rip), %xmm1 # 0x18330
movsd 0x127b9(%rip), %xmm0    # 0x183e0
mulsd 0x127b9(%rip), %xmm1    # 0x183e8
divsd %xmm1, %xmm0
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb7ff(%rip), %rsi      # 0x1146d
leaq 0x48(%rsp), %rdi
movl $0x5, %edx
callq 0x3250
movl 0x12571(%rip), %esi     # 0x181f4
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb78b(%rip), %rsi      # 0x11473
leaq 0x48(%rsp), %rdi
movl $0x27, %edx
callq 0x3250
movl 0x12503(%rip), %esi     # 0x18200
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb763(%rip), %rsi      # 0x1149b
leaq 0x48(%rsp), %rdi
movl $0x27, %edx
callq 0x3250
movl 0x124b7(%rip), %esi     # 0x18204
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb73b(%rip), %rsi      # 0x114c3
leaq 0x48(%rsp), %rdi
movl $0x18, %edx
callq 0x3250
movl 0xe8(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb704(%rip), %rsi      # 0x114dc
leaq 0x48(%rsp), %rdi
movl $0x18, %edx
callq 0x3250
movl 0xec(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb6cd(%rip), %rsi      # 0x114f5
leaq 0x48(%rsp), %rdi
movl $0x18, %edx
callq 0x3250
movl 0xf0(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb696(%rip), %rsi      # 0x1150e
leaq 0x48(%rsp), %rdi
movl $0x19, %edx
callq 0x3250
movl 0xf4(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb660(%rip), %rsi      # 0x11528
leaq 0x48(%rsp), %rdi
movl $0x19, %edx
callq 0x3250
movl 0xf8(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb62a(%rip), %rsi      # 0x11542
leaq 0x48(%rsp), %rdi
movl $0x19, %edx
callq 0x3250
movl 0xfc(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb5f4(%rip), %rsi      # 0x1155c
leaq 0x48(%rsp), %rdi
movl $0x19, %edx
callq 0x3250
movl 0x100(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb5be(%rip), %rsi      # 0x11576
leaq 0x48(%rsp), %rdi
movl $0x19, %edx
callq 0x3250
movl 0x104(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb588(%rip), %rsi      # 0x11590
leaq 0x48(%rsp), %rdi
movl $0x1a, %edx
callq 0x3250
movl 0x108(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb553(%rip), %rsi      # 0x115ab
leaq 0x48(%rsp), %rdi
movl $0x1a, %edx
callq 0x3250
movl 0x10c(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb51e(%rip), %rsi      # 0x115c6
leaq 0x48(%rsp), %rdi
movl $0x1b, %edx
callq 0x3250
movl 0x110(%rbx), %esi
leaq 0x48(%rsp), %rdi
callq 0x3360
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb4ea(%rip), %rsi      # 0x115e2
leaq 0x48(%rsp), %rdi
movl $0xe, %edx
callq 0x3250
callq 0x3150
subq 0x121b5(%rip), %rax     # 0x182c8
cvtsi2sd %rax, %xmm0
divsd 0xaee8(%rip), %xmm0     # 0x11008
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %rbx
leaq 0xb4bd(%rip), %rsi      # 0x115f1
movl $0x8, %edx
movq %rax, %rdi
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb48b(%rip), %rsi      # 0x115fa
leaq 0x48(%rsp), %rdi
movl $0x26, %edx
callq 0x3250
movsd 0x12162(%rip), %xmm0    # 0x182e8
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %rbx
leaq 0xb457(%rip), %rsi      # 0x115f1
movl $0x8, %edx
movq %rax, %rdi
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb44c(%rip), %rsi      # 0x11621
leaq 0x48(%rsp), %rdi
movl $0x20, %edx
callq 0x3250
movsd 0x120ec(%rip), %xmm0    # 0x182d8
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %rbx
leaq 0xb3f1(%rip), %rsi      # 0x115f1
movl $0x8, %edx
movq %rax, %rdi
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0xb407(%rip), %rsi      # 0x11642
leaq 0x48(%rsp), %rdi
movl $0x20, %edx
callq 0x3250
movsd 0x120a6(%rip), %xmm0    # 0x182f8
leaq 0x48(%rsp), %rdi
callq 0x3310
movq %rax, %rbx
leaq 0xb38b(%rip), %rsi      # 0x115f1
movl $0x8, %edx
movq %rax, %rdi
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3170
leaq 0x48(%rsp), %rdi
callq 0x32b0
movq 0x11ceb(%rip), %rax     # 0x17fc0
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x50(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x48(%rsp,%rcx)
callq 0x31d0
leaq 0x140(%rsp), %rdi
callq 0x30a0
movq 0x11cc1(%rip), %rsi     # 0x17fc8
leaq 0x248(%rsp), %rdi
callq 0x3100
leaq 0x2b8(%rsp), %rdi
callq 0x30a0
addq $0x3c0, %rsp            # imm = 0x3C0
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6362
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3230
jmp 0x6362
jmp 0x6350
movq %rax, %rbx
jmp 0x6362
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x32d0
movq 0x11c5f(%rip), %rsi     # 0x17fc8
leaq 0x248(%rsp), %rdi
callq 0x3100
leaq 0x2b8(%rsp), %rdi
callq 0x30a0
movq %rbx, %rdi
callq 0x3370