// File: jamesliu516[P]amrdg2d/spatial_discretization.cpp
// Function: spatial_discretize_v(bodygridclass*)
void spatial_discretize_v(OctCell* un)
{
   double tmp92=0.0;
   double tmp93=0.0;
   double tmp94=0.0;  
   double tmpx=0.0, tmpy=0.0;
   
   double uapp[4][3][3]={0.0};
   double dx,dy, dxpdy;
   dx=un->dx;
   dy=un->dy;
   dxpdy=dx*dy;
   
   for(short j=0; j<4; j++) {
      for(short imm=0; imm<3;imm++) {
	   for(short jmm=0; jmm<3; jmm++) {
	       uapp[j][jmm][imm]=approx_sol(gspt[jmm], gspt[imm], un->dof[j], nDOF);  //u(x,y)
	    }
	}
   }
	
  double pre[3][3]={0.0};
  double pre1[3][3]={0.0};	
  	
  for(short imm=0; imm<3;imm++) {
     for(short jmm=0; jmm<3; jmm++) {
	      pre[jmm][imm]=GAM11 *(uapp[3][jmm][imm]-0.5*(uapp[1][jmm][imm]*uapp[1][jmm][imm]/uapp[0][jmm][imm]
	          + uapp[2][jmm][imm]*uapp[2][jmm][imm]/uapp[0][jmm][imm]));	          
     }
  }
          
  double flxfunx[4][3][3]={0.0};
  double flxfuny[4][3][3]={0.0};
  
  for(short imm=0; imm<3;imm++) {
     for(short jmm=0; jmm<3; jmm++) {

	         flxfunx[0][jmm][imm]=uapp[1][jmm][imm]; 
	         flxfuny[0][jmm][imm]=uapp[2][jmm][imm]; 	
	                  
	         flxfunx[1][jmm][imm]=uapp[1][jmm][imm]*uapp[1][jmm][imm]/uapp[0][jmm][imm] + pre[jmm][imm];

	         flxfunx[2][jmm][imm] = flxfuny[1][jmm][imm] = uapp[1][jmm][imm]*uapp[2][jmm][imm]/uapp[0][jmm][imm];
	         
	         flxfuny[2][jmm][imm]=uapp[2][jmm][imm]*uapp[2][jmm][imm]/uapp[0][jmm][imm] + pre[jmm][imm];	
	         
	         flxfunx[3][jmm][imm] = (uapp[3][jmm][imm] + pre[jmm][imm])* uapp[1][jmm][imm]/uapp[0][jmm][imm];
	         flxfuny[3][jmm][imm] = (uapp[3][jmm][imm] + pre[jmm][imm])* uapp[2][jmm][imm]/uapp[0][jmm][imm];
	           	         	              	     
	      }
  }
  
//体积积分项
     
// euler equation for aerodynamics 
//uapp[j][jmm][imm]
    for(short j=0; j<4;++j) {
       tmp92=0.0;
	tmp93=0.0;
	tmp94=0.0;	
	tmpx=tmpy=0.0;	
	
//base function: phi_i(x)  &  psi_j(y)
	for(short imm=0; imm < 3;imm++) {
	   for(short jmm=0; jmm < 3; jmm++) {
	      tmp92 += flxfunx[j][jmm][imm]*wei[imm]*wei[jmm];
	      
	      tmp93 += flxfuny[j][jmm][imm]*wei[imm]*wei[jmm];
	      }
	 }	 

	 tmp92 *=  0.25*dxpdy;
	 tmp93 *=  0.25*dxpdy;	 
	       
        un->residual[j][1] -= 2.0/dx * tmp92;
        un->residual[j][2] -= 2.0/dy * tmp93;
        
        tmp92=tmp93=0.0;
  
  //base function: phi_i(x)*psi_j(y), phi_i(x)^2-1.0/3.0, &  psi_j(y)^2-1.0/3
     if(nDOF==6) {
	 for(short imm=0; imm<3;imm++) {
	   for(short jmm=0; jmm<3; jmm++) {
	      tmp93 += flxfuny[j][jmm][imm] *gspt[jmm]*wei[imm]*wei[jmm];   //fy*x 
	      
	      tmp94 += flxfunx[j][jmm][imm] *gspt[imm]*wei[imm]*wei[jmm];   //fx*y 
	      
	      tmpx += flxfunx[j][jmm][imm] *gspt[jmm]*wei[imm]*wei[jmm];  //fx*x
	      tmpy += flxfuny[j][jmm][imm] *gspt[imm]*wei[imm]*wei[jmm];	//fy*y      
	      }
	  }

	  tmp94 *= 0.25*dxpdy;
	  tmp93 *= 0.25*dxpdy;
	  tmpx *= 0.25*dxpdy;
	  tmpy *= 0.25*dxpdy;

	  un->residual[j][3] -= 2.0/dx * tmp94 + 2.0/dy * tmp93;
	
	  un->residual[j][4] -= 4.0/dx * tmpx;
	  un->residual[j][5] -= 4.0/dy * tmpy;  
	  	
       }
    } //end for
//=====
    
}

// Assembly:
subq $0x478, %rsp            # imm = 0x478
movq %rdi, 0x470(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x468(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x460(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x458(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x450(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x448(%rsp)
leaq 0x320(%rsp), %rdi
xorl %esi, %esi
movl $0x120, %edx            # imm = 0x120
callq 0x3150
movq 0x470(%rsp), %rax
movsd 0x288(%rax), %xmm0
movsd %xmm0, 0x318(%rsp)
movq 0x470(%rsp), %rax
movsd 0x290(%rax), %xmm0
movsd %xmm0, 0x310(%rsp)
movsd 0x318(%rsp), %xmm0
mulsd 0x310(%rsp), %xmm0
movsd %xmm0, 0x308(%rsp)
movw $0x0, 0x306(%rsp)
movswl 0x306(%rsp), %eax
cmpl $0x4, %eax
jge 0x24d22
movw $0x0, 0x304(%rsp)
movswl 0x304(%rsp), %eax
cmpl $0x3, %eax
jge 0x24d07
movw $0x0, 0x302(%rsp)
movswl 0x302(%rsp), %eax
cmpl $0x3, %eax
jge 0x24cec
movswq 0x302(%rsp), %rcx
leaq 0x1ab73(%rip), %rax     # 0x3f7d0
movsd (%rax,%rcx,8), %xmm0
movswq 0x304(%rsp), %rcx
leaq 0x1ab5e(%rip), %rax     # 0x3f7d0
movsd (%rax,%rcx,8), %xmm1
movq 0x470(%rsp), %rdi
addq $0x30, %rdi
movswq 0x306(%rsp), %rax
imulq $0x30, %rax, %rax
addq %rax, %rdi
movl $0x6, %esi
callq 0x1f4b0
movswq 0x306(%rsp), %rcx
leaq 0x320(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x302(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x304(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movw 0x302(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x302(%rsp)
jmp 0x24c3c
jmp 0x24cee
movw 0x304(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x304(%rsp)
jmp 0x24c21
jmp 0x24d09
movw 0x306(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x306(%rsp)
jmp 0x24c06
leaq 0x2b0(%rsp), %rdi
xorl %esi, %esi
movl $0x48, %edx
callq 0x3150
leaq 0x260(%rsp), %rdi
xorl %esi, %esi
movl $0x48, %edx
callq 0x3150
movw $0x0, 0x25e(%rsp)
movswl 0x25e(%rsp), %eax
cmpl $0x3, %eax
jge 0x24f1e
movw $0x0, 0x25c(%rsp)
movswl 0x25c(%rsp), %eax
cmpl $0x3, %eax
jge 0x24f03
leaq 0x320(%rsp), %rax
addq $0xd8, %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm1
leaq 0x320(%rsp), %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm1
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm2
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm2
leaq 0x320(%rsp), %rax
movswq 0x25c(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm2
addsd %xmm2, %xmm1
movsd 0x1a288(%rip), %xmm2    # 0x3f138
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x1a328(%rip), %xmm0    # 0x3f1e8
mulsd %xmm1, %xmm0
movswq 0x25c(%rsp), %rcx
leaq 0x2b0(%rsp), %rax
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x25e(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movw 0x25c(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x25c(%rsp)
jmp 0x24d6f
jmp 0x24f05
movw 0x25e(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x25e(%rsp)
jmp 0x24d54
leaq 0x130(%rsp), %rdi
xorl %esi, %esi
movl $0x120, %edx            # imm = 0x120
callq 0x3150
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
movl $0x120, %edx            # imm = 0x120
callq 0x3150
movw $0x0, 0xe(%rsp)
movswl 0xe(%rsp), %eax
cmpl $0x3, %eax
jge 0x25387
movw $0x0, 0xc(%rsp)
movswl 0xc(%rsp), %eax
cmpl $0x3, %eax
jge 0x25372
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x130(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x10(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm0
movswq 0xc(%rsp), %rcx
leaq 0x2b0(%rsp), %rax
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
leaq 0x130(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm0
leaq 0x10(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x130(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm0
movswq 0xc(%rsp), %rcx
leaq 0x2b0(%rsp), %rax
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
leaq 0x10(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x320(%rsp), %rax
addq $0xd8, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0xc(%rsp), %rcx
leaq 0x2b0(%rsp), %rax
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
addq $0x48, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm0
leaq 0x130(%rsp), %rax
addq $0xd8, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq 0x320(%rsp), %rax
addq $0xd8, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0xc(%rsp), %rcx
leaq 0x2b0(%rsp), %rax
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
addq $0x90, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x320(%rsp), %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
divsd (%rax,%rcx,8), %xmm0
leaq 0x10(%rsp), %rax
addq $0xd8, %rax
movswq 0xc(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0xe(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movw 0xc(%rsp), %ax
addw $0x1, %ax
movw %ax, 0xc(%rsp)
jmp 0x24f5f
jmp 0x25374
movw 0xe(%rsp), %ax
addw $0x1, %ax
movw %ax, 0xe(%rsp)
jmp 0x24f4a
movw $0x0, 0xa(%rsp)
movswl 0xa(%rsp), %eax
cmpl $0x4, %eax
jge 0x25a17
xorps %xmm0, %xmm0
movsd %xmm0, 0x468(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x460(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x458(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x448(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x450(%rsp)
movw $0x0, 0x8(%rsp)
movswl 0x8(%rsp), %eax
cmpl $0x3, %eax
jge 0x254fd
movw $0x0, 0x6(%rsp)
movswl 0x6(%rsp), %eax
cmpl $0x3, %eax
jge 0x254e8
movswq 0xa(%rsp), %rcx
leaq 0x130(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x6(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0x8(%rsp), %rcx
leaq 0x1a374(%rip), %rax     # 0x3f7b0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x6(%rsp), %rcx
leaq 0x1a362(%rip), %rax     # 0x3f7b0
movsd (%rax,%rcx,8), %xmm2
movsd 0x468(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x468(%rsp)
movswq 0xa(%rsp), %rcx
leaq 0x10(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x6(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0x8(%rsp), %rcx
leaq 0x1a30c(%rip), %rax     # 0x3f7b0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x6(%rsp), %rcx
leaq 0x1a2fa(%rip), %rax     # 0x3f7b0
movsd (%rax,%rcx,8), %xmm2
movsd 0x460(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x460(%rsp)
movw 0x6(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x6(%rsp)
jmp 0x253f4
jmp 0x254ea
movw 0x8(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x8(%rsp)
jmp 0x253df
movsd 0x1a29b(%rip), %xmm0    # 0x3f7a0
mulsd 0x308(%rsp), %xmm0
mulsd 0x468(%rsp), %xmm0
movsd %xmm0, 0x468(%rsp)
movsd 0x1a278(%rip), %xmm0    # 0x3f7a0
mulsd 0x308(%rsp), %xmm0
mulsd 0x460(%rsp), %xmm0
movsd %xmm0, 0x460(%rsp)
movsd 0x19b55(%rip), %xmm0    # 0x3f0a0
divsd 0x318(%rsp), %xmm0
movsd 0x468(%rsp), %xmm2
movq 0x470(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0xa(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rax)
movsd 0x19af7(%rip), %xmm0    # 0x3f0a0
divsd 0x310(%rsp), %xmm0
movsd 0x460(%rsp), %xmm2
movq 0x470(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0xa(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x460(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x468(%rsp)
movw $0x0, 0x4(%rsp)
movswl 0x4(%rsp), %eax
cmpl $0x3, %eax
jge 0x25857
movw $0x0, 0x2(%rsp)
movswl 0x2(%rsp), %eax
cmpl $0x3, %eax
jge 0x25842
movswq 0xa(%rsp), %rcx
leaq 0x10(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x2(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x4(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0x2(%rsp), %rcx
leaq 0x1a158(%rip), %rax     # 0x3f7d0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x4(%rsp), %rcx
leaq 0x1a126(%rip), %rax     # 0x3f7b0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x2(%rsp), %rcx
leaq 0x1a114(%rip), %rax     # 0x3f7b0
movsd (%rax,%rcx,8), %xmm2
movsd 0x460(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x460(%rsp)
movswq 0xa(%rsp), %rcx
leaq 0x130(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x2(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x4(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0x4(%rsp), %rcx
leaq 0x1a0db(%rip), %rax     # 0x3f7d0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x4(%rsp), %rcx
leaq 0x1a0a9(%rip), %rax     # 0x3f7b0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x2(%rsp), %rcx
leaq 0x1a097(%rip), %rax     # 0x3f7b0
movsd (%rax,%rcx,8), %xmm2
movsd 0x458(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x458(%rsp)
movswq 0xa(%rsp), %rcx
leaq 0x130(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x2(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x4(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0x2(%rsp), %rcx
leaq 0x1a05e(%rip), %rax     # 0x3f7d0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x4(%rsp), %rcx
leaq 0x1a02c(%rip), %rax     # 0x3f7b0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x2(%rsp), %rcx
leaq 0x1a01a(%rip), %rax     # 0x3f7b0
movsd (%rax,%rcx,8), %xmm2
movsd 0x450(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x450(%rsp)
movswq 0xa(%rsp), %rcx
leaq 0x10(%rsp), %rax
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movswq 0x2(%rsp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movswq 0x4(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movswq 0x4(%rsp), %rcx
leaq 0x19fe4(%rip), %rax     # 0x3f7d0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x4(%rsp), %rcx
leaq 0x19fb2(%rip), %rax     # 0x3f7b0
mulsd (%rax,%rcx,8), %xmm0
movswq 0x2(%rsp), %rcx
leaq 0x19fa0(%rip), %rax     # 0x3f7b0
movsd (%rax,%rcx,8), %xmm2
movsd 0x448(%rsp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x448(%rsp)
movw 0x2(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x2(%rsp)
jmp 0x25633
jmp 0x25844
movw 0x4(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x4(%rsp)
jmp 0x2561e
movsd 0x19f41(%rip), %xmm0    # 0x3f7a0
mulsd 0x308(%rsp), %xmm0
mulsd 0x458(%rsp), %xmm0
movsd %xmm0, 0x458(%rsp)
movsd 0x19f1e(%rip), %xmm0    # 0x3f7a0
mulsd 0x308(%rsp), %xmm0
mulsd 0x460(%rsp), %xmm0
movsd %xmm0, 0x460(%rsp)
movsd 0x19efb(%rip), %xmm0    # 0x3f7a0
mulsd 0x308(%rsp), %xmm0
mulsd 0x450(%rsp), %xmm0
movsd %xmm0, 0x450(%rsp)
movsd 0x19ed8(%rip), %xmm0    # 0x3f7a0
mulsd 0x308(%rsp), %xmm0
mulsd 0x448(%rsp), %xmm0
movsd %xmm0, 0x448(%rsp)
movsd 0x197b5(%rip), %xmm1    # 0x3f0a0
divsd 0x318(%rsp), %xmm1
movsd 0x458(%rsp), %xmm2
movsd 0x1979b(%rip), %xmm0    # 0x3f0a0
divsd 0x310(%rsp), %xmm0
mulsd 0x460(%rsp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq 0x470(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0xa(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rax)
movsd 0x19df0(%rip), %xmm0    # 0x3f740
divsd 0x318(%rsp), %xmm0
movsd 0x450(%rsp), %xmm2
movq 0x470(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0xa(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x20(%rax), %xmm1
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rax)
movsd 0x19d92(%rip), %xmm0    # 0x3f740
divsd 0x310(%rsp), %xmm0
movsd 0x448(%rsp), %xmm2
movq 0x470(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0xa(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm1
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x28(%rax)
movw 0xa(%rsp), %ax
addw $0x1, %ax
movw %ax, 0xa(%rsp)
jmp 0x2538e
addq $0x478, %rsp            # imm = 0x478
retq
nop