// File: /workspace/github_c_makefile_star2_O0/markpeerdeman[P]mbemm/src/emath/mcheck.c
// Function: make_restraints
void make_restraints(mesh theMesh)
{ point p;
  restraint r;

  /* search through all points and create a new displacement restraint for each point: */
  p=(point)point_dll(theMesh->mesh_p,START,0); 
  while (p!=(point)NULL)
  { r=(restraint)restraint_dll(theMesh->mesh_d,APPEND,0);
    r->label=p->label; 
    r->type =DISPLACEMENT;
    
    r->u1=10.0/EMOD*( 0.5*p->x*p->x - NU*p->x*p->y + 0.5*(2.0+3.0*NU)*p->y*p->y
                    -0.5*(4.0+3.0*NU)*p->z*p->z );
    r->u2=10.0/EMOD*( 0.5*NU*p->x*p->x - NU*p->x*p->y + 0.5*p->y*p->y
                    -0.5*(2.0+NU)*p->z*p->z );
    r->u3=-10.0/EMOD*( NU*(p->x+p->y)*p->z );

    p=p->NEXT;
  } 
  

}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x175c0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x12c50
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rdi
movl $0x3, %esi
xorl %edx, %edx
callq 0x17a40
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movl 0x10(%rax), %ecx
movq (%rsp), %rax
movl %ecx, 0x14(%rax)
movq (%rsp), %rax
movl $0x1, 0x10(%rax)
movsd 0x78ba(%rip), %xmm0     # 0x1a290
leaq 0xb9fb(%rip), %rax      # 0x1e3d8
divsd (%rax), %xmm0
movq 0x8(%rsp), %rax
movsd 0x6a42(%rip), %xmm1     # 0x19430
mulsd 0x20(%rax), %xmm1
movq 0x8(%rsp), %rax
movsd 0x20(%rax), %xmm3
leaq 0xb9dc(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm2
movq 0x8(%rsp), %rax
mulsd 0x20(%rax), %xmm2
movq 0x8(%rsp), %rax
mulsd 0x28(%rax), %xmm2
movq %xmm2, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
leaq 0xb99e(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm3
movsd 0x69da(%rip), %xmm2     # 0x19428
mulsd %xmm2, %xmm3
movsd 0x69de(%rip), %xmm2     # 0x19438
addsd %xmm2, %xmm3
movsd 0x69ca(%rip), %xmm2     # 0x19430
mulsd %xmm3, %xmm2
movq 0x8(%rsp), %rax
mulsd 0x28(%rax), %xmm2
movq 0x8(%rsp), %rax
movsd 0x28(%rax), %xmm3
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
leaq 0xb953(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm3
movsd 0x698f(%rip), %xmm1     # 0x19428
mulsd %xmm1, %xmm3
movsd 0x69a3(%rip), %xmm1     # 0x19448
addsd %xmm1, %xmm3
movsd 0x697f(%rip), %xmm1     # 0x19430
mulsd %xmm3, %xmm1
movq 0x8(%rsp), %rax
mulsd 0x30(%rax), %xmm1
movq 0x8(%rsp), %rax
movsd 0x30(%rax), %xmm3
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq (%rsp), %rax
movsd %xmm0, 0x30(%rax)
movsd 0x7793(%rip), %xmm0     # 0x1a290
leaq 0xb8d4(%rip), %rax      # 0x1e3d8
divsd (%rax), %xmm0
movsd 0x6920(%rip), %xmm1     # 0x19430
leaq 0xb8c9(%rip), %rax      # 0x1e3e0
mulsd (%rax), %xmm1
movq 0x8(%rsp), %rax
mulsd 0x20(%rax), %xmm1
movq 0x8(%rsp), %rax
movsd 0x20(%rax), %xmm3
leaq 0xb8aa(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm2
movq 0x8(%rsp), %rax
mulsd 0x20(%rax), %xmm2
movq 0x8(%rsp), %rax
mulsd 0x28(%rax), %xmm2
movq %xmm2, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movq 0x8(%rsp), %rax
movsd 0x68b6(%rip), %xmm2     # 0x19430
mulsd 0x28(%rax), %xmm2
movq 0x8(%rsp), %rax
movsd 0x28(%rax), %xmm3
mulsd %xmm3, %xmm2
addsd %xmm1, %xmm2
movsd 0x689f(%rip), %xmm3     # 0x19438
leaq 0xb840(%rip), %rax      # 0x1e3e0
addsd (%rax), %xmm3
movsd 0x6884(%rip), %xmm1     # 0x19430
mulsd %xmm3, %xmm1
movq 0x8(%rsp), %rax
mulsd 0x30(%rax), %xmm1
movq 0x8(%rsp), %rax
movsd 0x30(%rax), %xmm3
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movq (%rsp), %rax
movsd %xmm0, 0x38(%rax)
movsd 0x7690(%rip), %xmm0     # 0x1a288
leaq 0xb7d9(%rip), %rax      # 0x1e3d8
divsd (%rax), %xmm0
leaq 0xb7d6(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm1
movq 0x8(%rsp), %rax
movsd 0x20(%rax), %xmm2
movq 0x8(%rsp), %rax
addsd 0x28(%rax), %xmm2
mulsd %xmm2, %xmm1
movq 0x8(%rsp), %rax
mulsd 0x30(%rax), %xmm1
mulsd %xmm1, %xmm0
movq (%rsp), %rax
movsd %xmm0, 0x40(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x1298f
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)