// File: jamesliu516[P]amrdg2d/spatial_discretization.cpp
// Function: spatial_discretize_f(Face&)
void spatial_discretize_f(Face &fc)
{
   OctCell *un;
   OctCell *un1;
 //  OctCell *unp1x, *unp1y, *unm1x, *unm1y;

//   double tmp92=0.0;
//   double tmp93=0.0;
//   double tmp94=0.0;  
//   double tmpx=0.0, tmpy=0.0;
   
   un=fc.parent;
   un1=fc.neighbor;
   double xc1,yc1, xc2,yc2;
   double dx1,dy1,dy2,dx2;     
//   double uapp[4][3][3]={0.0};
//   double uapp1[4][3][3]={0.0};
    
   xc1=un->xc1;
   yc1=un->yc1;
   dx1=un->dx;
   dy1=un->dy;
   
   xc2=un1->xc1;
   yc2=un1->yc1;
   dx2=un1->dx;
   dy2=un1->dy;  
         
  double fflx[4][6]={0.0};
  double rfflx[4][6]={0.0};
			      	  
   for (short j=0; j<4; j++) {
       fflx[j][0]=(wei[0]*fc.faceflux[0][j]+wei[1]*fc.faceflux[1][j]+wei[2]*fc.faceflux[2][j])*fc.area*0.5;
       fflx[j][1]=(wei[0]*fc.faceflux[0][j]*phix(fc.gs_pt[0][0],xc1,dx1)+wei[1]*fc.faceflux[1][j]*phix(fc.gs_pt[1][0],xc1,dx1)
             +wei[2]*fc.faceflux[2][j]*phix(fc.gs_pt[2][0],xc1,dx1))*fc.area*0.5;       
        
       fflx[j][2]=(wei[0]*fc.faceflux[0][j]*psiy(fc.gs_pt[0][1],yc1,dy1)+wei[1]*fc.faceflux[1][j]*psiy(fc.gs_pt[1][1],yc1,dy1)
             +wei[2]*fc.faceflux[2][j]*psiy(fc.gs_pt[2][1],yc1,dy1))*fc.area*0.5;         
        
//    if(nDOF==6) {        
       fflx[j][3]=(wei[0]*fc.faceflux[0][j]*phix_psiy(fc.gs_pt[0][0], fc.gs_pt[0][1],xc1,yc1,dx1, dy1)
             +wei[1]*fc.faceflux[1][j]*phix_psiy(fc.gs_pt[1][0], fc.gs_pt[1][1],xc1,yc1,dx1,dy1)
             +wei[2]*fc.faceflux[2][j]*phix_psiy(fc.gs_pt[2][0],fc.gs_pt[2][1],xc1,yc1,dx1, dy1))*fc.area*0.5;         
             
       fflx[j][4]=(wei[0]*fc.faceflux[0][j]*phix2m(fc.gs_pt[0][0],xc1,dx1)+wei[1]*fc.faceflux[1][j]*phix2m(fc.gs_pt[1][0],xc1,dx1)
             +wei[2]*fc.faceflux[2][j]*phix2m(fc.gs_pt[2][0],xc1,dx1))*fc.area*0.5;       
          
       fflx[j][5]=(wei[0]*fc.faceflux[0][j]*psiy2m(fc.gs_pt[0][1],yc1,dy1)+wei[1]*fc.faceflux[1][j]*psiy2m(fc.gs_pt[1][1],yc1,dy1)
             +wei[2]*fc.faceflux[2][j]*psiy2m(fc.gs_pt[2][1],yc1,dy1))*fc.area*0.5;   
  //   }
//right face   
       rfflx[j][0]=fflx[j][0];
       rfflx[j][1]=(wei[0]*fc.faceflux[0][j]*phix(fc.gs_pt[0][0],xc2,dx2)+wei[1]*fc.faceflux[1][j]*phix(fc.gs_pt[1][0],xc2,dx2)
             +wei[2]*fc.faceflux[2][j]*phix(fc.gs_pt[2][0],xc2,dx2))*fc.area*0.5;       
        
       rfflx[j][2]=(wei[0]*fc.faceflux[0][j]*psiy(fc.gs_pt[0][1],yc2,dy2)+wei[1]*fc.faceflux[1][j]*psiy(fc.gs_pt[1][1],yc2,dy2)
             +wei[2]*fc.faceflux[2][j]*psiy(fc.gs_pt[2][1],yc2,dy2))*fc.area*0.5;         
        
//    if(nDOF==6) {        
       rfflx[j][3]=(wei[0]*fc.faceflux[0][j]*phix_psiy(fc.gs_pt[0][0], fc.gs_pt[0][1],xc2,yc2,dx2, dy2)
             +wei[1]*fc.faceflux[1][j]*phix_psiy(fc.gs_pt[1][0], fc.gs_pt[1][1],xc2,yc2,dx2,dy2)
             +wei[2]*fc.faceflux[2][j]*phix_psiy(fc.gs_pt[2][0],fc.gs_pt[2][1],xc2,yc2,dx2, dy2))*fc.area*0.5;         
             
       rfflx[j][4]=(wei[0]*fc.faceflux[0][j]*phix2m(fc.gs_pt[0][0],xc2,dx2)+wei[1]*fc.faceflux[1][j]*phix2m(fc.gs_pt[1][0],xc2,dx2)
             +wei[2]*fc.faceflux[2][j]*phix2m(fc.gs_pt[2][0],xc2,dx2))*fc.area*0.5;       
          
       rfflx[j][5]=(wei[0]*fc.faceflux[0][j]*psiy2m(fc.gs_pt[0][1],yc2,dy2)+wei[1]*fc.faceflux[1][j]*psiy2m(fc.gs_pt[1][1],yc2,dy2)
             +wei[2]*fc.faceflux[2][j]*psiy2m(fc.gs_pt[2][1],yc2,dy2))*fc.area*0.5;   
  //   }  
  }          
   	             
   //face flux
   for(short j=0;j<4;++j){
      for(short imm=0; imm<6;++imm) {
         un->residual[j][imm] += fflx[j][imm];   
         un1->residual[j][imm] -= rfflx[j][imm]; 
      }
  }	    

//end face flux
}

// Assembly:
subq $0x378, %rsp            # imm = 0x378
movq %rdi, 0x370(%rsp)
movq 0x370(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x368(%rsp)
movq 0x370(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x360(%rsp)
movq 0x368(%rsp), %rax
movsd 0x278(%rax), %xmm0
movsd %xmm0, 0x358(%rsp)
movq 0x368(%rsp), %rax
movsd 0x280(%rax), %xmm0
movsd %xmm0, 0x350(%rsp)
movq 0x368(%rsp), %rax
movsd 0x288(%rax), %xmm0
movsd %xmm0, 0x338(%rsp)
movq 0x368(%rsp), %rax
movsd 0x290(%rax), %xmm0
movsd %xmm0, 0x330(%rsp)
movq 0x360(%rsp), %rax
movsd 0x278(%rax), %xmm0
movsd %xmm0, 0x348(%rsp)
movq 0x360(%rsp), %rax
movsd 0x280(%rax), %xmm0
movsd %xmm0, 0x340(%rsp)
movq 0x360(%rsp), %rax
movsd 0x288(%rax), %xmm0
movsd %xmm0, 0x320(%rsp)
movq 0x360(%rsp), %rax
movsd 0x290(%rax), %xmm0
movsd %xmm0, 0x328(%rsp)
leaq 0x260(%rsp), %rdi
xorl %esi, %esi
movl $0xc0, %edx
callq 0x3150
leaq 0x1a0(%rsp), %rdi
xorl %esi, %esi
movl $0xc0, %edx
callq 0x3150
movw $0x0, 0x19e(%rsp)
movswl 0x19e(%rsp), %eax
cmpl $0x4, %eax
jge 0x24a24
movsd 0x1bd97(%rip), %xmm1    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
movsd 0x50(%rax,%rcx,8), %xmm2
movsd 0x1bd80(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x1bd61(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
movsd 0x90(%rax,%rcx,8), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1b6a7(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movsd 0x1bcef(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x18(%rsp)
movq 0x370(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd 0x358(%rsp), %xmm1
movsd 0x338(%rsp), %xmm2
callq 0x25ba0
movsd %xmm0, 0x10(%rsp)
movsd 0x1bca8(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x370(%rsp), %rax
movsd 0x30(%rax), %xmm0
movsd 0x358(%rsp), %xmm1
movsd 0x338(%rsp), %xmm2
callq 0x25ba0
movsd 0x8(%rsp), %xmm1
movsd 0x10(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x18(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x1bc40(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x28(%rsp)
movq 0x370(%rsp), %rax
movsd 0x40(%rax), %xmm0
movsd 0x358(%rsp), %xmm1
movsd 0x338(%rsp), %xmm2
callq 0x25ba0
movsd 0x20(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x28(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1b54d(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movsd 0x1bb94(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x40(%rsp)
movq 0x370(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd 0x350(%rsp), %xmm1
movsd 0x330(%rsp), %xmm2
callq 0x25be0
movsd %xmm0, 0x38(%rsp)
movsd 0x1bb4d(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x30(%rsp)
movq 0x370(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd 0x350(%rsp), %xmm1
movsd 0x330(%rsp), %xmm2
callq 0x25be0
movsd 0x30(%rsp), %xmm1
movsd 0x38(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x40(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x48(%rsp)
movsd 0x1bae5(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x50(%rsp)
movq 0x370(%rsp), %rax
movsd 0x48(%rax), %xmm0
movsd 0x350(%rsp), %xmm1
movsd 0x330(%rsp), %xmm2
callq 0x25be0
movsd 0x48(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x50(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1b3f2(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movsd 0x1ba39(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x68(%rsp)
movq 0x370(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x370(%rsp), %rax
movsd 0x28(%rax), %xmm1
movsd 0x358(%rsp), %xmm2
movsd 0x350(%rsp), %xmm3
movsd 0x338(%rsp), %xmm4
movsd 0x330(%rsp), %xmm5
callq 0x25c20
movsd %xmm0, 0x60(%rsp)
movsd 0x1b9d3(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x58(%rsp)
movq 0x370(%rsp), %rax
movsd 0x30(%rax), %xmm0
movq 0x370(%rsp), %rax
movsd 0x38(%rax), %xmm1
movsd 0x358(%rsp), %xmm2
movsd 0x350(%rsp), %xmm3
movsd 0x338(%rsp), %xmm4
movsd 0x330(%rsp), %xmm5
callq 0x25c20
movsd 0x58(%rsp), %xmm1
movsd 0x60(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x68(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x70(%rsp)
movsd 0x1b94c(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x78(%rsp)
movq 0x370(%rsp), %rax
movsd 0x40(%rax), %xmm0
movq 0x370(%rsp), %rax
movsd 0x48(%rax), %xmm1
movsd 0x358(%rsp), %xmm2
movsd 0x350(%rsp), %xmm3
movsd 0x338(%rsp), %xmm4
movsd 0x330(%rsp), %xmm5
callq 0x25c20
movsd 0x70(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x78(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1b23a(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x18(%rax)
movsd 0x1b881(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x90(%rsp)
movq 0x370(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd 0x358(%rsp), %xmm1
movsd 0x338(%rsp), %xmm2
callq 0x25c80
movsd %xmm0, 0x88(%rsp)
movsd 0x1b834(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x80(%rsp)
movq 0x370(%rsp), %rax
movsd 0x30(%rax), %xmm0
movsd 0x358(%rsp), %xmm1
movsd 0x338(%rsp), %xmm2
callq 0x25c80
movsd 0x80(%rsp), %xmm1
movsd 0x88(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x90(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x98(%rsp)
movsd 0x1b7bd(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xa0(%rsp)
movq 0x370(%rsp), %rax
movsd 0x40(%rax), %xmm0
movsd 0x358(%rsp), %xmm1
movsd 0x338(%rsp), %xmm2
callq 0x25c80
movsd 0x98(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xa0(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1b0c1(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x20(%rax)
movsd 0x1b708(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xb8(%rsp)
movq 0x370(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd 0x350(%rsp), %xmm1
movsd 0x330(%rsp), %xmm2
callq 0x25ce0
movsd %xmm0, 0xb0(%rsp)
movsd 0x1b6bb(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xa8(%rsp)
movq 0x370(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd 0x350(%rsp), %xmm1
movsd 0x330(%rsp), %xmm2
callq 0x25ce0
movsd 0xa8(%rsp), %xmm1
movsd 0xb0(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0xb8(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%rsp)
movsd 0x1b644(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xc8(%rsp)
movq 0x370(%rsp), %rax
movsd 0x48(%rax), %xmm0
movsd 0x350(%rsp), %xmm1
movsd 0x330(%rsp), %xmm2
callq 0x25ce0
movsd 0xc0(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xc8(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1af48(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movswq 0x19e(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movsd 0x1b557(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xe0(%rsp)
movq 0x370(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x320(%rsp), %xmm2
callq 0x25ba0
movsd %xmm0, 0xd8(%rsp)
movsd 0x1b50a(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xd0(%rsp)
movq 0x370(%rsp), %rax
movsd 0x30(%rax), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x320(%rsp), %xmm2
callq 0x25ba0
movsd 0xd0(%rsp), %xmm1
movsd 0xd8(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0xe0(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xe8(%rsp)
movsd 0x1b493(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xf0(%rsp)
movq 0x370(%rsp), %rax
movsd 0x40(%rax), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x320(%rsp), %xmm2
callq 0x25ba0
movsd 0xe8(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0xf0(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1ad97(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movsd 0x1b3de(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x108(%rsp)
movq 0x370(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd 0x340(%rsp), %xmm1
movsd 0x328(%rsp), %xmm2
callq 0x25be0
movsd %xmm0, 0x100(%rsp)
movsd 0x1b391(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0xf8(%rsp)
movq 0x370(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd 0x340(%rsp), %xmm1
movsd 0x328(%rsp), %xmm2
callq 0x25be0
movsd 0xf8(%rsp), %xmm1
movsd 0x100(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x108(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x110(%rsp)
movsd 0x1b31a(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x118(%rsp)
movq 0x370(%rsp), %rax
movsd 0x48(%rax), %xmm0
movsd 0x340(%rsp), %xmm1
movsd 0x328(%rsp), %xmm2
callq 0x25be0
movsd 0x110(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x118(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1ac1e(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movsd 0x1b265(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x130(%rsp)
movq 0x370(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x370(%rsp), %rax
movsd 0x28(%rax), %xmm1
movsd 0x348(%rsp), %xmm2
movsd 0x340(%rsp), %xmm3
movsd 0x320(%rsp), %xmm4
movsd 0x328(%rsp), %xmm5
callq 0x25c20
movsd %xmm0, 0x128(%rsp)
movsd 0x1b1f9(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x120(%rsp)
movq 0x370(%rsp), %rax
movsd 0x30(%rax), %xmm0
movq 0x370(%rsp), %rax
movsd 0x38(%rax), %xmm1
movsd 0x348(%rsp), %xmm2
movsd 0x340(%rsp), %xmm3
movsd 0x320(%rsp), %xmm4
movsd 0x328(%rsp), %xmm5
callq 0x25c20
movsd 0x120(%rsp), %xmm1
movsd 0x128(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x130(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x138(%rsp)
movsd 0x1b163(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x140(%rsp)
movq 0x370(%rsp), %rax
movsd 0x40(%rax), %xmm0
movq 0x370(%rsp), %rax
movsd 0x48(%rax), %xmm1
movsd 0x348(%rsp), %xmm2
movsd 0x340(%rsp), %xmm3
movsd 0x320(%rsp), %xmm4
movsd 0x328(%rsp), %xmm5
callq 0x25c20
movsd 0x138(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x140(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1aa48(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x18(%rax)
movsd 0x1b08f(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x158(%rsp)
movq 0x370(%rsp), %rax
movsd 0x20(%rax), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x320(%rsp), %xmm2
callq 0x25c80
movsd %xmm0, 0x150(%rsp)
movsd 0x1b042(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x148(%rsp)
movq 0x370(%rsp), %rax
movsd 0x30(%rax), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x320(%rsp), %xmm2
callq 0x25c80
movsd 0x148(%rsp), %xmm1
movsd 0x150(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x158(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x160(%rsp)
movsd 0x1afcb(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x168(%rsp)
movq 0x370(%rsp), %rax
movsd 0x40(%rax), %xmm0
movsd 0x348(%rsp), %xmm1
movsd 0x320(%rsp), %xmm2
callq 0x25c80
movsd 0x160(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x168(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1a8cf(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x20(%rax)
movsd 0x1af16(%rip), %xmm0    # 0x3f7b0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x50(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x180(%rsp)
movq 0x370(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd 0x340(%rsp), %xmm1
movsd 0x328(%rsp), %xmm2
callq 0x25ce0
movsd %xmm0, 0x178(%rsp)
movsd 0x1aec9(%rip), %xmm0    # 0x3f7b8
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x170(%rsp)
movq 0x370(%rsp), %rax
movsd 0x38(%rax), %xmm0
movsd 0x340(%rsp), %xmm1
movsd 0x328(%rsp), %xmm2
callq 0x25ce0
movsd 0x170(%rsp), %xmm1
movsd 0x178(%rsp), %xmm2
movaps %xmm0, %xmm3
movsd 0x180(%rsp), %xmm0
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x188(%rsp)
movsd 0x1ae52(%rip), %xmm0    # 0x3f7c0
movq 0x370(%rsp), %rax
movswq 0x19e(%rsp), %rcx
mulsd 0x90(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x190(%rsp)
movq 0x370(%rsp), %rax
movsd 0x48(%rax), %xmm0
movsd 0x340(%rsp), %xmm1
movsd 0x328(%rsp), %xmm2
callq 0x25ce0
movsd 0x188(%rsp), %xmm1
movaps %xmm0, %xmm2
movsd 0x190(%rsp), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x370(%rsp), %rax
mulsd 0xb0(%rax), %xmm0
movsd 0x1a756(%rip), %xmm1    # 0x3f140
mulsd %xmm1, %xmm0
movswq 0x19e(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movw 0x19e(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x19e(%rsp)
jmp 0x23a00
movw $0x0, 0x19c(%rsp)
movswl 0x19c(%rsp), %eax
cmpl $0x4, %eax
jge 0x24b40
movw $0x0, 0x19a(%rsp)
movswl 0x19a(%rsp), %eax
cmpl $0x6, %eax
jge 0x24b25
movswq 0x19c(%rsp), %rcx
leaq 0x260(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movswq 0x19a(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x368(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0x19c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movswq 0x19a(%rsp), %rcx
addsd (%rax,%rcx,8), %xmm0
movsd %xmm0, (%rax,%rcx,8)
movswq 0x19c(%rsp), %rcx
leaq 0x1a0(%rsp), %rax
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movswq 0x19a(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x360(%rsp), %rax
addq $0x2a0, %rax            # imm = 0x2A0
movswq 0x19c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movswq 0x19a(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movw 0x19a(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x19a(%rsp)
jmp 0x24a49
jmp 0x24b27
movw 0x19c(%rsp), %ax
addw $0x1, %ax
movw %ax, 0x19c(%rsp)
jmp 0x24a2e
addq $0x378, %rsp            # imm = 0x378
retq
nopl (%rax,%rax)