// File: /workspace/github_cpp_makefile_star2_O1/Luthaf[P]zeopp/networkstorage.cc
// Function: ATOM_NETWORK::initialize()
void ATOM_NETWORK::initialize(){
  double tempd, talpha, tbeta, tgamma;
  talpha = 2*PI/360.0*alpha;
  tbeta  = 2*PI/360.0*beta;
  tgamma = 2*PI/360.0*gamma;
  double cosb = cos(tbeta);
  double cosg = cos(tgamma);
  double sing = sin(tgamma);
  tempd=(cos(talpha)-cosg*cosb)/sing;
  v_a.x=a;
  v_a.y=0.0;
  v_a.z=0.0;  
  v_b.x=b*cosg; 
  if(fabs(v_b.x) < TOLERANCE)
    v_b.x=0;  
  v_b.y=b*sing;
  v_b.z=0.0;  
  v_c.x=c*cosb;
  if(fabs(v_c.x) < TOLERANCE)
    v_c.x = 0;
  v_c.y=c*tempd;
  if(fabs(v_c.y) < TOLERANCE)
    v_c.y = 0;
  v_c.z=c*sqrt(1.0-(cosb*cosb)-(tempd*tempd));
  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 %r14
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %rbx
movsd 0xfd8b7(%rip), %xmm1    # 0x14fac0
movsd 0x20(%rdi), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x28(%rdi), %xmm0
mulsd %xmm1, %xmm0
mulsd 0x30(%rdi), %xmm1
movsd %xmm1, 0x8(%rsp)
callq 0x4800
movsd %xmm0, 0x10(%rsp)
movsd 0x8(%rsp), %xmm0
callq 0x4800
movaps %xmm0, 0x20(%rsp)
movsd 0x8(%rsp), %xmm0
callq 0x4100
movsd %xmm0, 0x8(%rsp)
movsd 0x18(%rsp), %xmm0
callq 0x4800
movapd 0x20(%rsp), %xmm4
movapd %xmm4, %xmm1
movsd 0x10(%rsp), %xmm5
mulsd %xmm5, %xmm1
subsd %xmm1, %xmm0
movsd 0x8(%rsp), %xmm7
divsd %xmm7, %xmm0
movsd 0x8(%rbx), %xmm1
movsd 0x10(%rbx), %xmm2
movsd %xmm1, 0x38(%rbx)
xorps %xmm1, %xmm1
movups %xmm1, 0x40(%rbx)
mulsd %xmm2, %xmm4
movapd 0xfcde9(%rip), %xmm1    # 0x14f090
movapd %xmm4, %xmm3
movapd %xmm4, %xmm6
andpd %xmm1, %xmm3
movsd 0x1023e5(%rip), %xmm4   # 0x1546a0
cmpltsd %xmm4, %xmm3
andnpd %xmm6, %xmm3
movlpd %xmm3, 0x50(%rbx)
movapd %xmm7, %xmm3
mulsd %xmm2, %xmm3
movsd %xmm3, 0x58(%rbx)
movq $0x0, 0x60(%rbx)
movsd 0x18(%rbx), %xmm6
movapd %xmm5, %xmm2
mulsd %xmm6, %xmm2
movapd %xmm2, %xmm3
andpd %xmm1, %xmm3
cmpltsd %xmm4, %xmm3
andnpd %xmm2, %xmm3
movlpd %xmm3, 0x68(%rbx)
movapd %xmm0, %xmm2
mulsd %xmm6, %xmm2
andpd %xmm2, %xmm1
cmpltsd %xmm4, %xmm1
andnpd %xmm2, %xmm1
movlpd %xmm1, 0x70(%rbx)
movapd %xmm5, %xmm2
mulsd %xmm5, %xmm2
movsd 0xfcd2d(%rip), %xmm1    # 0x14f058
subsd %xmm2, %xmm1
mulsd %xmm0, %xmm0
subsd %xmm0, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jb 0x5234a
xorps %xmm0, %xmm0
sqrtsd %xmm1, %xmm0
jmp 0x5235f
movapd %xmm1, %xmm0
movsd %xmm6, 0x8(%rsp)
callq 0x4350
movsd 0x8(%rsp), %xmm6
mulsd %xmm0, %xmm6
movsd %xmm6, 0x78(%rbx)
movq %rbx, %rdi
callq 0x52604
movsd 0x38(%rbx), %xmm0
movsd 0x50(%rbx), %xmm1
movsd 0x58(%rbx), %xmm2
movsd 0x68(%rbx), %xmm3
movsd 0x70(%rbx), %xmm4
movsd 0x78(%rbx), %xmm5
leaq 0x30(%rsp), %r14
movq %r14, %rdi
callq 0x789c0
leaq 0x340(%rbx), %rdi
movq %r14, %rsi
callq 0x12d52
leaq 0x358(%rbx), %rdi
leaq 0x48(%rsp), %rsi
callq 0x12d52
leaq 0x370(%rbx), %rdi
leaq 0x60(%rsp), %r14
movq %r14, %rsi
callq 0x12d52
movups 0x18(%r14), %xmm0
movups 0x28(%r14), %xmm1
movups 0x38(%r14), %xmm2
movups %xmm2, 0x3a8(%rbx)
movups %xmm1, 0x398(%rbx)
movups %xmm0, 0x388(%rbx)
movq (%r14), %rdi
testq %rdi, %rdi
je 0x52408
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x5241f
movq 0x58(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x52436
movq 0x40(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
addq $0xa8, %rsp
popq %rbx
popq %r14
retq
nop