// File: 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 %rbp
movq %rsp, %rbp
subq $0x6e0, %rsp            # imm = 0x6E0
movq %rdi, -0x3e8(%rbp)
movq %rdi, -0x8(%rbp)
movq 0x3ce63(%rip), %rdi     # 0x42fd0
leaq 0x270e5(%rip), %rsi     # 0x2d259
callq 0x31f0
leaq -0x180(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0x32a0
movq -0x3e0(%rbp), %rdi
leaq 0x270ce(%rip), %rsi     # 0x2d268
callq 0x31f0
jmp 0x61a1
cmpl $0x0, 0x3d060(%rip)     # 0x43208
je 0x61d8
leaq 0x270bf(%rip), %rsi     # 0x2d270
leaq -0x180(%rbp), %rdi
callq 0x31f0
jmp 0x61bf
jmp 0x61ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x74ad
leaq 0x27097(%rip), %rsi     # 0x2d276
leaq -0x180(%rbp), %rdi
callq 0x31f0
jmp 0x61ed
jmp 0x61ef
movl 0x3cfef(%rip), %esi     # 0x431e4
leaq -0x180(%rbp), %rdi
callq 0x3330
movq %rax, -0x3f0(%rbp)
jmp 0x620a
movq -0x3f0(%rbp), %rdi
leaq 0x27063(%rip), %rsi     # 0x2d27b
callq 0x31f0
movq %rax, -0x3f8(%rbp)
jmp 0x6226
movq -0x3f8(%rbp), %rdi
movl 0x3cfa9(%rip), %esi     # 0x431dc
callq 0x3330
movq %rax, -0x400(%rbp)
jmp 0x6241
movq -0x400(%rbp), %rdi
leaq 0x2702c(%rip), %rsi     # 0x2d27b
callq 0x31f0
movq %rax, -0x408(%rbp)
jmp 0x625d
movq -0x408(%rbp), %rdi
movl 0x3cf82(%rip), %esi     # 0x431ec
callq 0x3330
movq %rax, -0x410(%rbp)
jmp 0x6278
movq -0x410(%rbp), %rdi
leaq 0x26ff5(%rip), %rsi     # 0x2d27b
callq 0x31f0
movq %rax, -0x418(%rbp)
jmp 0x6294
movq -0x418(%rbp), %rdi
movq 0x3cfe6(%rip), %rsi     # 0x43288
callq 0x31f0
jmp 0x62a9
leaq -0x3b0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x3220
jmp 0x62be
leaq -0x390(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
movl $0x10, %edx
callq 0x3370
jmp 0x62d8
leaq -0x3b0(%rbp), %rdi
callq 0x3140
xorps %xmm0, %xmm0
movsd %xmm0, -0x3b8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x3c0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x3c8(%rbp)
movl $0x0, -0x3cc(%rbp)
movl -0x3cc(%rbp), %eax
cmpl 0x3ceb5(%rip), %eax     # 0x431d0
jge 0x665b
movslq -0x3cc(%rbp), %rsi
leaq 0x3d041(%rip), %rdi     # 0x43370
callq 0xb210
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, -0x460(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cfda(%rip), %rdi     # 0x43328
callq 0xb210
movsd -0x460(%rbp), %xmm0
cvtsi2sdl (%rax), %xmm1
divsd %xmm1, %xmm0
cvtsi2sdl 0x3cfa5(%rip), %xmm1 # 0x43310
cvtsi2sdl 0x3cf91(%rip), %xmm2 # 0x43304
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x454(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cfdd(%rip), %rdi     # 0x43370
callq 0xb210
movl -0x454(%rbp), %ecx
movl %ecx, (%rax)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cfda(%rip), %rdi     # 0x43388
callq 0xb210
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, -0x450(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cf5b(%rip), %rdi     # 0x43328
callq 0xb210
movsd -0x450(%rbp), %xmm0
cvtsi2sdl (%rax), %xmm1
divsd %xmm1, %xmm0
cvtsi2sdl 0x3cf2a(%rip), %xmm1 # 0x43314
cvtsi2sdl 0x3cf12(%rip), %xmm2 # 0x43304
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x444(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cf76(%rip), %rdi     # 0x43388
callq 0xb210
movl -0x444(%rbp), %ecx
movl %ecx, (%rax)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cf73(%rip), %rdi     # 0x433a0
callq 0xb210
cvtsi2sdl (%rax), %xmm0
movsd %xmm0, -0x440(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cedc(%rip), %rdi     # 0x43328
callq 0xb210
movsd -0x440(%rbp), %xmm0
cvtsi2sdl (%rax), %xmm1
divsd %xmm1, %xmm0
cvtsi2sdl 0x3ceaf(%rip), %xmm1 # 0x43318
cvtsi2sdl 0x3ce93(%rip), %xmm2 # 0x43304
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x434(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cf0f(%rip), %rdi     # 0x433a0
callq 0xb210
movl -0x434(%rbp), %ecx
movl %ecx, (%rax)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cec4(%rip), %rdi     # 0x43370
callq 0xb210
movl (%rax), %eax
movl %eax, -0x430(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cea9(%rip), %rdi     # 0x43370
callq 0xb210
movq %rax, %rcx
movl -0x430(%rbp), %eax
imull (%rcx), %eax
movl %eax, -0x42c(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3ce84(%rip), %rdi     # 0x43370
callq 0xb210
movl -0x42c(%rbp), %ecx
movl %ecx, (%rax)
movslq -0x3cc(%rbp), %rsi
leaq 0x3ce81(%rip), %rdi     # 0x43388
callq 0xb210
movl (%rax), %eax
movl %eax, -0x428(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3ce66(%rip), %rdi     # 0x43388
callq 0xb210
movq %rax, %rcx
movl -0x428(%rbp), %eax
imull (%rcx), %eax
movl %eax, -0x424(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3ce41(%rip), %rdi     # 0x43388
callq 0xb210
movl -0x424(%rbp), %ecx
movl %ecx, (%rax)
movslq -0x3cc(%rbp), %rsi
leaq 0x3ce3e(%rip), %rdi     # 0x433a0
callq 0xb210
movl (%rax), %eax
movl %eax, -0x420(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3ce23(%rip), %rdi     # 0x433a0
callq 0xb210
movq %rax, %rcx
movl -0x420(%rbp), %eax
imull (%rcx), %eax
movl %eax, -0x41c(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cdfe(%rip), %rdi     # 0x433a0
callq 0xb210
movl -0x41c(%rbp), %ecx
movl %ecx, (%rax)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cdb3(%rip), %rdi     # 0x43370
callq 0xb210
cvtsi2sdl (%rax), %xmm0
addsd -0x3b8(%rbp), %xmm0
movsd %xmm0, -0x3b8(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cda4(%rip), %rdi     # 0x43388
callq 0xb210
cvtsi2sdl (%rax), %xmm0
addsd -0x3c0(%rbp), %xmm0
movsd %xmm0, -0x3c0(%rbp)
movslq -0x3cc(%rbp), %rsi
leaq 0x3cd7d(%rip), %rdi     # 0x43388
callq 0xb210
cvtsi2sdl (%rax), %xmm0
addsd -0x3c8(%rbp), %xmm0
movsd %xmm0, -0x3c8(%rbp)
movl -0x3cc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3cc(%rbp)
jmp 0x630f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x3140
jmp 0x74ad
movl 0x3cb6f(%rip), %eax     # 0x431d0
decl %eax
cvtsi2sd %eax, %xmm1
movsd -0x3b8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3b8(%rbp)
movl 0x3cb4f(%rip), %eax     # 0x431d0
decl %eax
cvtsi2sd %eax, %xmm1
movsd -0x3c0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3c0(%rbp)
movl 0x3cb2f(%rip), %eax     # 0x431d0
decl %eax
cvtsi2sd %eax, %xmm1
movsd -0x3c8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3c8(%rbp)
cvtsi2sdl 0x3cb0d(%rip), %xmm1 # 0x431d0
movsd -0x3b8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3b8(%rbp)
cvtsi2sdl 0x3caf1(%rip), %xmm1 # 0x431d0
movsd -0x3c0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3c0(%rbp)
cvtsi2sdl 0x3cad5(%rip), %xmm1 # 0x431d0
movsd -0x3c8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3c8(%rbp)
movsd -0x3b8(%rbp), %xmm0
callq 0x3190
movsd %xmm0, -0x3b8(%rbp)
movsd -0x3c0(%rbp), %xmm0
callq 0x3190
movsd %xmm0, -0x3c0(%rbp)
movsd -0x3c8(%rbp), %xmm0
callq 0x3190
movsd %xmm0, -0x3c8(%rbp)
cvtsi2sdl 0x3cbb6(%rip), %xmm0 # 0x4330c
cvtsi2sdl 0x3cbbe(%rip), %xmm1 # 0x4331c
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d8(%rbp)
movsd -0x3d8(%rbp), %xmm0
movsd 0x26896(%rip), %xmm1    # 0x2d010
subsd %xmm0, %xmm1
mulsd %xmm1, %xmm0
cvtsi2sdl 0x3cb92(%rip), %xmm1 # 0x4331c
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d8(%rbp)
leaq 0x26ae0(%rip), %rsi     # 0x2d27d
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x468(%rbp)
jmp 0x67b2
movq -0x468(%rbp), %rdi
cvtsi2sdl 0x3cb4b(%rip), %xmm0 # 0x4330c
cvtsi2sdl 0x3cb53(%rip), %xmm1 # 0x4331c
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x470(%rbp)
jmp 0x67db
movq -0x470(%rbp), %rdi
leaq 0x26aaf(%rip), %rsi     # 0x2d298
callq 0x31f0
movq %rax, -0x478(%rbp)
jmp 0x67f7
movsd -0x3d8(%rbp), %xmm0
callq 0x3190
movq -0x478(%rbp), %rdi
movsd 0x26815(%rip), %xmm1    # 0x2d028
mulsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x480(%rbp)
jmp 0x6825
movq -0x480(%rbp), %rdi
movq 0x3c78d(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x683a
leaq 0x26a5c(%rip), %rsi     # 0x2d29d
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x488(%rbp)
jmp 0x6856
movq -0x488(%rbp), %rdi
movl 0x3caa5(%rip), %esi     # 0x43308
callq 0x3330
movq %rax, -0x490(%rbp)
jmp 0x6871
movq -0x490(%rbp), %rdi
movq 0x3c741(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6886
leaq 0x26a23(%rip), %rsi     # 0x2d2b0
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x498(%rbp)
jmp 0x68a2
movq -0x498(%rbp), %rdi
movl 0x3ca55(%rip), %esi     # 0x43304
callq 0x3330
movq %rax, -0x4a0(%rbp)
jmp 0x68bd
movq -0x4a0(%rbp), %rdi
movq 0x3c6f5(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x68d2
cvtsi2sdl 0x3ca2e(%rip), %xmm0 # 0x43308
cvtsi2sdl 0x3c8fa(%rip), %xmm1 # 0x431dc
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d8(%rbp)
movsd -0x3d8(%rbp), %xmm0
movsd 0x26712(%rip), %xmm1    # 0x2d010
subsd %xmm0, %xmm1
mulsd %xmm1, %xmm0
cvtsi2sdl 0x3c8ce(%rip), %xmm1 # 0x431dc
divsd %xmm1, %xmm0
movsd %xmm0, -0x3d8(%rbp)
leaq 0x269a3(%rip), %rsi     # 0x2d2c4
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x4a8(%rbp)
jmp 0x6936
movq -0x4a8(%rbp), %rdi
cvtsi2sdl 0x3c9c3(%rip), %xmm0 # 0x43308
cvtsi2sdl 0x3c88f(%rip), %xmm1 # 0x431dc
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x4b0(%rbp)
jmp 0x695f
movq -0x4b0(%rbp), %rdi
leaq 0x2692b(%rip), %rsi     # 0x2d298
callq 0x31f0
movq %rax, -0x4b8(%rbp)
jmp 0x697b
movsd -0x3d8(%rbp), %xmm0
callq 0x3190
movq -0x4b8(%rbp), %rdi
movsd 0x26691(%rip), %xmm1    # 0x2d028
mulsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x4c0(%rbp)
jmp 0x69a9
movq -0x4c0(%rbp), %rdi
movq 0x3c609(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x69be
leaq 0x26916(%rip), %rsi     # 0x2d2db
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x4c8(%rbp)
jmp 0x69da
movq -0x4c8(%rbp), %rdi
movl 0x3c929(%rip), %esi     # 0x43310
callq 0x3330
movq %rax, -0x4d0(%rbp)
jmp 0x69f5
movq -0x4d0(%rbp), %rdi
movq 0x3c5bd(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6a0a
leaq 0x268e0(%rip), %rsi     # 0x2d2f1
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x4d8(%rbp)
jmp 0x6a26
movq -0x4d8(%rbp), %rdi
cvtsi2sdl 0x3c8db(%rip), %xmm0 # 0x43310
cvtsi2sdl 0x3c8c7(%rip), %xmm1 # 0x43304
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x4e0(%rbp)
jmp 0x6a4f
movq -0x4e0(%rbp), %rdi
leaq 0x268b7(%rip), %rsi     # 0x2d314
callq 0x31f0
movq %rax, -0x4e8(%rbp)
jmp 0x6a6b
movq -0x4e8(%rbp), %rdi
movsd -0x3b8(%rbp), %xmm0
callq 0x3360
movq %rax, -0x4f0(%rbp)
jmp 0x6a88
movq -0x4f0(%rbp), %rdi
movq 0x3c52a(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6a9d
leaq 0x26878(%rip), %rsi     # 0x2d31c
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x4f8(%rbp)
jmp 0x6ab9
movq -0x4f8(%rbp), %rdi
movl 0x3c84e(%rip), %esi     # 0x43314
callq 0x3330
movq %rax, -0x500(%rbp)
jmp 0x6ad4
movq -0x500(%rbp), %rdi
movq 0x3c4de(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6ae9
leaq 0x2684b(%rip), %rsi     # 0x2d33b
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x508(%rbp)
jmp 0x6b05
movq -0x508(%rbp), %rdi
cvtsi2sdl 0x3c800(%rip), %xmm0 # 0x43314
cvtsi2sdl 0x3c7e8(%rip), %xmm1 # 0x43304
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x510(%rbp)
jmp 0x6b2e
movq -0x510(%rbp), %rdi
leaq 0x267d8(%rip), %rsi     # 0x2d314
callq 0x31f0
movq %rax, -0x518(%rbp)
jmp 0x6b4a
movq -0x518(%rbp), %rdi
movsd -0x3c0(%rbp), %xmm0
callq 0x3360
movq %rax, -0x520(%rbp)
jmp 0x6b67
movq -0x520(%rbp), %rdi
movq 0x3c44b(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6b7c
leaq 0x267ea(%rip), %rsi     # 0x2d36d
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x528(%rbp)
jmp 0x6b98
movq -0x528(%rbp), %rdi
movl 0x3c773(%rip), %esi     # 0x43318
callq 0x3330
movq %rax, -0x530(%rbp)
jmp 0x6bb3
movq -0x530(%rbp), %rdi
movq 0x3c3ff(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6bc8
leaq 0x267bd(%rip), %rsi     # 0x2d38c
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x538(%rbp)
jmp 0x6be4
movq -0x538(%rbp), %rdi
cvtsi2sdl 0x3c725(%rip), %xmm0 # 0x43318
cvtsi2sdl 0x3c709(%rip), %xmm1 # 0x43304
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x540(%rbp)
jmp 0x6c0d
movq -0x540(%rbp), %rdi
leaq 0x266f9(%rip), %rsi     # 0x2d314
callq 0x31f0
movq %rax, -0x548(%rbp)
jmp 0x6c29
movq -0x548(%rbp), %rdi
movsd -0x3c8(%rbp), %xmm0
callq 0x3360
movq %rax, -0x550(%rbp)
jmp 0x6c46
movq -0x550(%rbp), %rdi
movq 0x3c36c(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6c5b
leaq 0x26761(%rip), %rsi     # 0x2d3c3
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x558(%rbp)
jmp 0x6c77
movq -0x558(%rbp), %rdi
movsd 0x3c732(%rip), %xmm0    # 0x433b8
cvtsi2sdl 0x3c692(%rip), %xmm1 # 0x43320
movsd 0x3c742(%rip), %xmm2    # 0x433d8
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x560(%rbp)
jmp 0x6cac
movq -0x560(%rbp), %rdi
movq 0x3c306(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6cc1
leaq 0x266f6(%rip), %rsi     # 0x2d3be
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x568(%rbp)
jmp 0x6cdd
movq -0x568(%rbp), %rdi
movsd 0x3c6d4(%rip), %xmm0    # 0x433c0
cvtsi2sdl 0x3c62c(%rip), %xmm1 # 0x43320
movsd 0x3c6dc(%rip), %xmm2    # 0x433d8
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x570(%rbp)
jmp 0x6d12
movq -0x570(%rbp), %rdi
movq 0x3c2a0(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6d27
leaq 0x266b4(%rip), %rsi     # 0x2d3e2
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x578(%rbp)
jmp 0x6d43
movq -0x578(%rbp), %rdi
movsd 0x3c676(%rip), %xmm0    # 0x433c8
cvtsi2sdl 0x3c5c6(%rip), %xmm1 # 0x43320
movsd 0x3c676(%rip), %xmm2    # 0x433d8
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x580(%rbp)
jmp 0x6d78
movq -0x580(%rbp), %rdi
movq 0x3c23a(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6d8d
leaq 0x26674(%rip), %rsi     # 0x2d408
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x588(%rbp)
jmp 0x6da9
movq -0x588(%rbp), %rdi
movsd 0x3c618(%rip), %xmm0    # 0x433d0
cvtsi2sdl 0x3c560(%rip), %xmm1 # 0x43320
movsd 0x3c610(%rip), %xmm2    # 0x433d8
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x590(%rbp)
jmp 0x6dde
movq -0x590(%rbp), %rdi
movq 0x3c1d4(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6df3
leaq 0x26637(%rip), %rsi     # 0x2d431
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x598(%rbp)
jmp 0x6e0f
movq -0x598(%rbp), %rdi
movl 0x3c3c8(%rip), %esi     # 0x431e4
callq 0x3330
movq %rax, -0x5a0(%rbp)
jmp 0x6e2a
movq -0x5a0(%rbp), %rdi
movq 0x3c188(%rip), %rsi     # 0x42fc0
callq 0x3240
movq %rax, -0x5a8(%rbp)
jmp 0x6e46
movq -0x5a8(%rbp), %rdi
movq 0x3c16c(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6e5b
leaq 0x265d5(%rip), %rsi     # 0x2d437
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x5b0(%rbp)
jmp 0x6e77
movq -0x5b0(%rbp), %rdi
movl 0x3c36c(%rip), %esi     # 0x431f0
callq 0x3330
movq %rax, -0x5b8(%rbp)
jmp 0x6e92
movq -0x5b8(%rbp), %rdi
movq 0x3c120(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6ea7
leaq 0x265b1(%rip), %rsi     # 0x2d45f
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x5c0(%rbp)
jmp 0x6ec3
movq -0x5c0(%rbp), %rdi
movl 0x3c324(%rip), %esi     # 0x431f4
callq 0x3330
movq %rax, -0x5c8(%rbp)
jmp 0x6ede
movq -0x5c8(%rbp), %rdi
movq 0x3c0d4(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6ef3
leaq 0x2658d(%rip), %rsi     # 0x2d487
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x5d0(%rbp)
jmp 0x6f0f
movq -0x5d0(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0xe8(%rax), %esi
callq 0x3330
movq %rax, -0x5d8(%rbp)
jmp 0x6f31
movq -0x5d8(%rbp), %rdi
movq 0x3c081(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6f46
leaq 0x26553(%rip), %rsi     # 0x2d4a0
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x5e0(%rbp)
jmp 0x6f62
movq -0x5e0(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0xec(%rax), %esi
callq 0x3330
movq %rax, -0x5e8(%rbp)
jmp 0x6f84
movq -0x5e8(%rbp), %rdi
movq 0x3c02e(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6f99
leaq 0x26519(%rip), %rsi     # 0x2d4b9
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x5f0(%rbp)
jmp 0x6fb5
movq -0x5f0(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0xf0(%rax), %esi
callq 0x3330
movq %rax, -0x5f8(%rbp)
jmp 0x6fd7
movq -0x5f8(%rbp), %rdi
movq 0x3bfdb(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x6fec
leaq 0x264df(%rip), %rsi     # 0x2d4d2
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x600(%rbp)
jmp 0x7008
movq -0x600(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0xf4(%rax), %esi
callq 0x3330
movq %rax, -0x608(%rbp)
jmp 0x702a
movq -0x608(%rbp), %rdi
movq 0x3bf88(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x703f
leaq 0x264a6(%rip), %rsi     # 0x2d4ec
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x610(%rbp)
jmp 0x705b
movq -0x610(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0xf8(%rax), %esi
callq 0x3330
movq %rax, -0x618(%rbp)
jmp 0x707d
movq -0x618(%rbp), %rdi
movq 0x3bf35(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7092
leaq 0x2646d(%rip), %rsi     # 0x2d506
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x620(%rbp)
jmp 0x70ae
movq -0x620(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0xfc(%rax), %esi
callq 0x3330
movq %rax, -0x628(%rbp)
jmp 0x70d0
movq -0x628(%rbp), %rdi
movq 0x3bee2(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x70e5
leaq 0x26434(%rip), %rsi     # 0x2d520
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x630(%rbp)
jmp 0x7101
movq -0x630(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0x100(%rax), %esi
callq 0x3330
movq %rax, -0x638(%rbp)
jmp 0x7123
movq -0x638(%rbp), %rdi
movq 0x3be8f(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7138
leaq 0x263fb(%rip), %rsi     # 0x2d53a
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x640(%rbp)
jmp 0x7154
movq -0x640(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0x104(%rax), %esi
callq 0x3330
movq %rax, -0x648(%rbp)
jmp 0x7176
movq -0x648(%rbp), %rdi
movq 0x3be3c(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x718b
leaq 0x263c2(%rip), %rsi     # 0x2d554
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x650(%rbp)
jmp 0x71a7
movq -0x650(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0x108(%rax), %esi
callq 0x3330
movq %rax, -0x658(%rbp)
jmp 0x71c9
movq -0x658(%rbp), %rdi
movq 0x3bde9(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x71de
leaq 0x2638a(%rip), %rsi     # 0x2d56f
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x660(%rbp)
jmp 0x71fa
movq -0x660(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0x10c(%rax), %esi
callq 0x3330
movq %rax, -0x668(%rbp)
jmp 0x721c
movq -0x668(%rbp), %rdi
movq 0x3bd96(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7231
leaq 0x26352(%rip), %rsi     # 0x2d58a
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x670(%rbp)
jmp 0x724d
movq -0x670(%rbp), %rdi
movq -0x3e8(%rbp), %rax
movl 0x110(%rax), %esi
callq 0x3330
movq %rax, -0x678(%rbp)
jmp 0x726f
movq -0x678(%rbp), %rdi
movq 0x3bd43(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7284
leaq 0x2631b(%rip), %rsi     # 0x2d5a6
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x680(%rbp)
jmp 0x72a0
callq 0x3150
movq -0x680(%rbp), %rdi
movq 0x3c005(%rip), %rcx     # 0x432b8
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0x25d5d(%rip), %xmm1    # 0x2d020
divsd %xmm1, %xmm0
callq 0x3360
movq %rax, -0x688(%rbp)
jmp 0x72d5
movq -0x688(%rbp), %rdi
leaq 0x262d2(%rip), %rsi     # 0x2d5b5
callq 0x31f0
movq %rax, -0x690(%rbp)
jmp 0x72f1
movq -0x690(%rbp), %rdi
movq 0x3bcc1(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7306
leaq 0x262b1(%rip), %rsi     # 0x2d5be
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x698(%rbp)
jmp 0x7322
movq -0x698(%rbp), %rdi
movsd 0x3bfa7(%rip), %xmm0    # 0x432d8
callq 0x3360
movq %rax, -0x6a0(%rbp)
jmp 0x733f
movq -0x6a0(%rbp), %rdi
leaq 0x26268(%rip), %rsi     # 0x2d5b5
callq 0x31f0
movq %rax, -0x6a8(%rbp)
jmp 0x735b
movq -0x6a8(%rbp), %rdi
movq 0x3bc57(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7370
leaq 0x2626e(%rip), %rsi     # 0x2d5e5
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x6b0(%rbp)
jmp 0x738c
movq -0x6b0(%rbp), %rdi
movsd 0x3bf2d(%rip), %xmm0    # 0x432c8
callq 0x3360
movq %rax, -0x6b8(%rbp)
jmp 0x73a9
movq -0x6b8(%rbp), %rdi
leaq 0x261fe(%rip), %rsi     # 0x2d5b5
callq 0x31f0
movq %rax, -0x6c0(%rbp)
jmp 0x73c5
movq -0x6c0(%rbp), %rdi
movq 0x3bbed(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x73da
leaq 0x26225(%rip), %rsi     # 0x2d606
leaq -0x390(%rbp), %rdi
callq 0x31f0
movq %rax, -0x6c8(%rbp)
jmp 0x73f6
movq -0x6c8(%rbp), %rdi
movsd 0x3bee3(%rip), %xmm0    # 0x432e8
callq 0x3360
movq %rax, -0x6d0(%rbp)
jmp 0x7413
movq -0x6d0(%rbp), %rdi
leaq 0x26194(%rip), %rsi     # 0x2d5b5
callq 0x31f0
movq %rax, -0x6d8(%rbp)
jmp 0x742f
movq -0x6d8(%rbp), %rdi
movq 0x3bb83(%rip), %rsi     # 0x42fc0
callq 0x3240
movq %rax, -0x6e0(%rbp)
jmp 0x744b
movq -0x6e0(%rbp), %rdi
movq 0x3bb67(%rip), %rsi     # 0x42fc0
callq 0x3240
jmp 0x7460
leaq -0x390(%rbp), %rdi
callq 0x32b0
jmp 0x746e
leaq -0x390(%rbp), %rdi
callq 0x32d0
leaq -0x180(%rbp), %rdi
callq 0x3090
addq $0x6e0, %rsp            # imm = 0x6E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x32d0
leaq -0x180(%rbp), %rdi
callq 0x3090
movq -0x188(%rbp), %rdi
callq 0x3340
nopw %cs:(%rax,%rax)