// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/networkstorage.cc
// Function: ATOM_NETWORK::make(XYZ, XYZ, XYZ)
void ATOM_NETWORK::make(XYZ va, XYZ vb, XYZ vc) {
  v_a = va;
  v_b = vb;
  v_c = vc;
  a = v_a.magnitude();
  b = v_b.magnitude();
  c = v_c.magnitude();
  alpha = 360.0*v_b.angle_between(v_c)/(2.0*PI);
  beta = 360.0*v_a.angle_between(v_c)/(2.0*PI);
  gamma = 360.0*v_a.angle_between(v_b)/(2.0*PI);
  initMatrices();
  distanceCalculator = MIN_PER_DISTANCE(v_a.x, v_b.x, v_b.y, v_c.x, v_c.y, v_c.z);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, %rbx
leaq 0x38(%rdi), %r14
movq 0xb0(%rsp), %rax
movq %rax, 0x48(%rdi)
movaps 0xa0(%rsp), %xmm0
movups %xmm0, 0x38(%rdi)
leaq 0x50(%rdi), %r15
movups 0xb8(%rsp), %xmm0
movups %xmm0, 0x50(%rdi)
movq 0xc8(%rsp), %rax
movq %rax, 0x60(%rdi)
leaq 0x68(%rdi), %r12
movapd 0xd0(%rsp), %xmm0
movupd %xmm0, 0x68(%rdi)
movq 0xe0(%rsp), %rax
movq %rax, 0x78(%rdi)
movq %r14, %rdi
callq 0x8398c
movsd %xmm0, 0x8(%rbx)
movq %r15, %rdi
callq 0x8398c
movsd %xmm0, 0x10(%rbx)
movq %r12, %rdi
callq 0x8398c
movsd %xmm0, 0x18(%rbx)
movq %r15, %rdi
movq %r12, %rsi
callq 0x8450e
mulsd 0xfb9b0(%rip), %xmm0    # 0x14db00
divsd 0xfb9b0(%rip), %xmm0    # 0x14db08
movsd %xmm0, 0x20(%rbx)
movq %r14, %rdi
movq %r12, %rsi
callq 0x8450e
mulsd 0xfb990(%rip), %xmm0    # 0x14db00
divsd 0xfb990(%rip), %xmm0    # 0x14db08
movsd %xmm0, 0x28(%rbx)
movq %r14, %rdi
movq %r15, %rsi
callq 0x8450e
mulsd 0xfb970(%rip), %xmm0    # 0x14db00
divsd 0xfb970(%rip), %xmm0    # 0x14db08
movsd %xmm0, 0x30(%rbx)
movq %rbx, %rdi
callq 0x52330
movsd 0x38(%rbx), %xmm0
movsd 0x50(%rbx), %xmm1
movsd 0x58(%rbx), %xmm2
movsd 0x68(%rbx), %xmm3
movsd 0x70(%rbx), %xmm4
movsd 0x78(%rbx), %xmm5
movq %rsp, %r14
movq %r14, %rdi
callq 0x77b70
movq 0x340(%rbx), %rdi
movq 0x350(%rbx), %rsi
movaps (%r14), %xmm0
movups %xmm0, 0x340(%rbx)
movq 0x10(%r14), %rax
movq %rax, 0x350(%rbx)
xorps %xmm1, %xmm1
movaps %xmm1, (%r14)
movq $0x0, 0x10(%r14)
testq %rdi, %rdi
je 0x52211
subq %rdi, %rsi
callq 0x4470
xorps %xmm1, %xmm1
movq 0x358(%rbx), %rdi
movq 0x368(%rbx), %rsi
movups 0x18(%rsp), %xmm0
movups %xmm0, 0x358(%rbx)
movq 0x28(%rsp), %rax
movq %rax, 0x368(%rbx)
movups %xmm1, 0x18(%rsp)
movq $0x0, 0x28(%rsp)
testq %rdi, %rdi
je 0x52252
subq %rdi, %rsi
callq 0x4470
movq 0x370(%rbx), %rdi
movq 0x380(%rbx), %rsi
movaps 0x30(%rsp), %xmm0
movups %xmm0, 0x370(%rbx)
movq 0x40(%rsp), %rax
movq %rax, 0x380(%rbx)
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
movq $0x0, 0x40(%rsp)
testq %rdi, %rdi
je 0x522d3
subq %rdi, %rsi
callq 0x4470
movq 0x30(%rsp), %rdi
movups 0x68(%rsp), %xmm0
movups %xmm0, 0x3a8(%rbx)
movups 0x58(%rsp), %xmm0
movups %xmm0, 0x398(%rbx)
movups 0x48(%rsp), %xmm0
movups %xmm0, 0x388(%rbx)
testq %rdi, %rdi
je 0x522f7
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x522f7
movups 0x48(%rsp), %xmm0
movups 0x58(%rsp), %xmm1
movups 0x68(%rsp), %xmm2
movups %xmm2, 0x3a8(%rbx)
movups %xmm1, 0x398(%rbx)
movups %xmm0, 0x388(%rbx)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x5230e
movq 0x28(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x52324
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq