// File: thunlp[P]KB2E/CTransR/Test_CTransR.cpp
// Function: Test::run()
void run()
    {

        FILE* f1 = fopen(("fb_relation2vec"+version).c_str(),"r");
        FILE* f2 = fopen(("relation2vec"+version).c_str(),"r");
        FILE* f3 = fopen(("entity2vec"+version).c_str(),"r");
        cout<<relation_num<<' '<<entity_num<<' '<<fb_relation_num<<endl;
        fb_relation_vec.resize(fb_relation_num);
        for (int i=0; i<relation_num;i++)
        {
            fb_relation_vec[i].resize(n);
            for (int ii=0; ii<n; ii++)
                fscanf(f1,"%lf",&fb_relation_vec[i][ii]);
        }
        relation_vec.resize(relation_num);
        for (int i=0; i<relation_num;i++)
        {
            relation_vec[i].resize(n);
            for (int ii=0; ii<n; ii++)
                fscanf(f2,"%lf",&relation_vec[i][ii]);
        }

        entity_vec.resize(entity_num);
        cout<<entity_num<<endl;
        for (int i=0; i<entity_num;i++)
        {
            entity_vec[i].resize(n);
            for (int ii=0; ii<n; ii++)
                fscanf(f3,"%lf",&entity_vec[i][ii]);
        }

        FILE* f4 = fopen(("A.txt"+version).c_str(),"r");

        A.resize(fb_relation_num);
		for (int i=0; i<fb_relation_num; i++)
		{
		    A[i].resize(n);
		    for (int jj=0; jj<n; jj++)
		    {
		        A[i][jj].resize(m);
		        for (int ii=0; ii<m; ii++)
                    fscanf(f4,"%lf",&A[i][jj][ii]);
		    }
		}
		fclose(f4);
        cout<<"Here"<<endl;
		double lsum=0 ,lsum_filter= 0;
		double rsum = 0,rsum_filter=0;
		double lp_n=0,lp_n_filter=0;
		double rp_n=0,rp_n_filter=0;
		map<int,double> lsum_r,lsum_filter_r;
		map<int,double> rsum_r,rsum_filter_r;
		map<int,double> lp_n_r,lp_n_filter_r;
		map<int,double> rp_n_r,rp_n_filter_r;
		map<int,int> rel_num;
        //cout<<"here"<<endl;


        FILE* f_test_cluster = fopen("../cluster/output/test_cluster.txt","r");
        for (int testid = 0; testid<fb_l.size(); testid+=1)
		{
		    vector<int> h_rel,l_rel;
		    for (int i=0; i<entity_num; i++)
            {
                int x;
                fscanf(f_test_cluster,"%d",&x);
                h_rel.push_back(x);
            }
            for (int i=0; i<entity_num; i++)
            {
                int x;
                fscanf(f_test_cluster,"%d",&x);
                l_rel.push_back(x);
            }
			int h = fb_h[testid];
			int l = fb_l[testid];
			int rel = fb_r[testid];



            if (h_rel[l]!=l_rel[h])
                cout<<"wrong"<<h_rel[l]<<' '<<l_rel[h]<<' '<<h<<' '<<l<<endl;

			double tmp = 0;
			rel_num[rel]+=1;
			vector<pair<int,double> > a;
			for (int i=0; i<entity_num; i++)
			{
				double sum  = calc_sum(i,l,h_rel[i]);
			//	for (int j=0; j<fb2cluster[rel].size(); j++)
              //      sum+= calc_sum(i,l,fb2cluster[rel][j]);
				a.push_back(make_pair(i,sum));
			}
			sort(a.begin(),a.end(),cmp);
			double ttt=0;
			int filter = 0;
			for (int i=a.size()-1; i>=0; i--)
			{
			    if (ok[make_pair(a[i].first,rel)].count(l)==0)
			    	filter+=1;
				if (a[i].first ==h)
				{
					lsum+=a.size()-i;
					lsum_filter+=filter+1;
					lsum_r[rel]+=a.size()-i;
					lsum_filter_r[rel]+=filter+1;
					if (a.size()-i<=10)
					{
						lp_n+=1;
						lp_n_r[rel]+=1;
					}
					if (filter<10)
					{
						lp_n_filter+=1;
						lp_n_filter_r[rel]+=1;
					}
					break;
				}
			}
			a.clear();
			for (int i=0; i<entity_num; i++)
			{
				double sum =  calc_sum(h,i,l_rel[i]);
				//for (int j=0; j<fb2cluster[rel].size(); j++)
                  //  sum+= calc_sum(h,i,fb2cluster[rel][j]);
				a.push_back(make_pair(i,sum));
			}
			sort(a.begin(),a.end(),cmp);
			ttt=0;
			filter=0;
			for (int i=a.size()-1; i>=0; i--)
			{
			    if (ok[make_pair(h,rel)].count(a[i].first)==0)
			    	filter+=1;
				if (a[i].first==l)
				{
					rsum+=a.size()-i;
					rsum_filter+=filter+1;
					rsum_r[rel]+=a.size()-i;
					rsum_filter_r[rel]+=filter+1;
					if (a.size()-i<=10)
					{
						rp_n+=1;
						rp_n_r[rel]+=1;
					}
					if (filter<10)
					{
						rp_n_filter+=1;
						rp_n_filter_r[rel]+=1;
					}
					break;
				}
			}
			//if (testid%100==0)
			//cout<<testid<<":"<<"\t"<<lsum/(testid+1)<<' '<<lp_n/(testid+1)<<' '<<rsum/(testid+1)<<' '<<rp_n/(testid+1)<<"\t"<<lsum_filter/(testid+1)<<' '<<lp_n_filter/(testid+1)<<' '<<rsum_filter/(testid+1)<<' '<<rp_n_filter/(testid+1)<<endl;
		}
		cout<<"left:"<<lsum/fb_l.size()<<'\t'<<lp_n/fb_l.size()<<"\t"<<lsum_filter/fb_l.size()<<'\t'<<lp_n_filter/fb_l.size()<<endl;
		cout<<"right:"<<rsum/fb_r.size()<<'\t'<<rp_n/fb_r.size()<<'\t'<<rsum_filter/fb_r.size()<<'\t'<<rp_n_filter/fb_r.size()<<endl;
		for (int rel=0; rel<fb_relation_num; rel++)
		{
			int num = rel_num[rel];
			cout<<"rel:"<<id2relation[rel]<<' '<<num<<endl;
			cout<<"left:"<<lsum_r[rel]/num<<'\t'<<lp_n_r[rel]/num<<"\t"<<lsum_filter_r[rel]/num<<'\t'<<lp_n_filter_r[rel]/num<<endl;
			cout<<"right:"<<rsum_r[rel]/num<<'\t'<<rp_n_r[rel]/num<<'\t'<<rsum_filter_r[rel]/num<<'\t'<<rp_n_filter_r[rel]/num<<endl;
		}
    }

// Assembly:
subq $0x7a8, %rsp            # imm = 0x7A8
movq %rdi, 0x7a0(%rsp)
movq 0x7a0(%rsp), %rax
movq %rax, 0x3b0(%rsp)
leaq 0x11d6c(%rip), %rsi     # 0x16102
leaq 0x1be7b(%rip), %rdx     # 0x20218
leaq 0x778(%rsp), %rdi
movq %rdi, 0x3b8(%rsp)
callq 0x9f00
movq 0x3b8(%rsp), %rdi
callq 0x20c0
movq %rax, %rdi
leaq 0x11cae(%rip), %rsi     # 0x16077
callq 0x2270
movq %rax, 0x3c0(%rsp)
jmp 0x43d8
leaq 0x778(%rsp), %rdi
callq 0x23b8
movq 0x3c0(%rsp), %rax
movq %rax, 0x798(%rsp)
leaq 0x11d09(%rip), %rsi     # 0x16105
leaq 0x1be15(%rip), %rdx     # 0x20218
leaq 0x740(%rsp), %rdi
movq %rdi, 0x3a0(%rsp)
callq 0x9f00
movq 0x3a0(%rsp), %rdi
callq 0x20c0
movq %rax, %rdi
leaq 0x11c48(%rip), %rsi     # 0x16077
callq 0x2270
movq %rax, 0x3a8(%rsp)
jmp 0x443e
leaq 0x740(%rsp), %rdi
callq 0x23b8
movq 0x3a8(%rsp), %rax
movq %rax, 0x760(%rsp)
leaq 0x11cb0(%rip), %rsi     # 0x16112
leaq 0x1bdaf(%rip), %rdx     # 0x20218
leaq 0x718(%rsp), %rdi
movq %rdi, 0x390(%rsp)
callq 0x9f00
movq 0x390(%rsp), %rdi
callq 0x20c0
movq %rax, %rdi
leaq 0x11be2(%rip), %rsi     # 0x16077
callq 0x2270
movq %rax, 0x398(%rsp)
jmp 0x44a4
leaq 0x718(%rsp), %rdi
callq 0x23b8
movq 0x398(%rsp), %rax
movq %rax, 0x738(%rsp)
movl 0x1bf71(%rip), %esi     # 0x20438
movq 0x1bb0a(%rip), %rdi     # 0x1ffd8
callq 0x2320
movq %rax, %rdi
movl $0x20, %esi
callq 0x2260
movq %rax, %rdi
movl 0x1bf53(%rip), %esi     # 0x2043c
callq 0x2320
movq %rax, %rdi
movl $0x20, %esi
callq 0x2260
movq %rax, %rdi
movl 0x1bf3c(%rip), %esi     # 0x20440
callq 0x2320
movq %rax, %rdi
movq 0x1baad(%rip), %rsi     # 0x1ffc0
callq 0x2210
movq 0x3b0(%rsp), %rdi
addq $0x30, %rdi
movslq 0x1bf15(%rip), %rsi     # 0x20440
callq 0xa030
movl $0x0, 0x714(%rsp)
movl 0x714(%rsp), %eax
cmpl 0x1bef0(%rip), %eax     # 0x20438
jge 0x4683
movq 0x3b0(%rsp), %rdi
addq $0x30, %rdi
movslq 0x714(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x1bc7b(%rip), %rsi     # 0x201ec
callq 0xa0f0
movl $0x0, 0x710(%rsp)
movl 0x710(%rsp), %eax
cmpl 0x1bc5e(%rip), %eax     # 0x201ec
jge 0x466b
movq 0x3b0(%rsp), %rdi
movq 0x798(%rsp), %rax
movq %rax, 0x388(%rsp)
addq $0x30, %rdi
movslq 0x714(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x710(%rsp), %rsi
callq 0x3b70
movq 0x388(%rsp), %rdi
movq %rax, %rdx
leaq 0x11b3e(%rip), %rsi     # 0x1611d
movb $0x0, %al
callq 0x2370
movl 0x710(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x710(%rsp)
jmp 0x4581
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
leaq 0x778(%rsp), %rdi
callq 0x23b8
jmp 0x62df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
leaq 0x740(%rsp), %rdi
callq 0x23b8
jmp 0x62df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
leaq 0x718(%rsp), %rdi
callq 0x23b8
jmp 0x62df
jmp 0x466d
movl 0x714(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x714(%rsp)
jmp 0x453b
movq 0x3b0(%rsp), %rdi
movslq 0x1bda6(%rip), %rsi     # 0x20438
callq 0xa030
movl $0x0, 0x70c(%rsp)
movl 0x70c(%rsp), %eax
cmpl 0x1bd89(%rip), %eax     # 0x20438
jge 0x476c
movq 0x3b0(%rsp), %rdi
movslq 0x70c(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x1bb18(%rip), %rsi     # 0x201ec
callq 0xa0f0
movl $0x0, 0x708(%rsp)
movl 0x708(%rsp), %eax
cmpl 0x1bafb(%rip), %eax     # 0x201ec
jge 0x4754
movq 0x3b0(%rsp), %rdi
movq 0x760(%rsp), %rax
movq %rax, 0x380(%rsp)
movslq 0x70c(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x708(%rsp), %rsi
callq 0x3b70
movq 0x380(%rsp), %rdi
movq %rax, %rdx
leaq 0x119e3(%rip), %rsi     # 0x1611d
movb $0x0, %al
callq 0x2370
movl 0x708(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x708(%rsp)
jmp 0x46e4
jmp 0x4756
movl 0x70c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x70c(%rsp)
jmp 0x46a2
movq 0x3b0(%rsp), %rdi
addq $0x18, %rdi
movslq 0x1bcbd(%rip), %rsi     # 0x2043c
callq 0xa030
movl 0x1bcb2(%rip), %esi     # 0x2043c
movq 0x1b847(%rip), %rdi     # 0x1ffd8
callq 0x2320
movq %rax, %rdi
movq 0x1b820(%rip), %rsi     # 0x1ffc0
callq 0x2210
movl $0x0, 0x704(%rsp)
movl 0x704(%rsp), %eax
cmpl 0x1bc7f(%rip), %eax     # 0x2043c
jge 0x4882
movq 0x3b0(%rsp), %rdi
addq $0x18, %rdi
movslq 0x704(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x1ba06(%rip), %rsi     # 0x201ec
callq 0xa0f0
movl $0x0, 0x700(%rsp)
movl 0x700(%rsp), %eax
cmpl 0x1b9e9(%rip), %eax     # 0x201ec
jge 0x486a
movq 0x3b0(%rsp), %rdi
movq 0x738(%rsp), %rax
movq %rax, 0x378(%rsp)
addq $0x18, %rdi
movslq 0x704(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x700(%rsp), %rsi
callq 0x3b70
movq 0x378(%rsp), %rdi
movq %rax, %rdx
leaq 0x118cd(%rip), %rsi     # 0x1611d
movb $0x0, %al
callq 0x2370
movl 0x700(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x700(%rsp)
jmp 0x47f6
jmp 0x486c
movl 0x704(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x704(%rsp)
jmp 0x47b0
leaq 0x11898(%rip), %rsi     # 0x16121
leaq 0x1b988(%rip), %rdx     # 0x20218
leaq 0x6d8(%rsp), %rdi
movq %rdi, 0x368(%rsp)
callq 0x9f00
movq 0x368(%rsp), %rdi
callq 0x20c0
movq %rax, %rdi
leaq 0x117bb(%rip), %rsi     # 0x16077
callq 0x2270
movq %rax, 0x370(%rsp)
jmp 0x48cb
leaq 0x6d8(%rsp), %rdi
callq 0x23b8
movq 0x370(%rsp), %rax
movq 0x3b0(%rsp), %rdi
movq %rax, 0x6f8(%rsp)
addq $0x48, %rdi
movslq 0x1bb45(%rip), %rsi     # 0x20440
callq 0xa190
movl $0x0, 0x6d4(%rsp)
movl 0x6d4(%rsp), %eax
cmpl 0x1bb28(%rip), %eax     # 0x20440
jge 0x4a88
movq 0x3b0(%rsp), %rdi
addq $0x48, %rdi
movslq 0x6d4(%rsp), %rsi
callq 0xa230
movq %rax, %rdi
movslq 0x1b8ab(%rip), %rsi     # 0x201ec
callq 0xa030
movl $0x0, 0x6d0(%rsp)
movl 0x6d0(%rsp), %eax
cmpl 0x1b88e(%rip), %eax     # 0x201ec
jge 0x4a70
movq 0x3b0(%rsp), %rdi
addq $0x48, %rdi
movslq 0x6d4(%rsp), %rsi
callq 0xa230
movq %rax, %rdi
movslq 0x6d0(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x1b859(%rip), %rsi     # 0x201f0
callq 0xa0f0
movl $0x0, 0x6cc(%rsp)
movl 0x6cc(%rsp), %eax
cmpl 0x1b83c(%rip), %eax     # 0x201f0
jge 0x4a58
movq 0x3b0(%rsp), %rdi
movq 0x6f8(%rsp), %rax
movq %rax, 0x360(%rsp)
addq $0x48, %rdi
movslq 0x6d4(%rsp), %rsi
callq 0xa230
movq %rax, %rdi
movslq 0x6d0(%rsp), %rsi
callq 0xa0d0
movq %rax, %rdi
movslq 0x6cc(%rsp), %rsi
callq 0x3b70
movq 0x360(%rsp), %rdi
movq %rax, %rdx
leaq 0x11708(%rip), %rsi     # 0x1611d
movb $0x0, %al
callq 0x2370
movl 0x6cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6cc(%rsp)
jmp 0x49a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
leaq 0x6d8(%rsp), %rdi
callq 0x23b8
jmp 0x62df
jmp 0x4a5a
movl 0x6d0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6d0(%rsp)
jmp 0x4951
jmp 0x4a72
movl 0x6d4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6d4(%rsp)
jmp 0x490b
movq 0x6f8(%rsp), %rdi
callq 0x21d0
movq 0x1b53c(%rip), %rdi     # 0x1ffd8
leaq 0x11684(%rip), %rsi     # 0x16127
callq 0x21c0
movq %rax, %rdi
movq 0x1b50e(%rip), %rsi     # 0x1ffc0
callq 0x2210
movq $0x0, 0x6c0(%rsp)
movq $0x0, 0x6b8(%rsp)
movq $0x0, 0x6b0(%rsp)
movq $0x0, 0x6a8(%rsp)
movq $0x0, 0x6a0(%rsp)
movq $0x0, 0x698(%rsp)
movq $0x0, 0x690(%rsp)
movq $0x0, 0x688(%rsp)
leaq 0x658(%rsp), %rdi
callq 0xa250
leaq 0x628(%rsp), %rdi
callq 0xa250
leaq 0x5f8(%rsp), %rdi
callq 0xa250
leaq 0x5c8(%rsp), %rdi
callq 0xa250
leaq 0x598(%rsp), %rdi
callq 0xa250
leaq 0x568(%rsp), %rdi
callq 0xa250
leaq 0x538(%rsp), %rdi
callq 0xa250
leaq 0x508(%rsp), %rdi
callq 0xa250
leaq 0x4d8(%rsp), %rdi
callq 0x3af0
leaq 0x11599(%rip), %rdi     # 0x1612c
leaq 0x114dd(%rip), %rsi     # 0x16077
callq 0x2270
movq %rax, 0x358(%rsp)
jmp 0x4ba9
movq 0x358(%rsp), %rax
movq %rax, 0x4d0(%rsp)
movl $0x0, 0x4cc(%rsp)
movq 0x3b0(%rsp), %rdi
movslq 0x4cc(%rsp), %rax
movq %rax, 0x350(%rsp)
addq $0xd8, %rdi
callq 0xa260
movq %rax, %rcx
movq 0x350(%rsp), %rax
cmpq %rcx, %rax
jae 0x5917
leaq 0x4b0(%rsp), %rdi
callq 0x8130
leaq 0x498(%rsp), %rdi
callq 0x8130
movl $0x0, 0x494(%rsp)
movl 0x494(%rsp), %eax
cmpl 0x1b80e(%rip), %eax     # 0x2043c
jge 0x4cae
movq 0x4d0(%rsp), %rdi
leaq 0x11454(%rip), %rsi     # 0x16093
xorl %eax, %eax
leaq 0x490(%rsp), %rdx
callq 0x2370
jmp 0x4c50
leaq 0x4b0(%rsp), %rdi
leaq 0x490(%rsp), %rsi
callq 0x4240
jmp 0x4c67
jmp 0x4c69
movl 0x494(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x494(%rsp)
jmp 0x4c21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
jmp 0x626a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
jmp 0x58f8
movl $0x0, 0x48c(%rsp)
movl 0x48c(%rsp), %eax
cmpl 0x1b776(%rip), %eax     # 0x2043c
jge 0x4d14
movq 0x4d0(%rsp), %rdi
leaq 0x113bc(%rip), %rsi     # 0x16093
xorl %eax, %eax
leaq 0x488(%rsp), %rdx
callq 0x2370
jmp 0x4ce8
leaq 0x498(%rsp), %rdi
leaq 0x488(%rsp), %rsi
callq 0x4240
jmp 0x4cff
jmp 0x4d01
movl 0x48c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x48c(%rsp)
jmp 0x4cb9
movq 0x3b0(%rsp), %rdi
addq $0xc0, %rdi
movslq 0x4cc(%rsp), %rsi
callq 0xa280
movq 0x3b0(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x484(%rsp)
addq $0xd8, %rdi
movslq 0x4cc(%rsp), %rsi
callq 0xa280
movq 0x3b0(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x480(%rsp)
addq $0xf0, %rdi
movslq 0x4cc(%rsp), %rsi
callq 0xa280
movl (%rax), %eax
movl %eax, 0x47c(%rsp)
movslq 0x480(%rsp), %rsi
leaq 0x4b0(%rsp), %rdi
callq 0xa280
movl (%rax), %eax
movl %eax, 0x34c(%rsp)
movslq 0x484(%rsp), %rsi
leaq 0x498(%rsp), %rdi
callq 0xa280
movq %rax, %rcx
movl 0x34c(%rsp), %eax
cmpl (%rcx), %eax
je 0x4ee9
movq 0x1b209(%rip), %rdi     # 0x1ffd8
leaq 0x11379(%rip), %rsi     # 0x1614f
callq 0x21c0
movq %rax, 0x340(%rsp)
jmp 0x4de5
movslq 0x480(%rsp), %rsi
leaq 0x4b0(%rsp), %rdi
callq 0xa280
movq 0x340(%rsp), %rdi
movl (%rax), %esi
callq 0x2320
movq %rax, 0x338(%rsp)
jmp 0x4e13
movq 0x338(%rsp), %rdi
movl $0x20, %esi
callq 0x2260
movq %rax, 0x330(%rsp)
jmp 0x4e2f
movslq 0x484(%rsp), %rsi
leaq 0x498(%rsp), %rdi
callq 0xa280
movq 0x330(%rsp), %rdi
movl (%rax), %esi
callq 0x2320
movq %rax, 0x328(%rsp)
jmp 0x4e5d
movq 0x328(%rsp), %rdi
movl $0x20, %esi
callq 0x2260
movq %rax, 0x320(%rsp)
jmp 0x4e79
movq 0x320(%rsp), %rdi
movl 0x484(%rsp), %esi
callq 0x2320
movq %rax, 0x318(%rsp)
jmp 0x4e97
movq 0x318(%rsp), %rdi
movl $0x20, %esi
callq 0x2260
movq %rax, 0x310(%rsp)
jmp 0x4eb3
movq 0x310(%rsp), %rdi
movl 0x480(%rsp), %esi
callq 0x2320
movq %rax, 0x308(%rsp)
jmp 0x4ed1
movq 0x308(%rsp), %rdi
movq 0x1b0e0(%rip), %rsi     # 0x1ffc0
callq 0x2210
jmp 0x4ee7
jmp 0x4ee9
movq $0x0, 0x470(%rsp)
leaq 0x4d8(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0x4060
movq %rax, 0x300(%rsp)
jmp 0x4f14
movq 0x300(%rsp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
leaq 0x458(%rsp), %rdi
callq 0xa2a0
movl $0x0, 0x454(%rsp)
movl 0x454(%rsp), %eax
cmpl 0x1b4f4(%rip), %eax     # 0x2043c
jge 0x5050
movl 0x454(%rsp), %eax
movl %eax, 0x2f0(%rsp)
movl 0x480(%rsp), %ecx
movl %ecx, 0x2f4(%rsp)
movslq %eax, %rsi
leaq 0x4b0(%rsp), %rdi
callq 0xa280
movq 0x3b0(%rsp), %rdi
movl 0x2f0(%rsp), %esi
movl 0x2f4(%rsp), %edx
movl (%rax), %ecx
callq 0xa2b0
movsd %xmm0, 0x2f8(%rsp)
jmp 0x4fa2
movsd 0x2f8(%rsp), %xmm0
movsd %xmm0, 0x448(%rsp)
leaq 0x454(%rsp), %rdi
leaq 0x448(%rsp), %rsi
callq 0xa910
movsd %xmm0, 0x2e0(%rsp)
movl %eax, 0x2ec(%rsp)
jmp 0x4fdb
movsd 0x2e0(%rsp), %xmm0
movl 0x2ec(%rsp), %eax
movl %eax, 0x438(%rsp)
movsd %xmm0, 0x440(%rsp)
leaq 0x458(%rsp), %rdi
leaq 0x438(%rsp), %rsi
callq 0xa8e0
jmp 0x5012
jmp 0x5014
movl 0x454(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x454(%rsp)
jmp 0x4f3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x770(%rsp)
movl %eax, 0x76c(%rsp)
leaq 0x458(%rsp), %rdi
callq 0xab50
jmp 0x58f8
leaq 0x458(%rsp), %rdi
movq %rdi, 0x2d8(%rsp)
callq 0xa9a0
movq 0x2d8(%rsp), %rdi
movq %rax, 0x430(%rsp)
callq 0xa9d0
movq %rax, 0x428(%rsp)
movq 0x430(%rsp), %rdi
movq 0x428(%rsp), %rsi
leaq -0x2619(%rip), %rdx     # 0x2a80
callq 0xa950
jmp 0x50a0
xorps %xmm0, %xmm0
movsd %xmm0, 0x420(%rsp)
movl $0x0, 0x41c(%rsp)
leaq 0x458(%rsp), %rdi
callq 0xaa00
subq $0x1, %rax
movl %eax, 0x418(%rsp)
cmpl $0x0, 0x418(%rsp)
jl 0x5402
movq 0x3b0(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
movq %rax, 0x2c8(%rsp)
movslq 0x418(%rsp), %rsi
leaq 0x458(%rsp), %rdi
callq 0xaa20
movq %rax, %rdi
leaq 0x47c(%rsp), %rsi
callq 0x8e00
movq %rax, 0x2d0(%rsp)
jmp 0x5122
movq 0x2c8(%rsp), %rdi
movq 0x2d0(%rsp), %rax
movq %rax, 0x410(%rsp)
leaq 0x410(%rsp), %rsi
callq 0x8d10
movq %rax, 0x2c0(%rsp)
jmp 0x5151
movq 0x2c0(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x4000
movq %rax, 0x2b8(%rsp)
jmp 0x5170
movq 0x2b8(%rsp), %rax
cmpq $0x0, %rax
jne 0x518f
movl 0x41c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x41c(%rsp)
movslq 0x418(%rsp), %rsi
leaq 0x458(%rsp), %rdi
callq 0xaa20
movl (%rax), %eax
cmpl 0x484(%rsp), %eax
jne 0x53ea
leaq 0x458(%rsp), %rdi
movq %rdi, 0x278(%rsp)
callq 0xaa00
movq 0x278(%rsp), %rdi
movslq 0x418(%rsp), %rcx
subq %rcx, %rax
movq %rax, %xmm1
movaps 0x10e29(%rip), %xmm0    # 0x16010
movaps %xmm0, 0x280(%rsp)
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0x10e25(%rip), %xmm0    # 0x16020
movaps %xmm0, 0x290(%rsp)
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x6c0(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x6c0(%rsp)
movl 0x41c(%rsp), %eax
incl %eax
cvtsi2sd %eax, %xmm1
movsd 0x6b8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x6b8(%rsp)
callq 0xaa00
movaps 0x280(%rsp), %xmm2
movaps 0x290(%rsp), %xmm1
movslq 0x418(%rsp), %rcx
subq %rcx, %rax
movq %rax, %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x2a8(%rsp)
leaq 0x658(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x2b0(%rsp)
jmp 0x52ab
movq 0x2b0(%rsp), %rax
movsd 0x2a8(%rsp), %xmm1
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movl 0x41c(%rsp), %eax
incl %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x268(%rsp)
leaq 0x628(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x270(%rsp)
jmp 0x52fd
movq 0x270(%rsp), %rax
movsd 0x268(%rsp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
leaq 0x458(%rsp), %rdi
callq 0xaa00
movslq 0x418(%rsp), %rcx
subq %rcx, %rax
cmpq $0xa, %rax
ja 0x5389
movsd 0x6a0(%rsp), %xmm0
movsd 0x10cc3(%rip), %xmm1    # 0x16008
addsd %xmm1, %xmm0
movsd %xmm0, 0x6a0(%rsp)
leaq 0x598(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x260(%rsp)
jmp 0x5371
movq 0x260(%rsp), %rax
movsd 0x10c87(%rip), %xmm0    # 0x16008
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
cmpl $0xa, 0x41c(%rsp)
jge 0x53e8
movsd 0x698(%rsp), %xmm0
movsd 0x10c64(%rip), %xmm1    # 0x16008
addsd %xmm1, %xmm0
movsd %xmm0, 0x698(%rsp)
leaq 0x568(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x258(%rsp)
jmp 0x53d0
movq 0x258(%rsp), %rax
movsd 0x10c28(%rip), %xmm0    # 0x16008
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
jmp 0x5402
jmp 0x53ec
movl 0x418(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x418(%rsp)
jmp 0x50cf
leaq 0x458(%rsp), %rdi
callq 0xab30
movl $0x0, 0x40c(%rsp)
movl 0x40c(%rsp), %eax
cmpl 0x1b015(%rip), %eax     # 0x2043c
jge 0x5509
movl 0x484(%rsp), %eax
movl %eax, 0x248(%rsp)
movl 0x40c(%rsp), %eax
movl %eax, 0x24c(%rsp)
movslq %eax, %rsi
leaq 0x498(%rsp), %rdi
callq 0xa280
movq 0x3b0(%rsp), %rdi
movl 0x248(%rsp), %esi
movl 0x24c(%rsp), %edx
movl (%rax), %ecx
callq 0xa2b0
movsd %xmm0, 0x250(%rsp)
jmp 0x5481
movsd 0x250(%rsp), %xmm0
movsd %xmm0, 0x400(%rsp)
leaq 0x40c(%rsp), %rdi
leaq 0x400(%rsp), %rsi
callq 0xa910
movsd %xmm0, 0x238(%rsp)
movl %eax, 0x244(%rsp)
jmp 0x54ba
movsd 0x238(%rsp), %xmm0
movl 0x244(%rsp), %eax
movl %eax, 0x3f0(%rsp)
movsd %xmm0, 0x3f8(%rsp)
leaq 0x458(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0xa8e0
jmp 0x54f1
jmp 0x54f3
movl 0x40c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x40c(%rsp)
jmp 0x541a
leaq 0x458(%rsp), %rdi
movq %rdi, 0x230(%rsp)
callq 0xa9a0
movq 0x230(%rsp), %rdi
movq %rax, 0x3e8(%rsp)
callq 0xa9d0
movq %rax, 0x3e0(%rsp)
movq 0x3e8(%rsp), %rdi
movq 0x3e0(%rsp), %rsi
leaq -0x2ad2(%rip), %rdx     # 0x2a80
callq 0xa950
jmp 0x5559
xorps %xmm0, %xmm0
movsd %xmm0, 0x420(%rsp)
movl $0x0, 0x41c(%rsp)
leaq 0x458(%rsp), %rdi
callq 0xaa00
subq $0x1, %rax
movl %eax, 0x3dc(%rsp)
cmpl $0x0, 0x3dc(%rsp)
jl 0x58bb
movq 0x3b0(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
movq %rax, 0x220(%rsp)
leaq 0x484(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0x8e00
movq %rax, 0x228(%rsp)
jmp 0x55cb
movq 0x220(%rsp), %rdi
movq 0x228(%rsp), %rax
movq %rax, 0x3d4(%rsp)
leaq 0x3d4(%rsp), %rsi
callq 0x8d10
movq %rax, 0x218(%rsp)
jmp 0x55fa
movslq 0x3dc(%rsp), %rsi
leaq 0x458(%rsp), %rdi
callq 0xaa20
movq 0x218(%rsp), %rdi
movq %rax, %rsi
callq 0x4000
movq %rax, 0x210(%rsp)
jmp 0x5629
movq 0x210(%rsp), %rax
cmpq $0x0, %rax
jne 0x5648
movl 0x41c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x41c(%rsp)
movslq 0x3dc(%rsp), %rsi
leaq 0x458(%rsp), %rdi
callq 0xaa20
movl (%rax), %eax
cmpl 0x480(%rsp), %eax
jne 0x58a3
leaq 0x458(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0xaa00
movq 0x1d8(%rsp), %rdi
movslq 0x3dc(%rsp), %rcx
subq %rcx, %rax
movq %rax, %xmm1
movaps 0x10970(%rip), %xmm0    # 0x16010
movaps %xmm0, 0x1e0(%rsp)
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0x1096c(%rip), %xmm0    # 0x16020
movaps %xmm0, 0x1f0(%rsp)
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x6b0(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x6b0(%rsp)
movl 0x41c(%rsp), %eax
incl %eax
cvtsi2sd %eax, %xmm1
movsd 0x6a8(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x6a8(%rsp)
callq 0xaa00
movaps 0x1e0(%rsp), %xmm2
movaps 0x1f0(%rsp), %xmm1
movslq 0x3dc(%rsp), %rcx
subq %rcx, %rax
movq %rax, %xmm0
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x200(%rsp)
leaq 0x5f8(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x208(%rsp)
jmp 0x5764
movq 0x208(%rsp), %rax
movsd 0x200(%rsp), %xmm1
movsd (%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movl 0x41c(%rsp), %eax
incl %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x1c8(%rsp)
leaq 0x5c8(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x1d0(%rsp)
jmp 0x57b6
movq 0x1d0(%rsp), %rax
movsd 0x1c8(%rsp), %xmm0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
leaq 0x458(%rsp), %rdi
callq 0xaa00
movslq 0x3dc(%rsp), %rcx
subq %rcx, %rax
cmpq $0xa, %rax
ja 0x5842
movsd 0x690(%rsp), %xmm0
movsd 0x1080a(%rip), %xmm1    # 0x16008
addsd %xmm1, %xmm0
movsd %xmm0, 0x690(%rsp)
leaq 0x538(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x1c0(%rsp)
jmp 0x582a
movq 0x1c0(%rsp), %rax
movsd 0x107ce(%rip), %xmm0    # 0x16008
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
cmpl $0xa, 0x41c(%rsp)
jge 0x58a1
movsd 0x688(%rsp), %xmm0
movsd 0x107ab(%rip), %xmm1    # 0x16008
addsd %xmm1, %xmm0
movsd %xmm0, 0x688(%rsp)
leaq 0x508(%rsp), %rdi
leaq 0x47c(%rsp), %rsi
callq 0xaa40
movq %rax, 0x1b8(%rsp)
jmp 0x5889
movq 0x1b8(%rsp), %rax
movsd 0x1076f(%rip), %xmm0    # 0x16008
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
jmp 0x58bb
jmp 0x58a5
movl 0x3dc(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x3dc(%rsp)
jmp 0x5588
leaq 0x458(%rsp), %rdi
callq 0xab50
leaq 0x498(%rsp), %rdi
callq 0x7e70
leaq 0x4b0(%rsp), %rdi
callq 0x7e70
movl 0x4cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4cc(%rsp)
jmp 0x4bc4
leaq 0x498(%rsp), %rdi
callq 0x7e70
leaq 0x4b0(%rsp), %rdi
callq 0x7e70
jmp 0x626a
movq 0x1a6ba(%rip), %rdi     # 0x1ffd8
leaq 0x10830(%rip), %rsi     # 0x16155
callq 0x21c0
movq %rax, 0x1b0(%rsp)
jmp 0x5934
movq 0x3b0(%rsp), %rdi
movsd 0x6c0(%rsp), %xmm0
movsd %xmm0, 0x1a0(%rsp)
addq $0xd8, %rdi
callq 0xa260
movsd 0x1a0(%rsp), %xmm0
movq 0x1b0(%rsp), %rdi
movq %rax, %xmm1
movaps 0x10699(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x1069d(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x1a8(%rsp)
jmp 0x59a5
movq 0x1a8(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x198(%rsp)
jmp 0x59c1
movq 0x3b0(%rsp), %rdi
movsd 0x6a0(%rsp), %xmm0
movsd %xmm0, 0x188(%rsp)
addq $0xd8, %rdi
callq 0xa260
movsd 0x188(%rsp), %xmm0
movq 0x198(%rsp), %rdi
movq %rax, %xmm1
movaps 0x1060c(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x10610(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x190(%rsp)
jmp 0x5a32
movq 0x190(%rsp), %rdi
leaq 0x10604(%rip), %rsi     # 0x16045
callq 0x21c0
movq %rax, 0x180(%rsp)
jmp 0x5a50
movq 0x3b0(%rsp), %rdi
movsd 0x6b8(%rsp), %xmm0
movsd %xmm0, 0x170(%rsp)
addq $0xd8, %rdi
callq 0xa260
movsd 0x170(%rsp), %xmm0
movq 0x180(%rsp), %rdi
movq %rax, %xmm1
movaps 0x1057d(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x10581(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x178(%rsp)
jmp 0x5ac1
movq 0x178(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x168(%rsp)
jmp 0x5add
movq 0x3b0(%rsp), %rdi
movsd 0x698(%rsp), %xmm0
movsd %xmm0, 0x158(%rsp)
addq $0xd8, %rdi
callq 0xa260
movsd 0x158(%rsp), %xmm0
movq 0x168(%rsp), %rdi
movq %rax, %xmm1
movaps 0x104f0(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x104f4(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x160(%rsp)
jmp 0x5b4e
movq 0x160(%rsp), %rdi
movq 0x1a463(%rip), %rsi     # 0x1ffc0
callq 0x2210
jmp 0x5b64
movq 0x1a46d(%rip), %rdi     # 0x1ffd8
leaq 0x105e9(%rip), %rsi     # 0x1615b
callq 0x21c0
movq %rax, 0x150(%rsp)
jmp 0x5b81
movq 0x3b0(%rsp), %rdi
movsd 0x6b0(%rsp), %xmm0
movsd %xmm0, 0x140(%rsp)
addq $0xf0, %rdi
callq 0xa260
movsd 0x140(%rsp), %xmm0
movq 0x150(%rsp), %rdi
movq %rax, %xmm1
movaps 0x1044c(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x10450(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x148(%rsp)
jmp 0x5bf2
movq 0x148(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x138(%rsp)
jmp 0x5c0e
movq 0x3b0(%rsp), %rdi
movsd 0x690(%rsp), %xmm0
movsd %xmm0, 0x128(%rsp)
addq $0xf0, %rdi
callq 0xa260
movsd 0x128(%rsp), %xmm0
movq 0x138(%rsp), %rdi
movq %rax, %xmm1
movaps 0x103bf(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x103c3(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x130(%rsp)
jmp 0x5c7f
movq 0x130(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x120(%rsp)
jmp 0x5c9b
movq 0x3b0(%rsp), %rdi
movsd 0x6a8(%rsp), %xmm0
movsd %xmm0, 0x110(%rsp)
addq $0xf0, %rdi
callq 0xa260
movsd 0x110(%rsp), %xmm0
movq 0x120(%rsp), %rdi
movq %rax, %xmm1
movaps 0x10332(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x10336(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x118(%rsp)
jmp 0x5d0c
movq 0x118(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x108(%rsp)
jmp 0x5d28
movq 0x3b0(%rsp), %rdi
movsd 0x688(%rsp), %xmm0
movsd %xmm0, 0xf8(%rsp)
addq $0xf0, %rdi
callq 0xa260
movsd 0xf8(%rsp), %xmm0
movq 0x108(%rsp), %rdi
movq %rax, %xmm1
movaps 0x102a5(%rip), %xmm2    # 0x16010
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x102a9(%rip), %xmm2    # 0x16020
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x100(%rsp)
jmp 0x5d99
movq 0x100(%rsp), %rdi
movq 0x1a218(%rip), %rsi     # 0x1ffc0
callq 0x2210
jmp 0x5daf
movl $0x0, 0x3d0(%rsp)
movl 0x3d0(%rsp), %eax
cmpl 0x1a679(%rip), %eax     # 0x20440
jge 0x61ed
leaq 0x4d8(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0x4060
movq %rax, 0xf0(%rsp)
jmp 0x5dec
movq 0xf0(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x3cc(%rsp)
movq 0x1a1d4(%rip), %rdi     # 0x1ffd8
leaq 0x10357(%rip), %rsi     # 0x16162
callq 0x21c0
movq %rax, 0xe8(%rsp)
jmp 0x5e1a
leaq 0x1a4c7(%rip), %rdi     # 0x202e8
leaq 0x3d0(%rsp), %rsi
callq 0x3e20
movq %rax, 0xe0(%rsp)
jmp 0x5e38
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdi
callq 0x21b0
movq %rax, 0xd8(%rsp)
jmp 0x5e57
movq 0xd8(%rsp), %rdi
movl $0x20, %esi
callq 0x2260
movq %rax, 0xd0(%rsp)
jmp 0x5e73
movq 0xd0(%rsp), %rdi
movl 0x3cc(%rsp), %esi
callq 0x2320
movq %rax, 0xc8(%rsp)
jmp 0x5e91
movq 0xc8(%rsp), %rdi
movq 0x1a120(%rip), %rsi     # 0x1ffc0
callq 0x2210
jmp 0x5ea7
movq 0x1a12a(%rip), %rdi     # 0x1ffd8
leaq 0x102a0(%rip), %rsi     # 0x16155
callq 0x21c0
movq %rax, 0xc0(%rsp)
jmp 0x5ec4
leaq 0x658(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0xb8(%rsp)
jmp 0x5ee3
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0xb0(%rsp)
jmp 0x5f13
movq 0xb0(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0xa8(%rsp)
jmp 0x5f2f
leaq 0x598(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0xa0(%rsp)
jmp 0x5f4e
movq 0xa8(%rsp), %rdi
movq 0xa0(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x98(%rsp)
jmp 0x5f7e
movq 0x98(%rsp), %rdi
leaq 0x100b8(%rip), %rsi     # 0x16045
callq 0x21c0
movq %rax, 0x90(%rsp)
jmp 0x5f9c
leaq 0x628(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0x88(%rsp)
jmp 0x5fbb
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x80(%rsp)
jmp 0x5feb
movq 0x80(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x78(%rsp)
jmp 0x6004
leaq 0x568(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0x70(%rsp)
jmp 0x6020
movq 0x78(%rsp), %rdi
movq 0x70(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x68(%rsp)
jmp 0x6047
movq 0x68(%rsp), %rdi
movq 0x19f6d(%rip), %rsi     # 0x1ffc0
callq 0x2210
jmp 0x605a
movq 0x19f77(%rip), %rdi     # 0x1ffd8
leaq 0x100f3(%rip), %rsi     # 0x1615b
callq 0x21c0
movq %rax, 0x60(%rsp)
jmp 0x6074
leaq 0x5f8(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0x58(%rsp)
jmp 0x6090
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x50(%rsp)
jmp 0x60b7
movq 0x50(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x48(%rsp)
jmp 0x60cd
leaq 0x538(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0x40(%rsp)
jmp 0x60e9
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x38(%rsp)
jmp 0x6110
movq 0x38(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x30(%rsp)
jmp 0x6126
leaq 0x5c8(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0x28(%rsp)
jmp 0x6142
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x20(%rsp)
jmp 0x6169
movq 0x20(%rsp), %rdi
movl $0x9, %esi
callq 0x2260
movq %rax, 0x18(%rsp)
jmp 0x617f
leaq 0x508(%rsp), %rdi
leaq 0x3d0(%rsp), %rsi
callq 0xaa40
movq %rax, 0x10(%rsp)
jmp 0x619b
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rax
movsd (%rax), %xmm0
cvtsi2sdl 0x3cc(%rsp), %xmm1
divsd %xmm1, %xmm0
callq 0x2380
movq %rax, 0x8(%rsp)
jmp 0x61c2
movq 0x8(%rsp), %rdi
movq 0x19df2(%rip), %rsi     # 0x1ffc0
callq 0x2210
jmp 0x61d5
jmp 0x61d7
movl 0x3d0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3d0(%rsp)
jmp 0x5dba
leaq 0x4d8(%rsp), %rdi
callq 0x3b00
leaq 0x508(%rsp), %rdi
callq 0xabb0
leaq 0x538(%rsp), %rdi
callq 0xabb0
leaq 0x568(%rsp), %rdi
callq 0xabb0
leaq 0x598(%rsp), %rdi
callq 0xabb0
leaq 0x5c8(%rsp), %rdi
callq 0xabb0
leaq 0x5f8(%rsp), %rdi
callq 0xabb0
leaq 0x628(%rsp), %rdi
callq 0xabb0
leaq 0x658(%rsp), %rdi
callq 0xabb0
addq $0x7a8, %rsp            # imm = 0x7A8
retq
leaq 0x4d8(%rsp), %rdi
callq 0x3b00
leaq 0x508(%rsp), %rdi
callq 0xabb0
leaq 0x538(%rsp), %rdi
callq 0xabb0
leaq 0x568(%rsp), %rdi
callq 0xabb0
leaq 0x598(%rsp), %rdi
callq 0xabb0
leaq 0x5c8(%rsp), %rdi
callq 0xabb0
leaq 0x5f8(%rsp), %rdi
callq 0xabb0
leaq 0x628(%rsp), %rdi
callq 0xabb0
leaq 0x658(%rsp), %rdi
callq 0xabb0
movq 0x770(%rsp), %rdi
callq 0x2330
nopl (%rax)