// File: gjoni[P]iPot/src/RRCE.cpp
// Function: RRCE::RRCE()
RRCE::RRCE() :
		h(NULL), J(NULL), dmax(7.8), name("") {

	Allocate(20);

	name = "RRCE20_7.8A_k5";

	double h_[20] = { -8.07207e-01, -5.81121e-01, -5.10194e-01, -1.03498e+00, 
		2.02255e+00, -5.04953e-01, -1.27513e+00, -7.24711e-01, 5.08540e-01, 
		4.91374e-01, -3.37279e-01, -1.06075e+00, 1.25663e+00, 9.30134e-01, 
		-3.86274e-01, -6.55560e-01, -3.54092e-01, 1.87274e+00, 8.61632e-01, 
		2.88653e-01 };

	double J_[20][20] = { 
		{-1.13461e-01, 1.87919e-01, 2.42264e-01, 3.40469e-01, -1.01989e-01, 2.32959e-01, 4.11017e-01, -2.08627e-03, 1.16568e-01, -1.73213e-01, -1.63894e-01, 4.06361e-01, -9.11694e-02, -1.65980e-01, 9.37284e-02, 1.40787e-01, 3.63397e-02, -1.23698e-01, -7.02783e-02, -2.20705e-01 }, 
		{1.87919e-01, 4.19627e-01, 1.81807e-01, -3.74378e-01, 2.88583e-02, 1.95305e-01, -3.23708e-01, 1.65534e-02, 1.95470e-01, 1.46923e-01, 9.94067e-02, 7.96317e-01, 1.45739e-01, 3.57403e-02, 7.94297e-02, 1.09684e-01, 1.02048e-01, -1.62307e-01, -4.41038e-02, 7.63653e-02 }, 
		{2.42264e-01, 1.81807e-01, -2.23739e-01, 2.37409e-02, 2.22284e-02, 9.80413e-02, 2.38547e-01, -7.18402e-02, 5.81354e-02, 1.84437e-01, 3.37032e-01, 1.50394e-01, 1.65917e-01, 1.28305e-01, 6.06594e-02, -4.50238e-02, -2.69840e-02, 5.42123e-02, 5.04195e-03, 1.86089e-01 }, 
		{3.40469e-01, -3.74378e-01, 2.37409e-02, 4.89458e-01, 1.97153e-01, 2.87025e-01, 7.73059e-01, 2.93577e-02, -2.15499e-01, 3.41730e-01, 4.73982e-01, -2.42539e-01, 3.38528e-01, 3.21939e-01, 1.78864e-01, 3.88854e-02, 7.19048e-02, 1.05585e-01, 3.90860e-02, 2.70405e-01 }, 
		{-1.01989e-01, 2.88583e-02, 2.22284e-02, 1.97153e-01, -1.55601e+00, 3.76619e-02, 2.31575e-01, -9.96109e-02, -1.98640e-01, -2.74738e-01, -2.47791e-01, 1.20711e-01, -2.90761e-01, -3.97638e-01, -1.25118e-01, -7.16624e-02, -6.19429e-02, -4.01366e-01, -2.61906e-01, -2.92217e-01 }, 
		{2.32959e-01, 1.95305e-01, 9.80413e-02, 2.87025e-01, 3.76619e-02, 1.45838e-01, 4.19084e-01, 8.55031e-02, 1.44604e-01, 1.09701e-01, 1.74024e-01, 3.43527e-01, 1.30458e-01, 6.40932e-02, 9.39209e-02, 7.52075e-02, 3.53378e-02, -8.68396e-02, 2.26002e-02, 8.21436e-02 }, 
		{4.11017e-01, -3.23708e-01, 2.38547e-01, 7.73059e-01, 2.31575e-01, 4.19084e-01, 8.49596e-01, 2.22735e-01, -6.07080e-02, 2.35773e-01, 3.71978e-01, -2.03471e-01, 3.24733e-01, 2.46411e-01, 2.80698e-01, 1.74891e-01, 1.65182e-01, 9.59850e-02, 6.65437e-02, 1.77406e-01 }, 
		{-2.08627e-03, 1.65534e-02, -7.18402e-02, 2.93577e-02, -9.96109e-02, 8.55031e-02, 2.22735e-01, -1.96608e-01, -2.37346e-02, 1.23396e-01, 1.81726e-01, 1.52528e-01, -1.76834e-03, 9.45760e-03, -3.13937e-02, -6.70803e-02, -2.33967e-02, -5.80547e-02, -1.29298e-02, 4.71345e-02 }, 
		{1.16568e-01, 1.95470e-01, 5.81354e-02, -2.15499e-01, -1.98640e-01, 1.44604e-01, -6.07080e-02, -2.37346e-02, -3.64770e-01, 3.46150e-02, 6.34589e-02, 4.44976e-01, -6.02530e-02, -9.90441e-02, -1.52002e-02, -6.98510e-02, -4.53098e-02, -2.37447e-01, -1.73527e-01, -1.35154e-03 }, 
		{-1.73213e-01, 1.46923e-01, 1.84437e-01, 3.41730e-01, -2.74738e-01, 1.09701e-01, 2.35773e-01, 1.23396e-01, 3.46150e-02, -6.30830e-01, -4.71128e-01, 1.35460e-01, -3.28754e-01, -4.84823e-01, 1.12265e-01, 8.39153e-02, -9.35238e-02, -2.89457e-01, -3.80859e-01, -5.10251e-01 }, 
		{-1.63894e-01, 9.94067e-02, 3.37032e-01, 4.73982e-01, -2.47791e-01, 1.74024e-01, 3.71978e-01, 1.81726e-01, 6.34589e-02, -4.71128e-01, -4.80393e-01, 2.86524e-01, -2.59288e-01, -4.55632e-01, 9.57444e-02, 1.58471e-01, 3.76260e-02, -3.51207e-01, -3.09638e-01, -4.22827e-01 }, 
		{4.06361e-01, 7.96317e-01, 1.50394e-01, -2.42539e-01, 1.20711e-01, 3.43527e-01, -2.03471e-01, 1.52528e-01, 4.44976e-01, 1.35460e-01, 2.86524e-01, 6.44255e-01, 2.99044e-01, 1.75588e-01, 3.89149e-01, 1.84925e-01, 1.45488e-01, 1.17772e-01, -1.47717e-02, 1.26723e-01 }, 
		{-9.11694e-02, 1.45739e-01, 1.65917e-01, 3.38528e-01, -2.90761e-01, 1.30458e-01, 3.24733e-01, -1.76834e-03, -6.02530e-02, -3.28754e-01, -2.59288e-01, 2.99044e-01, -6.40928e-01, -4.53883e-01, 5.21250e-03, 7.11233e-02, 1.78978e-02, -4.00702e-01, -3.03968e-01, -2.81088e-01 }, 
		{-1.65980e-01, 3.57403e-02, 1.28305e-01, 3.21939e-01, -3.97638e-01, 6.40932e-02, 2.46411e-01, 9.45760e-03, -9.90441e-02, -4.84823e-01, -4.55632e-01, 1.75588e-01, -4.53883e-01, -6.58396e-01, -7.01911e-02, 3.45045e-03, -5.23787e-02, -5.11494e-01, -4.68451e-01, -4.11131e-01 }, 
		{9.37284e-02, 7.94297e-02, 6.06594e-02, 1.78864e-01, -1.25118e-01, 9.39209e-02, 2.80698e-01, -3.13937e-02, -1.52002e-02, 1.12265e-01, 9.57444e-02, 3.89149e-01, 5.21250e-03, -7.01911e-02, -8.24372e-02, 8.88011e-02, 4.88165e-02, -3.73890e-01, -2.46803e-01, 3.62246e-02 }, 
		{1.40787e-01, 1.09684e-01, -4.50238e-02, 3.88854e-02, -7.16624e-02, 7.52075e-02, 1.74891e-01, -6.70803e-02, -6.98510e-02, 8.39153e-02, 1.58471e-01, 1.84925e-01, 7.11233e-02, 3.45045e-03, 8.88011e-02, -6.93395e-02, -2.72636e-02, -4.46887e-02, 1.65519e-03, 3.40155e-02 }, 
		{3.63397e-02, 1.02048e-01, -2.69840e-02, 7.19048e-02, -6.19429e-02, 3.53378e-02, 1.65182e-01, -2.33967e-02, -4.53098e-02, -9.35238e-02, 3.76260e-02, 1.45488e-01, 1.78978e-02, -5.23787e-02, 4.88165e-02, -2.72636e-02, -1.35707e-01, -1.52535e-02, -5.43936e-02, -1.44581e-01 }, 
		{-1.23698e-01, -1.62307e-01, 5.42123e-02, 1.05585e-01, -4.01366e-01, -8.68396e-02, 9.59850e-02, -5.80547e-02, -2.37447e-01, -2.89457e-01, -3.51207e-01, 1.17772e-01, -4.00702e-01, -5.11494e-01, -3.73890e-01, -4.46887e-02, -1.52535e-02, -6.29388e-01, -3.75391e-01, -2.50661e-01 }, 
		{-7.02783e-02, -4.41038e-02, 5.04195e-03, 3.90860e-02, -2.61906e-01, 2.26002e-02, 6.65437e-02, -1.29298e-02, -1.73527e-01, -3.80859e-01, -3.09638e-01, -1.47717e-02, -3.03968e-01, -4.68451e-01, -2.46803e-01, 1.65519e-03, -5.43936e-02, -3.75391e-01, -3.53153e-01, -3.01465e-01 }, 
		{-2.20705e-01, 7.63653e-02, 1.86089e-01, 2.70405e-01, -2.92217e-01, 8.21436e-02, 1.77406e-01, 4.71345e-02, -1.35154e-03, -5.10251e-01, -4.22827e-01, 1.26723e-01, -2.81088e-01, -4.11131e-01, 3.62246e-02, 3.40155e-02, -1.44581e-01, -2.50661e-01, -3.01465e-01, -5.53687e-01 } 
		};

	for (int i = 0; i < 20; i++) {
		h[i] = h_[i];
		for (int j = 0; j < 20; j++) {
			J[i][j] = J_[i][j];
		}
	}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd60, %rsp            # imm = 0xD60
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xd60(%rbp)
movq $0x0, (%rax)
movq $0x0, 0x8(%rax)
movabsq $0x401f333333333333, %rcx # imm = 0x401F333333333333
movq %rcx, 0x10(%rax)
addq $0x18, %rax
movq %rax, -0xd58(%rbp)
leaq -0x9(%rbp), %rdi
movq %rdi, -0xd50(%rbp)
callq 0x3470
movq -0xd58(%rbp), %rdi
movq -0xd50(%rbp), %rdx
leaq 0xbf06(%rip), %rsi      # 0x3306d
callq 0x18790
jmp 0x2716e
leaq -0x9(%rbp), %rdi
callq 0x32e0
movq -0xd60(%rbp), %rdi
movl $0x14, %esi
callq 0x26d60
jmp 0x2718a
movq -0xd60(%rbp), %rdi
addq $0x18, %rdi
leaq 0x12430(%rip), %rsi     # 0x395cc
callq 0x33a0
jmp 0x271a3
leaq -0xc0(%rbp), %rdi
leaq 0x1164f(%rip), %rsi     # 0x38800
movl $0xa0, %edx
callq 0x3240
leaq -0xd40(%rbp), %rdi
leaq 0x116d7(%rip), %rsi     # 0x388a0
movl $0xc80, %edx            # imm = 0xC80
callq 0x3240
movl $0x0, -0xd44(%rbp)
cmpl $0x14, -0xd44(%rbp)
jge 0x272c5
movq -0xd60(%rbp), %rax
movslq -0xd44(%rbp), %rcx
movsd -0xc0(%rbp,%rcx,8), %xmm0
movq (%rax), %rax
movslq -0xd44(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl $0x0, -0xd48(%rbp)
cmpl $0x14, -0xd48(%rbp)
jge 0x272af
movq -0xd60(%rbp), %rax
movslq -0xd44(%rbp), %rdx
leaq -0xd40(%rbp), %rcx
imulq $0xa0, %rdx, %rdx
addq %rdx, %rcx
movslq -0xd48(%rbp), %rdx
movsd (%rcx,%rdx,8), %xmm0
movq 0x8(%rax), %rax
movslq -0xd44(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd48(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xd48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd48(%rbp)
jmp 0x2721a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x9(%rbp), %rdi
callq 0x32e0
jmp 0x272ce
movq -0xd58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x3190
jmp 0x272ce
jmp 0x272b1
movl -0xd44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd44(%rbp)
jmp 0x271dd
addq $0xd60, %rsp            # imm = 0xD60
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x3460
nopw (%rax,%rax)