// File: /workspace/github_c_makefile_star2_O0/markpeerdeman[P]mbemm/src/emath/linearc.c
// Function: init_normal_integration
void init_normal_integration( point sn, element e )
{ /* IN:          sourcenode 'sn', element e;
   * OUT:         nothing
   * MODIFIES:    the matrix arrays tf[] and uf[]
   * USES:        fsol3d module
   * DESCRIPTION: This function fills the matrix arrays uf[] and tf[] with
   *              the fundamental solutions in the gauss points. This is 
   *              done once for each element.
   */
int i;            /* counter */
double cx, cy, cz;  /* fieldpoint coordinates */

   for (i=1; i<=7; i++)
   { cx = xi1[i]*e->p1x + xi2[i]*e->p2x + xi3[i]*e->p3x;
     cy = xi1[i]*e->p1y + xi2[i]*e->p2y + xi3[i]*e->p3y;
     cz = xi1[i]*e->p1z + xi2[i]*e->p2z + xi3[i]*e->p3z;
     makeUFandTF(uf[i],tf[i],sn->x,sn->y,sn->z,cx,cy,cz,e->nx,e->ny,e->nz);
   }

}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movl $0x1, 0x24(%rsp)
cmpl $0x7, 0x24(%rsp)
jg 0x11849
movslq 0x24(%rsp), %rcx
leaq 0xcc43(%rip), %rax      # 0x1e2d0
movsd (%rax,%rcx,8), %xmm1
movq 0x28(%rsp), %rax
movsd 0x28(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0xcc68(%rip), %rax      # 0x1e310
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rsp), %rax
mulsd 0x40(%rax), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movslq 0x24(%rsp), %rcx
leaq 0xcc85(%rip), %rax      # 0x1e350
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rsp), %rax
movsd 0x58(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
movslq 0x24(%rsp), %rcx
leaq 0xcbdc(%rip), %rax      # 0x1e2d0
movsd (%rax,%rcx,8), %xmm1
movq 0x28(%rsp), %rax
movsd 0x30(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0xcc01(%rip), %rax      # 0x1e310
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rsp), %rax
mulsd 0x48(%rax), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movslq 0x24(%rsp), %rcx
leaq 0xcc1e(%rip), %rax      # 0x1e350
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rsp), %rax
movsd 0x60(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movslq 0x24(%rsp), %rcx
leaq 0xcb75(%rip), %rax      # 0x1e2d0
movsd (%rax,%rcx,8), %xmm1
movq 0x28(%rsp), %rax
movsd 0x38(%rax), %xmm2
movslq 0x24(%rsp), %rcx
leaq 0xcb9a(%rip), %rax      # 0x1e310
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rsp), %rax
mulsd 0x50(%rax), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movslq 0x24(%rsp), %rcx
leaq 0xcbb7(%rip), %rax      # 0x1e350
movsd (%rax,%rcx,8), %xmm0
movq 0x28(%rsp), %rax
movsd 0x68(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0xd0d3(%rip), %rax      # 0x1e890
movslq 0x24(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xd0bb(%rip), %rax      # 0x1e888
movslq 0x24(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq 0x30(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x30(%rsp), %rax
movsd 0x28(%rax), %xmm1
movq 0x30(%rsp), %rax
movsd 0x30(%rax), %xmm2
movsd 0x18(%rsp), %xmm3
movsd 0x10(%rsp), %xmm4
movsd 0x8(%rsp), %xmm5
movq 0x28(%rsp), %rax
movsd 0xa0(%rax), %xmm6
movq 0x28(%rsp), %rax
movsd 0xa8(%rax), %xmm7
movq 0x28(%rsp), %rax
movsd 0xb0(%rax), %xmm8
movsd %xmm8, (%rsp)
callq 0x13ad0
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x11676
addq $0x38, %rsp
retq
nop