// File: yukimasano[P]cpp_matrix/vary_N.cpp
// Function: main
int main()
{
	ofstream outfile;
	int i = 1;

	for (int j=15; j<=50; j+=1){

		/* format of output is
		# format    0 N , 1 SD Count, 2 SD Time, 3 CG Count, 4 CG time,
		#           5 CG_pre count 6 CG_pre time
		#           7 LU time, 8 LU delx, 9 QR time, 10 QR delx
		#						11 full QR time 12 full QR delx
		*/

		double sd_co =0.0;
		double sd_ti =0.0;
		double cg_co =0.0;
		double cg_ti =0.0;
		double cgp_co =0.0;
		double cgp_ti =0.0;
		double lu_ti =0.0;
		double lu_dx =0.0;
		double qr_ti =0.0;
		double qr_dx =0.0;
		double qre_ti =0.0;
		double qre_dx =0.0;
    i = pow(1.09,j)+8;
		outfile<<i<<",";



		// for loop to average measurements
	  for (int k=0;k<=10 ;k++){
			////// VERSION SAME KAPPA DIFFERENT SIZE N
			clock_t begin = clock();
			Vector x(i);
			x = randv(x);
			Matrix Q(i,i);
			Q = rand_basis_gs(Q);
			Matrix QT=Q.T();
			Matrix A(i,i);
			A = Q;
			double k0 = 2.0;
			for (int jj=1; jj<=i;  jj++){
				double x = ((k0-1)/float(i-1))*float(jj) + 1.;
				for (int h =1; h<=i; h++){
					A.set_val(jj,h, A(jj,h)*x);
				}
			}
			Vector b = A*x;
			clock_t end = clock();
			double elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
			cout<<"dim = "<<i<<" time for prep: "<<elapsed_secs<<endl;

			int count = 0;
	    //// code starts here /////////////////////////////////////
			begin = clock();
			count = 0;
			Vector x1 = SD(A,b, count);
			end = clock();
			elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
      sd_ti += elapsed_secs;
			sd_co += count;

			begin = clock();
			count = 0;
			x1 = CG(A,b, count);
			end = clock();
			elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
			cg_ti += elapsed_secs;
			cg_co += count;

			begin = clock();
			count = 0;
			x1 = CG_pre(A,b, count);
			end = clock();
			elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
			cgp_ti += elapsed_secs;
			cgp_co += count;

			////////////////// non-iterative solvers
			begin = clock();
			x1 = LUsolve(A,b);
			end = clock();
			elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
			double delx = (x1 - x).norm();
			lu_ti += elapsed_secs;
			lu_dx += delx;

			if (i<200){
				//cout<<"QR2"<<flush<<endl;
			  begin = clock();
				x1 = QRsolve2(A,b);
				end = clock();
				elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
				delx = (x1 - x).norm();
				qr_ti += elapsed_secs;
				qr_dx += delx;
			}
			else{
				qr_ti = 0;
				qr_dx = 0;
			}
			//cout<<"QRs"<<flush<<endl;
      if (i<100){
				begin = clock();
				x1 = QRsolve(A,b);
				end = clock();
				elapsed_secs = double(end - begin) / CLOCKS_PER_SEC;
				delx = (x1 - x).norm();
				qre_ti += elapsed_secs;
				qre_dx += delx;
			}
			else{
				qre_ti = 0;
				qre_dx = 0;
			}
		}
		//cout<<"done"<<flush<<endl;
		outfile.open("varyN_kappa2.txt", fstream::app);
		outfile<< sd_co/10<<","<< sd_ti/10 << ",";
		outfile<< cg_co/10<<","<< cg_ti/10 << ",";
		outfile<< cgp_co/10<<","<< cgp_ti/10 << ",";
		outfile<< lu_ti/10<<","<< lu_dx/10 << ",";
		outfile<< qr_ti/10<<","<< qr_dx/10 << ",";
		outfile<< qre_ti/10<<","<< qre_dx/10<<",";
		outfile<<endl;
		outfile.flush();
		outfile.close();
	}

  return 1;
}

// Assembly:
subq $0x4b8, %rsp            # imm = 0x4B8
movl $0x0, 0x4b4(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0x21a0
movl $0x1, 0x2ac(%rsp)
movl $0xf, 0x2a8(%rsp)
cmpl $0x32, 0x2a8(%rsp)
jg 0x34ea
movq $0x0, 0x2a0(%rsp)
movq $0x0, 0x298(%rsp)
movq $0x0, 0x290(%rsp)
movq $0x0, 0x288(%rsp)
movq $0x0, 0x280(%rsp)
movq $0x0, 0x278(%rsp)
movq $0x0, 0x270(%rsp)
movq $0x0, 0x268(%rsp)
movq $0x0, 0x260(%rsp)
movq $0x0, 0x258(%rsp)
movq $0x0, 0x250(%rsp)
movq $0x0, 0x248(%rsp)
movl 0x2a8(%rsp), %edi
movsd 0xcb06(%rip), %xmm0     # 0xf008
callq 0x3530
movsd %xmm0, 0xe8(%rsp)
jmp 0x2512
movsd 0xe8(%rsp), %xmm0
movsd 0xcaed(%rip), %xmm1     # 0xf010
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, 0x2ac(%rsp)
movl 0x2ac(%rsp), %esi
leaq 0x2b0(%rsp), %rdi
callq 0x21c0
movq %rax, 0xe0(%rsp)
jmp 0x2550
movq 0xe0(%rsp), %rdi
leaq 0xcad9(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x2566
movl $0x0, 0x238(%rsp)
cmpl $0xa, 0x238(%rsp)
jg 0x3195
callq 0x20a0
movq %rax, 0x230(%rsp)
movl 0x2ac(%rsp), %esi
leaq 0x220(%rsp), %rdi
callq 0xd040
jmp 0x25a2
leaq 0x210(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0xe4b0
jmp 0x25b9
leaq 0x220(%rsp), %rdi
leaq 0x210(%rsp), %rsi
callq 0xdc70
jmp 0x25d0
leaq 0x210(%rsp), %rdi
callq 0xd170
movl 0x2ac(%rsp), %edx
leaq 0x200(%rsp), %rdi
movl %edx, %esi
callq 0x3560
jmp 0x25f5
leaq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x5210
jmp 0x260c
leaq 0x200(%rsp), %rdi
leaq 0x1f0(%rsp), %rsi
callq 0x41e0
jmp 0x2623
leaq 0x1f0(%rsp), %rdi
callq 0x3660
leaq 0x1e0(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x39f0
jmp 0x2647
movl 0x2ac(%rsp), %edx
leaq 0x1d0(%rsp), %rdi
movl %edx, %esi
callq 0x3560
jmp 0x265f
leaq 0x1d0(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x41e0
jmp 0x2676
movsd 0xc9a2(%rip), %xmm0     # 0xf020
movsd %xmm0, 0x1c8(%rsp)
movl $0x1, 0x1c4(%rsp)
movl 0x1c4(%rsp), %eax
cmpl 0x2ac(%rsp), %eax
jg 0x2878
movsd 0x1c8(%rsp), %xmm0
movsd 0xc979(%rip), %xmm1     # 0xf030
subsd %xmm1, %xmm0
movl 0x2ac(%rsp), %eax
subl $0x1, %eax
cvtsi2ss %eax, %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
cvtsi2ssl 0x1c4(%rsp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movsd 0xc946(%rip), %xmm1     # 0xf030
addsd %xmm1, %xmm0
movsd %xmm0, 0x1b8(%rsp)
movl $0x1, 0x1b4(%rsp)
movl 0x1b4(%rsp), %eax
cmpl 0x2ac(%rsp), %eax
jg 0x2860
movl 0x1c4(%rsp), %esi
movl %esi, 0xd0(%rsp)
movl 0x1b4(%rsp), %edx
movl %edx, 0xd4(%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0x36e0
movq %rax, 0xd8(%rsp)
jmp 0x2749
movl 0xd4(%rsp), %edx
movl 0xd0(%rsp), %esi
movq 0xd8(%rsp), %rax
movsd (%rax), %xmm0
movsd 0x1b8(%rsp), %xmm1
mulsd %xmm1, %xmm0
leaq 0x1d0(%rsp), %rdi
callq 0x47c0
jmp 0x277f
jmp 0x2781
movl 0x1b4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1b4(%rsp)
jmp 0x2702
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x3511
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x3183
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x210(%rsp), %rdi
callq 0xd170
jmp 0x3183
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x3176
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x3660
jmp 0x3176
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x3169
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x315c
jmp 0x2862
movl 0x1c4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c4(%rsp)
jmp 0x2692
leaq 0x1a0(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0x4800
jmp 0x2897
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc764(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
movq 0xf6f0(%rip), %rdi      # 0x11fc8
leaq 0xc75b(%rip), %rsi      # 0xf03a
callq 0x2110
movq %rax, 0xc8(%rsp)
jmp 0x28ee
movq 0xc8(%rsp), %rdi
movl 0x2ac(%rsp), %esi
callq 0x21c0
movq %rax, 0xc0(%rsp)
jmp 0x290c
movq 0xc0(%rsp), %rdi
leaq 0xc726(%rip), %rsi      # 0xf041
callq 0x2110
movq %rax, 0xb8(%rsp)
jmp 0x292a
movq 0xb8(%rsp), %rdi
movsd 0x190(%rsp), %xmm0
callq 0x2210
movq %rax, 0xb0(%rsp)
jmp 0x294a
movq 0xb0(%rsp), %rdi
movq 0xf65f(%rip), %rsi      # 0x11fb8
callq 0x2120
jmp 0x2960
movl $0x0, 0x18c(%rsp)
callq 0x20a0
movq %rax, 0x230(%rsp)
movl $0x0, 0x18c(%rsp)
leaq 0x178(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
leaq 0x18c(%rsp), %rcx
callq 0xaf20
jmp 0x29aa
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc651(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
movsd 0x190(%rsp), %xmm1
movsd 0x298(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x298(%rsp)
cvtsi2sdl 0x18c(%rsp), %xmm1
movsd 0x2a0(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x2a0(%rsp)
callq 0x20a0
movq %rax, 0x230(%rsp)
movl $0x0, 0x18c(%rsp)
leaq 0x168(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
leaq 0x18c(%rsp), %rcx
callq 0xb410
jmp 0x2a61
leaq 0x178(%rsp), %rdi
leaq 0x168(%rsp), %rsi
callq 0xdc70
jmp 0x2a78
leaq 0x168(%rsp), %rdi
callq 0xd170
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc576(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
movsd 0x190(%rsp), %xmm1
movsd 0x288(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x288(%rsp)
cvtsi2sdl 0x18c(%rsp), %xmm1
movsd 0x290(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x290(%rsp)
callq 0x20a0
movq %rax, 0x230(%rsp)
movl $0x0, 0x18c(%rsp)
leaq 0x158(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
leaq 0x18c(%rsp), %rcx
callq 0xbec0
jmp 0x2b3c
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0xdc70
jmp 0x2b53
leaq 0x158(%rsp), %rdi
callq 0xd170
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc49b(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
movsd 0x190(%rsp), %xmm1
movsd 0x278(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x278(%rsp)
cvtsi2sdl 0x18c(%rsp), %xmm1
movsd 0x280(%rsp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x280(%rsp)
callq 0x20a0
movq %rax, 0x230(%rsp)
leaq 0x148(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x66b0
jmp 0x2c04
leaq 0x178(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0xdc70
jmp 0x2c1b
leaq 0x148(%rsp), %rdi
callq 0xd170
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc3d3(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
leaq 0x130(%rsp), %rdi
leaq 0x178(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0xd470
jmp 0x2c81
leaq 0x130(%rsp), %rdi
movl $0x2, %esi
callq 0xe320
movsd %xmm0, 0xa8(%rsp)
jmp 0x2c9e
leaq 0x130(%rsp), %rdi
callq 0xd170
movsd 0xa8(%rsp), %xmm0
movsd %xmm0, 0x140(%rsp)
movsd 0x190(%rsp), %xmm0
addsd 0x270(%rsp), %xmm0
movsd %xmm0, 0x270(%rsp)
movsd 0x140(%rsp), %xmm0
addsd 0x268(%rsp), %xmm0
movsd %xmm0, 0x268(%rsp)
cmpl $0xc8, 0x2ac(%rsp)
jge 0x2f3a
callq 0x20a0
movq %rax, 0x230(%rsp)
leaq 0x120(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x8040
jmp 0x2d30
leaq 0x178(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0xdc70
jmp 0x2d47
leaq 0x120(%rsp), %rdi
callq 0xd170
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc2a7(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
leaq 0x110(%rsp), %rdi
leaq 0x178(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0xd470
jmp 0x2dad
leaq 0x110(%rsp), %rdi
movl $0x2, %esi
callq 0xe320
movsd %xmm0, 0xa0(%rsp)
jmp 0x2dca
movsd 0xa0(%rsp), %xmm0
movsd %xmm0, 0x140(%rsp)
leaq 0x110(%rsp), %rdi
callq 0xd170
movsd 0x190(%rsp), %xmm0
addsd 0x260(%rsp), %xmm0
movsd %xmm0, 0x260(%rsp)
movsd 0x140(%rsp), %xmm0
addsd 0x258(%rsp), %xmm0
movsd %xmm0, 0x258(%rsp)
jmp 0x2f52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x314f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x168(%rsp), %rdi
callq 0xd170
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x158(%rsp), %rdi
callq 0xd170
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x148(%rsp), %rdi
callq 0xd170
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x130(%rsp), %rdi
callq 0xd170
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x120(%rsp), %rdi
callq 0xd170
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x110(%rsp), %rdi
callq 0xd170
jmp 0x3142
xorps %xmm0, %xmm0
movsd %xmm0, 0x260(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x258(%rsp)
cmpl $0x64, 0x2ac(%rsp)
jge 0x30c6
callq 0x20a0
movq %rax, 0x230(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x1a0(%rsp), %rdx
callq 0x6f10
jmp 0x2f8c
leaq 0x178(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0xdc70
jmp 0x2fa3
leaq 0x100(%rsp), %rdi
callq 0xd170
callq 0x20a0
movq %rax, 0x198(%rsp)
movq 0x198(%rsp), %rax
movq 0x230(%rsp), %rcx
subq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd 0xc04b(%rip), %xmm1     # 0xf028
divsd %xmm1, %xmm0
movsd %xmm0, 0x190(%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0x178(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0xd470
jmp 0x3009
leaq 0xf0(%rsp), %rdi
movl $0x2, %esi
callq 0xe320
movsd %xmm0, 0x98(%rsp)
jmp 0x3026
movsd 0x98(%rsp), %xmm0
movsd %xmm0, 0x140(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0xd170
movsd 0x190(%rsp), %xmm0
addsd 0x250(%rsp), %xmm0
movsd %xmm0, 0x250(%rsp)
movsd 0x140(%rsp), %xmm0
addsd 0x248(%rsp), %xmm0
movsd %xmm0, 0x248(%rsp)
jmp 0x30de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0x100(%rsp), %rdi
callq 0xd170
jmp 0x3142
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0xd170
jmp 0x3142
xorps %xmm0, %xmm0
movsd %xmm0, 0x250(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x248(%rsp)
leaq 0x178(%rsp), %rdi
callq 0xd170
leaq 0x1a0(%rsp), %rdi
callq 0xd170
leaq 0x1d0(%rsp), %rdi
callq 0x3660
leaq 0x1e0(%rsp), %rdi
callq 0x3660
leaq 0x200(%rsp), %rdi
callq 0x3660
leaq 0x220(%rsp), %rdi
callq 0xd170
movl 0x238(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x238(%rsp)
jmp 0x2571
leaq 0x178(%rsp), %rdi
callq 0xd170
leaq 0x1a0(%rsp), %rdi
callq 0xd170
leaq 0x1d0(%rsp), %rdi
callq 0x3660
leaq 0x1e0(%rsp), %rdi
callq 0x3660
leaq 0x200(%rsp), %rdi
callq 0x3660
leaq 0x220(%rsp), %rdi
callq 0xd170
jmp 0x3511
leaq 0xbeb6(%rip), %rsi      # 0xf052
leaq 0x2b0(%rsp), %rdi
movl $0x1, %edx
callq 0x2050
jmp 0x31b0
movsd 0x2a0(%rsp), %xmm0
movsd 0xbe57(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x2210
movq %rax, 0x90(%rsp)
jmp 0x31dc
movq 0x90(%rsp), %rdi
leaq 0xbe4d(%rip), %rsi      # 0xf038
callq 0x2110
movq %rax, 0x88(%rsp)
jmp 0x31fa
movq 0x88(%rsp), %rdi
movsd 0x298(%rsp), %xmm0
movsd 0xbe05(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
callq 0x2210
movq %rax, 0x80(%rsp)
jmp 0x3226
movq 0x80(%rsp), %rdi
leaq 0xbe03(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x323c
movsd 0x290(%rsp), %xmm0
movsd 0xbdcb(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x2210
movq %rax, 0x78(%rsp)
jmp 0x3265
movq 0x78(%rsp), %rdi
leaq 0xbdc7(%rip), %rsi      # 0xf038
callq 0x2110
movq %rax, 0x70(%rsp)
jmp 0x327d
movq 0x70(%rsp), %rdi
movsd 0x288(%rsp), %xmm0
movsd 0xbd85(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
callq 0x2210
movq %rax, 0x68(%rsp)
jmp 0x32a3
movq 0x68(%rsp), %rdi
leaq 0xbd89(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x32b6
movsd 0x280(%rsp), %xmm0
movsd 0xbd51(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x2210
movq %rax, 0x60(%rsp)
jmp 0x32df
movq 0x60(%rsp), %rdi
leaq 0xbd4d(%rip), %rsi      # 0xf038
callq 0x2110
movq %rax, 0x58(%rsp)
jmp 0x32f7
movq 0x58(%rsp), %rdi
movsd 0x278(%rsp), %xmm0
movsd 0xbd0b(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
callq 0x2210
movq %rax, 0x50(%rsp)
jmp 0x331d
movq 0x50(%rsp), %rdi
leaq 0xbd0f(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x3330
movsd 0x270(%rsp), %xmm0
movsd 0xbcd7(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x2210
movq %rax, 0x48(%rsp)
jmp 0x3359
movq 0x48(%rsp), %rdi
leaq 0xbcd3(%rip), %rsi      # 0xf038
callq 0x2110
movq %rax, 0x40(%rsp)
jmp 0x3371
movq 0x40(%rsp), %rdi
movsd 0x268(%rsp), %xmm0
movsd 0xbc91(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
callq 0x2210
movq %rax, 0x38(%rsp)
jmp 0x3397
movq 0x38(%rsp), %rdi
leaq 0xbc95(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x33aa
movsd 0x260(%rsp), %xmm0
movsd 0xbc5d(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x2210
movq %rax, 0x30(%rsp)
jmp 0x33d3
movq 0x30(%rsp), %rdi
leaq 0xbc59(%rip), %rsi      # 0xf038
callq 0x2110
movq %rax, 0x28(%rsp)
jmp 0x33eb
movq 0x28(%rsp), %rdi
movsd 0x258(%rsp), %xmm0
movsd 0xbc17(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
callq 0x2210
movq %rax, 0x20(%rsp)
jmp 0x3411
movq 0x20(%rsp), %rdi
leaq 0xbc1b(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x3424
movsd 0x250(%rsp), %xmm0
movsd 0xbbe3(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x2210
movq %rax, 0x18(%rsp)
jmp 0x344d
movq 0x18(%rsp), %rdi
leaq 0xbbdf(%rip), %rsi      # 0xf038
callq 0x2110
movq %rax, 0x10(%rsp)
jmp 0x3465
movq 0x10(%rsp), %rdi
movsd 0x248(%rsp), %xmm0
movsd 0xbb9d(%rip), %xmm1     # 0xf018
divsd %xmm1, %xmm0
callq 0x2210
movq %rax, 0x8(%rsp)
jmp 0x348b
movq 0x8(%rsp), %rdi
leaq 0xbba1(%rip), %rsi      # 0xf038
callq 0x2110
jmp 0x349e
movq 0xeb13(%rip), %rsi      # 0x11fb8
leaq 0x2b0(%rsp), %rdi
callq 0x2120
jmp 0x34b4
leaq 0x2b0(%rsp), %rdi
callq 0x20b0
jmp 0x34c3
leaq 0x2b0(%rsp), %rdi
callq 0x2170
jmp 0x34d2
jmp 0x34d4
movl 0x2a8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2a8(%rsp)
jmp 0x2455
movl $0x1, 0x4b4(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0x2180
movl 0x4b4(%rsp), %eax
addq $0x4b8, %rsp            # imm = 0x4B8
retq
leaq 0x2b0(%rsp), %rdi
callq 0x2180
movq 0x240(%rsp), %rdi
callq 0x21e0
nopl (%rax,%rax)