// File: /workspace/github_cpp_makefile_star2_O2/WolfgangLechner[P]StructureAnalysis/molecular_system.cpp
// Function: CMolecularSystem::fillConstants()
void CMolecularSystem::fillConstants()
{
  //Wigner ThreeJSymbol for l = 6
  constants.WignerSymbol6[0]  =  0.0511827; //6 -6  0
  constants.WignerSymbol6[1]  = -0.0957541; //6 -5 -1
  constants.WignerSymbol6[2]  =  0.129115;  //6 -4 -2
  constants.WignerSymbol6[3]  = -0.141438;  //6 -3 -3
  constants.WignerSymbol6[4]  =  0.127957;  //5 -5  0
  constants.WignerSymbol6[5]  = -0.106079;  //5 -4 -1
  constants.WignerSymbol6[6]  =  0.0408297; //5 -3 -2
  constants.WignerSymbol6[7]  =  0.0186119; //4 -4  0
  constants.WignerSymbol6[8]  =  0.0688184; //4 -3 -1
  constants.WignerSymbol6[9]  = -0.104459;  //4 -2 -2
  constants.WignerSymbol6[10] = -0.100039;  //3 -3 -0
  constants.WignerSymbol6[11] =  0.0452321; //3 -2 -1
  constants.WignerSymbol6[12] =  0.0511827; //2 -2  0
  constants.WignerSymbol6[13] = -0.0953576; //2 -1 -1
  constants.WignerSymbol6[14] =  0.0465298; //1 -1  0
  constants.WignerSymbol6[15] =  -0.0930595; //0  0  0

  //number of permutations for l=6
  constants.WignerPermutations6[0]  = 6.0;  //6  -6   0
  constants.WignerPermutations6[1]  = 12.0; //6  -5  -1
  constants.WignerPermutations6[2]  = 12.0; //6  -4  -2
  constants.WignerPermutations6[3]  = 6.0;  //6  -3  -3
  constants.WignerPermutations6[4]  = 6.0;  //5  -5   0
  constants.WignerPermutations6[5]  = 12.0; //5  -4  -1
  constants.WignerPermutations6[6]  = 12.0; //5  -3  -2
  constants.WignerPermutations6[7]  = 6.0;  //4  -4   0
  constants.WignerPermutations6[8]  = 12.0; //4  -3  -1
  constants.WignerPermutations6[9]  = 6.0;  //4  -2  -2
  constants.WignerPermutations6[10] = 6.0;  //3  -3   0
  constants.WignerPermutations6[11] = 12.0; //3  -2  -1
  constants.WignerPermutations6[12] = 6.0;  //2  -2   0
  constants.WignerPermutations6[13] = 6.0;  //2  -1  -1
  constants.WignerPermutations6[14] = 6.0;  //1  -1   0
  constants.WignerPermutations6[15] = 1.0;  //0   0   0


  //l = 4
  constants.WignerSymbol4[0]  =  0.104298; //4 -4  0
  constants.WignerSymbol4[1]  = -0.164909; //4 -3 -1
  constants.WignerSymbol4[2]  =  0.186989; //4 -2 -2
  constants.WignerSymbol4[3] =   0.156447;  //3 -3 -0
  constants.WignerSymbol4[4] =  -0.0623298; //3 -2 -1
  constants.WignerSymbol4[5] =  -0.0819482; //2 -2  0
  constants.WignerSymbol4[6] =   0.141351;  //2 -1 -1
  constants.WignerSymbol4[7] =  -0.0670485; //1 -1  0
  constants.WignerSymbol4[8] =   0.134097;  //0  0  0

  constants.WignerPermutations4[0]  = 6.0; //4  -4   0
  constants.WignerPermutations4[1]  = 12.0; //4  -3  -1
  constants.WignerPermutations4[2]  = 6.0; //4  -2  -2
  constants.WignerPermutations4[3] = 6.0; //3  -3   0
  constants.WignerPermutations4[4] = 12.0; //3  -2  -1
  constants.WignerPermutations4[5] = 6.0; //2  -2   0
  constants.WignerPermutations4[6] = 6.0; //2  -1  -1
  constants.WignerPermutations4[7] = 6.0; //1  -1   0
  constants.WignerPermutations4[8] = 1.0; //0   0   0


  constants.m1[0]  = -6; constants.m2[0]  = 6; constants.m3[0] = 0;
  constants.m1[1]  = -6; constants.m2[1]  = 5; constants.m3[1] = 1;
  constants.m1[2]  = -6; constants.m2[2]  = 4; constants.m3[2] = 2;
  constants.m1[3]  = -6; constants.m2[3]  = 3; constants.m3[3] = 3;

  constants.m1[4]  = -5; constants.m2[4]  = 5; constants.m3[4] = 0;
  constants.m1[5]  = -5; constants.m2[5]  = 4; constants.m3[5] = 1;
  constants.m1[6]  = -5; constants.m2[6]  = 3; constants.m3[6] = 2;

  constants.m1[7]  = -4; constants.m2[7]  = 4; constants.m3[7] = 0;
  constants.m1[8]  = -4; constants.m2[8]  = 3; constants.m3[8] = 1;
  constants.m1[9]  = -4; constants.m2[9]  = 2; constants.m3[9] = 2;

  constants.m1[10] = -3; constants.m2[10] = 3; constants.m3[10] = 0;
  constants.m1[11] = -3; constants.m2[11] = 2; constants.m3[11] = 1;

  constants.m1[12] = -2; constants.m2[12] = 2; constants.m3[12] = 0;
  constants.m1[13] = -2; constants.m2[13] = 1; constants.m3[13] = 1;

  constants.m1[14] = -1; constants.m2[14] = 1; constants.m3[14] = 0;
  constants.m1[15] = 0;  constants.m2[15] = 0; constants.m3[15] = 0;

  constants.factorials[0]  = 1;
  constants.factorials[1]  = 1;
  constants.factorials[2]  = 1*2;
  constants.factorials[3]  = 1*2*3;
  constants.factorials[4]  = 1*2*3*4;
  constants.factorials[5]  = 1*2*3*4*5;
  constants.factorials[6]  = 1*2*3*4*5*6;
  constants.factorials[7]  = 1*2*3*4*5*6*7;
  constants.factorials[8]  = 1*2*3*4*5*6*7*8;
  constants.factorials[9]  = 1*2*3*4*5*6*7*8*9;
  constants.factorials[10] = 1*2*3*4*5*6*7*8*9*10;
  constants.factorials[11] = 1*2*3*4*5*6*7*8*9*10*11;
  constants.factorials[12] = 1*2*3*4*5*6*7*8*9*10*11*12;

  //0 = Q4
  //1 = Q6;
  //2 = W4;
  //3 = W6;
  constants.kfcc[0] = 0.19094;
  constants.kfcc[1] = 0.57452;
  constants.kfcc[2] = -0.15932;
  constants.kfcc[3] = -0.01316;

  constants.khcp[0] = 0.09722;
  constants.khcp[1] = 0.48476;
  constants.khcp[2] = 0.13410;
  constants.khcp[3] = -0.01244;

  constants.ksc[0] = 0.76376;
  constants.ksc[1] = 0.35355;
  constants.ksc[2] = 0.15932;
  constants.ksc[3] = 0.01316;

  constants.kbcc[0] = 0.0363696;
  constants.kbcc[1] = 0.5107;
  constants.kbcc[2] = 0.15932;
  constants.kbcc[3] = 0.01316;

  constants.kliq[0] = 0.0;
  constants.kliq[1] = 0.0;
  constants.kliq[2] = 0.0;
  constants.kliq[3] = 0.0;


}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movabsq $0x3faa349e6d3df0fc, %rax # imm = 0x3FAA349E6D3DF0FC
movq %rax, 0xb4e918(%rdi)
movabsq $-0x40477ca8c80ac62d, %rcx # imm = 0xBFB8835737F539D3
movq %rcx, 0xb4e920(%rdi)
movabsq $0x3fc086d71f36262d, %rcx # imm = 0x3FC086D71F36262D
movq %rcx, 0xb4e928(%rdi)
movabsq $-0x403de55c0fcb4f1e, %rcx # imm = 0xBFC21AA3F034B0E2
movq %rcx, 0xb4e930(%rdi)
movabsq $0x3fc060e51d25aab4, %rcx # imm = 0x3FC060E51D25AAB4
movq %rcx, 0xb4e938(%rdi)
movabsq $-0x4044d801b4352652, %rcx # imm = 0xBFBB27FE4BCAD9AE
movq %rcx, 0xb4e940(%rdi)
movabsq $0x3fa4e7a164693624, %rcx # imm = 0x3FA4E7A164693624
movq %rcx, 0xb4e948(%rdi)
movabsq $0x3f930eff7744043c, %rcx # imm = 0x3F930EFF7744043C
movq %rcx, 0xb4e950(%rdi)
movabsq $0x3fb19e15295cf09c, %rcx # imm = 0x3FB19E15295CF09C
movq %rcx, 0xb4e958(%rdi)
movabsq $-0x4045422ccb3a2596, %rcx # imm = 0xBFBABDD334C5DA6A
movq %rcx, 0xb4e960(%rdi)
movabsq $-0x404663d816aceaaf, %rcx # imm = 0xBFB99C27E9531551
movq %rcx, 0xb4e968(%rdi)
movabsq $0x3fa728a96c757420, %rcx # imm = 0x3FA728A96C757420
movq %rcx, 0xb4e970(%rdi)
movq %rax, 0xb4e978(%rdi)
movabsq $-0x404796a4f2932ff3, %rax # imm = 0xBFB8695B0D6CD00D
movq %rax, 0xb4e980(%rdi)
movabsq $0x3fa7d2c102942ef7, %rax # imm = 0x3FA7D2C102942EF7
movq %rax, 0xb4e988(%rdi)
movabsq $-0x40482d40aaeafab5, %rax # imm = 0xBFB7D2BF5515054B
movq %rax, 0xb4e990(%rdi)
movabsq $0x4018000000000000, %rax # imm = 0x4018000000000000
movq %rax, 0xb4e9e0(%rdi)
movabsq $0x4028000000000000, %rcx # imm = 0x4028000000000000
movq %rcx, 0xb4e9e8(%rdi)
movq %rcx, 0xb4e9f0(%rdi)
movq %rax, 0xb4e9f8(%rdi)
movq %rax, 0xb4ea00(%rdi)
movq %rcx, 0xb4ea08(%rdi)
movq %rcx, 0xb4ea10(%rdi)
movq %rax, 0xb4ea18(%rdi)
movq %rcx, 0xb4ea20(%rdi)
movq %rax, 0xb4ea28(%rdi)
movq %rax, 0xb4ea30(%rdi)
movq %rcx, 0xb4ea38(%rdi)
movq %rax, 0xb4ea40(%rdi)
movq %rax, 0xb4ea48(%rdi)
movq %rax, 0xb4ea50(%rdi)
movabsq $0x3ff0000000000000, %rdx # imm = 0x3FF0000000000000
movq %rdx, 0xb4ea58(%rdi)
movabsq $0x3fbab3461309c800, %rsi # imm = 0x3FBAB3461309C800
movq %rsi, 0xb4e998(%rdi)
movabsq $-0x403ae4430b178b37, %rsi # imm = 0xBFC51BBCF4E874C9
movq %rsi, 0xb4e9a0(%rdi)
movabsq $0x3fc7ef416bdb1a6d, %rsi # imm = 0x3FC7EF416BDB1A6D
movq %rsi, 0xb4e9a8(%rdi)
movabsq $0x3fc406748e475600, %rsi # imm = 0x3FC406748E475600
movq %rsi, 0xb4e9b0(%rdi)
movabsq $-0x4050164ef6de184f, %rsi # imm = 0xBFAFE9B10921E7B1
movq %rsi, 0xb4e9b8(%rdi)
movabsq $-0x404b05715908afd2, %rsi # imm = 0xBFB4FA8EA6F7502E
movq %rsi, 0xb4e9c0(%rdi)
movabsq $0x3fc217ca2120e1f8, %rsi # imm = 0x3FC217CA2120E1F8
movq %rsi, 0xb4e9c8(%rdi)
movabsq $-0x404ed5e8d5410f95, %rsi # imm = 0xBFB12A172ABEF06B
movq %rsi, 0xb4e9d0(%rdi)
movabsq $0x3fc12a172abef06b, %rsi # imm = 0x3FC12A172ABEF06B
movq %rsi, 0xb4e9d8(%rdi)
movq %rax, 0xb4ea60(%rdi)
movq %rcx, 0xb4ea68(%rdi)
movq %rax, 0xb4ea70(%rdi)
movq %rax, 0xb4ea78(%rdi)
movq %rcx, 0xb4ea80(%rdi)
movq %rax, 0xb4ea88(%rdi)
movq %rax, 0xb4ea90(%rdi)
movq %rax, 0xb4ea98(%rdi)
movq %rdx, 0xb4eaa0(%rdi)
movl $0xfffffffa, 0xb4eaa8(%rdi) # imm = 0xFFFFFFFA
movl $0x6, %eax
movl %eax, 0xb4eae8(%rdi)
andl $0x0, 0xb4eb28(%rdi)
movabsq $-0x500000006, %rcx     # imm = 0xFFFFFFFAFFFFFFFA
movq %rcx, 0xb4eaac(%rdi)
movabsq $0x400000005, %rcx      # imm = 0x400000005
movq %rcx, 0xb4eaec(%rdi)
movabsq $0x200000001, %rcx      # imm = 0x200000001
movq %rcx, 0xb4eb2c(%rdi)
movabsq $-0x400000006, %rdx     # imm = 0xFFFFFFFBFFFFFFFA
movq %rdx, 0xb4eab4(%rdi)
movabsq $0x500000003, %rdx      # imm = 0x500000003
movq %rdx, 0xb4eaf4(%rdi)
movq $0x3, 0xb4eb34(%rdi)
movabsq $-0x400000005, %rdx     # imm = 0xFFFFFFFBFFFFFFFB
movq %rdx, 0xb4eabc(%rdi)
movabsq $0x300000004, %rdx      # imm = 0x300000004
movq %rdx, 0xb4eafc(%rdi)
movq %rcx, 0xb4eb3c(%rdi)
movabsq $-0x300000004, %rcx     # imm = 0xFFFFFFFCFFFFFFFC
movq %rcx, 0xb4eac4(%rdi)
movq %rdx, 0xb4eb04(%rdi)
movabsq $0x100000000, %rcx      # imm = 0x100000000
movq %rcx, 0xb4eb44(%rdi)
movabsq $-0x200000004, %rcx     # imm = 0xFFFFFFFDFFFFFFFC
movq %rcx, 0xb4eacc(%rdi)
movabsq $0x300000002, %rcx      # imm = 0x300000002
movq %rcx, 0xb4eb0c(%rdi)
movq $0x2, 0xb4eb4c(%rdi)
movl $0xfffffffd, 0xb4ead4(%rdi) # imm = 0xFFFFFFFD
movl $0x2, %ecx
movl %ecx, 0xb4eb14(%rdi)
movl $0x1, %edx
movl %edx, 0xb4eb54(%rdi)
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl %esi, 0xb4ead8(%rdi)
movl %ecx, 0xb4eb18(%rdi)
andl $0x0, 0xb4eb58(%rdi)
movl %esi, 0xb4eadc(%rdi)
movl %edx, 0xb4eb1c(%rdi)
movl %edx, 0xb4eb5c(%rdi)
orl $-0x1, 0xb4eae0(%rdi)
movl %edx, 0xb4eb20(%rdi)
andl $0x0, 0xb4eb60(%rdi)
andl $0x0, 0xb4eae4(%rdi)
andl $0x0, 0xb4eb24(%rdi)
andl $0x0, 0xb4eb64(%rdi)
movl %edx, 0xb4e8c8(%rdi)
movl %edx, 0xb4e8cc(%rdi)
movl %ecx, 0xb4e8d0(%rdi)
movl %eax, 0xb4e8d4(%rdi)
movl $0x18, 0xb4e8d8(%rdi)
movl $0x78, 0xb4e8dc(%rdi)
movl $0x2d0, 0xb4e8e0(%rdi)  # imm = 0x2D0
movl $0x13b0, 0xb4e8e4(%rdi) # imm = 0x13B0
movl $0x9d80, 0xb4e8e8(%rdi) # imm = 0x9D80
movl $0x58980, 0xb4e8ec(%rdi) # imm = 0x58980
movl $0x375f00, 0xb4e8f0(%rdi) # imm = 0x375F00
movl $0x2611500, 0xb4e8f4(%rdi) # imm = 0x2611500
movl $0x1c8cfc00, 0xb4e8f8(%rdi) # imm = 0x1C8CFC00
movabsq $0x3fc870b8cfbfc654, %rax # imm = 0x3FC870B8CFBFC654
movq %rax, 0xb4eb68(%rdi)
movabsq $0x3fe26277c45cbbc3, %rax # imm = 0x3FE26277C45CBBC3
movq %rax, 0xb4eb70(%rdi)
movabsq $-0x403b9b66f9335d25, %rax # imm = 0xBFC4649906CCA2DB
movq %rax, 0xb4eb78(%rdi)
movabsq $-0x40750c5eb313be23, %rax # imm = 0xBF8AF3A14CEC41DD
movq %rax, 0xb4eb80(%rdi)
movabsq $0x3fb8e368f08461fa, %rax # imm = 0x3FB8E368F08461FA
movq %rax, 0xb4eba8(%rdi)
movabsq $0x3fdf064ece9a2c67, %rax # imm = 0x3FDF064ECE9A2C67
movq %rax, 0xb4ebb0(%rdi)
movabsq $0x3fc12a305532617c, %rax # imm = 0x3FC12A305532617C
movq %rax, 0xb4ebb8(%rdi)
movabsq $-0x407685db76b3bb84, %rax # imm = 0xBF897A24894C447C
movq %rax, 0xb4ebc0(%rdi)
movabsq $0x3fe870b8cfbfc654, %rax # imm = 0x3FE870B8CFBFC654
movq %rax, 0xb4ebe8(%rdi)
movabsq $0x3fd6a0902de00d1b, %rax # imm = 0x3FD6A0902DE00D1B
movq %rax, 0xb4ebf0(%rdi)
movabsq $0x3fc4649906cca2db, %rax # imm = 0x3FC4649906CCA2DB
movq %rax, 0xb4ebf8(%rdi)
movabsq $0x3f8af3a14cec41dd, %rcx # imm = 0x3F8AF3A14CEC41DD
movq %rcx, 0xb4ec00(%rdi)
movabsq $0x3fa29f0945231fc0, %rdx # imm = 0x3FA29F0945231FC0
movq %rdx, 0xb4eb88(%rdi)
movabsq $0x3fe057a786c22681, %rdx # imm = 0x3FE057A786C22681
movq %rdx, 0xb4eb90(%rdi)
movq %rax, 0xb4eb98(%rdi)
movq %rcx, 0xb4eba0(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0xb4ebc8(%rdi)
movups %xmm0, 0xb4ebd8(%rdi)
popq %rbp
retq
nop