// File: /workspace/github_c_makefile_star2_O0/markpeerdeman[P]mbemm/src/emath/singular.c
// Function: make_D
void make_D( const matrix D, const double beta )
{ /* IN:          matrix D, beta
   * OUT:         nothing 
   * MODIFIES:    matrix D
   * USES:        data from theElement
   * DESCRIPTION: This function fills the D matrix and returns the value
   *              for beta, which has to be used for calculating the 
   *              S matrix.
   */

   M(D,2,3) = (n3[1]-n2[1])/theElement->z1;
   M(D,2,3) = M(D,2,3) * beta;

   M(D,3,1) = (n3[2]-n2[2])/theElement->z1;
   M(D,3,1) = M(D,3,1) * beta;

   M(D,1,2) = (n3[3]-n2[3])/theElement->z1;
   M(D,1,2) = M(D,1,2) * beta;

   M(D,3,2) = -M(D,2,3); 
   M(D,1,3) = -M(D,3,1);
   M(D,2,1) = -M(D,1,2);

   M(D,1,1) = 0.0;
   M(D,2,2) = 0.0;
   M(D,3,3) = 0.0;

}

// Assembly:
movq %rdi, -0x8(%rsp)
movsd %xmm0, -0x10(%rsp)
movsd 0xf635(%rip), %xmm0     # 0x1e818
subsd 0xf60d(%rip), %xmm0     # 0x1e7f8
movq 0xf59e(%rip), %rax      # 0x1e790
divsd 0x88(%rax), %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movsd 0x10(%rax), %xmm0
mulsd -0x10(%rsp), %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movsd %xmm0, 0x10(%rax)
movsd 0xf5e2(%rip), %xmm0     # 0x1e820
subsd 0xf5ba(%rip), %xmm0     # 0x1e800
movq 0xf543(%rip), %rax      # 0x1e790
divsd 0x88(%rax), %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd (%rax), %xmm0
mulsd -0x10(%rsp), %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd %xmm0, (%rax)
movsd 0xf592(%rip), %xmm0     # 0x1e828
subsd 0xf56a(%rip), %xmm0     # 0x1e808
movq 0xf4eb(%rip), %rax      # 0x1e790
divsd 0x88(%rax), %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
mulsd -0x10(%rsp), %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movsd 0x10(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movsd 0x8(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x10(%rax)
retq
nopw %cs:(%rax,%rax)