diff --git a/pyscf_ipu/nanoDFT/Makefile b/pyscf_ipu/nanoDFT/Makefile new file mode 100644 index 0000000..c195359 --- /dev/null +++ b/pyscf_ipu/nanoDFT/Makefile @@ -0,0 +1,15 @@ +# Copyright (c) 2023 Graphcore Ltd. All rights reserved. + +CXX = g++ +CXXFLAGS = -fopenmp -O3 -Wall -shared -std=c++11 -fPIC +PYBIND11_INCLUDES = $(shell python3 -m pybind11 --includes) +PYTHON_EXTENSION_SUFFIX = $(shell python3-config --extension-suffix) +TARGET = cpp_shell_gen$(PYTHON_EXTENSION_SUFFIX) + +all: $(TARGET) + +$(TARGET): cpp_shell_gen.cpp + $(CXX) $(CXXFLAGS) $(PYBIND11_INCLUDES) $< -o $@ + +clean: + rm -f $(TARGET) diff --git a/pyscf_ipu/nanoDFT/cpp_shell_gen.cpp b/pyscf_ipu/nanoDFT/cpp_shell_gen.cpp new file mode 100644 index 0000000..896734f --- /dev/null +++ b/pyscf_ipu/nanoDFT/cpp_shell_gen.cpp @@ -0,0 +1,105 @@ +// Copyright (c) 2023 Graphcore Ltd. All rights reserved. + +#include +#include +#include +#include +#include + +namespace py = pybind11; + +// Define a custom hash function for std::pair +struct pair_hash { + template + std::size_t operator () (std::pair const& pair) const { + auto h1 = std::hash{}(pair.first); + auto h2 = std::hash{}(pair.second); + return h1 ^ h2; + } +}; + +std::tuple, py::array_t, int> compute_indices(int n_bas, py::array_t ao_loc_array, std::unordered_set, pair_hash> considered_indices) { + py::buffer_info ao_loc_info = ao_loc_array.request(); + int* ao_loc_ptr = static_cast(ao_loc_info.ptr); + + py::ssize_t n_upper_bound = (py::ssize_t)(n_bas * (n_bas) / 2) * (n_bas * (n_bas - 1) / 2); + // py::print(n_upper_bound); + auto input_ijkl_array = py::array_t({n_upper_bound, (py::ssize_t)4}); + input_ijkl_array[py::make_tuple(py::ellipsis())] = -1; + auto output_sizes_array = py::array_t({n_upper_bound, (py::ssize_t)5}); + output_sizes_array[py::make_tuple(py::ellipsis())] = -1; + + py::buffer_info input_ijkl_info = input_ijkl_array.request(); + int* input_ijkl_ptr = static_cast(input_ijkl_info.ptr); + + py::buffer_info output_sizes_info = output_sizes_array.request(); + int* output_sizes_ptr = static_cast(output_sizes_info.ptr); + + py::ssize_t num_calls = 0; + #pragma omp parallel for reduction(+:num_calls) // Parallelize the outermost loop + for (py::ssize_t i = 0; i < n_bas; ++i) { + py::ssize_t partial_num_calls = 0; + // py::print(".", py::arg("end")="", py::arg("flush") = true); // do not print from threads + for (py::ssize_t j = 0; j <= i; ++j) { + for (py::ssize_t k = i; k < n_bas; ++k) { + for (py::ssize_t l = 0; l <= k; ++l) { + int di = ao_loc_ptr[i + 1] - ao_loc_ptr[i]; + int dj = ao_loc_ptr[j + 1] - ao_loc_ptr[j]; + int dk = ao_loc_ptr[k + 1] - ao_loc_ptr[k]; + int dl = ao_loc_ptr[l + 1] - ao_loc_ptr[l]; + + bool found_nonzero = false; + for (int bi = ao_loc_ptr[i]; bi < ao_loc_ptr[i + 1]; ++bi) { + for (int bj = ao_loc_ptr[j]; bj < ao_loc_ptr[j + 1]; ++bj) { + if (considered_indices.count({bi, bj}) > 0) { + for (int bk = ao_loc_ptr[k]; bk < ao_loc_ptr[k + 1]; ++bk) { + if (bk >= bi) { + int mla = ao_loc_ptr[l]; + if (bk == bi) { + mla = std::max(bj, ao_loc_ptr[l]); + } + for (int bl = mla; bl < ao_loc_ptr[l + 1]; ++bl) { + if (considered_indices.count({bk, bl}) > 0) { + found_nonzero = true; + break; + } + } + if (found_nonzero) break; + } + } + if (found_nonzero) break; + } + if (found_nonzero) break; + } + if (found_nonzero) break; + } + + if (!found_nonzero) continue; + + py::ssize_t offset_ijkl = (i * (n_bas) / 2) * (n_bas * (n_bas - 1) / 2) * 4 + partial_num_calls * 4; + input_ijkl_ptr[offset_ijkl + 0] = i; + input_ijkl_ptr[offset_ijkl + 1] = j; + input_ijkl_ptr[offset_ijkl + 2] = k; + input_ijkl_ptr[offset_ijkl + 3] = l; + + py::ssize_t offset_sizes = (i * (n_bas) / 2) * (n_bas * (n_bas - 1) / 2) * 5 +partial_num_calls * 5; + output_sizes_ptr[offset_sizes + 0] = di; + output_sizes_ptr[offset_sizes + 1] = dj; + output_sizes_ptr[offset_sizes + 2] = dk; + output_sizes_ptr[offset_sizes + 3] = dl; + output_sizes_ptr[offset_sizes + 4] = di * dj * dk * dl; + + partial_num_calls += 1; + + } + } + } + num_calls += partial_num_calls; + } + + return std::make_tuple(input_ijkl_array, output_sizes_array, num_calls); +} + +PYBIND11_MODULE(cpp_shell_gen, m) { + m.def("compute_indices", &compute_indices); +} \ No newline at end of file diff --git a/pyscf_ipu/nanoDFT/intor_int2e_sph.cpp b/pyscf_ipu/nanoDFT/intor_int2e_sph.cpp index 05826f1..cd8c611 100644 --- a/pyscf_ipu/nanoDFT/intor_int2e_sph.cpp +++ b/pyscf_ipu/nanoDFT/intor_int2e_sph.cpp @@ -7281,14 +7281,16 @@ class poplar_int2e_sph_forloop : public Vertex { for (uint32_t i = 0; i < ipu_output.size(); i++) ipu_output[i] = 0; for (uint32_t i = 0; i < ichunks; i++){ - float * eri = ipu_output.data() + i*isize; - int arr[] = {ipu_ij[0+i*4], ipu_ij[1+i*4], ipu_ij[2+i*4], ipu_ij[3+i*4]}; - const int* shls = arr; - - dtype *_eri = eri; - - int2e_sph(eri, n_buf, NULL, shls, ao_loc, atm, n_atm, bas, n_bas, env, n_env, _eri, tile_g.data(), tile_idx.data(), tile_buf.data()) ; + + if (arr[0] >= 0 && arr[1] >= 0 && arr[2] >= 0 && arr[3] >= 0) + { + float * eri = ipu_output.data() + i*isize; + const int* shls = arr; + dtype *_eri = eri; + + int2e_sph(eri, n_buf, NULL, shls, ao_loc, atm, n_atm, bas, n_bas, env, n_env, _eri, tile_g.data(), tile_idx.data(), tile_buf.data()) ; + } } diff --git a/pyscf_ipu/nanoDFT/intor_int2e_sph_condensed.cpp b/pyscf_ipu/nanoDFT/intor_int2e_sph_condensed.cpp new file mode 100644 index 0000000..2986395 --- /dev/null +++ b/pyscf_ipu/nanoDFT/intor_int2e_sph_condensed.cpp @@ -0,0 +1,11901 @@ +/* + This code implements the integral computation on IPU. + It is based on https://github.com/sunqm/libcint +*/ +#include +#include +#include +#include +#include +#include +#include + +#include "poplar/TileConstants.hpp" + +using namespace poplar; + +#ifdef __IPU__ +// Use the IPU intrinsics +#include +#include +#define NAMESPACE ipu +#else +// Use the std functions +#include +#define NAMESPACE std +#endif + +#define dtype float +#define input_type float + +#define M_PI (float)3.1415926535897932384626433832795028841971693993751058209749445923078164062 +#define PIE4 (float)0.78539816339744827900 +#define SQRTPI (float)1.7724538509055160272981674833411451 + +#define PTR_EXPCUTOFF 0 + +#define EXPCUTOFF 60 +#define MIN_EXPCUTOFF 40 + +// slots of atm +#define CHARGE_OF 0 +#define PTR_COORD 1 +#define NUC_MOD_OF 2 +#define PTR_ZETA 3 +#define PTR_FRAC_CHARGE 3 +#define RESERVE_ATMLOT1 4 +#define RESERVE_ATMLOT2 5 +#define ATM_SLOTS 6 + +// slots of bas +#define ATOM_OF 0 +#define ANG_OF 1 +#define NPRIM_OF 2 +#define NCTR_OF 3 +#define KAPPA_OF 4 +#define PTR_EXP 5 +#define PTR_COEFF 6 +#define RESERVE_BASLOT 7 +#define BAS_SLOTS 8 + +// ng[*] +#define IINC 0 +#define JINC 1 +#define KINC 2 +#define LINC 3 +#define GSHIFT 4 +#define POS_E1 5 +#define POS_E2 6 +#define SLOT_RYS_ROOTS 6 +#define TENSOR 7 + + +#define MXRYSROOTS 32 // > ANG_MAX*2+1 for 4c2e +#define THRESHOLD_ZERO 1e-15; //(DBL_EPSILON * 8) +// static float ROOTS_FOR_X0[] = {0.5, 0.13069360623708471, 2.86930639376291528, 0.06037692468327989, 0.77682335593104605, 6.66279971938567405, 0.03481989730614715, 0.38156718508004405, 1.73730726945889761, 11.8463056481549111, 0.02266592663169863, 0.23127169214090556, 0.85734602411883608, 2.97353038120346067, 18.4151859759050990, 0.01593329495070804, 0.15647046776795464, 0.52658326320347937, 1.45549493835274166, 4.47729154890422456, 26.3682264868208917, 0.01181380845479022, 0.11337832545962978, 0.36143546199827142, 0.89527303800610058, 2.16718307449970339, 6.24592174688399731, 35.7049945446975072, 0.00910961293617975, 0.08613077878623435, 0.26546936423055723, 0.61752374342048372, 1.32902521206520555, 2.98910779776210757, 8.27832916501631658, 46.4253043257829152, 0.00723882685761766, 0.06774485628070622, 0.20415049332589748, 0.45633199434791132, 0.91729173690437343, 1.82439329925667723, 3.91978688925578357, 10.5739967231070128, 58.5290651806640202, 0.00589080681846613, 0.05472592487956225, 0.16232609261161096, 0.35315267858751927, 0.67944242243948439, 1.25739399889647980, 2.37971761888901092, 4.95846895018311600, 13.1326529261214167, 72.0162285805733335, 0.00488733612616512, 0.04515700876101939, 0.13240037096506916, 0.28253618374640330, 0.52746670115882438, 0.93166748944873070, 1.63612501282132771, 2.99411139750931175, 6.10473806652073600, 15.9541438022849492, 86.8867666306574631, 0.00412019184676903, 0.03791118129199890, 0.11018828563899001, 0.23179530831466224, 0.42345630230694602, 0.72421338523125791, 1.21133175221592430, 2.05253340080824551, 3.66706307331851234, 7.35834812348164737, 19.0383766276142184, 103.140662367930827, 0.00352055479193454, 0.03228901170211435, 0.09321497102456649, 0.19395959218782608, 0.34863942062035819, 0.58246762196717317, 0.94178878042410221, 1.51746580977363927, 2.50605126083401295, 4.39825956545004263, 8.71914561205178579, 22.3852928048674447, 120.777904994304999, 0.00304295968666365, 0.02783695831749468, 0.07993405012307971, 0.16491083995350634, 0.29275174955113165, 0.48056334796006992, 0.75805833071173866, 1.17923494295630961, 1.84947385268844303, 2.99632115699014032, 5.18750002435611477, 10.1870306098823701, 25.9948538065162700, 139.798487370306667, 0.00265638827985884, 0.02425009434267790, 0.06933568767249568, 0.14207481953281493, 0.24974878660205013, 0.40442628385592421, 0.62615572291363973, 0.94929992942214438, 1.43594787867543021, 2.20697174226710000, 3.52310832077201304, 6.03465054304835658, 11.7619357346468950, 29.8670334459449984, 160.202404622023600, 0.00233908913409399, 0.02131708094525320, 0.06073609594433991, 0.12376819871441240, 0.21586001541338807, 0.34579995866737608, 0.52767337072352206, 0.78452789304120705, 1.15559356754606689, 1.71152984668713470, 2.58970199118034718, 4.08625304208831011, 6.93961893285161705, 13.4438141722724307, 34.0018134148735740, 181.989653329916926, 0.00207544243412830, 0.01888759245981660, 0.05365801454821308, 0.10884885454501932, 0.18862266668962116, 0.29954903459405208, 0.45185308380311652, 0.66164964801649237, 0.95509492609113843, 1.37653737678676812, 2.00570942133046260, 2.99748634648857582, 4.68564342324177155, 7.90233997515582592, 15.2326325584007700, 38.3991805980226502, 205.160231037391577, 0.00185399634140437, 0.01685227694737889, 0.04775964111887165, 0.09651766287745709, 0.16636649640437164, 0.26232651719296074, 0.39202397022416273, 0.56711232331318464, 0.80578967544389658, 1.13745755013995372, 1.61185267810200554, 2.31829577442596160, 3.43019800066852473, 5.32119907232479614, 8.92276643934207724, 17.1283665833224015, 43.0591253990511252, 229.714135942759465, 0.00166619989363752, 0.01513001468643313, 0.04279069596099729, 0.08620073088953205, 0.14792271329238423, 0.23186595750538546, 0.34384897279841593, 0.49253668994919912, 0.69103506867637833, 0.95970145594169632, 1.33133483223894759, 1.86134080625452944, 2.64915130552243632, 3.88774461606522921, 5.99286096755062982, 10.0008634188521752, 19.1309981891349364, 47.9816406644461125, 255.651366700340943, 0.00150556367367504, 0.01365958130906878, 0.03856434256729382, 0.07747659492872706, 0.13245147741657513, 0.20658296700885233, 0.30439699080823514, 0.43248851020324227, 0.60056920785975062, 0.82323977038557735, 1.12310548759579202, 1.53652396047001289, 2.12485675695580264, 2.99817461264803354, 4.37005758291887887, 6.70058494970383102, 11.1366046506980951, 21.2405137312359731, 53.1667209729696379, 282.971922288642945, 0.00136709078673688, 0.01239405404707358, 0.03493871773870477, 0.07002966572314153, 0.11933546517548119, 0.18533975034810136, 0.27162214849373176, 0.38330281537433028, 0.52775249147995862, 0.71575249251405546, 0.96345103210237266, 1.29579764817254834, 1.75287525624785395, 2.40229251391121406, 3.36528954189828976, 4.87708501247866496, 7.44433742491554934, 12.3299700602726365, 23.4569027421418205, 58.6143621552275024, 311.675801920950231, 0.00124688302665660, 0.01129697407726093, 0.03180447295147243, 0.06361957443688833, 0.10811189954427899, 0.16730017611467516, 0.24405695487560790, 0.34242592106441611, 0.46811614228539369, 0.62928567081422644, 0.83781715700385526, 1.11146557613833762, 1.47762575313696917, 1.98027611998840014, 2.69356616940901053, 3.75043794230933692, 5.40878704411054963, 8.22409245628665792, 13.5809440852342069, 25.7801570818660513, 64.3245609619059461, 341.763004983419801, 0.00114186318288679, 0.01033966091165380, 0.02907618179809798, 0.05806046666674924, 0.09842783531629418, 0.15183741234468401, 0.22062391084280355, 0.30802869139363406, 0.41855186217289764, 0.55849619707813161, 0.73682598952358320, 0.96656238513293488, 1.26713041676110630, 1.66847427806544253, 2.21864041305843299, 2.99861463221418360, 4.15357475132079933, 5.96513262837141260, 9.03982975219044508, 14.8895145075069853, 28.2102703424311360, 70.2973148302989147, 373.233530991416790, 0.00104957592619883, 0.00949929923543853, 0.02668629558658319, 0.05320669795533743, 0.09000997038838153, 0.13847326383472790, 0.20051570393946336, 0.27876963531845218, 0.37683660713108600, 0.49967393580009959, 0.65418912561449615, 0.85017628790014737, 1.10183571758815312, 1.43032844490104510, 1.86825412687067283, 2.46790125519403442, 3.31738862344814170, 4.57466458707221787, 6.54609727598963397, 9.89153324757326290, 16.2556716242639336, 30.7472374230897965, 76.5326217171815745, 406.087379558197121, 0.00096804284738431, 0.00875755393432549, 0.02458081554776140, 0.04894275245515047, 0.08264379373760023, 0.12683727043286127, 0.18311667069998602, 0.25364456253704884, 0.34134207545566180, 0.45016937343104197, 0.58554703532077252, 0.75500228999917480, 0.96918565647872618, 1.24351953460867463, 1.60096866013230147, 2.07689561357071379, 2.72800602860234117, 3.64984917026813323, 5.01367933893000072, 7.15166145352438127, 10.7791900859152688, 17.6794076496927620, 33.3910542224617041, 83.0304799773143226, 440.324550372101900, 0.00089565544579415, 0.00809955275425705, 0.02271614434738525, 0.04517600999821385, 0.07615888796107663, 0.11663848431984211, 0.16794992820605648, 0.23188820866452552, 0.31085069091583326, 0.40804436959930529, 0.52779092420711327, 0.67598365319794951, 0.86078710994700593, 1.09373681861456311, 1.39152179518748314, 1.77897940038687981, 2.29434354548434167, 2.99891284341138560, 3.99596510298124776, 5.47059643379416439, 7.78180942089030947, 11.7027898771576255, 19.1607162767816972, 36.1417174121595819, 89.7908882738678230, 475.945043179718538, 0.00083109512231001, 0.00751312899996396, 0.02105676222865796, 0.04183147280023096, 0.07041838084706412, 0.10764559262935149, 0.15464094439970513, 0.21290812273042229, 0.28443540318795412, 0.37185131035702608, 0.47864959901382474, 0.60951929142249152, 0.77083812244638825, 0.97142732494617946, 1.22373739624445730, 1.54576955516031082, 1.96430355433472874, 2.52055371318386642, 3.28058799237833822, 4.35571123841469463, 5.94539756886436108, 8.43652837638792094, 12.6623241490425755, 20.6995923519147301, 38.9992242681262559, 96.8138455115274017, 512.948857773288788, 0.00077327265934614, 0.00698825089467907, 0.01957348910108766, 0.03884786463796536, 0.06531125072015883, 0.09967265909133871, 0.14289191032726364, 0.19623917849107639, 0.26137903585278396, 0.34048907901994532, 0.43642861876513318, 0.55298158998816316, 0.69521214980263677, 0.86999572387224727, 1.08683078904460427, 1.35911373975000174, 1.70620434300699198, 2.15689511458497217, 2.75549034207772140, 3.57300408858532466, 4.72906704140683248, 6.43806777206929753, 9.11580781931480134, 13.6577859361646594, 22.2960316302049643, 41.9635725434427217, 104.099350785941111, 551.335993981182169, 0.00072128194564740, 0.00651658674903341, 0.01824216910818774, 0.03617470694407861, 0.06074663048551807, 0.09256872669629406, 0.13246337474487627, 0.18151161540602556, 0.24111887374480269, 0.31310655640913303, 0.39984041967064187, 0.50441237267625859, 0.63090166347065471, 0.78475672612933997, 0.97336500077332952, 1.20692362348545126, 1.49980648941909015, 1.87277880410838788, 2.35671665589883470, 2.99912421380963605, 3.87613868310780071, 5.11601562503908097, 6.94859469634611254, 9.81963906887027303, 14.6891694684952489, 23.9500305894168525, 45.0347603713383755, 111.647403345100417, 591.106451660610614, 0.00067436423858690, 0.00609117017527231, 0.01704266391472668, 0.03377010057973431, 0.05664953460995263, 0.08621012238293974, 0.12316086250453277, 0.16842816229032322, 0.22320778254362913, 0.28903640974860370, 0.36789065056317101, 0.46232515675023896, 0.57566774544675866, 0.71229929883268555, 0.87806261702092841, 1.08087223642108826, 1.33164597705686012, 1.64576733008456162, 2.04545422772977680, 2.56373746311251997, 3.25143126219864472, 4.18997322544660839, 5.51654299454181833, 7.47696808324745068, 10.5480148968875366, 15.7564699327142631, 25.6615862869478178, 48.2127861904691118, 119.458002559538456, 632.260230692001196, 0.00063188030795309, 0.00570613985091565, 0.01595807437771901, 0.03159902426299814, 0.05295761433571713, 0.08049468423212932, 0.11482497679044872, 0.15674738549368366, 0.20728641098615123, 0.26774869366161208, 0.33980028211802605, 0.42557300057117895, 0.52781244442212103, 0.65008669605940471, 0.79708543296513053, 0.97505658701547648, 1.19245741981514763, 1.46094890390658727, 1.79695658298597641, 2.22419869893463003, 2.77793212288121914, 3.51239151059291050, 4.51449227234244334, 5.93063746893961551, 8.02317935078966760, 11.3009292445204717, 16.8596832874818088, 27.4306962488283015, 51.4976486868003431, 127.531147899114781, 674.797330974597368, }; +// static float WEIGHTS_FOR_X0[] = {1.0, 0.65214515486254614, 0.34785484513745385, 0.46791393457269104, 0.36076157304813860, 0.17132449237917034, 0.36268378337836198, 0.31370664587788728, 0.22238103445337447, 0.10122853629037625, 0.29552422471475287, 0.26926671930999635, 0.21908636251598204, 0.14945134915058059, 0.06667134430868813, 0.24914704581340278, 0.23349253653835480, 0.20316742672306592, 0.16007832854334622, 0.10693932599531843, 0.04717533638651182, 0.21526385346315779, 0.20519846372129560, 0.18553839747793781, 0.15720316715819353, 0.12151857068790318, 0.08015808715976020, 0.03511946033175186, 0.18945061045506849, 0.18260341504492358, 0.16915651939500253, 0.14959598881657673, 0.12462897125553387, 0.09515851168249278, 0.06225352393864789, 0.02715245941175409, 0.16914238296314359, 0.16427648374583272, 0.15468467512626524, 0.14064291467065065, 0.12255520671147846, 0.10094204410628716, 0.07642573025488905, 0.04971454889496979, 0.02161601352648331, 0.15275338713072585, 0.14917298647260374, 0.14209610931838205, 0.13168863844917662, 0.11819453196151841, 0.10193011981724043, 0.08327674157670474, 0.06267204833410906, 0.04060142980038694, 0.01761400713915211, 0.13925187285563199, 0.13654149834601517, 0.13117350478706237, 0.12325237681051242, 0.11293229608053921, 0.10041414444288096, 0.08594160621706772, 0.06979646842452048, 0.05229333515268328, 0.03377490158481415, 0.01462799529827220, 0.12793819534675215, 0.12583745634682829, 0.12167047292780339, 0.11550566805372560, 0.10744427011596563, 0.09761865210411388, 0.08619016153195327, 0.07334648141108030, 0.05929858491543678, 0.04427743881741980, 0.02853138862893366, 0.01234122979998719, 0.11832141527926227, 0.11666044348529658, 0.11336181654631966, 0.10847184052857659, 0.10205916109442542, 0.09421380035591414, 0.08504589431348523, 0.07468414976565974, 0.06327404632957483, 0.05097582529714781, 0.03796238329436276, 0.02441785109263190, 0.01055137261734300, 0.11004701301647519, 0.10871119225829413, 0.10605576592284641, 0.10211296757806076, 0.09693065799792991, 0.09057174439303284, 0.08311341722890121, 0.07464621423456877, 0.06527292396699959, 0.05510734567571674, 0.04427293475900422, 0.03290142778230437, 0.02113211259277125, 0.00912428259309451, 0.10285265289355884, 0.10176238974840550, 0.09959342058679526, 0.09636873717464425, 0.09212252223778612, 0.08689978720108297, 0.08075589522942021, 0.07375597473770520, 0.06597422988218049, 0.05749315621761906, 0.04840267283059405, 0.03879919256962704, 0.02878470788332336, 0.01846646831109095, 0.00796819249616660, 0.09654008851472780, 0.09563872007927485, 0.09384439908080456, 0.09117387869576388, 0.08765209300440381, 0.08331192422694675, 0.07819389578707030, 0.07234579410884850, 0.06582222277636184, 0.05868409347853554, 0.05099805926237617, 0.04283589802222668, 0.03427386291302143, 0.02539206530926205, 0.01627439473090567, 0.00701861000947009, 0.09095674033025987, 0.09020304437064072, 0.08870189783569386, 0.08646573974703574, 0.08351309969984565, 0.07986844433977184, 0.07556197466003193, 0.07062937581425572, 0.06511152155407641, 0.05905413582752449, 0.05250741457267810, 0.04552561152335327, 0.03816659379638751, 0.03049138063844613, 0.02256372198549497, 0.01445016274859503, 0.00622914055590868, 0.08598327567039474, 0.08534668573933862, 0.08407821897966193, 0.08218726670433970, 0.07968782891207160, 0.07659841064587067, 0.07294188500565306, 0.06874532383573644, 0.06403979735501548, 0.05886014424532481, 0.05324471397775991, 0.04723508349026597, 0.04087575092364489, 0.03421381077030722, 0.02729862149856877, 0.02018151529773547, 0.01291594728406557, 0.00556571966424504, 0.08152502928038578, 0.08098249377059710, 0.07990103324352782, 0.07828784465821094, 0.07615366354844639, 0.07351269258474345, 0.07038250706689895, 0.06678393797914041, 0.06274093339213305, 0.05828039914699720, 0.05343201991033231, 0.04822806186075868, 0.04270315850467443, 0.03689408159402473, 0.03083950054517505, 0.02457973973823237, 0.01815657770961323, 0.01161344471646867, 0.00500288074963934, 0.07750594797842481, 0.07703981816424796, 0.07611036190062624, 0.07472316905796826, 0.07288658239580405, 0.07061164739128677, 0.06791204581523390, 0.06480401345660103, 0.06130624249292893, 0.05743976909939155, 0.05322784698393682, 0.04869580763507223, 0.04387090818567327, 0.03878216797447201, 0.03346019528254784, 0.02793700698002340, 0.02224584919416695, 0.01642105838190788, 0.01049828453115281, 0.00452127709853319, 0.07386423423217287, 0.07346081345346752, 0.07265617524380410, 0.07145471426517098, 0.06986299249259415, 0.06788970337652194, 0.06554562436490897, 0.06284355804500257, 0.05979826222758665, 0.05642636935801838, 0.05274629569917407, 0.04877814079280324, 0.04454357777196587, 0.04006573518069226, 0.03536907109759211, 0.03047924069960346, 0.02542295952611304, 0.02022786956905264, 0.01492244369735749, 0.00953622030174850, 0.00410599860464908, 0.07054915778935406, 0.07019768547355821, 0.06949649186157257, 0.06844907026936666, 0.06706063890629365, 0.06533811487918143, 0.06329007973320385, 0.06092673670156196, 0.05825985987759549, 0.05530273556372805, 0.05207009609170446, 0.04857804644835203, 0.04484398408197003, 0.04088651231034621, 0.03672534781380887, 0.03238122281206982, 0.02787578282128101, 0.02323148190201921, 0.01847148173681474, 0.01361958675557998, 0.00870048136752484, 0.00374540480311277, 0.06751868584903645, 0.06721061360067817, 0.06659587476845488, 0.06567727426778120, 0.06445900346713906, 0.06294662106439450, 0.06114702772465048, 0.05906843459554631, 0.05672032584399123, 0.05411341538585675, 0.05125959800714302, 0.04817189510171220, 0.04486439527731812, 0.04135219010967872, 0.03765130535738607, 0.03377862799910689, 0.02975182955220275, 0.02558928639713001, 0.02130999875413650, 0.01693351400783623, 0.01247988377098868, 0.00796989822972462, 0.00343030086810704, 0.06473769681268392, 0.06446616443595008, 0.06392423858464818, 0.06311419228625402, 0.06203942315989266, 0.06070443916589388, 0.05911483969839563, 0.05727729210040321, 0.05519950369998416, 0.05289018948519366, 0.05035903555385447, 0.04761665849249047, 0.04467456085669428, 0.04154508294346474, 0.03824135106583070, 0.03477722256477043, 0.03116722783279808, 0.02742650970835694, 0.02357076083932437, 0.01961616045735552, 0.01557931572294384, 0.01147723457923453, 0.00732755390127626, 0.00315334605230583, 0.06217661665534726, 0.06193606742068324, 0.06145589959031666, 0.06073797084177021, 0.05978505870426545, 0.05860084981322244, 0.05718992564772838, 0.05555774480621251, 0.05371062188899624, 0.05165570306958113, 0.04940093844946631, 0.04695505130394843, 0.04432750433880327, 0.04152846309014769, 0.03856875661258767, 0.03545983561514615, 0.03221372822357801, 0.02884299358053519, 0.02536067357001239, 0.02178024317012479, 0.01811556071348939, 0.01438082276148557, 0.01059054838365096, 0.00675979919574540, 0.00290862255315514, 0.05981036574529186, 0.05959626017124815, 0.05916881546604297, 0.05852956177181386, 0.05768078745252682, 0.05662553090236859, 0.05536756966930265, 0.05391140693275726, 0.05226225538390699, 0.05042601856634237, 0.04840926974407489, 0.04621922837278479, 0.04386373425900040, 0.04135121950056027, 0.03869067831042397, 0.03589163483509723, 0.03296410908971879, 0.02991858114714394, 0.02676595374650401, 0.02351751355398446, 0.02018489150798079, 0.01678002339630073, 0.01331511498234096, 0.00980263457946275, 0.00625552396297327, 0.00269131695004711, 0.05761753670714702, 0.05742613705411211, 0.05704397355879459, 0.05647231573062596, 0.05571306256058998, 0.05476873621305798, 0.05364247364755361, 0.05233801619829874, 0.05085969714618814, 0.04921242732452888, 0.04740167880644499, 0.04543346672827671, 0.04331432930959701, 0.04105130613664497, 0.03865191478210251, 0.03612412584038355, 0.03347633646437264, 0.03071734249787067, 0.02785630931059587, 0.02490274146720877, 0.02186645142285308, 0.01875752762146937, 0.01558630303592413, 0.01236332812884764, 0.00909936945550939, 0.00580561101523998, 0.00249748183576158, 0.05557974630651439, 0.05540795250324512, 0.05506489590176242, 0.05455163687088942, 0.05386976186571448, 0.05302137852401076, 0.05200910915174139, 0.05083608261779848, 0.04950592468304757, 0.04802274679360025, 0.04639113337300189, 0.04461612765269228, 0.04270321608466708, 0.04065831138474451, 0.03848773425924766, 0.03619819387231518, 0.03379676711561176, 0.03129087674731044, 0.02868826847382274, 0.02599698705839195, 0.02322535156256531, 0.02038192988240257, 0.01747551291140094, 0.01451508927802147, 0.01150982434038338, 0.00846906316330788, 0.00540252224601533, 0.00232385537577321, 0.05368111986333484, 0.05352634330405825, 0.05321723644657901, 0.05275469052637083, 0.05214003918366981, 0.05137505461828572, 0.05046194247995312, 0.04940333550896239, 0.04820228594541774, 0.04686225672902634, 0.04538711151481980, 0.04378110353364025, 0.04204886332958212, 0.04019538540986779, 0.03822601384585843, 0.03614642686708727, 0.03396262049341601, 0.03168089125380932, 0.02930781804416049, 0.02685024318198186, 0.02431525272496395, 0.02171015614014623, 0.01904246546189340, 0.01631987423497096, 0.01355023711298881, 0.01074155353287877, 0.00790197384999867, 0.00503998161265024, 0.00216772324962744, 0.05190787763122063, 0.05176794317491017, 0.05148845150098092, 0.05107015606985562, 0.05051418453250936, 0.04982203569055017, 0.04899557545575683, 0.04803703181997117, 0.04694898884891220, 0.04573437971611448, 0.04439647879578711, 0.04293889283593564, 0.04136555123558475, 0.03968069545238080, 0.03788886756924344, 0.03599489805108450, 0.03400389272494642, 0.03192121901929633, 0.02975249150078894, 0.02750355674992479, 0.02518047762152125, 0.02278951694399782, 0.02033712072945729, 0.01782990101420772, 0.01527461859678480, 0.01267816647681596, 0.01004755718228798, 0.00738993116334545, 0.00471272992695356, 0.00202681196887375, 0.05024800037525557, 0.05012106956904260, 0.04986752859495174, 0.04948801791969869, 0.04898349622051730, 0.04835523796347721, 0.04760483018410085, 0.04673416847841523, 0.04574545221456998, 0.04464117897712430, 0.04342413825804739, 0.04209740441038514, 0.04066432888241756, 0.03912853175196327, 0.03749389258228027, 0.03576454062276843, 0.03394484437941086, 0.03203940058162502, 0.03005302257399023, 0.02799072816331500, 0.02585772695402506, 0.02365940720868315, 0.02140132227767030, 0.01908917665857351, 0.01672881179017760, 0.01432619182380677, 0.01188739011701071, 0.00941857942842056, 0.00692604190183109, 0.00441633345693098, 0.00189920567951372, }; + + +dtype CINTcommon_fac_sp(int l) +{ + switch (l) { + case 0: return 0.282094791773878143; + case 1: return 0.488602511902919921; + default: return 1; + } +} + + +//dtype _sqrt(dtype num) {return num;} +//dtype _sqrt(dtype num) {return sqrt(num);} +dtype _sqrt(dtype num) { return exp(log(num)*1/2);} +//dtype _sqrt(dtype num) { return num;} + +//static void rys_root1(dtype X, dtype *roots, Output> weights, int g_size) { +static void rys_root1(dtype X, dtype *roots, float* weights, int g_size) { + dtype Y, F1; + + + if (X > (float)33.) { + weights[0+g_size*2] = _sqrt(PIE4/X); + roots [0 ] = (float)0.5E+00 / ( X - (float)0.5E+00 ); + return; + } + else if ( X < (float)3.e-7 ) { + weights[0+g_size*2] = (float)1.0E+00 - X / (float)3.0E+00; + roots [0 ] = (float)0.5E+00 - X / (float)5.0E+00; + return; + } + + dtype E = exp(-X); + + + if (X > (float)15.) { + F1 = ((( ( (float)1.9623264149430E-01) / X - (float)4.9695241464490E-01) / X - + (float)6.0156581186481E-05)* E + _sqrt(PIE4/X) - E) / X * (float)0.5; + } + else if (X > (float)10.) { + Y = (float)1./X; + F1 = ((((-(float)1.8784686463512E-01*Y+(float)2.2991849164985E-01)*Y - + (float)4.9893752514047E-01)*Y-(float)2.1916512131607E-05)* E + + _sqrt(PIE4/X) - E)*Y*(float)0.5; + } + else if (X > (float)5.) { + Y = (float)1./X; + F1 = ((((((( (float)4.6897511375022E-01*Y-(float)6.9955602298985E-01)*Y + + (float)5.3689283271887E-01)*Y-(float)3.2883030418398E-01)*Y + + (float)2.4645596956002E-01)*Y-(float)4.9984072848436E-01)*Y - + (float)3.1501078774085E-06)* E + _sqrt(PIE4/X) - E)*Y*(float)0.5; + } + else if (X > (float)3.){ + Y = X-(float)4.0E+00; + F1 = (((((((((- + (float)3.614965656163E-09)*Y+(float)3.760256799971E-08)*Y- + (float)3.553558319675E-07)*Y+(float)3.022556449731E-06)*Y- + (float)2.290098979647E-05)*Y+(float)1.526537461148E-04)*Y- + (float)8.81947375894379E-04 )*Y+(float)4.33207949514611E-03 )*Y- + (float)1.75257821619926E-02 )*Y+(float)5.28406320615584E-02; + } + else if (X > (float)1.) { + Y = X-(float)2.0E+00; + F1 = (((((((((((float)1.96215250865776E-09 )*Y- + (float)2.14234468198419E-08)*Y+(float)2.17216556336318E-07 )*Y- + (float)1.98850171329371E-06)*Y+(float)1.62429321438911E-05 )*Y- + (float)1.16740298039895E-04)*Y+(float)7.24888732052332E-04 )*Y- + (float)3.79490003707156E-03)*Y+(float)1.61723488664661E-02 )*Y- + (float)5.29428148329736E-02)*Y+(float)1.15702180856167E-01; + } + else { + F1 = ((((((((-(float)8.36313918003957E-08 *X + (float)1.21222603512827E-06)*X- + (float)1.15662609053481E-05)*X + (float)9.25197374512647E-05)*X- + (float)6.40994113129432E-04)*X + (float)3.78787044215009E-03)*X- + (float)1.85185172458485E-02)*X + (float)7.14285713298222E-02)*X- + (float)1.99999999997023E-01)*X + (float)3.33333333333318E-01; + } + + dtype WW1 = (float)2. * X * F1 + E; + weights[0+g_size*2] = WW1; + roots[0] = F1 / (WW1 - F1); +} + +static void rys_root2(dtype X, dtype *roots, float* weights, int g_size) { + // added (float) to all 2.12312E-01 numbers; + dtype R12, R22, W22; + + dtype RT1, RT2, WW1, WW2; + dtype F1, E, Y; + + R12 = (float)2.75255128608411E-01; + R22 = (float)2.72474487139158E+00; + W22 = (float)9.17517095361369E-02; + + if (X < (float)3.e-7){ + RT1 = (float)1.30693606237085E-01 -(float)2.90430236082028E-02 *X; + RT2 = (float)2.86930639376291E+00 -(float)6.37623643058102E-01 *X; + WW1 = (float)6.52145154862545E-01 -(float)1.22713621927067E-01 *X; + WW2 = (float)3.47854845137453E-01 -(float)2.10619711404725E-01 *X; + } + else if (X < (float)1.) { + F1 = ((((((((-(float)8.36313918003957E-08*X+(float)1.21222603512827E-06 )*X- + (float)1.15662609053481E-05 )*X+(float)9.25197374512647E-05 )*X- + (float)6.40994113129432E-04 )*X+(float)3.78787044215009E-03 )*X- + (float)1.85185172458485E-02 )*X+(float)7.14285713298222E-02 )*X- + (float)1.99999999997023E-01 )*X+(float)3.33333333333318E-01; + + WW1 = (X+X)*F1+exp(-X); + + RT1 = (((((((-(float)2.35234358048491E-09*X+(float)2.49173650389842E-08)*X- + (float)4.558315364581E-08)*X-(float)2.447252174587E-06)*X+ + (float)4.743292959463E-05)*X-(float)5.33184749432408E-04 )*X+ + (float)4.44654947116579E-03 )*X-(float)2.90430236084697E-02 )*X+ + (float)1.30693606237085E-01; + + RT2 = (((((((-(float)2.47404902329170E-08*X+(float)2.36809910635906E-07)*X+ + (float)1.835367736310E-06)*X-(float)2.066168802076E-05)*X- + (float)1.345693393936E-04)*X-(float)5.88154362858038E-05 )*X+ + (float)5.32735082098139E-02 )*X-(float)6.37623643056745E-01 )*X+ + (float)2.86930639376289E+00; + + WW2 = ((F1-WW1)*RT1+F1)*((float)1.0E+00+RT2)/(RT2-RT1); + + WW1 = WW1-WW2; + + } + else if (X < (float)3.) { + + Y = X-(float)2.0E+00; + F1 = (((((((((((float)1.96215250865776E-09 )*Y- + (float)2.14234468198419E-08 )*Y+(float)2.17216556336318E-07 )*Y- + (float)1.98850171329371E-06 )*Y+(float)1.62429321438911E-05 )*Y- + (float)1.16740298039895E-04 )*Y+(float)7.24888732052332E-04 )*Y- + (float)3.79490003707156E-03 )*Y+(float)1.61723488664661E-02 )*Y- + (float)5.29428148329736E-02 )*Y+(float)1.15702180856167E-01; // 800k cycles + WW1 = (X+X)*F1+exp(-X); + RT1 = (((((( + (float)8.472253388380E-08)*Y-(float)1.85306035634293E-06 )*Y+ + (float)2.47191693238413E-05 )*Y-(float)2.49018321709815E-04 )*Y+ + (float)2.19173220020161E-03 )*Y-(float)1.63329339286794E-02 )*Y+ + (float)8.68085688285261E-02; // 800k cycles + RT2 = ((((((((((float)2.07111465297976E-09)*Y- + (float)1.878920917404E-08)*Y-(float)1.725838516261E-07)*Y+ + (float)2.247389642339E-06)*Y+(float)9.76783813082564E-06 )*Y- + (float)1.93160765581969E-04 )*Y-(float)1.58064140671893E-03 )*Y+ + (float)4.85928174507904E-02 )*Y-(float)4.30761584997596E-01 )*Y+ + (float)1.80400974537950E+00; // 800k cycles + WW2 = ((F1-WW1)*RT1+F1)*((float)1.0E+00+RT2)/(RT2-RT1); + WW1 = WW1-WW2; + } + + else if (X < (float)5.){ + + Y = X-(float)4.0E+00; + F1 = (((((((((- + (float)3.614965656163E-09)*Y+(float)3.760256799971E-08)*Y- + (float)3.553558319675E-07)*Y+(float)3.022556449731E-06)*Y- + (float)2.290098979647E-05)*Y+(float)1.526537461148E-04)*Y- + (float)8.81947375894379E-04 )*Y+(float)4.33207949514611E-03 )*Y- + (float)1.75257821619926E-02 )*Y+(float)5.28406320615584E-02; + WW1 = (X+X)*F1+exp(-X); + RT1 = (((((((- + (float)1.73508862390291E-09 )*Y+(float)5.93066856324744E-08 )*Y- + (float)9.76085576741771E-07 )*Y+(float)1.08484384385679E-05 )*Y- + (float)1.12608004981982E-04 )*Y+(float)1.16210907653515E-03 )*Y- + (float)9.89572595720351E-03 )*Y+(float)6.12589701086408E-02; + RT2 = (((((((( + (float)1.603498045240E-08)*Y-(float)1.497986283037E-07)*Y- + (float)7.017002532106E-07)*Y+(float)1.85882653064034E-05 )*Y- + (float)2.04685420150802E-05 )*Y-(float)2.49327728643089E-03 )*Y+ + (float)3.56550690684281E-02 )*Y-(float)2.60417417692375E-01 )*Y+ + (float)1.12155283108289E+00; + WW2 = ((F1-WW1)*RT1+F1)*((float)1.0E+00+RT2)/(RT2-RT1); + WW1 = WW1-WW2; + } else if (X < (float)10) { + E = exp(-X); + WW1 = (((((( (float)4.6897511375022E-01/X-(float)6.9955602298985E-01)/X + + (float)5.3689283271887E-01)/X-(float)3.2883030418398E-01)/X + + (float)2.4645596956002E-01)/X-(float)4.9984072848436E-01)/X - + (float)3.1501078774085E-06)*E + _sqrt(PIE4/X); + F1 = (WW1-E)/(X+X); + Y = X-(float)7.5E+00; + RT1 = (((((((-(float)1.775564159743E-09)*Y+ + (float)1.713828823990E-08)*Y-(float)1.497500187053E-07)*Y+ + (float)2.283485114279E-06)*Y-(float)3.76953869614706E-05 )*Y+ + (float)4.74791204651451E-04 )*Y-(float)4.60448960876139E-03 )*Y+ + (float)3.72458587837249E-02; + RT2 = ((((((((-(float)2.624183464275E-09)*Y+ + (float)6.128153450169E-08)*Y-(float)4.383376014528E-07)*Y- + (float)2.49952200232910E-06 )*Y+(float)1.03236647888320E-04 )*Y- + (float)1.44614664924989E-03 )*Y+(float)1.35094294917224E-02 )*Y- + (float)9.53478510453887E-02 )*Y+(float)5.44765245686790E-01; + WW2 = ((F1-WW1)*RT1+F1)*((float)1.0E+00+RT2)/(RT2-RT1); + WW1 = WW1-WW2; + } else if (X < (float)15) { + E = exp(-X); + WW1 = (((-(float)1.8784686463512E-01/X+(float)2.2991849164985E-01)/X - + (float)4.9893752514047E-01)/X-(float)2.1916512131607E-05)*E + + _sqrt(PIE4/X); + F1 = (WW1-E)/(X+X); + RT1 = ((((-(float)1.01041157064226E-05*X+(float)1.19483054115173E-03)*X - + (float)6.73760231824074E-02)*X+(float)1.25705571069895E+00)*X + + (((-(float)8.57609422987199E+03/X+(float)5.91005939591842E+03)/X - + (float)1.70807677109425E+03)/X+(float)2.64536689959503E+02)/X - + (float)2.38570496490846E+01)*E + R12/(X-R12); + RT2 = ((( (float)3.39024225137123E-04*X-(float)9.34976436343509E-02)*X - + (float)4.22216483306320E+00)*X + + (((-(float)2.08457050986847E+03/X - + (float)1.04999071905664E+03)/X+(float)3.39891508992661E+02)/X - + (float)1.56184800325063E+02)/X+(float)8.00839033297501E+00)*E + R22/(X-R22); + WW2 = ((F1-WW1)*RT1+F1)*((float)1.0E+00+RT2)/(RT2-RT1); + WW1 = WW1-WW2; + } else if (X < (float)33) { + E = exp(-X); + WW1 = (( (float)1.9623264149430E-01/X-(float)4.9695241464490E-01)/X - + (float)6.0156581186481E-05)*E + _sqrt(PIE4/X); + F1 = (WW1-E)/(X+X); + RT1 = ((((-(float)1.14906395546354E-06*X+(float)1.76003409708332E-04)*X - + (float)1.71984023644904E-02)*X-(float)1.37292644149838E-01)*X + + (-(float)4.75742064274859E+01/X+(float)9.21005186542857E+00)/X - + (float)2.31080873898939E-02)*E + R12/(X-R12); + RT2 = ((( (float)3.64921633404158E-04*X-(float)9.71850973831558E-02)*X - + (float)4.02886174850252E+00)*X + + (-(float)1.35831002139173E+02/X - + (float)8.66891724287962E+01)/X+(float)2.98011277766958E+00)*E + R22/(X-R22); + WW2 = ((F1-WW1)*RT1+F1)*((float)1.0E+00+RT2)/(RT2-RT1); + WW1 = WW1-WW2; + } else if (X < (float)40) { + WW1 = _sqrt(PIE4/X); + E = exp(-X); + RT1 = (-(float)8.78947307498880E-01*X+(float)1.09243702330261E+01)*E + R12/(X-R12); + RT2 = (-(float)9.28903924275977E+00*X+(float)8.10642367843811E+01)*E + R22/(X-R22); + WW2 = ( (float)4.46857389308400E+00*X-(float)7.79250653461045E+01)*E + W22*WW1; + WW1 = WW1-WW2; + } else { + WW1 = _sqrt(PIE4/X); + RT1 = R12/(X-R12); + RT2 = R22/(X-R22); + WW2 = W22*WW1; + WW1 = WW1-WW2; + } + roots[0] = RT1; + roots[1] = RT2; + weights[0+g_size*2] = WW1; + weights[1+g_size*2] = WW2; +} + + + +static void rys_root3(dtype X, dtype *roots, float* weights, int g_size) { + + dtype R13, R23, W23, R33, W33; + dtype RT1, RT2, RT3, WW1, WW2, WW3; + dtype F1, F2, E, T1, T2, T3, A1, A2, Y; + + R13 = (float)1.90163509193487E-01; + R23 = (float)1.78449274854325E+00; + W23 = (float)1.77231492083829E-01; + R33 = (float)5.52534374226326E+00; + W33 = (float)5.11156880411248E-03; + + if (X < (float)3.e-7){ + RT1 = (float)6.03769246832797E-02 -(float)9.28875764357368E-03 *X; + RT2 = (float)7.76823355931043E-01 -(float)1.19511285527878E-01 *X; + RT3 = (float)6.66279971938567E+00 -(float)1.02504611068957E+00 *X; + WW1 = (float)4.67913934572691E-01 -(float)5.64876917232519E-02 *X; + WW2 = (float)3.60761573048137E-01 -(float)1.49077186455208E-01 *X; + WW3 = (float)1.71324492379169E-01 -(float)1.27768455150979E-01 *X; + } else if (X < (float)1.) { + RT1 = (((((((float)2.40134415703450E-08)*X- + (float)5.01081057744427E-07 )*X+(float)7.58291285499256E-06 )*X- + (float)9.55085533670919E-05 )*X+(float)1.02893039315878E-03 )*X- + (float)9.28875764374337E-03 )*X+(float)6.03769246832810E-02; + RT2 = ((((((-(float)1.29646524960555E-08*X+(float)7.74602292865683E-08)*X+ + (float)1.56022811158727E-06 )*X-(float)1.58051990661661E-05 )*X- + (float)3.30447806384059E-04 )*X+(float)9.74266885190267E-03 )*X- + (float)1.19511285526388E-01 )*X+(float)7.76823355931033E-01; + RT3 = ((((((-(float)9.28536484109606E-09*X-(float)3.02786290067014E-07)*X- + (float)2.50734477064200E-06 )*X-(float)7.32728109752881E-06 )*X+ + (float)2.44217481700129E-04 )*X+(float)4.94758452357327E-02 )*X- + (float)1.02504611065774E+00 )*X+(float)6.66279971938553E+00; + F2 = ((((((((-(float)7.60911486098850E-08*X+(float)1.09552870123182E-06 )*X- + (float)1.03463270693454E-05 )*X+(float)8.16324851790106E-05 )*X- + (float)5.55526624875562E-04 )*X+(float)3.20512054753924E-03 )*X- + (float)1.51515139838540E-02 )*X+(float)5.55555554649585E-02 )*X- + (float)1.42857142854412E-01 )*X+(float)1.99999999999986E-01; + E = exp(-X); + F1 = ((X+X)*F2+E)/(float)3.0E+00; + WW1 = (X+X)*F1+E; + T1 = RT1/(RT1+(float)1.0E+00); + T2 = RT2/(RT2+(float)1.0E+00); + T3 = RT3/(RT3+(float)1.0E+00); + A2 = F2-T1*F1; + A1 = F1-T1*WW1; + WW3 = (A2-T2*A1)/((T3-T2)*(T3-T1)); + WW2 = (T3*A1-A2)/((T3-T2)*(T2-T1)); + WW1 = WW1-WW2-WW3; + } else if (X < (float)3.) { + Y = X-(float)2.0E+00; + RT1 = (((((((float)1.56592951656828E-08 )*Y- + (float)2.60122498274734E-07 )*Y+(float)3.86118485517386E-06 )*Y- + (float)5.13430986707889E-05 )*Y+(float)6.03194524398109E-04 )*Y- + (float)6.11219349825090E-03 )*Y+(float)4.52578254679079E-02; + RT2 = (((((((-(float)5.35281831445517E-09)*Y- + (float)6.745205954533E-08)*Y+(float)1.502366784525E-06)*Y+ + (float)9.923326947376E-07)*Y-(float)3.89147469249594E-04 )*Y+ + (float)7.51549330892401E-03 )*Y-(float)8.48778120363400E-02 )*Y+ + (float)5.73928229597613E-01; + RT3 = (((((((((float)3.61058041895031E-09)*Y+ + (float)4.53631789436255E-08 )*Y-(float)1.40971837780847E-07 )*Y- + (float)6.05865557561067E-06 )*Y-(float)5.15964042227127E-05 )*Y+ + (float)3.34761560498171E-05 )*Y+(float)5.04871005319119E-02 )*Y- + (float)8.24708946991557E-01 )*Y+(float)4.81234667357205E+00; + F2 = (((((((((((float)1.78157031325097E-09 )*Y- + (float)1.92514145088973E-08 )*Y+(float)1.92804632038796E-07 )*Y- + (float)1.73806555021045E-06 )*Y+(float)1.39195169625425E-05 )*Y- + (float)9.74574633246452E-05 )*Y+(float)5.83701488646511E-04 )*Y- + (float)2.89955494844975E-03 )*Y+(float)1.13847001113810E-02 )*Y- + (float)3.23446977320647E-02 )*Y+(float)5.29428148329709E-02; + E = exp(-X); + F1 = ((X+X)*F2+E)/(float)3.0E+00; + WW1 = (X+X)*F1+E; + T1 = RT1/(RT1+(float)1.0E+00); + T2 = RT2/(RT2+(float)1.0E+00); + T3 = RT3/(RT3+(float)1.0E+00); + A2 = F2-T1*F1; + A1 = F1-T1*WW1; + WW3 = (A2-T2*A1)/((T3-T2)*(T3-T1)); + WW2 = (T3*A1-A2)/((T3-T2)*(T2-T1)); + WW1 = WW1-WW2-WW3; + } else if (X < (float)5.){ + Y = X-(float)4.0E+00; + RT1 = (((((( + (float)7.649155832025E-09)*Y-(float)1.229940017368E-07)*Y+ + (float)2.026002142457E-06)*Y-(float)2.87048671521677E-05 )*Y+ + (float)3.70326938096287E-04 )*Y-(float)4.21006346373634E-03 )*Y+ + (float)3.50898470729044E-02; + RT2 = ((((((( + (float)2.15971131403034E-09 )*Y-(float)7.95045680685193E-08 )*Y+ + (float)5.15021914287057E-07 )*Y+(float)1.11788717230514E-05 )*Y- + (float)3.33739312603632E-04 )*Y+(float)5.30601428208358E-03 )*Y- + (float)5.93483267268959E-02 )*Y+(float)4.31180523260239E-01; + RT3 = ((((((((-(float)4.16423229782280E-09)*Y+ + (float)4.42413039572867E-08 )*Y+(float)6.40574545989551E-07 )*Y- + (float)3.05512456576552E-06 )*Y-(float)1.05296443527943E-04 )*Y- + (float)6.14120969315617E-04 )*Y+(float)4.89665802767005E-02 )*Y- + (float)6.24498381002855E-01 )*Y+(float)3.36412312243724E+00; + F2 = (((((((((- + (float)3.18111322308846E-09 )*Y+(float)3.25336816562485E-08 )*Y- + (float)3.00873821471489E-07 )*Y+(float)2.48749160874431E-06 )*Y- + (float)1.81353179793672E-05 )*Y+(float)1.14504948737066E-04 )*Y- + (float)6.10614987696677E-04 )*Y+(float)2.64584212770942E-03 )*Y- + (float)8.66415899015349E-03 )*Y+(float)1.75257821619922E-02; + E = exp(-X); + F1 = ((X+X)*F2+E)/(float)3.0E+00; + WW1 = (X+X)*F1+E; + T1 = RT1/(RT1+(float)1.0E+00); + T2 = RT2/(RT2+(float)1.0E+00); + T3 = RT3/(RT3+(float)1.0E+00); + A2 = F2-T1*F1; + A1 = F1-T1*WW1; + WW3 = (A2-T2*A1)/((T3-T2)*(T3-T1)); + WW2 = (T3*A1-A2)/((T3-T2)*(T2-T1)); + WW1 = WW1-WW2-WW3; + } else if (X < (float)10) { + E = exp(-X); + WW1 = (((((( (float)4.6897511375022E-01/X-(float)6.9955602298985E-01)/X + + (float)5.3689283271887E-01)/(float)X-3.2883030418398E-01)/X + + (float)2.4645596956002E-01)/X-(float)4.9984072848436E-01)/X - + (float)3.1501078774085E-06)*E + _sqrt(PIE4/X); + F1 = (WW1-E)/(X+X); + F2 = (F1+F1+F1-E)/(X+X); + Y = X-(float)7.5E+00; + RT1 = (((((( + (float)1.39032379769474E-09 )*Y-(float)4.65449552856856E-08 )*Y+ + (float)7.34609900170759E-07 )*Y-(float)1.08656008854077E-05 )*Y+ + (float)1.77930381549953E-04 )*Y-(float)2.39864911618015E-03 )*Y+ + (float)2.39112249488821E-02; + RT2 = ((((((((float)2.73681574882729E-09 )*Y- + (float)1.06656985608482E-08 )*Y-(float)4.40252529648056E-07 )*Y+ + (float)9.68100917793911E-06 )*Y-(float)1.68211091755327E-04 )*Y+ + (float)2.69443611274173E-03 )*Y-(float)3.23845035189063E-02 )*Y+ + (float)2.75969447451882E-01; + RT3 = (((((((((float)1.663165279876E-09)*Y- + (float)6.205591993923E-08)*Y+(float)8.769581622041E-09)*Y+ + (float)8.97224398620038E-06 )*Y-(float)3.14232666170796E-05 )*Y- + (float)1.83917335649633E-03 )*Y+(float)3.51246831672571E-02 )*Y- + (float)3.22335051270860E-01 )*Y+(float)1.73582831755430E+00; + T1 = RT1/(RT1+(float)1.0E+00); + T2 = RT2/(RT2+(float)1.0E+00); + T3 = RT3/(RT3+(float)1.0E+00); + A2 = F2-T1*F1; + A1 = F1-T1*WW1; + WW3 = (A2-T2*A1)/((T3-T2)*(T3-T1)); + WW2 = (T3*A1-A2)/((T3-T2)*(T2-T1)); + WW1 = WW1-WW2-WW3; + } else if (X < (float)15) { + E = exp(-X); + WW1 = (((-(float)1.8784686463512E-01/X+(float)2.2991849164985E-01)/X - + (float)4.9893752514047E-01)/X-(float)2.1916512131607E-05)*E + + _sqrt(PIE4/X); + F1 = (WW1-E)/(X+X); + F2 = (F1+F1+F1-E)/(X+X); + Y = X-(float)12.5E+00; + RT1 = (((((-(float)3.55578027040563E-09 )*Y+ + (float)1.29454702851936E-07 )*Y-(float)4.14222202791434E-06 )*Y+ + (float)8.04427643593792E-05 )*Y-(float)1.18587782909876E-03 )*Y+ + (float)1.53435577063174E-02; + RT2 = (((((((-(float)1.13413908163831E-09 )*Y+ + (float)7.08558457182751E-09 )*Y-(float)5.59678576054633E-08 )*Y+ + (float)2.51020389884249E-06 )*Y-(float)6.63678914608681E-05 )*Y+ + (float)1.11888323089714E-03 )*Y-(float)1.45361636398178E-02 )*Y+ + (float)1.65077877454402E-01; + RT3 = ((((((( + (float)2.064664199164E-08)*Y-(float)1.567725007761E-07)*Y- + (float)1.57938204115055E-06 )*Y+(float)6.27436306915967E-05 )*Y- + (float)1.01308723606946E-03 )*Y+(float)1.13901881430697E-02 )*Y- + (float)1.01449652899450E-01 )*Y+(float)7.77203937334739E-01; + T1 = RT1/(RT1+(float)1.0E+00); + T2 = RT2/(RT2+(float)1.0E+00); + T3 = RT3/(RT3+(float)1.0E+00); + A2 = F2-T1*F1; + A1 = F1-T1*WW1; + WW3 = (A2-T2*A1)/((T3-T2)*(T3-T1)); + WW2 = (T3*A1-A2)/((T3-T2)*(T2-T1)); + WW1 = WW1-WW2-WW3; + } + else if (X < (float)33) { + E = exp(-X); + WW1 = (( (float)1.9623264149430E-01/X-(float)4.9695241464490E-01)/X - + (float)6.0156581186481E-05)*E + _sqrt(PIE4/X); + F1 = (WW1-E)/(X+X); + F2 = (F1+F1+F1-E)/(X+X); + if (X < (float)20) { + RT1 = ((((((-(float)2.43270989903742E-06*X+(float)3.57901398988359E-04)*X - + (float)2.34112415981143E-02)*X+(float)7.81425144913975E-01)*X - + (float)1.73209218219175E+01)*X+(float)2.43517435690398E+02)*X + + (-(float)1.97611541576986E+04/X+(float)9.82441363463929E+03)/X - + (float)2.07970687843258E+03)*E + R13/(X-R13); + RT2 = (((((-(float)2.62627010965435E-04*X+(float)3.49187925428138E-02)*X - + (float)3.09337618731880E+00)*X+(float)1.07037141010778E+02)*X - + (float)2.36659637247087E+03)*X + + ((-(float)2.91669113681020E+06/X + + (float)1.41129505262758E+06)/X-(float)2.91532335433779E+05)/X + + (float)3.35202872835409E+04)*E + R23/(X-R23); + RT3 = ((((( (float)9.31856404738601E-05*X-(float)2.87029400759565E-02)*X - + (float)7.83503697918455E-01)*X-(float)1.84338896480695E+01)*X + + (float)4.04996712650414E+02)*X + + (-(float)1.89829509315154E+05/X + + (float)5.11498390849158E+04)/X-(float)6.88145821789955E+03)*E + + R33/(X-R33); + } else { + RT1 = ((((-(float)4.97561537069643E-04*X-(float)5.00929599665316E-02)*X + + (float)1.31099142238996E+00)*X-(float)1.88336409225481E+01)*X - + (float)6.60344754467191E+02 /X+(float)1.64931462413877E+02)*E + + R13/(X-R13); + RT2 = ((((-(float)4.48218898474906E-03*X-(float)5.17373211334924E-01)*X + + (float)1.13691058739678E+01)*X-(float)1.65426392885291E+02)*X - + (float)6.30909125686731E+03 /X+(float)1.52231757709236E+03)*E + + R23/(X-R23); + RT3 = ((((-(float)1.38368602394293E-02*X-(float)1.77293428863008E+00)*X + + (float)1.73639054044562E+01)*X-(float)3.57615122086961E+02)*X - + (float)1.45734701095912E+04 /X+(float)2.69831813951849E+03)*E + + R33/(X-R33); + } + T1 = RT1/(RT1+(float)1.0E+00); + T2 = RT2/(RT2+(float)1.0E+00); + T3 = RT3/(RT3+(float)1.0E+00); + A2 = F2-T1*F1; + A1 = F1-T1*WW1; + WW3 = (A2-T2*A1)/((T3-T2)*(T3-T1)); + WW2 = (T3*A1-A2)/((T3-T2)*(T2-T1)); + WW1 = WW1-WW2-WW3; + } else if (X < (float)47) { + WW1 = _sqrt(PIE4/X); + E = exp(-X); + RT1 = ((-(float)7.39058467995275E+00*X+(float)3.21318352526305E+02)*X - + (float)3.99433696473658E+03)*E + R13/(X-R13); + RT2 = ((-(float)7.38726243906513E+01*X+(float)3.13569966333873E+03)*X - + (float)3.86862867311321E+04)*E + R23/(X-R23); + RT3 = ((-(float)2.63750565461336E+02*X+(float)1.04412168692352E+04)*X - + (float)1.28094577915394E+05)*E + R33/(X-R33); + WW3 = ((( (float)1.52258947224714E-01*X-(float)8.30661900042651E+00)*X + + (float)1.92977367967984E+02)*X-(float)1.67787926005344E+03)*E + + W33*WW1; + WW2 = (( (float)6.15072615497811E+01*X-(float)2.91980647450269E+03)*X + + (float)3.80794303087338E+04)*E + W23*WW1; + WW1 = WW1-WW2-WW3; + } else { + WW1 = _sqrt(PIE4/X); + RT1 = R13/(X-R13); + RT2 = R23/(X-R23); + RT3 = R33/(X-R33); + WW2 = W23*WW1; + WW3 = W33*WW1; + WW1 = WW1-WW2-WW3; + } + roots[0] = RT1; + roots[1] = RT2; + roots[2] = RT3; + weights[0+g_size*2] = WW1; + weights[1+g_size*2] = WW2; + weights[2+g_size*2] = WW3; +} + +static void rys_root4(dtype X, dtype *roots, +//Output> weights, int g_size) +float* weights, int g_size) +{ + dtype R14, R24, W24, R34, W34, R44, W44; + dtype RT1, RT2, RT3, RT4, WW1, WW2, WW3, WW4; + dtype Y, E; + + R14 = (float)1.45303521503316E-01; + R24 = (float)1.33909728812636E+00; + W24 = (float)2.34479815323517E-01; + R34 = (float)3.92696350135829E+00; + W34 = (float)1.92704402415764E-02; + R44 = (float)8.58863568901199E+00; + W44 = (float)2.25229076750736E-04; + + if (X <= (float)3.0E-7) { + RT1 = (float)3.48198973061471E-02 -(float)4.09645850660395E-03 *X; + RT2 = (float)3.81567185080042E-01 -(float)4.48902570656719E-02 *X; + RT3 = (float)1.73730726945891E+00 -(float)2.04389090547327E-01 *X; + RT4 = (float)1.18463056481549E+01 -(float)1.39368301742312E+00 *X; + WW1 = (float)3.62683783378362E-01 -(float)3.13844305713928E-02 *X; + WW2 = (float)3.13706645877886E-01 -(float)8.98046242557724E-02 *X; + WW3 = (float)2.22381034453372E-01 -(float)1.29314370958973E-01 *X; + WW4 = (float)1.01228536290376E-01 -(float)8.28299075414321E-02 *X; + } else if (X <= (float)1.0) { + RT1 = (((((((float)5.19765728707592E-09)*X- + (float)1.01756452250573E-07 )*X+(float)1.72365935872131E-06 )*X- + (float)2.61203523522184E-05 )*X+(float)3.52921308769880E-04 )*X- + (float)4.09645850658433E-03 )*X+(float)3.48198973061469E-02; + RT2 = (((((-(float)1.89554881382342E-08*X+(float)3.07583114342365E-07)*X+ + (float)1.270981734393E-06)*X-(float)1.417298563884E-04)*X+ + (float)3.226979163176E-03)*X-(float)4.48902570678178E-02 )*X+ + (float)3.81567185080039E-01; + RT3 = (((((( (float)1.77280535300416E-09*X+(float)3.36524958870615E-08)*X- + (float)2.58341529013893E-07 )*X-(float)1.13644895662320E-05 )*X- + (float)7.91549618884063E-05 )*X+(float)1.03825827346828E-02 )*X- + (float)2.04389090525137E-01 )*X+(float)1.73730726945889E+00; + RT4 = (((((-(float)5.61188882415248E-08*X-(float)2.49480733072460E-07)*X+ + (float)3.428685057114E-06)*X+(float)1.679007454539E-04)*X+ + (float)4.722855585715E-02)*X-(float)1.39368301737828E+00 )*X+ + (float)1.18463056481543E+01; + WW1 = ((((((-(float)1.14649303201279E-08*X+(float)1.88015570196787E-07)*X- + (float)2.33305875372323E-06 )*X+(float)2.68880044371597E-05 )*X- + (float)2.94268428977387E-04 )*X+(float)3.06548909776613E-03 )*X- + (float)3.13844305680096E-02 )*X+(float)3.62683783378335E-01; + WW2 = ((((((((-(float)4.11720483772634E-09*X+(float)6.54963481852134E-08)*X- + (float)7.20045285129626E-07 )*X+(float)6.93779646721723E-06 )*X- + (float)6.05367572016373E-05 )*X+(float)4.74241566251899E-04 )*X- + (float)3.26956188125316E-03 )*X+(float)1.91883866626681E-02 )*X- + (float)8.98046242565811E-02 )*X+(float)3.13706645877886E-01; + WW3 = ((((((((-(float)3.41688436990215E-08*X+(float)5.07238960340773E-07)*X- + (float)5.01675628408220E-06 )*X+(float)4.20363420922845E-05 )*X- + (float)3.08040221166823E-04 )*X+(float)1.94431864731239E-03 )*X- + (float)1.02477820460278E-02 )*X+(float)4.28670143840073E-02 )*X- + (float)1.29314370962569E-01 )*X+(float)2.22381034453369E-01; + WW4 = ((((((((( (float)4.99660550769508E-09*X-(float)7.94585963310120E-08)*X+ + (float)8.359072409485E-07)*X-(float)7.422369210610E-06)*X+ + (float)5.763374308160E-05)*X-(float)3.86645606718233E-04 )*X+ + (float)2.18417516259781E-03 )*X-(float)9.99791027771119E-03 )*X+ + (float)3.48791097377370E-02 )*X-(float)8.28299075413889E-02 )*X+ + (float)1.01228536290376E-01; + } else if (X <= (float)5) { + Y = X-(float)3.0E+00; + RT1 = (((((( + (float)2.046819017845E-09)*Y-(float)4.03076426299031E-08 )*Y+ + (float)7.29407420660149E-07 )*Y-(float)1.23118059980833E-05 )*Y+ + (float)1.88796581246938E-04 )*Y-(float)2.53262912046853E-03 )*Y+ + (float)2.51198234505021E-02; + RT2 = ((((((- + (float)1.048063352259E-08)*Y+(float)1.50083186233363E-08 )*Y+ + (float)3.48848942324454E-06 )*Y-(float)1.08694174399193E-04 )*Y+ + (float)2.08048885251999E-03 )*Y-(float)2.91205805373793E-02 )*Y+ + (float)2.72276489515713E-01; + RT3 = (((((((-(float)2.153585661215E-09)*Y+ + (float)3.654087802817E-08)*Y+(float)5.15929575830120E-07 )*Y- + (float)9.52388379435709E-06 )*Y-(float)2.16552440036426E-04 )*Y+ + (float)9.03551469568320E-03 )*Y-(float)1.45505469175613E-01 )*Y+ + (float)1.21449092319186E+00; + RT4 = (((((((-(float)2.213111836647E-09)*Y- + (float)1.448228963549E-07)*Y-(float)1.95670833237101E-06 )*Y- + (float)1.07481314670844E-05 )*Y+(float)1.49335941252765E-04 )*Y+ + (float)4.87791531990593E-02 )*Y-(float)1.10559909038653E+00 )*Y+ + (float)8.09502028611780E+00; + WW1 = (((((((- + (float)2.799399389539E-09)*Y+(float)4.148972684255E-08)*Y- + (float)5.933568079600E-07)*Y+(float)8.168349266115E-06)*Y- + (float)1.08989176177409E-04 )*Y+(float)1.41357961729531E-03 )*Y- + (float)1.87588361833659E-02 )*Y+(float)2.89898651436026E-01; + WW2 = (((((((((float)7.006295962960E-09)*Y- + (float)8.120186517000E-08)*Y+(float)8.775294645770E-07)*Y- + (float)8.77829235749024E-06 )*Y+(float)8.04372147732379E-05 )*Y- + (float)6.64149238804153E-04 )*Y+(float)4.81181506827225E-03 )*Y- + (float)2.88982669486183E-02 )*Y+(float)1.56247249979288E-01; + WW3 = (((((((((-(float)3.86354139348735E-09 )*Y+ + (float)4.16265847927498E-08 )*Y-(float)4.09462835471470E-07 )*Y+ + (float)3.64018881086111E-06 )*Y-(float)2.88665153269386E-05 )*Y+ + (float)2.00515819789028E-04 )*Y-(float)1.18791896897934E-03 )*Y+ + (float)5.75223633388589E-03 )*Y-(float)2.09400418772687E-02 )*Y+ + (float)4.85368861938873E-02; + WW4 = (((((((((- + (float)5.545047534808E-09)*Y+(float)5.554146993491E-08)*Y- + (float)4.99048696190133E-07 )*Y+(float)3.96650392371311E-06 )*Y- + (float)2.73816413291214E-05 )*Y+(float)1.60106988333186E-04 )*Y- + (float)7.64560567879592E-04 )*Y+(float)2.81330044426892E-03 )*Y- + (float)7.16227030134947E-03 )*Y+(float)9.66077262223353E-03; + } else if (X <= (float)10.0) { + Y = X-(float)7.5E+00; + RT1 = (((((-(float)9.97272656345253E-09 )*Y+ + (float)2.37835295639281E-07 )*Y-(float)4.60301761310921E-06 )*Y+ + (float)8.42824204233222E-05 )*Y-(float)1.37983082233081E-03 )*Y+ + (float)1.66630865869375E-02; + RT2 = (((((-(float)6.10898827887652E-08 )*Y+ + (float)2.39156093611106E-06 )*Y-(float)5.35837089462592E-05 )*Y+ + (float)1.00967602595557E-03 )*Y-(float)1.57769317127372E-02 )*Y+ + (float)1.74853819464285E-01; + RT3 = ((((((-(float)3.159991002539E-08)*Y+ + (float)4.327249251331E-07)*Y+(float)4.856768455119E-06)*Y- + (float)2.54617989427762E-04 )*Y+(float)5.54843378106589E-03 )*Y- + (float)7.95013029486684E-02 )*Y+(float)7.20206142703162E-01; + RT4 = ((((((((- + (float)1.476849808675E-09)*Y+(float)1.84347052385605E-08 )*Y+ + (float)3.34382940759405E-07 )*Y-(float)1.39428366421645E-06 )*Y- + (float)7.50249313713996E-05 )*Y-(float)6.26495899187507E-04 )*Y+ + (float)4.69716410901162E-02 )*Y-(float)6.66871297428209E-01 )*Y+ + (float)4.11207530217806E+00; + WW1 = (((((((float)6.366962546990E-09)*Y- + (float)1.039220021671E-07)*Y+(float)1.959098751715E-06)*Y- + (float)3.33474893152939E-05 )*Y+(float)5.72164211151013E-04 )*Y- + (float)1.05583210553392E-02 )*Y+(float)2.26696066029591E-01; + WW2 = (((((((- + (float)4.698730937661E-09)*Y+(float)6.219977635130E-08)*Y- + (float)7.83008889613661E-07 )*Y+(float)9.08621687041567E-06 )*Y- + (float)9.86368311253873E-05 )*Y+(float)9.69632496710088E-04 )*Y- + (float)8.14594214284187E-03 )*Y+(float)8.50218447733457E-02; + WW3 = (((((((( + (float)1.16034263529672E-09 )*Y-(float)1.28771698573873E-08 )*Y+ + (float)1.31949431805798E-07 )*Y-(float)1.23673915616005E-06 )*Y+ + (float)1.04189803544936E-05 )*Y-(float)7.79566003744742E-05 )*Y+ + (float)5.03162624754434E-04 )*Y-(float)2.55138844587555E-03 )*Y+ + (float)1.13250730954014E-02; + WW4 = (((((((((float)1.050565098393E-09)*Y- + (float)9.91517881772662E-09 )*Y+(float)8.35835975882941E-08 )*Y- + (float)6.19785782240693E-07 )*Y+(float)3.95841149373135E-06 )*Y- + (float)2.11366761402403E-05 )*Y+(float)9.00474771229507E-05 )*Y- + (float)2.78777909813289E-04 )*Y+(float)5.26543779837487E-04; + } else if (X <= (float)15) { + Y = X-(float)12.5E+00; + RT1 = (((((-(float)5.20644072732933E-09 )*Y+ + (float)7.72794187755457E-08 )*Y-(float)1.61512612564194E-06 )*Y+ + (float)4.15083811185831E-05 )*Y-(float)7.87855975560199E-04 )*Y+ + (float)1.14189319050009E-02; + RT2 = (((((-(float)5.97332993206797E-08 )*Y+ + (float)9.25750831481589E-07 )*Y-(float)2.02362185197088E-05 )*Y+ + (float)4.92341968336776E-04 )*Y-(float)8.68438439874703E-03 )*Y+ + (float)1.15825965127958E-01; + RT3 = (((((- + (float)2.519549641933E-07)*Y+(float)4.977444040180E-06)*Y- + (float)1.25858350034589E-04 )*Y+(float)2.70279176970044E-03 )*Y- + (float)3.99327850801083E-02 )*Y+(float)4.33467200855434E-01; + RT4 = (((((((( + (float)1.576976911942E-09)*Y-(float)2.01186401974027E-08 )*Y- + (float)1.84530195217118E-07 )*Y+(float)5.02333087806827E-06 )*Y+ + (float)9.66961790843006E-06 )*Y-(float)1.58522208889528E-03 )*Y+ + (float)2.80539673938339E-02 )*Y-(float)2.78953904330072E-01 )*Y+ + (float)1.82835655238235E+00; + WW4 = (((((( + (float)1.63738403295718E-09 )*Y-(float)1.39237504892842E-08 )*Y+ + (float)1.06527318142151E-07 )*Y-(float)7.27634957230524E-07 )*Y+ + (float)4.12159381310339E-06 )*Y-(float)1.74648169719173E-05 )*Y+ + (float)8.50290130067818E-05; + WW3 = (((((((float)6.116545396281E-09)*Y- + (float)6.69965691739299E-08 )*Y+(float)7.52380085447161E-07 )*Y- + (float)8.08708393262321E-06 )*Y+(float)6.88603417296672E-05 )*Y- + (float)4.67067112993427E-04 )*Y+(float)5.42313365864597E-03; + WW2 = (((((((float)6.287255934781E-09)*Y- + (float)8.307159819228E-08)*Y+(float)1.356478091922E-06)*Y- + (float)2.08065576105639E-05 )*Y+(float)2.52396730332340E-04 )*Y- + (float)2.94484050194539E-03 )*Y+(float)6.01396183129168E-02; + WW1 = (((-(float)1.8784686463512E-01/X+(float)2.2991849164985E-01)/X - + (float)4.9893752514047E-01)/X-(float)2.1916512131607E-05)*exp(-X) + + _sqrt(PIE4/X)-WW4-WW3-WW2; + } else if (X <= (float)20) { + WW1 = _sqrt(PIE4/X); + Y = X-(float)17.5E+00; + RT1 = (((( + (float)1.67559587099969E-08 )*Y-(float)9.32738632357572E-07 )*Y+ + (float)2.39030487004977E-05 )*Y-(float)4.68648206591515E-04 )*Y+ + (float)8.34977776583956E-03; + RT2 = ((((((float)2.42471442836205E-09 )*Y+ + (float)2.47485710143120E-07 )*Y-(float)1.14710398652091E-05 )*Y+ + (float)2.71252453754519E-04 )*Y-(float)4.96812745851408E-03 )*Y+ + (float)8.26020602026780E-02; + RT3 = (((((-(float)2.79188977451042E-09 )*Y+ + (float)2.09563208958551E-06 )*Y-(float)6.76512715080324E-05 )*Y+ + (float)1.32129867629062E-03 )*Y-(float)2.05062147771513E-02 )*Y+ + (float)2.88068671894324E-01; + RT4 = ((((((((float)9.45486578503261E-09 )*Y- + (float)5.86635622821309E-08 )*Y-(float)1.28835028104639E-06 )*Y+ + (float)4.41413815691885E-05 )*Y-(float)7.61738385590776E-04 )*Y+ + (float)9.66090902985550E-03 )*Y-(float)1.01410568057649E-01 )*Y+ + (float)9.54714798156712E-01; + WW4 = (((((float)6.82309323251123E-09 )*Y- + (float)5.63374555753167E-08 )*Y+(float)3.57005361100431E-07 )*Y- + (float)2.40050045173721E-06 )*Y+(float)4.94171300536397E-05; + WW3 = (((((-(float)8.67270669346398E-09 )*Y+ + (float)1.31381116840118E-07 )*Y-(float)1.36790720600822E-06 )*Y+ + (float)1.19210697673160E-05 )*Y-(float)1.42181943986587E-04 )*Y+ + (float)4.12615396191829E-03; + WW2 = (((((-(float)2.11964170928181E-08 )*Y+ + (float)3.98295476005614E-07 )*Y-(float)5.49390160829409E-06 )*Y+ + (float)7.74065155353262E-05 )*Y-(float)1.48201933009105E-03 )*Y+ + (float)4.97836392625268E-02; + WW1 = (( (float)1.9623264149430E-01/X-(float)4.9695241464490E-01)/X - + (float)6.0156581186481E-05)*exp(-X)+WW1-WW2-WW3-WW4; + } else if (X <= (float)35) { + WW1 = _sqrt(PIE4/X); + E = exp(-X); + RT1 = ((((((-(float)4.45711399441838E-05*X+(float)1.27267770241379E-03)*X - + (float)2.36954961381262E-01)*X+(float)1.54330657903756E+01)*X - + (float)5.22799159267808E+02)*X+(float)1.05951216669313E+04)*X + + (-(float)2.51177235556236E+06/X+(float)8.72975373557709E+05)/X - + (float)1.29194382386499E+05)*E + R14/(X-R14); + RT2 = (((((-(float)7.85617372254488E-02*X+(float)6.35653573484868E+00)*X - + (float)3.38296938763990E+02)*X+(float)1.25120495802096E+04)*X - + (float)3.16847570511637E+05)*X + + ((-(float)1.02427466127427E+09/X + + (float)3.70104713293016E+08)/X-(float)5.87119005093822E+07)/X + + (float)5.38614211391604E+06)*E + R24/(X-R24); + RT3 = (((((-(float)2.37900485051067E-01*X+(float)1.84122184400896E+01)*X - + (float)1.00200731304146E+03)*X+(float)3.75151841595736E+04)*X - + (float)9.50626663390130E+05)*X + + ((-(float)2.88139014651985E+09/X + + (float)1.06625915044526E+09)/X-(float)1.72465289687396E+08)/X + + (float)1.60419390230055E+07)*E + R34/(X-R34); + RT4 = ((((((-(float)6.00691586407385E-04*X-(float)3.64479545338439E-01)*X + + (float)1.57496131755179E+01)*X-(float)6.54944248734901E+02)*X + + (float)1.70830039597097E+04)*X-(float)2.90517939780207E+05)*X + + ((float)3.49059698304732E+07/X-(float)1.64944522586065E+07)/X + + (float)2.96817940164703E+06)*E + R44/(X-R44); + if (X <= (float)25) + WW4 = ((((((( (float)2.33766206773151E-07*X- + (float)3.81542906607063E-05)*X +(float)3.51416601267000E-03)*X- + (float)1.66538571864728E-01)*X +(float)4.80006136831847E+00)*X- + (float)8.73165934223603E+01)*X +(float)9.77683627474638E+02)*X + + (float)1.66000945117640E+04/X -(float)6.14479071209961E+03)*E + W44*WW1; + else + WW4 = (((((( (float)5.74245945342286E-06*X- + (float)7.58735928102351E-05)*X +(float)2.35072857922892E-04)*X- + (float)3.78812134013125E-03)*X +(float)3.09871652785805E-01)*X- + (float)7.11108633061306E+00)*X +(float)5.55297573149528E+01)*E + W44*WW1; + WW3 = (((((( (float)2.36392855180768E-04*X-(float)9.16785337967013E-03)*X + + (float)4.62186525041313E-01)*X-(float)1.96943786006540E+01)*X + + (float)4.99169195295559E+02)*X-(float)6.21419845845090E+03)*X + + ((+(float)5.21445053212414E+07/X-(float)1.34113464389309E+07)/X + + (float)1.13673298305631E+06)/X-(float)2.81501182042707E+03)*E + W34*WW1; + WW2 = (((((( (float)7.29841848989391E-04*X-(float)3.53899555749875E-02)*X + + (float)2.07797425718513E+00)*X-(float)1.00464709786287E+02)*X + + (float)3.15206108877819E+03)*X-(float)6.27054715090012E+04)*X + + (+(float)1.54721246264919E+07/X-(float)5.26074391316381E+06)/X + + (float)7.67135400969617E+05)*E + W24*WW1; + WW1 = (( (float)1.9623264149430E-01/X-(float)4.9695241464490E-01)/X - + (float)6.0156581186481E-05)*E + WW1-WW2-WW3-WW4; + } else if (X <= (float)53) { + WW1 = _sqrt(PIE4/X); + E = exp(-X)*pow(X,4); + RT4 = ((-(float)2.19135070169653E-03*X-(float)1.19108256987623E-01)*X - + (float)7.50238795695573E-01)*E + R44/(X-R44); + RT3 = ((-(float)9.65842534508637E-04*X-(float)4.49822013469279E-02)*X + + (float)6.08784033347757E-01)*E + R34/(X-R34); + RT2 = ((-(float)3.62569791162153E-04*X-(float)9.09231717268466E-03)*X + + (float)1.84336760556262E-01)*E + R24/(X-R24); + RT1 = ((-(float)4.07557525914600E-05*X-(float)6.88846864931685E-04)*X + + (float)1.74725309199384E-02)*E + R14/(X-R14); + WW4 = (( (float)5.76631982000990E-06*X-(float)7.89187283804890E-05)*X + + (float)3.28297971853126E-04)*E + W44*WW1; + WW3 = (( (float)2.08294969857230E-04*X-(float)3.77489954837361E-03)*X + + (float)2.09857151617436E-02)*E + W34*WW1; + WW2 = (( (float)6.16374517326469E-04*X-(float)1.26711744680092E-02)*X + + (float)8.14504890732155E-02)*E + W24*WW1; + WW1 = WW1-WW2-WW3-WW4; + } else { + WW1 = _sqrt(PIE4/X); + RT1 = R14/(X-R14); + RT2 = R24/(X-R24); + RT3 = R34/(X-R34); + RT4 = R44/(X-R44); + WW4 = W44*WW1; + WW3 = W34*WW1; + WW2 = W24*WW1; + WW1 = WW1-WW2-WW3-WW4; + } + roots[0] = RT1; + roots[1] = RT2; + roots[2] = RT3; + roots[3] = RT4; + weights[0+g_size*2] = WW1; + weights[1+g_size*2] = WW2; + weights[2+g_size*2] = WW3; + weights[3+g_size*2] = WW4; +} + +// this is called for 6-31G* +static void rys_root5(dtype X, dtype *roots, +//Output> weights, int g_size) +float* weights, int g_size) +{ + dtype R15,R25,W25,R35,W35,R45,W45,R55,W55; + dtype RT1, RT2, RT3, RT4, RT5, WW1, WW2, WW3, WW4, WW5; + dtype Y, E, XXX; + + R15 = (float)1.17581320211778E-01; + R25 = (float)1.07456201243690E+00; + W25 = (float)2.70967405960535E-01; + R35 = (float)3.08593744371754E+00; + W35 = (float)3.82231610015404E-02; + R45 = (float)6.41472973366203E+00; + W45 = (float)1.51614186862443E-03; + R55 = (float)1.18071894899717E+01; + W55 = (float)8.62130526143657E-06; + + if (X < (float)3.e-7){ + RT1 = (float)2.26659266316985E-02 -(float)2.15865967920897E-03 *X; + RT2 = (float)2.31271692140903E-01 -(float)2.20258754389745E-02 *X; + RT3 = (float)8.57346024118836E-01 -(float)8.16520023025515E-02 *X; + RT4 = (float)2.97353038120346E+00 -(float)2.83193369647137E-01 *X; + RT5 = (float)1.84151859759051E+01 -(float)1.75382723579439E+00 *X; + WW1 = (float)2.95524224714752E-01 -(float)1.96867576909777E-02 *X; + WW2 = (float)2.69266719309995E-01 -(float)5.61737590184721E-02 *X; + WW3 = (float)2.19086362515981E-01 -(float)9.71152726793658E-02 *X; + WW4 = (float)1.49451349150580E-01 -(float)1.02979262193565E-01 *X; + WW5 = (float)6.66713443086877E-02 -(float)5.73782817488315E-02 *X; + } else if (X < (float)1.0){ + RT1 = ((((((+(float)1.21879111988031E-09)*X- + (float)2.62975022612104E-08 )*X+(float)5.15106194905897E-07 )*X- + (float)9.27933625824749E-06 )*X+(float)1.51794097682482E-04 )*X- + (float)2.15865967920301E-03 )*X+(float)2.26659266316985E-02; + RT2 = (((((( -(float)4.57267589660699E-09)*X+ + (float)2.48339908218932E-08 )*X+(float)1.50716729438474E-06 )*X- + (float)6.07268757707381E-05 )*X+(float)1.37506939145643E-03 )*X- + (float)2.20258754419939E-02 )*X+(float)2.31271692140905E-01; + RT3 = ((((( (float)4.84989776180094E-09*X+(float)1.31538893944284E-07)*X- + (float)2.766753852879E-06)*X-(float)7.651163510626E-05)*X+ + (float)4.033058545972E-03)*X-(float)8.16520022916145E-02 )*X+ + (float)8.57346024118779E-01; + RT4 = ((((-(float)2.48581772214623E-07*X-(float)4.34482635782585E-06)*X- + (float)7.46018257987630E-07 )*X+(float)1.01210776517279E-02 )*X- + (float)2.83193369640005E-01 )*X+(float)2.97353038120345E+00; + RT5 = (((((-(float)8.92432153868554E-09*X+(float)1.77288899268988E-08)*X+ + (float)3.040754680666E-06)*X+(float)1.058229325071E-04)*X+ + (float)4.596379534985E-02)*X-(float)1.75382723579114E+00 )*X+ + (float)1.84151859759049E+01; + WW1 = ((((((-(float)2.03822632771791E-09*X+(float)3.89110229133810E-08)*X- + (float)5.84914787904823E-07 )*X+(float)8.30316168666696E-06 )*X- + (float)1.13218402310546E-04 )*X+(float)1.49128888586790E-03 )*X- + (float)1.96867576904816E-02 )*X+(float)2.95524224714749E-01; + WW2 = ((((((( (float)8.62848118397570E-09*X-(float)1.38975551148989E-07)*X+ + (float)1.602894068228E-06)*X-(float)1.646364300836E-05)*X+ + (float)1.538445806778E-04)*X-(float)1.28848868034502E-03 )*X+ + (float)9.38866933338584E-03 )*X-(float)5.61737590178812E-02 )*X+ + (float)2.69266719309991E-01; + WW3 = ((((((((-(float)9.41953204205665E-09*X+(float)1.47452251067755E-07)*X- + (float)1.57456991199322E-06 )*X+(float)1.45098401798393E-05 )*X- + (float)1.18858834181513E-04 )*X+(float)8.53697675984210E-04 )*X- + (float)5.22877807397165E-03 )*X+(float)2.60854524809786E-02 )*X- + (float)9.71152726809059E-02 )*X+(float)2.19086362515979E-01; + WW4 = ((((((((-(float)3.84961617022042E-08*X+(float)5.66595396544470E-07)*X- + (float)5.52351805403748E-06 )*X+(float)4.53160377546073E-05 )*X- + (float)3.22542784865557E-04 )*X+(float)1.95682017370967E-03 )*X- + (float)9.77232537679229E-03 )*X+(float)3.79455945268632E-02 )*X- + (float)1.02979262192227E-01 )*X+(float)1.49451349150573E-01; + WW5 = ((((((((( (float)4.09594812521430E-09*X-(float)6.47097874264417E-08)*X+ + (float)6.743541482689E-07)*X-(float)5.917993920224E-06)*X+ + (float)4.531969237381E-05)*X-(float)2.99102856679638E-04 )*X+ + (float)1.65695765202643E-03 )*X-(float)7.40671222520653E-03 )*X+ + (float)2.50889946832192E-02 )*X-(float)5.73782817487958E-02 )*X+ + (float)6.66713443086877E-02; + } else if (X < (float)5.0) { + Y = X-(float)3.0E+00; + RT1 = (((((- + (float)1.16002134438663E-08 )*Y+(float)2.46810694414540E-07 )*Y- + (float)4.92556826124502E-06 )*Y+(float)9.02580687971053E-05 )*Y- + (float)1.45190025120726E-03 )*Y+(float)1.73416786387475E-02; + RT2 = ((((((- + (float)1.104373076913E-09)*Y-(float)2.35346740649916E-08 )*Y+ + (float)1.43772622028764E-06 )*Y-(float)4.23405023015273E-05 )*Y+ + (float)9.12034574793379E-04 )*Y-(float)1.52479441718739E-02 )*Y+ + (float)1.76055265928744E-01; + RT3 = ((((((- + (float)2.995532064116E-09)*Y+(float)1.57456141058535E-07 )*Y- + (float)3.95859409711346E-07 )*Y-(float)9.58924580919747E-05 )*Y+ + (float)3.23551502557785E-03 )*Y-(float)5.97587007636479E-02 )*Y+ + (float)6.46432853383057E-01; + RT4 = (((((((float)1.59166632851267E-08 )*Y- + (float)1.32581997983422E-07 )*Y-(float)7.60223407443995E-06 )*Y- + (float)7.41019244900952E-05 )*Y+(float)9.81432631743423E-03 )*Y- + (float)2.23055570487771E-01 )*Y+(float)2.21460798080643E+00; + RT5 = (((((((-(float)2.342817613343E-09)*Y- + (float)3.496962018025E-08)*Y-(float)3.03172870136802E-07 )*Y+ + (float)1.50511293969805E-06 )*Y+(float)1.37704919387696E-04 )*Y+ + (float)4.70723869619745E-02 )*Y-(float)1.47486623003693E+00 )*Y+ + (float)1.35704792175847E+01; + WW1 = (((((( + (float)1.100758247388E-08)*Y-(float)1.88329804969573E-07 )*Y+ + (float)3.12338120839468E-06 )*Y-(float)5.04404167403568E-05 )*Y+ + (float)8.00338056610995E-04 )*Y-(float)1.30892406559521E-02 )*Y+ + (float)2.47383140241103E-01; + WW2 = (((((((( + (float)1.615238462197E-09)*Y-(float)2.15479017572233E-08 )*Y+ + (float)2.70933462557631E-07 )*Y-(float)3.18750295288531E-06 )*Y+ + (float)3.47425221210099E-05 )*Y-(float)3.45558237388223E-04 )*Y+ + (float)3.05779768191621E-03 )*Y-(float)2.29118251223003E-02 )*Y+ + (float)1.59834227924213E-01; + WW3 = (((((((((- + (float)1.244014559219E-09)*Y+(float)1.472744068942E-08)*Y- + (float)1.611749975234E-07)*Y+(float)1.616487851917E-06)*Y- + (float)1.46852359124154E-05 )*Y+(float)1.18900349101069E-04 )*Y- + (float)8.37562373221756E-04 )*Y+(float)4.93752683045845E-03 )*Y- + (float)2.25514728915673E-02 )*Y+(float)6.95211812453929E-02; + WW4 = (((((((((-(float)4.23775673047899E-09 )*Y+ + (float)4.46559231067006E-08 )*Y-(float)4.26488836563267E-07 )*Y+ + (float)3.64721335274973E-06 )*Y-(float)2.74868382777722E-05 )*Y+ + (float)1.78586118867488E-04 )*Y-(float)9.68428981886534E-04 )*Y+ + (float)4.16002324339929E-03 )*Y-(float)1.28290192663141E-02 )*Y+ + (float)2.22353727685016E-02; + WW5 = (((((((((- + (float)4.389453269417E-09)*Y+(float)4.332753856271E-08)*Y- + (float)3.82673275931962E-07 )*Y+(float)2.98006900751543E-06 )*Y- + (float)2.00718990300052E-05 )*Y+(float)1.13876001386361E-04 )*Y- + (float)5.23627942443563E-04 )*Y+(float)1.83524565118203E-03 )*Y- + (float)4.37785737450783E-03 )*Y+(float)5.36963805223095E-03; + } else if (X < (float)10.0) { + Y = X-(float)7.5E+00; + RT1 = (((((- + (float)3.73782213255083E-09 )*Y+(float)9.15858355075147E-08 )*Y- + (float)2.13775073585629E-06 )*Y+(float)4.56547356365536E-05 )*Y- + (float)8.68003909323740E-04 )*Y+(float)1.22703754069176E-02; + RT2 = (((((-(float)2.42538340602723E-08 )*Y+ + (float)8.20460740637617E-07 )*Y-(float)2.20379304598661E-05 )*Y+ + (float)4.90295372978785E-04 )*Y-(float)9.14294111576119E-03 )*Y+ + (float)1.22590403403690E-01; + RT3 = ((((((- + (float)3.686383856300E-09)*Y+(float)2.87495324207095E-08 )*Y+ + (float)1.71307311000282E-06 )*Y-(float)7.94273603184629E-05 )*Y+ + (float)2.00938064965897E-03 )*Y-(float)3.63329491677178E-02 )*Y+ + (float)4.34393683888443E-01; + RT4 = (((((((- + (float)1.190574776587E-09)*Y+(float)1.106696436509E-08)*Y+ + (float)3.954955671326E-07)*Y-(float)4.398596059588E-06)*Y- + (float)2.01087998907735E-04 )*Y+(float)7.89092425542937E-03 )*Y- + (float)1.42056749162695E-01 )*Y+(float)1.39964149420683E+00; + RT5 = ((((((( + (float)5.381160105420E-09)*Y-(float)6.253297138700E-08)*Y- + (float)2.135966835050E-06)*Y-(float)2.373394341886E-05)*Y+ + (float)2.88711171412814E-06 )*Y+(float)4.85221195290753E-02 )*Y- + (float)1.04346091985269E+00 )*Y+(float)7.89901551676692E+00; + WW1 = (((((( + (float)2.225273630974E-09)*Y-(float)4.49796778054865E-08 )*Y+ + (float)9.17812870287386E-07 )*Y-(float)1.86764236490502E-05 )*Y+ + (float)3.76807779068053E-04 )*Y-(float)8.10456360143408E-03 )*Y+ + (float)2.01097936411496E-01; + WW2 = (((((((-(float)1.82546185762009E-09 )*Y+ + (float)2.77209637550134E-08 )*Y-(float)4.01726946190383E-07 )*Y+ + (float)5.48227244014763E-06 )*Y-(float)6.95676245982121E-05 )*Y+ + (float)8.05193921815776E-04 )*Y-(float)8.15528438784469E-03 )*Y+ + (float)9.71769901268114E-02; + WW3 = (((((((- + (float)7.503659964159E-09)*Y+(float)8.851599803902E-08)*Y- + (float)9.65561998415038E-07 )*Y+(float)9.60884622778092E-06 )*Y- + (float)8.56551787594404E-05 )*Y+(float)6.66057194311179E-04 )*Y- + (float)4.17753183902198E-03 )*Y+(float)2.25443826852447E-02; + WW4 = (((((((((float)1.099047050624E-09)*Y- + (float)1.15042731790748E-08 )*Y+(float)1.09415155268932E-07 )*Y- + (float)9.33687124875935E-07 )*Y+(float)7.02338477986218E-06 )*Y- + (float)4.53759748787756E-05 )*Y+(float)2.41722511389146E-04 )*Y- + (float)9.75935943447037E-04 )*Y+(float)2.57520532789644E-03; + WW5 = (((((((-(float)6.92956101109829E-09 )*Y+ + (float)5.62222859033624E-08 )*Y-(float)3.97500114084351E-07 )*Y+ + (float)2.39039126138140E-06 )*Y-(float)1.18023950002105E-05 )*Y+ + (float)4.52254031046244E-05 )*Y-(float)1.21113782150370E-04 )*Y+ + (float)1.75013126731224E-04; + } else if (X < (float)15.0) { + Y = X-(float)12.5E+00; + RT1 = (((((- + (float)1.033307012866E-09)*Y+(float)3.997777641049E-08)*Y- + (float)9.35118186333939E-07 )*Y+(float)2.38589932752937E-05 )*Y- + (float)5.35185183652937E-04 )*Y+(float)8.85218988709735E-03; + RT2 = (((((- + (float)9.772831891310E-09)*Y+(float)4.240340194620E-07)*Y- + (float)1.02384302866534E-05 )*Y+(float)2.57987709704822E-04 )*Y- + (float)5.54735977651677E-03 )*Y+(float)8.68245143991948E-02; + RT3 = ((((((-1.333480437968E-09)*Y- + (float)2.217064940373E-08)*Y+1.643290788086E-06)*Y- + (float)4.39602147345028E-05 )*Y+1.08648982748911E-03 )*Y- + (float)2.13014521653498E-02 )*Y+2.94150684465425E-01; + RT4 = ((((((-(float)2.007890743962E-08)*Y+ + (float)1.543764346501E-07)*Y+(float)4.520749076914E-06)*Y- + (float)1.88893338587047E-04 )*Y+(float)4.73264487389288E-03 )*Y- + (float)7.91197893350253E-02 )*Y+(float)8.60057928514554E-01; + RT5 = ((((((((- + (float)1.223983883080E-09)*Y-(float)2.05603889396319E-09 )*Y+ + (float)2.58604071603561E-07 )*Y+(float)1.34240904266268E-06 )*Y- + (float)5.72877569731162E-05 )*Y-(float)9.56275105032191E-04 )*Y+ + (float)4.23367010370921E-02 )*Y-(float)5.76800927133412E-01 )*Y+ + (float)3.87328263873381E+00; + WW1 = (((((-(float)9.65094802088511E-09 )*Y+ + (float)3.42197444235714E-07 )*Y-(float)7.51821178144509E-06 )*Y+ + (float)1.94218051498662E-04 )*Y-(float)5.38533819142287E-03 )*Y+ + (float)1.68122596736809E-01; + WW2 = (((((((float)3.533277061402E-09)*Y- + (float)6.389171736029E-08)*Y+(float)1.046236652393E-06)*Y- + (float)1.73148206795827E-05 )*Y+(float)2.57820531617185E-04 )*Y- + (float)3.46188265338350E-03 )*Y+(float)7.03302497508176E-02; + WW3 = (((((( + (float)6.04189063303610E-09 )*Y-(float)8.23540111024147E-08 )*Y+ + (float)1.01503783870262E-06 )*Y-(float)1.20490761741576E-05 )*Y+ + (float)1.26928442448148E-04 )*Y-(float)1.05539461930597E-03 )*Y+ + (float) 1.15543698537013E-02; + WW4 = (((((( + (float)3.63722952167779E-09 )*Y-(float)3.75484943783021E-08 )*Y+ + (float)3.49164261987184E-07 )*Y-(float)2.92658670674908E-06 )*Y+ + (float)2.12937256719543E-05 )*Y-(float)1.19434130620929E-04 )*Y+ + (float)6.45524336158384E-04; + WW5 = (((((- + (float)6.84655877575364E-09 )*Y+(float)4.64460857084983E-08 )*Y- + (float)2.66924538268397E-07 )*Y+(float)1.24621276265907E-06 )*Y- + (float)4.30868944351523E-06 )*Y+(float)9.94307982432868E-06; + } else if (X < (float)20.0){ + Y = X-(float)17.5E+00; + RT1 = (((((- + (float)1.123776903884E-09)*Y+(float)1.231203269887E-08)*Y- + (float)3.99851421361031E-07 )*Y+(float)1.45418822817771E-05 )*Y- + (float)3.49912254976317E-04 )*Y+(float)6.67768703938812E-03; + RT2 = (((((- + (float)1.184607130107E-08)*Y+(float)1.347873288827E-07)*Y- + (float)4.47788241748377E-06 )*Y+(float)1.54942754358273E-04 )*Y- + (float)3.55524254280266E-03 )*Y+(float)6.44912219301603E-02; + RT3 = (((((((float)1.766397336977E-09)*Y- + (float)4.603559449010E-08)*Y+(float)5.863956443581E-07)*Y- + (float)2.03797212506691E-05 )*Y+(float)6.31405161185185E-04 )*Y- + (float)1.30102750145071E-02 )*Y+(float)2.10244289044705E-01; + RT4 = (((((( + (float)6.88409355245582E-09 )*Y-(float)1.44374545515769E-07 )*Y+ + (float)2.74941013315834E-06 )*Y-(float)1.02790452049013E-04 )*Y+ + (float)2.59924221372643E-03 )*Y-(float)4.35712368303551E-02 )*Y+ + (float)5.62170709585029E-01; + RT5 = (((((((-(float)4.98680128123353E-09 )*Y- + (float)1.81502268782664E-07 )*Y+(float)2.69463269394888E-06 )*Y+ + (float)2.50032154421640E-05 )*Y-(float)1.33684303917681E-03 )*Y+ + (float)2.29121951862538E-02 )*Y-(float)2.45653725061323E-01 )*Y+ + (float)1.89999883453047E+00; + WW1 = (((((- + (float)1.014517563435E-08)*Y+(float)1.132736008979E-07)*Y- + (float)2.86605475073259E-06 )*Y+(float)1.21958354908768E-04 )*Y- + (float)3.86293751153466E-03 )*Y+(float)1.45298342081522E-01; + WW2 = (((((- + (float)1.009147879750E-08)*Y+(float)2.907862965346E-07)*Y- + (float)6.12300038720919E-06 )*Y+(float)1.00104454489518E-04 )*Y- + (float)1.80677298502757E-03 )*Y+(float)5.78009914536630E-02; + WW3 = (((((- + (float)8.799518866802E-09)*Y+(float)1.791418482685E-07)*Y- + (float)2.96075397351101E-06 )*Y+(float)3.38028206156144E-05 )*Y- + (float)3.58426847857878E-04 )*Y+(float)8.39213709428516E-03; + WW4 = (((((-(float)2.52746574206884E-09 )*Y+ + (float)3.27761714422960E-08 )*Y-(float)3.90387662925193E-07 )*Y+ + (float)3.46340204593870E-06 )*Y-(float)2.43236345136782E-05 )*Y+ + (float)3.54846978585226E-04; + WW5 = (((( + (float)1.62012436344069E-09 )*Y-(float)1.23621614171556E-08 )*Y+ + (float)7.72165684563049E-08 )*Y-(float)3.59858901591047E-07 )*Y+ + (float)2.43682618601000E-06; + } else if (X < (float)25.0) { + Y = X-(float)22.5E+00; + RT1 = (((( + (float)3.56242145897468E-09 )*Y-(float)3.03763737404491E-07 )*Y+ + (float)9.46859114120901E-06 )*Y-(float)2.30896753853196E-04 )*Y+ + (float)5.24663913001114E-03; + RT2 = ((((( + (float)2.216486288382E-09)*Y+(float)4.616160236414E-08)*Y- + (float)3.32380270861364E-06 )*Y+(float)9.84635072633776E-05 )*Y- + (float)2.30092118015697E-03 )*Y+(float)5.00845183695073E-02; + RT3 = ((((( + (float)7.534109114453E-09)*Y+(float)2.699970652707E-07)*Y- + (float)1.42982334217081E-05 )*Y+(float)3.78290946669264E-04 )*Y- + (float)8.03133015084373E-03 )*Y+(float)1.58689469640791E-01; + RT4 = ((((((-(float)2.070575894402E-09)*Y+ + (float)7.323046997451E-09)*Y+(float)1.851491550417E-06)*Y- + (float)6.37524802411383E-05 )*Y+(float)1.36795464918785E-03 )*Y- + (float)2.42051126993146E-02 )*Y+(float)3.97847167557815E-01; + RT5 = ((((((( + (float)4.804518986559E-09)*Y-(float)1.835675889421E-08)*Y- + (float)1.068175391334E-06)*Y+(float)3.292234974141E-05)*Y- + (float)5.94805357558251E-04 )*Y+(float)8.29382168612791E-03 )*Y- + (float)9.93122509049447E-02 )*Y+(float)1.09857804755042E+00; + WW1 = ((((((float)1.52314028857627E-09 )*Y+ + (float)9.20072040917242E-09 )*Y-(float)2.19427111221848E-06 )*Y+ + (float)8.65797782880311E-05 )*Y-(float)2.82718629312875E-03 )*Y+ + (float)1.28718310443295E-01; + WW2 = (((((-(float)5.68108973828949E-09 )*Y+ + (float)1.22477891136278E-07 )*Y-(float)2.11919643127927E-06 )*Y+ + (float)4.23605032368922E-05 )*Y-(float)1.14423444576221E-03 )*Y+ + (float)5.06607252890186E-02; + WW3 = (((((-(float)3.36086411698418E-09 )*Y+ + (float)6.07453633298986E-08 )*Y-(float)7.40736211041247E-07 )*Y+ + (float)8.84176371665149E-06 )*Y-(float)1.72559275066834E-04 )*Y+ + (float)7.16639814253567E-03; + WW4 = (((( + (float)6.77368055908400E-09 )*Y-(float)7.03520999708859E-08 )*Y+ + (float)6.04993294708874E-07 )*Y-(float)7.80555094280483E-06 )*Y+ + (float)2.85954806605017E-04; + WW5 = (((- + (float)1.17842611094141E-09 )*Y+(float)7.80430641995926E-09 )*Y- + (float)5.97767417400540E-08 )*Y+(float)1.65186146094969E-06; + } else if (X < (float)40) { + WW1 = _sqrt(PIE4/X); + E = exp(-X); + RT1 = ((((((((-(float)1.73363958895356E-06*X+(float)1.19921331441483E-04)*X - + (float)1.59437614121125E-02)*X+(float)1.13467897349442E+00)*X - + (float)4.47216460864586E+01)*X+(float)1.06251216612604E+03)*X - + (float)1.52073917378512E+04)*X+(float)1.20662887111273E+05)*X - + (float)4.07186366852475E+05)*E + R15/(X-R15); + RT2 = ((((((((-(float)1.60102542621710E-05*X+(float)1.10331262112395E-03)*X - + (float)1.50043662589017E-01)*X+(float)1.05563640866077E+01)*X - + (float)4.10468817024806E+02)*X+(float)9.62604416506819E+03)*X - + (float)1.35888069838270E+05)*X+(float)1.06107577038340E+06)*X - + (float)3.51190792816119E+06)*E + R25/(X-R25); + RT3 = ((((((((-(float)4.48880032128422E-05*X+(float)2.69025112122177E-03)*X - + (float)4.01048115525954E-01)*X+(float)2.78360021977405E+01)*X - + (float)1.04891729356965E+03)*X+(float)2.36985942687423E+04)*X - + (float)3.19504627257548E+05)*X+(float)2.34879693563358E+06)*X - + (float)7.16341568174085E+06)*E + R35/(X-R35); + RT4 = ((((((((-(float)6.38526371092582E-05*X-(float)2.29263585792626E-03)*X - + (float)7.65735935499627E-02)*X+(float)9.12692349152792E+00)*X - + (float)2.32077034386717E+02)*X+(float)2.81839578728845E+02)*X + + (float)9.59529683876419E+04)*X-(float)1.77638956809518E+06)*X + + (float)1.02489759645410E+07)*E + R45/(X-R45); + RT5 = ((((((((-(float)3.59049364231569E-05*X-(float)2.25963977930044E-02)*X + + (float)1.12594870794668E+00)*X-(float)4.56752462103909E+01)*X + + (float)1.05804526830637E+03)*X-(float)1.16003199605875E+04)*X - + (float)4.07297627297272E+04)*X+(float)2.22215528319857E+06)*X - + (float)1.61196455032613E+07)*E + R55/(X-R55); + WW5 = ((((((((((float)1.43069932644286E-07)*X - + (float)1.63960915431080E-05)*X+(float)1.15791154612838E-03)*X - + (float)5.30573476742071E-02)*X+(float)1.61156533367153E+00)*X - + (float)3.23248143316007E+01)*X+(float)4.12007318109157E+02)*X - + (float)3.02260070158372E+03)*X+(float)9.71575094154768E+03)*E + W55*WW1; + WW4 = (((((((((-(float)2.40799435809950E-08*X+(float)8.12621667601546E-06)*X - + (float)9.04491430884113E-04)*X+(float)6.37686375770059E-02)*X - + (float)2.96135703135647E+00)*X+(float)9.15142356996330E+01)*X - + (float)1.86971865249111E+03)*X+(float)2.42945528916947E+04)*X - + (float)1.81852473229081E+05)*X+(float)5.96854758661427E+05)*E + W45*WW1; + WW3 = (((((((( (float)1.83574464457207E-05*X-(float)1.54837969489927E-03)*X + + (float)1.18520453711586E-01)*X-(float)6.69649981309161E+00)*X + + (float)2.44789386487321E+02)*X-(float)5.68832664556359E+03)*X + + (float)8.14507604229357E+04)*X-(float)6.55181056671474E+05)*X + + (float)2.26410896607237E+06)*E + W35*WW1; + WW2 = (((((((( (float)2.77778345870650E-05*X-(float)2.22835017655890E-03)*X + + (float)1.61077633475573E-01)*X-(float)8.96743743396132E+00)*X + + (float)3.28062687293374E+02)*X-(float)7.65722701219557E+03)*X + + (float)1.10255055017664E+05)*X-(float)8.92528122219324E+05)*X + + (float)3.10638627744347E+06)*E + W25*WW1; + WW1 = WW1-(float)0.01962E+00*E-WW2-WW3-WW4-WW5; + } else if (X < (float)59.0) { + WW1 = _sqrt(PIE4/X); + XXX = X * X * X; + E = XXX*exp(-X); + RT1 = (((-(float)2.43758528330205E-02*X+(float)2.07301567989771E+00)*X - + (float)6.45964225381113E+01)*X+(float)7.14160088655470E+02)*E + R15/(X-R15); + RT2 = (((-(float)2.28861955413636E-01*X+(float)1.93190784733691E+01)*X - + (float)5.99774730340912E+02)*X+(float)6.61844165304871E+03)*E + R25/(X-R25); + RT3 = (((-(float)6.95053039285586E-01*X+(float)5.76874090316016E+01)*X - + (float)1.77704143225520E+03)*X+(float)1.95366082947811E+04)*E + R35/(X-R35); + RT4 = (((-(float)1.58072809087018E+00*X+(float)1.27050801091948E+02)*X - + (float)3.86687350914280E+03)*X+(float)4.23024828121420E+04)*E + R45/(X-R45); + RT5 = (((-(float)3.33963830405396E+00*X+(float)2.51830424600204E+02)*X - + (float)7.57728527654961E+03)*X+(float)8.21966816595690E+04)*E + R55/(X-R55); + E = XXX*E; + WW5 = (( (float)1.35482430510942E-08*X-(float)3.27722199212781E-07)*X + + (float)2.41522703684296E-06)*E + W55*WW1; + WW4 = (( (float)1.23464092261605E-06*X-(float)3.55224564275590E-05)*X + + (float)3.03274662192286E-04)*E + W45*WW1; + WW3 = (( (float)1.34547929260279E-05*X-(float)4.19389884772726E-04)*X + + (float)3.87706687610809E-03)*E + W35*WW1; + WW2 = (( (float)2.09539509123135E-05*X-(float)6.87646614786982E-04)*X + + (float)6.68743788585688E-03)*E + W25*WW1; + WW1 = WW1-WW2-WW3-WW4-WW5; + } else { + WW1 = _sqrt(PIE4/X); + RT1 = R15/(X-R15); + RT2 = R25/(X-R25); + RT3 = R35/(X-R35); + RT4 = R45/(X-R45); + RT5 = R55/(X-R55); + WW2 = W25*WW1; + WW3 = W35*WW1; + WW4 = W45*WW1; + WW5 = W55*WW1; + WW1 = WW1-WW2-WW3-WW4-WW5; + } + roots[0] = RT1; + roots[1] = RT2; + roots[2] = RT3; + roots[3] = RT4; + roots[4] = RT5; + weights[0+g_size*2] = WW1; + weights[1+g_size*2] = WW2; + weights[2+g_size*2] = WW3; + weights[3+g_size*2] = WW4; + weights[4+g_size*2] = WW5; +} + +void CINTg0_2e_2d(float* g, int g_len, + int nroots, int nmax, int mmax, int dm, int dn, int g_size + ,const dtype *__bcc00, const dtype *__bcc0p, int bcc0_len, + const dtype *b01, const dtype *b00, const dtype *b10 , int b_len + ) { + + + + //int i, j, m, n, off; + unsigned short i, j, m, n, off; + dtype *gx = g; + dtype *gy = g + g_size; + dtype *gz = g + g_size * 2; + + const float *c00; + const float *c0p; + + dtype *p0x, *p0y, *p0z; + const dtype *p1x, *p1y, *p1z, *p2x, *p2y, *p2z; + + for (i = 0; i < nroots; i++) { + g[i ] = 1; + g[i+g_size] = 1; + //gz[i] = w[i]; + } + + + // 200k + if (nmax > 0) { + // gx(irys,0,1) = c00(irys) * gx(irys,0,0) + //for (c00 = __bcc00, i = 0; i < nroots; i++, c00+=3) { + c00 = __bcc00; + for (i = 0; i < nroots; i++) { + g[i+dn ] = c00[0] * g[i]; + g[i+dn+g_size ] = c00[1] * g[i+g_size]; + g[i+dn+g_size*2] = c00[2] * g[i+g_size*2]; + c00+=3; + } + // gx(irys,0,n+1) = c00(irys)*gx(irys,0,n) + // + n*b10(irys)*gx(irys,0,n-1) + for (n = 1; n < nmax; n++) { + off = n * dn; + c00 = __bcc00; + j = off; + //for (c00 = __bcc00, i = 0, j = off; i < nroots; i++, j++, c00+=3) { + for (i = 0; i < nroots; i++) { + g[j+dn ] = c00[0] * g[j ] + n * b10[i] * g[j-dn ]; + g[j+dn+g_size ] = c00[1] * g[j+g_size ] + n * b10[i] * g[j-dn+g_size ]; + g[j+dn+g_size*2] = c00[2] * g[j+g_size*2] + n * b10[i] * g[j-dn+g_size*2]; + j++; + c00+=3; + } + } + } + + // 200k + if (mmax > 0) { + // gx(irys,1,0) = c0p(irys) * gx(irys,0,0) + for (c0p = __bcc0p, i = 0; i < nroots; i++, c0p+=3) { + g[i+dm ] = c0p[0] * g[i ]; + g[i+dm+g_size ] = c0p[1] * g[i+g_size ]; + g[i+dm+g_size*2] = c0p[2] * g[i+g_size*2]; + } + // gx(irys,m+1,0) = c0p(irys)*gx(irys,m,0) + // + m*b01(irys)*gx(irys,m-1,0) + for (m = 1; m < mmax; m++) { + off = m * dm; + for (c0p = __bcc0p, i = 0, j = off; i < nroots; i++, j++, c0p+=3) { + g[j+dm ] = c0p[0] * g[j ] + m * b01[i] * g[j-dm ]; + g[j+dm+g_size ] = c0p[1] * g[j+g_size ] + m * b01[i] * g[j-dm+g_size ]; + g[j+dm+g_size*2] = c0p[2] * g[j+g_size*2] + m * b01[i] * g[j-dm+g_size*2]; + } + } + } + + // 400k + if (nmax > 0 && mmax > 0) { + // gx(irys,1,1) = c0p(irys)*gx(irys,0,1) + // + b00(irys)*gx(irys,0,0) + for (c0p = __bcc0p, i = 0; i < nroots; i++, c0p+=3) { + g[i+dm+dn ] = c0p[0] * g[i+dn ] + b00[i] * g[i ]; + g[i+dm+dn+g_size ] = c0p[1] * g[i+dn+g_size ] + b00[i] * g[i+g_size ]; + g[i+dm+dn+g_size*2] = c0p[2] * g[i+dn+g_size*2] + b00[i] * g[i+g_size*2]; + } + + // gx(irys,m+1,1) = c0p(irys)*gx(irys,m,1) + // + m*b01(irys)*gx(irys,m-1,1) + // + b00(irys)*gx(irys,m,0) + for (m = 1; m < mmax; m++) { + off = m * dm + dn; + for (c0p = __bcc0p, i = 0, j = off; i < nroots; i++, j++, c0p+=3) { + g[j+dm ] = c0p[0]*g[j ] + m*b01[i]*g[j-dm ] +b00[i]*g[j-dn ]; + g[j+dm+g_size ] = c0p[1]*g[j+g_size ] + m*b01[i]*g[j-dm+g_size ] +b00[i]*g[j-dn+g_size ]; + g[j+dm+g_size*2] = c0p[2]*g[j+g_size*2] + m*b01[i]*g[j-dm+g_size*2] +b00[i]*g[j-dn+g_size*2]; + } + } + + // gx(irys,m,n+1) = c00(irys)*gx(irys,m,n) + // + n*b10(irys)*gx(irys,m,n-1) + // + m*b00(irys)*gx(irys,m-1,n) + + for (m = 1; m <= mmax; m++) { + for (n = 1; n < nmax; n++) { + off = m * dm + n * dn; + for (c00 = __bcc00, i = 0, j = off; i < nroots; i++, j++, c00+=3) { + g[j+dn ] = c00[0]*g[j ] +n*b10[i]*g[j-dn ] + m*b00[i]*g[j-dm ]; + g[j+dn+g_size ] = c00[1]*g[j+g_size ] +n*b10[i]*g[j-dn+g_size ] + m*b00[i]*g[j-dm+g_size ]; + g[j+dn+g_size*2] = c00[2]*g[j+g_size*2] +n*b10[i]*g[j-dn+g_size*2] + m*b00[i]*g[j-dm+g_size*2]; + } + } + } + } + + +} + + + +/* + * g0[i,k,l,j] = < ik | lj > = ( i j | k l ) + */ +/* 2d is based on l,j */ +void CINTg0_lj2d_4d(float* g, int g_len, + int nmax, int mmax, int li, int lk, int lj, int nroots, int di, + int dk, int dl, int dj, const dtype *rirj, const dtype *rkrl, int g_size) { + + dtype rx, ry, rz, _rx, _ry, _rz; + + //DEF_GXYZ(double, g, gx, gy, gz); + //unsigned short i, j, k, l, ptr, n; + unsigned short i, j, k, l, ptr, n; + + // g(i,...,j) = rirj * g(i-1,...,j) + g(i-1,...,j+1) + rx = rirj[0]; + ry = rirj[1]; + rz = rirj[2]; + + _rx = rkrl[0]; + _ry = rkrl[1]; + _rz = rkrl[2]; + for (i = 1; i <= li; i++) { + for (j = 0; j <= nmax-i; j++) { + for (l = 0; l <= mmax; l++) { + ptr = j*dj + l*dl + i*di; + for (n = ptr; n < ptr+nroots; n++) { + g[n ] = rx * g[n-di] + g[n-di+dj ]; + g[n+g_size ] = ry * g[n-di+g_size] + g[n-di+dj+g_size ]; + g[n+g_size*2] = rz * g[n-di+g_size*2] + g[n-di+dj+g_size*2]; + } + } + } + } + + // g(...,k,l,..) = rkrl * g(...,k-1,l,..) + g(...,k-1,l+1,..) + for (j = 0; j <= lj; j++) { + for (k = 1; k <= lk; k++) { + for (l = 0; l <= mmax-k; l++) { + ptr = j*dj + l*dl + k*dk; + for (n = ptr; n < ptr+dk; n++) { + g[n ] = _rx * g[n-dk ] + g[n-dk+dl]; + g[n+g_size ] = _ry * g[n-dk+g_size ] + g[n-dk+dl+g_size]; + g[n+g_size*2] = _rz * g[n-dk+g_size*2] + g[n-dk+dl+g_size*2]; + } + } + } + } +} +/* 2d is based on k,j */ +void CINTg0_kj2d_4d(float* g, int g_len, int nmax, int mmax, int li, int ll, int lj, int nroots, int di, int dk, int dl, int dj, const dtype *rirj, const dtype *rkrl, int g_size) { + + //unsigned short i, j, k, l, ptr, n; + unsigned short i, j, k, l, ptr, n; + + dtype rx, ry, rz, _rx, _ry, _rz; + + // g(i,...,j) = rirj * g(i-1,...,j) + g(i-1,...,j+1) + rx = rirj[0]; + ry = rirj[1]; + rz = rirj[2]; + _rx = rkrl[0]; + _ry = rkrl[1]; + _rz = rkrl[2]; + + for (i = 1; i <= li; i++) { + for (j = 0; j <= nmax-i; j++) { + for (k = 0; k <= mmax; k++) { + ptr = j*dj + k*dk + i*di; + for (n = ptr; n < ptr+nroots; n++) { + g[n] = rx * g[n-di] + g[n-di+dj]; + g[n+g_size] = ry * g[n-di+g_size] + g[n-di+dj+g_size]; + g[n+g_size*2] = rz * g[n-di+g_size*2] + g[n-di+dj+g_size*2]; + } + } + } + } + + // g(...,k,l,..) = rkrl * g(...,k,l-1,..) + g(...,k+1,l-1,..) + for (j = 0; j <= lj; j++) { + for (l = 1; l <= ll; l++) { + for (k = 0; k <= mmax-l; k++) { + ptr = j*dj + l*dl + k*dk; + for (n = ptr; n < ptr+dk; n++) { + g[n ] = _rx * g[n-dl] + g[n-dl+dk]; + g[n+g_size ] = _ry * g[n-dl+g_size] + g[n-dl+dk+g_size]; + g[n+g_size*2] = _rz * g[n-dl+g_size*2] + g[n-dl+dk+g_size*2]; + } + } + } + } + +} +/* 2d is based on i,l */ +void CINTg0_il2d_4d(float* g, int g_len, + int nmax, int mmax, int lk, int ll, int lj, int nroots, + int di, int dk, int dl, int dj, const dtype *rirj, const dtype *rkrl, int g_size) { + + + dtype rx, ry, rz, _rx, _ry, _rz; + //unsigned short i, j, k, l, ptr, n; + unsigned short i, j, k, l, ptr, n; + + // g(...,k,l,..) = rkrl * g(...,k-1,l,..) + g(...,k-1,l+1,..) + rx = rkrl[0]; + ry = rkrl[1]; + rz = rkrl[2]; + + _rx = rirj[0]; + _ry = rirj[1]; + _rz = rirj[2]; + + for (k = 1; k <= lk; k++) { + for (l = 0; l <= mmax-k; l++) { + for (i = 0; i <= nmax; i++) { + ptr = l*dl + k*dk + i*di; + for (n = ptr; n < ptr+nroots; n++) { + g[n ] = rx * g[n-dk ] + g[n-dk+dl ]; + g[n+g_size ] = ry * g[n-dk+g_size ] + g[n-dk+dl+g_size ]; + g[n+g_size*2] = rz * g[n-dk+g_size*2] + g[n-dk+dl+g_size*2]; + } + } + } + } + + // g(i,...,j) = rirj * g(i,...,j-1) + g(i+1,...,j-1) + for (j = 1; j <= lj; j++) { + for (l = 0; l <= ll; l++) { + for (k = 0; k <= lk; k++) { + ptr = j*dj + l*dl + k*dk; + for (n = ptr; n < ptr+dk-di*j; n++) { + g[n ] = _rx * g[n-dj ] + g[n-dj+di ]; + g[n+g_size ] = _ry * g[n-dj+g_size ] + g[n-dj+di+g_size ]; + g[n+g_size*2] = _rz * g[n-dj+g_size*2] + g[n-dj+di+g_size*2]; + } + } + } + } + + +} +/* 2d is based on i,k */ +void CINTg0_ik2d_4d(float* g, int g_len, + int nmax, int mmax, int lk, int ll, int lj, int nroots, int di, int dk, int dl, int dj, + const dtype *rirj, const dtype *rkrl, + int g_size) { + //unsigned short i, j, k, l, ptr, n; + unsigned short i, j, k, l, ptr, n; + + const dtype *p1x, *p1y, *p1z, *p2x, *p2y, *p2z; + dtype rx, ry, rz, _rx, _ry, _rz; + + // g(...,k,l,..) = rkrl * g(...,k,l-1,..) + g(...,k+1,l-1,..) + rx = rkrl[0]; + ry = rkrl[1]; + rz = rkrl[2]; + _rx = rirj[0]; + _ry = rirj[1]; + _rz = rirj[2]; + + for (l = 1; l <= ll; l++) { + // (:,i) is full, so loop:k and loop:n can be merged to + // for(n = l*dl; n < ptr+dl-dk*l; n++) + for (k = 0; k <= mmax-l; k++) { + for (i = 0; i <= nmax; i++) { + ptr = l*dl + k*dk + i*di; + for (n = ptr; n < ptr+nroots; n++) { + g[n ] = rx * g[n-dl] + g[n-dl+dk]; + g[n+g_size ] = ry * g[n+g_size-dl] + g[n+g_size-dl+dk]; + g[n+g_size*2] = rz * g[n+g_size*2-dl] + g[n+g_size*2-dl+dk]; + } + } + } + } + + // g(i,...,j) = rirj * g(i,...,j-1) + g(i+1,...,j-1) + for (j = 1; j <= lj; j++) { + for (l = 0; l <= ll; l++) { + for (k = 0; k <= lk; k++) { + ptr = j*dj + l*dl + k*dk; + for (n = ptr; n < ptr+dk-di*j; n++) { + g[n] = _rx * g[n-dj] + g[n-dj+di]; + g[n+g_size] = _ry * g[n+g_size-dj] + g[n-dj+di+g_size]; + g[n+g_size*2] = _rz * g[n+g_size*2-dj] + g[n-dj+di+g_size*2]; + } + } + } + } +} + + +// code size takes 50.2 kb +int CINTg0_2e( float* g, int g_len, +int kbase, int ibase, int di, int dk, int dl, int dj, int dm, int dn +,int nroots, dtype aij, dtype akl, int g_size, dtype fac0, int nmax, int mmax, +int li_ceil, int lj_ceil, int lk_ceil, int ll_ceil, dtype *rkrl, dtype *rirj , +dtype rijrkl[], dtype rijrx[], dtype rklrx[]) { + + dtype u[MXRYSROOTS]; + + dtype a1 = aij * akl; + dtype a0 = a1 / (aij + akl); + dtype fac1 = sqrt(a0 / (a1 * a1 * a1)) * fac0; + + dtype x = a0 *(rijrkl[0] * rijrkl[0] + rijrkl[1] * rijrkl[1] + rijrkl[2] * rijrkl[2]); + + // rys roots compute some integral thingy: https://pubs.acs.org/doi/10.1021/acs.jpca.6b10004 + // if (x < (float)1E-15) { + // int off = nroots * (nroots - 1) / 2; + // int i; + // for (i = 0; i < nroots; i++) { + // u[i] = ROOTS_FOR_X0[off + i]; + // g[i+g_size*2] = WEIGHTS_FOR_X0[off + i]; + // } + // } + // else + { + + // Code: 1.9 KiB 49.3 KiB(47.4 KiB) + // Cycles: + + // todo; We can remove all 1e-10 without changing numerics. + // for rys_root5 this may be 30% of the code! + + if (nroots == 1) { rys_root1(x, u, g, g_size);} // 22 KiB for theese + if (nroots == 2) { rys_root2(x, u, g, g_size);} + if (nroots == 3) { rys_root3(x, u, g, g_size);} + // if (nroots == 4) { rys_root4(x, u, g, g_size);} + // if (nroots == 5) { rys_root5(x, u, g, g_size);} // adding float: -12.3 KiB (from 49.3 KiB to 37.0 KiB) + + } + + if (g_size == 1) { + g[0] = 1; + g[1] = 1; + g[2] *= fac1; + return 1; + } + + dtype u2, tmp1, tmp2, tmp3, tmp4, tmp5; + + // this used to rely on a struct _BC + dtype remove_struct_c00[MXRYSROOTS*3]; + dtype remove_struct_c0p[MXRYSROOTS*3]; + dtype remove_struct_b01[MXRYSROOTS]; + dtype remove_struct_b00[MXRYSROOTS]; + dtype remove_struct_b10[MXRYSROOTS]; + + // @alex: some of the functions below need a constant version that doesn't change, others + // need a version that does allow changing. we add "_" forthe constant versions. + dtype *c00 = remove_struct_c00; + dtype *c0p = remove_struct_c0p; + dtype *b00 = remove_struct_b00; + dtype *b10 = remove_struct_b10; + dtype *b01 = remove_struct_b01; + const dtype *_c00 = remove_struct_c00; + const dtype *_c0p = remove_struct_c0p; + const dtype *_b00 = remove_struct_b00; + const dtype *_b10 = remove_struct_b10; + const dtype *_b01 = remove_struct_b01; + + //for (unsigned short irys = 0; irys < nroots; irys++, c00+=3, c0p+=3) { + for (int irys = 0; irys < nroots; irys++, c00+=3, c0p+=3) { + u2 = a0 * u[irys]; + tmp4 = (float).5 / (u2 * (aij + akl) + a1); + tmp5 = u2 * tmp4; + tmp1 = (float)2. * tmp5; + tmp2 = tmp1 * akl; + tmp3 = tmp1 * aij; + b00[irys] = tmp5; + b10[irys] = tmp5 + tmp4 * akl; + b01[irys] = tmp5 + tmp4 * aij; + c00[0] = rijrx[0] - tmp2 * rijrkl[0]; + c00[1] = rijrx[1] - tmp2 * rijrkl[1]; + c00[2] = rijrx[2] - tmp2 * rijrkl[2]; + c0p[0] = rklrx[0] + tmp3 * rijrkl[0]; + c0p[1] = rklrx[1] + tmp3 * rijrkl[1]; + c0p[2] = rklrx[2] + tmp3 * rijrkl[2]; + g[irys+g_size*2] *= fac1; + } + + + + + // Code: 0.9 KiB (from 50.2kib to 49.3 KiB) + // Cycles: 800k each (1.6M total) + CINTg0_2e_2d(g, g_len, nroots, li_ceil + lj_ceil, lk_ceil + ll_ceil, dm, dn, g_size, _c00, _c0p, MXRYSROOTS*(float)3, _b01, _b00, _b10, MXRYSROOTS); + if (kbase) { + if (ibase) { CINTg0_ik2d_4d(g, g_len, li_ceil + lj_ceil, lk_ceil + ll_ceil, lk_ceil, ll_ceil, lj_ceil, nroots, di, dk, dl, dj, rirj, rkrl, g_size); } + else { CINTg0_kj2d_4d(g, g_len, li_ceil + lj_ceil, lk_ceil + ll_ceil, li_ceil, ll_ceil, lj_ceil, nroots, di, dk, dl, dj, rirj, rkrl, g_size); } + } + else { + if (ibase) { CINTg0_il2d_4d(g, g_len, li_ceil + lj_ceil, lk_ceil + ll_ceil, lk_ceil, ll_ceil, lj_ceil, nroots, di, dk, dl, dj, rirj, rkrl, g_size); } + else { CINTg0_lj2d_4d(g, g_len, li_ceil + lj_ceil, lk_ceil + ll_ceil, li_ceil, lk_ceil, lj_ceil, nroots, di, dk, dl, dj, rirj, rkrl, g_size); } + } + + + return 1; + + +} + + +#define bas(SLOT,I) bas[BAS_SLOTS * (I) + (SLOT)] + + +typedef struct { + dtype rij[3]; + dtype eij; + dtype cceij; +} PairData; + + +void CINTOpt_log_max_pgto_coeff(dtype *log_maxc, const dtype *coeff, int nprim, int nctr) { + short i, ip; // max is 32k + dtype maxc; + for (ip = 0; ip < nprim; ip++) { + maxc = 0; + for (i = 0; i < nctr; i++) { + maxc = std::fmax(maxc, std::abs(coeff[i*nprim+ip])); + } + //log_maxc[ip] = approx_log(maxc); + log_maxc[ip] = std::log(maxc); + } +} + + + + + +/* + * GTO = x^{nx}y^{ny}z^{nz}e^{-ar^2} + */ +void CINTcart_comp(int *nx, int *ny, int *nz, const int lmax) +{ + int inc = 0; + int lx, ly, lz; + + for (lx = lmax; lx >= 0; lx--) { + for (ly = lmax - lx; ly >= 0; ly--) { + lz = lmax - lx - ly; + nx[inc] = lx; + ny[inc] = ly; + nz[inc] = lz; + inc++; + } + } +} + + +// other boundaries +#define CART_MAX 25 // 136 > (ANG_MAX*(ANG_MAX+1)/2) +void CINTg2e_index_xyz(int *idx, int i_l, int j_l, int k_l, int l_l, + int nfi, int nfj, int nfk, int nfl, + int di, int dk, int dl, int dj, int g_size) { + int i, j, k, l, n; + int ofx, ofkx, oflx; + int ofy, ofky, ofly; + int ofz, ofkz, oflz; + // 1472*136*12*4*6/1024 + int i_nx[CART_MAX], i_ny[CART_MAX], i_nz[CART_MAX]; + int j_nx[CART_MAX], j_ny[CART_MAX], j_nz[CART_MAX]; + int k_nx[CART_MAX], k_ny[CART_MAX], k_nz[CART_MAX]; + int l_nx[CART_MAX], l_ny[CART_MAX], l_nz[CART_MAX]; + + CINTcart_comp(i_nx, i_ny, i_nz, i_l); + CINTcart_comp(j_nx, j_ny, j_nz, j_l); + CINTcart_comp(k_nx, k_ny, k_nz, k_l); + CINTcart_comp(l_nx, l_ny, l_nz, l_l); + + ofx = 0; + ofy = g_size; + ofz = g_size* 2; + n = 0; + for (j = 0; j < nfj; j++) { + for (l = 0; l < nfl; l++) { + oflx = ofx + dj * j_nx[j] + dl * l_nx[l]; + ofly = ofy + dj * j_ny[j] + dl * l_ny[l]; + oflz = ofz + dj * j_nz[j] + dl * l_nz[l]; + for (k = 0; k < nfk; k++) { + ofkx = oflx + dk * k_nx[k]; + ofky = ofly + dk * k_ny[k]; + ofkz = oflz + dk * k_nz[k]; + switch (i_l) { + case 0: + idx[n+0] = ofkx; + idx[n+1] = ofky; + idx[n+2] = ofkz; + n += 3; + break; + case 1: + idx[n+0] = ofkx + di; + idx[n+1] = ofky; + idx[n+2] = ofkz; + idx[n+3] = ofkx; + idx[n+4] = ofky + di; + idx[n+5] = ofkz; + idx[n+6] = ofkx; + idx[n+7] = ofky; + idx[n+8] = ofkz + di; + n += 9; + break; + case 2: + idx[n+0 ] = ofkx + di*2; + idx[n+1 ] = ofky; + idx[n+2 ] = ofkz; + idx[n+3 ] = ofkx + di; + idx[n+4 ] = ofky + di; + idx[n+5 ] = ofkz; + idx[n+6 ] = ofkx + di; + idx[n+7 ] = ofky; + idx[n+8 ] = ofkz + di; + idx[n+9 ] = ofkx; + idx[n+10] = ofky + di*2; + idx[n+11] = ofkz; + idx[n+12] = ofkx; + idx[n+13] = ofky + di; + idx[n+14] = ofkz + di; + idx[n+15] = ofkx; + idx[n+16] = ofky; + idx[n+17] = ofkz + di*2; + n += 18; + break; + default: + for (i = 0; i < nfi; i++) { + idx[n+0] = ofkx + di * i_nx[i]; //(:,ix,kx,lx,jx,1) + idx[n+1] = ofky + di * i_ny[i]; //(:,iy,ky,ly,jy,2) + idx[n+2] = ofkz + di * i_nz[i]; //(:,iz,kz,lz,jz,3) + n += 3; + } // i + } + } // k + } // l + } // j +} + + + +void CINTOpt_non0coeff_byshell(int *sortedidx, int *non0ctr, const dtype *ci, + int iprim, int ictr) +{ + int ip, j, k, kp; // hard coding! + //int zeroidx[ictr]; + int zeroidx[1]; + for (ip = 0; ip < iprim; ip++) { + //for (j = 0, k = 0, kp = 0; j < ictr; j++) { + for (j = 0, k = 0, kp = 0; j < 1; j++) { + if (ci[iprim*j+ip] != 0) { + sortedidx[k] = j; + k++; + } else { + zeroidx[kp] = j; + kp++; + } + } +// Append the index of zero-coeff to sortedidx for function CINTprim_to_ctr_0 + for (j = 0; j < kp; j++) { + sortedidx[k+j] = zeroidx[j]; + } + non0ctr[ip] = k; + //sortedidx += ictr; + sortedidx += 1; + } +} + + +void CINTprim_to_ctr_0(dtype *gc, dtype *gp, const dtype *coeff, size_t nf, + int nprim, int nctr, int non0ctr, int *sortedidx) +{ + int i; + size_t n; + dtype c0; + + for (i = 0; i < nctr; i++) { + c0 = coeff[nprim* i]; + for (n = 0; n < nf; n++) { + gc[nf*i+n] = c0 * gp[n]; + } + } +} + +void CINTprim_to_ctr_1(dtype *gc, dtype *gp, const dtype *coeff, size_t nf, + int nprim, int nctr, int non0ctr, int *sortedidx) +{ + int i, j; + size_t n; + dtype c0; + + for (i = 0; i < non0ctr; i++) { + c0 = coeff[nprim*sortedidx[i]]; + j = sortedidx[i]; + for (n = 0; n < nf; n++) { + gc[nf*j+n] += c0 * gp[n]; + } + } +} + + +/* + * a[m,n] -> a_t[n,m] + */ +void CINTdmat_transpose(dtype *a_t, dtype *a, int m, int n) +{ + int i, j, k; + + for (j = 0; j < n-3; j+=4) { +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[(j+0)*m+i] = a[i*n+j+0]; + a_t[(j+1)*m+i] = a[i*n+j+1]; + a_t[(j+2)*m+i] = a[i*n+j+2]; + a_t[(j+3)*m+i] = a[i*n+j+3]; + } + } + + switch (n-j) { + case 1: +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[j*m+i] = a[i*n+j]; + } + break; + case 2: +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[(j+0)*m+i] = a[i*n+j+0]; + a_t[(j+1)*m+i] = a[i*n+j+1]; + } + break; + case 3: +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[(j+0)*m+i] = a[i*n+j+0]; + a_t[(j+1)*m+i] = a[i*n+j+1]; + a_t[(j+2)*m+i] = a[i*n+j+2]; + } + break; + } +} + +/* + * a_t[n,m] += a[m,n] + */ +void CINTdplus_transpose(dtype *a_t, dtype *a, int m, int n) +{ + int i, j, k; + + for (j = 0; j < n-3; j+=4) { +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[(j+0)*m+i] += a[i*n+j+0]; + a_t[(j+1)*m+i] += a[i*n+j+1]; + a_t[(j+2)*m+i] += a[i*n+j+2]; + a_t[(j+3)*m+i] += a[i*n+j+3]; + } + } + + switch (n-j) { + case 1: +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[j*m+i] += a[i*n+j]; + } + break; + case 2: +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[(j+0)*m+i] += a[i*n+j+0]; + a_t[(j+1)*m+i] += a[i*n+j+1]; + } + break; + case 3: +#pragma GCC ivdep + for (i = 0; i < m; i++) { + a_t[(j+0)*m+i] += a[i*n+j+0]; + a_t[(j+1)*m+i] += a[i*n+j+1]; + a_t[(j+2)*m+i] += a[i*n+j+2]; + } + break; + } +} + +void CINTgout2e(dtype *gout, dtype *g, int *idx, + int gout_empty, int envs_nf, int envs_nrys_roots) +{ + int nf = envs_nf; + int i, ix, iy, iz, n; + dtype s; + + if (gout_empty) { + switch (envs_nrys_roots) { + case 1: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix] * g[iy] * g[iz]; + } + break; + case 2: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1]; + } + break; + case 3: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2]; + } + break; + case 4: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3]; + } + break; + case 5: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4]; + } + break; + case 6: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4] + + g[ix+5] * g[iy+5] * g[iz+5]; + } + break; + case 7: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4] + + g[ix+5] * g[iy+5] * g[iz+5] + + g[ix+6] * g[iy+6] * g[iz+6]; + } + break; + case 8: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] = g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4] + + g[ix+5] * g[iy+5] * g[iz+5] + + g[ix+6] * g[iy+6] * g[iz+6] + + g[ix+7] * g[iy+7] * g[iz+7]; + } + break; + default: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + s = 0; + for (i = 0; i < envs_nrys_roots; i++) { + s += g[ix+i] * g[iy+i] * g[iz+i]; + } + gout[n] = s; + } + break; + } // end switch nroots + } else { // not flag_acc + switch (envs_nrys_roots) { + case 1: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] += g[ix] * g[iy] * g[iz]; + } + break; + case 2: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1]; + } + break; + case 3: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2]; + } + break; + case 4: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3]; + } + break; + case 5: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4]; + } + break; + case 6: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4] + + g[ix+5] * g[iy+5] * g[iz+5]; + } + break; + case 7: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4] + + g[ix+5] * g[iy+5] * g[iz+5] + + g[ix+6] * g[iy+6] * g[iz+6]; + } + break; + case 8: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + gout[n] +=g[ix ] * g[iy ] * g[iz ] + + g[ix+1] * g[iy+1] * g[iz+1] + + g[ix+2] * g[iy+2] * g[iz+2] + + g[ix+3] * g[iy+3] * g[iz+3] + + g[ix+4] * g[iy+4] * g[iz+4] + + g[ix+5] * g[iy+5] * g[iz+5] + + g[ix+6] * g[iy+6] * g[iz+6] + + g[ix+7] * g[iy+7] * g[iz+7]; + } + break; + default: + for (n = 0; n < nf; n++, idx+=3) { + ix = idx[0]; + iy = idx[1]; + iz = idx[2]; + s = 0; + for (i = 0; i < envs_nrys_roots; i++) { + s += g[ix+i] * g[iy+i] * g[iz+i]; + } + gout[n] += s; + } + break; + } // end switch nroots + } +} + + + +#define gctrg gout +#define gctrm gctr +#define mempty empty +#define m_ctr n_comp + + + + +int CINTset_pairdata(PairData *pairdata, const dtype *ai, const dtype *aj, const dtype *ri, const dtype *rj, + dtype *log_maxci, dtype *log_maxcj, + int li_ceil, int lj_ceil, int iprim, int jprim, + dtype rr_ij, dtype expcutoff, dtype*eri) { + int ip, jp, n; + dtype aij, eij, cceij; + // the comment below was commented from libcint. + // This estimation is based on the assumption that the two gaussian charge + // distributions are separated in space. If two gaussians are too close (the + // distance between gaussian product ij and gaussian product kl < 1), rr + //dtype log_rr_ij = (li_ceil+lj_ceil+1) * approx_log(rr_ij+1) / 2; + dtype log_rr_ij = (li_ceil+lj_ceil+1) * std::log(rr_ij+1) / 2; + PairData *pdata; + + int empty = 1; + n = 0; + for (jp = 0; jp < jprim; jp++) { + for (ip = 0; ip < iprim; ip++) { + //printf("%i %i %i\n", n, jp, ip); + + aij = 1/(ai[ip] + aj[jp]); + eij = rr_ij * ai[ip] * aj[jp] * aij; + cceij = eij - log_rr_ij - log_maxci[ip] - log_maxcj[jp]; + pdata = pairdata + n; + pdata->cceij = cceij; + if (cceij < expcutoff) { + //if (true) { + empty = 0; + pdata->rij[0] = (ai[ip]*ri[0] + aj[jp]*rj[0]) * aij; + pdata->rij[1] = (ai[ip]*ri[1] + aj[jp]*rj[1]) * aij; + pdata->rij[2] = (ai[ip]*ri[2] + aj[jp]*rj[2]) * aij; + pdata->eij = exp(-eij); //TODO + } else { + pdata->rij[0] = 0; + pdata->rij[1] = 0; + pdata->rij[2] = 0; + pdata->eij = 0; + } + + n ++ ; + } + } + return empty; +} + + +template +void check_struct_ortho(bool &out, const bool (&nonzero_pattern)[N], const uint32_t &i, const uint32_t &j, const uint32_t &k, const uint32_t &l) { + out = (k>=l && i>=j && (k*(k+1)/2+l)>=(i*(i+1)/2+j)) && + ~((nonzero_pattern[i] ^ nonzero_pattern[j]) ^ (nonzero_pattern[k] ^ nonzero_pattern[l])); +} + +int CINT2e_loop_nopt( + dtype *gctr, + const dtype *env, + const dtype *rk , const dtype *ri , const dtype *rj , const dtype *rl ,dtype expcutoff , + dtype *rkrl, dtype *rirj, + dtype *envs_ai ,dtype *envs_aj ,dtype *envs_ak ,dtype *envs_al , dtype *envs_fac ,dtype *envs_rij ,dtype *envs_rkl , + const dtype *rx_in_rijrx ,const dtype *rx_in_rklrx , dtype common_factor ,dtype log_rr_kl , + int len_gctr, int *empty, const int *shls, const int *ao_loc, const int *bas, + int n_env, int i_ctr ,int j_ctr,int k_ctr,int l_ctr , + int n_comp, + int li_ceil ,int lj_ceil ,int lk_ceil ,int ll_ceil ,int i_l + ,int j_l ,int k_l ,int l_l ,int nfi ,int nfj ,int nfk ,int nfl ,int nf ,int g_stride_i ,int g_stride_k + ,int g_stride_l ,int g_stride_j ,int nrys_roots ,int ibase ,int kbase ,int g_size ,int g2d_klmax ,int g2d_ijmax , + size_t leng, dtype* eri, dtype * tile_g, int * tile_idx) { + + + dtype rr_kl = rkrl[0]*rkrl[0] + rkrl[1]*rkrl[1] + rkrl[2]*rkrl[2]; + dtype square_rirj = rirj[0]*rirj[0] + rirj[1]*rirj[1] + rirj[2]*rirj[2]; + dtype dist_kl = rr_kl; + + int i_sh = shls[0]; + int j_sh = shls[1]; + int k_sh = shls[2]; + int l_sh = shls[3]; + + int i0 = ao_loc[i_sh]; + int j0 = ao_loc[j_sh]; + int k0 = ao_loc[k_sh]; + int l0 = ao_loc[l_sh]; + + int i_prim = bas[BAS_SLOTS*i_sh + NPRIM_OF]; + int j_prim = bas[BAS_SLOTS*j_sh + NPRIM_OF]; + int k_prim = bas[BAS_SLOTS*k_sh + NPRIM_OF]; + int l_prim = bas[BAS_SLOTS*l_sh + NPRIM_OF]; + + const dtype *ai = env + bas[BAS_SLOTS*i_sh+PTR_EXP]; + const dtype *aj = env + bas[BAS_SLOTS*j_sh+PTR_EXP]; + const dtype *ak = env + bas[BAS_SLOTS*k_sh+PTR_EXP]; + const dtype *al = env + bas[BAS_SLOTS*l_sh+PTR_EXP]; + + const dtype *ci = env + bas[BAS_SLOTS*i_sh+PTR_COEFF]; + const dtype *cj = env + bas[BAS_SLOTS*j_sh+PTR_COEFF]; + const dtype *ck = env + bas[BAS_SLOTS*k_sh+PTR_COEFF]; + const dtype *cl = env + bas[BAS_SLOTS*l_sh+PTR_COEFF]; + + + dtype log_maxci[32], *log_maxcj, *log_maxck, *log_maxcl;// 6-31G=25, 6-31G*=25 + + + // TODO:allocate + PairData pdata_base[64]; // 6-31G=6-31G*=35 + PairData *pdata_ij; + + log_maxcj = log_maxci + i_prim; + log_maxck = log_maxcj + j_prim; + log_maxcl = log_maxck + k_prim; + + CINTOpt_log_max_pgto_coeff(log_maxci, ci, i_prim, i_ctr); + CINTOpt_log_max_pgto_coeff(log_maxcj, cj, j_prim, j_ctr); + + if (CINTset_pairdata(pdata_base, ai, aj, ri, rj, + log_maxci, log_maxcj, li_ceil, lj_ceil, + i_prim, j_prim, square_rirj, expcutoff, eri)) { + return 0; + } + + CINTOpt_log_max_pgto_coeff(log_maxck, ck, k_prim, k_ctr); + CINTOpt_log_max_pgto_coeff(log_maxcl, cl, l_prim, l_ctr); + + dtype fac1i, fac1j, fac1k, fac1l; + int _empty[5] = {1, 1, 1, 1, 1}; + int *iempty = _empty + 0; + int *jempty = _empty + 1; + int *kempty = _empty + 2; + int *lempty = _empty + 3; + int *gempty = _empty + 4; + + dtype akl, ekl, expijkl, ccekl; + dtype *rij; // + // TODO:allocate + //int idx[256]; // 6-31G = 240? + int * idx = tile_idx; + //int idx[3888]; + + // This allocated ~ [3,4] kB but doesn't really spend many cycles. + CINTg2e_index_xyz(idx, i_l, j_l, k_l, l_l, nfi, nfj, nfk, nfl, g_stride_i , g_stride_k , g_stride_l , g_stride_j, g_size); + + int non0ctri[64], *non0ctrj, *non0ctrk, *non0ctrl; + int *non0idxi, *non0idxj, *non0idxk, *non0idxl; + non0ctrj = non0ctri + i_prim; + non0ctrk = non0ctrj + j_prim; + non0ctrl = non0ctrk + k_prim; + non0idxi = non0ctrl + l_prim; + non0idxj = non0idxi + i_prim*i_ctr; + non0idxk = non0idxj + j_prim*j_ctr; + non0idxl = non0idxk + k_prim*k_ctr; + + CINTOpt_non0coeff_byshell(non0idxi, non0ctri, ci, i_prim, i_ctr); + CINTOpt_non0coeff_byshell(non0idxj, non0ctrj, cj, j_prim, j_ctr); + CINTOpt_non0coeff_byshell(non0idxk, non0ctrk, ck, k_prim, k_ctr); + CINTOpt_non0coeff_byshell(non0idxl, non0ctrl, cl, l_prim, l_ctr); + + int nc = i_ctr * j_ctr * k_ctr * l_ctr; + size_t lenl = nf * nc * n_comp; // gctrl + size_t lenk = nf * i_ctr * j_ctr * k_ctr * n_comp; // gctrk + size_t lenj = nf * i_ctr * j_ctr * n_comp; // gctrj + size_t leni = nf * i_ctr * n_comp; // gctri + size_t len0 = nf * n_comp; // gout + size_t len = leng + lenl + lenk + lenj + leni + len0; + + //dtype g[16384]; // this becomes 1053 at some point? + //dtype g[1053]; // this becomes 1053 at some point? + dtype *g = tile_g; + //dtype g[3500]; // for C20 it looks like it doesn't use all 13230 possible entries. + dtype *g1 = g + leng; + dtype *gout, *gctri, *gctrj, *gctrk, *gctrl; + + //ALIAS_ADDR_IF_EQUAL(l, m); + if (m_ctr == 1) { gctrl = gctrm; lempty = mempty; } + else { gctrl = g1; g1 += lenl; } + //ALIAS_ADDR_IF_EQUAL(k, l); + if (l_ctr == 1) { gctrk = gctrl; kempty = lempty; } + else { gctrk = g1; g1 += lenk; } + //ALIAS_ADDR_IF_EQUAL(j, k); + if (k_ctr == 1) { gctrj = gctrk; jempty = kempty; } + else { gctrj = g1; g1 += lenj; } + //ALIAS_ADDR_IF_EQUAL(i, j); + if (j_ctr == 1) { gctri = gctrj; iempty = jempty; } + else { gctri = g1; g1 += leni; } + //ALIAS_ADDR_IF_EQUAL(g, i); + if (i_ctr == 1) { gctrg = gctri; gempty = iempty; } + else { gctrg = g1; g1 += leng; } + + + dtype rijrkl[3]; + dtype rijrx[3]; + dtype rklrx[3]; + + + int ip, jp, kp, lp; + //short ip, jp, kp, lp; + for (lp = 0; lp < l_prim; lp++) { + + if (l_ctr == 1) { + fac1l = common_factor * cl[lp]; + } else { + fac1l = common_factor; + *kempty = 1; + } + for (kp = 0; kp < k_prim; kp++) { + akl = ak[kp] + al[lp]; + ekl = dist_kl * ak[kp] * al[lp] / akl; + //ccekl = ekl - log_rr_kl - log_maxck[kp] - log_maxcl[lp]; + // ccekl is almost the overlap of |k> |l>. For typical + // chemistry systems, use overlap to prescreen eri + // almost 100% works. + // The largest error may appear for two Gaussians with + // dist_kl ~4^2 and ak=al ~2.5. If in the middle of |k> + // and |l> it happens to exist steep functions |i>, |j>. + // The error ~ 2*\sqrt{2*ak/pi} ~ 3. So in the worst case, + // an integral ~= 3*cutoff may be incorrectly dropped. + // Increasing expcutoff by ln(3) can guarantee to get + // the required accuracy in any circumstance. + + envs_ak[0] = ak[kp]; + envs_rkl[0] = (ak[kp]*rk[0] + al[lp]*rl[0]) / akl; + envs_rkl[1] = (ak[kp]*rk[1] + al[lp]*rl[1]) / akl; + envs_rkl[2] = (ak[kp]*rk[2] + al[lp]*rl[2]) / akl; + + ekl = exp(-ekl); + + if (k_ctr == 1) { fac1k = fac1l * ck[kp]; } + else { fac1k = fac1l; *jempty = 1; } + + pdata_ij = pdata_base; + for (jp = 0; jp < j_prim; jp++) { + + envs_aj[0] = aj[jp]; // todo + + if (j_ctr == 1) { fac1j = fac1k * cj[jp]; } + else { fac1j = fac1k; *iempty = 1; } + + for (ip = 0; ip < i_prim; ip++, pdata_ij++) { + // printf("\t%d %d %d %d\n", lp, kp, jp, ip); + + // bool compute = false; + // const bool nonzero_pattern[20] = {true, true, false, true, true, true, true, false, true, true, true, true, false, true, true, true, true, false, true, true}; + // bool nonzero_pattern[45] = {true, true, false, true, true, true, true, false, true, + // true, true, true, false, true, true, true, true, false, + // true, true, true, true, false, true, true, true, true, + // false, true, true, true, true, false, true, true, true, + // true, false, true, true, true, true, false, true, true}; + // check_struct_ortho<20>(compute, nonzero_pattern, j0+jp, k0+kp, i0+ip, l0+lp); # INCORRECT INDEXING - TODO + // if (!compute) continue; + + envs_ai[0] = ai[ip]; + rij = pdata_ij->rij; + envs_rij[0] = rij[0]; + envs_rij[1] = rij[1]; + envs_rij[2] = rij[2]; + expijkl = pdata_ij->eij * ekl; + + if (i_ctr == 1) { fac1i = fac1j*ci[ip]*expijkl; } + else { fac1i = fac1j*expijkl; } + + envs_fac[0] = fac1i; + + rijrkl[0] = envs_rij[0] - envs_rkl[0]; + rijrkl[1] = envs_rij[1] - envs_rkl[1]; + rijrkl[2] = envs_rij[2] - envs_rkl[2] ; + rijrx[0] = envs_rij[0] - rx_in_rijrx[0]; + rijrx[1] = envs_rij[1] - rx_in_rijrx[1]; + rijrx[2] = envs_rij[2] - rx_in_rijrx[2]; + rklrx[0] = envs_rkl[0] - rx_in_rklrx[0]; + rklrx[1] = envs_rkl[1] - rx_in_rklrx[1]; + rklrx[2] = envs_rkl[2] - rx_in_rklrx[2]; + + // 3.08M to 700k ; so this is 2.2M + int ret = CINTg0_2e(g, len, + kbase, ibase, + g_stride_i, g_stride_k, g_stride_l, g_stride_j, + g2d_klmax, g2d_ijmax, + nrys_roots, + envs_ai[0] + envs_aj[0], envs_ak[0] + al[lp], + g_size, + envs_fac[0], + li_ceil + lj_ceil, lk_ceil + ll_ceil, li_ceil, lj_ceil, lk_ceil, ll_ceil, + rkrl, rirj, rijrkl, rijrx, rklrx); + + + // this takes ~ 700k? + if (ret) { + CINTgout2e(gout, g, idx, *gempty, nf, nrys_roots);// this may be the one where default case is a bit slower + + //#define PRIM2CTR(ctrsymb, gp, ngp) + if (i_ctr > 1) { + if (*iempty) { CINTprim_to_ctr_0(gctri, gout, ci+ip, len0, i_prim, i_ctr, non0ctri[ip], non0idxi+ip*i_ctr); } + else { CINTprim_to_ctr_1(gctri, gout, ci+ip, len0, i_prim, i_ctr, non0ctri[ip], non0idxi+ip*i_ctr); } + } + *iempty = 0; + } + + } // end loop i_prim + if (!*iempty) { + //PRIM2CTR(j, gctri, leni); + if (j_ctr > 1) { + if (*jempty) { CINTprim_to_ctr_0(gctrj, gctri, cj+jp, leni, j_prim, j_ctr, non0ctrj[jp], non0idxj+jp*j_ctr); } + else { CINTprim_to_ctr_1(gctrj, gctri, cj+jp, leni, j_prim, j_ctr, non0ctrj[jp], non0idxj+jp*j_ctr); } + } + + } + } // end loop j_prim + if (!*jempty) { + //PRIM2CTR(k, gctrj, lenj); + if (k_ctr > 1) { + if (*kempty) { CINTprim_to_ctr_0(gctrk, gctrj, ck+kp, lenj, k_prim, k_ctr, non0ctrk[kp], non0idxk+kp*k_ctr); } + else { CINTprim_to_ctr_1(gctrk, gctrj, ck+kp, lenj, k_prim, k_ctr, non0ctrk[kp], non0idxk+kp*k_ctr); } + } + } + + } // end loop k_prim + if (!*kempty) { + //PRIM2CTR(l, gctrk, lenk); + if (l_ctr > 1) { + if (*lempty) { CINTprim_to_ctr_0(gctrl, gctrk, cl+lp, lenk, l_prim, l_ctr, non0ctrl[lp], non0idxl+lp*l_ctr); } + else { CINTprim_to_ctr_1(gctrl, gctrk, cl+lp, lenk, l_prim, l_ctr, non0ctrl[lp], non0idxl+lp*l_ctr); } + } + } + + } // end loop l_prim + + + + if (n_comp > 1 && !*lempty) { + //TRANSPOSE(gctrl); + if (*empty) { CINTdmat_transpose(gctr, gctrl, nf*nc, n_comp); *empty = 0; } + else { CINTdplus_transpose(gctr, gctrl, nf*nc, n_comp); } + + } + + return !*empty; + + + } +static dtype g_trans_cart2sph[] = { + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1.092548430592079070, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1.092548430592079070, + 0, + -0.315391565252520002, + 0, + 0, + -0.315391565252520002, + 0, + 0.630783130505040012, + 0, + 0, + 1.092548430592079070, + 0, + 0, + 0, + 0.546274215296039535, + 0, + 0, + -0.546274215296039535, + 0, + 0, + 0, + 1.770130769779930531, + 0, + 0, + 0, + 0, + -0.590043589926643510, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2.890611442640554055, + 0, + 0, + 0, + 0, + 0, + 0, + -0.457045799464465739, + 0, + 0, + 0, + 0, + -0.457045799464465739, + 0, + 1.828183197857862944, + 0, + 0, + 0, + -1.119528997770346170, + 0, + 0, + 0, + 0, + -1.119528997770346170, + 0, + 0.746352665180230782, + -0.457045799464465739, + 0, + 0, + -0.457045799464465739, + 0, + 1.828183197857862944, + 0, + 0, + 0, + 0, + 0, + 0, + 1.445305721320277020, + 0, + 0, + 0, + 0, + -1.445305721320277020, + 0, + 0, + 0.590043589926643510, + 0, + 0, + -1.770130769779930530, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2.503342941796704538, + 0, + 0, + 0, + 0, + -2.503342941796704530, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5.310392309339791593, + 0, + 0, + 0, + 0, + 0, + 0, + -1.770130769779930530, + 0, + 0, + 0, + 0, + -0.946174695757560014, + 0, + 0, + 0, + 0, + -0.946174695757560014, + 0, + 5.677048174545360108, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -2.007139630671867500, + 0, + 0, + 0, + 0, + 0, + 0, + -2.007139630671867500, + 0, + 2.676186174229156671, + 0, + 0.317356640745612911, + 0, + 0, + 0.634713281491225822, + 0, + -2.538853125964903290, + 0, + 0, + 0, + 0, + 0.317356640745612911, + 0, + -2.538853125964903290, + 0, + 0.846284375321634430, + 0, + 0, + -2.007139630671867500, + 0, + 0, + 0, + 0, + -2.007139630671867500, + 0, + 2.676186174229156671, + 0, + 0, + 0, + 0, + 0, + -0.473087347878780002, + 0, + 0, + 0, + 0, + 2.838524087272680054, + 0, + 0, + 0, + 0, + 0.473087347878780009, + 0, + -2.838524087272680050, + 0, + 0, + 0, + 0, + 1.770130769779930531, + 0, + 0, + 0, + 0, + -5.310392309339791590, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.625835735449176134, + 0, + 0, + -3.755014412695056800, + 0, + 0, + 0, + 0, + 0, + 0, + 0.625835735449176134, + 0, + 0, + 0, + 0, + 0, + 3.281910284200850514, + 0, + 0, + 0, + 0, + -6.563820568401701020, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.656382056840170102, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8.302649259524165115, + 0, + 0, + 0, + 0, + 0, + 0, + -8.302649259524165110, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1.467714898305751160, + 0, + 0, + 0, + 0, + -0.978476598870500779, + 0, + 11.741719186446009300, + 0, + 0, + 0, + 0, + 0, + 0, + 0.489238299435250387, + 0, + -3.913906395482003100, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -4.793536784973323750, + 0, + 0, + 0, + 0, + 0, + 0, + -4.793536784973323750, + 0, + 9.587073569946647510, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.452946651195696921, + 0, + 0, + 0, + 0, + 0.905893302391393842, + 0, + -5.435359814348363050, + 0, + 0, + 0, + 0, + 0, + 0, + 0.452946651195696921, + 0, + -5.435359814348363050, + 0, + 3.623573209565575370, + 0, + 0, + 0, + 1.754254836801353946, + 0, + 0, + 0, + 0, + 3.508509673602707893, + 0, + -4.678012898136943850, + 0, + 0, + 0, + 0, + 0, + 0, + 1.754254836801353946, + 0, + -4.678012898136943850, + 0, + 0.935602579627388771, + 0.452946651195696921, + 0, + 0, + 0.905893302391393842, + 0, + -5.435359814348363050, + 0, + 0, + 0, + 0, + 0.452946651195696921, + 0, + -5.435359814348363050, + 0, + 3.623573209565575370, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -2.396768392486661870, + 0, + 0, + 0, + 0, + 0, + 0, + 4.793536784973323755, + 0, + 0, + 0, + 0, + 0, + 0, + 2.396768392486661877, + 0, + -4.793536784973323750, + 0, + 0, + -0.489238299435250389, + 0, + 0, + 0.978476598870500775, + 0, + 3.913906395482003101, + 0, + 0, + 0, + 0, + 1.467714898305751163, + 0, + -11.741719186446009300, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2.075662314881041278, + 0, + 0, + 0, + 0, + -12.453973889286247600, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2.075662314881041278, + 0, + 0, + 0, + 0, + 0.656382056840170102, + 0, + 0, + -6.563820568401701020, + 0, + 0, + 0, + 0, + 0, + 0, + 3.281910284200850514, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + /* + 0, 4.0991046311514863, 0, 0, 0, 0, -13.6636821038382887, 0, 0, 0, 0, 0, 0, 0, 0, 4.0991046311514863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11.8330958111587634, 0, 0, 0, 0, 0, 0, -23.6661916223175268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.3666191622317525, 0, 0, 0, 0, 0, + 0, -2.0182596029148963, 0, 0, 0, 0, 0, 0, 20.1825960291489679, 0, 0, 0, 0, 0, 0, 2.0182596029148963, 0, -20.1825960291489679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8.2908473356343109, 0, 0, 0, 0, 0, 0, -5.5272315570895412, 0, 22.1089262283581647, 0, 0, 0, 0, 0, 0, 0, 0, 2.7636157785447706, 0, -7.3696420761193888, 0, 0, 0, + 0, 0.9212052595149236, 0, 0, 0, 0, 1.8424105190298472, 0, -14.7392841522387776, 0, 0, 0, 0, 0, 0, 0.9212052595149236, 0, -14.7392841522387776, 0, 14.7392841522387776, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.9131068125936568, 0, 0, 0, 0, 0, 0, 5.8262136251873136, 0, -11.6524272503746271, 0, 0, 0, 0, 0, 0, 0, 0, 2.9131068125936568, 0, -11.6524272503746271, 0, 4.6609709001498505, 0, + -0.3178460113381421, 0, 0, -0.9535380340144264, 0, 5.7212282040865583, 0, 0, 0, 0, -0.9535380340144264, 0, 11.4424564081731166, 0, -7.6283042721154111, 0, 0, 0, 0, 0, 0, -0.3178460113381421, 0, 5.7212282040865583, 0, -7.6283042721154111, 0, 1.0171072362820548, + 0, 0, 2.9131068125936568, 0, 0, 0, 0, 5.8262136251873136, 0, -11.6524272503746271, 0, 0, 0, 0, 0, 0, 2.9131068125936568, 0, -11.6524272503746271, 0, 4.6609709001498505, 0, 0, 0, 0, 0, 0, 0, + 0.4606026297574618, 0, 0, 0.4606026297574618, 0, -7.3696420761193888, 0, 0, 0, 0, -0.4606026297574618, 0, 0, 0, 7.3696420761193888, 0, 0, 0, 0, 0, 0, -0.4606026297574618, 0, 7.3696420761193888, 0, -7.3696420761193888, 0, 0, + 0, 0, -2.7636157785447706, 0, 0, 0, 0, 5.5272315570895412, 0, 7.3696420761193888, 0, 0, 0, 0, 0, 0, 8.2908473356343109, 0, -22.1089262283581647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5045649007287241, 0, 0, 2.5228245036436201, 0, 5.0456490072872420, 0, 0, 0, 0, 2.5228245036436201, 0, -30.2738940437234518, 0, 0, 0, 0, 0, 0, 0, 0, -0.5045649007287241, 0, 5.0456490072872420, 0, 0, 0, 0, + 0, 0, 2.3666191622317525, 0, 0, 0, 0, -23.6661916223175268, 0, 0, 0, 0, 0, 0, 0, 0, 11.8330958111587634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.6831841051919144, 0, 0, -10.2477615778787161, 0, 0, 0, 0, 0, 0, 10.2477615778787161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6831841051919144, 0, 0, 0, 0, 0, 0, + 0, 4.9501391276721742, 0, 0, 0, 0, -24.7506956383608703, 0, 0, 0, 0, 0, 0, 0, 0, 14.8504173830165218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.7071627325245963, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15.8757639708114002, 0, 0, 0, 0, 0, 0, -52.9192132360380043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.8757639708114002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.5945778936013020, 0, 0, 0, 0, 2.5945778936013020, 0, 31.1349347232156219, 0, 0, 0, 0, 0, 0, 4.6702402084823440, 0, -62.2698694464312439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5189155787202604, 0, 6.2269869446431247, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -12.4539738892862495, 0, 0, 0, 0, 0, 0, 0, 0, 41.5132462976208316, 0, 0, 0, 0, 0, 0, 0, 0, 12.4539738892862495, 0, -41.5132462976208316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.4081304047606462, 0, 0, 0, 0, 2.3468840079344107, 0, -28.1626080952129243, 0, 0, 0, 0, 0, 0, 0.4693768015868821, 0, -18.7750720634752817, 0, 37.5501441269505705, 0, 0, 0, 0, 0, 0, 0, 0, -0.4693768015868821, 0, 9.3875360317376408, 0, -12.5167147089835229, 0, 0, 0, + 0, 0, 0, 0, 6.6379903866747414, 0, 0, 0, 0, 0, 0, 13.2759807733494828, 0, -35.4026153955986160, 0, 0, 0, 0, 0, 0, 0, 0, 6.6379903866747414, 0, -35.4026153955986160, 0, 21.2415692373591725, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.4516580379125866, 0, 0, 0, 0, -1.3549741137377600, 0, 10.8397929099020782, 0, 0, 0, 0, 0, 0, -1.3549741137377600, 0, 21.6795858198041564, 0, -21.6795858198041564, 0, 0, 0, 0, 0, 0, 0, 0, -0.4516580379125866, 0, 10.8397929099020782, 0, -21.6795858198041564, 0, 5.7812228852811094, 0, + 0, 0, -2.3899496919201728, 0, 0, 0, 0, -7.1698490757605189, 0, 14.3396981515210360, 0, 0, 0, 0, 0, 0, -7.1698490757605189, 0, 28.6793963030420720, 0, -11.4717585212168292, 0, 0, 0, 0, 0, 0, 0, 0, -2.3899496919201728, 0, 14.3396981515210360, 0, -11.4717585212168292, 0, 1.0925484305920790, + -0.4516580379125866, 0, 0, -1.3549741137377600, 0, 10.8397929099020782, 0, 0, 0, 0, -1.3549741137377600, 0, 21.6795858198041564, 0, -21.6795858198041564, 0, 0, 0, 0, 0, 0, -0.4516580379125866, 0, 10.8397929099020782, 0, -21.6795858198041564, 0, 5.7812228852811094, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.3189951933373707, 0, 0, 0, 0, 3.3189951933373707, 0, -17.7013076977993080, 0, 0, 0, 0, 0, 0, -3.3189951933373707, 0, 0, 0, 10.6207846186795862, 0, 0, 0, 0, 0, 0, 0, 0, -3.3189951933373707, 0, 17.7013076977993080, 0, -10.6207846186795862, 0, 0, + 0.4693768015868821, 0, 0, -0.4693768015868821, 0, -9.3875360317376408, 0, 0, 0, 0, -2.3468840079344107, 0, 18.7750720634752817, 0, 12.5167147089835229, 0, 0, 0, 0, 0, 0, -1.4081304047606462, 0, 28.1626080952129243, 0, -37.5501441269505705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3.1134934723215624, 0, 0, 0, 0, 15.5674673616078110, 0, 10.3783115744052079, 0, 0, 0, 0, 0, 0, 15.5674673616078110, 0, -62.2698694464312439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.1134934723215624, 0, 10.3783115744052079, 0, 0, 0, 0, + -0.5189155787202604, 0, 0, 4.6702402084823440, 0, 6.2269869446431247, 0, 0, 0, 0, 2.5945778936013020, 0, -62.2698694464312439, 0, 0, 0, 0, 0, 0, 0, 0, -2.5945778936013020, 0, 31.1349347232156219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.6459606618019000, 0, 0, 0, 0, -39.6894099270284997, 0, 0, 0, 0, 0, 0, 0, 0, 39.6894099270284997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.6459606618019000, 0, 0, 0, 0, 0, 0, + 0.7071627325245963, 0, 0, -14.8504173830165218, 0, 0, 0, 0, 0, 0, 24.7506956383608703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.9501391276721742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5.83141328139864, 0, 0, 0, 0, -40.81989296979048, 0, 0, 0, 0, 0, 0, 0, 0, 40.81989296979048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.83141328139864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20.40994648489524, 0, 0, 0, 0, 0, 0, -102.0497324244762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61.22983945468572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.91570664069932, 0, 0, 0, 0, 0, 0, 0, + 0, -3.193996596357255, 0, 0, 0, 0, 7.452658724833595, 0, 44.71595234900157, 0, 0, 0, 0, 0, 0, 7.452658724833595, 0, -149.0531744966719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.193996596357255, 0, 44.71595234900157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -17.24955311049054, 0, 0, 0, 0, 0, 0, 17.24955311049054, 0, 68.99821244196217, 0, 0, 0, 0, 0, 0, 0, 0, 31.04919559888297, 0, -137.9964248839243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.449910622098108, 0, 13.79964248839243, 0, 0, 0, 0, 0, + 0, 1.913666099037323, 0, 0, 0, 0, 1.913666099037323, 0, -45.92798637689575, 0, 0, 0, 0, 0, 0, -1.913666099037323, 0, 0, 0, 76.54664396149292, 0, 0, 0, 0, 0, 0, 0, 0, -1.913666099037323, 0, 45.92798637689575, 0, -76.54664396149292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11.1173953976599, 0, 0, 0, 0, 0, 0, 18.52899232943316, 0, -74.11596931773265, 0, 0, 0, 0, 0, 0, 0, 0, 3.705798465886632, 0, -49.41064621182176, 0, 59.29277545418611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.705798465886632, 0, 24.70532310591088, 0, -19.7642584847287, 0, 0, 0, + 0, -0.9123045168698189, 0, 0, 0, 0, -2.736913550609457, 0, 27.36913550609457, 0, 0, 0, 0, 0, 0, -2.736913550609457, 0, 54.73827101218914, 0, -72.98436134958553, 0, 0, 0, 0, 0, 0, 0, 0, -0.9123045168698189, 0, 27.36913550609457, 0, -72.98436134958553, 0, 29.19374453983421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -3.8164436064573, 0, 0, 0, 0, 0, 0, -11.4493308193719, 0, 30.5315488516584, 0, 0, 0, 0, 0, 0, 0, 0, -11.4493308193719, 0, 61.06309770331679, 0, -36.63785862199007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.8164436064573, 0, 30.5315488516584, 0, -36.63785862199007, 0, 6.978639737521918, 0, + 0.3180369672047749, 0, 0, 1.272147868819099, 0, -10.1771829505528, 0, 0, 0, 0, 1.908221803228649, 0, -30.53154885165839, 0, 30.53154885165839, 0, 0, 0, 0, 0, 0, 1.272147868819099, 0, -30.53154885165839, 0, 61.06309770331677, 0, -16.28349272088447, 0, 0, 0, 0, 0, 0, 0, 0, 0.3180369672047749, 0, -10.1771829505528, 0, 30.53154885165839, 0, -16.28349272088447, 0, 1.16310662292032, + 0, 0, -3.8164436064573, 0, 0, 0, 0, -11.4493308193719, 0, 30.5315488516584, 0, 0, 0, 0, 0, 0, -11.4493308193719, 0, 61.06309770331679, 0, -36.63785862199007, 0, 0, 0, 0, 0, 0, 0, 0, -3.8164436064573, 0, 30.5315488516584, 0, -36.63785862199007, 0, 6.978639737521918, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.4561522584349095, 0, 0, -0.9123045168698189, 0, 13.68456775304729, 0, 0, 0, 0, 0, 0, 13.68456775304729, 0, -36.49218067479276, 0, 0, 0, 0, 0, 0, 0.9123045168698189, 0, -13.68456775304729, 0, 0, 0, 14.5968722699171, 0, 0, 0, 0, 0, 0, 0, 0, 0.4561522584349095, 0, -13.68456775304729, 0, 36.49218067479276, 0, -14.5968722699171, 0, 0, + 0, 0, 3.705798465886632, 0, 0, 0, 0, -3.705798465886632, 0, -24.70532310591088, 0, 0, 0, 0, 0, 0, -18.52899232943316, 0, 49.41064621182176, 0, 19.7642584847287, 0, 0, 0, 0, 0, 0, 0, 0, -11.1173953976599, 0, 74.11596931773265, 0, -59.29277545418611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4784165247593308, 0, 0, -1.913666099037323, 0, -11.48199659422394, 0, 0, 0, 0, -4.784165247593307, 0, 57.40998297111968, 0, 19.13666099037323, 0, 0, 0, 0, 0, 0, -1.913666099037323, 0, 57.40998297111968, 0, -114.8199659422394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4784165247593308, 0, -11.48199659422394, 0, 19.13666099037323, 0, 0, 0, 0, + 0, 0, -3.449910622098108, 0, 0, 0, 0, 31.04919559888297, 0, 13.79964248839243, 0, 0, 0, 0, 0, 0, 17.24955311049054, 0, -137.9964248839243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.24955311049054, 0, 68.99821244196217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5323327660595425, 0, 0, 7.452658724833595, 0, 7.452658724833595, 0, 0, 0, 0, 0, 0, -111.7898808725039, 0, 0, 0, 0, 0, 0, 0, 0, -7.452658724833595, 0, 111.7898808725039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5323327660595425, 0, -7.452658724833595, 0, 0, 0, 0, 0, 0, + 0, 0, 2.91570664069932, 0, 0, 0, 0, -61.22983945468572, 0, 0, 0, 0, 0, 0, 0, 0, 102.0497324244762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.40994648489524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.72892666017483, 0, 0, -20.40994648489524, 0, 0, 0, 0, 0, 0, 51.0248662122381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.40994648489524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.72892666017483, 0, 0, 0, 0, 0, 0, 0, 0,*/ + // l = 9 ;; don't ever have angular momentum > 5 ;; decreased from 80KB to 8kb on every tile. + /*0, 6.740108566678694, 0, 0, 0, 0, -62.9076799556678, 0, 0, 0, 0, 0, 0, 0, 0, 94.36151993350171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26.96043426671477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.7489009518531882, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25.41854119163758, 0, 0, 0, 0, 0, 0, -177.9297883414631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177.9297883414631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25.41854119163758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3.814338369408373, 0, 0, 0, 0, 15.25735347763349, 0, 61.02941391053396, 0, 0, 0, 0, 0, 0, 7.628676738816745, 0, -305.1470695526698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.89810962688107, 0, 183.0882417316019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5449054813440533, 0, -8.718487701504852, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -22.65129549625621, 0, 0, 0, 0, 0, 0, 52.85302282459782, 0, 105.7060456491956, 0, 0, 0, 0, 0, 0, 0, 0, 52.85302282459782, 0, -352.3534854973187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.65129549625621, 0, 105.7060456491956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2.436891395195093, 0, 0, 0, 0, 0, 0, -68.23295906546261, 0, 0, 0, 0, 0, 0, -6.82329590654626, 0, 68.23295906546261, 0, 136.4659181309252, 0, 0, 0, 0, 0, 0, 0, 0, -3.899026232312149, 0, 122.8193263178327, 0, -272.9318362618504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4873782790390186, 0, -13.64659181309252, 0, 27.29318362618504, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16.31079695491669, 0, 0, 0, 0, 0, 0, 16.31079695491669, 0, -130.4863756393335, 0, 0, 0, 0, 0, 0, 0, 0, -16.31079695491669, 0, 0, 0, 130.4863756393335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16.31079695491669, 0, 130.4863756393335, 0, -130.4863756393335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.385125560048583, 0, 0, 0, 0, -3.693668160129556, 0, 49.864520161749, 0, 0, 0, 0, 0, 0, -2.770251120097167, 0, 83.107533602915, 0, -166.21506720583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.621506720583, 0, -110.8100448038867, 0, 88.64803584310934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4617085200161945, 0, -16.621506720583, 0, 55.40502240194333, 0, -29.54934528103645, 0, 0, 0, + 0, 0, 0, 0, -8.46325696792098, 0, 0, 0, 0, 0, 0, -25.38977090376294, 0, 84.63256967920979, 0, 0, 0, 0, 0, 0, 0, 0, -25.38977090376294, 0, 169.2651393584196, 0, -135.4121114867357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.46325696792098, 0, 84.63256967920979, 0, -135.4121114867357, 0, 38.68917471049591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.451093112065591, 0, 0, 0, 0, 1.804372448262364, 0, -18.04372448262364, 0, 0, 0, 0, 0, 0, 2.706558672393546, 0, -54.13117344787092, 0, 72.17489793049457, 0, 0, 0, 0, 0, 0, 0, 0, 1.804372448262364, 0, -54.13117344787092, 0, 144.3497958609891, 0, -57.73991834439565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.451093112065591, 0, -18.04372448262364, 0, 72.17489793049457, 0, -57.73991834439565, 0, 8.248559763485094, 0, + 0, 0, 3.026024588281776, 0, 0, 0, 0, 12.1040983531271, 0, -32.27759560833895, 0, 0, 0, 0, 0, 0, 18.15614752969066, 0, -96.83278682501685, 0, 58.0996720950101, 0, 0, 0, 0, 0, 0, 0, 0, 12.1040983531271, 0, -96.83278682501685, 0, 116.1993441900202, 0, -22.1332084171467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.026024588281776, 0, -32.27759560833895, 0, 58.0996720950101, 0, -22.1332084171467, 0, 1.229622689841484, + 0.451093112065591, 0, 0, 1.804372448262364, 0, -18.04372448262364, 0, 0, 0, 0, 2.706558672393546, 0, -54.13117344787092, 0, 72.17489793049457, 0, 0, 0, 0, 0, 0, 1.804372448262364, 0, -54.13117344787092, 0, 144.3497958609891, 0, -57.73991834439565, 0, 0, 0, 0, 0, 0, 0, 0, 0.451093112065591, 0, -18.04372448262364, 0, 72.17489793049457, 0, -57.73991834439565, 0, 8.248559763485094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -4.23162848396049, 0, 0, 0, 0, -8.46325696792098, 0, 42.3162848396049, 0, 0, 0, 0, 0, 0, 0, 0, 42.3162848396049, 0, -67.70605574336784, 0, 0, 0, 0, 0, 0, 0, 0, 8.46325696792098, 0, -42.3162848396049, 0, 0, 0, 19.34458735524795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.23162848396049, 0, -42.3162848396049, 0, 67.70605574336784, 0, -19.34458735524795, 0, 0, + -0.4617085200161945, 0, 0, 0, 0, 16.621506720583, 0, 0, 0, 0, 2.770251120097167, 0, -16.621506720583, 0, -55.40502240194333, 0, 0, 0, 0, 0, 0, 3.693668160129556, 0, -83.107533602915, 0, 110.8100448038867, 0, 29.54934528103645, 0, 0, 0, 0, 0, 0, 0, 0, 1.385125560048583, 0, -49.864520161749, 0, 166.21506720583, 0, -88.64803584310934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4.077699238729173, 0, 0, 0, 0, -16.31079695491669, 0, -32.62159390983339, 0, 0, 0, 0, 0, 0, -40.77699238729173, 0, 163.1079695491669, 0, 32.62159390983339, 0, 0, 0, 0, 0, 0, 0, 0, -16.31079695491669, 0, 163.1079695491669, 0, -195.7295634590003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.077699238729173, 0, -32.62159390983339, 0, 32.62159390983339, 0, 0, 0, 0, + 0.4873782790390186, 0, 0, -3.899026232312149, 0, -13.64659181309252, 0, 0, 0, 0, -6.82329590654626, 0, 122.8193263178327, 0, 27.29318362618504, 0, 0, 0, 0, 0, 0, 0, 0, 68.23295906546261, 0, -272.9318362618504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.436891395195093, 0, -68.23295906546261, 0, 136.4659181309252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3.775215916042701, 0, 0, 0, 0, 52.85302282459782, 0, 17.61767427486594, 0, 0, 0, 0, 0, 0, 0, 0, -264.2651141229891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52.85302282459782, 0, 264.2651141229891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.775215916042701, 0, -17.61767427486594, 0, 0, 0, 0, 0, 0, + -0.5449054813440533, 0, 0, 10.89810962688107, 0, 8.718487701504852, 0, 0, 0, 0, -7.628676738816745, 0, -183.0882417316019, 0, 0, 0, 0, 0, 0, 0, 0, -15.25735347763349, 0, 305.1470695526698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.814338369408373, 0, -61.02941391053396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.177317648954698, 0, 0, 0, 0, -88.96489417073154, 0, 0, 0, 0, 0, 0, 0, 0, 222.4122354268289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88.96489417073154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.177317648954698, 0, 0, 0, 0, 0, 0, 0, 0, + 0.7489009518531882, 0, 0, -26.96043426671477, 0, 0, 0, 0, 0, 0, 94.36151993350171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62.9076799556678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.740108566678694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // l = 10 + 0, 7.673951182219901, 0, 0, 0, 0, -92.08741418663881, 0, 0, 0, 0, 0, 0, 0, 0, 193.3835697919415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92.08741418663881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.673951182219901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 30.88705769902543, 0, 0, 0, 0, 0, 0, -288.2792051909041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432.4188077863561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123.5482307961017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.431895299891715, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -4.453815461763347, 0, 0, 0, 0, 26.72289277058008, 0, 80.16867831174027, 0, 0, 0, 0, 0, 0, 0, 0, -561.1807481821819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26.72289277058008, 0, 561.1807481821819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.453815461763347, 0, -80.16867831174027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -28.63763513582592, 0, 0, 0, 0, 0, 0, 114.5505405433037, 0, 152.7340540577382, 0, 0, 0, 0, 0, 0, 0, 0, 57.27527027165184, 0, -763.6702702886912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81.82181467378834, 0, 458.2021621732147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.091090733689417, 0, -21.81915057967689, 0, 0, 0, 0, 0, 0, 0, + 0, 2.976705744527138, 0, 0, 0, 0, -3.968940992702851, 0, -95.25458382486842, 0, 0, 0, 0, 0, 0, -13.89129347445998, 0, 222.2606955913596, 0, 222.2606955913597, 0, 0, 0, 0, 0, 0, 0, 0, -3.968940992702851, 0, 222.2606955913596, 0, -740.8689853045323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.976705744527138, 0, -95.25458382486842, 0, 222.2606955913597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 22.18705464592268, 0, 0, 0, 0, 0, 0, 0, 0, -207.0791766952783, 0, 0, 0, 0, 0, 0, 0, 0, -62.12375300858349, 0, 207.0791766952783, 0, 248.495012034334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35.49928743347628, 0, 372.742518051501, 0, -496.990024068668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.437410929184535, 0, -41.41583533905566, 0, 49.6990024068668, 0, 0, 0, 0, 0, + 0, -1.870976726712969, 0, 0, 0, 0, -3.741953453425937, 0, 78.58102252194469, 0, 0, 0, 0, 0, 0, 0, 0, 78.58102252194469, 0, -314.3240900877788, 0, 0, 0, 0, 0, 0, 0, 0, 3.741953453425937, 0, -78.58102252194469, 0, 0, 0, 209.5493933918525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.870976726712969, 0, -78.58102252194469, 0, 314.3240900877788, 0, -209.5493933918525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -13.89129347445998, 0, 0, 0, 0, 0, 0, -37.04344926522661, 0, 166.6955216935197, 0, 0, 0, 0, 0, 0, 0, 0, -27.78258694891996, 0, 277.8258694891996, 0, -333.3910433870395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55.56517389783991, 0, -222.2606955913596, 0, 127.0061117664912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.630431158153326, 0, -55.56517389783991, 0, 111.1303477956798, 0, -42.33537058883041, 0, 0, 0, + 0, 0.9081022627604556, 0, 0, 0, 0, 3.632409051041822, 0, -43.58890861250187, 0, 0, 0, 0, 0, 0, 5.448613576562733, 0, -130.7667258375056, 0, 217.9445430625093, 0, 0, 0, 0, 0, 0, 0, 0, 3.632409051041822, 0, -130.7667258375056, 0, 435.8890861250187, 0, -232.4741792666766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9081022627604556, 0, -43.58890861250187, 0, 217.9445430625093, 0, -232.4741792666766, 0, 49.815895557145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4.718637772708116, 0, 0, 0, 0, 0, 0, 18.87455109083247, 0, -62.91517030277488, 0, 0, 0, 0, 0, 0, 0, 0, 28.3118266362487, 0, -188.7455109083247, 0, 150.9964087266597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.87455109083247, 0, -188.7455109083247, 0, 301.9928174533194, 0, -86.28366212951984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.718637772708116, 0, -62.91517030277488, 0, 150.9964087266597, 0, -86.28366212951984, 0, 9.587073569946648, 0, + -0.3181304937373671, 0, 0, -1.590652468686835, 0, 15.90652468686835, 0, 0, 0, 0, -3.181304937373671, 0, 63.62609874747341, 0, -84.83479832996456, 0, 0, 0, 0, 0, 0, -3.181304937373671, 0, 95.43914812121012, 0, -254.5043949898937, 0, 101.8017579959575, 0, 0, 0, 0, 0, 0, 0, 0, -1.590652468686835, 0, 63.62609874747341, 0, -254.5043949898937, 0, 203.6035159919149, 0, -29.08621657027356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.3181304937373671, 0, 15.90652468686835, 0, -84.83479832996456, 0, 101.8017579959575, 0, -29.08621657027356, 0, 1.292720736456603, + 0, 0, 4.718637772708116, 0, 0, 0, 0, 18.87455109083247, 0, -62.91517030277488, 0, 0, 0, 0, 0, 0, 28.3118266362487, 0, -188.7455109083247, 0, 150.9964087266597, 0, 0, 0, 0, 0, 0, 0, 0, 18.87455109083247, 0, -188.7455109083247, 0, 301.9928174533194, 0, -86.28366212951984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.718637772708116, 0, -62.91517030277488, 0, 150.9964087266597, 0, -86.28366212951984, 0, 9.587073569946648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4540511313802278, 0, 0, 1.362153394140683, 0, -21.79445430625093, 0, 0, 0, 0, 0.9081022627604556, 0, -43.58890861250187, 0, 108.9722715312547, 0, 0, 0, 0, 0, 0, -0.9081022627604556, 0, 0, 0, 108.9722715312547, 0, -116.2370896333383, 0, 0, 0, 0, 0, 0, 0, 0, -1.362153394140683, 0, 43.58890861250187, 0, -108.9722715312547, 0, 0, 0, 24.9079477785725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4540511313802278, 0, 21.79445430625093, 0, -108.9722715312547, 0, 116.2370896333383, 0, -24.9079477785725, 0, 0, + 0, 0, -4.630431158153326, 0, 0, 0, 0, 0, 0, 55.56517389783991, 0, 0, 0, 0, 0, 0, 27.78258694891996, 0, -55.56517389783991, 0, -111.1303477956798, 0, 0, 0, 0, 0, 0, 0, 0, 37.04344926522661, 0, -277.8258694891996, 0, 222.2606955913596, 0, 42.33537058883041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.89129347445998, 0, -166.6955216935197, 0, 333.3910433870395, 0, -127.0061117664912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.4677441816782422, 0, 0, 1.403232545034726, 0, 19.64525563048617, 0, 0, 0, 0, 6.548418543495391, 0, -78.58102252194469, 0, -78.58102252194469, 0, 0, 0, 0, 0, 0, 6.548418543495391, 0, -196.4525563048617, 0, 392.9051126097235, 0, 52.38734834796313, 0, 0, 0, 0, 0, 0, 0, 0, 1.403232545034726, 0, -78.58102252194469, 0, 392.9051126097235, 0, -314.3240900877788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4677441816782422, 0, 19.64525563048617, 0, -78.58102252194469, 0, 52.38734834796313, 0, 0, 0, 0, + 0, 0, 4.437410929184535, 0, 0, 0, 0, -35.49928743347628, 0, -41.41583533905566, 0, 0, 0, 0, 0, 0, -62.12375300858349, 0, 372.742518051501, 0, 49.6990024068668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207.0791766952783, 0, -496.990024068668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.18705464592268, 0, -207.0791766952783, 0, 248.495012034334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4961176240878564, 0, 0, -6.449529113142133, 0, -15.8757639708114, 0, 0, 0, 0, -6.945646737229989, 0, 222.2606955913596, 0, 37.04344926522661, 0, 0, 0, 0, 0, 0, 6.945646737229989, 0, 0, 0, -555.6517389783992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.449529113142133, 0, -222.2606955913596, 0, 555.6517389783992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4961176240878564, 0, 15.8757639708114, 0, -37.04344926522661, 0, 0, 0, 0, 0, 0, + 0, 0, -4.091090733689417, 0, 0, 0, 0, 81.82181467378834, 0, 21.81915057967689, 0, 0, 0, 0, 0, 0, -57.27527027165184, 0, -458.2021621732147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114.5505405433037, 0, 763.6702702886912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.63763513582592, 0, -152.7340540577382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5567269327204184, 0, 0, 15.0316271834513, 0, 10.02108478896753, 0, 0, 0, 0, -23.38253117425757, 0, -280.590374091091, 0, 0, 0, 0, 0, 0, 0, 0, -23.38253117425757, 0, 701.4759352277273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.0316271834513, 0, -280.590374091091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5567269327204184, 0, 10.02108478896753, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.431895299891715, 0, 0, 0, 0, -123.5482307961017, 0, 0, 0, 0, 0, 0, 0, 0, 432.4188077863561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288.2792051909041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.88705769902543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.7673951182219901, 0, 0, -34.53278031998956, 0, 0, 0, 0, 0, 0, 161.1529748266179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161.1529748266179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.53278031998956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.7673951182219901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // l = 11 + 0, 8.631063163659167, 0, 0, 0, 0, -129.4659474548875, 0, 0, 0, 0, 0, 0, 0, 0, 362.504652873685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -258.9318949097751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43.15531581829584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.7846421057871971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 36.80297698805311, 0, 0, 0, 0, 0, 0, -441.6357238566373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927.4350200989384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441.6357238566373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36.80297698805311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -5.110940374050938, 0, 0, 0, 0, 42.59116978375781, 0, 102.2188074810188, 0, 0, 0, 0, 0, 0, -23.85105507890438, 0, -954.0422031561751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51.10940374050938, 0, 1431.063304734263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.87587923242031, 0, -408.875229924075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5678822637834375, 0, 11.35764527566875, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -35.19037680383713, 0, 0, 0, 0, 0, 0, 211.1422608230228, 0, 211.1422608230228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1477.995825761159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -211.1422608230228, 0, 1477.995825761159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35.19037680383713, 0, -211.1422608230228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3.532036427339827, 0, 0, 0, 0, -10.59610928201948, 0, -127.1533113842337, 0, 0, 0, 0, 0, 0, -21.19221856403896, 0, 508.613245536935, 0, 339.0754970246234, 0, 0, 0, 0, 0, 0, 0, 0, 3.027459794862709, 0, 254.3066227684675, 0, -1695.377485123117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.586956017065244, 0, -363.295175383525, 0, 1017.22649107387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5045766324771181, 0, 18.16475876917625, 0, -48.43935671780334, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 28.72100542905686, 0, 0, 0, 0, 0, 0, -38.29467390540915, 0, -306.3573912432732, 0, 0, 0, 0, 0, 0, 0, 0, -134.031358668932, 0, 714.8339129009709, 0, 428.9003477405824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -38.29467390540915, 0, 714.8339129009709, 0, -1429.667825801941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.72100542905686, 0, -306.3573912432732, 0, 428.9003477405824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.369836079783365, 0, 0, 0, 0, -2.369836079783365, 0, 113.7521318296015, 0, 0, 0, 0, 0, 0, 6.63554102339342, 0, 0, 0, -530.8432818714737, 0, 0, 0, 0, 0, 0, 0, 0, 10.4272787510468, 0, -318.5059691228842, 0, 530.8432818714737, 0, 424.674625497179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.31777051169671, 0, -182.0034109273624, 0, 955.5179073686526, 0, -849.349250994358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4739672159566729, 0, 22.7504263659203, 0, -106.1686563742947, 0, 84.9349250994358, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -20.06399012830402, 0, 0, 0, 0, 0, 0, -40.12798025660804, 0, 280.8958617962563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280.8958617962563, 0, -674.150068311015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40.12798025660804, 0, -280.8958617962563, 0, 0, 0, 321.0238420528643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20.06399012830402, 0, -280.8958617962563, 0, 674.150068311015, 0, -321.0238420528643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.373687498354136, 0, 0, 0, 0, 5.036854160631831, 0, -76.92649990783158, 0, 0, 0, 0, 0, 0, 6.410541658985967, 0, -205.1373330875509, 0, 461.5589994469895, 0, 0, 0, 0, 0, 0, 0, 0, 2.747374996708271, 0, -153.8529998156632, 0, 769.2649990783159, 0, -615.4119992626527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4578958327847119, 0, 0, 0, 153.8529998156632, 0, -410.2746661751018, 0, 175.8319997893294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4578958327847119, 0, 25.64216663594386, 0, -153.8529998156632, 0, 205.1373330875509, 0, -58.61066659644312, 0, 0, 0, + 0, 0, 0, 0, 10.27973595067153, 0, 0, 0, 0, 0, 0, 41.11894380268614, 0, -164.4757752107446, 0, 0, 0, 0, 0, 0, 0, 0, 61.67841570402921, 0, -493.4273256322336, 0, 493.4273256322337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41.11894380268614, 0, -493.4273256322336, 0, 986.8546512644674, 0, -375.9446290531304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.27973595067153, 0, -164.4757752107446, 0, 493.4273256322337, 0, -375.9446290531304, 0, 62.65743817552173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.4507962425947618, 0, 0, 0, 0, -2.253981212973809, 0, 27.04777455568571, 0, 0, 0, 0, 0, 0, -4.507962425947618, 0, 108.1910982227429, 0, -180.3184970379047, 0, 0, 0, 0, 0, 0, 0, 0, -4.507962425947618, 0, 162.2866473341143, 0, -540.9554911137142, 0, 288.5095952606476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.253981212973809, 0, 108.1910982227429, 0, -540.9554911137142, 0, 577.0191905212952, 0, -123.6469693974204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4507962425947618, 0, 27.04777455568571, 0, -180.3184970379047, 0, 288.5095952606476, 0, -123.6469693974204, 0, 10.99084172421515, 0, + 0, 0, -3.662285987505434, 0, 0, 0, 0, -18.31142993752717, 0, 61.03809979175723, 0, 0, 0, 0, 0, 0, -36.62285987505434, 0, 244.1523991670289, 0, -195.3219193336232, 0, 0, 0, 0, 0, 0, 0, 0, -36.62285987505434, 0, 366.2285987505434, 0, -585.9657580008695, 0, 167.4187880002484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.31142993752717, 0, 244.1523991670289, 0, -585.9657580008695, 0, 334.8375760004968, 0, -37.20417511116631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.662285987505434, 0, 61.03809979175723, 0, -195.3219193336232, 0, 167.4187880002484, 0, -37.20417511116631, 0, 1.352879094951502, + -0.4507962425947618, 0, 0, -2.253981212973809, 0, 27.04777455568571, 0, 0, 0, 0, -4.507962425947618, 0, 108.1910982227429, 0, -180.3184970379047, 0, 0, 0, 0, 0, 0, -4.507962425947618, 0, 162.2866473341143, 0, -540.9554911137142, 0, 288.5095952606476, 0, 0, 0, 0, 0, 0, 0, 0, -2.253981212973809, 0, 108.1910982227429, 0, -540.9554911137142, 0, 577.0191905212952, 0, -123.6469693974204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4507962425947618, 0, 27.04777455568571, 0, -180.3184970379047, 0, 288.5095952606476, 0, -123.6469693974204, 0, 10.99084172421515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5.139867975335767, 0, 0, 0, 0, 15.4196039260073, 0, -82.23788760537228, 0, 0, 0, 0, 0, 0, 10.27973595067153, 0, -164.4757752107446, 0, 246.7136628161169, 0, 0, 0, 0, 0, 0, 0, 0, -10.27973595067153, 0, 0, 0, 246.7136628161169, 0, -187.9723145265652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.4196039260073, 0, 164.4757752107446, 0, -246.7136628161169, 0, 0, 0, 31.32871908776087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.139867975335767, 0, 82.23788760537228, 0, -246.7136628161169, 0, 187.9723145265652, 0, -31.32871908776087, 0, 0, + 0.4578958327847119, 0, 0, 0.4578958327847119, 0, -25.64216663594386, 0, 0, 0, 0, -2.747374996708271, 0, 0, 0, 153.8529998156632, 0, 0, 0, 0, 0, 0, -6.410541658985967, 0, 153.8529998156632, 0, -153.8529998156632, 0, -205.1373330875509, 0, 0, 0, 0, 0, 0, 0, 0, -5.036854160631831, 0, 205.1373330875509, 0, -769.2649990783159, 0, 410.2746661751018, 0, 58.61066659644312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.373687498354136, 0, 76.92649990783158, 0, -461.5589994469895, 0, 615.4119992626527, 0, -175.8319997893294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -5.015997532076005, 0, 0, 0, 0, 15.04799259622802, 0, 70.22396544906408, 0, 0, 0, 0, 0, 0, 70.22396544906407, 0, -280.8958617962563, 0, -168.5375170777538, 0, 0, 0, 0, 0, 0, 0, 0, 70.22396544906407, 0, -702.2396544906408, 0, 842.6875853887689, 0, 80.25596051321608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.04799259622802, 0, -280.8958617962563, 0, 842.6875853887689, 0, -481.5357630792965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.015997532076005, 0, 70.22396544906408, 0, -168.5375170777538, 0, 80.25596051321608, 0, 0, 0, 0, + -0.4739672159566729, 0, 0, 3.31777051169671, 0, 22.7504263659203, 0, 0, 0, 0, 10.4272787510468, 0, -182.0034109273624, 0, -106.1686563742947, 0, 0, 0, 0, 0, 0, 6.63554102339342, 0, -318.5059691228842, 0, 955.5179073686526, 0, 84.9349250994358, 0, 0, 0, 0, 0, 0, 0, 0, -2.369836079783365, 0, 0, 0, 530.8432818714737, 0, -849.349250994358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.369836079783365, 0, 113.7521318296015, 0, -530.8432818714737, 0, 424.674625497179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4.786834238176144, 0, 0, 0, 0, -62.22884509628987, 0, -51.0595652072122, 0, 0, 0, 0, 0, 0, -67.01567933446601, 0, 714.8339129009709, 0, 71.48339129009707, 0, 0, 0, 0, 0, 0, 0, 0, 67.01567933446601, 0, 0, 0, -1072.250869351456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62.22884509628987, 0, -714.8339129009709, 0, 1072.250869351456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.786834238176144, 0, 51.0595652072122, 0, -71.48339129009707, 0, 0, 0, 0, 0, 0, + 0.5045766324771181, 0, 0, -9.586956017065244, 0, -18.16475876917625, 0, 0, 0, 0, -3.027459794862709, 0, 363.295175383525, 0, 48.43935671780334, 0, 0, 0, 0, 0, 0, 21.19221856403896, 0, -254.3066227684675, 0, -1017.22649107387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.59610928201948, 0, -508.613245536935, 0, 1695.377485123117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.532036427339827, 0, 127.1533113842337, 0, -339.0754970246234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -4.398797100479641, 0, 0, 0, 0, 118.7675217129503, 0, 26.39278260287784, 0, 0, 0, 0, 0, 0, -184.7494782201449, 0, -738.9979128805796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184.7494782201449, 0, 1847.494782201449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118.7675217129503, 0, -738.9979128805796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.398797100479641, 0, 26.39278260287784, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5678822637834375, 0, 0, 19.87587923242031, 0, 11.35764527566875, 0, 0, 0, 0, -51.10940374050938, 0, -408.875229924075, 0, 0, 0, 0, 0, 0, 0, 0, -23.85105507890438, 0, 1431.063304734263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42.59116978375781, 0, -954.0422031561751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.110940374050938, 0, 102.2188074810188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.680297698805311, 0, 0, 0, 0, -165.613396446239, 0, 0, 0, 0, 0, 0, 0, 0, 772.8625167491152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -772.8625167491152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165.613396446239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.680297698805311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.7846421057871971, 0, 0, -43.15531581829584, 0, 0, 0, 0, 0, 0, 258.9318949097751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362.504652873685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129.4659474548875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.631063163659167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // l = 12 + 0, 9.609863949407661, 0, 0, 0, 0, -176.1808390724738, 0, 0, 0, 0, 0, 0, 0, 0, 634.2510206609056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -634.2510206609056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176.1808390724738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.609863949407661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43.15531581829583, 0, 0, 0, 0, 0, 0, -647.3297372744373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1812.523264368425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1294.659474548875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215.7765790914791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.923210528935984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -5.784458347938102, 0, 0, 0, 0, 63.62904182731912, 0, 127.2580836546383, 0, 0, 0, 0, 0, 0, -76.35485019278295, 0, -1527.097003855659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76.35485019278295, 0, 3206.903708096884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63.62904182731912, 0, -1527.097003855659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.784458347938102, 0, 127.2580836546383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -42.2938455917996, 0, 0, 0, 0, 0, 0, 352.4487132649967, 0, 281.9589706119974, 0, 0, 0, 0, 0, 0, 0, 0, -197.3712794283981, 0, -2631.617059045309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -422.938455917996, 0, 3947.425588567963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164.4760661903318, 0, -1127.835882447989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.699316176866622, 0, 31.32877451244415, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4.101899446670816, 0, 0, 0, 0, -20.50949723335408, 0, -164.0759778668327, 0, 0, 0, 0, 0, 0, -24.6113966800249, 0, 984.455867200996, 0, 492.2279336004979, 0, 0, 0, 0, 0, 0, 0, 0, 24.6113966800249, 0, 0, 0, -3445.595535203485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20.50949723335408, 0, -984.455867200996, 0, 3445.595535203485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.101899446670816, 0, 164.0759778668327, 0, -492.2279336004979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 35.89162015836965, 0, 0, 0, 0, 0, 0, -107.6748604751089, 0, -430.6994419004357, 0, 0, 0, 0, 0, 0, 0, 0, -215.3497209502179, 0, 1722.797767601743, 0, 689.1191070406971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.76424585003112, 0, 861.3988838008713, 0, -3445.595535203485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97.42011185843189, 0, -1230.569834001245, 0, 2067.357321122091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.127374308338521, 0, 61.52849170006224, 0, -98.44558672009958, 0, 0, 0, 0, 0, 0, 0, + 0, -2.881335616715016, 0, 0, 0, 0, 0.9604452055716719, 0, 155.5921233026108, 0, 0, 0, 0, 0, 0, 17.28801370029009, 0, -207.4561644034811, 0, -829.8246576139245, 0, 0, 0, 0, 0, 0, 0, 0, 17.28801370029009, 0, -726.0965754121839, 0, 1936.257534432491, 0, 774.5030137729962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9604452055716719, 0, -207.4561644034811, 0, 1936.257534432491, 0, -2581.676712576654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.881335616715016, 0, 155.5921233026108, 0, -829.8246576139245, 0, 774.5030137729962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -26.95242673514147, 0, 0, 0, 0, 0, 0, -26.95242673514147, 0, 431.2388277622634, 0, 0, 0, 0, 0, 0, 0, 0, 75.4667948583961, 0, 0, 0, -1207.468717734338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118.5906776346225, 0, -1207.468717734338, 0, 1207.468717734338, 0, 689.9821244196215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37.73339742919805, 0, -689.9821244196215, 0, 2173.443691921808, 0, -1379.964248839243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.390485347028293, 0, 86.24776555245269, 0, -241.4937435468676, 0, 137.9964248839243, 0, 0, 0, 0, 0, + 0, 1.848921220493557, 0, 0, 0, 0, 5.54676366148067, 0, -118.3309581115876, 0, 0, 0, 0, 0, 0, 3.697842440987113, 0, -236.6619162231752, 0, 828.3167067811135, 0, 0, 0, 0, 0, 0, 0, 0, -3.697842440987113, 0, 0, 0, 828.3167067811135, 0, -1325.306730849781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.54676366148067, 0, 236.6619162231752, 0, -828.3167067811135, 0, 0, 0, 473.3238324463505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.848921220493557, 0, 118.3309581115876, 0, -828.3167067811135, 0, 1325.306730849781, 0, -473.3238324463505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16.64029098444201, 0, 0, 0, 0, 0, 0, 61.01440027628737, 0, -310.6187650429175, 0, 0, 0, 0, 0, 0, 0, 0, 77.65469126072938, 0, -828.3167067811133, 0, 1118.227554154503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33.28058196888402, 0, -621.237530085835, 0, 1863.712590257505, 0, -1064.978623004289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.54676366148067, 0, 0, 0, 372.742518051501, 0, -709.9857486695257, 0, 236.6619162231752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.54676366148067, 0, 103.5395883476392, 0, -372.742518051501, 0, 354.9928743347629, 0, -78.88730540772508, 0, 0, 0, + 0, -0.9057827129626244, 0, 0, 0, 0, -4.528913564813122, 0, 63.4047899073837, 0, 0, 0, 0, 0, 0, -9.057827129626244, 0, 253.6191596295348, 0, -507.2383192590696, 0, 0, 0, 0, 0, 0, 0, 0, -9.057827129626244, 0, 380.4287394443022, 0, -1521.714957777209, 0, 1014.476638518139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.528913564813122, 0, 253.6191596295348, 0, -1521.714957777209, 0, 2028.953277036278, 0, -579.7009362960796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.9057827129626244, 0, 63.4047899073837, 0, -507.2383192590696, 0, 1014.476638518139, 0, -579.7009362960796, 0, 77.2934581728106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -5.620233931023189, 0, 0, 0, 0, 0, 0, -28.10116965511595, 0, 112.4046786204638, 0, 0, 0, 0, 0, 0, 0, 0, -56.20233931023189, 0, 449.6187144818551, 0, -449.6187144818551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56.20233931023189, 0, 674.4280717227828, 0, -1348.856143445566, 0, 513.8499594078344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.10116965511595, 0, 449.6187144818551, 0, -1348.856143445566, 0, 1027.699918815669, 0, -171.2833198026115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.620233931023189, 0, 112.4046786204638, 0, -449.6187144818551, 0, 513.8499594078344, 0, -171.2833198026115, 0, 12.4569687129172, 0, + 0.318183090330888, 0, 0, 1.909098541985328, 0, -22.90918250382393, 0, 0, 0, 0, 4.77274635496332, 0, -114.5459125191197, 0, 190.9098541985328, 0, 0, 0, 0, 0, 0, 6.36366180661776, 0, -229.0918250382393, 0, 763.6394167941311, 0, -407.2743556235366, 0, 0, 0, 0, 0, 0, 0, 0, 4.77274635496332, 0, -229.0918250382393, 0, 1145.459125191197, 0, -1221.82306687061, 0, 261.8192286151307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.909098541985328, 0, -114.5459125191197, 0, 763.6394167941311, 0, -1221.82306687061, 0, 523.6384572302613, 0, -46.5456406426899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.318183090330888, 0, -22.90918250382393, 0, 190.9098541985328, 0, -407.2743556235366, 0, 261.8192286151307, 0, -46.5456406426899, 0, 1.410473958869391, + 0, 0, -5.620233931023189, 0, 0, 0, 0, -28.10116965511595, 0, 112.4046786204638, 0, 0, 0, 0, 0, 0, -56.20233931023189, 0, 449.6187144818551, 0, -449.6187144818551, 0, 0, 0, 0, 0, 0, 0, 0, -56.20233931023189, 0, 674.4280717227828, 0, -1348.856143445566, 0, 513.8499594078344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.10116965511595, 0, 449.6187144818551, 0, -1348.856143445566, 0, 1027.699918815669, 0, -171.2833198026115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.620233931023189, 0, 112.4046786204638, 0, -449.6187144818551, 0, 513.8499594078344, 0, -171.2833198026115, 0, 12.4569687129172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.4528913564813122, 0, 0, -1.811565425925249, 0, 31.70239495369185, 0, 0, 0, 0, -2.264456782406561, 0, 95.10718486107555, 0, -253.6191596295348, 0, 0, 0, 0, 0, 0, 0, 0, 63.4047899073837, 0, -507.2383192590696, 0, 507.2383192590696, 0, 0, 0, 0, 0, 0, 0, 0, 2.264456782406561, 0, -63.4047899073837, 0, 0, 0, 507.2383192590696, 0, -289.8504681480398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.811565425925249, 0, -95.10718486107555, 0, 507.2383192590696, 0, -507.2383192590696, 0, 0, 0, 38.6467290864053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4528913564813122, 0, -31.70239495369185, 0, 253.6191596295348, 0, -507.2383192590696, 0, 289.8504681480398, 0, -38.6467290864053, 0, 0, + 0, 0, 5.54676366148067, 0, 0, 0, 0, 5.54676366148067, 0, -103.5395883476392, 0, 0, 0, 0, 0, 0, -33.28058196888402, 0, 0, 0, 372.742518051501, 0, 0, 0, 0, 0, 0, 0, 0, -77.65469126072938, 0, 621.237530085835, 0, -372.742518051501, 0, -354.9928743347629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61.01440027628737, 0, 828.3167067811133, 0, -1863.712590257505, 0, 709.9857486695257, 0, 78.88730540772508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16.64029098444201, 0, 310.6187650429175, 0, -1118.227554154503, 0, 1064.978623004289, 0, -236.6619162231752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4622303051233891, 0, 0, -0.9244606102467783, 0, -29.5827395278969, 0, 0, 0, 0, -7.857915187097616, 0, 88.74821858369071, 0, 207.0791766952784, 0, 0, 0, 0, 0, 0, -12.9424485434549, 0, 414.1583533905567, 0, -828.3167067811135, 0, -331.3266827124453, 0, 0, 0, 0, 0, 0, 0, 0, -7.857915187097616, 0, 414.1583533905567, 0, -2070.791766952784, 0, 1656.633413562227, 0, 118.3309581115876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.9244606102467783, 0, 88.74821858369071, 0, -828.3167067811135, 0, 1656.633413562227, 0, -709.9857486695257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4622303051233891, 0, -29.5827395278969, 0, 207.0791766952784, 0, -331.3266827124453, 0, 118.3309581115876, 0, 0, 0, 0, + 0, 0, -5.390485347028293, 0, 0, 0, 0, 37.73339742919805, 0, 86.24776555245269, 0, 0, 0, 0, 0, 0, 118.5906776346225, 0, -689.9821244196215, 0, -241.4937435468676, 0, 0, 0, 0, 0, 0, 0, 0, 75.4667948583961, 0, -1207.468717734338, 0, 2173.443691921808, 0, 137.9964248839243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26.95242673514147, 0, 0, 0, 1207.468717734338, 0, -1379.964248839243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26.95242673514147, 0, 431.2388277622634, 0, -1207.468717734338, 0, 689.9821244196215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.480222602785836, 0, 0, 5.762671233430032, 0, 25.93202055043514, 0, 0, 0, 0, 12.96601027521757, 0, -337.1162671556568, 0, -138.3041096023208, 0, 0, 0, 0, 0, 0, 0, 0, -363.048287706092, 0, 1936.257534432491, 0, 129.0838356288327, 0, 0, 0, 0, 0, 0, 0, 0, -12.96601027521757, 0, 363.048287706092, 0, 0, 0, -1936.257534432491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.762671233430032, 0, 337.1162671556568, 0, -1936.257534432491, 0, 1936.257534432491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.480222602785836, 0, -25.93202055043514, 0, 138.3041096023208, 0, -129.0838356288327, 0, 0, 0, 0, 0, 0, + 0, 0, 5.127374308338521, 0, 0, 0, 0, -97.42011185843189, 0, -61.52849170006224, 0, 0, 0, 0, 0, 0, -30.76424585003112, 0, 1230.569834001245, 0, 98.44558672009958, 0, 0, 0, 0, 0, 0, 0, 0, 215.3497209502179, 0, -861.3988838008713, 0, -2067.357321122091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107.6748604751089, 0, -1722.797767601743, 0, 3445.595535203485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35.89162015836965, 0, 430.6994419004357, 0, -689.1191070406971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.512737430833852, 0, 0, -13.33117320168015, 0, -20.50949723335408, 0, 0, 0, 0, 7.691061462507781, 0, 553.7564253005602, 0, 61.52849170006224, 0, 0, 0, 0, 0, 0, 43.06994419004357, 0, -861.3988838008714, 0, -1722.797767601743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.691061462507781, 0, -861.3988838008714, 0, 4306.994419004357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.33117320168015, 0, 553.7564253005602, 0, -1722.797767601743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.512737430833852, 0, -20.50949723335408, 0, 61.52849170006224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -4.699316176866622, 0, 0, 0, 0, 164.4760661903318, 0, 31.32877451244415, 0, 0, 0, 0, 0, 0, -422.938455917996, 0, -1127.835882447989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -197.3712794283981, 0, 3947.425588567963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352.4487132649967, 0, -2631.617059045309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42.2938455917996, 0, 281.9589706119974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5784458347938102, 0, 0, 25.45161673092765, 0, 12.72580836546383, 0, 0, 0, 0, -95.44356274097868, 0, -572.6613764458722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2672.419756747403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95.44356274097868, 0, -2672.419756747403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25.45161673092765, 0, 572.6613764458722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5784458347938102, 0, -12.72580836546383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.923210528935984, 0, 0, 0, 0, -215.7765790914791, 0, 0, 0, 0, 0, 0, 0, 0, 1294.659474548875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1812.523264368425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647.3297372744373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43.15531581829583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.8008219957839717, 0, 0, -52.85425172174213, 0, 0, 0, 0, 0, 0, 396.406887913066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -739.9595241043899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396.406887913066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52.85425172174213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.8008219957839717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // l = 13 + 0, 10.60900254488917, 0, 0, 0, 0, -233.3980559875617, 0, 0, 0, 0, 0, 0, 0, 0, 1050.291251944028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1400.38833592537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583.4951399689042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63.65401526933501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.8160771188376283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 49.93431784259574, 0, 0, 0, 0, 0, 0, -915.4624937809218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3295.664977611319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3295.664977611319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 915.4624937809218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49.93431784259574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -6.473297372744374, 0, 0, 0, 0, 90.62616321842124, 0, 155.359136945865, 0, 0, 0, 0, 0, 0, -174.7790290640981, 0, -2330.387054187975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -77.67956847293249, 0, 6525.083751726329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161.8324343186094, 0, -4660.774108375949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31.77800528438147, 0, 776.7956847293249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5884815793403977, 0, -14.12355790416954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -49.93431784259574, 0, 0, 0, 0, 0, 0, 549.2774962685531, 0, 366.1849975123687, 0, 0, 0, 0, 0, 0, 0, 0, -659.1329955222637, 0, -4394.219970148425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -659.1329955222637, 0, 9227.861937311692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549.2774962685531, 0, -4394.219970148425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49.93431784259574, 0, 366.1849975123687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4.685411261829863, 0, 0, 0, 0, -34.35968258675233, 0, -206.158095520514, 0, 0, 0, 0, 0, 0, -17.17984129337616, 0, 1717.984129337616, 0, 687.1936517350465, 0, 0, 0, 0, 0, 0, 0, 0, 68.71936517350465, 0, -962.0711124290651, 0, -6413.807416193768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.63306882229361, 0, -2061.58095520514, 0, 9620.711124290651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.70044254469059, 0, 801.7259270242209, 0, -2748.774606940186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5206012513144292, 0, -22.90645505783488, 0, 76.35485019278295, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43.68089589976209, 0, 0, 0, 0, 0, 0, -218.4044794988104, 0, -582.4119453301611, 0, 0, 0, 0, 0, 0, 0, 0, -262.0853753985725, 0, 3494.471671980967, 0, 1048.34150159429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262.0853753985725, 0, 0, 0, -7338.39051116003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218.4044794988104, 0, -3494.471671980967, 0, 7338.39051116003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43.68089589976209, 0, 582.4119453301611, 0, -1048.34150159429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3.404978058421841, 0, 0, 0, 0, 6.809956116843682, 0, 204.2986835053105, 0, 0, 0, 0, 0, 0, 30.64480252579657, 0, -612.8960505159314, 0, -1225.792101031863, 0, 0, 0, 0, 0, 0, 0, 0, 17.51131572902661, 0, -1225.792101031863, 0, 4903.168404127451, 0, 1307.511574433987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.16063592293515, 0, 175.1131572902661, 0, 2451.584202063726, 0, -6537.557872169935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.755657864513306, 0, 554.5249980858427, 0, -3502.263145805322, 0, 3922.534723301961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4864254369174059, 0, -29.18552621504435, 0, 175.1131572902661, 0, -186.7873677762839, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -34.53278031998955, 0, 0, 0, 0, 0, 0, 11.51092677332985, 0, 621.5900457598119, 0, 0, 0, 0, 0, 0, 0, 0, 207.1966819199373, 0, -828.7867276797492, 0, -1989.088146431398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207.1966819199373, 0, -2900.753546879122, 0, 4641.205675006596, 0, 1326.058764287599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.51092677332985, 0, -828.7867276797492, 0, 4641.205675006596, 0, -4420.195880958662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.53278031998955, 0, 621.5900457598119, 0, -1989.088146431398, 0, 1326.058764287599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2.334148624627139, 0, 0, 0, 0, 4.668297249254278, 0, -168.058700973154, 0, 0, 0, 0, 0, 0, -4.20146752432885, 0, -168.058700973154, 0, 1344.469607785232, 0, 0, 0, 0, 0, 0, 0, 0, -16.8058700973154, 0, 470.5643627248312, 0, 0, 0, -2509.6766011991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.53806202283741, 0, 739.4582842818776, 0, -3764.51490179865, 0, 2509.6766011991, 0, 1075.575686228186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.800978349552567, 0, 235.2821813624156, 0, -2151.151372456371, 0, 4517.41788215838, 0, -2151.151372456371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4668297249254278, 0, -33.6117401946308, 0, 268.8939215570464, 0, -501.93532023982, 0, 215.1151372456371, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23.76708941910389, 0, 0, 0, 0, 0, 0, 71.30126825731166, 0, -507.0312409408829, 0, 0, 0, 0, 0, 0, 0, 0, 47.53417883820777, 0, -1014.062481881766, 0, 2129.531211951708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47.53417883820777, 0, 0, 0, 2129.531211951708, 0, -2433.749956516238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71.30126825731166, 0, 1014.062481881766, 0, -2129.531211951708, 0, 0, 0, 676.0416545878439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.76708941910389, 0, 507.0312409408829, 0, -2129.531211951708, 0, 2433.749956516238, 0, -676.0416545878439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.36713941034431, 0, 0, 0, 0, -6.379983914940114, 0, 109.3711528275448, 0, 0, 0, 0, 0, 0, -11.39282841953592, 0, 401.0275603676643, 0, -1020.797426390418, 0, 0, 0, 0, 0, 0, 0, 0, -9.114262735628734, 0, 510.3987131952091, 0, -2722.126470374449, 0, 2449.913823337004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.278565683907184, 0, 218.7423056550896, 0, -2041.594852780836, 0, 4083.189705561673, 0, -1749.938445240717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9114262735628734, 0, -36.45705094251494, 0, 0, 0, 816.6379411123346, 0, -1166.625630160478, 0, 311.1001680427941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4557131367814367, 0, -36.45705094251494, 0, 340.2658087968061, 0, -816.6379411123346, 0, 583.312815080239, 0, -103.7000560142647, 0, 0, 0, + 0, 0, 0, 0, -12.09143589391947, 0, 0, 0, 0, 0, 0, -60.45717946959737, 0, 282.1335041914544, 0, 0, 0, 0, 0, 0, 0, 0, -120.9143589391947, 0, 1128.534016765818, 0, -1354.240820118981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120.9143589391947, 0, 1692.801025148726, 0, -4062.722460356943, 0, 1934.629743027116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60.45717946959737, 0, 1128.534016765818, 0, -4062.722460356943, 0, 3869.259486054231, 0, -859.8354413453848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.09143589391947, 0, 282.1335041914544, 0, -1354.240820118981, 0, 1934.629743027116, 0, -859.8354413453848, 0, 93.80022996495107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.4506212100730813, 0, 0, 0, 0, 2.703727260438488, 0, -37.85218164613883, 0, 0, 0, 0, 0, 0, 6.75931815109622, 0, -189.2609082306941, 0, 378.5218164613883, 0, 0, 0, 0, 0, 0, 0, 0, 9.012424201461626, 0, -378.5218164613883, 0, 1514.087265845553, 0, -1009.391510563702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.75931815109622, 0, -378.5218164613883, 0, 2271.13089876833, 0, -3028.174531691106, 0, 865.1927233403161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.703727260438488, 0, -189.2609082306941, 0, 1514.087265845553, 0, -3028.174531691106, 0, 1730.385446680632, 0, -230.7180595574176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4506212100730813, 0, -37.85218164613883, 0, 378.5218164613883, 0, -1009.391510563702, 0, 865.1927233403161, 0, -230.7180595574176, 0, 13.98291270044955, 0, + 0, 0, 4.298652372786529, 0, 0, 0, 0, 25.79191423671917, 0, -103.1676569468767, 0, 0, 0, 0, 0, 0, 64.47978559179793, 0, -515.8382847343835, 0, 515.8382847343835, 0, 0, 0, 0, 0, 0, 0, 0, 85.97304745573058, 0, -1031.676569468767, 0, 2063.353138937534, 0, -786.0392910238224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64.47978559179793, 0, -1031.676569468767, 0, 3095.029708406301, 0, -2358.117873071467, 0, 393.0196455119112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25.79191423671917, 0, -515.8382847343835, 0, 2063.353138937534, 0, -2358.117873071467, 0, 786.0392910238224, 0, -57.16649389264163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.298652372786529, 0, -103.1676569468767, 0, 515.8382847343835, 0, -786.0392910238224, 0, 393.0196455119112, 0, -57.16649389264163, 0, 1.46580753570876, + 0.4506212100730813, 0, 0, 2.703727260438488, 0, -37.85218164613883, 0, 0, 0, 0, 6.75931815109622, 0, -189.2609082306941, 0, 378.5218164613883, 0, 0, 0, 0, 0, 0, 9.012424201461626, 0, -378.5218164613883, 0, 1514.087265845553, 0, -1009.391510563702, 0, 0, 0, 0, 0, 0, 0, 0, 6.75931815109622, 0, -378.5218164613883, 0, 2271.13089876833, 0, -3028.174531691106, 0, 865.1927233403161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.703727260438488, 0, -189.2609082306941, 0, 1514.087265845553, 0, -3028.174531691106, 0, 1730.385446680632, 0, -230.7180595574176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4506212100730813, 0, -37.85218164613883, 0, 378.5218164613883, 0, -1009.391510563702, 0, 865.1927233403161, 0, -230.7180595574176, 0, 13.98291270044955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -6.045717946959737, 0, 0, 0, 0, -24.18287178783895, 0, 141.0667520957272, 0, 0, 0, 0, 0, 0, -30.22858973479868, 0, 423.2002562871816, 0, -677.1204100594905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282.1335041914544, 0, -1354.240820118981, 0, 967.3148715135579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.22858973479868, 0, -282.1335041914544, 0, 0, 0, 967.3148715135579, 0, -429.9177206726924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.18287178783895, 0, -423.2002562871816, 0, 1354.240820118981, 0, -967.3148715135579, 0, 0, 0, 46.90011498247553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.045717946959737, 0, -141.0667520957272, 0, 677.1204100594905, 0, -967.3148715135579, 0, 429.9177206726924, 0, -46.90011498247553, 0, 0, + -0.4557131367814367, 0, 0, -0.9114262735628734, 0, 36.45705094251494, 0, 0, 0, 0, 2.278565683907184, 0, 36.45705094251494, 0, -340.2658087968061, 0, 0, 0, 0, 0, 0, 9.114262735628734, 0, -218.7423056550896, 0, 0, 0, 816.6379411123346, 0, 0, 0, 0, 0, 0, 0, 0, 11.39282841953592, 0, -510.3987131952091, 0, 2041.594852780836, 0, -816.6379411123346, 0, -583.312815080239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.379983914940114, 0, -401.0275603676643, 0, 2722.126470374449, 0, -4083.189705561673, 0, 1166.625630160478, 0, 103.7000560142647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.36713941034431, 0, -109.3711528275448, 0, 1020.797426390418, 0, -2449.913823337004, 0, 1749.938445240717, 0, -311.1001680427941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5.941772354775972, 0, 0, 0, 0, -11.88354470955194, 0, -126.7578102352207, 0, 0, 0, 0, 0, 0, -101.0101300311915, 0, 380.2734307056622, 0, 532.3828029879271, 0, 0, 0, 0, 0, 0, 0, 0, -166.3696259337272, 0, 1774.60934329309, 0, -2129.531211951708, 0, -608.4374891290595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -101.0101300311915, 0, 1774.60934329309, 0, -5323.828029879271, 0, 3042.187445645297, 0, 169.010413646961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11.88354470955194, 0, 380.2734307056622, 0, -2129.531211951708, 0, 3042.187445645297, 0, -1014.062481881766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.941772354775972, 0, -126.7578102352207, 0, 532.3828029879271, 0, -608.4374891290595, 0, 169.010413646961, 0, 0, 0, 0, + 0.4668297249254278, 0, 0, -2.800978349552567, 0, -33.6117401946308, 0, 0, 0, 0, -13.53806202283741, 0, 235.2821813624156, 0, 268.8939215570464, 0, 0, 0, 0, 0, 0, -16.8058700973154, 0, 739.4582842818776, 0, -2151.151372456371, 0, -501.93532023982, 0, 0, 0, 0, 0, 0, 0, 0, -4.20146752432885, 0, 470.5643627248312, 0, -3764.51490179865, 0, 4517.41788215838, 0, 215.1151372456371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.668297249254278, 0, -168.058700973154, 0, 0, 0, 2509.6766011991, 0, -2151.151372456371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.334148624627139, 0, -168.058700973154, 0, 1344.469607785232, 0, -2509.6766011991, 0, 1075.575686228186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -5.755463386664925, 0, 0, 0, 0, 69.0655606399791, 0, 103.5983409599687, 0, 0, 0, 0, 0, 0, 155.397511439953, 0, -1346.778432479592, 0, -331.5146910718997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1450.376773439561, 0, 4641.205675006596, 0, 221.0097940479331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -155.397511439953, 0, 1450.376773439561, 0, 0, 0, -3315.146910718997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69.0655606399791, 0, 1346.778432479592, 0, -4641.205675006596, 0, 3315.146910718997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.755463386664925, 0, -103.5983409599687, 0, 331.5146910718997, 0, -221.0097940479331, 0, 0, 0, 0, 0, 0, + -0.4864254369174059, 0, 0, 8.755657864513306, 0, 29.18552621504435, 0, 0, 0, 0, 12.16063592293515, 0, -554.5249980858427, 0, -175.1131572902661, 0, 0, 0, 0, 0, 0, -17.51131572902661, 0, -175.1131572902661, 0, 3502.263145805322, 0, 186.7873677762839, 0, 0, 0, 0, 0, 0, 0, 0, -30.64480252579657, 0, 1225.792101031863, 0, -2451.584202063726, 0, -3922.534723301961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.809956116843682, 0, 612.8960505159314, 0, -4903.168404127451, 0, 6537.557872169935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.404978058421841, 0, -204.2986835053105, 0, 1225.792101031863, 0, -1307.511574433987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5.460111987470261, 0, 0, 0, 0, -141.9629116742268, 0, -72.80149316627014, 0, 0, 0, 0, 0, 0, 81.90167981205391, 0, 1965.640315489294, 0, 131.0426876992863, 0, 0, 0, 0, 0, 0, 0, 0, 458.6494069475019, 0, -3057.662712983346, 0, -3669.195255580015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81.90167981205391, 0, -3057.662712983346, 0, 9172.988138950038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141.9629116742268, 0, 1965.640315489294, 0, -3669.195255580015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.460111987470261, 0, -72.80149316627014, 0, 131.0426876992863, 0, 0, 0, 0, 0, 0, 0, 0, + 0.5206012513144292, 0, 0, -17.70044254469059, 0, -22.90645505783488, 0, 0, 0, 0, 28.63306882229361, 0, 801.7259270242209, 0, 76.35485019278295, 0, 0, 0, 0, 0, 0, 68.71936517350465, 0, -2061.58095520514, 0, -2748.774606940186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.17984129337616, 0, -962.0711124290651, 0, 9620.711124290651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.35968258675233, 0, 1717.984129337616, 0, -6413.807416193768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.685411261829863, 0, -206.158095520514, 0, 687.1936517350465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -4.993431784259574, 0, 0, 0, 0, 219.7109985074212, 0, 36.61849975123687, 0, 0, 0, 0, 0, 0, -823.9162444028297, 0, -1647.832488805659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7689.884947759744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 823.9162444028297, 0, -7689.884947759744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -219.7109985074212, 0, 1647.832488805659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.993431784259574, 0, -36.61849975123687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5884815793403977, 0, 0, 31.77800528438147, 0, 14.12355790416954, 0, 0, 0, 0, -161.8324343186094, 0, -776.7956847293249, 0, 0, 0, 0, 0, 0, 0, 0, 77.67956847293249, 0, 4660.774108375949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174.7790290640981, 0, -6525.083751726329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90.62616321842124, 0, 2330.387054187975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.473297372744374, 0, -155.359136945865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4.161193153549645, 0, 0, 0, 0, -274.6387481342766, 0, 0, 0, 0, 0, 0, 0, 0, 2059.790611007074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3844.942473879872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2059.790611007074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274.6387481342766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.161193153549645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.8160771188376283, 0, 0, -63.65401526933501, 0, 0, 0, 0, 0, 0, 583.4951399689042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1400.38833592537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1050.291251944028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -233.3980559875617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.60900254488917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // l = 14 + 0, 11.62730916290334, 0, 0, 0, 0, -302.3100382354867, 0, 0, 0, 0, 0, 0, 0, 0, 1662.705210295177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2850.351789077446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1662.705210295177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302.3100382354867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.62730916290334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 57.13122714353754, 0, 0, 0, 0, 0, 0, -1256.886997157826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5655.991487210216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7541.321982946955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3142.217492894565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -342.7873628612252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.394709780272118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -7.176531019523646, 0, 0, 0, 0, 124.3932043384099, 0, 186.5898065076148, 0, 0, 0, 0, 0, 0, -342.0813119306271, 0, -3420.813119306271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12314.92722950258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342.0813119306271, 0, -12314.92722950258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124.3932043384099, 0, 3420.813119306271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.176531019523646, 0, -186.5898065076148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -58.09962199636542, 0, 0, 0, 0, 0, 0, 813.3947079491158, 0, 464.7969759709233, 0, 0, 0, 0, 0, 0, 0, 0, -1568.689793901866, 0, -6971.95463956385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -697.195463956385, 0, 19521.47299077878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1452.490549909135, 0, -13943.9092791277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -285.2163261639757, 0, 2323.984879854617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.281783817851402, 0, -42.25427054281121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5.281783817851402, 0, 0, 0, 0, -52.81783817851402, 0, -253.5256232568673, 0, 0, 0, 0, 0, 0, 11.61992439927308, 0, 2788.78185582554, 0, 929.5939519418467, 0, 0, 0, 0, 0, 0, 0, 0, 139.439092791277, 0, -3346.538226990648, 0, -11155.12742330216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.61992439927308, 0, -3346.538226990648, 0, 23425.76758893454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52.81783817851402, 0, 2788.78185582554, 0, -11155.12742330216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.281783817851402, 0, -253.5256232568673, 0, 929.5939519418467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 52.07313853625346, 0, 0, 0, 0, 0, 0, -381.8696825991921, 0, -763.7393651983841, 0, 0, 0, 0, 0, 0, 0, 0, -190.934841299596, 0, 6364.494709986534, 0, 1527.478730396768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 763.7393651983841, 0, -3564.117037592459, 0, -14256.46815036984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318.2247354993267, 0, -7637.393651983841, 0, 21384.70222555475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -196.720745581402, 0, 2970.097531327049, 0, -6109.914921587073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.78590428180594, 0, -84.85992946648712, 0, 169.7198589329742, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3.940231044985851, 0, 0, 0, 0, 15.7609241799434, 0, 260.0552489690662, 0, 0, 0, 0, 0, 0, 43.34254149484436, 0, -1300.276244845331, 0, -1733.701659793774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1560.331493814397, 0, 10402.20995876265, 0, 2080.441991752529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43.34254149484436, 0, 1560.331493814397, 0, 0, 0, -14563.0939422677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.7609241799434, 0, 1300.276244845331, 0, -10402.20995876265, 0, 14563.0939422677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.940231044985851, 0, -260.0552489690662, 0, 1733.701659793774, 0, -2080.441991752529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -42.78485868831644, 0, 0, 0, 0, 0, 0, 85.56971737663287, 0, 855.6971737663287, 0, 0, 0, 0, 0, 0, 0, 0, 385.0637281948479, 0, -2567.091521298986, 0, -3080.509825558783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220.0364161113417, 0, -5134.183042597972, 0, 12322.03930223513, 0, 2347.055105187644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152.8030667439873, 0, 733.4547203711389, 0, 6161.019651117567, 0, -11735.27552593822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -110.0182080556708, 0, 2322.606614508606, 0, -8801.456644453667, 0, 7041.165315562933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.112122669759491, 0, -122.2424533951898, 0, 440.0728322226833, 0, -335.2935864553778, 0, 0, 0, 0, 0, 0, 0, + 0, 2.829363009969403, 0, 0, 0, 0, 1.886242006646268, 0, -226.3490407975522, 0, 0, 0, 0, 0, 0, -17.91929906313955, 0, 75.44968026585074, 0, 2037.14136717797, 0, 0, 0, 0, 0, 0, 0, 0, -33.95235611963283, 0, 1358.094244785313, 0, -2716.188489570627, 0, -4345.901583313003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.91929906313955, 0, 1358.094244785313, 0, -9506.659713497193, 0, 10140.43702773034, 0, 2172.950791656501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.886242006646268, 0, 75.44968026585074, 0, -2716.188489570627, 0, 10140.43702773034, 0, -7243.169305521671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.829363009969403, 0, -226.3490407975522, 0, 2037.14136717797, 0, -4345.901583313003, 0, 2172.950791656501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31.633240116575, 0, 0, 0, 0, 0, 0, 63.26648023315, 0, -759.1977627977999, 0, 0, 0, 0, 0, 0, 0, 0, -56.939832209835, 0, -759.1977627977999, 0, 3644.14926142944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -227.75932883934, 0, 2125.75373583384, 0, 0, 0, -4858.86568190592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183.472792676135, 0, 3340.47015631032, 0, -10203.61793200243, 0, 4858.86568190592, 0, 1619.62189396864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37.95988813989, 0, 1062.87686791692, 0, -5830.638818287104, 0, 8745.958227430655, 0, -3239.24378793728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.326648023315, 0, -151.83955255956, 0, 728.8298522858879, 0, -971.7731363811839, 0, 323.924378793728, 0, 0, 0, 0, 0, + 0, -1.835933153488193, 0, 0, 0, 0, -7.343732613952774, 0, 165.2339838139374, 0, 0, 0, 0, 0, 0, -9.179665767440967, 0, 495.7019514418122, 0, -1762.495827348666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330.4679676278748, 0, -3524.991654697331, 0, 4934.988316576264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.179665767440967, 0, -330.4679676278748, 0, 0, 0, 4934.988316576264, 0, -4229.989985636798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.343732613952774, 0, -495.7019514418122, 0, 3524.991654697331, 0, -4934.988316576264, 0, 0, 0, 939.997774585955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.835933153488193, 0, -165.2339838139374, 0, 1762.495827348666, 0, -4934.988316576264, 0, 4229.989985636798, 0, -939.997774585955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -19.37540204348254, 0, 0, 0, 0, 0, 0, -90.41854286958517, 0, 516.677387826201, 0, 0, 0, 0, 0, 0, 0, 0, -161.4616836956878, 0, 1894.483755362737, 0, -2893.393371826726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129.1693469565502, 0, 2411.161143188938, 0, -7715.715658204601, 0, 4960.10292313153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32.29233673913756, 0, 1033.354775652402, 0, -5786.786743653451, 0, 8266.838205219216, 0, -2755.612735073072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.91693469565502, 0, -172.225795942067, 0, 0, 0, 1653.367641043843, 0, -1837.075156715381, 0, 400.8163978288105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.458467347827512, 0, -172.225795942067, 0, 964.4644572755752, 0, -1653.367641043843, 0, 918.5375783576907, 0, -133.6054659429368, 0, 0, 0, + 0, 0.9043663200508067, 0, 0, 0, 0, 5.42619792030484, 0, -86.81916672487744, 0, 0, 0, 0, 0, 0, 13.5654948007621, 0, -434.0958336243872, 0, 1012.890278456903, 0, 0, 0, 0, 0, 0, 0, 0, 18.08732640101613, 0, -868.1916672487744, 0, 4051.561113827614, 0, -3241.248891062091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.5654948007621, 0, -868.1916672487744, 0, 6077.341670741421, 0, -9723.746673186273, 0, 3472.766668995098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.42619792030484, 0, -434.0958336243872, 0, 4051.561113827614, 0, -9723.746673186273, 0, 6945.533337990195, 0, -1234.761482309368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9043663200508067, 0, -86.81916672487744, 0, 1012.890278456903, 0, -3241.248891062091, 0, 3472.766668995098, 0, -1234.761482309368, 0, 112.2510438463062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6.521478277491721, 0, 0, 0, 0, 0, 0, 39.12886966495032, 0, -182.6013917697682, 0, 0, 0, 0, 0, 0, 0, 0, 97.82217416237581, 0, -913.0069588488409, 0, 1095.608350618609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130.4295655498344, 0, -1826.013917697682, 0, 4382.433402474436, 0, -2086.873048797351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97.82217416237581, 0, -1826.013917697682, 0, 6573.650103711654, 0, -6260.619146392052, 0, 1391.248699198234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39.12886966495032, 0, -913.0069588488409, 0, 4382.433402474436, 0, -6260.619146392052, 0, 2782.497398396467, 0, -303.5451707341601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.521478277491721, 0, -182.6013917697682, 0, 1095.608350618609, 0, -2086.873048797351, 0, 1391.248699198234, 0, -303.5451707341601, 0, 15.56641901200821, 0, + -0.3182155563368222, 0, 0, -2.227508894357756, 0, 31.18512452100858, 0, 0, 0, 0, -6.682526683073267, 0, 187.1107471260515, 0, -374.2214942521029, 0, 0, 0, 0, 0, 0, -11.13754447178878, 0, 467.7768678151287, 0, -1871.107471260515, 0, 1247.404980840343, 0, 0, 0, 0, 0, 0, 0, 0, -11.13754447178878, 0, 623.7024904201716, 0, -3742.214942521029, 0, 4989.619923361373, 0, -1425.605692388964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.682526683073267, 0, 467.7768678151287, 0, -3742.214942521029, 0, 7484.429885042059, 0, -4276.817077166891, 0, 570.2422769555854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.227508894357756, 0, 187.1107471260515, 0, -1871.107471260515, 0, 4989.619923361373, 0, -4276.817077166891, 0, 1140.484553911171, 0, -69.12027599461642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.3182155563368222, 0, 31.18512452100858, 0, -374.2214942521029, 0, 1247.404980840343, 0, -1425.605692388964, 0, 570.2422769555854, 0, -69.12027599461642, 0, 1.519126944936625, + 0, 0, 6.521478277491721, 0, 0, 0, 0, 39.12886966495032, 0, -182.6013917697682, 0, 0, 0, 0, 0, 0, 97.82217416237581, 0, -913.0069588488409, 0, 1095.608350618609, 0, 0, 0, 0, 0, 0, 0, 0, 130.4295655498344, 0, -1826.013917697682, 0, 4382.433402474436, 0, -2086.873048797351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97.82217416237581, 0, -1826.013917697682, 0, 6573.650103711654, 0, -6260.619146392052, 0, 1391.248699198234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39.12886966495032, 0, -913.0069588488409, 0, 4382.433402474436, 0, -6260.619146392052, 0, 2782.497398396467, 0, -303.5451707341601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.521478277491721, 0, -182.6013917697682, 0, 1095.608350618609, 0, -2086.873048797351, 0, 1391.248699198234, 0, -303.5451707341601, 0, 15.56641901200821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4521831600254033, 0, 0, 2.260915800127017, 0, -43.40958336243872, 0, 0, 0, 0, 4.06964844022863, 0, -173.6383334497549, 0, 506.4451392284517, 0, 0, 0, 0, 0, 0, 2.260915800127017, 0, -217.0479168121936, 0, 1519.335417685355, 0, -1620.624445531046, 0, 0, 0, 0, 0, 0, 0, 0, -2.260915800127017, 0, 0, 0, 1012.890278456903, 0, -3241.248891062091, 0, 1736.383334497549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.06964844022863, 0, 217.0479168121936, 0, -1012.890278456903, 0, 0, 0, 1736.383334497549, 0, -617.380741154684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.260915800127017, 0, 173.6383334497549, 0, -1519.335417685355, 0, 3241.248891062091, 0, -1736.383334497549, 0, 0, 0, 56.12552192315309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4521831600254033, 0, 43.40958336243872, 0, -506.4451392284517, 0, 1620.624445531046, 0, -1736.383334497549, 0, 617.380741154684, 0, -56.12552192315309, 0, 0, + 0, 0, -6.458467347827512, 0, 0, 0, 0, -12.91693469565502, 0, 172.225795942067, 0, 0, 0, 0, 0, 0, 32.29233673913756, 0, 172.225795942067, 0, -964.4644572755752, 0, 0, 0, 0, 0, 0, 0, 0, 129.1693469565502, 0, -1033.354775652402, 0, 0, 0, 1653.367641043843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161.4616836956878, 0, -2411.161143188938, 0, 5786.786743653451, 0, -1653.367641043843, 0, -918.5375783576907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90.41854286958517, 0, -1894.483755362737, 0, 7715.715658204601, 0, -8266.838205219216, 0, 1837.075156715381, 0, 133.6054659429368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.37540204348254, 0, -516.677387826201, 0, 2893.393371826726, 0, -4960.10292313153, 0, 2755.612735073072, 0, -400.8163978288105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.4589832883720484, 0, 0, 0.4589832883720484, 0, 41.30849595348435, 0, 0, 0, 0, 8.720682479068919, 0, -82.6169919069687, 0, -440.6239568371664, 0, 0, 0, 0, 0, 0, 20.65424797674218, 0, -702.244431209234, 0, 1321.871870511499, 0, 1233.747079144066, 0, 0, 0, 0, 0, 0, 0, 0, 20.65424797674218, 0, -1156.637886697562, 0, 6168.73539572033, 0, -4934.988316576264, 0, -1057.497496409199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.720682479068919, 0, -702.244431209234, 0, 6168.73539572033, 0, -12337.47079144066, 0, 5287.487482045997, 0, 234.9994436464888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4589832883720484, 0, -82.6169919069687, 0, 1321.871870511499, 0, -4934.988316576264, 0, 5287.487482045997, 0, -1409.996661878933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4589832883720484, 0, 41.30849595348435, 0, -440.6239568371664, 0, 1233.747079144066, 0, -1057.497496409199, 0, 234.9994436464888, 0, 0, 0, 0, + 0, 0, 6.326648023315, 0, 0, 0, 0, -37.95988813989, 0, -151.83955255956, 0, 0, 0, 0, 0, 0, -183.472792676135, 0, 1062.87686791692, 0, 728.8298522858879, 0, 0, 0, 0, 0, 0, 0, 0, -227.75932883934, 0, 3340.47015631032, 0, -5830.638818287104, 0, -971.7731363811839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56.939832209835, 0, 2125.75373583384, 0, -10203.61793200243, 0, 8745.958227430655, 0, 323.924378793728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63.26648023315, 0, -759.1977627977999, 0, 0, 0, 4858.86568190592, 0, -3239.24378793728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31.633240116575, 0, -759.1977627977999, 0, 3644.14926142944, 0, -4858.86568190592, 0, 1619.62189396864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4715605016615671, 0, 0, -5.187165518277238, 0, -37.72484013292537, 0, 0, 0, 0, -18.39085956480112, 0, 452.6980815951044, 0, 339.5235611963283, 0, 0, 0, 0, 0, 0, -12.73213354486231, 0, 1018.570683588985, 0, -4413.806295552268, 0, -724.3169305521671, 0, 0, 0, 0, 0, 0, 0, 0, 12.73213354486231, 0, 0, 0, -4753.329856748596, 0, 10140.43702773034, 0, 362.1584652760835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.39085956480112, 0, -1018.570683588985, 0, 4753.329856748596, 0, 0, 0, -5432.376979141253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.187165518277238, 0, -452.6980815951044, 0, 4413.806295552268, 0, -10140.43702773034, 0, 5432.376979141253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4715605016615671, 0, 37.72484013292537, 0, -339.5235611963283, 0, 724.3169305521671, 0, -362.1584652760835, 0, 0, 0, 0, 0, 0, + 0, 0, -6.112122669759491, 0, 0, 0, 0, 110.0182080556708, 0, 122.2424533951898, 0, 0, 0, 0, 0, 0, 152.8030667439873, 0, -2322.606614508606, 0, -440.0728322226833, 0, 0, 0, 0, 0, 0, 0, 0, -220.0364161113417, 0, -733.4547203711389, 0, 8801.456644453667, 0, 335.2935864553778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -385.0637281948479, 0, 5134.183042597972, 0, -6161.019651117567, 0, -7041.165315562933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85.56971737663287, 0, 2567.091521298986, 0, -12322.03930223513, 0, 11735.27552593822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42.78485868831644, 0, -855.6971737663287, 0, 3080.509825558783, 0, -2347.055105187644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.4925288806232314, 0, 0, 12.31322201558078, 0, 32.50690612113327, 0, 0, 0, 0, 5.417817686855545, 0, -845.179559149465, 0, -216.7127074742218, 0, 0, 0, 0, 0, 0, -48.7603591816999, 0, 487.603591816999, 0, 5851.243101803988, 0, 260.0552489690662, 0, 0, 0, 0, 0, 0, 0, 0, -48.7603591816999, 0, 2730.580114175195, 0, -9101.933713917315, 0, -7281.546971133852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.417817686855545, 0, 487.603591816999, 0, -9101.933713917315, 0, 18203.86742783463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.31322201558078, 0, -845.179559149465, 0, 5851.243101803988, 0, -7281.546971133852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4925288806232314, 0, 32.50690612113327, 0, -216.7127074742218, 0, 260.0552489690662, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5.78590428180594, 0, 0, 0, 0, -196.720745581402, 0, -84.85992946648712, 0, 0, 0, 0, 0, 0, 318.2247354993267, 0, 2970.097531327049, 0, 169.7198589329742, 0, 0, 0, 0, 0, 0, 0, 0, 763.7393651983841, 0, -7637.393651983841, 0, -6109.914921587073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -190.934841299596, 0, -3564.117037592459, 0, 21384.70222555475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -381.8696825991921, 0, 6364.494709986534, 0, -14256.46815036984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52.07313853625346, 0, -763.7393651983841, 0, 1527.478730396768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.5281783817851402, 0, 0, -22.71167041676103, 0, -25.35256232568673, 0, 0, 0, 0, 63.90958419600196, 0, 1115.512742330216, 0, 92.95939519418467, 0, 0, 0, 0, 0, 0, 87.14943299454813, 0, -4183.17278373831, 0, -4183.17278373831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -87.14943299454813, 0, 0, 0, 19521.47299077878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63.90958419600196, 0, 4183.17278373831, 0, -19521.47299077878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.71167041676103, 0, -1115.512742330216, 0, 4183.17278373831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5281783817851402, 0, 25.35256232568673, 0, -92.95939519418467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -5.281783817851402, 0, 0, 0, 0, 285.2163261639757, 0, 42.25427054281121, 0, 0, 0, 0, 0, 0, -1452.490549909135, 0, -2323.984879854617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 697.195463956385, 0, 13943.9092791277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1568.689793901866, 0, -19521.47299077878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -813.3947079491158, 0, 6971.95463956385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58.09962199636542, 0, -464.7969759709233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.5980442516269705, 0, 0, 38.87287635575308, 0, 15.54915054230123, 0, 0, 0, 0, -256.5609839479703, 0, -1026.243935791881, 0, 0, 0, 0, 0, 0, 0, 0, 256.5609839479703, 0, 7696.82951843911, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256.5609839479703, 0, -14367.41510108634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256.5609839479703, 0, 7696.82951843911, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38.87287635575308, 0, -1026.243935791881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5980442516269705, 0, 15.54915054230123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4.394709780272118, 0, 0, 0, 0, -342.7873628612252, 0, 0, 0, 0, 0, 0, 0, 0, 3142.217492894565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7541.321982946955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5655.991487210216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1256.886997157826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57.13122714353754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.830522083064524, 0, 0, -75.57750955887168, 0, 0, 0, 0, 0, 0, 831.3526051475885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2494.057815442766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494.057815442766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -831.3526051475885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75.57750955887168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.830522083064524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // l = 15 + 0, 12.66375976286059, 0, 0, 0, 0, -384.1340461401045, 0, 0, 0, 0, 0, 0, 0, 0, 2535.28470452469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5432.752938267193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4225.47450754115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1152.402138420314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88.64631834002413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.8442506508573726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 64.73811759282017, 0, 0, 0, 0, 0, 0, -1683.191057413324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9257.550815773284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15870.0871127542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9257.550815773284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1683.191057413324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64.73811759282017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -7.893350484654575, 0, 0, 0, 0, 165.7603601777461, 0, 221.0138135703281, 0, 0, 0, 0, 0, 0, -607.7879873184023, 0, -4862.303898547218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260.480565993601, 0, 21880.36754346248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 607.7879873184023, 0, -29173.82339128331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -386.7741737480742, 0, 12155.75974636805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46.75292210141556, 0, -1326.082881421969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6071808065118904, 0, 17.00106258233293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -66.77884815276176, 0, 0, 0, 0, 0, 0, 1157.500034647871, 0, 578.7500173239353, 0, 0, 0, 0, 0, 0, 0, 0, -3183.125095281644, 0, -10610.41698427215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38197.50114337973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3183.125095281644, 0, -38197.50114337973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1157.500034647871, 0, 10610.41698427215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66.77884815276176, 0, -578.7500173239353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5.890314521234328, 0, 0, 0, 0, -76.57408877604626, 0, -306.2963551041851, 0, 0, 0, 0, 0, 0, 76.57408877604626, 0, 4288.148971458591, 0, 1225.18542041674, 0, 0, 0, 0, 0, 0, 0, 0, 229.7222663281388, 0, -8270.001587812996, 0, -18377.7813062511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76.57408877604626, 0, -3675.556261250221, 0, 51457.78765750309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -118.3417735629806, 0, 7657.408877604626, 0, -36755.56261250221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.38060632958358, 0, -1503.636652329636, 0, 6125.927102083701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5354831382940298, 0, 27.84512319128955, 0, -111.3804927651582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 61.05447148378159, 0, 0, 0, 0, 0, 0, -610.5447148378159, 0, -976.8715437405055, 0, 0, 0, 0, 0, 0, 0, 0, 134.3198372643195, 0, 10745.58698114556, 0, 2149.117396229112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1611.838047171834, 0, -12894.70437737467, 0, -25789.40875474934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134.3198372643195, 0, -12894.70437737467, 0, 54157.75838497362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -610.5447148378159, 0, 10745.58698114556, 0, -25789.40875474934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61.05447148378159, 0, -976.8715437405055, 0, 2149.117396229112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -4.486569049517132, 0, 0, 0, 0, 28.4149373136085, 0, 323.0329715652335, 0, 0, 0, 0, 0, 0, 49.35225954468845, 0, -2368.908458145046, 0, -2368.908458145046, 0, 0, 0, 0, 0, 0, 0, 0, -49.35225954468845, 0, -1184.454229072523, 0, 19740.90381787538, 0, 3158.544610860061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93.22093469552263, 0, 4737.816916290091, 0, -11054.90613801021, 0, -29479.74970136057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.46866111553997, 0, 1974.090381787538, 0, -23689.08458145046, 0, 44219.62455204085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.45075318156282, 0, -1220.34678146866, 0, 9212.421781675177, 0, -12634.17844344024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4985076721685702, 0, 35.89255239613705, 0, -263.2120509050051, 0, 350.9494012066734, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -51.69118335186266, 0, 0, 0, 0, 0, 0, 206.7647334074506, 0, 1137.206033740979, 0, 0, 0, 0, 0, 0, 0, 0, 568.6030168704893, 0, -5686.030168704893, 0, -4548.824134963914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6823.236202445871, 0, 27292.94480978348, 0, 3898.992115683355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -568.6030168704893, 0, 6823.236202445871, 0, 0, 0, -27292.94480978348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -206.7647334074506, 0, 5686.030168704893, 0, -27292.94480978348, 0, 27292.94480978348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51.69118335186266, 0, -1137.206033740979, 0, 4548.824134963914, 0, -3898.992115683355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3.334384020345036, 0, 0, 0, 0, -3.334384020345036, 0, -293.4257937903632, 0, 0, 0, 0, 0, 0, -36.6782242237954, 0, 586.8515875807264, 0, 2934.257937903632, 0, 0, 0, 0, 0, 0, 0, 0, -47.15771685916551, 0, 2640.832144113269, 0, -8802.773813710896, 0, -7042.219050968717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.239746317685057, 0, 1509.046939493296, 0, -17605.54762742179, 0, 28168.87620387487, 0, 4024.125171982124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20.48264469640522, 0, -1047.949263537011, 0, 2515.078232488827, 0, 14084.43810193743, 0, -20120.62585991062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.097789763695088, 0, -754.5234697466482, 0, 7964.414402881287, 0, -20120.62585991062, 0, 12072.37551594637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4763405743350052, 0, 41.91797054148046, 0, -419.1797054148046, 0, 1006.031292995531, 0, -574.8750245688748, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40.21623606427654, 0, 0, 0, 0, 0, 0, 26.81082404285103, 0, -1072.432961714041, 0, 0, 0, 0, 0, 0, 0, 0, -254.7028284070847, 0, 357.4776539046803, 0, 5791.137993255822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -482.5948327713185, 0, 6434.597770284246, 0, -7721.517324341095, 0, -8824.591227818395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254.7028284070847, 0, 6434.597770284246, 0, -27025.31063519383, 0, 20590.71286490959, 0, 3431.785477484931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26.81082404285103, 0, 357.4776539046803, 0, -7721.517324341095, 0, 20590.71286490959, 0, -11439.28492494977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40.21623606427654, 0, -1072.432961714041, 0, 5791.137993255822, 0, -8824.591227818395, 0, 3431.785477484931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.312653286194929, 0, 0, 0, 0, -6.937959858584787, 0, 231.2653286194929, 0, 0, 0, 0, 0, 0, -0.4625306572389858, 0, 462.5306572389858, 0, -2775.183943433915, 0, 0, 0, 0, 0, 0, 0, 0, 20.81387957575436, 0, -416.2775915150872, 0, -2775.183943433915, 0, 8880.588618988527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.06449272053408, 0, -1665.110366060349, 0, 7770.515041614961, 0, 0, 0, -8880.588618988527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.1885730033645, 0, -1341.338905993059, 0, 12210.80935110922, 0, -24865.64813316788, 0, 8880.588618988527, 0, 2368.156965063607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.312653286194929, 0, -277.5183943433915, 0, 3885.257520807481, 0, -14208.94179038164, 0, 15985.05951417935, 0, -4736.313930127214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4625306572389858, 0, 46.25306572389858, 0, -555.0367886867829, 0, 1776.117723797705, 0, -1776.117723797705, 0, 473.6313930127214, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -27.44175328360903, 0, 0, 0, 0, 0, 0, -109.7670131344361, 0, 823.252598508271, 0, 0, 0, 0, 0, 0, 0, 0, -137.2087664180452, 0, 2469.757795524813, 0, -5268.816630452934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1646.505197016542, 0, -10537.63326090587, 0, 10537.63326090587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137.2087664180452, 0, -1646.505197016542, 0, 0, 0, 10537.63326090587, 0, -7025.088840603912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109.7670131344361, 0, -2469.757795524813, 0, 10537.63326090587, 0, -10537.63326090587, 0, 0, 0, 1277.288880109802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27.44175328360903, 0, -823.252598508271, 0, 5268.816630452934, 0, -10537.63326090587, 0, 7025.088840603912, 0, -1277.288880109802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.363030880952603, 0, 0, 0, 0, 7.723841658731416, 0, -147.2073351428811, 0, 0, 0, 0, 0, 0, 17.71940145238384, 0, -686.9675640001119, 0, 1962.764468571748, 0, 0, 0, 0, 0, 0, 0, 0, 20.44546321428904, 0, -1226.727792857343, 0, 7196.803051429743, 0, -7327.654016001193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.35859067460502, 0, -981.3822342858741, 0, 9159.567520001492, 0, -19540.41070933652, 0, 9421.269449144391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.363030880952603, 0, -245.3455585714685, 0, 3925.528937143496, 0, -14655.30803200239, 0, 15702.11574857399, 0, -4187.230866286396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.363030880952603, 0, 98.13822342858741, 0, -654.2548228572494, 0, 0, 0, 3140.423149714797, 0, -2791.487244190931, 0, 507.543135307442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.454343626984201, 0, 49.0691117142937, 0, -654.2548228572494, 0, 2442.551338667064, 0, -3140.423149714797, 0, 1395.743622095465, 0, -169.1810451024807, 0, 0, 0, + 0, 0, 0, 0, 13.90024211921377, 0, 0, 0, 0, 0, 0, 83.40145271528264, 0, -444.8077478148407, 0, 0, 0, 0, 0, 0, 0, 0, 208.5036317882066, 0, -2224.038739074204, 0, 3113.654234703885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278.0048423842755, 0, -4448.077478148407, 0, 12454.61693881554, 0, -7116.923965037452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208.5036317882066, 0, -4448.077478148407, 0, 18681.92540822331, 0, -21350.77189511235, 0, 5930.769970864543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83.40145271528264, 0, -2224.038739074204, 0, 12454.61693881554, 0, -21350.77189511235, 0, 11861.53994172909, 0, -1725.31490061514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.90024211921377, 0, -444.8077478148407, 0, 3113.654234703885, 0, -7116.923965037452, 0, 5930.769970864543, 0, -1725.31490061514, 0, 132.7165308165492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.4505094349975498, 0, 0, 0, 0, -3.153566044982849, 0, 50.45705671972558, 0, 0, 0, 0, 0, 0, -9.460698134948546, 0, 302.7423403183535, 0, -706.3987940761581, 0, 0, 0, 0, 0, 0, 0, 0, -15.76783022491424, 0, 756.8558507958837, 0, -3531.99397038079, 0, 2825.595176304632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.76783022491424, 0, 1009.141134394512, 0, -7063.987940761581, 0, 11302.38070521853, 0, -4036.564537578046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.460698134948546, 0, 756.8558507958837, 0, -7063.987940761581, 0, 16953.57105782779, 0, -12109.69361273414, 0, 2152.834420041625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.153566044982849, 0, 302.7423403183535, 0, -3531.99397038079, 0, 11302.38070521853, 0, -12109.69361273414, 0, 4305.668840083249, 0, -391.4244400075681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4505094349975498, 0, 50.45705671972558, 0, -706.3987940761581, 0, 2825.595176304632, 0, -4036.564537578046, 0, 2152.834420041625, 0, -391.4244400075681, 0, 17.20546989044255, 0, + 0, 0, -4.935083598341307, 0, 0, 0, 0, -34.54558518838915, 0, 161.2127308791494, 0, 0, 0, 0, 0, 0, -103.6367555651675, 0, 967.2763852748962, 0, -1160.731662329875, 0, 0, 0, 0, 0, 0, 0, 0, -172.7279259419458, 0, 2418.190963187241, 0, -5803.658311649377, 0, 2763.646815071132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -172.7279259419458, 0, 3224.254617582987, 0, -11607.31662329875, 0, 11054.58726028453, 0, -2456.574946729895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -103.6367555651675, 0, 2418.190963187241, 0, -11607.31662329875, 0, 16581.88089042679, 0, -7369.724840189685, 0, 803.9699825661475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.54558518838915, 0, 967.2763852748962, 0, -5803.658311649377, 0, 11054.58726028453, 0, -7369.724840189685, 0, 1607.939965132295, 0, -82.4584597503741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.935083598341307, 0, 161.2127308791494, 0, -1160.731662329875, 0, 2763.646815071132, 0, -2456.574946729895, 0, 803.9699825661475, 0, -82.4584597503741, 0, 1.570637328578554, + -0.4505094349975498, 0, 0, -3.153566044982849, 0, 50.45705671972558, 0, 0, 0, 0, -9.460698134948546, 0, 302.7423403183535, 0, -706.3987940761581, 0, 0, 0, 0, 0, 0, -15.76783022491424, 0, 756.8558507958837, 0, -3531.99397038079, 0, 2825.595176304632, 0, 0, 0, 0, 0, 0, 0, 0, -15.76783022491424, 0, 1009.141134394512, 0, -7063.987940761581, 0, 11302.38070521853, 0, -4036.564537578046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.460698134948546, 0, 756.8558507958837, 0, -7063.987940761581, 0, 16953.57105782779, 0, -12109.69361273414, 0, 2152.834420041625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.153566044982849, 0, 302.7423403183535, 0, -3531.99397038079, 0, 11302.38070521853, 0, -12109.69361273414, 0, 4305.668840083249, 0, -391.4244400075681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4505094349975498, 0, 50.45705671972558, 0, -706.3987940761581, 0, 2825.595176304632, 0, -4036.564537578046, 0, 2152.834420041625, 0, -391.4244400075681, 0, 17.20546989044255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6.950121059606886, 0, 0, 0, 0, 34.75060529803443, 0, -222.4038739074204, 0, 0, 0, 0, 0, 0, 62.55108953646198, 0, -889.6154956296814, 0, 1556.827117351943, 0, 0, 0, 0, 0, 0, 0, 0, 34.75060529803443, 0, -1112.019369537102, 0, 4670.481352055828, 0, -3558.461982518726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.75060529803443, 0, 0, 0, 3113.654234703885, 0, -7116.923965037452, 0, 2965.384985432271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62.55108953646198, 0, 1112.019369537102, 0, -3113.654234703885, 0, 0, 0, 2965.384985432271, 0, -862.6574503075699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.75060529803443, 0, 889.6154956296814, 0, -4670.481352055828, 0, 7116.923965037452, 0, -2965.384985432271, 0, 0, 0, 66.35826540827461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.950121059606886, 0, 222.4038739074204, 0, -1556.827117351943, 0, 3558.461982518726, 0, -2965.384985432271, 0, 862.6574503075699, 0, -66.35826540827461, 0, 0, + 0.454343626984201, 0, 0, 1.363030880952603, 0, -49.0691117142937, 0, 0, 0, 0, -1.363030880952603, 0, -98.13822342858741, 0, 654.2548228572494, 0, 0, 0, 0, 0, 0, -11.35859067460502, 0, 245.3455585714685, 0, 654.2548228572494, 0, -2442.551338667064, 0, 0, 0, 0, 0, 0, 0, 0, -20.44546321428904, 0, 981.3822342858741, 0, -3925.528937143496, 0, 0, 0, 3140.423149714797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.71940145238384, 0, 1226.727792857343, 0, -9159.567520001492, 0, 14655.30803200239, 0, -3140.423149714797, 0, -1395.743622095465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.723841658731416, 0, 686.9675640001119, 0, -7196.803051429743, 0, 19540.41070933652, 0, -15702.11574857399, 0, 2791.487244190931, 0, 169.1810451024807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.363030880952603, 0, 147.2073351428811, 0, -1962.764468571748, 0, 7327.654016001193, 0, -9421.269449144391, 0, 4187.230866286396, 0, -507.543135307442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -6.860438320902258, 0, 0, 0, 0, 6.860438320902258, 0, 205.8131496270677, 0, 0, 0, 0, 0, 0, 130.3483280971429, 0, -411.6262992541355, 0, -1317.204157613234, 0, 0, 0, 0, 0, 0, 0, 0, 308.7197244406016, 0, -3498.823543660152, 0, 3951.612472839701, 0, 2634.408315226467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308.7197244406016, 0, -5762.768189557897, 0, 18440.85820658527, 0, -10537.63326090587, 0, -1756.272210150978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130.3483280971429, 0, -3498.823543660152, 0, 18440.85820658527, 0, -26344.08315226467, 0, 8781.36105075489, 0, 319.3222200274506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.860438320902258, 0, -411.6262992541355, 0, 3951.612472839701, 0, -10537.63326090587, 0, 8781.36105075489, 0, -1915.933320164703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.860438320902258, 0, 205.8131496270677, 0, -1317.204157613234, 0, 2634.408315226467, 0, -1756.272210150978, 0, 319.3222200274506, 0, 0, 0, 0, + -0.4625306572389858, 0, 0, 2.312653286194929, 0, 46.25306572389858, 0, 0, 0, 0, 16.1885730033645, 0, -277.5183943433915, 0, -555.0367886867829, 0, 0, 0, 0, 0, 0, 30.06449272053408, 0, -1341.338905993059, 0, 3885.257520807481, 0, 1776.117723797705, 0, 0, 0, 0, 0, 0, 0, 0, 20.81387957575436, 0, -1665.110366060349, 0, 12210.80935110922, 0, -14208.94179038164, 0, -1776.117723797705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4625306572389858, 0, -416.2775915150872, 0, 7770.515041614961, 0, -24865.64813316788, 0, 15985.05951417935, 0, 473.6313930127214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.937959858584787, 0, 462.5306572389858, 0, -2775.183943433915, 0, 0, 0, 8880.588618988527, 0, -4736.313930127214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.312653286194929, 0, 231.2653286194929, 0, -2775.183943433915, 0, 8880.588618988527, 0, -8880.588618988527, 0, 2368.156965063607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6.702706010712756, 0, 0, 0, 0, -73.72976611784032, 0, -178.7388269523402, 0, 0, 0, 0, 0, 0, -261.4055344177975, 0, 2144.865923428082, 0, 965.1896655426369, 0, 0, 0, 0, 0, 0, 0, 0, -180.9730622892444, 0, 4825.948327713185, 0, -12547.46565205428, 0, -1470.765204636399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180.9730622892444, 0, 0, 0, -13512.65531759692, 0, 20590.71286490959, 0, 571.9642462474885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261.4055344177975, 0, -4825.948327713185, 0, 13512.65531759692, 0, 0, 0, -8579.463693712328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73.72976611784032, 0, -2144.865923428082, 0, 12547.46565205428, 0, -20590.71286490959, 0, 8579.463693712328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.702706010712756, 0, 178.7388269523402, 0, -965.1896655426369, 0, 1470.765204636399, 0, -571.9642462474885, 0, 0, 0, 0, 0, 0, + 0.4763405743350052, 0, 0, -8.097789763695088, 0, -41.91797054148046, 0, 0, 0, 0, -20.48264469640522, 0, 754.5234697466482, 0, 419.1797054148046, 0, 0, 0, 0, 0, 0, 5.239746317685057, 0, 1047.949263537011, 0, -7964.414402881287, 0, -1006.031292995531, 0, 0, 0, 0, 0, 0, 0, 0, 47.15771685916551, 0, -1509.046939493296, 0, -2515.078232488827, 0, 20120.62585991062, 0, 574.8750245688748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36.6782242237954, 0, -2640.832144113269, 0, 17605.54762742179, 0, -14084.43810193743, 0, -12072.37551594637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.334384020345036, 0, -586.8515875807264, 0, 8802.773813710896, 0, -28168.87620387487, 0, 20120.62585991062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.334384020345036, 0, 293.4257937903632, 0, -2934.257937903632, 0, 7042.219050968717, 0, -4024.125171982124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -6.461397918982832, 0, 0, 0, 0, 161.5349479745708, 0, 142.1507542176223, 0, 0, 0, 0, 0, 0, 71.07537710881116, 0, -3695.91960965818, 0, -568.6030168704893, 0, 0, 0, 0, 0, 0, 0, 0, -639.6783939793004, 0, 2132.261313264335, 0, 15352.28145550321, 0, 487.3740144604194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -639.6783939793004, 0, 11940.66335428027, 0, -23881.32670856055, 0, -13646.47240489174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71.07537710881116, 0, 2132.261313264335, 0, -23881.32670856055, 0, 34116.18101222936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161.5349479745708, 0, -3695.91960965818, 0, 15352.28145550321, 0, -13646.47240489174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.461397918982832, 0, 142.1507542176223, 0, -568.6030168704893, 0, 487.3740144604194, 0, 0, 0, 0, 0, 0, 0, 0, + -0.4985076721685702, 0, 0, 16.45075318156282, 0, 35.89255239613705, 0, 0, 0, 0, -10.46866111553997, 0, -1220.34678146866, 0, -263.2120509050051, 0, 0, 0, 0, 0, 0, -93.22093469552263, 0, 1974.090381787538, 0, 9212.421781675177, 0, 350.9494012066734, 0, 0, 0, 0, 0, 0, 0, 0, -49.35225954468845, 0, 4737.816916290091, 0, -23689.08458145046, 0, -12634.17844344024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49.35225954468845, 0, -1184.454229072523, 0, -11054.90613801021, 0, 44219.62455204085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.4149373136085, 0, -2368.908458145046, 0, 19740.90381787538, 0, -29479.74970136057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.486569049517132, 0, 323.0329715652335, 0, -2368.908458145046, 0, 3158.544610860061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6.105447148378159, 0, 0, 0, 0, -262.5342273802609, 0, -97.68715437405055, 0, 0, 0, 0, 0, 0, 738.7591049537573, 0, 4298.234792458224, 0, 214.9117396229112, 0, 0, 0, 0, 0, 0, 0, 0, 1007.398779482396, 0, -16118.38047171834, 0, -9671.028283031004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1007.398779482396, 0, 0, 0, 45131.46532081135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -738.7591049537573, 0, 16118.38047171834, 0, -45131.46532081135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262.5342273802609, 0, -4298.234792458224, 0, 9671.028283031004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.105447148378159, 0, 97.68715437405055, 0, -214.9117396229112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.5354831382940298, 0, 0, -28.38060632958358, 0, -27.84512319128955, 0, 0, 0, 0, 118.3417735629806, 0, 1503.636652329636, 0, 111.3804927651582, 0, 0, 0, 0, 0, 0, 76.57408877604626, 0, -7657.408877604626, 0, -6125.927102083701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -229.7222663281388, 0, 3675.556261250221, 0, 36755.56261250221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76.57408877604626, 0, 8270.001587812996, 0, -51457.78765750309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76.57408877604626, 0, -4288.148971458591, 0, 18377.7813062511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.890314521234328, 0, 306.2963551041851, 0, -1225.18542041674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -5.564904012730147, 0, 0, 0, 0, 361.7187608274595, 0, 48.22916811032794, 0, 0, 0, 0, 0, 0, -2387.343821461233, 0, -3183.125095281644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2387.343821461233, 0, 23873.43821461233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2387.343821461233, 0, -44563.75133394302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2387.343821461233, 0, 23873.43821461233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361.7187608274595, 0, -3183.125095281644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.564904012730147, 0, 48.22916811032794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.6071808065118904, 0, 0, 46.75292210141556, 0, 17.00106258233293, 0, 0, 0, 0, -386.7741737480742, 0, -1326.082881421969, 0, 0, 0, 0, 0, 0, 0, 0, 607.7879873184023, 0, 12155.75974636805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260.480565993601, 0, -29173.82339128331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -607.7879873184023, 0, 21880.36754346248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165.7603601777461, 0, -4862.303898547218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.893350484654575, 0, 221.0138135703281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4.624151256630012, 0, 0, 0, 0, -420.7977643533311, 0, 0, 0, 0, 0, 0, 0, 0, 4628.775407886642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13886.32622365993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13886.32622365993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4628.775407886642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420.7977643533311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.624151256630012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.8442506508573726, 0, 0, -88.64631834002413, 0, 0, 0, 0, 0, 0, 1152.402138420314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4225.47450754115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5432.752938267193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2535.28470452469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384.1340461401045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.66375976286059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + */ +}; + +/* + * Real part of cartesian to spinor transformation + * / xyz_alpha \ + * \ xyz_beta / + */ + // this takes up 135 KiB code +static dtype g_trans_cart2jR[] = { + 0, + 1, + 1, + 0, + -0.577350269189625764, // p1/2 + 0, + 0, + 0, + 0, + 0.577350269189625764, + 0, + 0, + -0.577350269189625764, + -0.577350269189625764, + 0, + 0, + 0, // p3/2 + 0, + 0, + 0.707106781186547524, + 0, + 0, + 0.408248290463863016, + 0, + 0, + 0, + 0, + 0.816496580927726033, + 0, + 0, + 0.816496580927726033, + -0.408248290463863016, + 0, + 0, + -0.707106781186547524, + 0, + 0, + 0, + 0, + 0, + -0.345494149471335479, // d3/2 + 0, + 0, + 0.345494149471335479, + 0, + 0, + 0, + 0, + 0.345494149471335479, + 0, + 0, + 0, + 0, + 0, + -0.598413420602149016, + 0, + 0, + 0, + -0.199471140200716338, + 0, + 0, + -0.199471140200716338, + 0, + 0.398942280401432677, + 0.199471140200716338, + 0, + 0, + 0.199471140200716338, + 0, + -0.398942280401432677, + 0, + 0, + -0.598413420602149016, + 0, + 0, + 0, + 0, + 0, + 0.345494149471335479, + 0, + 0, + 0, + 0.345494149471335479, + 0, + 0, + -0.345494149471335479, + 0, + 0, + 0, // d5/2 + 0, + 0, + 0, + 0, + 0, + 0.386274202023189580, + 0, + 0, + -0.386274202023189580, + 0, + 0, + 0.172747074735667739, + 0, + 0, + -0.172747074735667739, + 0, + 0, + 0, + 0, + 0.690988298942670958, + 0, + 0, + 0, + 0, + 0, + 0.488602511902919921, + 0, + 0, + 0, + -0.244301255951459960, + 0, + 0, + -0.244301255951459960, + 0, + 0.488602511902919921, + -0.244301255951459960, + 0, + 0, + -0.244301255951459960, + 0, + 0.488602511902919921, + 0, + 0, + -0.488602511902919921, + 0, + 0, + 0, + 0, + 0, + -0.690988298942670958, + 0, + 0, + 0, + 0.172747074735667739, + 0, + 0, + -0.172747074735667739, + 0, + 0, + 0.386274202023189580, + 0, + 0, + -0.386274202023189580, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.386274202023189580, // f5/2 + 0, + 0, + 1.158822606069568741, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.386274202023189580, + 0, + 0, + 0, + 0, + -0.386274202023189580, + 0, + 0, + 0, + 0, + -0.863735373678338698, + 0, + 0, + 0, + 0, + 0.863735373678338698, + 0, + 0, + -0.172747074735667739, + 0, + 0, + -0.172747074735667739, + 0, + 0.690988298942670958, + 0, + 0, + 0, + 0, + 0.244301255951459960, + 0, + 0, + 0.244301255951459960, + 0, + -0.977205023805839843, + 0, + 0, + 0, + 0, + 0, + 0, + -0.732903767854379882, + 0, + 0, + 0, + 0, + -0.732903767854379882, + 0, + 0.488602511902919921, + 0, + 0, + 0.732903767854379882, + 0, + 0, + 0, + 0, + 0.732903767854379882, + 0, + -0.488602511902919921, + 0.244301255951459960, + 0, + 0, + 0.244301255951459960, + 0, + -0.977205023805839843, + 0, + 0, + 0, + 0, + -0.172747074735667739, + 0, + 0, + -0.172747074735667739, + 0, + 0.690988298942670958, + 0, + 0, + 0, + 0, + 0, + 0, + 0.863735373678338698, + 0, + 0, + 0, + 0, + -0.863735373678338698, + 0, + 0, + 0, + 0, + -0.386274202023189580, + 0, + 0, + 0, + 0, + 0.386274202023189580, + 0, + 0, + -0.386274202023189580, + 0, + 0, + 1.158822606069568741, + 0, + 0, + 0, + 0, + 0, + 0, + 0, // f7/2 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.417223823632784089, + 0, + 0, + -1.251671470898352269, + 0, + 0, + 0, + 0, + 0, + 0, + 0.157695782626260003, + 0, + 0, + -0.473087347878780009, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.946174695757560018, + 0, + 0, + 0, + 0, + -0.946174695757560018, + 0, + 0, + 0, + 0, + 0.546274215296039535, + 0, + 0, + 0, + 0, + -0.546274215296039535, + 0, + 0, + -0.273137107648019767, + 0, + 0, + -0.273137107648019767, + 0, + 1.092548430592079070, + 0, + 0, + 0, + 0, + -0.211571093830408607, + 0, + 0, + -0.211571093830408607, + 0, + 0.846284375321634430, + 0, + 0, + 0, + 0, + 0, + 0, + -0.846284375321634430, + 0, + 0, + 0, + 0, + -0.846284375321634430, + 0, + 0.564189583547756286, + 0, + 0, + -0.846284375321634430, + 0, + 0, + 0, + 0, + -0.846284375321634430, + 0, + 0.564189583547756286, + 0.211571093830408607, + 0, + 0, + 0.211571093830408607, + 0, + -0.846284375321634430, + 0, + 0, + 0, + 0, + 0.273137107648019767, + 0, + 0, + 0.273137107648019767, + 0, + -1.092548430592079070, + 0, + 0, + 0, + 0, + 0, + 0, + 0.546274215296039535, + 0, + 0, + 0, + 0, + -0.546274215296039535, + 0, + 0, + 0, + 0, + 0.946174695757560018, + 0, + 0, + 0, + 0, + -0.946174695757560018, + 0, + 0, + -0.157695782626260003, + 0, + 0, + 0.473087347878780009, + 0, + 0, + 0, + 0, + 0, + 0, + -0.417223823632784089, + 0, + 0, + 1.251671470898352269, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + // g7/2, -7/2 + -0.417223823632784089, 0, 0, 2.503342941796704538, 0, 0, 0, 0, 0, 0, -0.417223823632784089, 0, 0, 0, 0, + 0, 0, 0.417223823632784089, 0, 0, 0, 0, -1.251671470898352269, 0, 0, 0, 0, 0, 0, 0, + // g7/2, -5/2 + 0, 0, -1.103870478383820021, 0, 0, 0, 0, 3.311611435151460063, 0, 0, 0, 0, 0, 0, 0, + -0.157695782626260003, 0, 0, 0, 0, 0.946174695757560018, 0, 0, 0, 0, 0.157695782626260003, 0, -0.946174695757560018, 0, 0, + // g7/2, -3/2 + 0.273137107648019767, 0, 0, 0, 0, -1.638822645888118605, 0, 0, 0, 0, -0.273137107648019767, 0, 1.638822645888118605, 0, 0, + 0, 0, -0.819411322944059302, 0, 0, 0, 0, -0.819411322944059302, 0, 1.092548430592079070, 0, 0, 0, 0, 0, + // g7/2, -1/2 + 0, 0, 1.057855469152043038, 0, 0, 0, 0, 1.057855469152043038, 0, -1.410473958869390717, 0, 0, 0, 0, 0, + 0.211571093830408607, 0, 0, 0.423142187660817215, 0, -1.692568750643268860, 0, 0, 0, 0, 0.211571093830408607, 0, -1.692568750643268860, 0, 0.564189583547756286, + // g7/2, 1/2 + -0.211571093830408607, 0, 0, -0.423142187660817215, 0, 1.692568750643268860, 0, 0, 0, 0, -0.211571093830408607, 0, 1.692568750643268860, 0, -0.564189583547756286, + 0, 0, 1.057855469152043038, 0, 0, 0, 0, 1.057855469152043038, 0, -1.410473958869390717, 0, 0, 0, 0, 0, + // g7/2, 3/2 + 0, 0, -0.819411322944059302, 0, 0, 0, 0, -0.819411322944059302, 0, 1.092548430592079070, 0, 0, 0, 0, 0, + -0.273137107648019767, 0, 0, 0, 0, 1.638822645888118605, 0, 0, 0, 0, 0.273137107648019767, 0, -1.638822645888118605, 0, 0, + // g7/2, 5/2 + 0.157695782626260003, 0, 0, 0, 0, -0.946174695757560018, 0, 0, 0, 0, -0.157695782626260003, 0, 0.946174695757560018, 0, 0, + 0, 0, -1.103870478383820021, 0, 0, 0, 0, 3.311611435151460063, 0, 0, 0, 0, 0, 0, 0, + // g7/2, 7/2 + 0, 0, 0.417223823632784089, 0, 0, 0, 0, -1.251671470898352269, 0, 0, 0, 0, 0, 0, 0, + 0.417223823632784089, 0, 0, -2.503342941796704538, 0, 0, 0, 0, 0, 0, 0.417223823632784089, 0, 0, 0, 0, + // g9/2, -9/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.442532692444982632, 0, 0, -2.655196154669895796, 0, 0, 0, 0, 0, 0, 0.442532692444982632, 0, 0, 0, 0, + // g9/2, -7/2 + 0.147510897481660877, 0, 0, -0.885065384889965265, 0, 0, 0, 0, 0, 0, 0.147510897481660877, 0, 0, 0, 0, + 0, 0, 1.180087179853287020, 0, 0, 0, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 0, + // g9/2, -5/2 + 0, 0, 0.590043589926643510, 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, 0, + -0.295021794963321755, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0.295021794963321755, 0, -1.770130769779930531, 0, 0, + // g9/2, -3/2 + -0.193137101011594790, 0, 0, 0, 0, 1.158822606069568741, 0, 0, 0, 0, 0.193137101011594790, 0, -1.158822606069568741, 0, 0, + 0, 0, -1.158822606069568741, 0, 0, 0, 0, -1.158822606069568741, 0, 1.545096808092758321, 0, 0, 0, 0, 0, + // g9/2, -1/2 + 0, 0, -0.946174695757560018, 0, 0, 0, 0, -0.946174695757560018, 0, 1.261566261010080024, 0, 0, 0, 0, 0, + 0.236543673939390004, 0, 0, 0.473087347878780009, 0, -1.892349391515120036, 0, 0, 0, 0, 0.236543673939390004, 0, -1.892349391515120036, 0, 0.630783130505040012, + // g9/2, 1/2 + 0.236543673939390004, 0, 0, 0.473087347878780009, 0, -1.892349391515120036, 0, 0, 0, 0, 0.236543673939390004, 0, -1.892349391515120036, 0, 0.630783130505040012, + 0, 0, 0.946174695757560018, 0, 0, 0, 0, 0.946174695757560018, 0, -1.261566261010080024, 0, 0, 0, 0, 0, + // g9/2, 3/2 + 0, 0, 1.158822606069568741, 0, 0, 0, 0, 1.158822606069568741, 0, -1.545096808092758321, 0, 0, 0, 0, 0, + -0.193137101011594790, 0, 0, 0, 0, 1.158822606069568741, 0, 0, 0, 0, 0.193137101011594790, 0, -1.158822606069568741, 0, 0, + // g9/2, 5/2 + -0.295021794963321755, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0.295021794963321755, 0, -1.770130769779930531, 0, 0, + 0, 0, -0.590043589926643510, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 0, + // g9/2, 7/2 + 0, 0, -1.180087179853287020, 0, 0, 0, 0, 3.540261539559861062, 0, 0, 0, 0, 0, 0, 0, + 0.147510897481660877, 0, 0, -0.885065384889965265, 0, 0, 0, 0, 0, 0, 0.147510897481660877, 0, 0, 0, 0, + // g9/2, 9/2 + 0.442532692444982632, 0, 0, -2.655196154669895796, 0, 0, 0, 0, 0, 0, 0.442532692444982632, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, -9/2 + -0.442532692444982632, 0, 0, 4.425326924449826327, 0, 0, 0, 0, 0, 0, -2.212663462224913163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.442532692444982632, 0, 0, 0, 0, -2.655196154669895796, 0, 0, 0, 0, 0, 0, 0, 0, 0.442532692444982632, 0, 0, 0, 0, + // h9/2, -7/2 + 0, 0, -1.327598077334947898, 0, 0, 0, 0, 7.965588464009687389, 0, 0, 0, 0, 0, 0, 0, 0, -1.327598077334947898, 0, 0, 0, 0, + -0.147510897481660877, 0, 0, 0.295021794963321755, 0, 1.180087179853287020, 0, 0, 0, 0, 0.442532692444982632, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, -5/2 + 0.295021794963321755, 0, 0, -0.590043589926643510, 0, -2.360174359706574041, 0, 0, 0, 0, -0.885065384889965265, 0, 7.080523079119722124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -0.885065384889965265, 0, 0, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 0.885065384889965265, 0, -1.770130769779930531, 0, 0, + // h9/2, -3/2 + 0, 0, 1.351959707081163531, 0, 0, 0, 0, 0, 0, -2.703919414162327062, 0, 0, 0, 0, 0, 0, -1.351959707081163531, 0, 2.703919414162327062, 0, 0, + 0.193137101011594790, 0, 0, 0.386274202023189580, 0, -2.317645212139137482, 0, 0, 0, 0, 0.193137101011594790, 0, -2.317645212139137482, 0, 1.545096808092758321, 0, 0, 0, 0, 0, 0, + // h9/2, -1/2 + -0.236543673939390004, 0, 0, -0.473087347878780009, 0, 2.838524087272680054, 0, 0, 0, 0, -0.236543673939390004, 0, 2.838524087272680054, 0, -1.892349391515120036, 0, 0, 0, 0, 0, 0, + 0, 0, 1.182718369696950022, 0, 0, 0, 0, 2.365436739393900045, 0, -3.153915652525200060, 0, 0, 0, 0, 0, 0, 1.182718369696950022, 0, -3.153915652525200060, 0, 0.630783130505040012, + // h9/2, 1/2 + 0, 0, -1.182718369696950022, 0, 0, 0, 0, -2.365436739393900045, 0, 3.153915652525200060, 0, 0, 0, 0, 0, 0, -1.182718369696950022, 0, 3.153915652525200060, 0, -0.630783130505040012, + -0.236543673939390004, 0, 0, -0.473087347878780009, 0, 2.838524087272680054, 0, 0, 0, 0, -0.236543673939390004, 0, 2.838524087272680054, 0, -1.892349391515120036, 0, 0, 0, 0, 0, 0, + // h9/2, 3/2 + 0.193137101011594790, 0, 0, 0.386274202023189580, 0, -2.317645212139137482, 0, 0, 0, 0, 0.193137101011594790, 0, -2.317645212139137482, 0, 1.545096808092758321, 0, 0, 0, 0, 0, 0, + 0, 0, -1.351959707081163531, 0, 0, 0, 0, 0, 0, 2.703919414162327062, 0, 0, 0, 0, 0, 0, 1.351959707081163531, 0, -2.703919414162327062, 0, 0, + // h9/2, 5/2 + 0, 0, 0.885065384889965265, 0, 0, 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, -0.885065384889965265, 0, 1.770130769779930531, 0, 0, + 0.295021794963321755, 0, 0, -0.590043589926643510, 0, -2.360174359706574041, 0, 0, 0, 0, -0.885065384889965265, 0, 7.080523079119722124, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, 7/2 + -0.147510897481660877, 0, 0, 0.295021794963321755, 0, 1.180087179853287020, 0, 0, 0, 0, 0.442532692444982632, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.327598077334947898, 0, 0, 0, 0, -7.965588464009687389, 0, 0, 0, 0, 0, 0, 0, 0, 1.327598077334947898, 0, 0, 0, 0, + // h9/2, 9/2 + 0, 0, -0.442532692444982632, 0, 0, 0, 0, 2.655196154669895796, 0, 0, 0, 0, 0, 0, 0, 0, -0.442532692444982632, 0, 0, 0, 0, + -0.442532692444982632, 0, 0, 4.425326924449826327, 0, 0, 0, 0, 0, 0, -2.212663462224913163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, -11/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.464132203440858160, 0, 0, -4.641322034408581606, 0, 0, 0, 0, 0, 0, 2.320661017204290803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, -9/2 + 0.139941124721293271, 0, 0, -1.399411247212932717, 0, 0, 0, 0, 0, 0, 0.699705623606466358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.399411247212932717, 0, 0, 0, 0, -8.396467483277596306, 0, 0, 0, 0, 0, 0, 0, 0, 1.399411247212932717, 0, 0, 0, 0, + // h11/2, -7/2 + 0, 0, 0.625835735449176134, 0, 0, 0, 0, -3.755014412695056807, 0, 0, 0, 0, 0, 0, 0, 0, 0.625835735449176134, 0, 0, 0, 0, + -0.312917867724588067, 0, 0, 0.625835735449176134, 0, 2.503342941796704538, 0, 0, 0, 0, 0.938753603173764201, 0, -7.510028825390113615, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, -5/2 + -0.180663215165034628, 0, 0, 0.361326430330069256, 0, 1.445305721320277027, 0, 0, 0, 0, 0.541989645495103885, 0, -4.335917163960831083, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.445305721320277027, 0, 0, 0, 0, 0, 0, 2.890611442640554055, 0, 0, 0, 0, 0, 0, 1.445305721320277027, 0, -2.890611442640554055, 0, 0, + // h11/2, -3/2 + 0, 0, -1.021985476433282363, 0, 0, 0, 0, 0, 0, 2.043970952866564726, 0, 0, 0, 0, 0, 0, 1.021985476433282363, 0, -2.043970952866564726, 0, 0, + 0.255496369108320590, 0, 0, 0.510992738216641181, 0, -3.065956429299847090, 0, 0, 0, 0, 0.255496369108320590, 0, -3.065956429299847090, 0, 2.043970952866564726, 0, 0, 0, 0, 0, 0, + // h11/2, -1/2 + 0.215933843419584674, 0, 0, 0.431867686839169349, 0, -2.591206121035016094, 0, 0, 0, 0, 0.215933843419584674, 0, -2.591206121035016094, 0, 1.727470747356677396, 0, 0, 0, 0, 0, 0, + 0, 0, 1.295603060517508047, 0, 0, 0, 0, 2.591206121035016094, 0, -3.454941494713354792, 0, 0, 0, 0, 0, 0, 1.295603060517508047, 0, -3.454941494713354792, 0, 0.690988298942670958, + // h11/2, 1/2 + 0, 0, 1.295603060517508047, 0, 0, 0, 0, 2.591206121035016094, 0, -3.454941494713354792, 0, 0, 0, 0, 0, 0, 1.295603060517508047, 0, -3.454941494713354792, 0, 0.690988298942670958, + -0.215933843419584674, 0, 0, -0.431867686839169349, 0, 2.591206121035016094, 0, 0, 0, 0, -0.215933843419584674, 0, 2.591206121035016094, 0, -1.727470747356677396, 0, 0, 0, 0, 0, 0, + // h11/2, 3/2 + -0.255496369108320590, 0, 0, -0.510992738216641181, 0, 3.065956429299847090, 0, 0, 0, 0, -0.255496369108320590, 0, 3.065956429299847090, 0, -2.043970952866564726, 0, 0, 0, 0, 0, 0, + 0, 0, -1.021985476433282363, 0, 0, 0, 0, 0, 0, 2.043970952866564726, 0, 0, 0, 0, 0, 0, 1.021985476433282363, 0, -2.043970952866564726, 0, 0, + // h11/2, 5/2 + 0, 0, -1.445305721320277027, 0, 0, 0, 0, 0, 0, 2.890611442640554055, 0, 0, 0, 0, 0, 0, 1.445305721320277027, 0, -2.890611442640554055, 0, 0, + 0.180663215165034628, 0, 0, -0.361326430330069256, 0, -1.445305721320277027, 0, 0, 0, 0, -0.541989645495103885, 0, 4.335917163960831083, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, 7/2 + 0.312917867724588067, 0, 0, -0.625835735449176134, 0, -2.503342941796704538, 0, 0, 0, 0, -0.938753603173764201, 0, 7.510028825390113615, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.625835735449176134, 0, 0, 0, 0, -3.755014412695056807, 0, 0, 0, 0, 0, 0, 0, 0, 0.625835735449176134, 0, 0, 0, 0, + // h11/2, 9/2 + 0, 0, 1.399411247212932717, 0, 0, 0, 0, -8.396467483277596306, 0, 0, 0, 0, 0, 0, 0, 0, 1.399411247212932717, 0, 0, 0, 0, + -0.139941124721293271, 0, 0, 1.399411247212932717, 0, 0, 0, 0, 0, 0, -0.699705623606466358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, 11/2 + -0.464132203440858160, 0, 0, 4.641322034408581606, 0, 0, 0, 0, 0, 0, -2.320661017204290803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-11/2 + -0.4641322034408583, 0, 0, 6.9619830516128740, 0, 0, 0, 0, 0, 0, -6.9619830516128740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4641322034408583, 0, 0, 0, 0, 0, 0, + 0, 0, 0.4641322034408583, 0, 0, 0, 0, -4.6413220344085833, 0, 0, 0, 0, 0, 0, 0, 0, 2.3206610172042916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-9/2 + 0, 0, -1.5393523719342264, 0, 0, 0, 0, 15.3935237193422640, 0, 0, 0, 0, 0, 0, 0, 0, -7.6967618596711320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.1399411247212932, 0, 0, 0.6997056236064662, 0, 1.3994112472129330, 0, 0, 0, 0, 0.6997056236064662, 0, -8.3964674832775970, 0, 0, 0, 0, 0, 0, 0, 0, -0.1399411247212932, 0, 1.3994112472129330, 0, 0, 0, 0, + //i11/2,-7/2 + 0.3129178677245880, 0, 0, -1.5645893386229399, 0, -3.1291786772458812, 0, 0, 0, 0, -1.5645893386229399, 0, 18.7750720634752852, 0, 0, 0, 0, 0, 0, 0, 0, 0.3129178677245880, 0, -3.1291786772458812, 0, 0, 0, 0, + 0, 0, -0.9387536031737643, 0, 0, 0, 0, 1.8775072063475287, 0, 2.5033429417967050, 0, 0, 0, 0, 0, 0, 2.8162608095212929, 0, -7.5100288253901146, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-5/2 + 0, 0, 1.6259689364853118, 0, 0, 0, 0, -3.2519378729706236, 0, -4.3359171639608318, 0, 0, 0, 0, 0, 0, -4.8779068094559346, 0, 13.0077514918824946, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.1806632151650347, 0, 0, 0.1806632151650347, 0, -2.8906114426405547, 0, 0, 0, 0, -0.1806632151650347, 0, 0, 0, 2.8906114426405547, 0, 0, 0, 0, 0, 0, -0.1806632151650347, 0, 2.8906114426405547, 0, -2.8906114426405547, 0, 0, + //i11/2,-3/2 + -0.2554963691083206, 0, 0, -0.2554963691083206, 0, 4.0879419057331301, 0, 0, 0, 0, 0.2554963691083206, 0, 0, 0, -4.0879419057331301, 0, 0, 0, 0, 0, 0, 0.2554963691083206, 0, -4.0879419057331301, 0, 4.0879419057331301, 0, 0, + 0, 0, 1.2774818455416030, 0, 0, 0, 0, 2.5549636910832061, 0, -5.1099273821664122, 0, 0, 0, 0, 0, 0, 1.2774818455416030, 0, -5.1099273821664122, 0, 2.0439709528665646, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-1/2 + 0, 0, -1.5115369039370925, 0, 0, 0, 0, -3.0230738078741850, 0, 6.0461476157483700, 0, 0, 0, 0, 0, 0, -1.5115369039370925, 0, 6.0461476157483700, 0, -2.4184590462993478, 0, 0, 0, 0, 0, 0, 0, + -0.2159338434195847, 0, 0, -0.6478015302587540, 0, 3.8868091815525241, 0, 0, 0, 0, -0.6478015302587540, 0, 7.7736183631050482, 0, -5.1824122420700318, 0, 0, 0, 0, 0, 0, -0.2159338434195847, 0, 3.8868091815525241, 0, -5.1824122420700318, 0, 0.6909882989426709, + //i11/2,1/2 + 0.2159338434195847, 0, 0, 0.6478015302587540, 0, -3.8868091815525241, 0, 0, 0, 0, 0.6478015302587540, 0, -7.7736183631050482, 0, 5.1824122420700318, 0, 0, 0, 0, 0, 0, 0.2159338434195847, 0, -3.8868091815525241, 0, 5.1824122420700318, 0, -0.6909882989426709, + 0, 0, -1.5115369039370925, 0, 0, 0, 0, -3.0230738078741850, 0, 6.0461476157483700, 0, 0, 0, 0, 0, 0, -1.5115369039370925, 0, 6.0461476157483700, 0, -2.4184590462993478, 0, 0, 0, 0, 0, 0, 0, + //i11/2,3/2 + 0, 0, 1.2774818455416030, 0, 0, 0, 0, 2.5549636910832061, 0, -5.1099273821664122, 0, 0, 0, 0, 0, 0, 1.2774818455416030, 0, -5.1099273821664122, 0, 2.0439709528665646, 0, 0, 0, 0, 0, 0, 0, + 0.2554963691083206, 0, 0, 0.2554963691083206, 0, -4.0879419057331301, 0, 0, 0, 0, -0.2554963691083206, 0, 0, 0, 4.0879419057331301, 0, 0, 0, 0, 0, 0, -0.2554963691083206, 0, 4.0879419057331301, 0, -4.0879419057331301, 0, 0, + //i11/2,5/2 + -0.1806632151650347, 0, 0, -0.1806632151650347, 0, 2.8906114426405547, 0, 0, 0, 0, 0.1806632151650347, 0, 0, 0, -2.8906114426405547, 0, 0, 0, 0, 0, 0, 0.1806632151650347, 0, -2.8906114426405547, 0, 2.8906114426405547, 0, 0, + 0, 0, 1.6259689364853118, 0, 0, 0, 0, -3.2519378729706236, 0, -4.3359171639608318, 0, 0, 0, 0, 0, 0, -4.8779068094559346, 0, 13.0077514918824946, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,7/2 + 0, 0, -0.9387536031737643, 0, 0, 0, 0, 1.8775072063475287, 0, 2.5033429417967050, 0, 0, 0, 0, 0, 0, 2.8162608095212929, 0, -7.5100288253901146, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.3129178677245880, 0, 0, 1.5645893386229399, 0, 3.1291786772458812, 0, 0, 0, 0, 1.5645893386229399, 0, -18.7750720634752852, 0, 0, 0, 0, 0, 0, 0, 0, -0.3129178677245880, 0, 3.1291786772458812, 0, 0, 0, 0, + //i11/2,9/2 + 0.1399411247212932, 0, 0, -0.6997056236064662, 0, -1.3994112472129330, 0, 0, 0, 0, -0.6997056236064662, 0, 8.3964674832775970, 0, 0, 0, 0, 0, 0, 0, 0, 0.1399411247212932, 0, -1.3994112472129330, 0, 0, 0, 0, + 0, 0, -1.5393523719342264, 0, 0, 0, 0, 15.3935237193422640, 0, 0, 0, 0, 0, 0, 0, 0, -7.6967618596711320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,11/2 + 0, 0, 0.4641322034408583, 0, 0, 0, 0, -4.6413220344085833, 0, 0, 0, 0, 0, 0, 0, 0, 2.3206610172042916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4641322034408583, 0, 0, -6.9619830516128740, 0, 0, 0, 0, 0, 0, 6.9619830516128740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4641322034408583, 0, 0, 0, 0, 0, 0, + //i13/2,-13/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.4830841135800663, 0, 0, -7.2462617037009949, 0, 0, 0, 0, 0, 0, 7.2462617037009949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4830841135800663, 0, 0, 0, 0, 0, 0, + //i13/2,-11/2 + 0.1339834262980768, 0, 0, -2.0097513944711523, 0, 0, 0, 0, 0, 0, 2.0097513944711523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1339834262980768, 0, 0, 0, 0, 0, 0, + 0, 0, 1.6078011155769223, 0, 0, 0, 0, -16.0780111557692216, 0, 0, 0, 0, 0, 0, 0, 0, 8.0390055778846108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-9/2 + 0, 0, 0.6563820568401703, 0, 0, 0, 0, -6.5638205684017032, 0, 0, 0, 0, 0, 0, 0, 0, 3.2819102842008516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.3281910284200850, 0, 0, 1.6409551421004249, 0, 3.2819102842008507, 0, 0, 0, 0, 1.6409551421004249, 0, -19.6914617052051035, 0, 0, 0, 0, 0, 0, 0, 0, -0.3281910284200850, 0, 3.2819102842008507, 0, 0, 0, 0, + //i13/2,-7/2 + -0.1713921747991747, 0, 0, 0.8569608739958732, 0, 1.7139217479917468, 0, 0, 0, 0, 0.8569608739958732, 0, -10.2835304879504807, 0, 0, 0, 0, 0, 0, 0, 0, -0.1713921747991747, 0, 1.7139217479917468, 0, 0, 0, 0, + 0, 0, -1.7139217479917466, 0, 0, 0, 0, 3.4278434959834931, 0, 4.5704579946446584, 0, 0, 0, 0, 0, 0, 5.1417652439752395, 0, -13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-5/2 + 0, 0, -1.0839792909902080, 0, 0, 0, 0, 2.1679585819804159, 0, 2.8906114426405547, 0, 0, 0, 0, 0, 0, 3.2519378729706232, 0, -8.6718343279216636, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.2709948227475520, 0, 0, 0.2709948227475520, 0, -4.3359171639608318, 0, 0, 0, 0, -0.2709948227475520, 0, 0, 0, 4.3359171639608318, 0, 0, 0, 0, 0, 0, -0.2709948227475520, 0, 4.3359171639608318, 0, -4.3359171639608318, 0, 0, + //i13/2,-3/2 + 0.2019876150713442, 0, 0, 0.2019876150713442, 0, -3.2318018411415070, 0, 0, 0, 0, -0.2019876150713442, 0, 0, 0, 3.2318018411415070, 0, 0, 0, 0, 0, 0, -0.2019876150713442, 0, 3.2318018411415070, 0, -3.2318018411415070, 0, 0, + 0, 0, 1.6159009205707533, 0, 0, 0, 0, 3.2318018411415066, 0, -6.4636036822830132, 0, 0, 0, 0, 0, 0, 1.6159009205707533, 0, -6.4636036822830132, 0, 2.5854414729132049, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-1/2 + 0, 0, 1.3994112472129328, 0, 0, 0, 0, 2.7988224944258655, 0, -5.5976449888517310, 0, 0, 0, 0, 0, 0, 1.3994112472129328, 0, -5.5976449888517310, 0, 2.2390579955406920, 0, 0, 0, 0, 0, 0, 0, + -0.2332352078688221, 0, 0, -0.6997056236064663, 0, 4.1982337416387976, 0, 0, 0, 0, -0.6997056236064663, 0, 8.3964674832775952, 0, -5.5976449888517301, 0, 0, 0, 0, 0, 0, -0.2332352078688221, 0, 4.1982337416387976, 0, -5.5976449888517301, 0, 0.7463526651802307, + //i13/2,1/2 + -0.2332352078688221, 0, 0, -0.6997056236064663, 0, 4.1982337416387976, 0, 0, 0, 0, -0.6997056236064663, 0, 8.3964674832775952, 0, -5.5976449888517301, 0, 0, 0, 0, 0, 0, -0.2332352078688221, 0, 4.1982337416387976, 0, -5.5976449888517301, 0, 0.7463526651802307, + 0, 0, -1.3994112472129328, 0, 0, 0, 0, -2.7988224944258655, 0, 5.5976449888517310, 0, 0, 0, 0, 0, 0, -1.3994112472129328, 0, 5.5976449888517310, 0, -2.2390579955406920, 0, 0, 0, 0, 0, 0, 0, + //i13/2,3/2 + 0, 0, -1.6159009205707533, 0, 0, 0, 0, -3.2318018411415066, 0, 6.4636036822830132, 0, 0, 0, 0, 0, 0, -1.6159009205707533, 0, 6.4636036822830132, 0, -2.5854414729132049, 0, 0, 0, 0, 0, 0, 0, + 0.2019876150713442, 0, 0, 0.2019876150713442, 0, -3.2318018411415070, 0, 0, 0, 0, -0.2019876150713442, 0, 0, 0, 3.2318018411415070, 0, 0, 0, 0, 0, 0, -0.2019876150713442, 0, 3.2318018411415070, 0, -3.2318018411415070, 0, 0, + //i13/2,5/2 + 0.2709948227475520, 0, 0, 0.2709948227475520, 0, -4.3359171639608318, 0, 0, 0, 0, -0.2709948227475520, 0, 0, 0, 4.3359171639608318, 0, 0, 0, 0, 0, 0, -0.2709948227475520, 0, 4.3359171639608318, 0, -4.3359171639608318, 0, 0, + 0, 0, 1.0839792909902080, 0, 0, 0, 0, -2.1679585819804159, 0, -2.8906114426405547, 0, 0, 0, 0, 0, 0, -3.2519378729706232, 0, 8.6718343279216636, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,7/2 + 0, 0, 1.7139217479917466, 0, 0, 0, 0, -3.4278434959834931, 0, -4.5704579946446584, 0, 0, 0, 0, 0, 0, -5.1417652439752395, 0, 13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.1713921747991747, 0, 0, 0.8569608739958732, 0, 1.7139217479917468, 0, 0, 0, 0, 0.8569608739958732, 0, -10.2835304879504807, 0, 0, 0, 0, 0, 0, 0, 0, -0.1713921747991747, 0, 1.7139217479917468, 0, 0, 0, 0, + //i13/2,9/2 + -0.3281910284200850, 0, 0, 1.6409551421004249, 0, 3.2819102842008507, 0, 0, 0, 0, 1.6409551421004249, 0, -19.6914617052051035, 0, 0, 0, 0, 0, 0, 0, 0, -0.3281910284200850, 0, 3.2819102842008507, 0, 0, 0, 0, + 0, 0, -0.6563820568401703, 0, 0, 0, 0, 6.5638205684017032, 0, 0, 0, 0, 0, 0, 0, 0, -3.2819102842008516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,11/2 + 0, 0, -1.6078011155769223, 0, 0, 0, 0, 16.0780111557692216, 0, 0, 0, 0, 0, 0, 0, 0, -8.0390055778846108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.1339834262980768, 0, 0, -2.0097513944711523, 0, 0, 0, 0, 0, 0, 2.0097513944711523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1339834262980768, 0, 0, 0, 0, 0, 0, + //i13/2,13/2 + 0.4830841135800663, 0, 0, -7.2462617037009949, 0, 0, 0, 0, 0, 0, 7.2462617037009949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4830841135800663, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-13/2 + -0.4830841135800663, 0, 0, 10.1447663851813932, 0, 0, 0, 0, 0, 0, -16.9079439753023237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.3815887950604644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.4830841135800661, 0, 0, 0, 0, -7.2462617037009922, 0, 0, 0, 0, 0, 0, 0, 0, 7.2462617037009922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4830841135800661, 0, 0, 0, 0, 0, 0, + //j13/2,-11/2 + 0, 0, -1.7417845418749984, 0, 0, 0, 0, 26.1267681281249757, 0, 0, 0, 0, 0, 0, 0, 0, -26.1267681281249757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.7417845418749984, 0, 0, 0, 0, 0, 0, + -0.1339834262980768, 0, 0, 1.2058508366826914, 0, 1.6078011155769216, 0, 0, 0, 0, 0.6699171314903840, 0, -16.0780111557692145, 0, 0, 0, 0, 0, 0, 0, 0, -0.6699171314903840, 0, 8.0390055778846072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-9/2 + 0.3281910284200851, 0, 0, -2.9537192557807663, 0, -3.9382923410410213, 0, 0, 0, 0, -1.6409551421004256, 0, 39.3829234104102142, 0, 0, 0, 0, 0, 0, 0, 0, 1.6409551421004256, 0, -19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -0.9845730852602553, 0, 0, 0, 0, 4.9228654263012768, 0, 3.2819102842008512, 0, 0, 0, 0, 0, 0, 4.9228654263012768, 0, -19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.9845730852602553, 0, 3.2819102842008512, 0, 0, 0, 0, + //j13/2,-7/2 + 0, 0, 1.8853139227909212, 0, 0, 0, 0, -9.4265696139546051, 0, -6.2843797426364043, 0, 0, 0, 0, 0, 0, -9.4265696139546051, 0, 37.7062784558184205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8853139227909212, 0, -6.2843797426364043, 0, 0, 0, 0, + 0.1713921747991747, 0, 0, -0.1713921747991747, 0, -3.4278434959834923, 0, 0, 0, 0, -0.8569608739958733, 0, 6.8556869919669845, 0, 4.5704579946446575, 0, 0, 0, 0, 0, 0, -0.5141765243975239, 0, 10.2835304879504772, 0, -13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-5/2 + -0.2709948227475520, 0, 0, 0.2709948227475520, 0, 5.4198964549510391, 0, 0, 0, 0, 1.3549741137377600, 0, -10.8397929099020782, 0, -7.2265286066013861, 0, 0, 0, 0, 0, 0, 0.8129844682426559, 0, -16.2596893648531164, 0, 21.6795858198041600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.3549741137377600, 0, 0, 0, 0, 1.3549741137377600, 0, -7.2265286066013861, 0, 0, 0, 0, 0, 0, -1.3549741137377600, 0, 0, 0, 4.3359171639608327, 0, 0, 0, 0, 0, 0, 0, 0, -1.3549741137377600, 0, 7.2265286066013861, 0, -4.3359171639608327, 0, 0, + //j13/2,-3/2 + 0, 0, -1.8178885356420982, 0, 0, 0, 0, -1.8178885356420982, 0, 9.6954055234245224, 0, 0, 0, 0, 0, 0, 1.8178885356420982, 0, 0, 0, -5.8172433140547142, 0, 0, 0, 0, 0, 0, 0, 0, 1.8178885356420982, 0, -9.6954055234245224, 0, 5.8172433140547142, 0, 0, + -0.2019876150713442, 0, 0, -0.6059628452140327, 0, 4.8477027617122603, 0, 0, 0, 0, -0.6059628452140327, 0, 9.6954055234245207, 0, -9.6954055234245207, 0, 0, 0, 0, 0, 0, -0.2019876150713442, 0, 4.8477027617122603, 0, -9.6954055234245207, 0, 2.5854414729132063, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-1/2 + 0.2332352078688221, 0, 0, 0.6997056236064664, 0, -5.5976449888517301, 0, 0, 0, 0, 0.6997056236064664, 0, -11.1952899777034602, 0, 11.1952899777034602, 0, 0, 0, 0, 0, 0, 0.2332352078688221, 0, -5.5976449888517301, 0, 11.1952899777034602, 0, -2.9854106607209236, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.6326464550817545, 0, 0, 0, 0, -4.8979393652452643, 0, 9.7958787304905268, 0, 0, 0, 0, 0, 0, -4.8979393652452643, 0, 19.5917574609810536, 0, -7.8367029843924216, 0, 0, 0, 0, 0, 0, 0, 0, -1.6326464550817545, 0, 9.7958787304905268, 0, -7.8367029843924216, 0, 0.7463526651802307, + //j13/2,1/2 + 0, 0, 1.6326464550817545, 0, 0, 0, 0, 4.8979393652452643, 0, -9.7958787304905268, 0, 0, 0, 0, 0, 0, 4.8979393652452643, 0, -19.5917574609810536, 0, 7.8367029843924216, 0, 0, 0, 0, 0, 0, 0, 0, 1.6326464550817545, 0, -9.7958787304905268, 0, 7.8367029843924216, 0, -0.7463526651802307, + 0.2332352078688221, 0, 0, 0.6997056236064664, 0, -5.5976449888517301, 0, 0, 0, 0, 0.6997056236064664, 0, -11.1952899777034602, 0, 11.1952899777034602, 0, 0, 0, 0, 0, 0, 0.2332352078688221, 0, -5.5976449888517301, 0, 11.1952899777034602, 0, -2.9854106607209236, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,3/2 + -0.2019876150713442, 0, 0, -0.6059628452140327, 0, 4.8477027617122603, 0, 0, 0, 0, -0.6059628452140327, 0, 9.6954055234245207, 0, -9.6954055234245207, 0, 0, 0, 0, 0, 0, -0.2019876150713442, 0, 4.8477027617122603, 0, -9.6954055234245207, 0, 2.5854414729132063, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.8178885356420982, 0, 0, 0, 0, 1.8178885356420982, 0, -9.6954055234245224, 0, 0, 0, 0, 0, 0, -1.8178885356420982, 0, 0, 0, 5.8172433140547142, 0, 0, 0, 0, 0, 0, 0, 0, -1.8178885356420982, 0, 9.6954055234245224, 0, -5.8172433140547142, 0, 0, + //j13/2,5/2 + 0, 0, -1.3549741137377600, 0, 0, 0, 0, -1.3549741137377600, 0, 7.2265286066013861, 0, 0, 0, 0, 0, 0, 1.3549741137377600, 0, 0, 0, -4.3359171639608327, 0, 0, 0, 0, 0, 0, 0, 0, 1.3549741137377600, 0, -7.2265286066013861, 0, 4.3359171639608327, 0, 0, + -0.2709948227475520, 0, 0, 0.2709948227475520, 0, 5.4198964549510391, 0, 0, 0, 0, 1.3549741137377600, 0, -10.8397929099020782, 0, -7.2265286066013861, 0, 0, 0, 0, 0, 0, 0.8129844682426559, 0, -16.2596893648531164, 0, 21.6795858198041600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,7/2 + 0.1713921747991747, 0, 0, -0.1713921747991747, 0, -3.4278434959834923, 0, 0, 0, 0, -0.8569608739958733, 0, 6.8556869919669845, 0, 4.5704579946446575, 0, 0, 0, 0, 0, 0, -0.5141765243975239, 0, 10.2835304879504772, 0, -13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.8853139227909212, 0, 0, 0, 0, 9.4265696139546051, 0, 6.2843797426364043, 0, 0, 0, 0, 0, 0, 9.4265696139546051, 0, -37.7062784558184205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.8853139227909212, 0, 6.2843797426364043, 0, 0, 0, 0, + //j13/2,9/2 + 0, 0, 0.9845730852602553, 0, 0, 0, 0, -4.9228654263012768, 0, -3.2819102842008512, 0, 0, 0, 0, 0, 0, -4.9228654263012768, 0, 19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9845730852602553, 0, -3.2819102842008512, 0, 0, 0, 0, + 0.3281910284200851, 0, 0, -2.9537192557807663, 0, -3.9382923410410213, 0, 0, 0, 0, -1.6409551421004256, 0, 39.3829234104102142, 0, 0, 0, 0, 0, 0, 0, 0, 1.6409551421004256, 0, -19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,11/2 + -0.1339834262980768, 0, 0, 1.2058508366826914, 0, 1.6078011155769216, 0, 0, 0, 0, 0.6699171314903840, 0, -16.0780111557692145, 0, 0, 0, 0, 0, 0, 0, 0, -0.6699171314903840, 0, 8.0390055778846072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.7417845418749984, 0, 0, 0, 0, -26.1267681281249757, 0, 0, 0, 0, 0, 0, 0, 0, 26.1267681281249757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.7417845418749984, 0, 0, 0, 0, 0, 0, + //j13/2,13/2 + 0, 0, -0.4830841135800661, 0, 0, 0, 0, 7.2462617037009922, 0, 0, 0, 0, 0, 0, 0, 0, -7.2462617037009922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4830841135800661, 0, 0, 0, 0, 0, 0, + -0.4830841135800663, 0, 0, 10.1447663851813932, 0, 0, 0, 0, 0, 0, -16.9079439753023237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.3815887950604644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-15/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.5000395635705508, 0, 0, -10.5008308349815653, 0, 0, 0, 0, 0, 0, 17.5013847249692773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.5002769449938556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-13/2 + 0.1291096601435712, 0, 0, -2.7113028630149949, 0, 0, 0, 0, 0, 0, 4.5188381050249919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.9037676210049984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.8075352420099966, 0, 0, 0, 0, -27.1130286301499481, 0, 0, 0, 0, 0, 0, 0, 0, 27.1130286301499481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.8075352420099966, 0, 0, 0, 0, 0, 0, + //j15/2,-11/2 + 0, 0, 0.6831841051919142, 0, 0, 0, 0, -10.2477615778787126, 0, 0, 0, 0, 0, 0, 0, 0, 10.2477615778787126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6831841051919142, 0, 0, 0, 0, 0, 0, + -0.3415920525959572, 0, 0, 3.0743284733636154, 0, 4.0991046311514863, 0, 0, 0, 0, 1.7079602629797861, 0, -40.9910463115148644, 0, 0, 0, 0, 0, 0, 0, 0, -1.7079602629797861, 0, 20.4955231557574322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-9/2 + -0.1640955142100426, 0, 0, 1.4768596278903832, 0, 1.9691461705205107, 0, 0, 0, 0, 0.8204775710502128, 0, -19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, -0.8204775710502128, 0, 9.8457308526025535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.9691461705205107, 0, 0, 0, 0, 9.8457308526025535, 0, 6.5638205684017024, 0, 0, 0, 0, 0, 0, 9.8457308526025535, 0, -39.3829234104102142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.9691461705205107, 0, 6.5638205684017024, 0, 0, 0, 0, + //j15/2,-7/2 + 0, 0, -1.1368870716237374, 0, 0, 0, 0, 5.6844353581186864, 0, 3.7896235720791247, 0, 0, 0, 0, 0, 0, 5.6844353581186864, 0, -22.7377414324747456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.1368870716237374, 0, 3.7896235720791247, 0, 0, 0, 0, + 0.2842217679059343, 0, 0, -0.2842217679059343, 0, -5.6844353581186855, 0, 0, 0, 0, -1.4211088395296716, 0, 11.3688707162373710, 0, 7.5792471441582485, 0, 0, 0, 0, 0, 0, -0.8526653037178029, 0, 17.0533060743560583, 0, -22.7377414324747456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-5/2 + 0.1916222768312404, 0, 0, -0.1916222768312404, 0, -3.8324455366248085, 0, 0, 0, 0, -0.9581113841562022, 0, 7.6648910732496169, 0, 5.1099273821664122, 0, 0, 0, 0, 0, 0, -0.5748668304937213, 0, 11.4973366098744254, 0, -15.3297821464992357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.9162227683124053, 0, 0, 0, 0, 1.9162227683124053, 0, -10.2198547643328261, 0, 0, 0, 0, 0, 0, -1.9162227683124053, 0, 0, 0, 6.1319128585996969, 0, 0, 0, 0, 0, 0, 0, 0, -1.9162227683124053, 0, 10.2198547643328261, 0, -6.1319128585996969, 0, 0, + //j15/2,-3/2 + 0, 0, 1.4842997738594836, 0, 0, 0, 0, 1.4842997738594836, 0, -7.9162654605839124, 0, 0, 0, 0, 0, 0, -1.4842997738594836, 0, 0, 0, 4.7497592763503480, 0, 0, 0, 0, 0, 0, 0, 0, -1.4842997738594836, 0, 7.9162654605839124, 0, -4.7497592763503480, 0, 0, + -0.2473832956432473, 0, 0, -0.7421498869297418, 0, 5.9371990954379337, 0, 0, 0, 0, -0.7421498869297418, 0, 11.8743981908758673, 0, -11.8743981908758673, 0, 0, 0, 0, 0, 0, -0.2473832956432473, 0, 5.9371990954379337, 0, -11.8743981908758673, 0, 3.1665061842335653, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-1/2 + -0.2181715595945335, 0, 0, -0.6545146787836006, 0, 5.2361174302688038, 0, 0, 0, 0, -0.6545146787836006, 0, 10.4722348605376077, 0, -10.4722348605376077, 0, 0, 0, 0, 0, 0, -0.2181715595945335, 0, 5.2361174302688038, 0, -10.4722348605376077, 0, 2.7925959628100294, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.7453724767562677, 0, 0, 0, 0, -5.2361174302688038, 0, 10.4722348605376059, 0, 0, 0, 0, 0, 0, -5.2361174302688038, 0, 20.9444697210752118, 0, -8.3777878884300847, 0, 0, 0, 0, 0, 0, 0, 0, -1.7453724767562677, 0, 10.4722348605376059, 0, -8.3777878884300847, 0, 0.7978845608028652, + //j15/2,1/2 + 0, 0, -1.7453724767562677, 0, 0, 0, 0, -5.2361174302688038, 0, 10.4722348605376059, 0, 0, 0, 0, 0, 0, -5.2361174302688038, 0, 20.9444697210752118, 0, -8.3777878884300847, 0, 0, 0, 0, 0, 0, 0, 0, -1.7453724767562677, 0, 10.4722348605376059, 0, -8.3777878884300847, 0, 0.7978845608028652, + 0.2181715595945335, 0, 0, 0.6545146787836006, 0, -5.2361174302688038, 0, 0, 0, 0, 0.6545146787836006, 0, -10.4722348605376077, 0, 10.4722348605376077, 0, 0, 0, 0, 0, 0, 0.2181715595945335, 0, -5.2361174302688038, 0, 10.4722348605376077, 0, -2.7925959628100294, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,3/2 + 0.2473832956432473, 0, 0, 0.7421498869297418, 0, -5.9371990954379337, 0, 0, 0, 0, 0.7421498869297418, 0, -11.8743981908758673, 0, 11.8743981908758673, 0, 0, 0, 0, 0, 0, 0.2473832956432473, 0, -5.9371990954379337, 0, 11.8743981908758673, 0, -3.1665061842335653, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.4842997738594836, 0, 0, 0, 0, 1.4842997738594836, 0, -7.9162654605839124, 0, 0, 0, 0, 0, 0, -1.4842997738594836, 0, 0, 0, 4.7497592763503480, 0, 0, 0, 0, 0, 0, 0, 0, -1.4842997738594836, 0, 7.9162654605839124, 0, -4.7497592763503480, 0, 0, + //j15/2,5/2 + 0, 0, 1.9162227683124053, 0, 0, 0, 0, 1.9162227683124053, 0, -10.2198547643328261, 0, 0, 0, 0, 0, 0, -1.9162227683124053, 0, 0, 0, 6.1319128585996969, 0, 0, 0, 0, 0, 0, 0, 0, -1.9162227683124053, 0, 10.2198547643328261, 0, -6.1319128585996969, 0, 0, + -0.1916222768312404, 0, 0, 0.1916222768312404, 0, 3.8324455366248085, 0, 0, 0, 0, 0.9581113841562022, 0, -7.6648910732496169, 0, -5.1099273821664122, 0, 0, 0, 0, 0, 0, 0.5748668304937213, 0, -11.4973366098744254, 0, 15.3297821464992357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,7/2 + -0.2842217679059343, 0, 0, 0.2842217679059343, 0, 5.6844353581186855, 0, 0, 0, 0, 1.4211088395296716, 0, -11.3688707162373710, 0, -7.5792471441582485, 0, 0, 0, 0, 0, 0, 0.8526653037178029, 0, -17.0533060743560583, 0, 22.7377414324747456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.1368870716237374, 0, 0, 0, 0, 5.6844353581186864, 0, 3.7896235720791247, 0, 0, 0, 0, 0, 0, 5.6844353581186864, 0, -22.7377414324747456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.1368870716237374, 0, 3.7896235720791247, 0, 0, 0, 0, + //j15/2,9/2 + 0, 0, -1.9691461705205107, 0, 0, 0, 0, 9.8457308526025535, 0, 6.5638205684017024, 0, 0, 0, 0, 0, 0, 9.8457308526025535, 0, -39.3829234104102142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.9691461705205107, 0, 6.5638205684017024, 0, 0, 0, 0, + 0.1640955142100426, 0, 0, -1.4768596278903832, 0, -1.9691461705205107, 0, 0, 0, 0, -0.8204775710502128, 0, 19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0.8204775710502128, 0, -9.8457308526025535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,11/2 + 0.3415920525959572, 0, 0, -3.0743284733636154, 0, -4.0991046311514863, 0, 0, 0, 0, -1.7079602629797861, 0, 40.9910463115148644, 0, 0, 0, 0, 0, 0, 0, 0, 1.7079602629797861, 0, -20.4955231557574322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.6831841051919142, 0, 0, 0, 0, -10.2477615778787126, 0, 0, 0, 0, 0, 0, 0, 0, 10.2477615778787126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6831841051919142, 0, 0, 0, 0, 0, 0, + //j15/2,13/2 + 0, 0, 1.8075352420099966, 0, 0, 0, 0, -27.1130286301499481, 0, 0, 0, 0, 0, 0, 0, 0, 27.1130286301499481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.8075352420099966, 0, 0, 0, 0, 0, 0, + -0.1291096601435712, 0, 0, 2.7113028630149949, 0, 0, 0, 0, 0, 0, -4.5188381050249919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9037676210049984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,15/2 + -0.5000395635705508, 0, 0, 10.5008308349815653, 0, 0, 0, 0, 0, 0, -17.5013847249692773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.5002769449938556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -15/2 + -0.500039563570550664, 0, 0, 14.0011077799754186, 0, 0, 0, 0, 0, 0, -35.0027694499385465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.0011077799754186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.500039563570550664, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.500039563570550664, 0, 0, 0, 0, -10.5008308349815639, 0, 0, 0, 0, 0, 0, 0, 0, 17.5013847249692732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -13/2 + 0, 0, -1.93664490215356767, 0, 0, 0, 0, 40.669542945224921, 0, 0, 0, 0, 0, 0, 0, 0, -67.7825715753748683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.5565143150749737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.129109660143571178, 0, 0, 1.80753524200999649, 0, 1.80753524200999649, 0, 0, 0, 0, 0, 0, -27.1130286301499473, 0, 0, 0, 0, 0, 0, 0, 0, -1.80753524200999649, 0, 27.1130286301499473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.129109660143571178, 0, -1.80753524200999649, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -11/2 + 0.341592052595957161, 0, 0, -4.78228873634340025, 0, -4.78228873634340025, 0, 0, 0, 0, 0, 0, 71.7343310451510038, 0, 0, 0, 0, 0, 0, 0, 0, 4.78228873634340025, 0, -71.7343310451510038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.341592052595957161, 0, 4.78228873634340025, 0, 0, 0, 0, 0, 0, + 0, 0, -1.02477615778787148, 0, 0, 0, 0, 9.22298542009084335, 0, 4.09910463115148593, 0, 0, 0, 0, 0, 0, 5.12388078893935741, 0, -40.9910463115148593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.12388078893935741, 0, 20.4955231557574297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -9/2 + 0, 0, 2.13324168473055283, 0, 0, 0, 0, -19.1991751625749755, 0, -8.53296673892221134, 0, 0, 0, 0, 0, 0, -10.6662084236527642, 0, 85.3296673892221134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.6662084236527642, 0, -42.6648336946110567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.164095514210042526, 0, 0, -0.656382056840170103, 0, -3.93829234104102062, 0, 0, 0, 0, -1.64095514210042526, 0, 19.6914617052051031, 0, 6.56382056840170103, 0, 0, 0, 0, 0, 0, -0.656382056840170103, 0, 19.6914617052051031, 0, -39.3829234104102062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.164095514210042526, 0, -3.93829234104102062, 0, 6.56382056840170103, 0, 0, 0, 0, + // j = 15/2, mj = -7/2 + -0.284221767905934336, 0, 0, 1.13688707162373734, 0, 6.82132242974242407, 0, 0, 0, 0, 2.84221767905934336, 0, -34.1066121487121203, 0, -11.3688707162373734, 0, 0, 0, 0, 0, 0, 1.13688707162373734, 0, -34.1066121487121203, 0, 68.2132242974242407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.284221767905934336, 0, 6.82132242974242407, 0, -11.3688707162373734, 0, 0, 0, 0, + 0, 0, 1.42110883952967168, 0, 0, 0, 0, -1.42110883952967168, 0, -9.47405893019781121, 0, 0, 0, 0, 0, 0, -7.1055441976483584, 0, 18.9481178603956224, 0, 7.57924714415824896, 0, 0, 0, 0, 0, 0, 0, 0, -4.26332651858901504, 0, 28.4221767905934336, 0, -22.7377414324747469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -5/2 + 0, 0, -2.10784504514364487, 0, 0, 0, 0, 2.10784504514364487, 0, 14.0523003009576325, 0, 0, 0, 0, 0, 0, 10.5392252257182244, 0, -28.104600601915265, 0, -11.241840240766106, 0, 0, 0, 0, 0, 0, 0, 0, 6.32353513543093462, 0, -42.1569009028728975, 0, 33.725520722298318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.191622276831240443, 0, 0, -0.383244553662480886, 0, 5.74866830493721329, 0, 0, 0, 0, 0, 0, 5.74866830493721329, 0, -15.3297821464992355, 0, 0, 0, 0, 0, 0, 0.383244553662480886, 0, -5.74866830493721329, 0, 0, 0, 6.13191285859969418, 0, 0, 0, 0, 0, 0, 0, 0, 0.191622276831240443, 0, -5.74866830493721329, 0, 15.3297821464992355, 0, -6.13191285859969418, 0, 0, + // j = 15/2, mj = -3/2 + 0.247383295643247195, 0, 0, 0.49476659128649439, 0, -7.42149886929741585, 0, 0, 0, 0, 0, 0, -7.42149886929741585, 0, 19.7906636514597756, 0, 0, 0, 0, 0, 0, -0.49476659128649439, 0, 7.42149886929741585, 0, 0, 0, -7.91626546058391024, 0, 0, 0, 0, 0, 0, 0, 0, -0.247383295643247195, 0, 7.42149886929741585, 0, -19.7906636514597756, 0, 7.91626546058391024, 0, 0, + 0, 0, -1.73168306950273036, 0, 0, 0, 0, -5.19504920850819109, 0, 13.8534645560218429, 0, 0, 0, 0, 0, 0, -5.19504920850819109, 0, 27.7069291120436858, 0, -16.6241574672262115, 0, 0, 0, 0, 0, 0, 0, 0, -1.73168306950273036, 0, 13.8534645560218429, 0, -16.6241574672262115, 0, 3.16650618423356409, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -1/2 + 0, 0, 1.96354403635080146, 0, 0, 0, 0, 5.89063210905240439, 0, -15.7083522908064117, 0, 0, 0, 0, 0, 0, 5.89063210905240439, 0, -31.4167045816128234, 0, 18.850022748967694, 0, 0, 0, 0, 0, 0, 0, 0, 1.96354403635080146, 0, -15.7083522908064117, 0, 18.850022748967694, 0, -3.5904805236128941, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.218171559594533496, 0, 0, 0.872686238378133983, 0, -6.98148990702507186, 0, 0, 0, 0, 1.30902935756720097, 0, -20.9444697210752156, 0, 20.9444697210752156, 0, 0, 0, 0, 0, 0, 0.872686238378133983, 0, -20.9444697210752156, 0, 41.8889394421504312, 0, -11.170383851240115, 0, 0, 0, 0, 0, 0, 0, 0, 0.218171559594533496, 0, -6.98148990702507186, 0, 20.9444697210752156, 0, -11.170383851240115, 0, 0.797884560802865356, + // j = 15/2, mj = 1/2 + -0.218171559594533496, 0, 0, -0.872686238378133983, 0, 6.98148990702507186, 0, 0, 0, 0, -1.30902935756720097, 0, 20.9444697210752156, 0, -20.9444697210752156, 0, 0, 0, 0, 0, 0, -0.872686238378133983, 0, 20.9444697210752156, 0, -41.8889394421504312, 0, 11.170383851240115, 0, 0, 0, 0, 0, 0, 0, 0, -0.218171559594533496, 0, 6.98148990702507186, 0, -20.9444697210752156, 0, 11.170383851240115, 0, -0.797884560802865356, + 0, 0, 1.96354403635080146, 0, 0, 0, 0, 5.89063210905240439, 0, -15.7083522908064117, 0, 0, 0, 0, 0, 0, 5.89063210905240439, 0, -31.4167045816128234, 0, 18.850022748967694, 0, 0, 0, 0, 0, 0, 0, 0, 1.96354403635080146, 0, -15.7083522908064117, 0, 18.850022748967694, 0, -3.5904805236128941, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 3/2 + 0, 0, -1.73168306950273036, 0, 0, 0, 0, -5.19504920850819109, 0, 13.8534645560218429, 0, 0, 0, 0, 0, 0, -5.19504920850819109, 0, 27.7069291120436858, 0, -16.6241574672262115, 0, 0, 0, 0, 0, 0, 0, 0, -1.73168306950273036, 0, 13.8534645560218429, 0, -16.6241574672262115, 0, 3.16650618423356409, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.247383295643247195, 0, 0, -0.49476659128649439, 0, 7.42149886929741585, 0, 0, 0, 0, 0, 0, 7.42149886929741585, 0, -19.7906636514597756, 0, 0, 0, 0, 0, 0, 0.49476659128649439, 0, -7.42149886929741585, 0, 0, 0, 7.91626546058391024, 0, 0, 0, 0, 0, 0, 0, 0, 0.247383295643247195, 0, -7.42149886929741585, 0, 19.7906636514597756, 0, -7.91626546058391024, 0, 0, + // j = 15/2, mj = 5/2 + 0.191622276831240443, 0, 0, 0.383244553662480886, 0, -5.74866830493721329, 0, 0, 0, 0, 0, 0, -5.74866830493721329, 0, 15.3297821464992355, 0, 0, 0, 0, 0, 0, -0.383244553662480886, 0, 5.74866830493721329, 0, 0, 0, -6.13191285859969418, 0, 0, 0, 0, 0, 0, 0, 0, -0.191622276831240443, 0, 5.74866830493721329, 0, -15.3297821464992355, 0, 6.13191285859969418, 0, 0, + 0, 0, -2.10784504514364487, 0, 0, 0, 0, 2.10784504514364487, 0, 14.0523003009576325, 0, 0, 0, 0, 0, 0, 10.5392252257182244, 0, -28.104600601915265, 0, -11.241840240766106, 0, 0, 0, 0, 0, 0, 0, 0, 6.32353513543093462, 0, -42.1569009028728975, 0, 33.725520722298318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 7/2 + 0, 0, 1.42110883952967168, 0, 0, 0, 0, -1.42110883952967168, 0, -9.47405893019781121, 0, 0, 0, 0, 0, 0, -7.1055441976483584, 0, 18.9481178603956224, 0, 7.57924714415824896, 0, 0, 0, 0, 0, 0, 0, 0, -4.26332651858901504, 0, 28.4221767905934336, 0, -22.7377414324747469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.284221767905934336, 0, 0, -1.13688707162373734, 0, -6.82132242974242407, 0, 0, 0, 0, -2.84221767905934336, 0, 34.1066121487121203, 0, 11.3688707162373734, 0, 0, 0, 0, 0, 0, -1.13688707162373734, 0, 34.1066121487121203, 0, -68.2132242974242407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.284221767905934336, 0, -6.82132242974242407, 0, 11.3688707162373734, 0, 0, 0, 0, + // j = 15/2, mj = 9/2 + -0.164095514210042526, 0, 0, 0.656382056840170103, 0, 3.93829234104102062, 0, 0, 0, 0, 1.64095514210042526, 0, -19.6914617052051031, 0, -6.56382056840170103, 0, 0, 0, 0, 0, 0, 0.656382056840170103, 0, -19.6914617052051031, 0, 39.3829234104102062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.164095514210042526, 0, 3.93829234104102062, 0, -6.56382056840170103, 0, 0, 0, 0, + 0, 0, 2.13324168473055283, 0, 0, 0, 0, -19.1991751625749755, 0, -8.53296673892221134, 0, 0, 0, 0, 0, 0, -10.6662084236527642, 0, 85.3296673892221134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.6662084236527642, 0, -42.6648336946110567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 11/2 + 0, 0, -1.02477615778787148, 0, 0, 0, 0, 9.22298542009084335, 0, 4.09910463115148593, 0, 0, 0, 0, 0, 0, 5.12388078893935741, 0, -40.9910463115148593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.12388078893935741, 0, 20.4955231557574297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.341592052595957161, 0, 0, 4.78228873634340025, 0, 4.78228873634340025, 0, 0, 0, 0, 0, 0, -71.7343310451510038, 0, 0, 0, 0, 0, 0, 0, 0, -4.78228873634340025, 0, 71.7343310451510038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.341592052595957161, 0, -4.78228873634340025, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 13/2 + 0.129109660143571178, 0, 0, -1.80753524200999649, 0, -1.80753524200999649, 0, 0, 0, 0, 0, 0, 27.1130286301499473, 0, 0, 0, 0, 0, 0, 0, 0, 1.80753524200999649, 0, -27.1130286301499473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.129109660143571178, 0, 1.80753524200999649, 0, 0, 0, 0, 0, 0, + 0, 0, -1.93664490215356767, 0, 0, 0, 0, 40.669542945224921, 0, 0, 0, 0, 0, 0, 0, 0, -67.7825715753748683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.5565143150749737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 15/2 + 0, 0, 0.500039563570550664, 0, 0, 0, 0, -10.5008308349815639, 0, 0, 0, 0, 0, 0, 0, 0, 17.5013847249692732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.500039563570550664, 0, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 35.0027694499385465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.500039563570550664, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -17/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.51542898439728431, 0, 0, -14.4320115631239607, 0, 0, 0, 0, 0, 0, 36.0800289078099017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.4320115631239607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.51542898439728431, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -15/2 + 0.125009890892637666, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 8.75069236248463662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.125009890892637666, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.00015825428220266, 0, 0, 0, 0, -42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, 70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -13/2 + 0, 0, 0.707162732524596178, 0, 0, 0, 0, -14.8504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.353581366262298089, 0, 0, 4.95013912767217325, 0, 4.95013912767217325, 0, 0, 0, 0, 0, 0, -74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, -4.95013912767217325, 0, 74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.353581366262298089, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -11/2 + -0.158126394107949853, 0, 0, 2.21376951751129794, 0, 2.21376951751129794, 0, 0, 0, 0, 0, 0, -33.2065427626694691, 0, 0, 0, 0, 0, 0, 0, 0, -2.21376951751129794, 0, 33.2065427626694691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.158126394107949853, 0, -2.21376951751129794, 0, 0, 0, 0, 0, 0, + 0, 0, -2.21376951751129794, 0, 0, 0, 0, 19.9239256576016814, 0, 8.85507807004519175, 0, 0, 0, 0, 0, 0, 11.0688475875564897, 0, -88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11.0688475875564897, 0, 44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -9/2 + 0, 0, -1.18330958111587602, 0, 0, 0, 0, 10.6497862300428841, 0, 4.73323832446350406, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, -47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, 23.6661916223175203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.295827395278969004, 0, 0, -1.18330958111587602, 0, -7.0998574866952561, 0, 0, 0, 0, -2.95827395278969004, 0, 35.4992874334762805, 0, 11.8330958111587602, 0, 0, 0, 0, 0, 0, -1.18330958111587602, 0, 35.4992874334762805, 0, -70.998574866952561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.295827395278969004, 0, -7.0998574866952561, 0, 11.8330958111587602, 0, 0, 0, 0, + // j = 17/2, mj = -7/2 + 0.183464362288218895, 0, 0, -0.733857449152875582, 0, -4.40314469491725349, 0, 0, 0, 0, -1.83464362288218895, 0, 22.0157234745862674, 0, 7.33857449152875582, 0, 0, 0, 0, 0, 0, -0.733857449152875582, 0, 22.0157234745862674, 0, -44.0314469491725349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.183464362288218895, 0, -4.40314469491725349, 0, 7.33857449152875582, 0, 0, 0, 0, + 0, 0, 2.20157234745862674, 0, 0, 0, 0, -2.20157234745862674, 0, -14.6771489830575116, 0, 0, 0, 0, 0, 0, -11.0078617372931337, 0, 29.3542979661150233, 0, 11.7417191864460093, 0, 0, 0, 0, 0, 0, 0, 0, -6.60471704237588023, 0, 44.0314469491725349, 0, -35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -5/2 + 0, 0, 1.55674673616078096, 0, 0, 0, 0, -1.55674673616078096, 0, -10.3783115744052064, 0, 0, 0, 0, 0, 0, -7.7837336808039048, 0, 20.7566231488104128, 0, 8.30264925952416512, 0, 0, 0, 0, 0, 0, 0, 0, -4.67024020848234288, 0, 31.1349347232156192, 0, -24.9079477785724953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.25945778936013016, 0, 0, -0.51891557872026032, 0, 7.7837336808039048, 0, 0, 0, 0, 0, 0, 7.7837336808039048, 0, -20.7566231488104128, 0, 0, 0, 0, 0, 0, 0.51891557872026032, 0, -7.7837336808039048, 0, 0, 0, 8.30264925952416512, 0, 0, 0, 0, 0, 0, 0, 0, 0.25945778936013016, 0, -7.7837336808039048, 0, 20.7566231488104128, 0, -8.30264925952416512, 0, 0, + // j = 17/2, mj = -3/2 + -0.206975714696966254, 0, 0, -0.413951429393932508, 0, 6.20927144090898762, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -16.5580571757573003, 0, 0, 0, 0, 0, 0, 0.413951429393932508, 0, -6.20927144090898762, 0, 0, 0, 6.62322287030292013, 0, 0, 0, 0, 0, 0, 0, 0, 0.206975714696966254, 0, -6.20927144090898762, 0, 16.5580571757573003, 0, -6.62322287030292013, 0, 0, + 0, 0, -2.06975714696966254, 0, 0, 0, 0, -6.20927144090898762, 0, 16.5580571757573003, 0, 0, 0, 0, 0, 0, -6.20927144090898762, 0, 33.1161143515146006, 0, -19.8696686109087604, 0, 0, 0, 0, 0, 0, 0, 0, -2.06975714696966254, 0, 16.5580571757573003, 0, -19.8696686109087604, 0, 3.78469878303024007, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -1/2 + 0, 0, -1.85124707101607532, 0, 0, 0, 0, -5.55374121304822595, 0, 14.8099765681286025, 0, 0, 0, 0, 0, 0, -5.55374121304822595, 0, 29.6199531362572051, 0, -17.771971881754323, 0, 0, 0, 0, 0, 0, 0, 0, -1.85124707101607532, 0, 14.8099765681286025, 0, -17.771971881754323, 0, 3.38513750128653772, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.231405883877009415, 0, 0, 0.925623535508037658, 0, -7.40498828406430127, 0, 0, 0, 0, 1.38843530326205649, 0, -22.2149648521929038, 0, 22.2149648521929038, 0, 0, 0, 0, 0, 0, 0.925623535508037658, 0, -22.2149648521929038, 0, 44.4299297043858076, 0, -11.847981254502882, 0, 0, 0, 0, 0, 0, 0, 0, 0.231405883877009415, 0, -7.40498828406430127, 0, 22.2149648521929038, 0, -11.847981254502882, 0, 0.84628437532163443, + // j = 17/2, mj = 1/2 + 0.231405883877009415, 0, 0, 0.925623535508037658, 0, -7.40498828406430127, 0, 0, 0, 0, 1.38843530326205649, 0, -22.2149648521929038, 0, 22.2149648521929038, 0, 0, 0, 0, 0, 0, 0.925623535508037658, 0, -22.2149648521929038, 0, 44.4299297043858076, 0, -11.847981254502882, 0, 0, 0, 0, 0, 0, 0, 0, 0.231405883877009415, 0, -7.40498828406430127, 0, 22.2149648521929038, 0, -11.847981254502882, 0, 0.84628437532163443, + 0, 0, 1.85124707101607532, 0, 0, 0, 0, 5.55374121304822595, 0, -14.8099765681286025, 0, 0, 0, 0, 0, 0, 5.55374121304822595, 0, -29.6199531362572051, 0, 17.771971881754323, 0, 0, 0, 0, 0, 0, 0, 0, 1.85124707101607532, 0, -14.8099765681286025, 0, 17.771971881754323, 0, -3.38513750128653772, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 3/2 + 0, 0, 2.06975714696966254, 0, 0, 0, 0, 6.20927144090898762, 0, -16.5580571757573003, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -33.1161143515146006, 0, 19.8696686109087604, 0, 0, 0, 0, 0, 0, 0, 0, 2.06975714696966254, 0, -16.5580571757573003, 0, 19.8696686109087604, 0, -3.78469878303024007, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.206975714696966254, 0, 0, -0.413951429393932508, 0, 6.20927144090898762, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -16.5580571757573003, 0, 0, 0, 0, 0, 0, 0.413951429393932508, 0, -6.20927144090898762, 0, 0, 0, 6.62322287030292013, 0, 0, 0, 0, 0, 0, 0, 0, 0.206975714696966254, 0, -6.20927144090898762, 0, 16.5580571757573003, 0, -6.62322287030292013, 0, 0, + // j = 17/2, mj = 5/2 + -0.25945778936013016, 0, 0, -0.51891557872026032, 0, 7.7837336808039048, 0, 0, 0, 0, 0, 0, 7.7837336808039048, 0, -20.7566231488104128, 0, 0, 0, 0, 0, 0, 0.51891557872026032, 0, -7.7837336808039048, 0, 0, 0, 8.30264925952416512, 0, 0, 0, 0, 0, 0, 0, 0, 0.25945778936013016, 0, -7.7837336808039048, 0, 20.7566231488104128, 0, -8.30264925952416512, 0, 0, + 0, 0, -1.55674673616078096, 0, 0, 0, 0, 1.55674673616078096, 0, 10.3783115744052064, 0, 0, 0, 0, 0, 0, 7.7837336808039048, 0, -20.7566231488104128, 0, -8.30264925952416512, 0, 0, 0, 0, 0, 0, 0, 0, 4.67024020848234288, 0, -31.1349347232156192, 0, 24.9079477785724953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 7/2 + 0, 0, -2.20157234745862674, 0, 0, 0, 0, 2.20157234745862674, 0, 14.6771489830575116, 0, 0, 0, 0, 0, 0, 11.0078617372931337, 0, -29.3542979661150233, 0, -11.7417191864460093, 0, 0, 0, 0, 0, 0, 0, 0, 6.60471704237588023, 0, -44.0314469491725349, 0, 35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.183464362288218895, 0, 0, -0.733857449152875582, 0, -4.40314469491725349, 0, 0, 0, 0, -1.83464362288218895, 0, 22.0157234745862674, 0, 7.33857449152875582, 0, 0, 0, 0, 0, 0, -0.733857449152875582, 0, 22.0157234745862674, 0, -44.0314469491725349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.183464362288218895, 0, -4.40314469491725349, 0, 7.33857449152875582, 0, 0, 0, 0, + // j = 17/2, mj = 9/2 + 0.295827395278969004, 0, 0, -1.18330958111587602, 0, -7.0998574866952561, 0, 0, 0, 0, -2.95827395278969004, 0, 35.4992874334762805, 0, 11.8330958111587602, 0, 0, 0, 0, 0, 0, -1.18330958111587602, 0, 35.4992874334762805, 0, -70.998574866952561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.295827395278969004, 0, -7.0998574866952561, 0, 11.8330958111587602, 0, 0, 0, 0, + 0, 0, 1.18330958111587602, 0, 0, 0, 0, -10.6497862300428841, 0, -4.73323832446350406, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, -23.6661916223175203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 11/2 + 0, 0, 2.21376951751129794, 0, 0, 0, 0, -19.9239256576016814, 0, -8.85507807004519175, 0, 0, 0, 0, 0, 0, -11.0688475875564897, 0, 88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.0688475875564897, 0, -44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.158126394107949853, 0, 0, 2.21376951751129794, 0, 2.21376951751129794, 0, 0, 0, 0, 0, 0, -33.2065427626694691, 0, 0, 0, 0, 0, 0, 0, 0, -2.21376951751129794, 0, 33.2065427626694691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.158126394107949853, 0, -2.21376951751129794, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 13/2 + -0.353581366262298089, 0, 0, 4.95013912767217325, 0, 4.95013912767217325, 0, 0, 0, 0, 0, 0, -74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, -4.95013912767217325, 0, 74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.353581366262298089, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, + 0, 0, -0.707162732524596178, 0, 0, 0, 0, 14.8504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, -24.7506956383608662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.95013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 15/2 + 0, 0, -2.00015825428220266, 0, 0, 0, 0, 42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, -70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.0011077799754186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.125009890892637666, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 8.75069236248463662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.125009890892637666, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 17/2 + 0.51542898439728431, 0, 0, -14.4320115631239607, 0, 0, 0, 0, 0, 0, 36.0800289078099017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.4320115631239607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.51542898439728431, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -17/2 + -0.51542898439728431, 0, 0, 18.5554434383022352, 0, 0, 0, 0, 0, 0, -64.944052034057823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43.296034689371882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.63886085957555879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.51542898439728431, 0, 0, 0, 0, -14.4320115631239607, 0, 0, 0, 0, 0, 0, 0, 0, 36.0800289078099017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.4320115631239607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.51542898439728431, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -15/2 + 0, 0, -2.12516814517484032, 0, 0, 0, 0, 59.504708064895529, 0, 0, 0, 0, 0, 0, 0, 0, -148.761770162238823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59.504708064895529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.12516814517484032, 0, 0, 0, 0, 0, 0, 0, 0, + -0.125009890892637666, 0, 0, 2.50019781785275332, 0, 2.00015825428220266, 0, 0, 0, 0, -1.75013847249692732, 0, -42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, -3.50027694499385465, 0, 70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.875069236248463662, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -13/2 + 0.353581366262298089, 0, 0, -7.07162732524596178, 0, -5.65730186019676943, 0, 0, 0, 0, 4.95013912767217325, 0, 118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 9.9002782553443465, 0, -198.00556510688693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.47506956383608662, 0, 39.601113021377386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.06074409878689427, 0, 0, 0, 0, 14.8504173830165197, 0, 4.95013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, -74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, 74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.06074409878689427, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -11/2 + 0, 0, 2.37189591161924779, 0, 0, 0, 0, -33.2065427626694691, 0, -11.0688475875564897, 0, 0, 0, 0, 0, 0, 0, 0, 166.032713813347345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33.2065427626694691, 0, -166.032713813347345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.37189591161924779, 0, 11.0688475875564897, 0, 0, 0, 0, 0, 0, + 0.158126394107949853, 0, 0, -1.26501115286359882, 0, -4.42753903502259587, 0, 0, 0, 0, -2.21376951751129794, 0, 39.8478513152033629, 0, 8.85507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 22.1376951751129794, 0, -88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.790631970539749263, 0, -22.1376951751129794, 0, 44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -9/2 + -0.295827395278969004, 0, 0, 2.36661916223175203, 0, 8.28316706781113211, 0, 0, 0, 0, 4.14158353390556606, 0, -74.548503610300189, 0, -16.5663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, -41.4158353390556606, 0, 165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.47913697639484502, 0, 41.4158353390556606, 0, -82.8316706781113211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.47913697639484502, 0, 0, 0, 0, -5.91654790557938008, 0, -11.8330958111587602, 0, 0, 0, 0, 0, 0, -14.7913697639484502, 0, 59.1654790557938008, 0, 11.8330958111587602, 0, 0, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, 59.1654790557938008, 0, -70.998574866952561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47913697639484502, 0, -11.8330958111587602, 0, 11.8330958111587602, 0, 0, 0, 0, + // j = 17/2, mj = -7/2 + 0, 0, -2.38503670974684564, 0, 0, 0, 0, 9.54014683898738256, 0, 19.0802936779747651, 0, 0, 0, 0, 0, 0, 23.8503670974684564, 0, -95.4014683898738256, 0, -19.0802936779747651, 0, 0, 0, 0, 0, 0, 0, 0, 9.54014683898738256, 0, -95.4014683898738256, 0, 114.481762067848591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.38503670974684564, 0, 19.0802936779747651, 0, -19.0802936779747651, 0, 0, 0, 0, + -0.183464362288218895, 0, 0, 0, 0, 6.60471704237588023, 0, 0, 0, 0, 1.10078617372931337, 0, -6.60471704237588023, 0, -22.0157234745862674, 0, 0, 0, 0, 0, 0, 1.46771489830575116, 0, -33.0235852118794012, 0, 44.0314469491725349, 0, 11.7417191864460093, 0, 0, 0, 0, 0, 0, 0, 0, 0.550393086864656686, 0, -19.8141511271276407, 0, 66.0471704237588023, 0, -35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -5/2 + 0.25945778936013016, 0, 0, 0, 0, -9.34048041696468576, 0, 0, 0, 0, -1.55674673616078096, 0, 9.34048041696468576, 0, 31.1349347232156192, 0, 0, 0, 0, 0, 0, -2.07566231488104128, 0, 46.7024020848234288, 0, -62.2698694464312384, 0, -16.6052985190483302, 0, 0, 0, 0, 0, 0, 0, 0, -0.77837336808039048, 0, 28.0214412508940573, 0, -93.4048041696468576, 0, 49.8158955571449907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.81620452552091112, 0, 0, 0, 0, -3.63240905104182224, 0, 18.1620452552091112, 0, 0, 0, 0, 0, 0, 0, 0, 18.1620452552091112, 0, -29.0592724083345779, 0, 0, 0, 0, 0, 0, 0, 0, 3.63240905104182224, 0, -18.1620452552091112, 0, 0, 0, 8.30264925952416512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.81620452552091112, 0, -18.1620452552091112, 0, 29.0592724083345779, 0, -8.30264925952416512, 0, 0, + // j = 17/2, mj = -3/2 + 0, 0, 2.27673286166662879, 0, 0, 0, 0, 4.55346572333325759, 0, -22.7673286166662879, 0, 0, 0, 0, 0, 0, 0, 0, -22.7673286166662879, 0, 36.4277257866660607, 0, 0, 0, 0, 0, 0, 0, 0, -4.55346572333325759, 0, 22.7673286166662879, 0, 0, 0, -10.4079216533331602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.27673286166662879, 0, 22.7673286166662879, 0, -36.4277257866660607, 0, 10.4079216533331602, 0, 0, + 0.206975714696966254, 0, 0, 0.827902858787865016, 0, -8.27902858787865016, 0, 0, 0, 0, 1.24185428818179752, 0, -24.8370857636359505, 0, 33.1161143515146006, 0, 0, 0, 0, 0, 0, 0.827902858787865016, 0, -24.8370857636359505, 0, 66.2322287030292013, 0, -26.4928914812116805, 0, 0, 0, 0, 0, 0, 0, 0, 0.206975714696966254, 0, -8.27902858787865016, 0, 33.1161143515146006, 0, -26.4928914812116805, 0, 3.78469878303024007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -1/2 + -0.231405883877009415, 0, 0, -0.925623535508037658, 0, 9.25623535508037658, 0, 0, 0, 0, -1.38843530326205649, 0, 27.7687060652411297, 0, -37.0249414203215063, 0, 0, 0, 0, 0, 0, -0.925623535508037658, 0, 27.7687060652411297, 0, -74.0498828406430127, 0, 29.6199531362572051, 0, 0, 0, 0, 0, 0, 0, 0, -0.231405883877009415, 0, 9.25623535508037658, 0, -37.0249414203215063, 0, 29.6199531362572051, 0, -4.23142187660817215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.08265295489308473, 0, 0, 0, 0, 8.33061181957233892, 0, -22.2149648521929038, 0, 0, 0, 0, 0, 0, 12.4959177293585084, 0, -66.6448945565787114, 0, 39.9869367339472268, 0, 0, 0, 0, 0, 0, 0, 0, 8.33061181957233892, 0, -66.6448945565787114, 0, 79.9738734678944537, 0, -15.2331187557894197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.08265295489308473, 0, -22.2149648521929038, 0, 39.9869367339472268, 0, -15.2331187557894197, 0, 0.84628437532163443, + // j = 17/2, mj = 1/2 + 0, 0, -2.08265295489308473, 0, 0, 0, 0, -8.33061181957233892, 0, 22.2149648521929038, 0, 0, 0, 0, 0, 0, -12.4959177293585084, 0, 66.6448945565787114, 0, -39.9869367339472268, 0, 0, 0, 0, 0, 0, 0, 0, -8.33061181957233892, 0, 66.6448945565787114, 0, -79.9738734678944537, 0, 15.2331187557894197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.08265295489308473, 0, 22.2149648521929038, 0, -39.9869367339472268, 0, 15.2331187557894197, 0, -0.84628437532163443, + -0.231405883877009415, 0, 0, -0.925623535508037658, 0, 9.25623535508037658, 0, 0, 0, 0, -1.38843530326205649, 0, 27.7687060652411297, 0, -37.0249414203215063, 0, 0, 0, 0, 0, 0, -0.925623535508037658, 0, 27.7687060652411297, 0, -74.0498828406430127, 0, 29.6199531362572051, 0, 0, 0, 0, 0, 0, 0, 0, -0.231405883877009415, 0, 9.25623535508037658, 0, -37.0249414203215063, 0, 29.6199531362572051, 0, -4.23142187660817215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 3/2 + 0.206975714696966254, 0, 0, 0.827902858787865016, 0, -8.27902858787865016, 0, 0, 0, 0, 1.24185428818179752, 0, -24.8370857636359505, 0, 33.1161143515146006, 0, 0, 0, 0, 0, 0, 0.827902858787865016, 0, -24.8370857636359505, 0, 66.2322287030292013, 0, -26.4928914812116805, 0, 0, 0, 0, 0, 0, 0, 0, 0.206975714696966254, 0, -8.27902858787865016, 0, 33.1161143515146006, 0, -26.4928914812116805, 0, 3.78469878303024007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.27673286166662879, 0, 0, 0, 0, -4.55346572333325759, 0, 22.7673286166662879, 0, 0, 0, 0, 0, 0, 0, 0, 22.7673286166662879, 0, -36.4277257866660607, 0, 0, 0, 0, 0, 0, 0, 0, 4.55346572333325759, 0, -22.7673286166662879, 0, 0, 0, 10.4079216533331602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.27673286166662879, 0, -22.7673286166662879, 0, 36.4277257866660607, 0, -10.4079216533331602, 0, 0, + // j = 17/2, mj = 5/2 + 0, 0, 1.81620452552091112, 0, 0, 0, 0, 3.63240905104182224, 0, -18.1620452552091112, 0, 0, 0, 0, 0, 0, 0, 0, -18.1620452552091112, 0, 29.0592724083345779, 0, 0, 0, 0, 0, 0, 0, 0, -3.63240905104182224, 0, 18.1620452552091112, 0, 0, 0, -8.30264925952416512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.81620452552091112, 0, 18.1620452552091112, 0, -29.0592724083345779, 0, 8.30264925952416512, 0, 0, + 0.25945778936013016, 0, 0, 0, 0, -9.34048041696468576, 0, 0, 0, 0, -1.55674673616078096, 0, 9.34048041696468576, 0, 31.1349347232156192, 0, 0, 0, 0, 0, 0, -2.07566231488104128, 0, 46.7024020848234288, 0, -62.2698694464312384, 0, -16.6052985190483302, 0, 0, 0, 0, 0, 0, 0, 0, -0.77837336808039048, 0, 28.0214412508940573, 0, -93.4048041696468576, 0, 49.8158955571449907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 7/2 + -0.183464362288218895, 0, 0, 0, 0, 6.60471704237588023, 0, 0, 0, 0, 1.10078617372931337, 0, -6.60471704237588023, 0, -22.0157234745862674, 0, 0, 0, 0, 0, 0, 1.46771489830575116, 0, -33.0235852118794012, 0, 44.0314469491725349, 0, 11.7417191864460093, 0, 0, 0, 0, 0, 0, 0, 0, 0.550393086864656686, 0, -19.8141511271276407, 0, 66.0471704237588023, 0, -35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.38503670974684564, 0, 0, 0, 0, -9.54014683898738256, 0, -19.0802936779747651, 0, 0, 0, 0, 0, 0, -23.8503670974684564, 0, 95.4014683898738256, 0, 19.0802936779747651, 0, 0, 0, 0, 0, 0, 0, 0, -9.54014683898738256, 0, 95.4014683898738256, 0, -114.481762067848591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.38503670974684564, 0, -19.0802936779747651, 0, 19.0802936779747651, 0, 0, 0, 0, + // j = 17/2, mj = 9/2 + 0, 0, -1.47913697639484502, 0, 0, 0, 0, 5.91654790557938008, 0, 11.8330958111587602, 0, 0, 0, 0, 0, 0, 14.7913697639484502, 0, -59.1654790557938008, 0, -11.8330958111587602, 0, 0, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, -59.1654790557938008, 0, 70.998574866952561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.47913697639484502, 0, 11.8330958111587602, 0, -11.8330958111587602, 0, 0, 0, 0, + -0.295827395278969004, 0, 0, 2.36661916223175203, 0, 8.28316706781113211, 0, 0, 0, 0, 4.14158353390556606, 0, -74.548503610300189, 0, -16.5663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, -41.4158353390556606, 0, 165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.47913697639484502, 0, 41.4158353390556606, 0, -82.8316706781113211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 11/2 + 0.158126394107949853, 0, 0, -1.26501115286359882, 0, -4.42753903502259587, 0, 0, 0, 0, -2.21376951751129794, 0, 39.8478513152033629, 0, 8.85507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 22.1376951751129794, 0, -88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.790631970539749263, 0, -22.1376951751129794, 0, 44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.37189591161924779, 0, 0, 0, 0, 33.2065427626694691, 0, 11.0688475875564897, 0, 0, 0, 0, 0, 0, 0, 0, -166.032713813347345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33.2065427626694691, 0, 166.032713813347345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.37189591161924779, 0, -11.0688475875564897, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 13/2 + 0, 0, 1.06074409878689427, 0, 0, 0, 0, -14.8504173830165197, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.8504173830165197, 0, -74.2520869150825987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.06074409878689427, 0, 4.95013912767217325, 0, 0, 0, 0, 0, 0, + 0.353581366262298089, 0, 0, -7.07162732524596178, 0, -5.65730186019676943, 0, 0, 0, 0, 4.95013912767217325, 0, 118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 9.9002782553443465, 0, -198.00556510688693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.47506956383608662, 0, 39.601113021377386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 15/2 + -0.125009890892637666, 0, 0, 2.50019781785275332, 0, 2.00015825428220266, 0, 0, 0, 0, -1.75013847249692732, 0, -42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, -3.50027694499385465, 0, 70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.875069236248463662, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.12516814517484032, 0, 0, 0, 0, -59.504708064895529, 0, 0, 0, 0, 0, 0, 0, 0, 148.761770162238823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59.504708064895529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.12516814517484032, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 17/2 + 0, 0, -0.51542898439728431, 0, 0, 0, 0, 14.4320115631239607, 0, 0, 0, 0, 0, 0, 0, 0, -36.0800289078099017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.4320115631239607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.51542898439728431, 0, 0, 0, 0, 0, 0, 0, 0, + -0.51542898439728431, 0, 0, 18.5554434383022352, 0, 0, 0, 0, 0, 0, -64.944052034057823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43.296034689371882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.63886085957555879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -19/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.52955294149244958, 0, 0, -19.0639058937281849, 0, 0, 0, 0, 0, 0, 66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.76597647343204622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -17/2 + 0.121487776695804978, 0, 0, -4.37355996104897921, 0, 0, 0, 0, 0, 0, 15.3074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.2049732424476182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0933899902622448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.18677998052448961, 0, 0, 0, 0, -61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 153.074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.18677998052448961, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -15/2 + 0, 0, 0.728926660174829869, 0, 0, 0, 0, -20.4099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 51.0248662122380908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.4099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.728926660174829869, 0, 0, 0, 0, 0, 0, 0, 0, + -0.364463330087414934, 0, 0, 7.28926660174829869, 0, 5.83141328139863895, 0, 0, 0, 0, -5.10248662122380908, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, -10.2049732424476182, 0, 204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.55124331061190454, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -13/2 + -0.153105222743980097, 0, 0, 3.06210445487960195, 0, 2.44968356390368156, 0, 0, 0, 0, -2.14347311841572136, 0, -51.4433548419773127, 0, 0, 0, 0, 0, 0, 0, 0, -4.28694623683144273, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.07173655920786068, 0, -17.1477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.44968356390368156, 0, 0, 0, 0, 34.2955698946515418, 0, 11.4318566315505139, 0, 0, 0, 0, 0, 0, 0, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.2955698946515418, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.44968356390368156, 0, -11.4318566315505139, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -11/2 + 0, 0, -1.22484178195184078, 0, 0, 0, 0, 17.1477849473257709, 0, 5.71592831577525697, 0, 0, 0, 0, 0, 0, 0, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.1477849473257709, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.22484178195184078, 0, -5.71592831577525697, 0, 0, 0, 0, 0, 0, + 0.306210445487960195, 0, 0, -2.44968356390368156, 0, -8.57389247366288545, 0, 0, 0, 0, -4.28694623683144273, 0, 77.1650322629659691, 0, 17.1477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 42.8694623683144273, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.53105222743980097, 0, -42.8694623683144273, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -9/2 + 0.176790683131149045, 0, 0, -1.41432546504919236, 0, -4.95013912767217325, 0, 0, 0, 0, -2.47506956383608662, 0, 44.5512521490495592, 0, 9.9002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 24.7506956383608662, 0, -99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.883953415655745223, 0, -24.7506956383608662, 0, 49.5013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.47506956383608662, 0, 0, 0, 0, -9.9002782553443465, 0, -19.800556510688693, 0, 0, 0, 0, 0, 0, -24.7506956383608662, 0, 99.002782553443465, 0, 19.800556510688693, 0, 0, 0, 0, 0, 0, 0, 0, -9.9002782553443465, 0, 99.002782553443465, 0, -118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.47506956383608662, 0, -19.800556510688693, 0, 19.800556510688693, 0, 0, 0, 0, + // j = 19/2, mj = -7/2 + 0, 0, 1.62031337522288607, 0, 0, 0, 0, -6.48125350089154427, 0, -12.9625070017830885, 0, 0, 0, 0, 0, 0, -16.2031337522288607, 0, 64.8125350089154427, 0, 12.9625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, -6.48125350089154427, 0, 64.8125350089154427, 0, -77.7750420106985312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.62031337522288607, 0, -12.9625070017830885, 0, 12.9625070017830885, 0, 0, 0, 0, + -0.270052229203814345, 0, 0, 0, 0, 9.7218802513373164, 0, 0, 0, 0, 1.62031337522288607, 0, -9.7218802513373164, 0, -32.4062675044577213, 0, 0, 0, 0, 0, 0, 2.16041783363051476, 0, -48.609401256686582, 0, 64.8125350089154427, 0, 17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0.810156687611443034, 0, -29.1656407540119492, 0, 97.218802513373164, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -5/2 + -0.198164159898117403, 0, 0, 0, 0, 7.13390975633222651, 0, 0, 0, 0, 1.18898495938870442, 0, -7.13390975633222651, 0, -23.7796991877740884, 0, 0, 0, 0, 0, 0, 1.58531327918493922, 0, -35.6695487816611326, 0, 47.5593983755481767, 0, 12.6825062334795138, 0, 0, 0, 0, 0, 0, 0, 0, 0.594492479694352209, 0, -21.4017292689966795, 0, 71.3390975633222651, 0, -38.0475187004385414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.37796991877740884, 0, 0, 0, 0, -4.75593983755481767, 0, 23.7796991877740884, 0, 0, 0, 0, 0, 0, 0, 0, 23.7796991877740884, 0, -38.0475187004385414, 0, 0, 0, 0, 0, 0, 0, 0, 4.75593983755481767, 0, -23.7796991877740884, 0, 0, 0, 10.8707196286967261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.37796991877740884, 0, -23.7796991877740884, 0, 38.0475187004385414, 0, -10.8707196286967261, 0, 0, + // j = 19/2, mj = -3/2 + 0, 0, -1.9416043082307367, 0, 0, 0, 0, -3.88320861646147339, 0, 19.416043082307367, 0, 0, 0, 0, 0, 0, 0, 0, 19.416043082307367, 0, -31.0656689316917871, 0, 0, 0, 0, 0, 0, 0, 0, 3.88320861646147339, 0, -19.416043082307367, 0, 0, 0, 8.87590540905479632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9416043082307367, 0, -19.416043082307367, 0, 31.0656689316917871, 0, -8.87590540905479632, 0, 0, + 0.242700538528842087, 0, 0, 0.970802154115368348, 0, -9.70802154115368348, 0, 0, 0, 0, 1.45620323117305252, 0, -29.1240646234610504, 0, 38.8320861646147339, 0, 0, 0, 0, 0, 0, 0.970802154115368348, 0, -29.1240646234610504, 0, 77.6641723292294678, 0, -31.0656689316917871, 0, 0, 0, 0, 0, 0, 0, 0, 0.242700538528842087, 0, -9.70802154115368348, 0, 38.8320861646147339, 0, -31.0656689316917871, 0, 4.43795270452739816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -1/2 + 0.219530897104735508, 0, 0, 0.878123588418942033, 0, -8.78123588418942033, 0, 0, 0, 0, 1.31718538262841305, 0, -26.343707652568261, 0, 35.1249435367576813, 0, 0, 0, 0, 0, 0, 0.878123588418942033, 0, -26.343707652568261, 0, 70.2498870735153626, 0, -28.0999548294061451, 0, 0, 0, 0, 0, 0, 0, 0, 0.219530897104735508, 0, -8.78123588418942033, 0, 35.1249435367576813, 0, -28.0999548294061451, 0, 4.01427926134373501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.19530897104735508, 0, 0, 0, 0, 8.78123588418942033, 0, -23.4166290245051209, 0, 0, 0, 0, 0, 0, 13.1718538262841305, 0, -70.2498870735153626, 0, 42.1499322441092176, 0, 0, 0, 0, 0, 0, 0, 0, 8.78123588418942033, 0, -70.2498870735153626, 0, 84.2998644882184352, 0, -16.05711704537494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.19530897104735508, 0, -23.4166290245051209, 0, 42.1499322441092176, 0, -16.05711704537494, 0, 0.892062058076385557, + // j = 19/2, mj = 1/2 + 0, 0, 2.19530897104735508, 0, 0, 0, 0, 8.78123588418942033, 0, -23.4166290245051209, 0, 0, 0, 0, 0, 0, 13.1718538262841305, 0, -70.2498870735153626, 0, 42.1499322441092176, 0, 0, 0, 0, 0, 0, 0, 0, 8.78123588418942033, 0, -70.2498870735153626, 0, 84.2998644882184352, 0, -16.05711704537494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.19530897104735508, 0, -23.4166290245051209, 0, 42.1499322441092176, 0, -16.05711704537494, 0, 0.892062058076385557, + -0.219530897104735508, 0, 0, -0.878123588418942033, 0, 8.78123588418942033, 0, 0, 0, 0, -1.31718538262841305, 0, 26.343707652568261, 0, -35.1249435367576813, 0, 0, 0, 0, 0, 0, -0.878123588418942033, 0, 26.343707652568261, 0, -70.2498870735153626, 0, 28.0999548294061451, 0, 0, 0, 0, 0, 0, 0, 0, -0.219530897104735508, 0, 8.78123588418942033, 0, -35.1249435367576813, 0, 28.0999548294061451, 0, -4.01427926134373501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 3/2 + -0.242700538528842087, 0, 0, -0.970802154115368348, 0, 9.70802154115368348, 0, 0, 0, 0, -1.45620323117305252, 0, 29.1240646234610504, 0, -38.8320861646147339, 0, 0, 0, 0, 0, 0, -0.970802154115368348, 0, 29.1240646234610504, 0, -77.6641723292294678, 0, 31.0656689316917871, 0, 0, 0, 0, 0, 0, 0, 0, -0.242700538528842087, 0, 9.70802154115368348, 0, -38.8320861646147339, 0, 31.0656689316917871, 0, -4.43795270452739816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.9416043082307367, 0, 0, 0, 0, -3.88320861646147339, 0, 19.416043082307367, 0, 0, 0, 0, 0, 0, 0, 0, 19.416043082307367, 0, -31.0656689316917871, 0, 0, 0, 0, 0, 0, 0, 0, 3.88320861646147339, 0, -19.416043082307367, 0, 0, 0, 8.87590540905479632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9416043082307367, 0, -19.416043082307367, 0, 31.0656689316917871, 0, -8.87590540905479632, 0, 0, + // j = 19/2, mj = 5/2 + 0, 0, -2.37796991877740884, 0, 0, 0, 0, -4.75593983755481767, 0, 23.7796991877740884, 0, 0, 0, 0, 0, 0, 0, 0, 23.7796991877740884, 0, -38.0475187004385414, 0, 0, 0, 0, 0, 0, 0, 0, 4.75593983755481767, 0, -23.7796991877740884, 0, 0, 0, 10.8707196286967261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.37796991877740884, 0, -23.7796991877740884, 0, 38.0475187004385414, 0, -10.8707196286967261, 0, 0, + 0.198164159898117403, 0, 0, 0, 0, -7.13390975633222651, 0, 0, 0, 0, -1.18898495938870442, 0, 7.13390975633222651, 0, 23.7796991877740884, 0, 0, 0, 0, 0, 0, -1.58531327918493922, 0, 35.6695487816611326, 0, -47.5593983755481767, 0, -12.6825062334795138, 0, 0, 0, 0, 0, 0, 0, 0, -0.594492479694352209, 0, 21.4017292689966795, 0, -71.3390975633222651, 0, 38.0475187004385414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 7/2 + 0.270052229203814345, 0, 0, 0, 0, -9.7218802513373164, 0, 0, 0, 0, -1.62031337522288607, 0, 9.7218802513373164, 0, 32.4062675044577213, 0, 0, 0, 0, 0, 0, -2.16041783363051476, 0, 48.609401256686582, 0, -64.8125350089154427, 0, -17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, -0.810156687611443034, 0, 29.1656407540119492, 0, -97.218802513373164, 0, 51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.62031337522288607, 0, 0, 0, 0, -6.48125350089154427, 0, -12.9625070017830885, 0, 0, 0, 0, 0, 0, -16.2031337522288607, 0, 64.8125350089154427, 0, 12.9625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, -6.48125350089154427, 0, 64.8125350089154427, 0, -77.7750420106985312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.62031337522288607, 0, -12.9625070017830885, 0, 12.9625070017830885, 0, 0, 0, 0, + // j = 19/2, mj = 9/2 + 0, 0, 2.47506956383608662, 0, 0, 0, 0, -9.9002782553443465, 0, -19.800556510688693, 0, 0, 0, 0, 0, 0, -24.7506956383608662, 0, 99.002782553443465, 0, 19.800556510688693, 0, 0, 0, 0, 0, 0, 0, 0, -9.9002782553443465, 0, 99.002782553443465, 0, -118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.47506956383608662, 0, -19.800556510688693, 0, 19.800556510688693, 0, 0, 0, 0, + -0.176790683131149045, 0, 0, 1.41432546504919236, 0, 4.95013912767217325, 0, 0, 0, 0, 2.47506956383608662, 0, -44.5512521490495592, 0, -9.9002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, -24.7506956383608662, 0, 99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.883953415655745223, 0, 24.7506956383608662, 0, -49.5013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 11/2 + -0.306210445487960195, 0, 0, 2.44968356390368156, 0, 8.57389247366288545, 0, 0, 0, 0, 4.28694623683144273, 0, -77.1650322629659691, 0, -17.1477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, -42.8694623683144273, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.53105222743980097, 0, 42.8694623683144273, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.22484178195184078, 0, 0, 0, 0, 17.1477849473257709, 0, 5.71592831577525697, 0, 0, 0, 0, 0, 0, 0, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.1477849473257709, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.22484178195184078, 0, -5.71592831577525697, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 13/2 + 0, 0, -2.44968356390368156, 0, 0, 0, 0, 34.2955698946515418, 0, 11.4318566315505139, 0, 0, 0, 0, 0, 0, 0, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.2955698946515418, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.44968356390368156, 0, -11.4318566315505139, 0, 0, 0, 0, 0, 0, + 0.153105222743980097, 0, 0, -3.06210445487960195, 0, -2.44968356390368156, 0, 0, 0, 0, 2.14347311841572136, 0, 51.4433548419773127, 0, 0, 0, 0, 0, 0, 0, 0, 4.28694623683144273, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.07173655920786068, 0, 17.1477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 15/2 + 0.364463330087414934, 0, 0, -7.28926660174829869, 0, -5.83141328139863895, 0, 0, 0, 0, 5.10248662122380908, 0, 122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 10.2049732424476182, 0, -204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.55124331061190454, 0, 40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.728926660174829869, 0, 0, 0, 0, -20.4099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 51.0248662122380908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.4099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.728926660174829869, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 17/2 + 0, 0, 2.18677998052448961, 0, 0, 0, 0, -61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 153.074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.18677998052448961, 0, 0, 0, 0, 0, 0, 0, 0, + -0.121487776695804978, 0, 0, 4.37355996104897921, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.2049732424476182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.0933899902622448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 19/2 + -0.52955294149244958, 0, 0, 19.0639058937281849, 0, 0, 0, 0, 0, 0, -66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.76597647343204622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -19/2 + -0.52955294149244958, 0, 0, 23.8298823671602311, 0, 0, 0, 0, 0, 0, -111.206117713414412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111.206117713414412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.8298823671602311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.52955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.52955294149244958, 0, 0, 0, 0, -19.0639058937281849, 0, 0, 0, 0, 0, 0, 0, 0, 66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.76597647343204622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -17/2 + 0, 0, -2.30826775722029458, 0, 0, 0, 0, 83.0976392599306051, 0, 0, 0, 0, 0, 0, 0, 0, -290.841737409757118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193.894491606504745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.7744098149826513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.121487776695804978, 0, 0, 3.28016997078673441, 0, 2.18677998052448961, 0, 0, 0, 0, -5.10248662122380908, 0, -61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, -5.10248662122380908, 0, 153.074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.28016997078673441, 0, -61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.121487776695804978, 0, 2.18677998052448961, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -15/2 + 0.364463330087414934, 0, 0, -9.84050991236020323, 0, -6.56033994157346882, 0, 0, 0, 0, 15.3074598636714272, 0, 183.689518364057127, 0, 0, 0, 0, 0, 0, 0, 0, 15.3074598636714272, 0, -459.223795910142817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.84050991236020323, 0, 183.689518364057127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.364463330087414934, 0, -6.56033994157346882, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.0933899902622448, 0, 0, 0, 0, 21.8677998052448961, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.6149197273428545, 0, 204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.65372993183571362, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -13/2 + 0, 0, 2.60278878664766166, 0, 0, 0, 0, -52.0557757329532331, 0, -13.8815401954541955, 0, 0, 0, 0, 0, 0, 36.4390430130672632, 0, 291.512344104538105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72.8780860261345264, 0, -485.853906840896842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.2195215065336316, 0, 97.1707813681793685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.153105222743980097, 0, 0, -1.99036789567174127, 0, -4.89936712780736312, 0, 0, 0, 0, -2.14347311841572136, 0, 68.5911397893030836, 0, 11.4318566315505139, 0, 0, 0, 0, 0, 0, 2.14347311841572136, 0, 0, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.99036789567174127, 0, -68.5911397893030836, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.153105222743980097, 0, 4.89936712780736312, 0, -11.4318566315505139, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -11/2 + -0.306210445487960195, 0, 0, 3.98073579134348253, 0, 9.79873425561472623, 0, 0, 0, 0, 4.28694623683144273, 0, -137.182279578606167, 0, -22.8637132631010279, 0, 0, 0, 0, 0, 0, -4.28694623683144273, 0, 0, 0, 342.955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.98073579134348253, 0, 137.182279578606167, 0, -342.955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.306210445487960195, 0, -9.79873425561472623, 0, 22.8637132631010279, 0, 0, 0, 0, 0, 0, + 0, 0, 1.53105222743980097, 0, 0, 0, 0, -12.2484178195184078, 0, -14.2898207894381424, 0, 0, 0, 0, 0, 0, -21.4347311841572136, 0, 128.608387104943282, 0, 17.1477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71.4491039471907121, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.65526113719900487, 0, -71.4491039471907121, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -9/2 + 0, 0, -2.65186024696723567, 0, 0, 0, 0, 21.2148819757378853, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 37.1260434575412994, 0, -222.756260745247796, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123.753478191804331, 0, 297.008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.2593012348361783, 0, 123.753478191804331, 0, -148.504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.176790683131149045, 0, 0, 0.530372049393447134, 0, 7.42520869150825987, 0, 0, 0, 0, 2.47506956383608662, 0, -29.7008347660330395, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 2.47506956383608662, 0, -74.2520869150825987, 0, 148.504173830165197, 0, 19.800556510688693, 0, 0, 0, 0, 0, 0, 0, 0, 0.530372049393447134, 0, -29.7008347660330395, 0, 148.504173830165197, 0, -118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.176790683131149045, 0, 7.42520869150825987, 0, -29.7008347660330395, 0, 19.800556510688693, 0, 0, 0, 0, + // j = 19/2, mj = -7/2 + 0.270052229203814345, 0, 0, -0.810156687611443034, 0, -11.3421936265602025, 0, 0, 0, 0, -3.78073120885340082, 0, 45.3687745062408099, 0, 45.3687745062408099, 0, 0, 0, 0, 0, 0, -3.78073120885340082, 0, 113.421936265602025, 0, -226.843872531204049, 0, -30.2458496708272066, 0, 0, 0, 0, 0, 0, 0, 0, -0.810156687611443034, 0, 45.3687745062408099, 0, -226.843872531204049, 0, 181.47509802496324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.270052229203814345, 0, -11.3421936265602025, 0, 45.3687745062408099, 0, -30.2458496708272066, 0, 0, 0, 0, + 0, 0, -1.89036560442670041, 0, 0, 0, 0, 0, 0, 22.6843872531204049, 0, 0, 0, 0, 0, 0, 11.3421936265602025, 0, -22.6843872531204049, 0, -45.3687745062408099, 0, 0, 0, 0, 0, 0, 0, 0, 15.1229248354136033, 0, -113.421936265602025, 0, 90.7375490124816198, 0, 17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.67109681328010124, 0, -68.0531617593612148, 0, 136.10632351872243, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -5/2 + 0, 0, 2.57613407867552624, 0, 0, 0, 0, 0, 0, -30.9136089441063149, 0, 0, 0, 0, 0, 0, -15.4568044720531574, 0, 30.9136089441063149, 0, 61.8272178882126298, 0, 0, 0, 0, 0, 0, 0, 0, -20.6090726294042099, 0, 154.568044720531574, 0, -123.65443577642526, 0, -23.5532258621762399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.72840223602657872, 0, 92.7408268323189446, 0, -185.481653664637889, 0, 70.6596775865287197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.198164159898117403, 0, 0, 0.594492479694352209, 0, -9.51187967510963535, 0, 0, 0, 0, 0.396328319796234806, 0, -19.0237593502192707, 0, 47.5593983755481767, 0, 0, 0, 0, 0, 0, -0.396328319796234806, 0, 0, 0, 47.5593983755481767, 0, -50.7300249339180552, 0, 0, 0, 0, 0, 0, 0, 0, -0.594492479694352209, 0, 19.0237593502192707, 0, -47.5593983755481767, 0, 0, 0, 10.8707196286967261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.198164159898117403, 0, 9.51187967510963535, 0, -47.5593983755481767, 0, 50.7300249339180552, 0, -10.8707196286967261, 0, 0, + // j = 19/2, mj = -3/2 + -0.242700538528842087, 0, 0, -0.728101615586526261, 0, 11.6496258493844202, 0, 0, 0, 0, -0.485401077057684174, 0, 23.2992516987688403, 0, -58.2481292469221009, 0, 0, 0, 0, 0, 0, 0.485401077057684174, 0, 0, 0, -58.2481292469221009, 0, 62.1313378633835742, 0, 0, 0, 0, 0, 0, 0, 0, 0.728101615586526261, 0, -23.2992516987688403, 0, 58.2481292469221009, 0, 0, 0, -13.3138581135821945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.242700538528842087, 0, -11.6496258493844202, 0, 58.2481292469221009, 0, -62.1313378633835742, 0, 13.3138581135821945, 0, 0, + 0, 0, 2.18430484675957878, 0, 0, 0, 0, 8.73721938703831513, 0, -29.1240646234610504, 0, 0, 0, 0, 0, 0, 13.1058290805574727, 0, -87.3721938703831513, 0, 69.897755096306521, 0, 0, 0, 0, 0, 0, 0, 0, 8.73721938703831513, 0, -87.3721938703831513, 0, 139.795510192613042, 0, -39.9415743407465834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.18430484675957878, 0, -29.1240646234610504, 0, 69.897755096306521, 0, -39.9415743407465834, 0, 4.43795270452739816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -1/2 + 0, 0, -2.41483986815209059, 0, 0, 0, 0, -9.65935947260836236, 0, 32.1978649086945412, 0, 0, 0, 0, 0, 0, -14.4890392089125435, 0, 96.5935947260836236, 0, -77.2748757808668989, 0, 0, 0, 0, 0, 0, 0, 0, -9.65935947260836236, 0, 96.5935947260836236, 0, -154.549751561733798, 0, 44.1570718747810851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.41483986815209059, 0, 32.1978649086945412, 0, -77.2748757808668989, 0, 44.1570718747810851, 0, -4.90634131942012056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.219530897104735508, 0, 0, -1.09765448552367754, 0, 10.9765448552367754, 0, 0, 0, 0, -2.19530897104735508, 0, 43.9061794209471016, 0, -58.5415725612628022, 0, 0, 0, 0, 0, 0, -2.19530897104735508, 0, 65.8592691314206525, 0, -175.624717683788407, 0, 70.2498870735153626, 0, 0, 0, 0, 0, 0, 0, 0, -1.09765448552367754, 0, 43.9061794209471016, 0, -175.624717683788407, 0, 140.499774147030725, 0, -20.071396306718675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.219530897104735508, 0, 10.9765448552367754, 0, -58.5415725612628022, 0, 70.2498870735153626, 0, -20.071396306718675, 0, 0.892062058076385557, + // j = 19/2, mj = 1/2 + 0.219530897104735508, 0, 0, 1.09765448552367754, 0, -10.9765448552367754, 0, 0, 0, 0, 2.19530897104735508, 0, -43.9061794209471016, 0, 58.5415725612628022, 0, 0, 0, 0, 0, 0, 2.19530897104735508, 0, -65.8592691314206525, 0, 175.624717683788407, 0, -70.2498870735153626, 0, 0, 0, 0, 0, 0, 0, 0, 1.09765448552367754, 0, -43.9061794209471016, 0, 175.624717683788407, 0, -140.499774147030725, 0, 20.071396306718675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.219530897104735508, 0, -10.9765448552367754, 0, 58.5415725612628022, 0, -70.2498870735153626, 0, 20.071396306718675, 0, -0.892062058076385557, + 0, 0, -2.41483986815209059, 0, 0, 0, 0, -9.65935947260836236, 0, 32.1978649086945412, 0, 0, 0, 0, 0, 0, -14.4890392089125435, 0, 96.5935947260836236, 0, -77.2748757808668989, 0, 0, 0, 0, 0, 0, 0, 0, -9.65935947260836236, 0, 96.5935947260836236, 0, -154.549751561733798, 0, 44.1570718747810851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.41483986815209059, 0, 32.1978649086945412, 0, -77.2748757808668989, 0, 44.1570718747810851, 0, -4.90634131942012056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 3/2 + 0, 0, 2.18430484675957878, 0, 0, 0, 0, 8.73721938703831513, 0, -29.1240646234610504, 0, 0, 0, 0, 0, 0, 13.1058290805574727, 0, -87.3721938703831513, 0, 69.897755096306521, 0, 0, 0, 0, 0, 0, 0, 0, 8.73721938703831513, 0, -87.3721938703831513, 0, 139.795510192613042, 0, -39.9415743407465834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.18430484675957878, 0, -29.1240646234610504, 0, 69.897755096306521, 0, -39.9415743407465834, 0, 4.43795270452739816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.242700538528842087, 0, 0, 0.728101615586526261, 0, -11.6496258493844202, 0, 0, 0, 0, 0.485401077057684174, 0, -23.2992516987688403, 0, 58.2481292469221009, 0, 0, 0, 0, 0, 0, -0.485401077057684174, 0, 0, 0, 58.2481292469221009, 0, -62.1313378633835742, 0, 0, 0, 0, 0, 0, 0, 0, -0.728101615586526261, 0, 23.2992516987688403, 0, -58.2481292469221009, 0, 0, 0, 13.3138581135821945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.242700538528842087, 0, 11.6496258493844202, 0, -58.2481292469221009, 0, 62.1313378633835742, 0, -13.3138581135821945, 0, 0, + // j = 19/2, mj = 5/2 + -0.198164159898117403, 0, 0, -0.594492479694352209, 0, 9.51187967510963535, 0, 0, 0, 0, -0.396328319796234806, 0, 19.0237593502192707, 0, -47.5593983755481767, 0, 0, 0, 0, 0, 0, 0.396328319796234806, 0, 0, 0, -47.5593983755481767, 0, 50.7300249339180552, 0, 0, 0, 0, 0, 0, 0, 0, 0.594492479694352209, 0, -19.0237593502192707, 0, 47.5593983755481767, 0, 0, 0, -10.8707196286967261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.198164159898117403, 0, -9.51187967510963535, 0, 47.5593983755481767, 0, -50.7300249339180552, 0, 10.8707196286967261, 0, 0, + 0, 0, 2.57613407867552624, 0, 0, 0, 0, 0, 0, -30.9136089441063149, 0, 0, 0, 0, 0, 0, -15.4568044720531574, 0, 30.9136089441063149, 0, 61.8272178882126298, 0, 0, 0, 0, 0, 0, 0, 0, -20.6090726294042099, 0, 154.568044720531574, 0, -123.65443577642526, 0, -23.5532258621762399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.72840223602657872, 0, 92.7408268323189446, 0, -185.481653664637889, 0, 70.6596775865287197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 7/2 + 0, 0, -1.89036560442670041, 0, 0, 0, 0, 0, 0, 22.6843872531204049, 0, 0, 0, 0, 0, 0, 11.3421936265602025, 0, -22.6843872531204049, 0, -45.3687745062408099, 0, 0, 0, 0, 0, 0, 0, 0, 15.1229248354136033, 0, -113.421936265602025, 0, 90.7375490124816198, 0, 17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.67109681328010124, 0, -68.0531617593612148, 0, 136.10632351872243, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.270052229203814345, 0, 0, 0.810156687611443034, 0, 11.3421936265602025, 0, 0, 0, 0, 3.78073120885340082, 0, -45.3687745062408099, 0, -45.3687745062408099, 0, 0, 0, 0, 0, 0, 3.78073120885340082, 0, -113.421936265602025, 0, 226.843872531204049, 0, 30.2458496708272066, 0, 0, 0, 0, 0, 0, 0, 0, 0.810156687611443034, 0, -45.3687745062408099, 0, 226.843872531204049, 0, -181.47509802496324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.270052229203814345, 0, 11.3421936265602025, 0, -45.3687745062408099, 0, 30.2458496708272066, 0, 0, 0, 0, + // j = 19/2, mj = 9/2 + 0.176790683131149045, 0, 0, -0.530372049393447134, 0, -7.42520869150825987, 0, 0, 0, 0, -2.47506956383608662, 0, 29.7008347660330395, 0, 29.7008347660330395, 0, 0, 0, 0, 0, 0, -2.47506956383608662, 0, 74.2520869150825987, 0, -148.504173830165197, 0, -19.800556510688693, 0, 0, 0, 0, 0, 0, 0, 0, -0.530372049393447134, 0, 29.7008347660330395, 0, -148.504173830165197, 0, 118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.176790683131149045, 0, -7.42520869150825987, 0, 29.7008347660330395, 0, -19.800556510688693, 0, 0, 0, 0, + 0, 0, -2.65186024696723567, 0, 0, 0, 0, 21.2148819757378853, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 37.1260434575412994, 0, -222.756260745247796, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -123.753478191804331, 0, 297.008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.2593012348361783, 0, 123.753478191804331, 0, -148.504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 11/2 + 0, 0, 1.53105222743980097, 0, 0, 0, 0, -12.2484178195184078, 0, -14.2898207894381424, 0, 0, 0, 0, 0, 0, -21.4347311841572136, 0, 128.608387104943282, 0, 17.1477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71.4491039471907121, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.65526113719900487, 0, -71.4491039471907121, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.306210445487960195, 0, 0, -3.98073579134348253, 0, -9.79873425561472623, 0, 0, 0, 0, -4.28694623683144273, 0, 137.182279578606167, 0, 22.8637132631010279, 0, 0, 0, 0, 0, 0, 4.28694623683144273, 0, 0, 0, -342.955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.98073579134348253, 0, -137.182279578606167, 0, 342.955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.306210445487960195, 0, 9.79873425561472623, 0, -22.8637132631010279, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 13/2 + -0.153105222743980097, 0, 0, 1.99036789567174127, 0, 4.89936712780736312, 0, 0, 0, 0, 2.14347311841572136, 0, -68.5911397893030836, 0, -11.4318566315505139, 0, 0, 0, 0, 0, 0, -2.14347311841572136, 0, 0, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.99036789567174127, 0, 68.5911397893030836, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.153105222743980097, 0, -4.89936712780736312, 0, 11.4318566315505139, 0, 0, 0, 0, 0, 0, + 0, 0, 2.60278878664766166, 0, 0, 0, 0, -52.0557757329532331, 0, -13.8815401954541955, 0, 0, 0, 0, 0, 0, 36.4390430130672632, 0, 291.512344104538105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72.8780860261345264, 0, -485.853906840896842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.2195215065336316, 0, 97.1707813681793685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 15/2 + 0, 0, -1.0933899902622448, 0, 0, 0, 0, 21.8677998052448961, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.6149197273428545, 0, 204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.65372993183571362, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.364463330087414934, 0, 0, 9.84050991236020323, 0, 6.56033994157346882, 0, 0, 0, 0, -15.3074598636714272, 0, -183.689518364057127, 0, 0, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, 459.223795910142817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.84050991236020323, 0, -183.689518364057127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.364463330087414934, 0, 6.56033994157346882, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 17/2 + 0.121487776695804978, 0, 0, -3.28016997078673441, 0, -2.18677998052448961, 0, 0, 0, 0, 5.10248662122380908, 0, 61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 5.10248662122380908, 0, -153.074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.28016997078673441, 0, 61.229839454685709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.121487776695804978, 0, -2.18677998052448961, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.30826775722029458, 0, 0, 0, 0, 83.0976392599306051, 0, 0, 0, 0, 0, 0, 0, 0, -290.841737409757118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193.894491606504745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.7744098149826513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 19/2 + 0, 0, 0.52955294149244958, 0, 0, 0, 0, -19.0639058937281849, 0, 0, 0, 0, 0, 0, 0, 0, 66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.76597647343204622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.52955294149244958, 0, 0, -23.8298823671602311, 0, 0, 0, 0, 0, 0, 111.206117713414412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111.206117713414412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23.8298823671602311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.52955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -21/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.542630291944221461, 0, 0, -24.4183631374899657, 0, 0, 0, 0, 0, 0, 113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.4183631374899657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.542630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -19/2 + 0.11841163748620862, 0, 0, -5.32852368687938788, 0, 0, 0, 0, 0, 0, 24.8664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24.8664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.32852368687938788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.11841163748620862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.36823274972417239, 0, 0, 0, 0, -85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, 298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.3140947475175515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -17/2 + 0, 0, 0.748900951853188297, 0, 0, 0, 0, -26.9604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 94.3615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62.9076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.74010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.374450475926594148, 0, 0, 10.110162850018042, 0, 6.74010856667869467, 0, 0, 0, 0, -15.7269199889169542, 0, -188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, -15.7269199889169542, 0, 471.807599667508627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.110162850018042, 0, -188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.374450475926594148, 0, 6.74010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -15/2 + -0.148791531444953757, 0, 0, 4.01737134901375144, 0, 2.67824756600916763, 0, 0, 0, 0, -6.2492443206880578, 0, -74.9909318482566936, 0, 0, 0, 0, 0, 0, 0, 0, -6.2492443206880578, 0, 187.477329620641734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.01737134901375144, 0, -74.9909318482566936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.148791531444953757, 0, 2.67824756600916763, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.67824756600916763, 0, 0, 0, 0, 53.5649513201833526, 0, 14.2839870187155607, 0, 0, 0, 0, 0, 0, -37.4954659241283468, 0, -299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74.9909318482566936, 0, 499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.7477329620641734, 0, -99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -13/2 + 0, 0, -1.26253801041429866, 0, 0, 0, 0, 25.2507602082859732, 0, 6.73353605554292619, 0, 0, 0, 0, 0, 0, -17.6755321458001813, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35.3510642916003625, 0, 235.673761944002417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.83776607290009063, 0, -47.1347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.315634502603574665, 0, 0, -4.10324853384647065, 0, -10.1003040833143893, 0, 0, 0, 0, -4.41888303645004531, 0, 141.40425716640145, 0, 23.5673761944002417, 0, 0, 0, 0, 0, 0, 4.41888303645004531, 0, 0, 0, -353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.10324853384647065, 0, -141.40425716640145, 0, 353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.315634502603574665, 0, 10.1003040833143893, 0, -23.5673761944002417, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -11/2 + 0.171176842882893189, 0, 0, -2.22529895747761146, 0, -5.47765897225258205, 0, 0, 0, 0, -2.39647580036050465, 0, 76.6872256115361487, 0, 12.7812042685893581, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, 0, 0, -191.718064028840372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.22529895747761146, 0, -76.6872256115361487, 0, 191.718064028840372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.171176842882893189, 0, 5.47765897225258205, 0, -12.7812042685893581, 0, 0, 0, 0, 0, 0, + 0, 0, 2.73882948612629102, 0, 0, 0, 0, -21.9106358890103282, 0, -25.5624085371787162, 0, 0, 0, 0, 0, 0, -38.3436128057680743, 0, 230.061676834608446, 0, 30.6748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127.812042685893581, 0, -306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.6941474306314551, 0, -127.812042685893581, 0, 153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -9/2 + 0, 0, 1.67718368337461811, 0, 0, 0, 0, -13.4174694669969449, 0, -15.6537143781631024, 0, 0, 0, 0, 0, 0, -23.4805715672446536, 0, 140.883429403467921, 0, 18.7844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78.2685718908155119, 0, -187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.38591841687309056, 0, -78.2685718908155119, 0, 93.9222862689786143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.279530613895769685, 0, 0, 0.838591841687309056, 0, 11.7402857836223268, 0, 0, 0, 0, 3.9134285945407756, 0, -46.9611431344893072, 0, -46.9611431344893072, 0, 0, 0, 0, 0, 0, 3.9134285945407756, 0, -117.402857836223268, 0, 234.805715672446536, 0, 31.3074287563262048, 0, 0, 0, 0, 0, 0, 0, 0, 0.838591841687309056, 0, -46.9611431344893072, 0, 234.805715672446536, 0, -187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.279530613895769685, 0, 11.7402857836223268, 0, -46.9611431344893072, 0, 31.3074287563262048, 0, 0, 0, 0, + // j = 21/2, mj = -7/2 + -0.190955762544560929, 0, 0, 0.572867287633682787, 0, 8.02014202687155901, 0, 0, 0, 0, 2.673380675623853, 0, -32.0805681074862361, 0, -32.0805681074862361, 0, 0, 0, 0, 0, 0, 2.673380675623853, 0, -80.2014202687155901, 0, 160.40284053743118, 0, 21.387045404990824, 0, 0, 0, 0, 0, 0, 0, 0, 0.572867287633682787, 0, -32.0805681074862361, 0, 160.40284053743118, 0, -128.322272429944944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.190955762544560929, 0, 8.02014202687155901, 0, -32.0805681074862361, 0, 21.387045404990824, 0, 0, 0, 0, + 0, 0, -2.673380675623853, 0, 0, 0, 0, 0, 0, 32.0805681074862361, 0, 0, 0, 0, 0, 0, 16.040284053743118, 0, -32.0805681074862361, 0, -64.1611362149724721, 0, 0, 0, 0, 0, 0, 0, 0, 21.387045404990824, 0, -160.40284053743118, 0, 128.322272429944944, 0, 24.4423376057037989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.02014202687155901, 0, -96.2417043224587082, 0, 192.483408644917416, 0, -73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -5/2 + 0, 0, -2.02088583643044288, 0, 0, 0, 0, 0, 0, 24.2506300371653145, 0, 0, 0, 0, 0, 0, 12.1253150185826573, 0, -24.2506300371653145, 0, -48.501260074330629, 0, 0, 0, 0, 0, 0, 0, 0, 16.167086691443543, 0, -121.253150185826573, 0, 97.0025201486612581, 0, 18.4766705045069063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.06265750929132863, 0, -72.7518901114959435, 0, 145.503780222991887, 0, -55.4300115135207189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.25261072955380536, 0, 0, 0.757832188661416079, 0, -12.1253150185826573, 0, 0, 0, 0, 0.505221459107610719, 0, -24.2506300371653145, 0, 60.6265750929132863, 0, 0, 0, 0, 0, 0, -0.505221459107610719, 0, 0, 0, 60.6265750929132863, 0, -64.668346765774172, 0, 0, 0, 0, 0, 0, 0, 0, -0.757832188661416079, 0, 24.2506300371653145, 0, -60.6265750929132863, 0, 0, 0, 13.8575028783801797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.25261072955380536, 0, 12.1253150185826573, 0, -60.6265750929132863, 0, 64.668346765774172, 0, -13.8575028783801797, 0, 0, + // j = 21/2, mj = -3/2 + 0.210184831878141177, 0, 0, 0.630554495634423532, 0, -10.0888719301507765, 0, 0, 0, 0, 0.420369663756282355, 0, -20.177743860301553, 0, 50.4443596507538826, 0, 0, 0, 0, 0, 0, -0.420369663756282355, 0, 0, 0, 50.4443596507538826, 0, -53.8073169608041414, 0, 0, 0, 0, 0, 0, 0, 0, -0.630554495634423532, 0, 20.177743860301553, 0, -50.4443596507538826, 0, 0, 0, 11.5301393487437446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.210184831878141177, 0, 10.0888719301507765, 0, -50.4443596507538826, 0, 53.8073169608041414, 0, -11.5301393487437446, 0, 0, + 0, 0, 2.52221798253769413, 0, 0, 0, 0, 10.0888719301507765, 0, -33.6295731005025884, 0, 0, 0, 0, 0, 0, 15.1333078952261648, 0, -100.888719301507765, 0, 80.7109754412062121, 0, 0, 0, 0, 0, 0, 0, 0, 10.0888719301507765, 0, -100.888719301507765, 0, 161.421950882412424, 0, -46.1205573949749784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.52221798253769413, 0, -33.6295731005025884, 0, 80.7109754412062121, 0, -46.1205573949749784, 0, 5.12450637721944204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -1/2 + 0, 0, 2.30245947330177705, 0, 0, 0, 0, 9.20983789320710822, 0, -30.6994596440236941, 0, 0, 0, 0, 0, 0, 13.8147568398106623, 0, -92.0983789320710822, 0, 73.6787031456568658, 0, 0, 0, 0, 0, 0, 0, 0, 9.20983789320710822, 0, -92.0983789320710822, 0, 147.357406291313732, 0, -42.1021160832324947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.30245947330177705, 0, -30.6994596440236941, 0, 73.6787031456568658, 0, -42.1021160832324947, 0, 4.67801289813694386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.230245947330177705, 0, 0, -1.15122973665088853, 0, 11.5122973665088853, 0, 0, 0, 0, -2.30245947330177705, 0, 46.0491894660355411, 0, -61.3989192880473881, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 69.0737841990533116, 0, -184.196757864142164, 0, 73.6787031456568658, 0, 0, 0, 0, 0, 0, 0, 0, -1.15122973665088853, 0, 46.0491894660355411, 0, -184.196757864142164, 0, 147.357406291313732, 0, -21.0510580416162474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.230245947330177705, 0, 11.5122973665088853, 0, -61.3989192880473881, 0, 73.6787031456568658, 0, -21.0510580416162474, 0, 0.935602579627388772, + // j = 21/2, mj = 1/2 + -0.230245947330177705, 0, 0, -1.15122973665088853, 0, 11.5122973665088853, 0, 0, 0, 0, -2.30245947330177705, 0, 46.0491894660355411, 0, -61.3989192880473881, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 69.0737841990533116, 0, -184.196757864142164, 0, 73.6787031456568658, 0, 0, 0, 0, 0, 0, 0, 0, -1.15122973665088853, 0, 46.0491894660355411, 0, -184.196757864142164, 0, 147.357406291313732, 0, -21.0510580416162474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.230245947330177705, 0, 11.5122973665088853, 0, -61.3989192880473881, 0, 73.6787031456568658, 0, -21.0510580416162474, 0, 0.935602579627388772, + 0, 0, -2.30245947330177705, 0, 0, 0, 0, -9.20983789320710822, 0, 30.6994596440236941, 0, 0, 0, 0, 0, 0, -13.8147568398106623, 0, 92.0983789320710822, 0, -73.6787031456568658, 0, 0, 0, 0, 0, 0, 0, 0, -9.20983789320710822, 0, 92.0983789320710822, 0, -147.357406291313732, 0, 42.1021160832324947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 30.6994596440236941, 0, -73.6787031456568658, 0, 42.1021160832324947, 0, -4.67801289813694386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 3/2 + 0, 0, -2.52221798253769413, 0, 0, 0, 0, -10.0888719301507765, 0, 33.6295731005025884, 0, 0, 0, 0, 0, 0, -15.1333078952261648, 0, 100.888719301507765, 0, -80.7109754412062121, 0, 0, 0, 0, 0, 0, 0, 0, -10.0888719301507765, 0, 100.888719301507765, 0, -161.421950882412424, 0, 46.1205573949749784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52221798253769413, 0, 33.6295731005025884, 0, -80.7109754412062121, 0, 46.1205573949749784, 0, -5.12450637721944204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.210184831878141177, 0, 0, 0.630554495634423532, 0, -10.0888719301507765, 0, 0, 0, 0, 0.420369663756282355, 0, -20.177743860301553, 0, 50.4443596507538826, 0, 0, 0, 0, 0, 0, -0.420369663756282355, 0, 0, 0, 50.4443596507538826, 0, -53.8073169608041414, 0, 0, 0, 0, 0, 0, 0, 0, -0.630554495634423532, 0, 20.177743860301553, 0, -50.4443596507538826, 0, 0, 0, 11.5301393487437446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.210184831878141177, 0, 10.0888719301507765, 0, -50.4443596507538826, 0, 53.8073169608041414, 0, -11.5301393487437446, 0, 0, + // j = 21/2, mj = 5/2 + 0.25261072955380536, 0, 0, 0.757832188661416079, 0, -12.1253150185826573, 0, 0, 0, 0, 0.505221459107610719, 0, -24.2506300371653145, 0, 60.6265750929132863, 0, 0, 0, 0, 0, 0, -0.505221459107610719, 0, 0, 0, 60.6265750929132863, 0, -64.668346765774172, 0, 0, 0, 0, 0, 0, 0, 0, -0.757832188661416079, 0, 24.2506300371653145, 0, -60.6265750929132863, 0, 0, 0, 13.8575028783801797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.25261072955380536, 0, 12.1253150185826573, 0, -60.6265750929132863, 0, 64.668346765774172, 0, -13.8575028783801797, 0, 0, + 0, 0, 2.02088583643044288, 0, 0, 0, 0, 0, 0, -24.2506300371653145, 0, 0, 0, 0, 0, 0, -12.1253150185826573, 0, 24.2506300371653145, 0, 48.501260074330629, 0, 0, 0, 0, 0, 0, 0, 0, -16.167086691443543, 0, 121.253150185826573, 0, -97.0025201486612581, 0, -18.4766705045069063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.06265750929132863, 0, 72.7518901114959435, 0, -145.503780222991887, 0, 55.4300115135207189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 7/2 + 0, 0, 2.673380675623853, 0, 0, 0, 0, 0, 0, -32.0805681074862361, 0, 0, 0, 0, 0, 0, -16.040284053743118, 0, 32.0805681074862361, 0, 64.1611362149724721, 0, 0, 0, 0, 0, 0, 0, 0, -21.387045404990824, 0, 160.40284053743118, 0, -128.322272429944944, 0, -24.4423376057037989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.02014202687155901, 0, 96.2417043224587082, 0, -192.483408644917416, 0, 73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.190955762544560929, 0, 0, 0.572867287633682787, 0, 8.02014202687155901, 0, 0, 0, 0, 2.673380675623853, 0, -32.0805681074862361, 0, -32.0805681074862361, 0, 0, 0, 0, 0, 0, 2.673380675623853, 0, -80.2014202687155901, 0, 160.40284053743118, 0, 21.387045404990824, 0, 0, 0, 0, 0, 0, 0, 0, 0.572867287633682787, 0, -32.0805681074862361, 0, 160.40284053743118, 0, -128.322272429944944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.190955762544560929, 0, 8.02014202687155901, 0, -32.0805681074862361, 0, 21.387045404990824, 0, 0, 0, 0, + // j = 21/2, mj = 9/2 + -0.279530613895769685, 0, 0, 0.838591841687309056, 0, 11.7402857836223268, 0, 0, 0, 0, 3.9134285945407756, 0, -46.9611431344893072, 0, -46.9611431344893072, 0, 0, 0, 0, 0, 0, 3.9134285945407756, 0, -117.402857836223268, 0, 234.805715672446536, 0, 31.3074287563262048, 0, 0, 0, 0, 0, 0, 0, 0, 0.838591841687309056, 0, -46.9611431344893072, 0, 234.805715672446536, 0, -187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.279530613895769685, 0, 11.7402857836223268, 0, -46.9611431344893072, 0, 31.3074287563262048, 0, 0, 0, 0, + 0, 0, -1.67718368337461811, 0, 0, 0, 0, 13.4174694669969449, 0, 15.6537143781631024, 0, 0, 0, 0, 0, 0, 23.4805715672446536, 0, -140.883429403467921, 0, -18.7844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78.2685718908155119, 0, 187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.38591841687309056, 0, 78.2685718908155119, 0, -93.9222862689786143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 11/2 + 0, 0, -2.73882948612629102, 0, 0, 0, 0, 21.9106358890103282, 0, 25.5624085371787162, 0, 0, 0, 0, 0, 0, 38.3436128057680743, 0, -230.061676834608446, 0, -30.6748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127.812042685893581, 0, 306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.6941474306314551, 0, 127.812042685893581, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.171176842882893189, 0, 0, -2.22529895747761146, 0, -5.47765897225258205, 0, 0, 0, 0, -2.39647580036050465, 0, 76.6872256115361487, 0, 12.7812042685893581, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, 0, 0, -191.718064028840372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.22529895747761146, 0, -76.6872256115361487, 0, 191.718064028840372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.171176842882893189, 0, 5.47765897225258205, 0, -12.7812042685893581, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 13/2 + 0.315634502603574665, 0, 0, -4.10324853384647065, 0, -10.1003040833143893, 0, 0, 0, 0, -4.41888303645004531, 0, 141.40425716640145, 0, 23.5673761944002417, 0, 0, 0, 0, 0, 0, 4.41888303645004531, 0, 0, 0, -353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.10324853384647065, 0, -141.40425716640145, 0, 353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.315634502603574665, 0, 10.1003040833143893, 0, -23.5673761944002417, 0, 0, 0, 0, 0, 0, + 0, 0, 1.26253801041429866, 0, 0, 0, 0, -25.2507602082859732, 0, -6.73353605554292619, 0, 0, 0, 0, 0, 0, 17.6755321458001813, 0, 141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35.3510642916003625, 0, -235.673761944002417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.83776607290009063, 0, 47.1347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 15/2 + 0, 0, 2.67824756600916763, 0, 0, 0, 0, -53.5649513201833526, 0, -14.2839870187155607, 0, 0, 0, 0, 0, 0, 37.4954659241283468, 0, 299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74.9909318482566936, 0, -499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.7477329620641734, 0, 99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.148791531444953757, 0, 0, 4.01737134901375144, 0, 2.67824756600916763, 0, 0, 0, 0, -6.2492443206880578, 0, -74.9909318482566936, 0, 0, 0, 0, 0, 0, 0, 0, -6.2492443206880578, 0, 187.477329620641734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.01737134901375144, 0, -74.9909318482566936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.148791531444953757, 0, 2.67824756600916763, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 17/2 + -0.374450475926594148, 0, 0, 10.110162850018042, 0, 6.74010856667869467, 0, 0, 0, 0, -15.7269199889169542, 0, -188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, -15.7269199889169542, 0, 471.807599667508627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.110162850018042, 0, -188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.374450475926594148, 0, 6.74010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -0.748900951853188297, 0, 0, 0, 0, 26.9604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, -94.3615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62.9076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.74010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 19/2 + 0, 0, -2.36823274972417239, 0, 0, 0, 0, 85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21.3140947475175515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.11841163748620862, 0, 0, -5.32852368687938788, 0, 0, 0, 0, 0, 0, 24.8664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24.8664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.32852368687938788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.11841163748620862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 21/2 + 0.542630291944221461, 0, 0, -24.4183631374899657, 0, 0, 0, 0, 0, 0, 113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.4183631374899657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.542630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -21/2 + -0.542630291944221461, 0, 0, 29.8446660569321803, 0, 0, 0, 0, 0, 0, -179.067996341593082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250.695194878230315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89.533998170796541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.96893321138643607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.542630291944221461, 0, 0, 0, 0, -24.4183631374899657, 0, 0, 0, 0, 0, 0, 0, 0, 113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.4183631374899657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.542630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -19/2 + 0, 0, -2.48664438721038101, 0, 0, 0, 0, 111.898997424467146, 0, 0, 0, 0, 0, 0, 0, 0, -522.195321314180012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522.195321314180012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111.898997424467146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.48664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.11841163748620862, 0, 0, 4.14440731201730169, 0, 2.36823274972417239, 0, 0, 0, 0, -10.6570473737587758, 0, -85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, -4.97328877442076202, 0, 298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.88087281146564647, 0, -198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.06570473737587758, 0, 21.3140947475175515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -17/2 + 0.374450475926594148, 0, 0, -13.1057666574307952, 0, -7.48900951853188297, 0, 0, 0, 0, 33.7005428333934733, 0, 269.604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 15.7269199889169542, 0, -943.615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.0837856944945611, 0, 629.076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.37005428333934733, 0, -67.4010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.12335142777978244, 0, 0, 0, 0, 30.330488550054126, 0, 6.74010856667869467, 0, 0, 0, 0, 0, 0, -47.1807599667508627, 0, -188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47.1807599667508627, 0, 471.807599667508627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.330488550054126, 0, -188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.12335142777978244, 0, 6.74010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -15/2 + 0, 0, 2.82703909745412139, 0, 0, 0, 0, -76.3300556312612774, 0, -16.9622345847247283, 0, 0, 0, 0, 0, 0, 118.735642093073098, 0, 474.942568372292393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118.735642093073098, 0, -1187.35642093073098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -76.3300556312612774, 0, 474.942568372292393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.82703909745412139, 0, -16.9622345847247283, 0, 0, 0, 0, 0, 0, 0, 0, + 0.148791531444953757, 0, 0, -2.82703909745412139, 0, -5.35649513201833526, 0, 0, 0, 0, -0.892749188669722543, 0, 107.129902640366705, 0, 14.2839870187155607, 0, 0, 0, 0, 0, 0, 6.2492443206880578, 0, -74.9909318482566936, 0, -299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.1246221603440289, 0, -149.981863696513387, 0, 499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.0415407201146763, 0, 37.4954659241283468, 0, -99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -13/2 + -0.315634502603574665, 0, 0, 5.99705554946791864, 0, 11.3628420937286879, 0, 0, 0, 0, 1.89380701562144799, 0, -227.256841874573759, 0, -30.3009122499431679, 0, 0, 0, 0, 0, 0, -13.2566491093501359, 0, 159.079789312201631, 0, 636.319157248806525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.62832455467506797, 0, 318.159578624403263, 0, -1060.53192874801088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.20944151822502266, 0, -79.5398946561008156, 0, 212.106385749602175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.57817251301787333, 0, 0, 0, 0, -20.5162426692323532, 0, -16.8338401388573155, 0, 0, 0, 0, 0, 0, -22.0944151822502266, 0, 235.673761944002417, 0, 23.5673761944002417, 0, 0, 0, 0, 0, 0, 0, 0, 22.0944151822502266, 0, 0, 0, -353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20.5162426692323532, 0, -235.673761944002417, 0, 353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.57817251301787333, 0, 16.8338401388573155, 0, -23.5673761944002417, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -11/2 + 0, 0, -2.91000632900918421, 0, 0, 0, 0, 37.8300822771193948, 0, 31.0400675094312983, 0, 0, 0, 0, 0, 0, 40.740088606128579, 0, -434.560945132038176, 0, -43.4560945132038176, 0, 0, 0, 0, 0, 0, 0, 0, -40.740088606128579, 0, 0, 0, 651.841417698057264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37.8300822771193948, 0, 434.560945132038176, 0, -651.841417698057264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.91000632900918421, 0, -31.0400675094312983, 0, 43.4560945132038176, 0, 0, 0, 0, 0, 0, + -0.171176842882893189, 0, 0, 1.19823790018025232, 0, 8.21648845837887307, 0, 0, 0, 0, 3.76589054342365016, 0, -65.7319076670309846, 0, -38.3436128057680743, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -115.030838417304223, 0, 345.092515251912669, 0, 30.6748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, -0.855884214414465945, 0, 0, 0, 191.718064028840372, 0, -306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.855884214414465945, 0, 41.0824422918943654, 0, -191.718064028840372, 0, 153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -9/2 + 0.279530613895769685, 0, 0, -1.9567142972703878, 0, -13.4174694669969449, 0, 0, 0, 0, -6.14967350570693308, 0, 107.339755735975559, 0, 62.6148575126524095, 0, 0, 0, 0, 0, 0, -3.9134285945407756, 0, 187.844572537957229, 0, -563.533717613871686, 0, -50.0918860101219276, 0, 0, 0, 0, 0, 0, 0, 0, 1.39765306947884843, 0, 0, 0, -313.074287563262048, 0, 500.918860101219276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.39765306947884843, 0, -67.0873473349847245, 0, 313.074287563262048, 0, -250.459430050609638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.9567142972703878, 0, 0, 0, 0, 5.87014289181116339, 0, 27.3940001617854292, 0, 0, 0, 0, 0, 0, 27.3940001617854292, 0, -109.576000647141717, 0, -65.74560038828503, 0, 0, 0, 0, 0, 0, 0, 0, 27.3940001617854292, 0, -273.940001617854292, 0, 328.72800194142515, 0, 31.3074287563262048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.87014289181116339, 0, -109.576000647141717, 0, 328.72800194142515, 0, -187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.9567142972703878, 0, 27.3940001617854292, 0, -65.74560038828503, 0, 31.3074287563262048, 0, 0, 0, 0, + // j = 21/2, mj = -7/2 + 0, 0, 2.86433643816841393, 0, 0, 0, 0, -8.5930093145052418, 0, -40.1007101343577951, 0, 0, 0, 0, 0, 0, -40.1007101343577951, 0, 160.40284053743118, 0, 96.2417043224587082, 0, 0, 0, 0, 0, 0, 0, 0, -40.1007101343577951, 0, 401.007101343577951, 0, -481.208521612293541, 0, -45.8293830106946229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.5930093145052418, 0, 160.40284053743118, 0, -481.208521612293541, 0, 274.976298064167738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.86433643816841393, 0, -40.1007101343577951, 0, 96.2417043224587082, 0, -45.8293830106946229, 0, 0, 0, 0, + 0.190955762544560929, 0, 0, 0.190955762544560929, 0, -10.693522702495412, 0, 0, 0, 0, -1.14573457526736557, 0, 0, 0, 64.1611362149724721, 0, 0, 0, 0, 0, 0, -2.673380675623853, 0, 64.1611362149724721, 0, -64.1611362149724721, 0, -85.5481816199632961, 0, 0, 0, 0, 0, 0, 0, 0, -2.10051338799017022, 0, 85.5481816199632961, 0, -320.805681074862361, 0, 171.096363239926592, 0, 24.4423376057037989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.572867287633682787, 0, 32.0805681074862361, 0, -192.483408644917416, 0, 256.644544859889888, 0, -73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -5/2 + -0.25261072955380536, 0, 0, -0.25261072955380536, 0, 14.1462008550131001, 0, 0, 0, 0, 1.51566437732283216, 0, 0, 0, -84.8772051300786008, 0, 0, 0, 0, 0, 0, 3.53655021375327503, 0, -84.8772051300786008, 0, 84.8772051300786008, 0, 113.169606840104801, 0, 0, 0, 0, 0, 0, 0, 0, 2.77871802509185895, 0, -113.169606840104801, 0, 424.386025650393004, 0, -226.339213680209602, 0, -32.334173382887086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.757832188661416079, 0, -42.4386025650393004, 0, 254.631615390235802, 0, -339.508820520314403, 0, 97.0025201486612581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.27349656598424824, 0, 0, 0, 0, 6.82048969795274471, 0, -36.3759450557479718, 0, 0, 0, 0, 0, 0, 4.54699313196849647, 0, -72.7518901114959435, 0, 109.127835167243915, 0, 0, 0, 0, 0, 0, 0, 0, -4.54699313196849647, 0, 0, 0, 109.127835167243915, 0, -83.1450172702810783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.82048969795274471, 0, 72.7518901114959435, 0, -109.127835167243915, 0, 0, 0, 13.8575028783801797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.27349656598424824, 0, 36.3759450557479718, 0, -109.127835167243915, 0, 83.1450172702810783, 0, -13.8575028783801797, 0, 0, + // j = 21/2, mj = -3/2 + 0, 0, -2.73240281441583531, 0, 0, 0, 0, -8.19720844324750592, 0, 43.7184450306533649, 0, 0, 0, 0, 0, 0, -5.46480562883167061, 0, 87.4368900613067298, 0, -131.155335091960095, 0, 0, 0, 0, 0, 0, 0, 0, 5.46480562883167061, 0, 0, 0, -131.155335091960095, 0, 99.9278743557791198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.19720844324750592, 0, -87.4368900613067298, 0, 131.155335091960095, 0, 0, 0, -16.6546457259631866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.73240281441583531, 0, -43.7184450306533649, 0, 131.155335091960095, 0, -99.9278743557791198, 0, 16.6546457259631866, 0, 0, + -0.210184831878141177, 0, 0, -1.05092415939070589, 0, 12.6110899126884706, 0, 0, 0, 0, -2.10184831878141177, 0, 50.4443596507538826, 0, -84.073932751256471, 0, 0, 0, 0, 0, 0, -2.10184831878141177, 0, 75.6665394761308239, 0, -252.221798253769413, 0, 134.518292402010354, 0, 0, 0, 0, 0, 0, 0, 0, -1.05092415939070589, 0, 50.4443596507538826, 0, -252.221798253769413, 0, 269.036584804020707, 0, -57.650696743718723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.210184831878141177, 0, 12.6110899126884706, 0, -84.073932751256471, 0, 134.518292402010354, 0, -57.650696743718723, 0, 5.12450637721944204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -1/2 + 0.230245947330177705, 0, 0, 1.15122973665088853, 0, -13.8147568398106623, 0, 0, 0, 0, 2.30245947330177705, 0, -55.2590273592426493, 0, 92.0983789320710822, 0, 0, 0, 0, 0, 0, 2.30245947330177705, 0, -82.888541038863974, 0, 276.295136796213247, 0, -147.357406291313732, 0, 0, 0, 0, 0, 0, 0, 0, 1.15122973665088853, 0, -55.2590273592426493, 0, 276.295136796213247, 0, -294.714812582627463, 0, 63.1531741248487421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.230245947330177705, 0, -13.8147568398106623, 0, 92.0983789320710822, 0, -147.357406291313732, 0, 63.1531741248487421, 0, -5.61361547776433263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.53270542063195476, 0, 0, 0, 0, -12.6635271031597738, 0, 42.2117570105325793, 0, 0, 0, 0, 0, 0, -25.3270542063195476, 0, 168.847028042130317, 0, -135.077622433704254, 0, 0, 0, 0, 0, 0, 0, 0, -25.3270542063195476, 0, 253.270542063195476, 0, -405.232867301112762, 0, 115.78081922888936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.6635271031597738, 0, 168.847028042130317, 0, -405.232867301112762, 0, 231.561638457778721, 0, -25.7290709397531912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.53270542063195476, 0, 42.2117570105325793, 0, -135.077622433704254, 0, 115.78081922888936, 0, -25.7290709397531912, 0, 0.935602579627388772, + // j = 21/2, mj = 1/2 + 0, 0, 2.53270542063195476, 0, 0, 0, 0, 12.6635271031597738, 0, -42.2117570105325793, 0, 0, 0, 0, 0, 0, 25.3270542063195476, 0, -168.847028042130317, 0, 135.077622433704254, 0, 0, 0, 0, 0, 0, 0, 0, 25.3270542063195476, 0, -253.270542063195476, 0, 405.232867301112762, 0, -115.78081922888936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.6635271031597738, 0, -168.847028042130317, 0, 405.232867301112762, 0, -231.561638457778721, 0, 25.7290709397531912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.53270542063195476, 0, -42.2117570105325793, 0, 135.077622433704254, 0, -115.78081922888936, 0, 25.7290709397531912, 0, -0.935602579627388772, + 0.230245947330177705, 0, 0, 1.15122973665088853, 0, -13.8147568398106623, 0, 0, 0, 0, 2.30245947330177705, 0, -55.2590273592426493, 0, 92.0983789320710822, 0, 0, 0, 0, 0, 0, 2.30245947330177705, 0, -82.888541038863974, 0, 276.295136796213247, 0, -147.357406291313732, 0, 0, 0, 0, 0, 0, 0, 0, 1.15122973665088853, 0, -55.2590273592426493, 0, 276.295136796213247, 0, -294.714812582627463, 0, 63.1531741248487421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.230245947330177705, 0, -13.8147568398106623, 0, 92.0983789320710822, 0, -147.357406291313732, 0, 63.1531741248487421, 0, -5.61361547776433263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 3/2 + -0.210184831878141177, 0, 0, -1.05092415939070589, 0, 12.6110899126884706, 0, 0, 0, 0, -2.10184831878141177, 0, 50.4443596507538826, 0, -84.073932751256471, 0, 0, 0, 0, 0, 0, -2.10184831878141177, 0, 75.6665394761308239, 0, -252.221798253769413, 0, 134.518292402010354, 0, 0, 0, 0, 0, 0, 0, 0, -1.05092415939070589, 0, 50.4443596507538826, 0, -252.221798253769413, 0, 269.036584804020707, 0, -57.650696743718723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.210184831878141177, 0, 12.6110899126884706, 0, -84.073932751256471, 0, 134.518292402010354, 0, -57.650696743718723, 0, 5.12450637721944204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.73240281441583531, 0, 0, 0, 0, 8.19720844324750592, 0, -43.7184450306533649, 0, 0, 0, 0, 0, 0, 5.46480562883167061, 0, -87.4368900613067298, 0, 131.155335091960095, 0, 0, 0, 0, 0, 0, 0, 0, -5.46480562883167061, 0, 0, 0, 131.155335091960095, 0, -99.9278743557791198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.19720844324750592, 0, 87.4368900613067298, 0, -131.155335091960095, 0, 0, 0, 16.6546457259631866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.73240281441583531, 0, 43.7184450306533649, 0, -131.155335091960095, 0, 99.9278743557791198, 0, -16.6546457259631866, 0, 0, + // j = 21/2, mj = 5/2 + 0, 0, -2.27349656598424824, 0, 0, 0, 0, -6.82048969795274471, 0, 36.3759450557479718, 0, 0, 0, 0, 0, 0, -4.54699313196849647, 0, 72.7518901114959435, 0, -109.127835167243915, 0, 0, 0, 0, 0, 0, 0, 0, 4.54699313196849647, 0, 0, 0, -109.127835167243915, 0, 83.1450172702810783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.82048969795274471, 0, -72.7518901114959435, 0, 109.127835167243915, 0, 0, 0, -13.8575028783801797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.27349656598424824, 0, -36.3759450557479718, 0, 109.127835167243915, 0, -83.1450172702810783, 0, 13.8575028783801797, 0, 0, + -0.25261072955380536, 0, 0, -0.25261072955380536, 0, 14.1462008550131001, 0, 0, 0, 0, 1.51566437732283216, 0, 0, 0, -84.8772051300786008, 0, 0, 0, 0, 0, 0, 3.53655021375327503, 0, -84.8772051300786008, 0, 84.8772051300786008, 0, 113.169606840104801, 0, 0, 0, 0, 0, 0, 0, 0, 2.77871802509185895, 0, -113.169606840104801, 0, 424.386025650393004, 0, -226.339213680209602, 0, -32.334173382887086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.757832188661416079, 0, -42.4386025650393004, 0, 254.631615390235802, 0, -339.508820520314403, 0, 97.0025201486612581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 7/2 + 0.190955762544560929, 0, 0, 0.190955762544560929, 0, -10.693522702495412, 0, 0, 0, 0, -1.14573457526736557, 0, 0, 0, 64.1611362149724721, 0, 0, 0, 0, 0, 0, -2.673380675623853, 0, 64.1611362149724721, 0, -64.1611362149724721, 0, -85.5481816199632961, 0, 0, 0, 0, 0, 0, 0, 0, -2.10051338799017022, 0, 85.5481816199632961, 0, -320.805681074862361, 0, 171.096363239926592, 0, 24.4423376057037989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.572867287633682787, 0, 32.0805681074862361, 0, -192.483408644917416, 0, 256.644544859889888, 0, -73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.86433643816841393, 0, 0, 0, 0, 8.5930093145052418, 0, 40.1007101343577951, 0, 0, 0, 0, 0, 0, 40.1007101343577951, 0, -160.40284053743118, 0, -96.2417043224587082, 0, 0, 0, 0, 0, 0, 0, 0, 40.1007101343577951, 0, -401.007101343577951, 0, 481.208521612293541, 0, 45.8293830106946229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.5930093145052418, 0, -160.40284053743118, 0, 481.208521612293541, 0, -274.976298064167738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.86433643816841393, 0, 40.1007101343577951, 0, -96.2417043224587082, 0, 45.8293830106946229, 0, 0, 0, 0, + // j = 21/2, mj = 9/2 + 0, 0, 1.9567142972703878, 0, 0, 0, 0, -5.87014289181116339, 0, -27.3940001617854292, 0, 0, 0, 0, 0, 0, -27.3940001617854292, 0, 109.576000647141717, 0, 65.74560038828503, 0, 0, 0, 0, 0, 0, 0, 0, -27.3940001617854292, 0, 273.940001617854292, 0, -328.72800194142515, 0, -31.3074287563262048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.87014289181116339, 0, 109.576000647141717, 0, -328.72800194142515, 0, 187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9567142972703878, 0, -27.3940001617854292, 0, 65.74560038828503, 0, -31.3074287563262048, 0, 0, 0, 0, + 0.279530613895769685, 0, 0, -1.9567142972703878, 0, -13.4174694669969449, 0, 0, 0, 0, -6.14967350570693308, 0, 107.339755735975559, 0, 62.6148575126524095, 0, 0, 0, 0, 0, 0, -3.9134285945407756, 0, 187.844572537957229, 0, -563.533717613871686, 0, -50.0918860101219276, 0, 0, 0, 0, 0, 0, 0, 0, 1.39765306947884843, 0, 0, 0, -313.074287563262048, 0, 500.918860101219276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.39765306947884843, 0, -67.0873473349847245, 0, 313.074287563262048, 0, -250.459430050609638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 11/2 + -0.171176842882893189, 0, 0, 1.19823790018025232, 0, 8.21648845837887307, 0, 0, 0, 0, 3.76589054342365016, 0, -65.7319076670309846, 0, -38.3436128057680743, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -115.030838417304223, 0, 345.092515251912669, 0, 30.6748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, -0.855884214414465945, 0, 0, 0, 191.718064028840372, 0, -306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.855884214414465945, 0, 41.0824422918943654, 0, -191.718064028840372, 0, 153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.91000632900918421, 0, 0, 0, 0, -37.8300822771193948, 0, -31.0400675094312983, 0, 0, 0, 0, 0, 0, -40.740088606128579, 0, 434.560945132038176, 0, 43.4560945132038176, 0, 0, 0, 0, 0, 0, 0, 0, 40.740088606128579, 0, 0, 0, -651.841417698057264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37.8300822771193948, 0, -434.560945132038176, 0, 651.841417698057264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.91000632900918421, 0, 31.0400675094312983, 0, -43.4560945132038176, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 13/2 + 0, 0, -1.57817251301787333, 0, 0, 0, 0, 20.5162426692323532, 0, 16.8338401388573155, 0, 0, 0, 0, 0, 0, 22.0944151822502266, 0, -235.673761944002417, 0, -23.5673761944002417, 0, 0, 0, 0, 0, 0, 0, 0, -22.0944151822502266, 0, 0, 0, 353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -20.5162426692323532, 0, 235.673761944002417, 0, -353.510642916003625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.57817251301787333, 0, -16.8338401388573155, 0, 23.5673761944002417, 0, 0, 0, 0, 0, 0, + -0.315634502603574665, 0, 0, 5.99705554946791864, 0, 11.3628420937286879, 0, 0, 0, 0, 1.89380701562144799, 0, -227.256841874573759, 0, -30.3009122499431679, 0, 0, 0, 0, 0, 0, -13.2566491093501359, 0, 159.079789312201631, 0, 636.319157248806525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.62832455467506797, 0, 318.159578624403263, 0, -1060.53192874801088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.20944151822502266, 0, -79.5398946561008156, 0, 212.106385749602175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 15/2 + 0.148791531444953757, 0, 0, -2.82703909745412139, 0, -5.35649513201833526, 0, 0, 0, 0, -0.892749188669722543, 0, 107.129902640366705, 0, 14.2839870187155607, 0, 0, 0, 0, 0, 0, 6.2492443206880578, 0, -74.9909318482566936, 0, -299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.1246221603440289, 0, -149.981863696513387, 0, 499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.0415407201146763, 0, 37.4954659241283468, 0, -99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.82703909745412139, 0, 0, 0, 0, 76.3300556312612774, 0, 16.9622345847247283, 0, 0, 0, 0, 0, 0, -118.735642093073098, 0, -474.942568372292393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -118.735642093073098, 0, 1187.35642093073098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76.3300556312612774, 0, -474.942568372292393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.82703909745412139, 0, 16.9622345847247283, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 17/2 + 0, 0, 1.12335142777978244, 0, 0, 0, 0, -30.330488550054126, 0, -6.74010856667869467, 0, 0, 0, 0, 0, 0, 47.1807599667508627, 0, 188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47.1807599667508627, 0, -471.807599667508627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.330488550054126, 0, 188.723039867003451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.12335142777978244, 0, -6.74010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, + 0.374450475926594148, 0, 0, -13.1057666574307952, 0, -7.48900951853188297, 0, 0, 0, 0, 33.7005428333934733, 0, 269.604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 15.7269199889169542, 0, -943.615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.0837856944945611, 0, 629.076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.37005428333934733, 0, -67.4010856667869467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 19/2 + -0.11841163748620862, 0, 0, 4.14440731201730169, 0, 2.36823274972417239, 0, 0, 0, 0, -10.6570473737587758, 0, -85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, -4.97328877442076202, 0, 298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.88087281146564647, 0, -198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.06570473737587758, 0, 21.3140947475175515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.48664438721038101, 0, 0, 0, 0, -111.898997424467146, 0, 0, 0, 0, 0, 0, 0, 0, 522.195321314180012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -522.195321314180012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111.898997424467146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.48664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 21/2 + 0, 0, -0.542630291944221461, 0, 0, 0, 0, 24.4183631374899657, 0, 0, 0, 0, 0, 0, 0, 0, -113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113.952361308286507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24.4183631374899657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.542630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.542630291944221461, 0, 0, 29.8446660569321803, 0, 0, 0, 0, 0, 0, -179.067996341593082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250.695194878230315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89.533998170796541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.96893321138643607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -23/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.554825753806619302, 0, 0, -30.5154164593640616, 0, 0, 0, 0, 0, 0, 183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.10308329187281232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -21/2 + 0.115689166958762041, 0, 0, -6.36290418273191227, 0, 0, 0, 0, 0, 0, 38.1774250963914736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53.4483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.0887125481957368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.27258083654638245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.54516167309276491, 0, 0, 0, 0, -114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.54516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -19/2 + 0, 0, 0.767395118221990013, 0, 0, 0, 0, -34.5327803199895506, 0, 0, 0, 0, 0, 0, 0, 0, 161.152974826617903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161.152974826617903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.5327803199895506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.767395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.383697559110995006, 0, 0, 13.4294145688848252, 0, 7.67395118221990013, 0, 0, 0, 0, -34.5327803199895506, 0, -276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, -16.1152974826617903, 0, 966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.7773169333246255, 0, -644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.45327803199895506, 0, 69.0655606399791011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -17/2 + -0.145024045724314041, 0, 0, 5.07584160035099142, 0, 2.90048091448628081, 0, 0, 0, 0, -13.0521641151882637, 0, -104.417312921506109, 0, 0, 0, 0, 0, 0, 0, 0, -6.09100992042118971, 0, 365.460595225271382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.876803429323553, 0, -243.640396816847588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.30521641151882637, 0, 26.1043282303765273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.90048091448628081, 0, 0, 0, 0, 78.3129846911295819, 0, 17.4028854869176849, 0, 0, 0, 0, 0, 0, -121.820198408423794, 0, -487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121.820198408423794, 0, 1218.20198408423794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78.3129846911295819, 0, -487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.90048091448628081, 0, 17.4028854869176849, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -15/2 + 0, 0, -1.29713449844641568, 0, 0, 0, 0, 35.0226314580532234, 0, 7.78280699067849409, 0, 0, 0, 0, 0, 0, -54.4796489347494586, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54.4796489347494586, 0, 544.796489347494586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35.0226314580532234, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.29713449844641568, 0, 7.78280699067849409, 0, 0, 0, 0, 0, 0, 0, 0, + 0.32428362461160392, 0, 0, -6.16138886762047449, 0, -11.6742104860177411, 0, 0, 0, 0, -1.94570174766962352, 0, 233.484209720354823, 0, 31.1312279627139763, 0, 0, 0, 0, 0, 0, 13.6199122336873647, 0, -163.438946804248376, 0, -653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.80995611684368233, 0, -326.877893608496752, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.26998537228122744, 0, 81.7194734021241879, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -13/2 + 0.166353989393607054, 0, 0, -3.16072579847853403, 0, -5.98874361816985396, 0, 0, 0, 0, -0.998123936361642327, 0, 119.774872363397079, 0, 15.9699829817862772, 0, 0, 0, 0, 0, 0, 6.98686755453149629, 0, -83.8424106543779555, 0, -335.369642617511822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.49343377726574814, 0, -167.684821308755911, 0, 558.949404362519703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.16447792575524938, 0, 41.9212053271889777, 0, -111.789880872503941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.99437180908492698, 0, 0, 0, 0, -38.9268335181040507, 0, -31.9399659635725545, 0, 0, 0, 0, 0, 0, -41.9212053271889777, 0, 447.159523490015762, 0, 44.7159523490015762, 0, 0, 0, 0, 0, 0, 0, 0, 41.9212053271889777, 0, 0, 0, -670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38.9268335181040507, 0, -447.159523490015762, 0, 670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.99437180908492698, 0, 31.9399659635725545, 0, -44.7159523490015762, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -11/2 + 0, 0, 1.72880137002900928, 0, 0, 0, 0, -22.4744178103771206, 0, -18.440547946976099, 0, 0, 0, 0, 0, 0, -24.2032191804061299, 0, 258.167671257665386, 0, 25.8167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 24.2032191804061299, 0, 0, 0, -387.251506886498079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.4744178103771206, 0, -258.167671257665386, 0, 387.251506886498079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.72880137002900928, 0, 18.440547946976099, 0, -25.8167671257665386, 0, 0, 0, 0, 0, 0, + -0.288133561671501547, 0, 0, 2.01693493170051083, 0, 13.8304109602320742, 0, 0, 0, 0, 6.33893835677303403, 0, -110.643287681856594, 0, -64.5419178144163464, 0, 0, 0, 0, 0, 0, 4.03386986340102165, 0, -193.625753443249039, 0, 580.877260329747118, 0, 51.6335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, -1.44066780835750773, 0, 0, 0, 322.709589072081732, 0, -516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.44066780835750773, 0, 69.1520548011603712, 0, -322.709589072081732, 0, 258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -9/2 + -0.184892122049355627, 0, 0, 1.29424485434548939, 0, 8.87482185836907012, 0, 0, 0, 0, 4.0676266850858238, 0, -70.998574866952561, 0, -41.4158353390556606, 0, 0, 0, 0, 0, 0, 2.58848970869097878, 0, -124.247506017166982, 0, 372.742518051500945, 0, 33.1326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, -0.924460610246778137, 0, 0, 0, 207.079176695278303, 0, -331.326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.924460610246778137, 0, 44.3741092918453506, 0, -207.079176695278303, 0, 165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.95827395278969004, 0, 0, 0, 0, 8.87482185836907012, 0, 41.4158353390556606, 0, 0, 0, 0, 0, 0, 41.4158353390556606, 0, -165.663341356222642, 0, -99.3980048137335853, 0, 0, 0, 0, 0, 0, 0, 0, 41.4158353390556606, 0, -414.158353390556606, 0, 496.990024068667927, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.87482185836907012, 0, -165.663341356222642, 0, 496.990024068667927, 0, -283.994299467810244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.95827395278969004, 0, 41.4158353390556606, 0, -99.3980048137335853, 0, 47.3323832446350406, 0, 0, 0, 0, + // j = 23/2, mj = -7/2 + 0, 0, -2.09181557262512238, 0, 0, 0, 0, 6.27544671787536713, 0, 29.2854180167517133, 0, 0, 0, 0, 0, 0, 29.2854180167517133, 0, -117.141672067006853, 0, -70.2850032402041119, 0, 0, 0, 0, 0, 0, 0, 0, 29.2854180167517133, 0, -292.854180167517133, 0, 351.425016201020559, 0, 33.469049162001958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.27544671787536713, 0, -117.141672067006853, 0, 351.425016201020559, 0, -200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.09181557262512238, 0, 29.2854180167517133, 0, -70.2850032402041119, 0, 33.469049162001958, 0, 0, 0, 0, + 0.261476946578140297, 0, 0, 0.261476946578140297, 0, -14.6427090083758566, 0, 0, 0, 0, -1.56886167946884178, 0, 0, 0, 87.8562540502551398, 0, 0, 0, 0, 0, 0, -3.66067725209396416, 0, 87.8562540502551398, 0, -87.8562540502551398, 0, -117.141672067006853, 0, 0, 0, 0, 0, 0, 0, 0, -2.87624641235954327, 0, 117.141672067006853, 0, -439.281270251275699, 0, 234.283344134013706, 0, 33.469049162001958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.784430839734420891, 0, 43.9281270251275699, 0, -263.568762150765419, 0, 351.425016201020559, 0, -100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -5/2 + 0.202539171902860758, 0, 0, 0.202539171902860758, 0, -11.3421936265602025, 0, 0, 0, 0, -1.21523503141716455, 0, 0, 0, 68.0531617593612148, 0, 0, 0, 0, 0, 0, -2.83554840664005062, 0, 68.0531617593612148, 0, -68.0531617593612148, 0, -90.7375490124816198, 0, 0, 0, 0, 0, 0, 0, 0, -2.22793089093146834, 0, 90.7375490124816198, 0, -340.265808796806074, 0, 181.47509802496324, 0, 25.9250140035661771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.607617515708582275, 0, 34.0265808796806074, 0, -204.159485278083644, 0, 272.212647037444859, 0, -77.7750420106985312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.83554840664005062, 0, 0, 0, 0, 8.50664521992015185, 0, -45.3687745062408099, 0, 0, 0, 0, 0, 0, 5.67109681328010124, 0, -90.7375490124816198, 0, 136.10632351872243, 0, 0, 0, 0, 0, 0, 0, 0, -5.67109681328010124, 0, 0, 0, 136.10632351872243, 0, -103.700056014264708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.50664521992015185, 0, 90.7375490124816198, 0, -136.10632351872243, 0, 0, 0, 17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.83554840664005062, 0, 45.3687745062408099, 0, -136.10632351872243, 0, 103.700056014264708, 0, -17.2833426690441181, 0, 0, + // j = 23/2, mj = -3/2 + 0, 0, 2.39647580036050465, 0, 0, 0, 0, 7.18942740108151394, 0, -38.3436128057680743, 0, 0, 0, 0, 0, 0, 4.79295160072100929, 0, -76.6872256115361487, 0, 115.030838417304223, 0, 0, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 0, 0, 115.030838417304223, 0, -87.6425435560413128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.18942740108151394, 0, 76.6872256115361487, 0, -115.030838417304223, 0, 0, 0, 14.6070905926735521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.39647580036050465, 0, 38.3436128057680743, 0, -115.030838417304223, 0, 87.6425435560413128, 0, -14.6070905926735521, 0, 0, + -0.239647580036050465, 0, 0, -1.19823790018025232, 0, 14.3788548021630279, 0, 0, 0, 0, -2.39647580036050465, 0, 57.5154192086521115, 0, -95.8590320144201859, 0, 0, 0, 0, 0, 0, -2.39647580036050465, 0, 86.2731288129781673, 0, -287.577096043260558, 0, 153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, -1.19823790018025232, 0, 57.5154192086521115, 0, -287.577096043260558, 0, 306.748902446144595, 0, -65.7319076670309846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.239647580036050465, 0, 14.3788548021630279, 0, -95.8590320144201859, 0, 153.374451223072297, 0, -65.7319076670309846, 0, 5.84283623706942085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -1/2 + -0.220443711424950199, 0, 0, -1.10221855712475099, 0, 13.2266226854970119, 0, 0, 0, 0, -2.20443711424950199, 0, 52.9064907419880478, 0, -88.1774845699800796, 0, 0, 0, 0, 0, 0, -2.20443711424950199, 0, 79.3597361129820716, 0, -264.532453709940239, 0, 141.083975311968127, 0, 0, 0, 0, 0, 0, 0, 0, -1.10221855712475099, 0, 52.9064907419880478, 0, -264.532453709940239, 0, 282.167950623936255, 0, -60.4645608479863403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.220443711424950199, 0, 13.2266226854970119, 0, -88.1774845699800796, 0, 141.083975311968127, 0, -60.4645608479863403, 0, 5.37462763093211914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.64532453709940239, 0, 0, 0, 0, -13.2266226854970119, 0, 44.0887422849900398, 0, 0, 0, 0, 0, 0, -26.4532453709940239, 0, 176.354969139960159, 0, -141.083975311968127, 0, 0, 0, 0, 0, 0, 0, 0, -26.4532453709940239, 0, 264.532453709940239, 0, -423.251925935904382, 0, 120.929121695972681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.2266226854970119, 0, 176.354969139960159, 0, -423.251925935904382, 0, 241.858243391945361, 0, -26.8731381546605957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.64532453709940239, 0, 44.0887422849900398, 0, -141.083975311968127, 0, 120.929121695972681, 0, -26.8731381546605957, 0, 0.977205023805839843, + // j = 23/2, mj = 1/2 + 0, 0, -2.64532453709940239, 0, 0, 0, 0, -13.2266226854970119, 0, 44.0887422849900398, 0, 0, 0, 0, 0, 0, -26.4532453709940239, 0, 176.354969139960159, 0, -141.083975311968127, 0, 0, 0, 0, 0, 0, 0, 0, -26.4532453709940239, 0, 264.532453709940239, 0, -423.251925935904382, 0, 120.929121695972681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.2266226854970119, 0, 176.354969139960159, 0, -423.251925935904382, 0, 241.858243391945361, 0, -26.8731381546605957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.64532453709940239, 0, 44.0887422849900398, 0, -141.083975311968127, 0, 120.929121695972681, 0, -26.8731381546605957, 0, 0.977205023805839843, + 0.220443711424950199, 0, 0, 1.10221855712475099, 0, -13.2266226854970119, 0, 0, 0, 0, 2.20443711424950199, 0, -52.9064907419880478, 0, 88.1774845699800796, 0, 0, 0, 0, 0, 0, 2.20443711424950199, 0, -79.3597361129820716, 0, 264.532453709940239, 0, -141.083975311968127, 0, 0, 0, 0, 0, 0, 0, 0, 1.10221855712475099, 0, -52.9064907419880478, 0, 264.532453709940239, 0, -282.167950623936255, 0, 60.4645608479863403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.220443711424950199, 0, -13.2266226854970119, 0, 88.1774845699800796, 0, -141.083975311968127, 0, 60.4645608479863403, 0, -5.37462763093211914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 3/2 + 0.239647580036050465, 0, 0, 1.19823790018025232, 0, -14.3788548021630279, 0, 0, 0, 0, 2.39647580036050465, 0, -57.5154192086521115, 0, 95.8590320144201859, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -86.2731288129781673, 0, 287.577096043260558, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 1.19823790018025232, 0, -57.5154192086521115, 0, 287.577096043260558, 0, -306.748902446144595, 0, 65.7319076670309846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.239647580036050465, 0, -14.3788548021630279, 0, 95.8590320144201859, 0, -153.374451223072297, 0, 65.7319076670309846, 0, -5.84283623706942085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.39647580036050465, 0, 0, 0, 0, 7.18942740108151394, 0, -38.3436128057680743, 0, 0, 0, 0, 0, 0, 4.79295160072100929, 0, -76.6872256115361487, 0, 115.030838417304223, 0, 0, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 0, 0, 115.030838417304223, 0, -87.6425435560413128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.18942740108151394, 0, 76.6872256115361487, 0, -115.030838417304223, 0, 0, 0, 14.6070905926735521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.39647580036050465, 0, 38.3436128057680743, 0, -115.030838417304223, 0, 87.6425435560413128, 0, -14.6070905926735521, 0, 0, + // j = 23/2, mj = 5/2 + 0, 0, 2.83554840664005062, 0, 0, 0, 0, 8.50664521992015185, 0, -45.3687745062408099, 0, 0, 0, 0, 0, 0, 5.67109681328010124, 0, -90.7375490124816198, 0, 136.10632351872243, 0, 0, 0, 0, 0, 0, 0, 0, -5.67109681328010124, 0, 0, 0, 136.10632351872243, 0, -103.700056014264708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.50664521992015185, 0, 90.7375490124816198, 0, -136.10632351872243, 0, 0, 0, 17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.83554840664005062, 0, 45.3687745062408099, 0, -136.10632351872243, 0, 103.700056014264708, 0, -17.2833426690441181, 0, 0, + -0.202539171902860758, 0, 0, -0.202539171902860758, 0, 11.3421936265602025, 0, 0, 0, 0, 1.21523503141716455, 0, 0, 0, -68.0531617593612148, 0, 0, 0, 0, 0, 0, 2.83554840664005062, 0, -68.0531617593612148, 0, 68.0531617593612148, 0, 90.7375490124816198, 0, 0, 0, 0, 0, 0, 0, 0, 2.22793089093146834, 0, -90.7375490124816198, 0, 340.265808796806074, 0, -181.47509802496324, 0, -25.9250140035661771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.607617515708582275, 0, -34.0265808796806074, 0, 204.159485278083644, 0, -272.212647037444859, 0, 77.7750420106985312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 7/2 + -0.261476946578140297, 0, 0, -0.261476946578140297, 0, 14.6427090083758566, 0, 0, 0, 0, 1.56886167946884178, 0, 0, 0, -87.8562540502551398, 0, 0, 0, 0, 0, 0, 3.66067725209396416, 0, -87.8562540502551398, 0, 87.8562540502551398, 0, 117.141672067006853, 0, 0, 0, 0, 0, 0, 0, 0, 2.87624641235954327, 0, -117.141672067006853, 0, 439.281270251275699, 0, -234.283344134013706, 0, -33.469049162001958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.784430839734420891, 0, -43.9281270251275699, 0, 263.568762150765419, 0, -351.425016201020559, 0, 100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.09181557262512238, 0, 0, 0, 0, 6.27544671787536713, 0, 29.2854180167517133, 0, 0, 0, 0, 0, 0, 29.2854180167517133, 0, -117.141672067006853, 0, -70.2850032402041119, 0, 0, 0, 0, 0, 0, 0, 0, 29.2854180167517133, 0, -292.854180167517133, 0, 351.425016201020559, 0, 33.469049162001958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.27544671787536713, 0, -117.141672067006853, 0, 351.425016201020559, 0, -200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.09181557262512238, 0, 29.2854180167517133, 0, -70.2850032402041119, 0, 33.469049162001958, 0, 0, 0, 0, + // j = 23/2, mj = 9/2 + 0, 0, -2.95827395278969004, 0, 0, 0, 0, 8.87482185836907012, 0, 41.4158353390556606, 0, 0, 0, 0, 0, 0, 41.4158353390556606, 0, -165.663341356222642, 0, -99.3980048137335853, 0, 0, 0, 0, 0, 0, 0, 0, 41.4158353390556606, 0, -414.158353390556606, 0, 496.990024068667927, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.87482185836907012, 0, -165.663341356222642, 0, 496.990024068667927, 0, -283.994299467810244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.95827395278969004, 0, 41.4158353390556606, 0, -99.3980048137335853, 0, 47.3323832446350406, 0, 0, 0, 0, + 0.184892122049355627, 0, 0, -1.29424485434548939, 0, -8.87482185836907012, 0, 0, 0, 0, -4.0676266850858238, 0, 70.998574866952561, 0, 41.4158353390556606, 0, 0, 0, 0, 0, 0, -2.58848970869097878, 0, 124.247506017166982, 0, -372.742518051500945, 0, -33.1326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 0.924460610246778137, 0, 0, 0, -207.079176695278303, 0, 331.326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.924460610246778137, 0, -44.3741092918453506, 0, 207.079176695278303, 0, -165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 11/2 + 0.288133561671501547, 0, 0, -2.01693493170051083, 0, -13.8304109602320742, 0, 0, 0, 0, -6.33893835677303403, 0, 110.643287681856594, 0, 64.5419178144163464, 0, 0, 0, 0, 0, 0, -4.03386986340102165, 0, 193.625753443249039, 0, -580.877260329747118, 0, -51.6335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 1.44066780835750773, 0, 0, 0, -322.709589072081732, 0, 516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.44066780835750773, 0, -69.1520548011603712, 0, 322.709589072081732, 0, -258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.72880137002900928, 0, 0, 0, 0, -22.4744178103771206, 0, -18.440547946976099, 0, 0, 0, 0, 0, 0, -24.2032191804061299, 0, 258.167671257665386, 0, 25.8167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 24.2032191804061299, 0, 0, 0, -387.251506886498079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.4744178103771206, 0, -258.167671257665386, 0, 387.251506886498079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.72880137002900928, 0, 18.440547946976099, 0, -25.8167671257665386, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 13/2 + 0, 0, 2.99437180908492698, 0, 0, 0, 0, -38.9268335181040507, 0, -31.9399659635725545, 0, 0, 0, 0, 0, 0, -41.9212053271889777, 0, 447.159523490015762, 0, 44.7159523490015762, 0, 0, 0, 0, 0, 0, 0, 0, 41.9212053271889777, 0, 0, 0, -670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38.9268335181040507, 0, -447.159523490015762, 0, 670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.99437180908492698, 0, 31.9399659635725545, 0, -44.7159523490015762, 0, 0, 0, 0, 0, 0, + -0.166353989393607054, 0, 0, 3.16072579847853403, 0, 5.98874361816985396, 0, 0, 0, 0, 0.998123936361642327, 0, -119.774872363397079, 0, -15.9699829817862772, 0, 0, 0, 0, 0, 0, -6.98686755453149629, 0, 83.8424106543779555, 0, 335.369642617511822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.49343377726574814, 0, 167.684821308755911, 0, -558.949404362519703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.16447792575524938, 0, -41.9212053271889777, 0, 111.789880872503941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 15/2 + -0.32428362461160392, 0, 0, 6.16138886762047449, 0, 11.6742104860177411, 0, 0, 0, 0, 1.94570174766962352, 0, -233.484209720354823, 0, -31.1312279627139763, 0, 0, 0, 0, 0, 0, -13.6199122336873647, 0, 163.438946804248376, 0, 653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.80995611684368233, 0, 326.877893608496752, 0, -1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.26998537228122744, 0, -81.7194734021241879, 0, 217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.29713449844641568, 0, 0, 0, 0, 35.0226314580532234, 0, 7.78280699067849409, 0, 0, 0, 0, 0, 0, -54.4796489347494586, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54.4796489347494586, 0, 544.796489347494586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35.0226314580532234, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.29713449844641568, 0, 7.78280699067849409, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 17/2 + 0, 0, -2.90048091448628081, 0, 0, 0, 0, 78.3129846911295819, 0, 17.4028854869176849, 0, 0, 0, 0, 0, 0, -121.820198408423794, 0, -487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -121.820198408423794, 0, 1218.20198408423794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78.3129846911295819, 0, -487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.90048091448628081, 0, 17.4028854869176849, 0, 0, 0, 0, 0, 0, 0, 0, + 0.145024045724314041, 0, 0, -5.07584160035099142, 0, -2.90048091448628081, 0, 0, 0, 0, 13.0521641151882637, 0, 104.417312921506109, 0, 0, 0, 0, 0, 0, 0, 0, 6.09100992042118971, 0, -365.460595225271382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.876803429323553, 0, 243.640396816847588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.30521641151882637, 0, -26.1043282303765273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 19/2 + 0.383697559110995006, 0, 0, -13.4294145688848252, 0, -7.67395118221990013, 0, 0, 0, 0, 34.5327803199895506, 0, 276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 16.1152974826617903, 0, -966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.7773169333246255, 0, 644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.45327803199895506, 0, -69.0655606399791011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.767395118221990013, 0, 0, 0, 0, -34.5327803199895506, 0, 0, 0, 0, 0, 0, 0, 0, 161.152974826617903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161.152974826617903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.5327803199895506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.767395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 21/2 + 0, 0, 2.54516167309276491, 0, 0, 0, 0, -114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.54516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.115689166958762041, 0, 0, 6.36290418273191227, 0, 0, 0, 0, 0, 0, -38.1774250963914736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.4483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19.0887125481957368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.27258083654638245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 23/2 + -0.554825753806619302, 0, 0, 30.5154164593640616, 0, 0, 0, 0, 0, 0, -183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.10308329187281232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -23/2 + -0.554825753806619302, 0, 0, 36.6184997512368739, 0, 0, 0, 0, 0, 0, -274.638748134276554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 512.658996517316235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274.638748134276554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36.6184997512368739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.554825753806619302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0.554825753806619302, 0, 0, 0, 0, -30.5154164593640616, 0, 0, 0, 0, 0, 0, 0, 0, 183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.10308329187281232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -21/2 + 0, 0, -2.66085084005152695, 0, 0, 0, 0, 146.346796202833982, 0, 0, 0, 0, 0, 0, 0, 0, -878.080777217003893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229.31308810380545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -439.040388608501947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29.2693592405667964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.115689166958762041, 0, 0, 5.09032334618552982, 0, 2.54516167309276491, 0, 0, 0, 0, -19.0887125481957368, 0, -114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.0887125481957368, 0, -534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.09032334618552982, 0, 114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.115689166958762041, 0, -2.54516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -19/2 + 0.383697559110995006, 0, 0, -16.8826926008837803, 0, -8.44134630044189014, 0, 0, 0, 0, 63.310097253314176, 0, 379.860583519885056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1772.68272309279693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63.310097253314176, 0, 1772.68272309279693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.8826926008837803, 0, -379.860583519885056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.383697559110995006, 0, 8.44134630044189014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1.15109267733298502, 0, 0, 0, 0, 40.2882437066544757, 0, 7.67395118221990013, 0, 0, 0, 0, 0, 0, -103.598340959968652, 0, -276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48.3458924479853708, 0, 966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86.3319507999738764, 0, -644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.3598340959968652, 0, 69.0655606399791011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -17/2 + 0, 0, 3.04550496021059485, 0, 0, 0, 0, -106.59267360737082, 0, -20.3033664014039657, 0, 0, 0, 0, 0, 0, 274.095446418953537, 0, 730.921190450542765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127.911208328844984, 0, -2558.22416657689968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -228.412872015794614, 0, 1705.48277771793312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27.4095446418953537, 0, -182.730297612635691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.145024045724314041, 0, 0, -3.77062518883216506, 0, -5.80096182897256162, 0, 0, 0, 0, 2.17536068586471061, 0, 156.625969382259164, 0, 17.4028854869176849, 0, 0, 0, 0, 0, 0, 12.1820198408423794, 0, -243.640396816847588, 0, -487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.17536068586471061, 0, -243.640396816847588, 0, 1218.20198408423794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.77062518883216506, 0, 156.625969382259164, 0, -487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145024045724314041, 0, -5.80096182897256162, 0, 17.4028854869176849, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -15/2 + -0.32428362461160392, 0, 0, 8.43137423990170193, 0, 12.9713449844641568, 0, 0, 0, 0, -4.8642543691740588, 0, -350.226314580532234, 0, -38.9140349533924704, 0, 0, 0, 0, 0, 0, -27.2398244673747293, 0, 544.796489347494586, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.8642543691740588, 0, 544.796489347494586, 0, -2723.98244673747293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.43137423990170193, 0, -350.226314580532234, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.32428362461160392, 0, 12.9713449844641568, 0, -38.9140349533924704, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.6214181230580196, 0, 0, 0, 0, -30.8069443381023724, 0, -19.4570174766962352, 0, 0, 0, 0, 0, 0, -9.72850873834811761, 0, 389.140349533924704, 0, 31.1312279627139763, 0, 0, 0, 0, 0, 0, 0, 0, 68.0995611684368233, 0, -272.398244673747293, 0, -653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.0497805842184116, 0, -544.796489347494586, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11.3499268614061372, 0, 136.199122336873647, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -13/2 + 0, 0, -3.16072579847853403, 0, 0, 0, 0, 60.0537901710921467, 0, 37.9287095817424084, 0, 0, 0, 0, 0, 0, 18.9643547908712042, 0, -758.574191634848168, 0, -60.6859353307878535, 0, 0, 0, 0, 0, 0, 0, 0, -132.750483536098429, 0, 531.001934144393718, 0, 1274.40464194654492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66.3752417680492147, 0, 1062.00386828878744, 0, -2124.00773657757487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.1250805893497382, 0, -265.500967072196859, 0, 424.801547315514974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.166353989393607054, 0, 0, 1.99624787272328465, 0, 8.98311542725478094, 0, 0, 0, 0, 4.49155771362739047, 0, -116.780500554312152, 0, -47.9099489453588317, 0, 0, 0, 0, 0, 0, 0, 0, -125.763615981566933, 0, 670.739285235023644, 0, 44.7159523490015762, 0, 0, 0, 0, 0, 0, 0, 0, -4.49155771362739047, 0, 125.763615981566933, 0, 0, 0, -670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.99624787272328465, 0, 116.780500554312152, 0, -670.739285235023644, 0, 670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.166353989393607054, 0, -8.98311542725478094, 0, 47.9099489453588317, 0, -44.7159523490015762, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -11/2 + 0.288133561671501547, 0, 0, -3.45760274005801856, 0, -15.5592123302610835, 0, 0, 0, 0, -7.77960616513054176, 0, 202.269760293394086, 0, 82.9824657613924454, 0, 0, 0, 0, 0, 0, 0, 0, 217.828972623655169, 0, -1161.75452065949424, 0, -77.4503013772996157, 0, 0, 0, 0, 0, 0, 0, 0, 7.77960616513054176, 0, -217.828972623655169, 0, 0, 0, 1161.75452065949424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.45760274005801856, 0, -202.269760293394086, 0, 1161.75452065949424, 0, -1161.75452065949424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.288133561671501547, 0, 15.5592123302610835, 0, -82.9824657613924454, 0, 77.4503013772996157, 0, 0, 0, 0, 0, 0, + 0, 0, -2.01693493170051083, 0, 0, 0, 0, 14.1185445219035758, 0, 32.2709589072081732, 0, 0, 0, 0, 0, 0, 44.3725684974112382, 0, -258.167671257665386, 0, -90.358684940182885, 0, 0, 0, 0, 0, 0, 0, 0, 28.2370890438071516, 0, -451.793424700914425, 0, 813.228164461645965, 0, 51.6335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.0846746585025541, 0, 0, 0, 451.793424700914425, 0, -516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.0846746585025541, 0, 161.354794536040866, 0, -451.793424700914425, 0, 258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -9/2 + 0, 0, 3.14316607483904567, 0, 0, 0, 0, -22.0021625238733197, 0, -50.2906571974247307, 0, 0, 0, 0, 0, 0, -69.1496536464590047, 0, 402.325257579397845, 0, 140.813840152789246, 0, 0, 0, 0, 0, 0, 0, 0, -44.0043250477466393, 0, 704.06920076394623, 0, -1267.32456137510321, 0, -80.4650515158795691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.7158303741952283, 0, 0, 0, -704.06920076394623, 0, 804.650515158795691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.7158303741952283, 0, -251.453285987123653, 0, 704.06920076394623, 0, -402.325257579397845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.184892122049355627, 0, 0, -0.369784244098711255, 0, -11.8330958111587602, 0, 0, 0, 0, -3.14316607483904567, 0, 35.4992874334762805, 0, 82.8316706781113211, 0, 0, 0, 0, 0, 0, -5.17697941738195757, 0, 165.663341356222642, 0, -331.326682712445284, 0, -132.530673084978114, 0, 0, 0, 0, 0, 0, 0, 0, -3.14316607483904567, 0, 165.663341356222642, 0, -828.316706781113211, 0, 662.653365424890569, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.369784244098711255, 0, 35.4992874334762805, 0, -331.326682712445284, 0, 662.653365424890569, 0, -283.994299467810244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.184892122049355627, 0, -11.8330958111587602, 0, 82.8316706781113211, 0, -132.530673084978114, 0, 47.3323832446350406, 0, 0, 0, 0, + // j = 23/2, mj = -7/2 + -0.261476946578140297, 0, 0, 0.522953893156280594, 0, 16.734524581000979, 0, 0, 0, 0, 4.44510809182838505, 0, -50.203573743002937, 0, -117.141672067006853, 0, 0, 0, 0, 0, 0, 7.32135450418792832, 0, -234.283344134013706, 0, 468.566688268027412, 0, 187.426675307210965, 0, 0, 0, 0, 0, 0, 0, 0, 4.44510809182838505, 0, -234.283344134013706, 0, 1171.41672067006853, 0, -937.133376536054825, 0, -66.938098324003916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.522953893156280594, 0, -50.203573743002937, 0, 468.566688268027412, 0, -937.133376536054825, 0, 401.628589944023496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.261476946578140297, 0, 16.734524581000979, 0, -117.141672067006853, 0, 187.426675307210965, 0, -66.938098324003916, 0, 0, 0, 0, + 0, 0, 2.35329251920326267, 0, 0, 0, 0, 2.35329251920326267, 0, -43.9281270251275699, 0, 0, 0, 0, 0, 0, -14.119755115219576, 0, 0, 0, 158.141257290459252, 0, 0, 0, 0, 0, 0, 0, 0, -32.9460952688456774, 0, 263.568762150765419, 0, -158.141257290459252, 0, -150.610721229008811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25.8862177112358894, 0, 351.425016201020559, 0, -790.706286452296258, 0, 301.221442458017622, 0, 33.469049162001958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.05987755760978802, 0, 131.78438107538271, 0, -474.423771871377755, 0, 451.832163687026433, 0, -100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -5/2 + 0, 0, -3.03808757854291138, 0, 0, 0, 0, -3.03808757854291138, 0, 56.7109681328010124, 0, 0, 0, 0, 0, 0, 18.2285254712574683, 0, 0, 0, -204.159485278083644, 0, 0, 0, 0, 0, 0, 0, 0, 42.5332260996007593, 0, -340.265808796806074, 0, 204.159485278083644, 0, 194.437605026746328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33.4189633639720251, 0, -453.687745062408099, 0, 1020.79742639041822, 0, -388.875210053492656, 0, -43.2083566726102951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.11426273562873413, 0, -170.132904398403037, 0, 612.478455834250933, 0, -583.312815080238984, 0, 129.625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.202539171902860758, 0, 0, -0.810156687611443034, 0, 14.1777420332002531, 0, 0, 0, 0, -1.01269585951430379, 0, 42.5332260996007593, 0, -113.421936265602025, 0, 0, 0, 0, 0, 0, 0, 0, 28.3554840664005062, 0, -226.843872531204049, 0, 226.843872531204049, 0, 0, 0, 0, 0, 0, 0, 0, 1.01269585951430379, 0, -28.3554840664005062, 0, 0, 0, 226.843872531204049, 0, -129.625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.810156687611443034, 0, -42.5332260996007593, 0, 226.843872531204049, 0, -226.843872531204049, 0, 0, 0, 17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.202539171902860758, 0, -14.1777420332002531, 0, 113.421936265602025, 0, -226.843872531204049, 0, 129.625070017830885, 0, -17.2833426690441181, 0, 0, + // j = 23/2, mj = -3/2 + 0.239647580036050465, 0, 0, 0.958590320144201859, 0, -16.7753306025235325, 0, 0, 0, 0, 1.19823790018025232, 0, -50.3259918075705976, 0, 134.20264482018826, 0, 0, 0, 0, 0, 0, 0, 0, -33.5506612050470651, 0, 268.40528964037652, 0, -268.40528964037652, 0, 0, 0, 0, 0, 0, 0, 0, -1.19823790018025232, 0, 33.5506612050470651, 0, 0, 0, -268.40528964037652, 0, 153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.958590320144201859, 0, 50.3259918075705976, 0, -268.40528964037652, 0, 268.40528964037652, 0, 0, 0, -20.449926829742973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.239647580036050465, 0, 16.7753306025235325, 0, -134.20264482018826, 0, 268.40528964037652, 0, -153.374451223072297, 0, 20.449926829742973, 0, 0, + 0, 0, -2.63612338039655511, 0, 0, 0, 0, -13.1806169019827756, 0, 52.7224676079311022, 0, 0, 0, 0, 0, 0, -26.3612338039655511, 0, 210.889870431724409, 0, -210.889870431724409, 0, 0, 0, 0, 0, 0, 0, 0, -26.3612338039655511, 0, 316.334805647586613, 0, -632.669611295173227, 0, 241.01699477911361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.1806169019827756, 0, 210.889870431724409, 0, -632.669611295173227, 0, 482.03398955822722, 0, -80.3389982597045367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.63612338039655511, 0, 52.7224676079311022, 0, -210.889870431724409, 0, 241.01699477911361, 0, -80.3389982597045367, 0, 5.84283623706942085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -1/2 + 0, 0, 2.86576824852435259, 0, 0, 0, 0, 14.3288412426217629, 0, -57.3153649704870517, 0, 0, 0, 0, 0, 0, 28.6576824852435259, 0, -229.261459881948207, 0, 229.261459881948207, 0, 0, 0, 0, 0, 0, 0, 0, 28.6576824852435259, 0, -343.89218982292231, 0, 687.784379645844621, 0, -262.013097007940808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.3288412426217629, 0, -229.261459881948207, 0, 687.784379645844621, 0, -524.026194015881616, 0, 87.337699002646936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.86576824852435259, 0, -57.3153649704870517, 0, 229.261459881948207, 0, -262.013097007940808, 0, 87.337699002646936, 0, -6.35183265473795898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.220443711424950199, 0, 0, 1.32266226854970119, 0, -15.8719472225964143, 0, 0, 0, 0, 3.30665567137425298, 0, -79.3597361129820716, 0, 132.266226854970119, 0, 0, 0, 0, 0, 0, 4.40887422849900398, 0, -158.719472225964143, 0, 529.064907419880478, 0, -282.167950623936255, 0, 0, 0, 0, 0, 0, 0, 0, 3.30665567137425298, 0, -158.719472225964143, 0, 793.597361129820716, 0, -846.503851871808764, 0, 181.393682543959021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.32266226854970119, 0, -79.3597361129820716, 0, 529.064907419880478, 0, -846.503851871808764, 0, 362.787365087918042, 0, -32.2477657855927148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.220443711424950199, 0, -15.8719472225964143, 0, 132.266226854970119, 0, -282.167950623936255, 0, 181.393682543959021, 0, -32.2477657855927148, 0, 0.977205023805839843, + // j = 23/2, mj = 1/2 + -0.220443711424950199, 0, 0, -1.32266226854970119, 0, 15.8719472225964143, 0, 0, 0, 0, -3.30665567137425298, 0, 79.3597361129820716, 0, -132.266226854970119, 0, 0, 0, 0, 0, 0, -4.40887422849900398, 0, 158.719472225964143, 0, -529.064907419880478, 0, 282.167950623936255, 0, 0, 0, 0, 0, 0, 0, 0, -3.30665567137425298, 0, 158.719472225964143, 0, -793.597361129820716, 0, 846.503851871808764, 0, -181.393682543959021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.32266226854970119, 0, 79.3597361129820716, 0, -529.064907419880478, 0, 846.503851871808764, 0, -362.787365087918042, 0, 32.2477657855927148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.220443711424950199, 0, 15.8719472225964143, 0, -132.266226854970119, 0, 282.167950623936255, 0, -181.393682543959021, 0, 32.2477657855927148, 0, -0.977205023805839843, + 0, 0, 2.86576824852435259, 0, 0, 0, 0, 14.3288412426217629, 0, -57.3153649704870517, 0, 0, 0, 0, 0, 0, 28.6576824852435259, 0, -229.261459881948207, 0, 229.261459881948207, 0, 0, 0, 0, 0, 0, 0, 0, 28.6576824852435259, 0, -343.89218982292231, 0, 687.784379645844621, 0, -262.013097007940808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.3288412426217629, 0, -229.261459881948207, 0, 687.784379645844621, 0, -524.026194015881616, 0, 87.337699002646936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.86576824852435259, 0, -57.3153649704870517, 0, 229.261459881948207, 0, -262.013097007940808, 0, 87.337699002646936, 0, -6.35183265473795898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 3/2 + 0, 0, -2.63612338039655511, 0, 0, 0, 0, -13.1806169019827756, 0, 52.7224676079311022, 0, 0, 0, 0, 0, 0, -26.3612338039655511, 0, 210.889870431724409, 0, -210.889870431724409, 0, 0, 0, 0, 0, 0, 0, 0, -26.3612338039655511, 0, 316.334805647586613, 0, -632.669611295173227, 0, 241.01699477911361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.1806169019827756, 0, 210.889870431724409, 0, -632.669611295173227, 0, 482.03398955822722, 0, -80.3389982597045367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.63612338039655511, 0, 52.7224676079311022, 0, -210.889870431724409, 0, 241.01699477911361, 0, -80.3389982597045367, 0, 5.84283623706942085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.239647580036050465, 0, 0, -0.958590320144201859, 0, 16.7753306025235325, 0, 0, 0, 0, -1.19823790018025232, 0, 50.3259918075705976, 0, -134.20264482018826, 0, 0, 0, 0, 0, 0, 0, 0, 33.5506612050470651, 0, -268.40528964037652, 0, 268.40528964037652, 0, 0, 0, 0, 0, 0, 0, 0, 1.19823790018025232, 0, -33.5506612050470651, 0, 0, 0, 268.40528964037652, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.958590320144201859, 0, -50.3259918075705976, 0, 268.40528964037652, 0, -268.40528964037652, 0, 0, 0, 20.449926829742973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.239647580036050465, 0, -16.7753306025235325, 0, 134.20264482018826, 0, -268.40528964037652, 0, 153.374451223072297, 0, -20.449926829742973, 0, 0, + // j = 23/2, mj = 5/2 + 0.202539171902860758, 0, 0, 0.810156687611443034, 0, -14.1777420332002531, 0, 0, 0, 0, 1.01269585951430379, 0, -42.5332260996007593, 0, 113.421936265602025, 0, 0, 0, 0, 0, 0, 0, 0, -28.3554840664005062, 0, 226.843872531204049, 0, -226.843872531204049, 0, 0, 0, 0, 0, 0, 0, 0, -1.01269585951430379, 0, 28.3554840664005062, 0, 0, 0, -226.843872531204049, 0, 129.625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.810156687611443034, 0, 42.5332260996007593, 0, -226.843872531204049, 0, 226.843872531204049, 0, 0, 0, -17.2833426690441181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.202539171902860758, 0, 14.1777420332002531, 0, -113.421936265602025, 0, 226.843872531204049, 0, -129.625070017830885, 0, 17.2833426690441181, 0, 0, + 0, 0, -3.03808757854291138, 0, 0, 0, 0, -3.03808757854291138, 0, 56.7109681328010124, 0, 0, 0, 0, 0, 0, 18.2285254712574683, 0, 0, 0, -204.159485278083644, 0, 0, 0, 0, 0, 0, 0, 0, 42.5332260996007593, 0, -340.265808796806074, 0, 204.159485278083644, 0, 194.437605026746328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33.4189633639720251, 0, -453.687745062408099, 0, 1020.79742639041822, 0, -388.875210053492656, 0, -43.2083566726102951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.11426273562873413, 0, -170.132904398403037, 0, 612.478455834250933, 0, -583.312815080238984, 0, 129.625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 7/2 + 0, 0, 2.35329251920326267, 0, 0, 0, 0, 2.35329251920326267, 0, -43.9281270251275699, 0, 0, 0, 0, 0, 0, -14.119755115219576, 0, 0, 0, 158.141257290459252, 0, 0, 0, 0, 0, 0, 0, 0, -32.9460952688456774, 0, 263.568762150765419, 0, -158.141257290459252, 0, -150.610721229008811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25.8862177112358894, 0, 351.425016201020559, 0, -790.706286452296258, 0, 301.221442458017622, 0, 33.469049162001958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.05987755760978802, 0, 131.78438107538271, 0, -474.423771871377755, 0, 451.832163687026433, 0, -100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.261476946578140297, 0, 0, -0.522953893156280594, 0, -16.734524581000979, 0, 0, 0, 0, -4.44510809182838505, 0, 50.203573743002937, 0, 117.141672067006853, 0, 0, 0, 0, 0, 0, -7.32135450418792832, 0, 234.283344134013706, 0, -468.566688268027412, 0, -187.426675307210965, 0, 0, 0, 0, 0, 0, 0, 0, -4.44510809182838505, 0, 234.283344134013706, 0, -1171.41672067006853, 0, 937.133376536054825, 0, 66.938098324003916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.522953893156280594, 0, 50.203573743002937, 0, -468.566688268027412, 0, 937.133376536054825, 0, -401.628589944023496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.261476946578140297, 0, -16.734524581000979, 0, 117.141672067006853, 0, -187.426675307210965, 0, 66.938098324003916, 0, 0, 0, 0, + // j = 23/2, mj = 9/2 + -0.184892122049355627, 0, 0, 0.369784244098711255, 0, 11.8330958111587602, 0, 0, 0, 0, 3.14316607483904567, 0, -35.4992874334762805, 0, -82.8316706781113211, 0, 0, 0, 0, 0, 0, 5.17697941738195757, 0, -165.663341356222642, 0, 331.326682712445284, 0, 132.530673084978114, 0, 0, 0, 0, 0, 0, 0, 0, 3.14316607483904567, 0, -165.663341356222642, 0, 828.316706781113211, 0, -662.653365424890569, 0, -47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.369784244098711255, 0, -35.4992874334762805, 0, 331.326682712445284, 0, -662.653365424890569, 0, 283.994299467810244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.184892122049355627, 0, 11.8330958111587602, 0, -82.8316706781113211, 0, 132.530673084978114, 0, -47.3323832446350406, 0, 0, 0, 0, + 0, 0, 3.14316607483904567, 0, 0, 0, 0, -22.0021625238733197, 0, -50.2906571974247307, 0, 0, 0, 0, 0, 0, -69.1496536464590047, 0, 402.325257579397845, 0, 140.813840152789246, 0, 0, 0, 0, 0, 0, 0, 0, -44.0043250477466393, 0, 704.06920076394623, 0, -1267.32456137510321, 0, -80.4650515158795691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.7158303741952283, 0, 0, 0, -704.06920076394623, 0, 804.650515158795691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.7158303741952283, 0, -251.453285987123653, 0, 704.06920076394623, 0, -402.325257579397845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 11/2 + 0, 0, -2.01693493170051083, 0, 0, 0, 0, 14.1185445219035758, 0, 32.2709589072081732, 0, 0, 0, 0, 0, 0, 44.3725684974112382, 0, -258.167671257665386, 0, -90.358684940182885, 0, 0, 0, 0, 0, 0, 0, 0, 28.2370890438071516, 0, -451.793424700914425, 0, 813.228164461645965, 0, 51.6335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.0846746585025541, 0, 0, 0, 451.793424700914425, 0, -516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.0846746585025541, 0, 161.354794536040866, 0, -451.793424700914425, 0, 258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.288133561671501547, 0, 0, 3.45760274005801856, 0, 15.5592123302610835, 0, 0, 0, 0, 7.77960616513054176, 0, -202.269760293394086, 0, -82.9824657613924454, 0, 0, 0, 0, 0, 0, 0, 0, -217.828972623655169, 0, 1161.75452065949424, 0, 77.4503013772996157, 0, 0, 0, 0, 0, 0, 0, 0, -7.77960616513054176, 0, 217.828972623655169, 0, 0, 0, -1161.75452065949424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.45760274005801856, 0, 202.269760293394086, 0, -1161.75452065949424, 0, 1161.75452065949424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.288133561671501547, 0, -15.5592123302610835, 0, 82.9824657613924454, 0, -77.4503013772996157, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 13/2 + 0.166353989393607054, 0, 0, -1.99624787272328465, 0, -8.98311542725478094, 0, 0, 0, 0, -4.49155771362739047, 0, 116.780500554312152, 0, 47.9099489453588317, 0, 0, 0, 0, 0, 0, 0, 0, 125.763615981566933, 0, -670.739285235023644, 0, -44.7159523490015762, 0, 0, 0, 0, 0, 0, 0, 0, 4.49155771362739047, 0, -125.763615981566933, 0, 0, 0, 670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.99624787272328465, 0, -116.780500554312152, 0, 670.739285235023644, 0, -670.739285235023644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.166353989393607054, 0, 8.98311542725478094, 0, -47.9099489453588317, 0, 44.7159523490015762, 0, 0, 0, 0, 0, 0, + 0, 0, -3.16072579847853403, 0, 0, 0, 0, 60.0537901710921467, 0, 37.9287095817424084, 0, 0, 0, 0, 0, 0, 18.9643547908712042, 0, -758.574191634848168, 0, -60.6859353307878535, 0, 0, 0, 0, 0, 0, 0, 0, -132.750483536098429, 0, 531.001934144393718, 0, 1274.40464194654492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66.3752417680492147, 0, 1062.00386828878744, 0, -2124.00773657757487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.1250805893497382, 0, -265.500967072196859, 0, 424.801547315514974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 15/2 + 0, 0, 1.6214181230580196, 0, 0, 0, 0, -30.8069443381023724, 0, -19.4570174766962352, 0, 0, 0, 0, 0, 0, -9.72850873834811761, 0, 389.140349533924704, 0, 31.1312279627139763, 0, 0, 0, 0, 0, 0, 0, 0, 68.0995611684368233, 0, -272.398244673747293, 0, -653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.0497805842184116, 0, -544.796489347494586, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11.3499268614061372, 0, 136.199122336873647, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.32428362461160392, 0, 0, -8.43137423990170193, 0, -12.9713449844641568, 0, 0, 0, 0, 4.8642543691740588, 0, 350.226314580532234, 0, 38.9140349533924704, 0, 0, 0, 0, 0, 0, 27.2398244673747293, 0, -544.796489347494586, 0, -1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.8642543691740588, 0, -544.796489347494586, 0, 2723.98244673747293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.43137423990170193, 0, 350.226314580532234, 0, -1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32428362461160392, 0, -12.9713449844641568, 0, 38.9140349533924704, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 17/2 + -0.145024045724314041, 0, 0, 3.77062518883216506, 0, 5.80096182897256162, 0, 0, 0, 0, -2.17536068586471061, 0, -156.625969382259164, 0, -17.4028854869176849, 0, 0, 0, 0, 0, 0, -12.1820198408423794, 0, 243.640396816847588, 0, 487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.17536068586471061, 0, 243.640396816847588, 0, -1218.20198408423794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.77062518883216506, 0, -156.625969382259164, 0, 487.280793633695176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.145024045724314041, 0, 5.80096182897256162, 0, -17.4028854869176849, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.04550496021059485, 0, 0, 0, 0, -106.59267360737082, 0, -20.3033664014039657, 0, 0, 0, 0, 0, 0, 274.095446418953537, 0, 730.921190450542765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127.911208328844984, 0, -2558.22416657689968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -228.412872015794614, 0, 1705.48277771793312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27.4095446418953537, 0, -182.730297612635691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 19/2 + 0, 0, -1.15109267733298502, 0, 0, 0, 0, 40.2882437066544757, 0, 7.67395118221990013, 0, 0, 0, 0, 0, 0, -103.598340959968652, 0, -276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48.3458924479853708, 0, 966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86.3319507999738764, 0, -644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.3598340959968652, 0, 69.0655606399791011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.383697559110995006, 0, 0, 16.8826926008837803, 0, 8.44134630044189014, 0, 0, 0, 0, -63.310097253314176, 0, -379.860583519885056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772.68272309279693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63.310097253314176, 0, -1772.68272309279693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16.8826926008837803, 0, 379.860583519885056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.383697559110995006, 0, -8.44134630044189014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 21/2 + 0.115689166958762041, 0, 0, -5.09032334618552982, 0, -2.54516167309276491, 0, 0, 0, 0, 19.0887125481957368, 0, 114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19.0887125481957368, 0, 534.483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.09032334618552982, 0, -114.532275289174421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.115689166958762041, 0, 2.54516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2.66085084005152695, 0, 0, 0, 0, 146.346796202833982, 0, 0, 0, 0, 0, 0, 0, 0, -878.080777217003893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229.31308810380545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -439.040388608501947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29.2693592405667964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 23/2 + 0, 0, 0.554825753806619302, 0, 0, 0, 0, -30.5154164593640616, 0, 0, 0, 0, 0, 0, 0, 0, 183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.10308329187281232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.554825753806619302, 0, 0, -36.6184997512368739, 0, 0, 0, 0, 0, 0, 274.638748134276554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -512.658996517316235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274.638748134276554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -36.6184997512368739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.554825753806619302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -25/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.566266663742191171, 0, 0, -37.3735998069846173, 0, 0, 0, 0, 0, 0, 280.30199855238463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -523.230397297784642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280.30199855238463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37.3735998069846173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.566266663742191171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -23/2 + 0.113253332748438234, 0, 0, -7.47471996139692346, 0, 0, 0, 0, 0, 0, 56.0603997104769259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104.646079459556928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56.0603997104769259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.47471996139692346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.113253332748438234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2.71807998596251762, 0, 0, 0, 0, -149.494399227938469, 0, 0, 0, 0, 0, 0, 0, 0, 896.966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1255.75295351468314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29.8988798455876938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -21/2 + 0, 0, 0.784642105787196884, 0, 0, 0, 0, -43.1553158182958286, 0, 0, 0, 0, 0, 0, 0, 0, 258.931894909774972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362.50465287368496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129.465947454887486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.63106316365916572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.392321052893598442, 0, 0, 17.2621263273183314, 0, 8.63106316365916572, 0, 0, 0, 0, -64.7329737274437429, 0, -388.397842364662457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1812.5232643684248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64.7329737274437429, 0, -1812.5232643684248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.2621263273183314, 0, 388.397842364662457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.392321052893598442, 0, -8.63106316365916572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -19/2 + -0.141689713908309089, 0, 0, 6.23434741196559994, 0, 3.11717370598279997, 0, 0, 0, 0, -23.3788027948709998, 0, -140.272816769225999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654.606478256387993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23.3788027948709998, 0, -654.606478256387993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.23434741196559994, 0, 140.272816769225999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.141689713908309089, 0, -3.11717370598279997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3.11717370598279997, 0, 0, 0, 0, 109.101079709397999, 0, 20.7811580398853331, 0, 0, 0, 0, 0, 0, -280.545633538451997, 0, -748.121689435871992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130.921295651277599, 0, 2618.42591302555197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233.788027948709998, 0, -1745.61727535036798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.0545633538451997, 0, 187.030422358967998, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -17/2 + 0, 0, -1.32916733424081186, 0, 0, 0, 0, 46.5208566984284153, 0, 8.86111556160541243, 0, 0, 0, 0, 0, 0, -119.625060081673068, 0, -319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55.8250280381140983, 0, 1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99.6875500680608898, 0, -744.333707174854644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11.9625060081673068, 0, 79.7500400544487119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.332291833560202966, 0, 0, -8.63958767256527712, 0, -13.2916733424081186, 0, 0, 0, 0, 4.98437750340304449, 0, 358.875180245019203, 0, 39.8750200272243559, 0, 0, 0, 0, 0, 0, 27.9125140190570492, 0, -558.250280381140983, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.98437750340304449, 0, -558.250280381140983, 0, 2791.25140190570492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.63958767256527712, 0, 358.875180245019203, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.332291833560202966, 0, -13.2916733424081186, 0, 39.8750200272243559, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -15/2 + 0.16214181230580196, 0, 0, -4.21568711995085096, 0, -6.48567249223207841, 0, 0, 0, 0, 2.4321271845870294, 0, 175.113157290266117, 0, 19.4570174766962352, 0, 0, 0, 0, 0, 0, 13.6199122336873647, 0, -272.398244673747293, 0, -544.796489347494586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.4321271845870294, 0, -272.398244673747293, 0, 1361.99122336873647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.21568711995085096, 0, 175.113157290266117, 0, -544.796489347494586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16214181230580196, 0, -6.48567249223207841, 0, 19.4570174766962352, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3.2428362461160392, 0, 0, 0, 0, -61.6138886762047449, 0, -38.9140349533924704, 0, 0, 0, 0, 0, 0, -19.4570174766962352, 0, 778.280699067849409, 0, 62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, 0, 136.199122336873647, 0, -544.796489347494586, 0, -1307.51157443398701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68.0995611684368233, 0, -1089.59297869498917, 0, 2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.6998537228122744, 0, 272.398244673747293, 0, -435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -13/2 + 0, 0, 1.77617456229312929, 0, 0, 0, 0, -33.7473166835694566, 0, -21.3140947475175515, 0, 0, 0, 0, 0, 0, -10.6570473737587758, 0, 426.281894950351031, 0, 34.1025515960280824, 0, 0, 0, 0, 0, 0, 0, 0, 74.5993316163114303, 0, -298.397326465245721, 0, -716.153583516589731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37.2996658081557152, 0, -596.794652930491443, 0, 1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.4332219360519051, 0, 149.198663232622861, 0, -238.717861172196577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.296029093715521549, 0, 0, 3.55234912458625859, 0, 15.9855710606381636, 0, 0, 0, 0, 7.99278553031908182, 0, -207.812423788296127, 0, -85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, -223.797994848934291, 0, 1193.58930586098289, 0, 79.5726203907321924, 0, 0, 0, 0, 0, 0, 0, 0, -7.99278553031908182, 0, 223.797994848934291, 0, 0, 0, -1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.55234912458625859, 0, 207.812423788296127, 0, -1193.58930586098289, 0, 1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.296029093715521549, 0, -15.9855710606381636, 0, 85.2563789900702061, 0, -79.5726203907321924, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -11/2 + -0.179682844900943126, 0, 0, 2.15619413881131751, 0, 9.7028736246509288, 0, 0, 0, 0, 4.8514368123254644, 0, -126.137357120462074, 0, -51.7486593314716203, 0, 0, 0, 0, 0, 0, 0, 0, -135.840230745113003, 0, 724.481230640602684, 0, 48.2987487093735122, 0, 0, 0, 0, 0, 0, 0, 0, -4.8514368123254644, 0, 135.840230745113003, 0, 0, 0, -724.481230640602684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.15619413881131751, 0, 126.137357120462074, 0, -724.481230640602684, 0, 724.481230640602684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.179682844900943126, 0, -9.7028736246509288, 0, 51.7486593314716203, 0, -48.2987487093735122, 0, 0, 0, 0, 0, 0, + 0, 0, -3.23429120821697627, 0, 0, 0, 0, 22.6400384575188339, 0, 51.7486593314716203, 0, 0, 0, 0, 0, 0, 71.1544065807734779, 0, -413.989274651772962, 0, -144.896246128120537, 0, 0, 0, 0, 0, 0, 0, 0, 45.2800769150376677, 0, -724.481230640602684, 0, 1304.06621515308483, 0, 82.7978549303545924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16.1714560410848813, 0, 0, 0, 724.481230640602684, 0, -827.978549303545924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16.1714560410848813, 0, 258.743296657358101, 0, -724.481230640602684, 0, 413.989274651772962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -9/2 + 0, 0, -2.15619413881131751, 0, 0, 0, 0, 15.0933589716792226, 0, 34.4991062209810802, 0, 0, 0, 0, 0, 0, 47.4362710538489852, 0, -275.992849767848641, 0, -96.5974974187470245, 0, 0, 0, 0, 0, 0, 0, 0, 30.1867179433584452, 0, -482.987487093735122, 0, 869.37747676872322, 0, 55.1985699535697283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.7809706940565876, 0, 0, 0, 482.987487093735122, 0, -551.985699535697283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.7809706940565876, 0, 172.495531104905401, 0, -482.987487093735122, 0, 275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.269524267351414689, 0, 0, -0.539048534702829378, 0, -17.2495531104905401, 0, 0, 0, 0, -4.58191254497404971, 0, 51.7486593314716203, 0, 120.746871773433781, 0, 0, 0, 0, 0, 0, -7.54667948583961129, 0, 241.493743546867561, 0, -482.987487093735122, 0, -193.194994837494049, 0, 0, 0, 0, 0, 0, 0, 0, -4.58191254497404971, 0, 241.493743546867561, 0, -1207.46871773433781, 0, 965.974974187470245, 0, 68.9982124419621604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.539048534702829378, 0, 51.7486593314716203, 0, -482.987487093735122, 0, 965.974974187470245, 0, -413.989274651772962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.269524267351414689, 0, -17.2495531104905401, 0, 120.746871773433781, 0, -193.194994837494049, 0, 68.9982124419621604, 0, 0, 0, 0, + // j = 25/2, mj = -7/2 + 0.196107709933605223, 0, 0, -0.392215419867210446, 0, -12.5508934357507343, 0, 0, 0, 0, -3.33383106887128879, 0, 37.6526803072522028, 0, 87.8562540502551398, 0, 0, 0, 0, 0, 0, -5.49101587814094624, 0, 175.71250810051028, 0, -351.425016201020559, 0, -140.570006480408224, 0, 0, 0, 0, 0, 0, 0, 0, -3.33383106887128879, 0, 175.71250810051028, 0, -878.562540502551398, 0, 702.850032402041119, 0, 50.203573743002937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.392215419867210446, 0, 37.6526803072522028, 0, -351.425016201020559, 0, 702.850032402041119, 0, -301.221442458017622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.196107709933605223, 0, -12.5508934357507343, 0, 87.8562540502551398, 0, -140.570006480408224, 0, 50.203573743002937, 0, 0, 0, 0, + 0, 0, 3.13772335893768356, 0, 0, 0, 0, 3.13772335893768356, 0, -58.5708360335034265, 0, 0, 0, 0, 0, 0, -18.8263401536261014, 0, 0, 0, 210.855009720612336, 0, 0, 0, 0, 0, 0, 0, 0, -43.9281270251275699, 0, 351.425016201020559, 0, -210.855009720612336, 0, -200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -34.5149569483145192, 0, 468.566688268027412, 0, -1054.27504860306168, 0, 401.628589944023496, 0, 44.6253988826692774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.41317007681305069, 0, 175.71250810051028, 0, -632.565029161837007, 0, 602.442884916035244, 0, -133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -5/2 + 0, 0, 2.48058812043928146, 0, 0, 0, 0, 2.48058812043928146, 0, -46.3043115815332539, 0, 0, 0, 0, 0, 0, -14.8835287226356887, 0, 0, 0, 166.695521693519714, 0, 0, 0, 0, 0, 0, 0, 0, -34.7282336861499404, 0, 277.825869489199523, 0, -166.695521693519714, 0, -158.757639708114013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27.286469324832096, 0, 370.434492652266031, 0, -833.47760846759857, 0, 317.515279416228027, 0, 35.279475490692003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.44176436131784437, 0, 138.912934744599762, 0, -500.086565080559142, 0, 476.27291912434204, 0, -105.838426472076009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.248058812043928146, 0, 0, -0.992235248175712583, 0, 17.3641168430749702, 0, 0, 0, 0, -1.24029406021964073, 0, 52.0923505292249106, 0, -138.912934744599762, 0, 0, 0, 0, 0, 0, 0, 0, 34.7282336861499404, 0, -277.825869489199523, 0, 277.825869489199523, 0, 0, 0, 0, 0, 0, 0, 0, 1.24029406021964073, 0, -34.7282336861499404, 0, 0, 0, 277.825869489199523, 0, -158.757639708114013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.992235248175712583, 0, -52.0923505292249106, 0, 277.825869489199523, 0, -277.825869489199523, 0, 0, 0, 21.1676852944152018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.248058812043928146, 0, -17.3641168430749702, 0, 138.912934744599762, 0, -277.825869489199523, 0, 158.757639708114013, 0, -21.1676852944152018, 0, 0, + // j = 25/2, mj = -3/2 + -0.212424875592775713, 0, 0, -0.849699502371102853, 0, 14.8697412914942999, 0, 0, 0, 0, -1.06212437796387857, 0, 44.6092238744828998, 0, -118.957930331954399, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -237.915860663908799, 0, 237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, 1.06212437796387857, 0, -29.7394825829885999, 0, 0, 0, 237.915860663908799, 0, -135.951920379376457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.849699502371102853, 0, -44.6092238744828998, 0, 237.915860663908799, 0, -237.915860663908799, 0, 0, 0, 18.1269227172501942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.212424875592775713, 0, -14.8697412914942999, 0, 118.957930331954399, 0, -237.915860663908799, 0, 135.951920379376457, 0, -18.1269227172501942, 0, 0, + 0, 0, -2.97394825829885999, 0, 0, 0, 0, -14.8697412914942999, 0, 59.4789651659771997, 0, 0, 0, 0, 0, 0, -29.7394825829885999, 0, 237.915860663908799, 0, -237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, -29.7394825829885999, 0, 356.873790995863198, 0, -713.747581991726397, 0, 271.903840758752913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.8697412914942999, 0, 237.915860663908799, 0, -713.747581991726397, 0, 543.807681517505826, 0, -90.634613586250971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.97394825829885999, 0, 59.4789651659771997, 0, -237.915860663908799, 0, 271.903840758752913, 0, -90.634613586250971, 0, 6.59160826081825244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -1/2 + 0, 0, -2.7533410732166562, 0, 0, 0, 0, -13.766705366083281, 0, 55.066821464333124, 0, 0, 0, 0, 0, 0, -27.533410732166562, 0, 220.267285857332496, 0, -220.267285857332496, 0, 0, 0, 0, 0, 0, 0, 0, -27.533410732166562, 0, 330.400928785998744, 0, -660.801857571997488, 0, 251.734040979808567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.766705366083281, 0, 220.267285857332496, 0, -660.801857571997488, 0, 503.468081959617133, 0, -83.9113469932695222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.7533410732166562, 0, 55.066821464333124, 0, -220.267285857332496, 0, 251.734040979808567, 0, -83.9113469932695222, 0, 6.10264341769232889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.22944508943472135, 0, 0, 1.3766705366083281, 0, -16.5200464392999372, 0, 0, 0, 0, 3.44167634152082025, 0, -82.6002321964996859, 0, 137.66705366083281, 0, 0, 0, 0, 0, 0, 4.588901788694427, 0, -165.200464392999372, 0, 550.66821464333124, 0, -293.689714476443328, 0, 0, 0, 0, 0, 0, 0, 0, 3.44167634152082025, 0, -165.200464392999372, 0, 826.002321964996859, 0, -881.069143429329983, 0, 188.800530734856425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3766705366083281, 0, -82.6002321964996859, 0, 550.66821464333124, 0, -881.069143429329983, 0, 377.60106146971285, 0, -33.5645387973078089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22944508943472135, 0, -16.5200464392999372, 0, 137.66705366083281, 0, -293.689714476443328, 0, 188.800530734856425, 0, -33.5645387973078089, 0, 1.01710723628205481, + // j = 25/2, mj = 1/2 + 0.22944508943472135, 0, 0, 1.3766705366083281, 0, -16.5200464392999372, 0, 0, 0, 0, 3.44167634152082025, 0, -82.6002321964996859, 0, 137.66705366083281, 0, 0, 0, 0, 0, 0, 4.588901788694427, 0, -165.200464392999372, 0, 550.66821464333124, 0, -293.689714476443328, 0, 0, 0, 0, 0, 0, 0, 0, 3.44167634152082025, 0, -165.200464392999372, 0, 826.002321964996859, 0, -881.069143429329983, 0, 188.800530734856425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3766705366083281, 0, -82.6002321964996859, 0, 550.66821464333124, 0, -881.069143429329983, 0, 377.60106146971285, 0, -33.5645387973078089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22944508943472135, 0, -16.5200464392999372, 0, 137.66705366083281, 0, -293.689714476443328, 0, 188.800530734856425, 0, -33.5645387973078089, 0, 1.01710723628205481, + 0, 0, 2.7533410732166562, 0, 0, 0, 0, 13.766705366083281, 0, -55.066821464333124, 0, 0, 0, 0, 0, 0, 27.533410732166562, 0, -220.267285857332496, 0, 220.267285857332496, 0, 0, 0, 0, 0, 0, 0, 0, 27.533410732166562, 0, -330.400928785998744, 0, 660.801857571997488, 0, -251.734040979808567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.766705366083281, 0, -220.267285857332496, 0, 660.801857571997488, 0, -503.468081959617133, 0, 83.9113469932695222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.7533410732166562, 0, -55.066821464333124, 0, 220.267285857332496, 0, -251.734040979808567, 0, 83.9113469932695222, 0, -6.10264341769232889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 3/2 + 0, 0, 2.97394825829885999, 0, 0, 0, 0, 14.8697412914942999, 0, -59.4789651659771997, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -237.915860663908799, 0, 237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -356.873790995863198, 0, 713.747581991726397, 0, -271.903840758752913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.8697412914942999, 0, -237.915860663908799, 0, 713.747581991726397, 0, -543.807681517505826, 0, 90.634613586250971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.97394825829885999, 0, -59.4789651659771997, 0, 237.915860663908799, 0, -271.903840758752913, 0, 90.634613586250971, 0, -6.59160826081825244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.212424875592775713, 0, 0, -0.849699502371102853, 0, 14.8697412914942999, 0, 0, 0, 0, -1.06212437796387857, 0, 44.6092238744828998, 0, -118.957930331954399, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -237.915860663908799, 0, 237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, 1.06212437796387857, 0, -29.7394825829885999, 0, 0, 0, 237.915860663908799, 0, -135.951920379376457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.849699502371102853, 0, -44.6092238744828998, 0, 237.915860663908799, 0, -237.915860663908799, 0, 0, 0, 18.1269227172501942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.212424875592775713, 0, -14.8697412914942999, 0, 118.957930331954399, 0, -237.915860663908799, 0, 135.951920379376457, 0, -18.1269227172501942, 0, 0, + // j = 25/2, mj = 5/2 + -0.248058812043928146, 0, 0, -0.992235248175712583, 0, 17.3641168430749702, 0, 0, 0, 0, -1.24029406021964073, 0, 52.0923505292249106, 0, -138.912934744599762, 0, 0, 0, 0, 0, 0, 0, 0, 34.7282336861499404, 0, -277.825869489199523, 0, 277.825869489199523, 0, 0, 0, 0, 0, 0, 0, 0, 1.24029406021964073, 0, -34.7282336861499404, 0, 0, 0, 277.825869489199523, 0, -158.757639708114013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.992235248175712583, 0, -52.0923505292249106, 0, 277.825869489199523, 0, -277.825869489199523, 0, 0, 0, 21.1676852944152018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.248058812043928146, 0, -17.3641168430749702, 0, 138.912934744599762, 0, -277.825869489199523, 0, 158.757639708114013, 0, -21.1676852944152018, 0, 0, + 0, 0, -2.48058812043928146, 0, 0, 0, 0, -2.48058812043928146, 0, 46.3043115815332539, 0, 0, 0, 0, 0, 0, 14.8835287226356887, 0, 0, 0, -166.695521693519714, 0, 0, 0, 0, 0, 0, 0, 0, 34.7282336861499404, 0, -277.825869489199523, 0, 166.695521693519714, 0, 158.757639708114013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27.286469324832096, 0, -370.434492652266031, 0, 833.47760846759857, 0, -317.515279416228027, 0, -35.279475490692003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.44176436131784437, 0, -138.912934744599762, 0, 500.086565080559142, 0, -476.27291912434204, 0, 105.838426472076009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 7/2 + 0, 0, -3.13772335893768356, 0, 0, 0, 0, -3.13772335893768356, 0, 58.5708360335034265, 0, 0, 0, 0, 0, 0, 18.8263401536261014, 0, 0, 0, -210.855009720612336, 0, 0, 0, 0, 0, 0, 0, 0, 43.9281270251275699, 0, -351.425016201020559, 0, 210.855009720612336, 0, 200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.5149569483145192, 0, -468.566688268027412, 0, 1054.27504860306168, 0, -401.628589944023496, 0, -44.6253988826692774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.41317007681305069, 0, -175.71250810051028, 0, 632.565029161837007, 0, -602.442884916035244, 0, 133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.196107709933605223, 0, 0, -0.392215419867210446, 0, -12.5508934357507343, 0, 0, 0, 0, -3.33383106887128879, 0, 37.6526803072522028, 0, 87.8562540502551398, 0, 0, 0, 0, 0, 0, -5.49101587814094624, 0, 175.71250810051028, 0, -351.425016201020559, 0, -140.570006480408224, 0, 0, 0, 0, 0, 0, 0, 0, -3.33383106887128879, 0, 175.71250810051028, 0, -878.562540502551398, 0, 702.850032402041119, 0, 50.203573743002937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.392215419867210446, 0, 37.6526803072522028, 0, -351.425016201020559, 0, 702.850032402041119, 0, -301.221442458017622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.196107709933605223, 0, -12.5508934357507343, 0, 87.8562540502551398, 0, -140.570006480408224, 0, 50.203573743002937, 0, 0, 0, 0, + // j = 25/2, mj = 9/2 + 0.269524267351414689, 0, 0, -0.539048534702829378, 0, -17.2495531104905401, 0, 0, 0, 0, -4.58191254497404971, 0, 51.7486593314716203, 0, 120.746871773433781, 0, 0, 0, 0, 0, 0, -7.54667948583961129, 0, 241.493743546867561, 0, -482.987487093735122, 0, -193.194994837494049, 0, 0, 0, 0, 0, 0, 0, 0, -4.58191254497404971, 0, 241.493743546867561, 0, -1207.46871773433781, 0, 965.974974187470245, 0, 68.9982124419621604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.539048534702829378, 0, 51.7486593314716203, 0, -482.987487093735122, 0, 965.974974187470245, 0, -413.989274651772962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.269524267351414689, 0, -17.2495531104905401, 0, 120.746871773433781, 0, -193.194994837494049, 0, 68.9982124419621604, 0, 0, 0, 0, + 0, 0, 2.15619413881131751, 0, 0, 0, 0, -15.0933589716792226, 0, -34.4991062209810802, 0, 0, 0, 0, 0, 0, -47.4362710538489852, 0, 275.992849767848641, 0, 96.5974974187470245, 0, 0, 0, 0, 0, 0, 0, 0, -30.1867179433584452, 0, 482.987487093735122, 0, -869.37747676872322, 0, -55.1985699535697283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.7809706940565876, 0, 0, 0, -482.987487093735122, 0, 551.985699535697283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.7809706940565876, 0, -172.495531104905401, 0, 482.987487093735122, 0, -275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 11/2 + 0, 0, 3.23429120821697627, 0, 0, 0, 0, -22.6400384575188339, 0, -51.7486593314716203, 0, 0, 0, 0, 0, 0, -71.1544065807734779, 0, 413.989274651772962, 0, 144.896246128120537, 0, 0, 0, 0, 0, 0, 0, 0, -45.2800769150376677, 0, 724.481230640602684, 0, -1304.06621515308483, 0, -82.7978549303545924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.1714560410848813, 0, 0, 0, -724.481230640602684, 0, 827.978549303545924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.1714560410848813, 0, -258.743296657358101, 0, 724.481230640602684, 0, -413.989274651772962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.179682844900943126, 0, 0, 2.15619413881131751, 0, 9.7028736246509288, 0, 0, 0, 0, 4.8514368123254644, 0, -126.137357120462074, 0, -51.7486593314716203, 0, 0, 0, 0, 0, 0, 0, 0, -135.840230745113003, 0, 724.481230640602684, 0, 48.2987487093735122, 0, 0, 0, 0, 0, 0, 0, 0, -4.8514368123254644, 0, 135.840230745113003, 0, 0, 0, -724.481230640602684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.15619413881131751, 0, 126.137357120462074, 0, -724.481230640602684, 0, 724.481230640602684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.179682844900943126, 0, -9.7028736246509288, 0, 51.7486593314716203, 0, -48.2987487093735122, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 13/2 + -0.296029093715521549, 0, 0, 3.55234912458625859, 0, 15.9855710606381636, 0, 0, 0, 0, 7.99278553031908182, 0, -207.812423788296127, 0, -85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, -223.797994848934291, 0, 1193.58930586098289, 0, 79.5726203907321924, 0, 0, 0, 0, 0, 0, 0, 0, -7.99278553031908182, 0, 223.797994848934291, 0, 0, 0, -1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.55234912458625859, 0, 207.812423788296127, 0, -1193.58930586098289, 0, 1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.296029093715521549, 0, -15.9855710606381636, 0, 85.2563789900702061, 0, -79.5726203907321924, 0, 0, 0, 0, 0, 0, + 0, 0, -1.77617456229312929, 0, 0, 0, 0, 33.7473166835694566, 0, 21.3140947475175515, 0, 0, 0, 0, 0, 0, 10.6570473737587758, 0, -426.281894950351031, 0, -34.1025515960280824, 0, 0, 0, 0, 0, 0, 0, 0, -74.5993316163114303, 0, 298.397326465245721, 0, 716.153583516589731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37.2996658081557152, 0, 596.794652930491443, 0, -1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.4332219360519051, 0, -149.198663232622861, 0, 238.717861172196577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 15/2 + 0, 0, -3.2428362461160392, 0, 0, 0, 0, 61.6138886762047449, 0, 38.9140349533924704, 0, 0, 0, 0, 0, 0, 19.4570174766962352, 0, -778.280699067849409, 0, -62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, 0, -136.199122336873647, 0, 544.796489347494586, 0, 1307.51157443398701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68.0995611684368233, 0, 1089.59297869498917, 0, -2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.6998537228122744, 0, -272.398244673747293, 0, 435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.16214181230580196, 0, 0, -4.21568711995085096, 0, -6.48567249223207841, 0, 0, 0, 0, 2.4321271845870294, 0, 175.113157290266117, 0, 19.4570174766962352, 0, 0, 0, 0, 0, 0, 13.6199122336873647, 0, -272.398244673747293, 0, -544.796489347494586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.4321271845870294, 0, -272.398244673747293, 0, 1361.99122336873647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.21568711995085096, 0, 175.113157290266117, 0, -544.796489347494586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16214181230580196, 0, -6.48567249223207841, 0, 19.4570174766962352, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 17/2 + 0.332291833560202966, 0, 0, -8.63958767256527712, 0, -13.2916733424081186, 0, 0, 0, 0, 4.98437750340304449, 0, 358.875180245019203, 0, 39.8750200272243559, 0, 0, 0, 0, 0, 0, 27.9125140190570492, 0, -558.250280381140983, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.98437750340304449, 0, -558.250280381140983, 0, 2791.25140190570492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.63958767256527712, 0, 358.875180245019203, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.332291833560202966, 0, -13.2916733424081186, 0, 39.8750200272243559, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1.32916733424081186, 0, 0, 0, 0, -46.5208566984284153, 0, -8.86111556160541243, 0, 0, 0, 0, 0, 0, 119.625060081673068, 0, 319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55.8250280381140983, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -99.6875500680608898, 0, 744.333707174854644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.9625060081673068, 0, -79.7500400544487119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 19/2 + 0, 0, 3.11717370598279997, 0, 0, 0, 0, -109.101079709397999, 0, -20.7811580398853331, 0, 0, 0, 0, 0, 0, 280.545633538451997, 0, 748.121689435871992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130.921295651277599, 0, -2618.42591302555197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -233.788027948709998, 0, 1745.61727535036798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.0545633538451997, 0, -187.030422358967998, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -0.141689713908309089, 0, 0, 6.23434741196559994, 0, 3.11717370598279997, 0, 0, 0, 0, -23.3788027948709998, 0, -140.272816769225999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654.606478256387993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23.3788027948709998, 0, -654.606478256387993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.23434741196559994, 0, 140.272816769225999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.141689713908309089, 0, -3.11717370598279997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 21/2 + -0.392321052893598442, 0, 0, 17.2621263273183314, 0, 8.63106316365916572, 0, 0, 0, 0, -64.7329737274437429, 0, -388.397842364662457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1812.5232643684248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64.7329737274437429, 0, -1812.5232643684248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.2621263273183314, 0, 388.397842364662457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.392321052893598442, 0, -8.63106316365916572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -0.784642105787196884, 0, 0, 0, 0, 43.1553158182958286, 0, 0, 0, 0, 0, 0, 0, 0, -258.931894909774972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362.50465287368496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -129.465947454887486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.63106316365916572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 23/2 + 0, 0, -2.71807998596251762, 0, 0, 0, 0, 149.494399227938469, 0, 0, 0, 0, 0, 0, 0, 0, -896.966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1255.75295351468314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29.8988798455876938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0.113253332748438234, 0, 0, -7.47471996139692346, 0, 0, 0, 0, 0, 0, 56.0603997104769259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -104.646079459556928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56.0603997104769259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.47471996139692346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.113253332748438234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 25/2 + 0.566266663742191171, 0, 0, -37.3735998069846173, 0, 0, 0, 0, 0, 0, 280.30199855238463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -523.230397297784642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280.30199855238463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -37.3735998069846173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.566266663742191171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; +/* + * Imaginary part of cartesian to spinor transformation + */ + // trans_cart2jR +static dtype g_trans_cart2jI[] = { + 0, + 0, + 0, + 0, + 0, // p1/2 + 0.577350269189625764, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.577350269189625764, + 0, + 0, // p3/2 + 0, + 0, + 0, + -0.707106781186547524, + 0, + 0, + -0.408248290463863016, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.408248290463863016, + 0, + 0, + -0.707106781186547524, + 0, + 0, + 0, + 0, + 0, // d3/2 + 0.690988298942670958, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.345494149471335479, + 0, + 0, + 0, + 0, + 0, + 0.598413420602149016, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.598413420602149016, + 0, + 0, + 0, + 0, + 0, + 0.345494149471335479, + 0, + 0, + 0.690988298942670958, + 0, + 0, + 0, + 0, + 0, // d5/2 + 0, + 0, + 0, + 0, + 0, + 0, + -0.772548404046379160, + 0, + 0, + 0, + 0, + 0, + -0.345494149471335479, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.690988298942670958, + 0, + 0, + 0, + 0, + 0, + -0.488602511902919921, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.488602511902919921, + 0, + 0, + 0, + 0, + 0, + -0.690988298942670958, + 0, + 0, + 0.345494149471335479, + 0, + 0, + 0, + 0, + 0, + 0.772548404046379160, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, // f5/2 + 1.158822606069568741, + 0, + 0, + 0, + 0, + -0.386274202023189580, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.772548404046379160, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1.727470747356677396, + 0, + 0, + 0, + 0, + 0, + 0, + 0.172747074735667739, + 0, + 0, + 0, + 0, + 0.172747074735667739, + 0, + -0.690988298942670958, + 0, + 0, + -0.244301255951459960, + 0, + 0, + 0, + 0, + -0.244301255951459960, + 0, + 0.977205023805839843, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.244301255951459960, + 0, + 0, + 0, + 0, + 0.244301255951459960, + 0, + -0.977205023805839843, + 0, + 0, + -0.172747074735667739, + 0, + 0, + 0, + 0, + -0.172747074735667739, + 0, + 0.690988298942670958, + 0, + 0, + 0, + 0, + 0, + 1.727470747356677396, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -0.772548404046379160, + 0, + 0, + 0, + 0, + 0, + 0, + -1.158822606069568741, + 0, + 0, + 0, + 0, + 0.386274202023189580, + 0, + 0, + 0, + 0, // f7/2 + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1.251671470898352269, + 0, + 0, + 0, + 0, + 0.417223823632784089, + 0, + 0, + 0, + 0, + -0.473087347878780009, + 0, + 0, + 0, + 0, + 0.157695782626260003, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1.892349391515120036, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1.092548430592079070, + 0, + 0, + 0, + 0, + 0, + 0, + 0.273137107648019767, + 0, + 0, + 0, + 0, + 0.273137107648019767, + 0, + -1.092548430592079070, + 0, + 0, + 0.211571093830408607, + 0, + 0, + 0, + 0, + 0.211571093830408607, + 0, + -0.846284375321634430, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0.211571093830408607, + 0, + 0, + 0, + 0, + 0.211571093830408607, + 0, + -0.846284375321634430, + 0, + 0, + 0.273137107648019767, + 0, + 0, + 0, + 0, + 0.273137107648019767, + 0, + -1.092548430592079070, + 0, + 0, + 0, + 0, + 0, + 1.092548430592079070, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1.892349391515120036, + 0, + 0, + 0, + 0, + 0, + 0, + -0.473087347878780009, + 0, + 0, + 0, + 0, + 0.157695782626260003, + 0, + 0, + 0, + 0, + -1.251671470898352269, + 0, + 0, + 0, + 0, + 0.417223823632784089, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + // g7/2, -7/2 + 0, 1.668895294531136358, 0, 0, 0, 0, -1.668895294531136358, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.251671470898352269, 0, 0, 0, 0, 0, 0, 0.417223823632784089, 0, 0, 0, + // g7/2, -5/2 + 0, 0, 0, 0, 3.311611435151460063, 0, 0, 0, 0, 0, 0, -1.103870478383820021, 0, 0, 0, + 0, 0.315391565252520006, 0, 0, 0, 0, 0.315391565252520006, 0, -1.892349391515120036, 0, 0, 0, 0, 0, 0, + // g7/2, -3/2 + 0, -0.546274215296039535, 0, 0, 0, 0, -0.546274215296039535, 0, 3.277645291776237211, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0.819411322944059302, 0, 0, 0, 0, 0, 0, 0.819411322944059302, 0, -1.092548430592079070, 0, + // g7/2, -1/2 + 0, 0, 0, 0, -1.057855469152043038, 0, 0, 0, 0, 0, 0, -1.057855469152043038, 0, 1.410473958869390717, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // g7/2, 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1.057855469152043038, 0, 0, 0, 0, 0, 0, 1.057855469152043038, 0, -1.410473958869390717, 0, + // g7/2, 3/2 + 0, 0, 0, 0, -0.819411322944059302, 0, 0, 0, 0, 0, 0, -0.819411322944059302, 0, 1.092548430592079070, 0, + 0, -0.546274215296039535, 0, 0, 0, 0, -0.546274215296039535, 0, 3.277645291776237211, 0, 0, 0, 0, 0, 0, + // g7/2, 5/2 + 0, 0.315391565252520006, 0, 0, 0, 0, 0.315391565252520006, 0, -1.892349391515120036, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -3.311611435151460063, 0, 0, 0, 0, 0, 0, 1.103870478383820021, 0, 0, 0, + // g7/2, 7/2 + 0, 0, 0, 0, 1.251671470898352269, 0, 0, 0, 0, 0, 0, -0.417223823632784089, 0, 0, 0, + 0, 1.668895294531136358, 0, 0, 0, 0, -1.668895294531136358, 0, 0, 0, 0, 0, 0, 0, 0, + // g9/2, -9/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.770130769779930531, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 0, 0, + // g9/2, -7/2 + 0, -0.590043589926643510, 0, 0, 0, 0, 0.590043589926643510, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 1.180087179853287020, 0, 0, 0, + // g9/2, -5/2 + 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, 0.590043589926643510, 0, 0, 0, + 0, 0.590043589926643510, 0, 0, 0, 0, 0.590043589926643510, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, + // g9/2, -3/2 + 0, 0.386274202023189580, 0, 0, 0, 0, 0.386274202023189580, 0, -2.317645212139137482, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1.158822606069568741, 0, 0, 0, 0, 0, 0, 1.158822606069568741, 0, -1.545096808092758321, 0, + // g9/2, -1/2 + 0, 0, 0, 0, 0.946174695757560018, 0, 0, 0, 0, 0, 0, 0.946174695757560018, 0, -1.261566261010080024, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // g9/2, 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0.946174695757560018, 0, 0, 0, 0, 0, 0, 0.946174695757560018, 0, -1.261566261010080024, 0, + // g9/2, 3/2 + 0, 0, 0, 0, 1.158822606069568741, 0, 0, 0, 0, 0, 0, 1.158822606069568741, 0, -1.545096808092758321, 0, + 0, -0.386274202023189580, 0, 0, 0, 0, -0.386274202023189580, 0, 2.317645212139137482, 0, 0, 0, 0, 0, 0, + // g9/2, 5/2 + 0, -0.590043589926643510, 0, 0, 0, 0, -0.590043589926643510, 0, 3.540261539559861062, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, 0.590043589926643510, 0, 0, 0, + // g9/2, 7/2 + 0, 0, 0, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 1.180087179853287020, 0, 0, 0, + 0, 0.590043589926643510, 0, 0, 0, 0, -0.590043589926643510, 0, 0, 0, 0, 0, 0, 0, 0, + // g9/2, 9/2 + 0, 1.770130769779930531, 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, -9/2 + 0, 2.212663462224913163, 0, 0, 0, 0, -4.425326924449826327, 0, 0, 0, 0, 0, 0, 0, 0, 0.442532692444982632, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, -7/2 + 0, 0, 0, 0, 5.310392309339791593, 0, 0, 0, 0, 0, 0, -5.310392309339791593, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.442532692444982632, 0, 0, 0, 0, 0.295021794963321755, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, -0.147510897481660877, 0, 1.180087179853287020, 0, 0, 0, + // h9/2, -5/2 + 0, -0.885065384889965265, 0, 0, 0, 0, -0.590043589926643510, 0, 7.080523079119722124, 0, 0, 0, 0, 0, 0, 0.295021794963321755, 0, -2.360174359706574041, 0, 0, 0, + 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 1.770130769779930531, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 0, + // h9/2, -3/2 + 0, 0, 0, 0, -2.703919414162327062, 0, 0, 0, 0, 0, 0, -2.703919414162327062, 0, 5.407838828324654124, 0, 0, 0, 0, 0, 0, 0, + 0, -0.193137101011594790, 0, 0, 0, 0, -0.386274202023189580, 0, 2.317645212139137482, 0, 0, 0, 0, 0, 0, -0.193137101011594790, 0, 2.317645212139137482, 0, -1.545096808092758321, 0, + // h9/2, -1/2 + 0, 0.236543673939390004, 0, 0, 0, 0, 0.473087347878780009, 0, -2.838524087272680054, 0, 0, 0, 0, 0, 0, 0.236543673939390004, 0, -2.838524087272680054, 0, 1.892349391515120036, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.236543673939390004, 0, 0, 0, 0, -0.473087347878780009, 0, 2.838524087272680054, 0, 0, 0, 0, 0, 0, -0.236543673939390004, 0, 2.838524087272680054, 0, -1.892349391515120036, 0, + // h9/2, 3/2 + 0, 0.193137101011594790, 0, 0, 0, 0, 0.386274202023189580, 0, -2.317645212139137482, 0, 0, 0, 0, 0, 0, 0.193137101011594790, 0, -2.317645212139137482, 0, 1.545096808092758321, 0, + 0, 0, 0, 0, -2.703919414162327062, 0, 0, 0, 0, 0, 0, -2.703919414162327062, 0, 5.407838828324654124, 0, 0, 0, 0, 0, 0, 0, + // h9/2, 5/2 + 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 1.770130769779930531, 0, -3.540261539559861062, 0, 0, 0, 0, 0, 0, 0, + 0, 0.885065384889965265, 0, 0, 0, 0, 0.590043589926643510, 0, -7.080523079119722124, 0, 0, 0, 0, 0, 0, -0.295021794963321755, 0, 2.360174359706574041, 0, 0, 0, + // h9/2, 7/2 + 0, -0.442532692444982632, 0, 0, 0, 0, -0.295021794963321755, 0, 3.540261539559861062, 0, 0, 0, 0, 0, 0, 0.147510897481660877, 0, -1.180087179853287020, 0, 0, 0, + 0, 0, 0, 0, 5.310392309339791593, 0, 0, 0, 0, 0, 0, -5.310392309339791593, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h9/2, 9/2 + 0, 0, 0, 0, -1.770130769779930531, 0, 0, 0, 0, 0, 0, 1.770130769779930531, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.212663462224913163, 0, 0, 0, 0, 4.425326924449826327, 0, 0, 0, 0, 0, 0, 0, 0, -0.442532692444982632, 0, 0, 0, 0, 0, + // h11/2, -11/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.320661017204290803, 0, 0, 0, 0, 4.641322034408581606, 0, 0, 0, 0, 0, 0, 0, 0, -0.464132203440858160, 0, 0, 0, 0, 0, + // h11/2, -9/2 + 0, -0.699705623606466358, 0, 0, 0, 0, 1.399411247212932717, 0, 0, 0, 0, 0, 0, 0, 0, -0.139941124721293271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -5.597644988851730871, 0, 0, 0, 0, 0, 0, 5.597644988851730871, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, -7/2 + 0, 0, 0, 0, -2.503342941796704538, 0, 0, 0, 0, 0, 0, 2.503342941796704538, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.938753603173764201, 0, 0, 0, 0, 0.625835735449176134, 0, -7.510028825390113615, 0, 0, 0, 0, 0, 0, -0.312917867724588067, 0, 2.503342941796704538, 0, 0, 0, + // h11/2, -5/2 + 0, 0.541989645495103885, 0, 0, 0, 0, 0.361326430330069256, 0, -4.335917163960831083, 0, 0, 0, 0, 0, 0, -0.180663215165034628, 0, 1.445305721320277027, 0, 0, 0, + 0, 0, 0, 0, 2.890611442640554055, 0, 0, 0, 0, 0, 0, 2.890611442640554055, 0, -5.781222885281108110, 0, 0, 0, 0, 0, 0, 0, + // h11/2, -3/2 + 0, 0, 0, 0, 2.043970952866564726, 0, 0, 0, 0, 0, 0, 2.043970952866564726, 0, -4.087941905733129453, 0, 0, 0, 0, 0, 0, 0, + 0, -0.255496369108320590, 0, 0, 0, 0, -0.510992738216641181, 0, 3.065956429299847090, 0, 0, 0, 0, 0, 0, -0.255496369108320590, 0, 3.065956429299847090, 0, -2.043970952866564726, 0, + // h11/2, -1/2 + 0, -0.215933843419584674, 0, 0, 0, 0, -0.431867686839169349, 0, 2.591206121035016094, 0, 0, 0, 0, 0, 0, -0.215933843419584674, 0, 2.591206121035016094, 0, -1.727470747356677396, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.215933843419584674, 0, 0, 0, 0, -0.431867686839169349, 0, 2.591206121035016094, 0, 0, 0, 0, 0, 0, -0.215933843419584674, 0, 2.591206121035016094, 0, -1.727470747356677396, 0, + // h11/2, 3/2 + 0, -0.255496369108320590, 0, 0, 0, 0, -0.510992738216641181, 0, 3.065956429299847090, 0, 0, 0, 0, 0, 0, -0.255496369108320590, 0, 3.065956429299847090, 0, -2.043970952866564726, 0, + 0, 0, 0, 0, -2.043970952866564726, 0, 0, 0, 0, 0, 0, -2.043970952866564726, 0, 4.087941905733129453, 0, 0, 0, 0, 0, 0, 0, + // h11/2, 5/2 + 0, 0, 0, 0, -2.890611442640554055, 0, 0, 0, 0, 0, 0, -2.890611442640554055, 0, 5.781222885281108110, 0, 0, 0, 0, 0, 0, 0, + 0, 0.541989645495103885, 0, 0, 0, 0, 0.361326430330069256, 0, -4.335917163960831083, 0, 0, 0, 0, 0, 0, -0.180663215165034628, 0, 1.445305721320277027, 0, 0, 0, + // h11/2, 7/2 + 0, 0.938753603173764201, 0, 0, 0, 0, 0.625835735449176134, 0, -7.510028825390113615, 0, 0, 0, 0, 0, 0, -0.312917867724588067, 0, 2.503342941796704538, 0, 0, 0, + 0, 0, 0, 0, 2.503342941796704538, 0, 0, 0, 0, 0, 0, -2.503342941796704538, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // h11/2, 9/2 + 0, 0, 0, 0, 5.597644988851730871, 0, 0, 0, 0, 0, 0, -5.597644988851730871, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.699705623606466358, 0, 0, 0, 0, 1.399411247212932717, 0, 0, 0, 0, 0, 0, 0, 0, -0.139941124721293271, 0, 0, 0, 0, 0, + // h11/2, 11/2 + 0, -2.320661017204290803, 0, 0, 0, 0, 4.641322034408581606, 0, 0, 0, 0, 0, 0, 0, 0, -0.464132203440858160, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-11/2 + 0, 2.7847932206451498, 0, 0, 0, 0, -9.2826440688171665, 0, 0, 0, 0, 0, 0, 0, 0, 2.7847932206451498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2.3206610172042916, 0, 0, 0, 0, 0, 0, 4.6413220344085833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4641322034408583, 0, 0, 0, 0, 0, + //i11/2,-9/2 + 0, 0, 0, 0, 7.6967618596711320, 0, 0, 0, 0, 0, 0, -15.3935237193422640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.5393523719342264, 0, 0, 0, 0, 0, + 0, 0.5597644988851730, 0, 0, 0, 0, 0, 0, -5.5976449888517319, 0, 0, 0, 0, 0, 0, -0.5597644988851730, 0, 5.5976449888517319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-7/2 + 0, -1.2516714708983521, 0, 0, 0, 0, 0, 0, 12.5167147089835247, 0, 0, 0, 0, 0, 0, 1.2516714708983521, 0, -12.5167147089835247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.8162608095212929, 0, 0, 0, 0, 0, 0, 1.8775072063475287, 0, -7.5100288253901146, 0, 0, 0, 0, 0, 0, 0, 0, -0.9387536031737643, 0, 2.5033429417967050, 0, 0, 0, + //i11/2,-5/2 + 0, 0, 0, 0, -4.8779068094559346, 0, 0, 0, 0, 0, 0, -3.2519378729706236, 0, 13.0077514918824946, 0, 0, 0, 0, 0, 0, 0, 0, 1.6259689364853118, 0, -4.3359171639608318, 0, 0, 0, + 0, -0.3613264303300693, 0, 0, 0, 0, -0.7226528606601387, 0, 5.7812228852811094, 0, 0, 0, 0, 0, 0, -0.3613264303300693, 0, 5.7812228852811094, 0, -5.7812228852811094, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,-3/2 + 0, 0.5109927382166413, 0, 0, 0, 0, 1.0219854764332825, 0, -8.1758838114662602, 0, 0, 0, 0, 0, 0, 0.5109927382166413, 0, -8.1758838114662602, 0, 8.1758838114662602, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.2774818455416030, 0, 0, 0, 0, 0, 0, -2.5549636910832061, 0, 5.1099273821664122, 0, 0, 0, 0, 0, 0, 0, 0, -1.2774818455416030, 0, 5.1099273821664122, 0, -2.0439709528665646, 0, + //i11/2,-1/2 + 0, 0, 0, 0, 1.5115369039370925, 0, 0, 0, 0, 0, 0, 3.0230738078741850, 0, -6.0461476157483700, 0, 0, 0, 0, 0, 0, 0, 0, 1.5115369039370925, 0, -6.0461476157483700, 0, 2.4184590462993478, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.5115369039370925, 0, 0, 0, 0, 0, 0, -3.0230738078741850, 0, 6.0461476157483700, 0, 0, 0, 0, 0, 0, 0, 0, -1.5115369039370925, 0, 6.0461476157483700, 0, -2.4184590462993478, 0, + //i11/2,3/2 + 0, 0, 0, 0, 1.2774818455416030, 0, 0, 0, 0, 0, 0, 2.5549636910832061, 0, -5.1099273821664122, 0, 0, 0, 0, 0, 0, 0, 0, 1.2774818455416030, 0, -5.1099273821664122, 0, 2.0439709528665646, 0, + 0, 0.5109927382166413, 0, 0, 0, 0, 1.0219854764332825, 0, -8.1758838114662602, 0, 0, 0, 0, 0, 0, 0.5109927382166413, 0, -8.1758838114662602, 0, 8.1758838114662602, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,5/2 + 0, -0.3613264303300693, 0, 0, 0, 0, -0.7226528606601387, 0, 5.7812228852811094, 0, 0, 0, 0, 0, 0, -0.3613264303300693, 0, 5.7812228852811094, 0, -5.7812228852811094, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4.8779068094559346, 0, 0, 0, 0, 0, 0, 3.2519378729706236, 0, -13.0077514918824946, 0, 0, 0, 0, 0, 0, 0, 0, -1.6259689364853118, 0, 4.3359171639608318, 0, 0, 0, + //i11/2,7/2 + 0, 0, 0, 0, -2.8162608095212929, 0, 0, 0, 0, 0, 0, -1.8775072063475287, 0, 7.5100288253901146, 0, 0, 0, 0, 0, 0, 0, 0, 0.9387536031737643, 0, -2.5033429417967050, 0, 0, 0, + 0, -1.2516714708983521, 0, 0, 0, 0, 0, 0, 12.5167147089835247, 0, 0, 0, 0, 0, 0, 1.2516714708983521, 0, -12.5167147089835247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i11/2,9/2 + 0, 0.5597644988851730, 0, 0, 0, 0, 0, 0, -5.5976449888517319, 0, 0, 0, 0, 0, 0, -0.5597644988851730, 0, 5.5976449888517319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -7.6967618596711320, 0, 0, 0, 0, 0, 0, 15.3935237193422640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.5393523719342264, 0, 0, 0, 0, 0, + //i11/2,11/2 + 0, 0, 0, 0, 2.3206610172042916, 0, 0, 0, 0, 0, 0, -4.6413220344085833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4641322034408583, 0, 0, 0, 0, 0, + 0, 2.7847932206451498, 0, 0, 0, 0, -9.2826440688171665, 0, 0, 0, 0, 0, 0, 0, 0, 2.7847932206451498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-13/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.8985046814803979, 0, 0, 0, 0, 9.6616822716013271, 0, 0, 0, 0, 0, 0, 0, 0, -2.8985046814803979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-11/2 + 0, -0.8039005577884609, 0, 0, 0, 0, 2.6796685259615369, 0, 0, 0, 0, 0, 0, 0, 0, -0.8039005577884609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8.0390055778846108, 0, 0, 0, 0, 0, 0, 16.0780111557692216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.6078011155769223, 0, 0, 0, 0, 0, + //i13/2,-9/2 + 0, 0, 0, 0, -3.2819102842008516, 0, 0, 0, 0, 0, 0, 6.5638205684017032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6563820568401703, 0, 0, 0, 0, 0, + 0, 1.3127641136803401, 0, 0, 0, 0, 0, 0, -13.1276411368034029, 0, 0, 0, 0, 0, 0, -1.3127641136803401, 0, 13.1276411368034029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-7/2 + 0, 0.6855686991966986, 0, 0, 0, 0, 0, 0, -6.8556869919669872, 0, 0, 0, 0, 0, 0, -0.6855686991966986, 0, 6.8556869919669872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5.1417652439752395, 0, 0, 0, 0, 0, 0, 3.4278434959834931, 0, -13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, -1.7139217479917466, 0, 4.5704579946446584, 0, 0, 0, + //i13/2,-5/2 + 0, 0, 0, 0, 3.2519378729706232, 0, 0, 0, 0, 0, 0, 2.1679585819804159, 0, -8.6718343279216636, 0, 0, 0, 0, 0, 0, 0, 0, -1.0839792909902080, 0, 2.8906114426405547, 0, 0, 0, + 0, -0.5419896454951040, 0, 0, 0, 0, -1.0839792909902080, 0, 8.6718343279216636, 0, 0, 0, 0, 0, 0, -0.5419896454951040, 0, 8.6718343279216636, 0, -8.6718343279216636, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,-3/2 + 0, -0.4039752301426884, 0, 0, 0, 0, -0.8079504602853768, 0, 6.4636036822830141, 0, 0, 0, 0, 0, 0, -0.4039752301426884, 0, 6.4636036822830141, 0, -6.4636036822830141, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.6159009205707533, 0, 0, 0, 0, 0, 0, -3.2318018411415066, 0, 6.4636036822830132, 0, 0, 0, 0, 0, 0, 0, 0, -1.6159009205707533, 0, 6.4636036822830132, 0, -2.5854414729132049, 0, + //i13/2,-1/2 + 0, 0, 0, 0, -1.3994112472129328, 0, 0, 0, 0, 0, 0, -2.7988224944258655, 0, 5.5976449888517310, 0, 0, 0, 0, 0, 0, 0, 0, -1.3994112472129328, 0, 5.5976449888517310, 0, -2.2390579955406920, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1.3994112472129328, 0, 0, 0, 0, 0, 0, -2.7988224944258655, 0, 5.5976449888517310, 0, 0, 0, 0, 0, 0, 0, 0, -1.3994112472129328, 0, 5.5976449888517310, 0, -2.2390579955406920, 0, + //i13/2,3/2 + 0, 0, 0, 0, -1.6159009205707533, 0, 0, 0, 0, 0, 0, -3.2318018411415066, 0, 6.4636036822830132, 0, 0, 0, 0, 0, 0, 0, 0, -1.6159009205707533, 0, 6.4636036822830132, 0, -2.5854414729132049, 0, + 0, 0.4039752301426884, 0, 0, 0, 0, 0.8079504602853768, 0, -6.4636036822830141, 0, 0, 0, 0, 0, 0, 0.4039752301426884, 0, -6.4636036822830141, 0, 6.4636036822830141, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,5/2 + 0, 0.5419896454951040, 0, 0, 0, 0, 1.0839792909902080, 0, -8.6718343279216636, 0, 0, 0, 0, 0, 0, 0.5419896454951040, 0, -8.6718343279216636, 0, 8.6718343279216636, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3.2519378729706232, 0, 0, 0, 0, 0, 0, 2.1679585819804159, 0, -8.6718343279216636, 0, 0, 0, 0, 0, 0, 0, 0, -1.0839792909902080, 0, 2.8906114426405547, 0, 0, 0, + //i13/2,7/2 + 0, 0, 0, 0, 5.1417652439752395, 0, 0, 0, 0, 0, 0, 3.4278434959834931, 0, -13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, -1.7139217479917466, 0, 4.5704579946446584, 0, 0, 0, + 0, -0.6855686991966986, 0, 0, 0, 0, 0, 0, 6.8556869919669872, 0, 0, 0, 0, 0, 0, 0.6855686991966986, 0, -6.8556869919669872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,9/2 + 0, -1.3127641136803401, 0, 0, 0, 0, 0, 0, 13.1276411368034029, 0, 0, 0, 0, 0, 0, 1.3127641136803401, 0, -13.1276411368034029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -3.2819102842008516, 0, 0, 0, 0, 0, 0, 6.5638205684017032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6563820568401703, 0, 0, 0, 0, 0, + //i13/2,11/2 + 0, 0, 0, 0, -8.0390055778846108, 0, 0, 0, 0, 0, 0, 16.0780111557692216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.6078011155769223, 0, 0, 0, 0, 0, + 0, 0.8039005577884609, 0, 0, 0, 0, -2.6796685259615369, 0, 0, 0, 0, 0, 0, 0, 0, 0.8039005577884609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //i13/2,13/2 + 0, 2.8985046814803979, 0, 0, 0, 0, -9.6616822716013271, 0, 0, 0, 0, 0, 0, 0, 0, 2.8985046814803979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-13/2 + 0, 3.3815887950604644, 0, 0, 0, 0, -16.9079439753023237, 0, 0, 0, 0, 0, 0, 0, 0, 10.1447663851813932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.4830841135800663, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2.8985046814803970, 0, 0, 0, 0, 0, 0, 9.6616822716013235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.8985046814803970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-11/2 + 0, 0, 0, 0, 10.4507072512499910, 0, 0, 0, 0, 0, 0, -34.8356908374999676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.4507072512499910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.6699171314903840, 0, 0, 0, 0, -0.6699171314903840, 0, -8.0390055778846072, 0, 0, 0, 0, 0, 0, -1.2058508366826914, 0, 16.0780111557692145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1339834262980768, 0, -1.6078011155769216, 0, 0, 0, 0, 0, + //j13/2,-9/2 + 0, -1.6409551421004256, 0, 0, 0, 0, 1.6409551421004256, 0, 19.6914617052051071, 0, 0, 0, 0, 0, 0, 2.9537192557807663, 0, -39.3829234104102142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.3281910284200851, 0, 3.9382923410410213, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3.9382923410410213, 0, 0, 0, 0, 0, 0, 0, 0, -13.1276411368034047, 0, 0, 0, 0, 0, 0, 0, 0, -3.9382923410410213, 0, 13.1276411368034047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-7/2 + 0, 0, 0, 0, -7.5412556911636850, 0, 0, 0, 0, 0, 0, 0, 0, 25.1375189705456172, 0, 0, 0, 0, 0, 0, 0, 0, 7.5412556911636850, 0, -25.1375189705456172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.5141765243975239, 0, 0, 0, 0, -0.8569608739958733, 0, 10.2835304879504772, 0, 0, 0, 0, 0, 0, -0.1713921747991747, 0, 6.8556869919669845, 0, -13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, 0.1713921747991747, 0, -3.4278434959834923, 0, 4.5704579946446575, 0, 0, 0, + //j13/2,-5/2 + 0, 0.8129844682426559, 0, 0, 0, 0, 1.3549741137377600, 0, -16.2596893648531164, 0, 0, 0, 0, 0, 0, 0.2709948227475520, 0, -10.8397929099020782, 0, 21.6795858198041600, 0, 0, 0, 0, 0, 0, 0, 0, -0.2709948227475520, 0, 5.4198964549510391, 0, -7.2265286066013861, 0, 0, 0, + 0, 0, 0, 0, -2.7099482274755200, 0, 0, 0, 0, 0, 0, -5.4198964549510400, 0, 14.4530572132027721, 0, 0, 0, 0, 0, 0, 0, 0, -2.7099482274755200, 0, 14.4530572132027721, 0, -8.6718343279216654, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,-3/2 + 0, 0, 0, 0, 3.6357770712841964, 0, 0, 0, 0, 0, 0, 7.2715541425683927, 0, -19.3908110468490449, 0, 0, 0, 0, 0, 0, 0, 0, 3.6357770712841964, 0, -19.3908110468490449, 0, 11.6344866281094284, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.2019876150713442, 0, 0, 0, 0, 0.6059628452140327, 0, -4.8477027617122603, 0, 0, 0, 0, 0, 0, 0.6059628452140327, 0, -9.6954055234245207, 0, 9.6954055234245207, 0, 0, 0, 0, 0, 0, 0, 0, 0.2019876150713442, 0, -4.8477027617122603, 0, 9.6954055234245207, 0, -2.5854414729132063, 0, + //j13/2,-1/2 + 0, -0.2332352078688221, 0, 0, 0, 0, -0.6997056236064664, 0, 5.5976449888517301, 0, 0, 0, 0, 0, 0, -0.6997056236064664, 0, 11.1952899777034602, 0, -11.1952899777034602, 0, 0, 0, 0, 0, 0, 0, 0, -0.2332352078688221, 0, 5.5976449888517301, 0, -11.1952899777034602, 0, 2.9854106607209236, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.2332352078688221, 0, 0, 0, 0, 0.6997056236064664, 0, -5.5976449888517301, 0, 0, 0, 0, 0, 0, 0.6997056236064664, 0, -11.1952899777034602, 0, 11.1952899777034602, 0, 0, 0, 0, 0, 0, 0, 0, 0.2332352078688221, 0, -5.5976449888517301, 0, 11.1952899777034602, 0, -2.9854106607209236, 0, + //j13/2,3/2 + 0, -0.2019876150713442, 0, 0, 0, 0, -0.6059628452140327, 0, 4.8477027617122603, 0, 0, 0, 0, 0, 0, -0.6059628452140327, 0, 9.6954055234245207, 0, -9.6954055234245207, 0, 0, 0, 0, 0, 0, 0, 0, -0.2019876150713442, 0, 4.8477027617122603, 0, -9.6954055234245207, 0, 2.5854414729132063, 0, + 0, 0, 0, 0, 3.6357770712841964, 0, 0, 0, 0, 0, 0, 7.2715541425683927, 0, -19.3908110468490449, 0, 0, 0, 0, 0, 0, 0, 0, 3.6357770712841964, 0, -19.3908110468490449, 0, 11.6344866281094284, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,5/2 + 0, 0, 0, 0, -2.7099482274755200, 0, 0, 0, 0, 0, 0, -5.4198964549510400, 0, 14.4530572132027721, 0, 0, 0, 0, 0, 0, 0, 0, -2.7099482274755200, 0, 14.4530572132027721, 0, -8.6718343279216654, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.8129844682426559, 0, 0, 0, 0, -1.3549741137377600, 0, 16.2596893648531164, 0, 0, 0, 0, 0, 0, -0.2709948227475520, 0, 10.8397929099020782, 0, -21.6795858198041600, 0, 0, 0, 0, 0, 0, 0, 0, 0.2709948227475520, 0, -5.4198964549510391, 0, 7.2265286066013861, 0, 0, 0, + //j13/2,7/2 + 0, 0.5141765243975239, 0, 0, 0, 0, 0.8569608739958733, 0, -10.2835304879504772, 0, 0, 0, 0, 0, 0, 0.1713921747991747, 0, -6.8556869919669845, 0, 13.7113739839339726, 0, 0, 0, 0, 0, 0, 0, 0, -0.1713921747991747, 0, 3.4278434959834923, 0, -4.5704579946446575, 0, 0, 0, + 0, 0, 0, 0, -7.5412556911636850, 0, 0, 0, 0, 0, 0, 0, 0, 25.1375189705456172, 0, 0, 0, 0, 0, 0, 0, 0, 7.5412556911636850, 0, -25.1375189705456172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,9/2 + 0, 0, 0, 0, 3.9382923410410213, 0, 0, 0, 0, 0, 0, 0, 0, -13.1276411368034047, 0, 0, 0, 0, 0, 0, 0, 0, -3.9382923410410213, 0, 13.1276411368034047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.6409551421004256, 0, 0, 0, 0, -1.6409551421004256, 0, -19.6914617052051071, 0, 0, 0, 0, 0, 0, -2.9537192557807663, 0, 39.3829234104102142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3281910284200851, 0, -3.9382923410410213, 0, 0, 0, 0, 0, + //j13/2,11/2 + 0, -0.6699171314903840, 0, 0, 0, 0, 0.6699171314903840, 0, 8.0390055778846072, 0, 0, 0, 0, 0, 0, 1.2058508366826914, 0, -16.0780111557692145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.1339834262980768, 0, 1.6078011155769216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10.4507072512499910, 0, 0, 0, 0, 0, 0, -34.8356908374999676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.4507072512499910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j13/2,13/2 + 0, 0, 0, 0, -2.8985046814803970, 0, 0, 0, 0, 0, 0, 9.6616822716013235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.8985046814803970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3.3815887950604644, 0, 0, 0, 0, 16.9079439753023237, 0, 0, 0, 0, 0, 0, 0, 0, -10.1447663851813932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4830841135800663, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-15/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3.5002769449938556, 0, 0, 0, 0, 17.5013847249692773, 0, 0, 0, 0, 0, 0, 0, 0, -10.5008308349815653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5000395635705508, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-13/2 + 0, -0.9037676210049984, 0, 0, 0, 0, 4.5188381050249919, 0, 0, 0, 0, 0, 0, 0, 0, -2.7113028630149949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1291096601435712, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -10.8452114520599796, 0, 0, 0, 0, 0, 0, 36.1507048401999356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.8452114520599796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-11/2 + 0, 0, 0, 0, -4.0991046311514854, 0, 0, 0, 0, 0, 0, 13.6636821038382852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.0991046311514854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.7079602629797861, 0, 0, 0, 0, -1.7079602629797861, 0, -20.4955231557574322, 0, 0, 0, 0, 0, 0, -3.0743284733636154, 0, 40.9910463115148644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3415920525959572, 0, -4.0991046311514863, 0, 0, 0, 0, 0, + //j15/2,-9/2 + 0, 0.8204775710502128, 0, 0, 0, 0, -0.8204775710502128, 0, -9.8457308526025535, 0, 0, 0, 0, 0, 0, -1.4768596278903832, 0, 19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1640955142100426, 0, -1.9691461705205107, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7.8765846820820427, 0, 0, 0, 0, 0, 0, 0, 0, -26.2552822736068094, 0, 0, 0, 0, 0, 0, 0, 0, -7.8765846820820427, 0, 26.2552822736068094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-7/2 + 0, 0, 0, 0, 4.5475482864949495, 0, 0, 0, 0, 0, 0, 0, 0, -15.1584942883164988, 0, 0, 0, 0, 0, 0, 0, 0, -4.5475482864949495, 0, 15.1584942883164988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.8526653037178029, 0, 0, 0, 0, -1.4211088395296716, 0, 17.0533060743560583, 0, 0, 0, 0, 0, 0, -0.2842217679059343, 0, 11.3688707162373710, 0, -22.7377414324747456, 0, 0, 0, 0, 0, 0, 0, 0, 0.2842217679059343, 0, -5.6844353581186855, 0, 7.5792471441582485, 0, 0, 0, + //j15/2,-5/2 + 0, -0.5748668304937213, 0, 0, 0, 0, -0.9581113841562022, 0, 11.4973366098744254, 0, 0, 0, 0, 0, 0, -0.1916222768312404, 0, 7.6648910732496169, 0, -15.3297821464992357, 0, 0, 0, 0, 0, 0, 0, 0, 0.1916222768312404, 0, -3.8324455366248085, 0, 5.1099273821664122, 0, 0, 0, + 0, 0, 0, 0, -3.8324455366248107, 0, 0, 0, 0, 0, 0, -7.6648910732496214, 0, 20.4397095286656523, 0, 0, 0, 0, 0, 0, 0, 0, -3.8324455366248107, 0, 20.4397095286656523, 0, -12.2638257171993938, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,-3/2 + 0, 0, 0, 0, -2.9685995477189673, 0, 0, 0, 0, 0, 0, -5.9371990954379346, 0, 15.8325309211678249, 0, 0, 0, 0, 0, 0, 0, 0, -2.9685995477189673, 0, 15.8325309211678249, 0, -9.4995185527006960, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.2473832956432473, 0, 0, 0, 0, 0.7421498869297418, 0, -5.9371990954379337, 0, 0, 0, 0, 0, 0, 0.7421498869297418, 0, -11.8743981908758673, 0, 11.8743981908758673, 0, 0, 0, 0, 0, 0, 0, 0, 0.2473832956432473, 0, -5.9371990954379337, 0, 11.8743981908758673, 0, -3.1665061842335653, 0, + //j15/2,-1/2 + 0, 0.2181715595945335, 0, 0, 0, 0, 0.6545146787836006, 0, -5.2361174302688038, 0, 0, 0, 0, 0, 0, 0.6545146787836006, 0, -10.4722348605376077, 0, 10.4722348605376077, 0, 0, 0, 0, 0, 0, 0, 0, 0.2181715595945335, 0, -5.2361174302688038, 0, 10.4722348605376077, 0, -2.7925959628100294, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.2181715595945335, 0, 0, 0, 0, 0.6545146787836006, 0, -5.2361174302688038, 0, 0, 0, 0, 0, 0, 0.6545146787836006, 0, -10.4722348605376077, 0, 10.4722348605376077, 0, 0, 0, 0, 0, 0, 0, 0, 0.2181715595945335, 0, -5.2361174302688038, 0, 10.4722348605376077, 0, -2.7925959628100294, 0, + //j15/2,3/2 + 0, 0.2473832956432473, 0, 0, 0, 0, 0.7421498869297418, 0, -5.9371990954379337, 0, 0, 0, 0, 0, 0, 0.7421498869297418, 0, -11.8743981908758673, 0, 11.8743981908758673, 0, 0, 0, 0, 0, 0, 0, 0, 0.2473832956432473, 0, -5.9371990954379337, 0, 11.8743981908758673, 0, -3.1665061842335653, 0, + 0, 0, 0, 0, 2.9685995477189673, 0, 0, 0, 0, 0, 0, 5.9371990954379346, 0, -15.8325309211678249, 0, 0, 0, 0, 0, 0, 0, 0, 2.9685995477189673, 0, -15.8325309211678249, 0, 9.4995185527006960, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,5/2 + 0, 0, 0, 0, 3.8324455366248107, 0, 0, 0, 0, 0, 0, 7.6648910732496214, 0, -20.4397095286656523, 0, 0, 0, 0, 0, 0, 0, 0, 3.8324455366248107, 0, -20.4397095286656523, 0, 12.2638257171993938, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.5748668304937213, 0, 0, 0, 0, -0.9581113841562022, 0, 11.4973366098744254, 0, 0, 0, 0, 0, 0, -0.1916222768312404, 0, 7.6648910732496169, 0, -15.3297821464992357, 0, 0, 0, 0, 0, 0, 0, 0, 0.1916222768312404, 0, -3.8324455366248085, 0, 5.1099273821664122, 0, 0, 0, + //j15/2,7/2 + 0, -0.8526653037178029, 0, 0, 0, 0, -1.4211088395296716, 0, 17.0533060743560583, 0, 0, 0, 0, 0, 0, -0.2842217679059343, 0, 11.3688707162373710, 0, -22.7377414324747456, 0, 0, 0, 0, 0, 0, 0, 0, 0.2842217679059343, 0, -5.6844353581186855, 0, 7.5792471441582485, 0, 0, 0, + 0, 0, 0, 0, -4.5475482864949495, 0, 0, 0, 0, 0, 0, 0, 0, 15.1584942883164988, 0, 0, 0, 0, 0, 0, 0, 0, 4.5475482864949495, 0, -15.1584942883164988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,9/2 + 0, 0, 0, 0, -7.8765846820820427, 0, 0, 0, 0, 0, 0, 0, 0, 26.2552822736068094, 0, 0, 0, 0, 0, 0, 0, 0, 7.8765846820820427, 0, -26.2552822736068094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.8204775710502128, 0, 0, 0, 0, -0.8204775710502128, 0, -9.8457308526025535, 0, 0, 0, 0, 0, 0, -1.4768596278903832, 0, 19.6914617052051071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1640955142100426, 0, -1.9691461705205107, 0, 0, 0, 0, 0, + //j15/2,11/2 + 0, 1.7079602629797861, 0, 0, 0, 0, -1.7079602629797861, 0, -20.4955231557574322, 0, 0, 0, 0, 0, 0, -3.0743284733636154, 0, 40.9910463115148644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3415920525959572, 0, -4.0991046311514863, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4.0991046311514854, 0, 0, 0, 0, 0, 0, -13.6636821038382852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.0991046311514854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + //j15/2,13/2 + 0, 0, 0, 0, 10.8452114520599796, 0, 0, 0, 0, 0, 0, -36.1507048401999356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.8452114520599796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.9037676210049984, 0, 0, 0, 0, 4.5188381050249919, 0, 0, 0, 0, 0, 0, 0, 0, -2.7113028630149949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1291096601435712, 0, 0, 0, 0, 0, 0, 0, + //j15/2,15/2 + 0, -3.5002769449938556, 0, 0, 0, 0, 17.5013847249692773, 0, 0, 0, 0, 0, 0, 0, 0, -10.5008308349815653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5000395635705508, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -15/2 + 0, 4.00031650856440531, 0, 0, 0, 0, -28.0022155599508372, 0, 0, 0, 0, 0, 0, 0, 0, 28.0022155599508372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.00031650856440531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -3.50027694499385465, 0, 0, 0, 0, 0, 0, 17.5013847249692732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.5008308349815639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.500039563570550664, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -13/2 + 0, 0, 0, 0, 13.5565143150749737, 0, 0, 0, 0, 0, 0, -67.7825715753748683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40.669542945224921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.93664490215356767, 0, 0, 0, 0, 0, 0, 0, + 0, 0.774657960861427067, 0, 0, 0, 0, -1.80753524200999649, 0, -10.8452114520599789, 0, 0, 0, 0, 0, 0, -1.80753524200999649, 0, 36.1507048401999298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.774657960861427067, 0, -10.8452114520599789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -11/2 + 0, -2.04955231557574297, 0, 0, 0, 0, 4.78228873634340025, 0, 28.6937324180604015, 0, 0, 0, 0, 0, 0, 4.78228873634340025, 0, -95.6457747268680051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.04955231557574297, 0, 28.6937324180604015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5.12388078893935741, 0, 0, 0, 0, 0, 0, -5.12388078893935741, 0, -20.4955231557574297, 0, 0, 0, 0, 0, 0, 0, 0, -9.22298542009084335, 0, 40.9910463115148593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.02477615778787148, 0, -4.09910463115148593, 0, 0, 0, 0, 0, + // j = 15/2, mj = -9/2 + 0, 0, 0, 0, -10.6662084236527642, 0, 0, 0, 0, 0, 0, 10.6662084236527642, 0, 42.6648336946110567, 0, 0, 0, 0, 0, 0, 0, 0, 19.1991751625749755, 0, -85.3296673892221134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.13324168473055283, 0, 8.53296673892221134, 0, 0, 0, 0, 0, + 0, -0.656382056840170103, 0, 0, 0, 0, -0.656382056840170103, 0, 15.7531693641640825, 0, 0, 0, 0, 0, 0, 0.656382056840170103, 0, 0, 0, -26.2552822736068041, 0, 0, 0, 0, 0, 0, 0, 0, 0.656382056840170103, 0, -15.7531693641640825, 0, 26.2552822736068041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -7/2 + 0, 1.13688707162373734, 0, 0, 0, 0, 1.13688707162373734, 0, -27.2852897189696963, 0, 0, 0, 0, 0, 0, -1.13688707162373734, 0, 0, 0, 45.4754828649494938, 0, 0, 0, 0, 0, 0, 0, 0, -1.13688707162373734, 0, 27.2852897189696963, 0, -45.4754828649494938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -4.26332651858901504, 0, 0, 0, 0, 0, 0, -7.1055441976483584, 0, 28.4221767905934336, 0, 0, 0, 0, 0, 0, 0, 0, -1.42110883952967168, 0, 18.9481178603956224, 0, -22.7377414324747469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.42110883952967168, 0, -9.47405893019781121, 0, 7.57924714415824896, 0, 0, 0, + // j = 15/2, mj = -5/2 + 0, 0, 0, 0, 6.32353513543093462, 0, 0, 0, 0, 0, 0, 10.5392252257182244, 0, -42.1569009028728975, 0, 0, 0, 0, 0, 0, 0, 0, 2.10784504514364487, 0, -28.104600601915265, 0, 33.725520722298318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.10784504514364487, 0, 14.0523003009576325, 0, -11.241840240766106, 0, 0, 0, + 0, 0.383244553662480886, 0, 0, 0, 0, 1.14973366098744266, 0, -11.4973366098744266, 0, 0, 0, 0, 0, 0, 1.14973366098744266, 0, -22.9946732197488532, 0, 30.6595642929984709, 0, 0, 0, 0, 0, 0, 0, 0, 0.383244553662480886, 0, -11.4973366098744266, 0, 30.6595642929984709, 0, -12.2638257171993884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = -3/2 + 0, -0.49476659128649439, 0, 0, 0, 0, -1.48429977385948317, 0, 14.8429977385948317, 0, 0, 0, 0, 0, 0, -1.48429977385948317, 0, 29.6859954771896634, 0, -39.5813273029195512, 0, 0, 0, 0, 0, 0, 0, 0, -0.49476659128649439, 0, 14.8429977385948317, 0, -39.5813273029195512, 0, 15.8325309211678205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1.73168306950273036, 0, 0, 0, 0, 0, 0, 5.19504920850819109, 0, -13.8534645560218429, 0, 0, 0, 0, 0, 0, 0, 0, 5.19504920850819109, 0, -27.7069291120436858, 0, 16.6241574672262115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.73168306950273036, 0, -13.8534645560218429, 0, 16.6241574672262115, 0, -3.16650618423356409, 0, + // j = 15/2, mj = -1/2 + 0, 0, 0, 0, -1.96354403635080146, 0, 0, 0, 0, 0, 0, -5.89063210905240439, 0, 15.7083522908064117, 0, 0, 0, 0, 0, 0, 0, 0, -5.89063210905240439, 0, 31.4167045816128234, 0, -18.850022748967694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.96354403635080146, 0, 15.7083522908064117, 0, -18.850022748967694, 0, 3.5904805236128941, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1.96354403635080146, 0, 0, 0, 0, 0, 0, 5.89063210905240439, 0, -15.7083522908064117, 0, 0, 0, 0, 0, 0, 0, 0, 5.89063210905240439, 0, -31.4167045816128234, 0, 18.850022748967694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.96354403635080146, 0, -15.7083522908064117, 0, 18.850022748967694, 0, -3.5904805236128941, 0, + // j = 15/2, mj = 3/2 + 0, 0, 0, 0, -1.73168306950273036, 0, 0, 0, 0, 0, 0, -5.19504920850819109, 0, 13.8534645560218429, 0, 0, 0, 0, 0, 0, 0, 0, -5.19504920850819109, 0, 27.7069291120436858, 0, -16.6241574672262115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73168306950273036, 0, 13.8534645560218429, 0, -16.6241574672262115, 0, 3.16650618423356409, 0, + 0, -0.49476659128649439, 0, 0, 0, 0, -1.48429977385948317, 0, 14.8429977385948317, 0, 0, 0, 0, 0, 0, -1.48429977385948317, 0, 29.6859954771896634, 0, -39.5813273029195512, 0, 0, 0, 0, 0, 0, 0, 0, -0.49476659128649439, 0, 14.8429977385948317, 0, -39.5813273029195512, 0, 15.8325309211678205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 5/2 + 0, 0.383244553662480886, 0, 0, 0, 0, 1.14973366098744266, 0, -11.4973366098744266, 0, 0, 0, 0, 0, 0, 1.14973366098744266, 0, -22.9946732197488532, 0, 30.6595642929984709, 0, 0, 0, 0, 0, 0, 0, 0, 0.383244553662480886, 0, -11.4973366098744266, 0, 30.6595642929984709, 0, -12.2638257171993884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -6.32353513543093462, 0, 0, 0, 0, 0, 0, -10.5392252257182244, 0, 42.1569009028728975, 0, 0, 0, 0, 0, 0, 0, 0, -2.10784504514364487, 0, 28.104600601915265, 0, -33.725520722298318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.10784504514364487, 0, -14.0523003009576325, 0, 11.241840240766106, 0, 0, 0, + // j = 15/2, mj = 7/2 + 0, 0, 0, 0, 4.26332651858901504, 0, 0, 0, 0, 0, 0, 7.1055441976483584, 0, -28.4221767905934336, 0, 0, 0, 0, 0, 0, 0, 0, 1.42110883952967168, 0, -18.9481178603956224, 0, 22.7377414324747469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.42110883952967168, 0, 9.47405893019781121, 0, -7.57924714415824896, 0, 0, 0, + 0, 1.13688707162373734, 0, 0, 0, 0, 1.13688707162373734, 0, -27.2852897189696963, 0, 0, 0, 0, 0, 0, -1.13688707162373734, 0, 0, 0, 45.4754828649494938, 0, 0, 0, 0, 0, 0, 0, 0, -1.13688707162373734, 0, 27.2852897189696963, 0, -45.4754828649494938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 9/2 + 0, -0.656382056840170103, 0, 0, 0, 0, -0.656382056840170103, 0, 15.7531693641640825, 0, 0, 0, 0, 0, 0, 0.656382056840170103, 0, 0, 0, -26.2552822736068041, 0, 0, 0, 0, 0, 0, 0, 0, 0.656382056840170103, 0, -15.7531693641640825, 0, 26.2552822736068041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10.6662084236527642, 0, 0, 0, 0, 0, 0, -10.6662084236527642, 0, -42.6648336946110567, 0, 0, 0, 0, 0, 0, 0, 0, -19.1991751625749755, 0, 85.3296673892221134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.13324168473055283, 0, -8.53296673892221134, 0, 0, 0, 0, 0, + // j = 15/2, mj = 11/2 + 0, 0, 0, 0, -5.12388078893935741, 0, 0, 0, 0, 0, 0, 5.12388078893935741, 0, 20.4955231557574297, 0, 0, 0, 0, 0, 0, 0, 0, 9.22298542009084335, 0, -40.9910463115148593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.02477615778787148, 0, 4.09910463115148593, 0, 0, 0, 0, 0, + 0, -2.04955231557574297, 0, 0, 0, 0, 4.78228873634340025, 0, 28.6937324180604015, 0, 0, 0, 0, 0, 0, 4.78228873634340025, 0, -95.6457747268680051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.04955231557574297, 0, 28.6937324180604015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 13/2 + 0, 0.774657960861427067, 0, 0, 0, 0, -1.80753524200999649, 0, -10.8452114520599789, 0, 0, 0, 0, 0, 0, -1.80753524200999649, 0, 36.1507048401999298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.774657960861427067, 0, -10.8452114520599789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -13.5565143150749737, 0, 0, 0, 0, 0, 0, 67.7825715753748683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40.669542945224921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.93664490215356767, 0, 0, 0, 0, 0, 0, 0, + // j = 15/2, mj = 15/2 + 0, 0, 0, 0, 3.50027694499385465, 0, 0, 0, 0, 0, 0, -17.5013847249692732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.5008308349815639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.500039563570550664, 0, 0, 0, 0, 0, 0, 0, + 0, 4.00031650856440531, 0, 0, 0, 0, -28.0022155599508372, 0, 0, 0, 0, 0, 0, 0, 0, 28.0022155599508372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.00031650856440531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -17/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -4.12343187517827448, 0, 0, 0, 0, 28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, -28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.12343187517827448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -15/2 + 0, -1.00007912714110133, 0, 0, 0, 0, 7.0005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, -7.0005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.00007912714110133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.00015825428220266, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -13/2 + 0, 0, 0, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.707162732524596178, 0, 0, 0, 0, 0, 0, 0, + 0, 2.12148819757378853, 0, 0, 0, 0, -4.95013912767217325, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, -4.95013912767217325, 0, 99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.12148819757378853, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -11/2 + 0, 0.948758364647699116, 0, 0, 0, 0, -2.21376951751129794, 0, -13.2826171050677876, 0, 0, 0, 0, 0, 0, -2.21376951751129794, 0, 44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.948758364647699116, 0, -13.2826171050677876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11.0688475875564897, 0, 0, 0, 0, 0, 0, -11.0688475875564897, 0, -44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, -19.9239256576016814, 0, 88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.21376951751129794, 0, -8.85507807004519175, 0, 0, 0, 0, 0, + // j = 17/2, mj = -9/2 + 0, 0, 0, 0, 5.91654790557938008, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, -23.6661916223175203, 0, 0, 0, 0, 0, 0, 0, 0, -10.6497862300428841, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.18330958111587602, 0, -4.73323832446350406, 0, 0, 0, 0, 0, + 0, -1.18330958111587602, 0, 0, 0, 0, -1.18330958111587602, 0, 28.3994299467810244, 0, 0, 0, 0, 0, 0, 1.18330958111587602, 0, 0, 0, -47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 1.18330958111587602, 0, -28.3994299467810244, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -7/2 + 0, -0.733857449152875582, 0, 0, 0, 0, -0.733857449152875582, 0, 17.612578779669014, 0, 0, 0, 0, 0, 0, 0.733857449152875582, 0, 0, 0, -29.3542979661150233, 0, 0, 0, 0, 0, 0, 0, 0, 0.733857449152875582, 0, -17.612578779669014, 0, 29.3542979661150233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -6.60471704237588023, 0, 0, 0, 0, 0, 0, -11.0078617372931337, 0, 44.0314469491725349, 0, 0, 0, 0, 0, 0, 0, 0, -2.20157234745862674, 0, 29.3542979661150233, 0, -35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.20157234745862674, 0, -14.6771489830575116, 0, 11.7417191864460093, 0, 0, 0, + // j = 17/2, mj = -5/2 + 0, 0, 0, 0, -4.67024020848234288, 0, 0, 0, 0, 0, 0, -7.7837336808039048, 0, 31.1349347232156192, 0, 0, 0, 0, 0, 0, 0, 0, -1.55674673616078096, 0, 20.7566231488104128, 0, -24.9079477785724953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.55674673616078096, 0, -10.3783115744052064, 0, 8.30264925952416512, 0, 0, 0, + 0, 0.51891557872026032, 0, 0, 0, 0, 1.55674673616078096, 0, -15.5674673616078096, 0, 0, 0, 0, 0, 0, 1.55674673616078096, 0, -31.1349347232156192, 0, 41.5132462976208256, 0, 0, 0, 0, 0, 0, 0, 0, 0.51891557872026032, 0, -15.5674673616078096, 0, 41.5132462976208256, 0, -16.6052985190483302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -3/2 + 0, 0.413951429393932508, 0, 0, 0, 0, 1.24185428818179752, 0, -12.4185428818179752, 0, 0, 0, 0, 0, 0, 1.24185428818179752, 0, -24.8370857636359505, 0, 33.1161143515146006, 0, 0, 0, 0, 0, 0, 0, 0, 0.413951429393932508, 0, -12.4185428818179752, 0, 33.1161143515146006, 0, -13.2464457406058403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.06975714696966254, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -16.5580571757573003, 0, 0, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -33.1161143515146006, 0, 19.8696686109087604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.06975714696966254, 0, -16.5580571757573003, 0, 19.8696686109087604, 0, -3.78469878303024007, 0, + // j = 17/2, mj = -1/2 + 0, 0, 0, 0, 1.85124707101607532, 0, 0, 0, 0, 0, 0, 5.55374121304822595, 0, -14.8099765681286025, 0, 0, 0, 0, 0, 0, 0, 0, 5.55374121304822595, 0, -29.6199531362572051, 0, 17.771971881754323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.85124707101607532, 0, -14.8099765681286025, 0, 17.771971881754323, 0, -3.38513750128653772, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1.85124707101607532, 0, 0, 0, 0, 0, 0, 5.55374121304822595, 0, -14.8099765681286025, 0, 0, 0, 0, 0, 0, 0, 0, 5.55374121304822595, 0, -29.6199531362572051, 0, 17.771971881754323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.85124707101607532, 0, -14.8099765681286025, 0, 17.771971881754323, 0, -3.38513750128653772, 0, + // j = 17/2, mj = 3/2 + 0, 0, 0, 0, 2.06975714696966254, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -16.5580571757573003, 0, 0, 0, 0, 0, 0, 0, 0, 6.20927144090898762, 0, -33.1161143515146006, 0, 19.8696686109087604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.06975714696966254, 0, -16.5580571757573003, 0, 19.8696686109087604, 0, -3.78469878303024007, 0, + 0, -0.413951429393932508, 0, 0, 0, 0, -1.24185428818179752, 0, 12.4185428818179752, 0, 0, 0, 0, 0, 0, -1.24185428818179752, 0, 24.8370857636359505, 0, -33.1161143515146006, 0, 0, 0, 0, 0, 0, 0, 0, -0.413951429393932508, 0, 12.4185428818179752, 0, -33.1161143515146006, 0, 13.2464457406058403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 5/2 + 0, -0.51891557872026032, 0, 0, 0, 0, -1.55674673616078096, 0, 15.5674673616078096, 0, 0, 0, 0, 0, 0, -1.55674673616078096, 0, 31.1349347232156192, 0, -41.5132462976208256, 0, 0, 0, 0, 0, 0, 0, 0, -0.51891557872026032, 0, 15.5674673616078096, 0, -41.5132462976208256, 0, 16.6052985190483302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -4.67024020848234288, 0, 0, 0, 0, 0, 0, -7.7837336808039048, 0, 31.1349347232156192, 0, 0, 0, 0, 0, 0, 0, 0, -1.55674673616078096, 0, 20.7566231488104128, 0, -24.9079477785724953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.55674673616078096, 0, -10.3783115744052064, 0, 8.30264925952416512, 0, 0, 0, + // j = 17/2, mj = 7/2 + 0, 0, 0, 0, -6.60471704237588023, 0, 0, 0, 0, 0, 0, -11.0078617372931337, 0, 44.0314469491725349, 0, 0, 0, 0, 0, 0, 0, 0, -2.20157234745862674, 0, 29.3542979661150233, 0, -35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.20157234745862674, 0, -14.6771489830575116, 0, 11.7417191864460093, 0, 0, 0, + 0, 0.733857449152875582, 0, 0, 0, 0, 0.733857449152875582, 0, -17.612578779669014, 0, 0, 0, 0, 0, 0, -0.733857449152875582, 0, 0, 0, 29.3542979661150233, 0, 0, 0, 0, 0, 0, 0, 0, -0.733857449152875582, 0, 17.612578779669014, 0, -29.3542979661150233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 9/2 + 0, 1.18330958111587602, 0, 0, 0, 0, 1.18330958111587602, 0, -28.3994299467810244, 0, 0, 0, 0, 0, 0, -1.18330958111587602, 0, 0, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, -1.18330958111587602, 0, 28.3994299467810244, 0, -47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5.91654790557938008, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, -23.6661916223175203, 0, 0, 0, 0, 0, 0, 0, 0, -10.6497862300428841, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.18330958111587602, 0, -4.73323832446350406, 0, 0, 0, 0, 0, + // j = 17/2, mj = 11/2 + 0, 0, 0, 0, 11.0688475875564897, 0, 0, 0, 0, 0, 0, -11.0688475875564897, 0, -44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, -19.9239256576016814, 0, 88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.21376951751129794, 0, -8.85507807004519175, 0, 0, 0, 0, 0, + 0, -0.948758364647699116, 0, 0, 0, 0, 2.21376951751129794, 0, 13.2826171050677876, 0, 0, 0, 0, 0, 0, 2.21376951751129794, 0, -44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.948758364647699116, 0, 13.2826171050677876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 13/2 + 0, -2.12148819757378853, 0, 0, 0, 0, 4.95013912767217325, 0, 29.7008347660330395, 0, 0, 0, 0, 0, 0, 4.95013912767217325, 0, -99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.12148819757378853, 0, 29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -4.95013912767217325, 0, 0, 0, 0, 0, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.707162732524596178, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 15/2 + 0, 0, 0, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, 70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.00015825428220266, 0, 0, 0, 0, 0, 0, 0, + 0, 1.00007912714110133, 0, 0, 0, 0, -7.0005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 7.0005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.00007912714110133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 17/2 + 0, 4.12343187517827448, 0, 0, 0, 0, -28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.12343187517827448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -17/2 + 0, 4.63886085957555879, 0, 0, 0, 0, -43.296034689371882, 0, 0, 0, 0, 0, 0, 0, 0, 64.944052034057823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.5554434383022352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.51542898439728431, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -4.12343187517827448, 0, 0, 0, 0, 0, 0, 28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.12343187517827448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -15/2 + 0, 0, 0, 0, 17.0013451613987226, 0, 0, 0, 0, 0, 0, -119.009416129791058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119.009416129791058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.0013451613987226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.875069236248463662, 0, 0, 0, 0, -3.50027694499385465, 0, -14.0011077799754186, 0, 0, 0, 0, 0, 0, -1.75013847249692732, 0, 70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.50019781785275332, 0, -42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.125009890892637666, 0, 2.00015825428220266, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -13/2 + 0, -2.47506956383608662, 0, 0, 0, 0, 9.9002782553443465, 0, 39.601113021377386, 0, 0, 0, 0, 0, 0, 4.95013912767217325, 0, -198.00556510688693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.07162732524596178, 0, 118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.353581366262298089, 0, -5.65730186019676943, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6.3644645927213656, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, 99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.3644645927213656, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -11/2 + 0, 0, 0, 0, -14.2313754697154867, 0, 0, 0, 0, 0, 0, 33.2065427626694691, 0, 66.4130855253389381, 0, 0, 0, 0, 0, 0, 0, 0, 33.2065427626694691, 0, -221.376951751129794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.2313754697154867, 0, 66.4130855253389381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.790631970539749263, 0, 0, 0, 0, 0, 0, 22.1376951751129794, 0, 0, 0, 0, 0, 0, 2.21376951751129794, 0, -22.1376951751129794, 0, -44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, 1.26501115286359882, 0, -39.8478513152033629, 0, 88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.158126394107949853, 0, 4.42753903502259587, 0, -8.85507807004519175, 0, 0, 0, 0, 0, + // j = 17/2, mj = -9/2 + 0, 1.47913697639484502, 0, 0, 0, 0, 0, 0, -41.4158353390556606, 0, 0, 0, 0, 0, 0, -4.14158353390556606, 0, 41.4158353390556606, 0, 82.8316706781113211, 0, 0, 0, 0, 0, 0, 0, 0, -2.36661916223175203, 0, 74.548503610300189, 0, -165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.295827395278969004, 0, -8.28316706781113211, 0, 16.5663341356222642, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -5.91654790557938008, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, 0, 0, -47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, -47.3323832446350406, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -7/2 + 0, 0, 0, 0, 9.54014683898738256, 0, 0, 0, 0, 0, 0, 9.54014683898738256, 0, -76.3211747118990605, 0, 0, 0, 0, 0, 0, 0, 0, -9.54014683898738256, 0, 0, 0, 76.3211747118990605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.54014683898738256, 0, 76.3211747118990605, 0, -76.3211747118990605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.550393086864656686, 0, 0, 0, 0, 1.46771489830575116, 0, -19.8141511271276407, 0, 0, 0, 0, 0, 0, 1.10078617372931337, 0, -33.0235852118794012, 0, 66.0471704237588023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.60471704237588023, 0, 44.0314469491725349, 0, -35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.183464362288218895, 0, 6.60471704237588023, 0, -22.0157234745862674, 0, 11.7417191864460093, 0, 0, 0, + // j = 17/2, mj = -5/2 + 0, -0.77837336808039048, 0, 0, 0, 0, -2.07566231488104128, 0, 28.0214412508940573, 0, 0, 0, 0, 0, 0, -1.55674673616078096, 0, 46.7024020848234288, 0, -93.4048041696468576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.34048041696468576, 0, -62.2698694464312384, 0, 49.8158955571449907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25945778936013016, 0, -9.34048041696468576, 0, 31.1349347232156192, 0, -16.6052985190483302, 0, 0, 0, + 0, 0, 0, 0, 3.63240905104182224, 0, 0, 0, 0, 0, 0, 10.8972271531254667, 0, -36.3240905104182224, 0, 0, 0, 0, 0, 0, 0, 0, 10.8972271531254667, 0, -72.6481810208364448, 0, 58.1185448166691558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.63240905104182224, 0, -36.3240905104182224, 0, 58.1185448166691558, 0, -16.6052985190483302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = -3/2 + 0, 0, 0, 0, -4.55346572333325759, 0, 0, 0, 0, 0, 0, -13.6603971699997728, 0, 45.5346572333325759, 0, 0, 0, 0, 0, 0, 0, 0, -13.6603971699997728, 0, 91.0693144666651517, 0, -72.8554515733321214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.55346572333325759, 0, 45.5346572333325759, 0, -72.8554515733321214, 0, 20.8158433066663204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.206975714696966254, 0, 0, 0, 0, -0.827902858787865016, 0, 8.27902858787865016, 0, 0, 0, 0, 0, 0, -1.24185428818179752, 0, 24.8370857636359505, 0, -33.1161143515146006, 0, 0, 0, 0, 0, 0, 0, 0, -0.827902858787865016, 0, 24.8370857636359505, 0, -66.2322287030292013, 0, 26.4928914812116805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.206975714696966254, 0, 8.27902858787865016, 0, -33.1161143515146006, 0, 26.4928914812116805, 0, -3.78469878303024007, 0, + // j = 17/2, mj = -1/2 + 0, 0.231405883877009415, 0, 0, 0, 0, 0.925623535508037658, 0, -9.25623535508037658, 0, 0, 0, 0, 0, 0, 1.38843530326205649, 0, -27.7687060652411297, 0, 37.0249414203215063, 0, 0, 0, 0, 0, 0, 0, 0, 0.925623535508037658, 0, -27.7687060652411297, 0, 74.0498828406430127, 0, -29.6199531362572051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.231405883877009415, 0, -9.25623535508037658, 0, 37.0249414203215063, 0, -29.6199531362572051, 0, 4.23142187660817215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.231405883877009415, 0, 0, 0, 0, -0.925623535508037658, 0, 9.25623535508037658, 0, 0, 0, 0, 0, 0, -1.38843530326205649, 0, 27.7687060652411297, 0, -37.0249414203215063, 0, 0, 0, 0, 0, 0, 0, 0, -0.925623535508037658, 0, 27.7687060652411297, 0, -74.0498828406430127, 0, 29.6199531362572051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.231405883877009415, 0, 9.25623535508037658, 0, -37.0249414203215063, 0, 29.6199531362572051, 0, -4.23142187660817215, 0, + // j = 17/2, mj = 3/2 + 0, 0.206975714696966254, 0, 0, 0, 0, 0.827902858787865016, 0, -8.27902858787865016, 0, 0, 0, 0, 0, 0, 1.24185428818179752, 0, -24.8370857636359505, 0, 33.1161143515146006, 0, 0, 0, 0, 0, 0, 0, 0, 0.827902858787865016, 0, -24.8370857636359505, 0, 66.2322287030292013, 0, -26.4928914812116805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.206975714696966254, 0, -8.27902858787865016, 0, 33.1161143515146006, 0, -26.4928914812116805, 0, 3.78469878303024007, 0, + 0, 0, 0, 0, -4.55346572333325759, 0, 0, 0, 0, 0, 0, -13.6603971699997728, 0, 45.5346572333325759, 0, 0, 0, 0, 0, 0, 0, 0, -13.6603971699997728, 0, 91.0693144666651517, 0, -72.8554515733321214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.55346572333325759, 0, 45.5346572333325759, 0, -72.8554515733321214, 0, 20.8158433066663204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 5/2 + 0, 0, 0, 0, 3.63240905104182224, 0, 0, 0, 0, 0, 0, 10.8972271531254667, 0, -36.3240905104182224, 0, 0, 0, 0, 0, 0, 0, 0, 10.8972271531254667, 0, -72.6481810208364448, 0, 58.1185448166691558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.63240905104182224, 0, -36.3240905104182224, 0, 58.1185448166691558, 0, -16.6052985190483302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.77837336808039048, 0, 0, 0, 0, 2.07566231488104128, 0, -28.0214412508940573, 0, 0, 0, 0, 0, 0, 1.55674673616078096, 0, -46.7024020848234288, 0, 93.4048041696468576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.34048041696468576, 0, 62.2698694464312384, 0, -49.8158955571449907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.25945778936013016, 0, 9.34048041696468576, 0, -31.1349347232156192, 0, 16.6052985190483302, 0, 0, 0, + // j = 17/2, mj = 7/2 + 0, -0.550393086864656686, 0, 0, 0, 0, -1.46771489830575116, 0, 19.8141511271276407, 0, 0, 0, 0, 0, 0, -1.10078617372931337, 0, 33.0235852118794012, 0, -66.0471704237588023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.60471704237588023, 0, -44.0314469491725349, 0, 35.2251575593380279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.183464362288218895, 0, -6.60471704237588023, 0, 22.0157234745862674, 0, -11.7417191864460093, 0, 0, 0, + 0, 0, 0, 0, 9.54014683898738256, 0, 0, 0, 0, 0, 0, 9.54014683898738256, 0, -76.3211747118990605, 0, 0, 0, 0, 0, 0, 0, 0, -9.54014683898738256, 0, 0, 0, 76.3211747118990605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.54014683898738256, 0, 76.3211747118990605, 0, -76.3211747118990605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 9/2 + 0, 0, 0, 0, -5.91654790557938008, 0, 0, 0, 0, 0, 0, -5.91654790557938008, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, 0, 0, -47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.91654790557938008, 0, -47.3323832446350406, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.47913697639484502, 0, 0, 0, 0, 0, 0, 41.4158353390556606, 0, 0, 0, 0, 0, 0, 4.14158353390556606, 0, -41.4158353390556606, 0, -82.8316706781113211, 0, 0, 0, 0, 0, 0, 0, 0, 2.36661916223175203, 0, -74.548503610300189, 0, 165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.295827395278969004, 0, 8.28316706781113211, 0, -16.5663341356222642, 0, 0, 0, 0, 0, + // j = 17/2, mj = 11/2 + 0, 0.790631970539749263, 0, 0, 0, 0, 0, 0, -22.1376951751129794, 0, 0, 0, 0, 0, 0, -2.21376951751129794, 0, 22.1376951751129794, 0, 44.2753903502259587, 0, 0, 0, 0, 0, 0, 0, 0, -1.26501115286359882, 0, 39.8478513152033629, 0, -88.5507807004519175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.158126394107949853, 0, -4.42753903502259587, 0, 8.85507807004519175, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -14.2313754697154867, 0, 0, 0, 0, 0, 0, 33.2065427626694691, 0, 66.4130855253389381, 0, 0, 0, 0, 0, 0, 0, 0, 33.2065427626694691, 0, -221.376951751129794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.2313754697154867, 0, 66.4130855253389381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 13/2 + 0, 0, 0, 0, 6.3644645927213656, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, -14.8504173830165197, 0, 99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.3644645927213656, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2.47506956383608662, 0, 0, 0, 0, -9.9002782553443465, 0, -39.601113021377386, 0, 0, 0, 0, 0, 0, -4.95013912767217325, 0, 198.00556510688693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.07162732524596178, 0, -118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.353581366262298089, 0, 5.65730186019676943, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 15/2 + 0, -0.875069236248463662, 0, 0, 0, 0, 3.50027694499385465, 0, 14.0011077799754186, 0, 0, 0, 0, 0, 0, 1.75013847249692732, 0, -70.005538899877093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.50019781785275332, 0, 42.0033233399262558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.125009890892637666, 0, -2.00015825428220266, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17.0013451613987226, 0, 0, 0, 0, 0, 0, -119.009416129791058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119.009416129791058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.0013451613987226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 17/2, mj = 17/2 + 0, 0, 0, 0, -4.12343187517827448, 0, 0, 0, 0, 0, 0, 28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.8640231262479213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.12343187517827448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -4.63886085957555879, 0, 0, 0, 0, 43.296034689371882, 0, 0, 0, 0, 0, 0, 0, 0, -64.944052034057823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.5554434383022352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.51542898439728431, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -19/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -4.76597647343204622, 0, 0, 0, 0, 44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, -66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.0639058937281849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.52955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -17/2 + 0, -1.0933899902622448, 0, 0, 0, 0, 10.2049732424476182, 0, 0, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.37355996104897921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.121487776695804978, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -17.4942398441959169, 0, 0, 0, 0, 0, 0, 122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17.4942398441959169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -15/2 + 0, 0, 0, 0, -5.83141328139863895, 0, 0, 0, 0, 0, 0, 40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2.55124331061190454, 0, 0, 0, 0, -10.2049732424476182, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, -5.10248662122380908, 0, 204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.28926660174829869, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.364463330087414934, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -13/2 + 0, 1.07173655920786068, 0, 0, 0, 0, -4.28694623683144273, 0, -17.1477849473257709, 0, 0, 0, 0, 0, 0, -2.14347311841572136, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.06210445487960195, 0, -51.4433548419773127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.153105222743980097, 0, 2.44968356390368156, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 14.6981013834220894, 0, 0, 0, 0, 0, 0, -34.2955698946515418, 0, -68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, -34.2955698946515418, 0, 228.637132631010279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.6981013834220894, 0, -68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -11/2 + 0, 0, 0, 0, 7.34905069171104468, 0, 0, 0, 0, 0, 0, -17.1477849473257709, 0, -34.2955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, -17.1477849473257709, 0, 114.318566315505139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.34905069171104468, 0, -34.2955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.53105222743980097, 0, 0, 0, 0, 0, 0, 42.8694623683144273, 0, 0, 0, 0, 0, 0, 4.28694623683144273, 0, -42.8694623683144273, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 2.44968356390368156, 0, -77.1650322629659691, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.306210445487960195, 0, 8.57389247366288545, 0, -17.1477849473257709, 0, 0, 0, 0, 0, + // j = 19/2, mj = -9/2 + 0, -0.883953415655745223, 0, 0, 0, 0, 0, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 2.47506956383608662, 0, -24.7506956383608662, 0, -49.5013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 1.41432546504919236, 0, -44.5512521490495592, 0, 99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.176790683131149045, 0, 4.95013912767217325, 0, -9.9002782553443465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -9.9002782553443465, 0, 0, 0, 0, 0, 0, -9.9002782553443465, 0, 79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 9.9002782553443465, 0, 0, 0, -79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.9002782553443465, 0, -79.202226042754772, 0, 79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -7/2 + 0, 0, 0, 0, -6.48125350089154427, 0, 0, 0, 0, 0, 0, -6.48125350089154427, 0, 51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 6.48125350089154427, 0, 0, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.48125350089154427, 0, -51.8500280071323542, 0, 51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.810156687611443034, 0, 0, 0, 0, 2.16041783363051476, 0, -29.1656407540119492, 0, 0, 0, 0, 0, 0, 1.62031337522288607, 0, -48.609401256686582, 0, 97.218802513373164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.7218802513373164, 0, 64.8125350089154427, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.270052229203814345, 0, 9.7218802513373164, 0, -32.4062675044577213, 0, 17.2833426690441181, 0, 0, 0, + // j = 19/2, mj = -5/2 + 0, 0.594492479694352209, 0, 0, 0, 0, 1.58531327918493922, 0, -21.4017292689966795, 0, 0, 0, 0, 0, 0, 1.18898495938870442, 0, -35.6695487816611326, 0, 71.3390975633222651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.13390975633222651, 0, 47.5593983755481767, 0, -38.0475187004385414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.198164159898117403, 0, 7.13390975633222651, 0, -23.7796991877740884, 0, 12.6825062334795138, 0, 0, 0, + 0, 0, 0, 0, 4.75593983755481767, 0, 0, 0, 0, 0, 0, 14.267819512664453, 0, -47.5593983755481767, 0, 0, 0, 0, 0, 0, 0, 0, 14.267819512664453, 0, -95.1187967510963535, 0, 76.0950374008770828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.75593983755481767, 0, -47.5593983755481767, 0, 76.0950374008770828, 0, -21.7414392573934522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -3/2 + 0, 0, 0, 0, 3.88320861646147339, 0, 0, 0, 0, 0, 0, 11.6496258493844202, 0, -38.8320861646147339, 0, 0, 0, 0, 0, 0, 0, 0, 11.6496258493844202, 0, -77.6641723292294678, 0, 62.1313378633835742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.88320861646147339, 0, -38.8320861646147339, 0, 62.1313378633835742, 0, -17.7518108181095926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.242700538528842087, 0, 0, 0, 0, -0.970802154115368348, 0, 9.70802154115368348, 0, 0, 0, 0, 0, 0, -1.45620323117305252, 0, 29.1240646234610504, 0, -38.8320861646147339, 0, 0, 0, 0, 0, 0, 0, 0, -0.970802154115368348, 0, 29.1240646234610504, 0, -77.6641723292294678, 0, 31.0656689316917871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.242700538528842087, 0, 9.70802154115368348, 0, -38.8320861646147339, 0, 31.0656689316917871, 0, -4.43795270452739816, 0, + // j = 19/2, mj = -1/2 + 0, -0.219530897104735508, 0, 0, 0, 0, -0.878123588418942033, 0, 8.78123588418942033, 0, 0, 0, 0, 0, 0, -1.31718538262841305, 0, 26.343707652568261, 0, -35.1249435367576813, 0, 0, 0, 0, 0, 0, 0, 0, -0.878123588418942033, 0, 26.343707652568261, 0, -70.2498870735153626, 0, 28.0999548294061451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.219530897104735508, 0, 8.78123588418942033, 0, -35.1249435367576813, 0, 28.0999548294061451, 0, -4.01427926134373501, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.219530897104735508, 0, 0, 0, 0, -0.878123588418942033, 0, 8.78123588418942033, 0, 0, 0, 0, 0, 0, -1.31718538262841305, 0, 26.343707652568261, 0, -35.1249435367576813, 0, 0, 0, 0, 0, 0, 0, 0, -0.878123588418942033, 0, 26.343707652568261, 0, -70.2498870735153626, 0, 28.0999548294061451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.219530897104735508, 0, 8.78123588418942033, 0, -35.1249435367576813, 0, 28.0999548294061451, 0, -4.01427926134373501, 0, + // j = 19/2, mj = 3/2 + 0, -0.242700538528842087, 0, 0, 0, 0, -0.970802154115368348, 0, 9.70802154115368348, 0, 0, 0, 0, 0, 0, -1.45620323117305252, 0, 29.1240646234610504, 0, -38.8320861646147339, 0, 0, 0, 0, 0, 0, 0, 0, -0.970802154115368348, 0, 29.1240646234610504, 0, -77.6641723292294678, 0, 31.0656689316917871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.242700538528842087, 0, 9.70802154115368348, 0, -38.8320861646147339, 0, 31.0656689316917871, 0, -4.43795270452739816, 0, + 0, 0, 0, 0, -3.88320861646147339, 0, 0, 0, 0, 0, 0, -11.6496258493844202, 0, 38.8320861646147339, 0, 0, 0, 0, 0, 0, 0, 0, -11.6496258493844202, 0, 77.6641723292294678, 0, -62.1313378633835742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.88320861646147339, 0, 38.8320861646147339, 0, -62.1313378633835742, 0, 17.7518108181095926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 5/2 + 0, 0, 0, 0, -4.75593983755481767, 0, 0, 0, 0, 0, 0, -14.267819512664453, 0, 47.5593983755481767, 0, 0, 0, 0, 0, 0, 0, 0, -14.267819512664453, 0, 95.1187967510963535, 0, -76.0950374008770828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.75593983755481767, 0, 47.5593983755481767, 0, -76.0950374008770828, 0, 21.7414392573934522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.594492479694352209, 0, 0, 0, 0, 1.58531327918493922, 0, -21.4017292689966795, 0, 0, 0, 0, 0, 0, 1.18898495938870442, 0, -35.6695487816611326, 0, 71.3390975633222651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.13390975633222651, 0, 47.5593983755481767, 0, -38.0475187004385414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.198164159898117403, 0, 7.13390975633222651, 0, -23.7796991877740884, 0, 12.6825062334795138, 0, 0, 0, + // j = 19/2, mj = 7/2 + 0, 0.810156687611443034, 0, 0, 0, 0, 2.16041783363051476, 0, -29.1656407540119492, 0, 0, 0, 0, 0, 0, 1.62031337522288607, 0, -48.609401256686582, 0, 97.218802513373164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.7218802513373164, 0, 64.8125350089154427, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.270052229203814345, 0, 9.7218802513373164, 0, -32.4062675044577213, 0, 17.2833426690441181, 0, 0, 0, + 0, 0, 0, 0, 6.48125350089154427, 0, 0, 0, 0, 0, 0, 6.48125350089154427, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, -6.48125350089154427, 0, 0, 0, 51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48125350089154427, 0, 51.8500280071323542, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 9/2 + 0, 0, 0, 0, 9.9002782553443465, 0, 0, 0, 0, 0, 0, 9.9002782553443465, 0, -79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, -9.9002782553443465, 0, 0, 0, 79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.9002782553443465, 0, 79.202226042754772, 0, -79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.883953415655745223, 0, 0, 0, 0, 0, 0, 24.7506956383608662, 0, 0, 0, 0, 0, 0, 2.47506956383608662, 0, -24.7506956383608662, 0, -49.5013912767217325, 0, 0, 0, 0, 0, 0, 0, 0, 1.41432546504919236, 0, -44.5512521490495592, 0, 99.002782553443465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.176790683131149045, 0, 4.95013912767217325, 0, -9.9002782553443465, 0, 0, 0, 0, 0, + // j = 19/2, mj = 11/2 + 0, -1.53105222743980097, 0, 0, 0, 0, 0, 0, 42.8694623683144273, 0, 0, 0, 0, 0, 0, 4.28694623683144273, 0, -42.8694623683144273, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 2.44968356390368156, 0, -77.1650322629659691, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.306210445487960195, 0, 8.57389247366288545, 0, -17.1477849473257709, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -7.34905069171104468, 0, 0, 0, 0, 0, 0, 17.1477849473257709, 0, 34.2955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 17.1477849473257709, 0, -114.318566315505139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.34905069171104468, 0, 34.2955698946515418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 13/2 + 0, 0, 0, 0, -14.6981013834220894, 0, 0, 0, 0, 0, 0, 34.2955698946515418, 0, 68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 34.2955698946515418, 0, -228.637132631010279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.6981013834220894, 0, 68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.07173655920786068, 0, 0, 0, 0, -4.28694623683144273, 0, -17.1477849473257709, 0, 0, 0, 0, 0, 0, -2.14347311841572136, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.06210445487960195, 0, -51.4433548419773127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.153105222743980097, 0, 2.44968356390368156, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 15/2 + 0, 2.55124331061190454, 0, 0, 0, 0, -10.2049732424476182, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, -5.10248662122380908, 0, 204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.28926660174829869, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.364463330087414934, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.83141328139863895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 17/2 + 0, 0, 0, 0, 17.4942398441959169, 0, 0, 0, 0, 0, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.4942398441959169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.0933899902622448, 0, 0, 0, 0, 10.2049732424476182, 0, 0, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.37355996104897921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.121487776695804978, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 19/2 + 0, -4.76597647343204622, 0, 0, 0, 0, 44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, -66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.0639058937281849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.52955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -19/2 + 0, 5.2955294149244958, 0, 0, 0, 0, -63.5463529790939495, 0, 0, 0, 0, 0, 0, 0, 0, 133.447341256097294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63.5463529790939495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.2955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -4.76597647343204622, 0, 0, 0, 0, 0, 0, 44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.0639058937281849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.52955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -17/2 + 0, 0, 0, 0, 20.7744098149826513, 0, 0, 0, 0, 0, 0, -193.894491606504745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290.841737409757118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83.0976392599306051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.30826775722029458, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.971902213566439825, 0, 0, 0, 0, -5.83141328139863895, 0, -17.4942398441959169, 0, 0, 0, 0, 0, 0, 0, 0, 122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.83141328139863895, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.971902213566439825, 0, 17.4942398441959169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -15/2 + 0, -2.91570664069931948, 0, 0, 0, 0, 17.4942398441959169, 0, 52.4827195325877506, 0, 0, 0, 0, 0, 0, 0, 0, -367.379036728114254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.4942398441959169, 0, 367.379036728114254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.91570664069931948, 0, -52.4827195325877506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7.65372993183571362, 0, 0, 0, 0, 0, 0, -30.6149197273428545, 0, -40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, -15.3074598636714272, 0, 204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.8677998052448961, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.0933899902622448, 0, 5.83141328139863895, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -13/2 + 0, 0, 0, 0, -18.2195215065336316, 0, 0, 0, 0, 0, 0, 72.8780860261345264, 0, 97.1707813681793685, 0, 0, 0, 0, 0, 0, 0, 0, 36.4390430130672632, 0, -485.853906840896842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52.0557757329532331, 0, 291.512344104538105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.60278878664766166, 0, -13.8815401954541955, 0, 0, 0, 0, 0, 0, 0, + 0, -0.918631336463880584, 0, 0, 0, 0, 1.22484178195184078, 0, 29.3962027668441787, 0, 0, 0, 0, 0, 0, 4.28694623683144273, 0, -68.5911397893030836, 0, -68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 1.22484178195184078, 0, -68.5911397893030836, 0, 228.637132631010279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.918631336463880584, 0, 29.3962027668441787, 0, -68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -11/2 + 0, 1.83726267292776117, 0, 0, 0, 0, -2.44968356390368156, 0, -58.7924055336883574, 0, 0, 0, 0, 0, 0, -8.57389247366288545, 0, 137.182279578606167, 0, 137.182279578606167, 0, 0, 0, 0, 0, 0, 0, 0, -2.44968356390368156, 0, 137.182279578606167, 0, -457.274265262020558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.83726267292776117, 0, -58.7924055336883574, 0, 137.182279578606167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -7.65526113719900487, 0, 0, 0, 0, 0, 0, 0, 0, 71.4491039471907121, 0, 0, 0, 0, 0, 0, 0, 0, 21.4347311841572136, 0, -71.4491039471907121, 0, -85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.2484178195184078, 0, -128.608387104943282, 0, 171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.53105222743980097, 0, 14.2898207894381424, 0, -17.1477849473257709, 0, 0, 0, 0, 0, + // j = 19/2, mj = -9/2 + 0, 0, 0, 0, 13.2593012348361783, 0, 0, 0, 0, 0, 0, 0, 0, -123.753478191804331, 0, 0, 0, 0, 0, 0, 0, 0, -37.1260434575412994, 0, 123.753478191804331, 0, 148.504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21.2148819757378853, 0, 222.756260745247796, 0, -297.008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65186024696723567, 0, -24.7506956383608662, 0, 29.7008347660330395, 0, 0, 0, 0, 0, + 0, 0.707162732524596178, 0, 0, 0, 0, 1.41432546504919236, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, -29.7008347660330395, 0, 118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, -1.41432546504919236, 0, 29.7008347660330395, 0, 0, 0, -79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.707162732524596178, 0, 29.7008347660330395, 0, -118.803339064132158, 0, 79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -7/2 + 0, -1.08020891681525738, 0, 0, 0, 0, -2.16041783363051476, 0, 45.3687745062408099, 0, 0, 0, 0, 0, 0, 0, 0, 45.3687745062408099, 0, -181.47509802496324, 0, 0, 0, 0, 0, 0, 0, 0, 2.16041783363051476, 0, -45.3687745062408099, 0, 0, 0, 120.983398683308826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.08020891681525738, 0, -45.3687745062408099, 0, 181.47509802496324, 0, -120.983398683308826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5.67109681328010124, 0, 0, 0, 0, 0, 0, 15.1229248354136033, 0, -68.0531617593612148, 0, 0, 0, 0, 0, 0, 0, 0, 11.3421936265602025, 0, -113.421936265602025, 0, 136.10632351872243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.6843872531204049, 0, 90.7375490124816198, 0, -51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.89036560442670041, 0, 22.6843872531204049, 0, -45.3687745062408099, 0, 17.2833426690441181, 0, 0, 0, + // j = 19/2, mj = -5/2 + 0, 0, 0, 0, -7.72840223602657872, 0, 0, 0, 0, 0, 0, -20.6090726294042099, 0, 92.7408268323189446, 0, 0, 0, 0, 0, 0, 0, 0, -15.4568044720531574, 0, 154.568044720531574, 0, -185.481653664637889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.9136089441063149, 0, -123.65443577642526, 0, 70.6596775865287197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.57613407867552624, 0, -30.9136089441063149, 0, 61.8272178882126298, 0, -23.5532258621762399, 0, 0, 0, + 0, -0.396328319796234806, 0, 0, 0, 0, -1.58531327918493922, 0, 19.0237593502192707, 0, 0, 0, 0, 0, 0, -2.37796991877740884, 0, 57.0712780506578121, 0, -95.1187967510963535, 0, 0, 0, 0, 0, 0, 0, 0, -1.58531327918493922, 0, 57.0712780506578121, 0, -190.237593502192707, 0, 101.46004986783611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.396328319796234806, 0, 19.0237593502192707, 0, -95.1187967510963535, 0, 101.46004986783611, 0, -21.7414392573934522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = -3/2 + 0, 0.485401077057684174, 0, 0, 0, 0, 1.9416043082307367, 0, -23.2992516987688403, 0, 0, 0, 0, 0, 0, 2.91240646234610504, 0, -69.897755096306521, 0, 116.496258493844202, 0, 0, 0, 0, 0, 0, 0, 0, 1.9416043082307367, 0, -69.897755096306521, 0, 232.992516987688403, 0, -124.262675726767148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.485401077057684174, 0, -23.2992516987688403, 0, 116.496258493844202, 0, -124.262675726767148, 0, 26.627716227164389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2.18430484675957878, 0, 0, 0, 0, 0, 0, -8.73721938703831513, 0, 29.1240646234610504, 0, 0, 0, 0, 0, 0, 0, 0, -13.1058290805574727, 0, 87.3721938703831513, 0, -69.897755096306521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.73721938703831513, 0, 87.3721938703831513, 0, -139.795510192613042, 0, 39.9415743407465834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.18430484675957878, 0, 29.1240646234610504, 0, -69.897755096306521, 0, 39.9415743407465834, 0, -4.43795270452739816, 0, + // j = 19/2, mj = -1/2 + 0, 0, 0, 0, 2.41483986815209059, 0, 0, 0, 0, 0, 0, 9.65935947260836236, 0, -32.1978649086945412, 0, 0, 0, 0, 0, 0, 0, 0, 14.4890392089125435, 0, -96.5935947260836236, 0, 77.2748757808668989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.65935947260836236, 0, -96.5935947260836236, 0, 154.549751561733798, 0, -44.1570718747810851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.41483986815209059, 0, -32.1978649086945412, 0, 77.2748757808668989, 0, -44.1570718747810851, 0, 4.90634131942012056, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2.41483986815209059, 0, 0, 0, 0, 0, 0, -9.65935947260836236, 0, 32.1978649086945412, 0, 0, 0, 0, 0, 0, 0, 0, -14.4890392089125435, 0, 96.5935947260836236, 0, -77.2748757808668989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.65935947260836236, 0, 96.5935947260836236, 0, -154.549751561733798, 0, 44.1570718747810851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.41483986815209059, 0, 32.1978649086945412, 0, -77.2748757808668989, 0, 44.1570718747810851, 0, -4.90634131942012056, 0, + // j = 19/2, mj = 3/2 + 0, 0, 0, 0, 2.18430484675957878, 0, 0, 0, 0, 0, 0, 8.73721938703831513, 0, -29.1240646234610504, 0, 0, 0, 0, 0, 0, 0, 0, 13.1058290805574727, 0, -87.3721938703831513, 0, 69.897755096306521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.73721938703831513, 0, -87.3721938703831513, 0, 139.795510192613042, 0, -39.9415743407465834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.18430484675957878, 0, -29.1240646234610504, 0, 69.897755096306521, 0, -39.9415743407465834, 0, 4.43795270452739816, 0, + 0, 0.485401077057684174, 0, 0, 0, 0, 1.9416043082307367, 0, -23.2992516987688403, 0, 0, 0, 0, 0, 0, 2.91240646234610504, 0, -69.897755096306521, 0, 116.496258493844202, 0, 0, 0, 0, 0, 0, 0, 0, 1.9416043082307367, 0, -69.897755096306521, 0, 232.992516987688403, 0, -124.262675726767148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.485401077057684174, 0, -23.2992516987688403, 0, 116.496258493844202, 0, -124.262675726767148, 0, 26.627716227164389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 5/2 + 0, -0.396328319796234806, 0, 0, 0, 0, -1.58531327918493922, 0, 19.0237593502192707, 0, 0, 0, 0, 0, 0, -2.37796991877740884, 0, 57.0712780506578121, 0, -95.1187967510963535, 0, 0, 0, 0, 0, 0, 0, 0, -1.58531327918493922, 0, 57.0712780506578121, 0, -190.237593502192707, 0, 101.46004986783611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.396328319796234806, 0, 19.0237593502192707, 0, -95.1187967510963535, 0, 101.46004986783611, 0, -21.7414392573934522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7.72840223602657872, 0, 0, 0, 0, 0, 0, 20.6090726294042099, 0, -92.7408268323189446, 0, 0, 0, 0, 0, 0, 0, 0, 15.4568044720531574, 0, -154.568044720531574, 0, 185.481653664637889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.9136089441063149, 0, 123.65443577642526, 0, -70.6596775865287197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.57613407867552624, 0, 30.9136089441063149, 0, -61.8272178882126298, 0, 23.5532258621762399, 0, 0, 0, + // j = 19/2, mj = 7/2 + 0, 0, 0, 0, -5.67109681328010124, 0, 0, 0, 0, 0, 0, -15.1229248354136033, 0, 68.0531617593612148, 0, 0, 0, 0, 0, 0, 0, 0, -11.3421936265602025, 0, 113.421936265602025, 0, -136.10632351872243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.6843872531204049, 0, -90.7375490124816198, 0, 51.8500280071323542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.89036560442670041, 0, -22.6843872531204049, 0, 45.3687745062408099, 0, -17.2833426690441181, 0, 0, 0, + 0, -1.08020891681525738, 0, 0, 0, 0, -2.16041783363051476, 0, 45.3687745062408099, 0, 0, 0, 0, 0, 0, 0, 0, 45.3687745062408099, 0, -181.47509802496324, 0, 0, 0, 0, 0, 0, 0, 0, 2.16041783363051476, 0, -45.3687745062408099, 0, 0, 0, 120.983398683308826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.08020891681525738, 0, -45.3687745062408099, 0, 181.47509802496324, 0, -120.983398683308826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 9/2 + 0, 0.707162732524596178, 0, 0, 0, 0, 1.41432546504919236, 0, -29.7008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, -29.7008347660330395, 0, 118.803339064132158, 0, 0, 0, 0, 0, 0, 0, 0, -1.41432546504919236, 0, 29.7008347660330395, 0, 0, 0, -79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.707162732524596178, 0, 29.7008347660330395, 0, -118.803339064132158, 0, 79.202226042754772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -13.2593012348361783, 0, 0, 0, 0, 0, 0, 0, 0, 123.753478191804331, 0, 0, 0, 0, 0, 0, 0, 0, 37.1260434575412994, 0, -123.753478191804331, 0, -148.504173830165197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.2148819757378853, 0, -222.756260745247796, 0, 297.008347660330395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.65186024696723567, 0, 24.7506956383608662, 0, -29.7008347660330395, 0, 0, 0, 0, 0, + // j = 19/2, mj = 11/2 + 0, 0, 0, 0, 7.65526113719900487, 0, 0, 0, 0, 0, 0, 0, 0, -71.4491039471907121, 0, 0, 0, 0, 0, 0, 0, 0, -21.4347311841572136, 0, 71.4491039471907121, 0, 85.7389247366288545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.2484178195184078, 0, 128.608387104943282, 0, -171.477849473257709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.53105222743980097, 0, -14.2898207894381424, 0, 17.1477849473257709, 0, 0, 0, 0, 0, + 0, 1.83726267292776117, 0, 0, 0, 0, -2.44968356390368156, 0, -58.7924055336883574, 0, 0, 0, 0, 0, 0, -8.57389247366288545, 0, 137.182279578606167, 0, 137.182279578606167, 0, 0, 0, 0, 0, 0, 0, 0, -2.44968356390368156, 0, 137.182279578606167, 0, -457.274265262020558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.83726267292776117, 0, -58.7924055336883574, 0, 137.182279578606167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 13/2 + 0, -0.918631336463880584, 0, 0, 0, 0, 1.22484178195184078, 0, 29.3962027668441787, 0, 0, 0, 0, 0, 0, 4.28694623683144273, 0, -68.5911397893030836, 0, -68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 1.22484178195184078, 0, -68.5911397893030836, 0, 228.637132631010279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.918631336463880584, 0, 29.3962027668441787, 0, -68.5911397893030836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18.2195215065336316, 0, 0, 0, 0, 0, 0, -72.8780860261345264, 0, -97.1707813681793685, 0, 0, 0, 0, 0, 0, 0, 0, -36.4390430130672632, 0, 485.853906840896842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52.0557757329532331, 0, -291.512344104538105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.60278878664766166, 0, 13.8815401954541955, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 15/2 + 0, 0, 0, 0, -7.65372993183571362, 0, 0, 0, 0, 0, 0, 30.6149197273428545, 0, 40.8198929697904727, 0, 0, 0, 0, 0, 0, 0, 0, 15.3074598636714272, 0, -204.099464848952363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -21.8677998052448961, 0, 122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0933899902622448, 0, -5.83141328139863895, 0, 0, 0, 0, 0, 0, 0, + 0, -2.91570664069931948, 0, 0, 0, 0, 17.4942398441959169, 0, 52.4827195325877506, 0, 0, 0, 0, 0, 0, 0, 0, -367.379036728114254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.4942398441959169, 0, 367.379036728114254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.91570664069931948, 0, -52.4827195325877506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 17/2 + 0, 0.971902213566439825, 0, 0, 0, 0, -5.83141328139863895, 0, -17.4942398441959169, 0, 0, 0, 0, 0, 0, 0, 0, 122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.83141328139863895, 0, -122.459678909371418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.971902213566439825, 0, 17.4942398441959169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -20.7744098149826513, 0, 0, 0, 0, 0, 0, 193.894491606504745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290.841737409757118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83.0976392599306051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.30826775722029458, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 19/2, mj = 19/2 + 0, 0, 0, 0, 4.76597647343204622, 0, 0, 0, 0, 0, 0, -44.4824470853657647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66.723670628048647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19.0639058937281849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.52955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5.2955294149244958, 0, 0, 0, 0, -63.5463529790939495, 0, 0, 0, 0, 0, 0, 0, 0, 133.447341256097294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63.5463529790939495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.2955294149244958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -21/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -5.42630291944221461, 0, 0, 0, 0, 65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, -136.742833569943808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.42630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -19/2 + 0, -1.1841163748620862, 0, 0, 0, 0, 14.2093964983450344, 0, 0, 0, 0, 0, 0, 0, 0, -29.8397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.2093964983450344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.1841163748620862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -21.3140947475175515, 0, 0, 0, 0, 0, 0, 198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.36823274972417239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -17/2 + 0, 0, 0, 0, -6.74010856667869467, 0, 0, 0, 0, 0, 0, 62.9076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94.3615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26.9604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.748900951853188297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2.99560380741275319, 0, 0, 0, 0, -17.9736228444765191, 0, -53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17.9736228444765191, 0, -377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.99560380741275319, 0, 53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -15/2 + 0, 1.19033225155963006, 0, 0, 0, 0, -7.14199350935778034, 0, -21.425980528073341, 0, 0, 0, 0, 0, 0, 0, 0, 149.981863696513387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.14199350935778034, 0, -149.981863696513387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.19033225155963006, 0, 21.425980528073341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18.7477329620641734, 0, 0, 0, 0, 0, 0, -74.9909318482566936, 0, -99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, -37.4954659241283468, 0, 499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.5649513201833526, 0, -299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.67824756600916763, 0, 14.2839870187155607, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -13/2 + 0, 0, 0, 0, 8.83776607290009063, 0, 0, 0, 0, 0, 0, -35.3510642916003625, 0, -47.1347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, -17.6755321458001813, 0, 235.673761944002417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25.2507602082859732, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.26253801041429866, 0, 6.73353605554292619, 0, 0, 0, 0, 0, 0, 0, + 0, -1.89380701562144799, 0, 0, 0, 0, 2.52507602082859732, 0, 60.6018244998863357, 0, 0, 0, 0, 0, 0, 8.83776607290009063, 0, -141.40425716640145, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 2.52507602082859732, 0, -141.40425716640145, 0, 471.347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.89380701562144799, 0, 60.6018244998863357, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -11/2 + 0, -1.02706105729735913, 0, 0, 0, 0, 1.36941474306314551, 0, 32.8659538335154923, 0, 0, 0, 0, 0, 0, 4.79295160072100929, 0, -76.6872256115361487, 0, -76.6872256115361487, 0, 0, 0, 0, 0, 0, 0, 0, 1.36941474306314551, 0, -76.6872256115361487, 0, 255.624085371787162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.02706105729735913, 0, 32.8659538335154923, 0, -76.6872256115361487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -13.6941474306314551, 0, 0, 0, 0, 0, 0, 0, 0, 127.812042685893581, 0, 0, 0, 0, 0, 0, 0, 0, 38.3436128057680743, 0, -127.812042685893581, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.9106358890103282, 0, -230.061676834608446, 0, 306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.73882948612629102, 0, 25.5624085371787162, 0, -30.6748902446144595, 0, 0, 0, 0, 0, + // j = 21/2, mj = -9/2 + 0, 0, 0, 0, -8.38591841687309056, 0, 0, 0, 0, 0, 0, 0, 0, 78.2685718908155119, 0, 0, 0, 0, 0, 0, 0, 0, 23.4805715672446536, 0, -78.2685718908155119, 0, -93.9222862689786143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.4174694669969449, 0, -140.883429403467921, 0, 187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.67718368337461811, 0, 15.6537143781631024, 0, -18.7844572537957229, 0, 0, 0, 0, 0, + 0, 1.11812245558307874, 0, 0, 0, 0, 2.23624491116615748, 0, -46.9611431344893072, 0, 0, 0, 0, 0, 0, 0, 0, -46.9611431344893072, 0, 187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, -2.23624491116615748, 0, 46.9611431344893072, 0, 0, 0, -125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.11812245558307874, 0, 46.9611431344893072, 0, -187.844572537957229, 0, 125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -7/2 + 0, 0.763823050178243716, 0, 0, 0, 0, 1.52764610035648743, 0, -32.0805681074862361, 0, 0, 0, 0, 0, 0, 0, 0, -32.0805681074862361, 0, 128.322272429944944, 0, 0, 0, 0, 0, 0, 0, 0, -1.52764610035648743, 0, 32.0805681074862361, 0, 0, 0, -85.5481816199632961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.763823050178243716, 0, 32.0805681074862361, 0, -128.322272429944944, 0, 85.5481816199632961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8.02014202687155901, 0, 0, 0, 0, 0, 0, 21.387045404990824, 0, -96.2417043224587082, 0, 0, 0, 0, 0, 0, 0, 0, 16.040284053743118, 0, -160.40284053743118, 0, 192.483408644917416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32.0805681074862361, 0, 128.322272429944944, 0, -73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.673380675623853, 0, 32.0805681074862361, 0, -64.1611362149724721, 0, 24.4423376057037989, 0, 0, 0, + // j = 21/2, mj = -5/2 + 0, 0, 0, 0, 6.06265750929132863, 0, 0, 0, 0, 0, 0, 16.167086691443543, 0, -72.7518901114959435, 0, 0, 0, 0, 0, 0, 0, 0, 12.1253150185826573, 0, -121.253150185826573, 0, 145.503780222991887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24.2506300371653145, 0, 97.0025201486612581, 0, -55.4300115135207189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.02088583643044288, 0, 24.2506300371653145, 0, -48.501260074330629, 0, 18.4766705045069063, 0, 0, 0, + 0, -0.505221459107610719, 0, 0, 0, 0, -2.02088583643044288, 0, 24.2506300371653145, 0, 0, 0, 0, 0, 0, -3.03132875464566431, 0, 72.7518901114959435, 0, -121.253150185826573, 0, 0, 0, 0, 0, 0, 0, 0, -2.02088583643044288, 0, 72.7518901114959435, 0, -242.506300371653145, 0, 129.336693531548344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.505221459107610719, 0, 24.2506300371653145, 0, -121.253150185826573, 0, 129.336693531548344, 0, -27.7150057567603594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -3/2 + 0, -0.420369663756282355, 0, 0, 0, 0, -1.68147865502512942, 0, 20.177743860301553, 0, 0, 0, 0, 0, 0, -2.52221798253769413, 0, 60.5332315809046591, 0, -100.888719301507765, 0, 0, 0, 0, 0, 0, 0, 0, -1.68147865502512942, 0, 60.5332315809046591, 0, -201.77743860301553, 0, 107.614633921608283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.420369663756282355, 0, 20.177743860301553, 0, -100.888719301507765, 0, 107.614633921608283, 0, -23.0602786974874892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2.52221798253769413, 0, 0, 0, 0, 0, 0, -10.0888719301507765, 0, 33.6295731005025884, 0, 0, 0, 0, 0, 0, 0, 0, -15.1333078952261648, 0, 100.888719301507765, 0, -80.7109754412062121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.0888719301507765, 0, 100.888719301507765, 0, -161.421950882412424, 0, 46.1205573949749784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52221798253769413, 0, 33.6295731005025884, 0, -80.7109754412062121, 0, 46.1205573949749784, 0, -5.12450637721944204, 0, + // j = 21/2, mj = -1/2 + 0, 0, 0, 0, -2.30245947330177705, 0, 0, 0, 0, 0, 0, -9.20983789320710822, 0, 30.6994596440236941, 0, 0, 0, 0, 0, 0, 0, 0, -13.8147568398106623, 0, 92.0983789320710822, 0, -73.6787031456568658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.20983789320710822, 0, 92.0983789320710822, 0, -147.357406291313732, 0, 42.1021160832324947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 30.6994596440236941, 0, -73.6787031456568658, 0, 42.1021160832324947, 0, -4.67801289813694386, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2.30245947330177705, 0, 0, 0, 0, 0, 0, -9.20983789320710822, 0, 30.6994596440236941, 0, 0, 0, 0, 0, 0, 0, 0, -13.8147568398106623, 0, 92.0983789320710822, 0, -73.6787031456568658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.20983789320710822, 0, 92.0983789320710822, 0, -147.357406291313732, 0, 42.1021160832324947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 30.6994596440236941, 0, -73.6787031456568658, 0, 42.1021160832324947, 0, -4.67801289813694386, 0, + // j = 21/2, mj = 3/2 + 0, 0, 0, 0, -2.52221798253769413, 0, 0, 0, 0, 0, 0, -10.0888719301507765, 0, 33.6295731005025884, 0, 0, 0, 0, 0, 0, 0, 0, -15.1333078952261648, 0, 100.888719301507765, 0, -80.7109754412062121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.0888719301507765, 0, 100.888719301507765, 0, -161.421950882412424, 0, 46.1205573949749784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52221798253769413, 0, 33.6295731005025884, 0, -80.7109754412062121, 0, 46.1205573949749784, 0, -5.12450637721944204, 0, + 0, 0.420369663756282355, 0, 0, 0, 0, 1.68147865502512942, 0, -20.177743860301553, 0, 0, 0, 0, 0, 0, 2.52221798253769413, 0, -60.5332315809046591, 0, 100.888719301507765, 0, 0, 0, 0, 0, 0, 0, 0, 1.68147865502512942, 0, -60.5332315809046591, 0, 201.77743860301553, 0, -107.614633921608283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.420369663756282355, 0, -20.177743860301553, 0, 100.888719301507765, 0, -107.614633921608283, 0, 23.0602786974874892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 5/2 + 0, 0.505221459107610719, 0, 0, 0, 0, 2.02088583643044288, 0, -24.2506300371653145, 0, 0, 0, 0, 0, 0, 3.03132875464566431, 0, -72.7518901114959435, 0, 121.253150185826573, 0, 0, 0, 0, 0, 0, 0, 0, 2.02088583643044288, 0, -72.7518901114959435, 0, 242.506300371653145, 0, -129.336693531548344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.505221459107610719, 0, -24.2506300371653145, 0, 121.253150185826573, 0, -129.336693531548344, 0, 27.7150057567603594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6.06265750929132863, 0, 0, 0, 0, 0, 0, 16.167086691443543, 0, -72.7518901114959435, 0, 0, 0, 0, 0, 0, 0, 0, 12.1253150185826573, 0, -121.253150185826573, 0, 145.503780222991887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24.2506300371653145, 0, 97.0025201486612581, 0, -55.4300115135207189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.02088583643044288, 0, 24.2506300371653145, 0, -48.501260074330629, 0, 18.4766705045069063, 0, 0, 0, + // j = 21/2, mj = 7/2 + 0, 0, 0, 0, 8.02014202687155901, 0, 0, 0, 0, 0, 0, 21.387045404990824, 0, -96.2417043224587082, 0, 0, 0, 0, 0, 0, 0, 0, 16.040284053743118, 0, -160.40284053743118, 0, 192.483408644917416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32.0805681074862361, 0, 128.322272429944944, 0, -73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.673380675623853, 0, 32.0805681074862361, 0, -64.1611362149724721, 0, 24.4423376057037989, 0, 0, 0, + 0, -0.763823050178243716, 0, 0, 0, 0, -1.52764610035648743, 0, 32.0805681074862361, 0, 0, 0, 0, 0, 0, 0, 0, 32.0805681074862361, 0, -128.322272429944944, 0, 0, 0, 0, 0, 0, 0, 0, 1.52764610035648743, 0, -32.0805681074862361, 0, 0, 0, 85.5481816199632961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.763823050178243716, 0, -32.0805681074862361, 0, 128.322272429944944, 0, -85.5481816199632961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 9/2 + 0, -1.11812245558307874, 0, 0, 0, 0, -2.23624491116615748, 0, 46.9611431344893072, 0, 0, 0, 0, 0, 0, 0, 0, 46.9611431344893072, 0, -187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 2.23624491116615748, 0, -46.9611431344893072, 0, 0, 0, 125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.11812245558307874, 0, -46.9611431344893072, 0, 187.844572537957229, 0, -125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8.38591841687309056, 0, 0, 0, 0, 0, 0, 0, 0, 78.2685718908155119, 0, 0, 0, 0, 0, 0, 0, 0, 23.4805715672446536, 0, -78.2685718908155119, 0, -93.9222862689786143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.4174694669969449, 0, -140.883429403467921, 0, 187.844572537957229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.67718368337461811, 0, 15.6537143781631024, 0, -18.7844572537957229, 0, 0, 0, 0, 0, + // j = 21/2, mj = 11/2 + 0, 0, 0, 0, -13.6941474306314551, 0, 0, 0, 0, 0, 0, 0, 0, 127.812042685893581, 0, 0, 0, 0, 0, 0, 0, 0, 38.3436128057680743, 0, -127.812042685893581, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.9106358890103282, 0, -230.061676834608446, 0, 306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.73882948612629102, 0, 25.5624085371787162, 0, -30.6748902446144595, 0, 0, 0, 0, 0, + 0, 1.02706105729735913, 0, 0, 0, 0, -1.36941474306314551, 0, -32.8659538335154923, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 76.6872256115361487, 0, 76.6872256115361487, 0, 0, 0, 0, 0, 0, 0, 0, -1.36941474306314551, 0, 76.6872256115361487, 0, -255.624085371787162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.02706105729735913, 0, -32.8659538335154923, 0, 76.6872256115361487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 13/2 + 0, 1.89380701562144799, 0, 0, 0, 0, -2.52507602082859732, 0, -60.6018244998863357, 0, 0, 0, 0, 0, 0, -8.83776607290009063, 0, 141.40425716640145, 0, 141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, -2.52507602082859732, 0, 141.40425716640145, 0, -471.347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.89380701562144799, 0, -60.6018244998863357, 0, 141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8.83776607290009063, 0, 0, 0, 0, 0, 0, -35.3510642916003625, 0, -47.1347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, -17.6755321458001813, 0, 235.673761944002417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25.2507602082859732, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.26253801041429866, 0, 6.73353605554292619, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 15/2 + 0, 0, 0, 0, 18.7477329620641734, 0, 0, 0, 0, 0, 0, -74.9909318482566936, 0, -99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, -37.4954659241283468, 0, 499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.5649513201833526, 0, -299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.67824756600916763, 0, 14.2839870187155607, 0, 0, 0, 0, 0, 0, 0, + 0, -1.19033225155963006, 0, 0, 0, 0, 7.14199350935778034, 0, 21.425980528073341, 0, 0, 0, 0, 0, 0, 0, 0, -149.981863696513387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.14199350935778034, 0, 149.981863696513387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.19033225155963006, 0, -21.425980528073341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 17/2 + 0, -2.99560380741275319, 0, 0, 0, 0, 17.9736228444765191, 0, 53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, -377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.9736228444765191, 0, 377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.99560380741275319, 0, -53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -6.74010856667869467, 0, 0, 0, 0, 0, 0, 62.9076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -94.3615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26.9604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.748900951853188297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 19/2 + 0, 0, 0, 0, -21.3140947475175515, 0, 0, 0, 0, 0, 0, 198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.36823274972417239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.1841163748620862, 0, 0, 0, 0, -14.2093964983450344, 0, 0, 0, 0, 0, 0, 0, 0, 29.8397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.2093964983450344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1841163748620862, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 21/2 + 0, 5.42630291944221461, 0, 0, 0, 0, -65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 136.742833569943808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.42630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -21/2 + 0, 5.96893321138643607, 0, 0, 0, 0, -89.533998170796541, 0, 0, 0, 0, 0, 0, 0, 0, 250.695194878230315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179.067996341593082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29.8446660569321803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.542630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -5.42630291944221461, 0, 0, 0, 0, 0, 0, 65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136.742833569943808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.42630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -19/2 + 0, 0, 0, 0, 24.8664438721038101, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626.634385577016015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.8664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.06570473737587758, 0, 0, 0, 0, -8.88087281146564647, 0, -21.3140947475175515, 0, 0, 0, 0, 0, 0, 4.97328877442076202, 0, 198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.6570473737587758, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14440731201730169, 0, 85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.11841163748620862, 0, -2.36823274972417239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -17/2 + 0, -3.37005428333934733, 0, 0, 0, 0, 28.0837856944945611, 0, 67.4010856667869467, 0, 0, 0, 0, 0, 0, -15.7269199889169542, 0, -629.076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33.7005428333934733, 0, 943.615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.1057666574307952, 0, -269.604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.374450475926594148, 0, 7.48900951853188297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8.98681142223825956, 0, 0, 0, 0, 0, 0, -53.9208685334295574, 0, -53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.9208685334295574, 0, -377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.98681142223825956, 0, 53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -15/2 + 0, 0, 0, 0, -22.6163127796329711, 0, 0, 0, 0, 0, 0, 135.697876677797827, 0, 135.697876677797827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -949.885136744584786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135.697876677797827, 0, 949.885136744584786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.6163127796329711, 0, -135.697876677797827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.0415407201146763, 0, 0, 0, 0, 3.1246221603440289, 0, 37.4954659241283468, 0, 0, 0, 0, 0, 0, 6.2492443206880578, 0, -149.981863696513387, 0, -99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, -0.892749188669722543, 0, -74.9909318482566936, 0, 499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.82703909745412139, 0, 107.129902640366705, 0, -299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.148791531444953757, 0, -5.35649513201833526, 0, 14.2839870187155607, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -13/2 + 0, 2.20944151822502266, 0, 0, 0, 0, -6.62832455467506797, 0, -79.5398946561008156, 0, 0, 0, 0, 0, 0, -13.2566491093501359, 0, 318.159578624403263, 0, 212.106385749602175, 0, 0, 0, 0, 0, 0, 0, 0, 1.89380701562144799, 0, 159.079789312201631, 0, -1060.53192874801088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.99705554946791864, 0, -227.256841874573759, 0, 636.319157248806525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.315634502603574665, 0, 11.3628420937286879, 0, -30.3009122499431679, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -9.46903507810723996, 0, 0, 0, 0, 0, 0, 12.6253801041429866, 0, 101.003040833143893, 0, 0, 0, 0, 0, 0, 0, 0, 44.1888303645004531, 0, -235.673761944002417, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.6253801041429866, 0, -235.673761944002417, 0, 471.347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.46903507810723996, 0, 101.003040833143893, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -11/2 + 0, 0, 0, 0, 17.4600379740551053, 0, 0, 0, 0, 0, 0, -23.2800506320734737, 0, -186.24040505658779, 0, 0, 0, 0, 0, 0, 0, 0, -81.480177212257158, 0, 434.560945132038176, 0, 260.736567079222906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.2800506320734737, 0, 434.560945132038176, 0, -869.121890264076352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17.4600379740551053, 0, -186.24040505658779, 0, 260.736567079222906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.855884214414465945, 0, 0, 0, 0, 0.855884214414465945, 0, -41.0824422918943654, 0, 0, 0, 0, 0, 0, -2.39647580036050465, 0, 0, 0, 191.718064028840372, 0, 0, 0, 0, 0, 0, 0, 0, -3.76589054342365016, 0, 115.030838417304223, 0, -191.718064028840372, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.19823790018025232, 0, 65.7319076670309846, 0, -345.092515251912669, 0, 306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.171176842882893189, 0, -8.21648845837887307, 0, 38.3436128057680743, 0, -30.6748902446144595, 0, 0, 0, 0, 0, + // j = 21/2, mj = -9/2 + 0, -1.39765306947884843, 0, 0, 0, 0, -1.39765306947884843, 0, 67.0873473349847245, 0, 0, 0, 0, 0, 0, 3.9134285945407756, 0, 0, 0, -313.074287563262048, 0, 0, 0, 0, 0, 0, 0, 0, 6.14967350570693308, 0, -187.844572537957229, 0, 313.074287563262048, 0, 250.459430050609638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9567142972703878, 0, -107.339755735975559, 0, 563.533717613871686, 0, -500.918860101219276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.279530613895769685, 0, 13.4174694669969449, 0, -62.6148575126524095, 0, 50.0918860101219276, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7.82685718908155119, 0, 0, 0, 0, 0, 0, 15.6537143781631024, 0, -109.576000647141717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109.576000647141717, 0, 262.98240155314012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.6537143781631024, 0, 109.576000647141717, 0, 0, 0, -125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.82685718908155119, 0, 109.576000647141717, 0, -262.98240155314012, 0, 125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -7/2 + 0, 0, 0, 0, -11.4573457526736557, 0, 0, 0, 0, 0, 0, -22.9146915053473115, 0, 160.40284053743118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160.40284053743118, 0, -384.966817289834833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.9146915053473115, 0, -160.40284053743118, 0, 0, 0, 183.317532042778492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.4573457526736557, 0, -160.40284053743118, 0, 384.966817289834833, 0, -183.317532042778492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.572867287633682787, 0, 0, 0, 0, -2.10051338799017022, 0, 32.0805681074862361, 0, 0, 0, 0, 0, 0, -2.673380675623853, 0, 85.5481816199632961, 0, -192.483408644917416, 0, 0, 0, 0, 0, 0, 0, 0, -1.14573457526736557, 0, 64.1611362149724721, 0, -320.805681074862361, 0, 256.644544859889888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.190955762544560929, 0, 0, 0, -64.1611362149724721, 0, 171.096363239926592, 0, -73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.190955762544560929, 0, -10.693522702495412, 0, 64.1611362149724721, 0, -85.5481816199632961, 0, 24.4423376057037989, 0, 0, 0, + // j = 21/2, mj = -5/2 + 0, 0.757832188661416079, 0, 0, 0, 0, 2.77871802509185895, 0, -42.4386025650393004, 0, 0, 0, 0, 0, 0, 3.53655021375327503, 0, -113.169606840104801, 0, 254.631615390235802, 0, 0, 0, 0, 0, 0, 0, 0, 1.51566437732283216, 0, -84.8772051300786008, 0, 424.386025650393004, 0, -339.508820520314403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.25261072955380536, 0, 0, 0, 84.8772051300786008, 0, -226.339213680209602, 0, 97.0025201486612581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.25261072955380536, 0, 14.1462008550131001, 0, -84.8772051300786008, 0, 113.169606840104801, 0, -32.334173382887086, 0, 0, 0, + 0, 0, 0, 0, -4.54699313196849647, 0, 0, 0, 0, 0, 0, -18.1879725278739859, 0, 72.7518901114959435, 0, 0, 0, 0, 0, 0, 0, 0, -27.2819587918109788, 0, 218.255670334487831, 0, -218.255670334487831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.1879725278739859, 0, 218.255670334487831, 0, -436.511340668975661, 0, 166.290034540562157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.54699313196849647, 0, 72.7518901114959435, 0, -218.255670334487831, 0, 166.290034540562157, 0, -27.7150057567603594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = -3/2 + 0, 0, 0, 0, 5.46480562883167061, 0, 0, 0, 0, 0, 0, 21.8592225153266825, 0, -87.4368900613067298, 0, 0, 0, 0, 0, 0, 0, 0, 32.7888337729900237, 0, -262.310670183920189, 0, 262.310670183920189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.8592225153266825, 0, -262.310670183920189, 0, 524.621340367840379, 0, -199.85574871155824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.46480562883167061, 0, -87.4368900613067298, 0, 262.310670183920189, 0, -199.85574871155824, 0, 33.3092914519263733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.210184831878141177, 0, 0, 0, 0, 1.05092415939070589, 0, -12.6110899126884706, 0, 0, 0, 0, 0, 0, 2.10184831878141177, 0, -50.4443596507538826, 0, 84.073932751256471, 0, 0, 0, 0, 0, 0, 0, 0, 2.10184831878141177, 0, -75.6665394761308239, 0, 252.221798253769413, 0, -134.518292402010354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.05092415939070589, 0, -50.4443596507538826, 0, 252.221798253769413, 0, -269.036584804020707, 0, 57.650696743718723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.210184831878141177, 0, -12.6110899126884706, 0, 84.073932751256471, 0, -134.518292402010354, 0, 57.650696743718723, 0, -5.12450637721944204, 0, + // j = 21/2, mj = -1/2 + 0, -0.230245947330177705, 0, 0, 0, 0, -1.15122973665088853, 0, 13.8147568398106623, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 55.2590273592426493, 0, -92.0983789320710822, 0, 0, 0, 0, 0, 0, 0, 0, -2.30245947330177705, 0, 82.888541038863974, 0, -276.295136796213247, 0, 147.357406291313732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.15122973665088853, 0, 55.2590273592426493, 0, -276.295136796213247, 0, 294.714812582627463, 0, -63.1531741248487421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.230245947330177705, 0, 13.8147568398106623, 0, -92.0983789320710822, 0, 147.357406291313732, 0, -63.1531741248487421, 0, 5.61361547776433263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.230245947330177705, 0, 0, 0, 0, 1.15122973665088853, 0, -13.8147568398106623, 0, 0, 0, 0, 0, 0, 2.30245947330177705, 0, -55.2590273592426493, 0, 92.0983789320710822, 0, 0, 0, 0, 0, 0, 0, 0, 2.30245947330177705, 0, -82.888541038863974, 0, 276.295136796213247, 0, -147.357406291313732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.15122973665088853, 0, -55.2590273592426493, 0, 276.295136796213247, 0, -294.714812582627463, 0, 63.1531741248487421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.230245947330177705, 0, -13.8147568398106623, 0, 92.0983789320710822, 0, -147.357406291313732, 0, 63.1531741248487421, 0, -5.61361547776433263, 0, + // j = 21/2, mj = 3/2 + 0, -0.210184831878141177, 0, 0, 0, 0, -1.05092415939070589, 0, 12.6110899126884706, 0, 0, 0, 0, 0, 0, -2.10184831878141177, 0, 50.4443596507538826, 0, -84.073932751256471, 0, 0, 0, 0, 0, 0, 0, 0, -2.10184831878141177, 0, 75.6665394761308239, 0, -252.221798253769413, 0, 134.518292402010354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.05092415939070589, 0, 50.4443596507538826, 0, -252.221798253769413, 0, 269.036584804020707, 0, -57.650696743718723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.210184831878141177, 0, 12.6110899126884706, 0, -84.073932751256471, 0, 134.518292402010354, 0, -57.650696743718723, 0, 5.12450637721944204, 0, + 0, 0, 0, 0, 5.46480562883167061, 0, 0, 0, 0, 0, 0, 21.8592225153266825, 0, -87.4368900613067298, 0, 0, 0, 0, 0, 0, 0, 0, 32.7888337729900237, 0, -262.310670183920189, 0, 262.310670183920189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21.8592225153266825, 0, -262.310670183920189, 0, 524.621340367840379, 0, -199.85574871155824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.46480562883167061, 0, -87.4368900613067298, 0, 262.310670183920189, 0, -199.85574871155824, 0, 33.3092914519263733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 5/2 + 0, 0, 0, 0, -4.54699313196849647, 0, 0, 0, 0, 0, 0, -18.1879725278739859, 0, 72.7518901114959435, 0, 0, 0, 0, 0, 0, 0, 0, -27.2819587918109788, 0, 218.255670334487831, 0, -218.255670334487831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.1879725278739859, 0, 218.255670334487831, 0, -436.511340668975661, 0, 166.290034540562157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.54699313196849647, 0, 72.7518901114959435, 0, -218.255670334487831, 0, 166.290034540562157, 0, -27.7150057567603594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.757832188661416079, 0, 0, 0, 0, -2.77871802509185895, 0, 42.4386025650393004, 0, 0, 0, 0, 0, 0, -3.53655021375327503, 0, 113.169606840104801, 0, -254.631615390235802, 0, 0, 0, 0, 0, 0, 0, 0, -1.51566437732283216, 0, 84.8772051300786008, 0, -424.386025650393004, 0, 339.508820520314403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25261072955380536, 0, 0, 0, -84.8772051300786008, 0, 226.339213680209602, 0, -97.0025201486612581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25261072955380536, 0, -14.1462008550131001, 0, 84.8772051300786008, 0, -113.169606840104801, 0, 32.334173382887086, 0, 0, 0, + // j = 21/2, mj = 7/2 + 0, 0.572867287633682787, 0, 0, 0, 0, 2.10051338799017022, 0, -32.0805681074862361, 0, 0, 0, 0, 0, 0, 2.673380675623853, 0, -85.5481816199632961, 0, 192.483408644917416, 0, 0, 0, 0, 0, 0, 0, 0, 1.14573457526736557, 0, -64.1611362149724721, 0, 320.805681074862361, 0, -256.644544859889888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.190955762544560929, 0, 0, 0, 64.1611362149724721, 0, -171.096363239926592, 0, 73.3270128171113967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.190955762544560929, 0, 10.693522702495412, 0, -64.1611362149724721, 0, 85.5481816199632961, 0, -24.4423376057037989, 0, 0, 0, + 0, 0, 0, 0, -11.4573457526736557, 0, 0, 0, 0, 0, 0, -22.9146915053473115, 0, 160.40284053743118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160.40284053743118, 0, -384.966817289834833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.9146915053473115, 0, -160.40284053743118, 0, 0, 0, 183.317532042778492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.4573457526736557, 0, -160.40284053743118, 0, 384.966817289834833, 0, -183.317532042778492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 9/2 + 0, 0, 0, 0, 7.82685718908155119, 0, 0, 0, 0, 0, 0, 15.6537143781631024, 0, -109.576000647141717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109.576000647141717, 0, 262.98240155314012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.6537143781631024, 0, 109.576000647141717, 0, 0, 0, -125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.82685718908155119, 0, 109.576000647141717, 0, -262.98240155314012, 0, 125.229715025304819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.39765306947884843, 0, 0, 0, 0, 1.39765306947884843, 0, -67.0873473349847245, 0, 0, 0, 0, 0, 0, -3.9134285945407756, 0, 0, 0, 313.074287563262048, 0, 0, 0, 0, 0, 0, 0, 0, -6.14967350570693308, 0, 187.844572537957229, 0, -313.074287563262048, 0, -250.459430050609638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.9567142972703878, 0, 107.339755735975559, 0, -563.533717613871686, 0, 500.918860101219276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.279530613895769685, 0, -13.4174694669969449, 0, 62.6148575126524095, 0, -50.0918860101219276, 0, 0, 0, 0, 0, + // j = 21/2, mj = 11/2 + 0, -0.855884214414465945, 0, 0, 0, 0, -0.855884214414465945, 0, 41.0824422918943654, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, 0, 0, -191.718064028840372, 0, 0, 0, 0, 0, 0, 0, 0, 3.76589054342365016, 0, -115.030838417304223, 0, 191.718064028840372, 0, 153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.19823790018025232, 0, -65.7319076670309846, 0, 345.092515251912669, 0, -306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.171176842882893189, 0, 8.21648845837887307, 0, -38.3436128057680743, 0, 30.6748902446144595, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17.4600379740551053, 0, 0, 0, 0, 0, 0, -23.2800506320734737, 0, -186.24040505658779, 0, 0, 0, 0, 0, 0, 0, 0, -81.480177212257158, 0, 434.560945132038176, 0, 260.736567079222906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.2800506320734737, 0, 434.560945132038176, 0, -869.121890264076352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17.4600379740551053, 0, -186.24040505658779, 0, 260.736567079222906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 13/2 + 0, 0, 0, 0, -9.46903507810723996, 0, 0, 0, 0, 0, 0, 12.6253801041429866, 0, 101.003040833143893, 0, 0, 0, 0, 0, 0, 0, 0, 44.1888303645004531, 0, -235.673761944002417, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.6253801041429866, 0, -235.673761944002417, 0, 471.347523888004833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.46903507810723996, 0, 101.003040833143893, 0, -141.40425716640145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.20944151822502266, 0, 0, 0, 0, 6.62832455467506797, 0, 79.5398946561008156, 0, 0, 0, 0, 0, 0, 13.2566491093501359, 0, -318.159578624403263, 0, -212.106385749602175, 0, 0, 0, 0, 0, 0, 0, 0, -1.89380701562144799, 0, -159.079789312201631, 0, 1060.53192874801088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.99705554946791864, 0, 227.256841874573759, 0, -636.319157248806525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.315634502603574665, 0, -11.3628420937286879, 0, 30.3009122499431679, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 15/2 + 0, 1.0415407201146763, 0, 0, 0, 0, -3.1246221603440289, 0, -37.4954659241283468, 0, 0, 0, 0, 0, 0, -6.2492443206880578, 0, 149.981863696513387, 0, 99.9879091310089248, 0, 0, 0, 0, 0, 0, 0, 0, 0.892749188669722543, 0, 74.9909318482566936, 0, -499.939545655044624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.82703909745412139, 0, -107.129902640366705, 0, 299.963727393026774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.148791531444953757, 0, 5.35649513201833526, 0, -14.2839870187155607, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -22.6163127796329711, 0, 0, 0, 0, 0, 0, 135.697876677797827, 0, 135.697876677797827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -949.885136744584786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135.697876677797827, 0, 949.885136744584786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.6163127796329711, 0, -135.697876677797827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 17/2 + 0, 0, 0, 0, 8.98681142223825956, 0, 0, 0, 0, 0, 0, -53.9208685334295574, 0, -53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.9208685334295574, 0, -377.446079734006901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.98681142223825956, 0, 53.9208685334295574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3.37005428333934733, 0, 0, 0, 0, -28.0837856944945611, 0, -67.4010856667869467, 0, 0, 0, 0, 0, 0, 15.7269199889169542, 0, 629.076799556678169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33.7005428333934733, 0, -943.615199335017254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.1057666574307952, 0, 269.604342667147787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.374450475926594148, 0, -7.48900951853188297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 19/2 + 0, -1.06570473737587758, 0, 0, 0, 0, 8.88087281146564647, 0, 21.3140947475175515, 0, 0, 0, 0, 0, 0, -4.97328877442076202, 0, -198.931550976830481, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.6570473737587758, 0, 298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.14440731201730169, 0, -85.2563789900702061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.11841163748620862, 0, 2.36823274972417239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24.8664438721038101, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626.634385577016015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298.397326465245721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.8664438721038101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 21/2, mj = 21/2 + 0, 0, 0, 0, -5.42630291944221461, 0, 0, 0, 0, 0, 0, 65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136.742833569943808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65.1156350333065753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.42630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -5.96893321138643607, 0, 0, 0, 0, 89.533998170796541, 0, 0, 0, 0, 0, 0, 0, 0, -250.695194878230315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179.067996341593082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29.8446660569321803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.542630291944221461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -23/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -6.10308329187281232, 0, 0, 0, 0, 91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, -256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.5154164593640616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.554825753806619302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -21/2 + 0, -1.27258083654638245, 0, 0, 0, 0, 19.0887125481957368, 0, 0, 0, 0, 0, 0, 0, 0, -53.4483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38.1774250963914736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.36290418273191227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.115689166958762041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -25.4516167309276491, 0, 0, 0, 0, 0, 0, 305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -641.380741619376757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25.4516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -19/2 + 0, 0, 0, 0, -7.67395118221990013, 0, 0, 0, 0, 0, 0, 92.0874141866388015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193.383569791941483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92.0874141866388015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7.67395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3.45327803199895506, 0, 0, 0, 0, -28.7773169333246255, 0, -69.0655606399791011, 0, 0, 0, 0, 0, 0, 16.1152974826617903, 0, 644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.5327803199895506, 0, -966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.4294145688848252, 0, 276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.383697559110995006, 0, -7.67395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -17/2 + 0, 1.30521641151882637, 0, 0, 0, 0, -10.876803429323553, 0, -26.1043282303765273, 0, 0, 0, 0, 0, 0, 6.09100992042118971, 0, 243.640396816847588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.0521641151882637, 0, -365.460595225271382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.07584160035099142, 0, 104.417312921506109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145024045724314041, 0, -2.90048091448628081, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23.2038473158902465, 0, 0, 0, 0, 0, 0, -139.223083895341479, 0, -139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139.223083895341479, 0, -974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.2038473158902465, 0, 139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -15/2 + 0, 0, 0, 0, 10.3770759875713254, 0, 0, 0, 0, 0, 0, -62.2624559254279527, 0, -62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62.2624559254279527, 0, -435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.3770759875713254, 0, 62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.26998537228122744, 0, 0, 0, 0, 6.80995611684368233, 0, 81.7194734021241879, 0, 0, 0, 0, 0, 0, 13.6199122336873647, 0, -326.877893608496752, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, -1.94570174766962352, 0, -163.438946804248376, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.16138886762047449, 0, 233.484209720354823, 0, -653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32428362461160392, 0, -11.6742104860177411, 0, 31.1312279627139763, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -13/2 + 0, -1.16447792575524938, 0, 0, 0, 0, 3.49343377726574814, 0, 41.9212053271889777, 0, 0, 0, 0, 0, 0, 6.98686755453149629, 0, -167.684821308755911, 0, -111.789880872503941, 0, 0, 0, 0, 0, 0, 0, 0, -0.998123936361642327, 0, -83.8424106543779555, 0, 558.949404362519703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.16072579847853403, 0, 119.774872363397079, 0, -335.369642617511822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.166353989393607054, 0, -5.98874361816985396, 0, 15.9699829817862772, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -17.9662308545095619, 0, 0, 0, 0, 0, 0, 23.9549744726794158, 0, 191.639795781435327, 0, 0, 0, 0, 0, 0, 0, 0, 83.8424106543779555, 0, -447.159523490015762, 0, -268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23.9549744726794158, 0, -447.159523490015762, 0, 894.319046980031525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17.9662308545095619, 0, 191.639795781435327, 0, -268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -11/2 + 0, 0, 0, 0, -10.3728082201740557, 0, 0, 0, 0, 0, 0, 13.8304109602320742, 0, 110.643287681856594, 0, 0, 0, 0, 0, 0, 0, 0, 48.4064383608122598, 0, -258.167671257665386, 0, -154.900602754599231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.8304109602320742, 0, -258.167671257665386, 0, 516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.3728082201740557, 0, 110.643287681856594, 0, -154.900602754599231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.44066780835750773, 0, 0, 0, 0, 1.44066780835750773, 0, -69.1520548011603712, 0, 0, 0, 0, 0, 0, -4.03386986340102165, 0, 0, 0, 322.709589072081732, 0, 0, 0, 0, 0, 0, 0, 0, -6.33893835677303403, 0, 193.625753443249039, 0, -322.709589072081732, 0, -258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.01693493170051083, 0, 110.643287681856594, 0, -580.877260329747118, 0, 516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.288133561671501547, 0, -13.8304109602320742, 0, 64.5419178144163464, 0, -51.6335342515330771, 0, 0, 0, 0, 0, + // j = 23/2, mj = -9/2 + 0, 0.924460610246778137, 0, 0, 0, 0, 0.924460610246778137, 0, -44.3741092918453506, 0, 0, 0, 0, 0, 0, -2.58848970869097878, 0, 0, 0, 207.079176695278303, 0, 0, 0, 0, 0, 0, 0, 0, -4.0676266850858238, 0, 124.247506017166982, 0, -207.079176695278303, 0, -165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.29424485434548939, 0, 70.998574866952561, 0, -372.742518051500945, 0, 331.326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.184892122049355627, 0, -8.87482185836907012, 0, 41.4158353390556606, 0, -33.1326682712445284, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11.8330958111587602, 0, 0, 0, 0, 0, 0, 23.6661916223175203, 0, -165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -165.663341356222642, 0, 397.592019254934341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.6661916223175203, 0, 165.663341356222642, 0, 0, 0, -189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11.8330958111587602, 0, 165.663341356222642, 0, -397.592019254934341, 0, 189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -7/2 + 0, 0, 0, 0, 8.36726229050048951, 0, 0, 0, 0, 0, 0, 16.734524581000979, 0, -117.141672067006853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -117.141672067006853, 0, 281.140012960816447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16.734524581000979, 0, 117.141672067006853, 0, 0, 0, -133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8.36726229050048951, 0, 117.141672067006853, 0, -281.140012960816447, 0, 133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.784430839734420891, 0, 0, 0, 0, -2.87624641235954327, 0, 43.9281270251275699, 0, 0, 0, 0, 0, 0, -3.66067725209396416, 0, 117.141672067006853, 0, -263.568762150765419, 0, 0, 0, 0, 0, 0, 0, 0, -1.56886167946884178, 0, 87.8562540502551398, 0, -439.281270251275699, 0, 351.425016201020559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.261476946578140297, 0, 0, 0, -87.8562540502551398, 0, 234.283344134013706, 0, -100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.261476946578140297, 0, -14.6427090083758566, 0, 87.8562540502551398, 0, -117.141672067006853, 0, 33.469049162001958, 0, 0, 0, + // j = 23/2, mj = -5/2 + 0, -0.607617515708582275, 0, 0, 0, 0, -2.22793089093146834, 0, 34.0265808796806074, 0, 0, 0, 0, 0, 0, -2.83554840664005062, 0, 90.7375490124816198, 0, -204.159485278083644, 0, 0, 0, 0, 0, 0, 0, 0, -1.21523503141716455, 0, 68.0531617593612148, 0, -340.265808796806074, 0, 272.212647037444859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.202539171902860758, 0, 0, 0, -68.0531617593612148, 0, 181.47509802496324, 0, -77.7750420106985312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.202539171902860758, 0, -11.3421936265602025, 0, 68.0531617593612148, 0, -90.7375490124816198, 0, 25.9250140035661771, 0, 0, 0, + 0, 0, 0, 0, -5.67109681328010124, 0, 0, 0, 0, 0, 0, -22.6843872531204049, 0, 90.7375490124816198, 0, 0, 0, 0, 0, 0, 0, 0, -34.0265808796806074, 0, 272.212647037444859, 0, -272.212647037444859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.6843872531204049, 0, 272.212647037444859, 0, -544.425294074889719, 0, 207.400112028529417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.67109681328010124, 0, 90.7375490124816198, 0, -272.212647037444859, 0, 207.400112028529417, 0, -34.5666853380882361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -3/2 + 0, 0, 0, 0, -4.79295160072100929, 0, 0, 0, 0, 0, 0, -19.1718064028840372, 0, 76.6872256115361487, 0, 0, 0, 0, 0, 0, 0, 0, -28.7577096043260558, 0, 230.061676834608446, 0, -230.061676834608446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19.1718064028840372, 0, 230.061676834608446, 0, -460.123353669216892, 0, 175.285087112082626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 76.6872256115361487, 0, -230.061676834608446, 0, 175.285087112082626, 0, -29.2141811853471043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.239647580036050465, 0, 0, 0, 0, 1.19823790018025232, 0, -14.3788548021630279, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -57.5154192086521115, 0, 95.8590320144201859, 0, 0, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -86.2731288129781673, 0, 287.577096043260558, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.19823790018025232, 0, -57.5154192086521115, 0, 287.577096043260558, 0, -306.748902446144595, 0, 65.7319076670309846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.239647580036050465, 0, -14.3788548021630279, 0, 95.8590320144201859, 0, -153.374451223072297, 0, 65.7319076670309846, 0, -5.84283623706942085, 0, + // j = 23/2, mj = -1/2 + 0, 0.220443711424950199, 0, 0, 0, 0, 1.10221855712475099, 0, -13.2266226854970119, 0, 0, 0, 0, 0, 0, 2.20443711424950199, 0, -52.9064907419880478, 0, 88.1774845699800796, 0, 0, 0, 0, 0, 0, 0, 0, 2.20443711424950199, 0, -79.3597361129820716, 0, 264.532453709940239, 0, -141.083975311968127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.10221855712475099, 0, -52.9064907419880478, 0, 264.532453709940239, 0, -282.167950623936255, 0, 60.4645608479863403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.220443711424950199, 0, -13.2266226854970119, 0, 88.1774845699800796, 0, -141.083975311968127, 0, 60.4645608479863403, 0, -5.37462763093211914, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.220443711424950199, 0, 0, 0, 0, 1.10221855712475099, 0, -13.2266226854970119, 0, 0, 0, 0, 0, 0, 2.20443711424950199, 0, -52.9064907419880478, 0, 88.1774845699800796, 0, 0, 0, 0, 0, 0, 0, 0, 2.20443711424950199, 0, -79.3597361129820716, 0, 264.532453709940239, 0, -141.083975311968127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.10221855712475099, 0, -52.9064907419880478, 0, 264.532453709940239, 0, -282.167950623936255, 0, 60.4645608479863403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.220443711424950199, 0, -13.2266226854970119, 0, 88.1774845699800796, 0, -141.083975311968127, 0, 60.4645608479863403, 0, -5.37462763093211914, 0, + // j = 23/2, mj = 3/2 + 0, 0.239647580036050465, 0, 0, 0, 0, 1.19823790018025232, 0, -14.3788548021630279, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -57.5154192086521115, 0, 95.8590320144201859, 0, 0, 0, 0, 0, 0, 0, 0, 2.39647580036050465, 0, -86.2731288129781673, 0, 287.577096043260558, 0, -153.374451223072297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.19823790018025232, 0, -57.5154192086521115, 0, 287.577096043260558, 0, -306.748902446144595, 0, 65.7319076670309846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.239647580036050465, 0, -14.3788548021630279, 0, 95.8590320144201859, 0, -153.374451223072297, 0, 65.7319076670309846, 0, -5.84283623706942085, 0, + 0, 0, 0, 0, 4.79295160072100929, 0, 0, 0, 0, 0, 0, 19.1718064028840372, 0, -76.6872256115361487, 0, 0, 0, 0, 0, 0, 0, 0, 28.7577096043260558, 0, -230.061676834608446, 0, 230.061676834608446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.1718064028840372, 0, -230.061676834608446, 0, 460.123353669216892, 0, -175.285087112082626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.79295160072100929, 0, -76.6872256115361487, 0, 230.061676834608446, 0, -175.285087112082626, 0, 29.2141811853471043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 5/2 + 0, 0, 0, 0, 5.67109681328010124, 0, 0, 0, 0, 0, 0, 22.6843872531204049, 0, -90.7375490124816198, 0, 0, 0, 0, 0, 0, 0, 0, 34.0265808796806074, 0, -272.212647037444859, 0, 272.212647037444859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.6843872531204049, 0, -272.212647037444859, 0, 544.425294074889719, 0, -207.400112028529417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.67109681328010124, 0, -90.7375490124816198, 0, 272.212647037444859, 0, -207.400112028529417, 0, 34.5666853380882361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -0.607617515708582275, 0, 0, 0, 0, -2.22793089093146834, 0, 34.0265808796806074, 0, 0, 0, 0, 0, 0, -2.83554840664005062, 0, 90.7375490124816198, 0, -204.159485278083644, 0, 0, 0, 0, 0, 0, 0, 0, -1.21523503141716455, 0, 68.0531617593612148, 0, -340.265808796806074, 0, 272.212647037444859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.202539171902860758, 0, 0, 0, -68.0531617593612148, 0, 181.47509802496324, 0, -77.7750420106985312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.202539171902860758, 0, -11.3421936265602025, 0, 68.0531617593612148, 0, -90.7375490124816198, 0, 25.9250140035661771, 0, 0, 0, + // j = 23/2, mj = 7/2 + 0, -0.784430839734420891, 0, 0, 0, 0, -2.87624641235954327, 0, 43.9281270251275699, 0, 0, 0, 0, 0, 0, -3.66067725209396416, 0, 117.141672067006853, 0, -263.568762150765419, 0, 0, 0, 0, 0, 0, 0, 0, -1.56886167946884178, 0, 87.8562540502551398, 0, -439.281270251275699, 0, 351.425016201020559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.261476946578140297, 0, 0, 0, -87.8562540502551398, 0, 234.283344134013706, 0, -100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.261476946578140297, 0, -14.6427090083758566, 0, 87.8562540502551398, 0, -117.141672067006853, 0, 33.469049162001958, 0, 0, 0, + 0, 0, 0, 0, -8.36726229050048951, 0, 0, 0, 0, 0, 0, -16.734524581000979, 0, 117.141672067006853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117.141672067006853, 0, -281.140012960816447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16.734524581000979, 0, -117.141672067006853, 0, 0, 0, 133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.36726229050048951, 0, -117.141672067006853, 0, 281.140012960816447, 0, -133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 9/2 + 0, 0, 0, 0, -11.8330958111587602, 0, 0, 0, 0, 0, 0, -23.6661916223175203, 0, 165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165.663341356222642, 0, -397.592019254934341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23.6661916223175203, 0, -165.663341356222642, 0, 0, 0, 189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.8330958111587602, 0, -165.663341356222642, 0, 397.592019254934341, 0, -189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0.924460610246778137, 0, 0, 0, 0, 0.924460610246778137, 0, -44.3741092918453506, 0, 0, 0, 0, 0, 0, -2.58848970869097878, 0, 0, 0, 207.079176695278303, 0, 0, 0, 0, 0, 0, 0, 0, -4.0676266850858238, 0, 124.247506017166982, 0, -207.079176695278303, 0, -165.663341356222642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.29424485434548939, 0, 70.998574866952561, 0, -372.742518051500945, 0, 331.326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.184892122049355627, 0, -8.87482185836907012, 0, 41.4158353390556606, 0, -33.1326682712445284, 0, 0, 0, 0, 0, + // j = 23/2, mj = 11/2 + 0, 1.44066780835750773, 0, 0, 0, 0, 1.44066780835750773, 0, -69.1520548011603712, 0, 0, 0, 0, 0, 0, -4.03386986340102165, 0, 0, 0, 322.709589072081732, 0, 0, 0, 0, 0, 0, 0, 0, -6.33893835677303403, 0, 193.625753443249039, 0, -322.709589072081732, 0, -258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.01693493170051083, 0, 110.643287681856594, 0, -580.877260329747118, 0, 516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.288133561671501547, 0, -13.8304109602320742, 0, 64.5419178144163464, 0, -51.6335342515330771, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10.3728082201740557, 0, 0, 0, 0, 0, 0, -13.8304109602320742, 0, -110.643287681856594, 0, 0, 0, 0, 0, 0, 0, 0, -48.4064383608122598, 0, 258.167671257665386, 0, 154.900602754599231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.8304109602320742, 0, 258.167671257665386, 0, -516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.3728082201740557, 0, -110.643287681856594, 0, 154.900602754599231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 13/2 + 0, 0, 0, 0, 17.9662308545095619, 0, 0, 0, 0, 0, 0, -23.9549744726794158, 0, -191.639795781435327, 0, 0, 0, 0, 0, 0, 0, 0, -83.8424106543779555, 0, 447.159523490015762, 0, 268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23.9549744726794158, 0, 447.159523490015762, 0, -894.319046980031525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17.9662308545095619, 0, -191.639795781435327, 0, 268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.16447792575524938, 0, 0, 0, 0, 3.49343377726574814, 0, 41.9212053271889777, 0, 0, 0, 0, 0, 0, 6.98686755453149629, 0, -167.684821308755911, 0, -111.789880872503941, 0, 0, 0, 0, 0, 0, 0, 0, -0.998123936361642327, 0, -83.8424106543779555, 0, 558.949404362519703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.16072579847853403, 0, 119.774872363397079, 0, -335.369642617511822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.166353989393607054, 0, -5.98874361816985396, 0, 15.9699829817862772, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 15/2 + 0, -2.26998537228122744, 0, 0, 0, 0, 6.80995611684368233, 0, 81.7194734021241879, 0, 0, 0, 0, 0, 0, 13.6199122336873647, 0, -326.877893608496752, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, -1.94570174766962352, 0, -163.438946804248376, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.16138886762047449, 0, 233.484209720354823, 0, -653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32428362461160392, 0, -11.6742104860177411, 0, 31.1312279627139763, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -10.3770759875713254, 0, 0, 0, 0, 0, 0, 62.2624559254279527, 0, 62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -62.2624559254279527, 0, 435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.3770759875713254, 0, -62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 17/2 + 0, 0, 0, 0, -23.2038473158902465, 0, 0, 0, 0, 0, 0, 139.223083895341479, 0, 139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139.223083895341479, 0, 974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23.2038473158902465, 0, -139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.30521641151882637, 0, 0, 0, 0, -10.876803429323553, 0, -26.1043282303765273, 0, 0, 0, 0, 0, 0, 6.09100992042118971, 0, 243.640396816847588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.0521641151882637, 0, -365.460595225271382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.07584160035099142, 0, 104.417312921506109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.145024045724314041, 0, -2.90048091448628081, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 19/2 + 0, 3.45327803199895506, 0, 0, 0, 0, -28.7773169333246255, 0, -69.0655606399791011, 0, 0, 0, 0, 0, 0, 16.1152974826617903, 0, 644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34.5327803199895506, 0, -966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.4294145688848252, 0, 276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.383697559110995006, 0, -7.67395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7.67395118221990013, 0, 0, 0, 0, 0, 0, -92.0874141866388015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193.383569791941483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -92.0874141866388015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.67395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 21/2 + 0, 0, 0, 0, 25.4516167309276491, 0, 0, 0, 0, 0, 0, -305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641.380741619376757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25.4516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.27258083654638245, 0, 0, 0, 0, 19.0887125481957368, 0, 0, 0, 0, 0, 0, 0, 0, -53.4483951349480631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38.1774250963914736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.36290418273191227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.115689166958762041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 23/2 + 0, -6.10308329187281232, 0, 0, 0, 0, 91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, -256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.5154164593640616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.554825753806619302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -23/2 + 0, 6.65790904567943162, 0, 0, 0, 0, -122.061665837456246, 0, 0, 0, 0, 0, 0, 0, 0, 439.421997014842487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -439.421997014842487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122.061665837456246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.65790904567943162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -6.10308329187281232, 0, 0, 0, 0, 0, 0, 91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.5154164593640616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.554825753806619302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -21/2 + 0, 0, 0, 0, 29.2693592405667964, 0, 0, 0, 0, 0, 0, -439.040388608501947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229.31308810380545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -878.080777217003893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146.346796202833982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.66085084005152695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.15689166958762041, 0, 0, 0, 0, -12.7258083654638245, 0, -25.4516167309276491, 0, 0, 0, 0, 0, 0, 15.2709700385565894, 0, 305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.2709700385565894, 0, -641.380741619376757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.7258083654638245, 0, 305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.15689166958762041, 0, -25.4516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -19/2 + 0, -3.83697559110995006, 0, 0, 0, 0, 42.2067315022094507, 0, 84.4134630044189014, 0, 0, 0, 0, 0, 0, -50.6480778026513408, 0, -1012.96155605302682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50.6480778026513408, 0, 2127.21926771135631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42.2067315022094507, 0, -1012.96155605302682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.83697559110995006, 0, 84.4134630044189014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10.3598340959968652, 0, 0, 0, 0, 0, 0, -86.3319507999738764, 0, -69.0655606399791011, 0, 0, 0, 0, 0, 0, 0, 0, 48.3458924479853708, 0, 644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103.598340959968652, 0, -966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40.2882437066544757, 0, 276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.15109267733298502, 0, -7.67395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -17/2 + 0, 0, 0, 0, -27.4095446418953537, 0, 0, 0, 0, 0, 0, 228.412872015794614, 0, 182.730297612635691, 0, 0, 0, 0, 0, 0, 0, 0, -127.911208328844984, 0, -1705.48277771793312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274.095446418953537, 0, 2558.22416657689968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106.59267360737082, 0, -730.921190450542765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.04550496021059485, 0, 20.3033664014039657, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.16019236579451232, 0, 0, 0, 0, 5.80096182897256162, 0, 46.407694631780493, 0, 0, 0, 0, 0, 0, 6.96115419476707395, 0, -278.446167790682958, 0, -139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, -6.96115419476707395, 0, 0, 0, 974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.80096182897256162, 0, 278.446167790682958, 0, -974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.16019236579451232, 0, -46.407694631780493, 0, 139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -15/2 + 0, 2.59426899689283136, 0, 0, 0, 0, -12.9713449844641568, 0, -103.770759875713254, 0, 0, 0, 0, 0, 0, -15.5656139813569882, 0, 622.624559254279527, 0, 311.312279627139763, 0, 0, 0, 0, 0, 0, 0, 0, 15.5656139813569882, 0, 0, 0, -2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.9713449844641568, 0, -622.624559254279527, 0, 2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.59426899689283136, 0, 103.770759875713254, 0, -311.312279627139763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -11.3499268614061372, 0, 0, 0, 0, 0, 0, 34.0497805842184116, 0, 136.199122336873647, 0, 0, 0, 0, 0, 0, 0, 0, 68.0995611684368233, 0, -544.796489347494586, 0, -217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9.72850873834811761, 0, -272.398244673747293, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30.8069443381023724, 0, 389.140349533924704, 0, -653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6214181230580196, 0, -19.4570174766962352, 0, 31.1312279627139763, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -13/2 + 0, 0, 0, 0, 22.1250805893497382, 0, 0, 0, 0, 0, 0, -66.3752417680492147, 0, -265.500967072196859, 0, 0, 0, 0, 0, 0, 0, 0, -132.750483536098429, 0, 1062.00386828878744, 0, 424.801547315514974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.9643547908712042, 0, 531.001934144393718, 0, -2124.00773657757487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60.0537901710921467, 0, -758.574191634848168, 0, 1274.40464194654492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.16072579847853403, 0, 37.9287095817424084, 0, -60.6859353307878535, 0, 0, 0, 0, 0, 0, 0, + 0, 0.998123936361642327, 0, 0, 0, 0, -0.332707978787214109, 0, -53.8986925635286856, 0, 0, 0, 0, 0, 0, -5.98874361816985396, 0, 71.8649234180382475, 0, 287.45969367215299, 0, 0, 0, 0, 0, 0, 0, 0, -5.98874361816985396, 0, 251.527231963133866, 0, -670.739285235023644, 0, -268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.332707978787214109, 0, 71.8649234180382475, 0, -670.739285235023644, 0, 894.319046980031525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.998123936361642327, 0, -53.8986925635286856, 0, 287.45969367215299, 0, -268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -11/2 + 0, -1.72880137002900928, 0, 0, 0, 0, 0.576267123343003093, 0, 93.3552739815665011, 0, 0, 0, 0, 0, 0, 10.3728082201740557, 0, -124.473698642088668, 0, -497.894794568354673, 0, 0, 0, 0, 0, 0, 0, 0, 10.3728082201740557, 0, -435.657945247310338, 0, 1161.75452065949424, 0, 464.701808263797694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.576267123343003093, 0, -124.473698642088668, 0, 1161.75452065949424, 0, -1549.00602754599231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.72880137002900928, 0, 93.3552739815665011, 0, -497.894794568354673, 0, 464.701808263797694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10.0846746585025541, 0, 0, 0, 0, 0, 0, 10.0846746585025541, 0, -161.354794536040866, 0, 0, 0, 0, 0, 0, 0, 0, -28.2370890438071516, 0, 0, 0, 451.793424700914425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44.3725684974112382, 0, 451.793424700914425, 0, -451.793424700914425, 0, -258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.1185445219035758, 0, 258.167671257665386, 0, -813.228164461645965, 0, 516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.01693493170051083, 0, -32.2709589072081732, 0, 90.358684940182885, 0, -51.6335342515330771, 0, 0, 0, 0, 0, + // j = 23/2, mj = -9/2 + 0, 0, 0, 0, -15.7158303741952283, 0, 0, 0, 0, 0, 0, -15.7158303741952283, 0, 251.453285987123653, 0, 0, 0, 0, 0, 0, 0, 0, 44.0043250477466393, 0, 0, 0, -704.06920076394623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69.1496536464590047, 0, -704.06920076394623, 0, 704.06920076394623, 0, 402.325257579397845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22.0021625238733197, 0, -402.325257579397845, 0, 1267.32456137510321, 0, -804.650515158795691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.14316607483904567, 0, 50.2906571974247307, 0, -140.813840152789246, 0, 80.4650515158795691, 0, 0, 0, 0, 0, + 0, -0.73956848819742251, 0, 0, 0, 0, -2.21870546459226753, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, -1.47913697639484502, 0, 94.6647664892700813, 0, -331.326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 1.47913697639484502, 0, 0, 0, -331.326682712445284, 0, 530.122692339912455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.21870546459226753, 0, -94.6647664892700813, 0, 331.326682712445284, 0, 0, 0, -189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.73956848819742251, 0, -47.3323832446350406, 0, 331.326682712445284, 0, -530.122692339912455, 0, 189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -7/2 + 0, 1.04590778631256119, 0, 0, 0, 0, 3.13772335893768356, 0, -66.938098324003916, 0, 0, 0, 0, 0, 0, 2.09181557262512238, 0, -133.876196648007832, 0, 468.566688268027412, 0, 0, 0, 0, 0, 0, 0, 0, -2.09181557262512238, 0, 0, 0, 468.566688268027412, 0, -749.70670122884386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.13772335893768356, 0, 133.876196648007832, 0, -468.566688268027412, 0, 0, 0, 267.752393296015664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.04590778631256119, 0, 66.938098324003916, 0, -468.566688268027412, 0, 749.70670122884386, 0, -267.752393296015664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -7.05987755760978802, 0, 0, 0, 0, 0, 0, -25.8862177112358894, 0, 131.78438107538271, 0, 0, 0, 0, 0, 0, 0, 0, -32.9460952688456774, 0, 351.425016201020559, 0, -474.423771871377755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.119755115219576, 0, 263.568762150765419, 0, -790.706286452296258, 0, 451.832163687026433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.35329251920326267, 0, 0, 0, -158.141257290459252, 0, 301.221442458017622, 0, -100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.35329251920326267, 0, -43.9281270251275699, 0, 158.141257290459252, 0, -150.610721229008811, 0, 33.469049162001958, 0, 0, 0, + // j = 23/2, mj = -5/2 + 0, 0, 0, 0, 9.11426273562873413, 0, 0, 0, 0, 0, 0, 33.4189633639720251, 0, -170.132904398403037, 0, 0, 0, 0, 0, 0, 0, 0, 42.5332260996007593, 0, -453.687745062408099, 0, 612.478455834250933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.2285254712574683, 0, -340.265808796806074, 0, 1020.79742639041822, 0, -583.312815080238984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.03808757854291138, 0, 0, 0, 204.159485278083644, 0, -388.875210053492656, 0, 129.625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.03808757854291138, 0, 56.7109681328010124, 0, -204.159485278083644, 0, 194.437605026746328, 0, -43.2083566726102951, 0, 0, 0, + 0, 0.405078343805721517, 0, 0, 0, 0, 2.02539171902860758, 0, -28.3554840664005062, 0, 0, 0, 0, 0, 0, 4.05078343805721517, 0, -113.421936265602025, 0, 226.843872531204049, 0, 0, 0, 0, 0, 0, 0, 0, 4.05078343805721517, 0, -170.132904398403037, 0, 680.531617593612148, 0, -453.687745062408099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.02539171902860758, 0, -113.421936265602025, 0, 680.531617593612148, 0, -907.375490124816198, 0, 259.250140035661771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.405078343805721517, 0, -28.3554840664005062, 0, 226.843872531204049, 0, -453.687745062408099, 0, 259.250140035661771, 0, -34.5666853380882361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = -3/2 + 0, -0.479295160072100929, 0, 0, 0, 0, -2.39647580036050465, 0, 33.5506612050470651, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 134.20264482018826, 0, -268.40528964037652, 0, 0, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 201.30396723028239, 0, -805.215868921129561, 0, 536.810579280753041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.39647580036050465, 0, 134.20264482018826, 0, -805.215868921129561, 0, 1073.62115856150608, 0, -306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.479295160072100929, 0, 33.5506612050470651, 0, -268.40528964037652, 0, 536.810579280753041, 0, -306.748902446144595, 0, 40.899853659485946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.63612338039655511, 0, 0, 0, 0, 0, 0, 13.1806169019827756, 0, -52.7224676079311022, 0, 0, 0, 0, 0, 0, 0, 0, 26.3612338039655511, 0, -210.889870431724409, 0, 210.889870431724409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26.3612338039655511, 0, -316.334805647586613, 0, 632.669611295173227, 0, -241.01699477911361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.1806169019827756, 0, -210.889870431724409, 0, 632.669611295173227, 0, -482.03398955822722, 0, 80.3389982597045367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.63612338039655511, 0, -52.7224676079311022, 0, 210.889870431724409, 0, -241.01699477911361, 0, 80.3389982597045367, 0, -5.84283623706942085, 0, + // j = 23/2, mj = -1/2 + 0, 0, 0, 0, -2.86576824852435259, 0, 0, 0, 0, 0, 0, -14.3288412426217629, 0, 57.3153649704870517, 0, 0, 0, 0, 0, 0, 0, 0, -28.6576824852435259, 0, 229.261459881948207, 0, -229.261459881948207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28.6576824852435259, 0, 343.89218982292231, 0, -687.784379645844621, 0, 262.013097007940808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.3288412426217629, 0, 229.261459881948207, 0, -687.784379645844621, 0, 524.026194015881616, 0, -87.337699002646936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.86576824852435259, 0, 57.3153649704870517, 0, -229.261459881948207, 0, 262.013097007940808, 0, -87.337699002646936, 0, 6.35183265473795898, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.86576824852435259, 0, 0, 0, 0, 0, 0, 14.3288412426217629, 0, -57.3153649704870517, 0, 0, 0, 0, 0, 0, 0, 0, 28.6576824852435259, 0, -229.261459881948207, 0, 229.261459881948207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.6576824852435259, 0, -343.89218982292231, 0, 687.784379645844621, 0, -262.013097007940808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.3288412426217629, 0, -229.261459881948207, 0, 687.784379645844621, 0, -524.026194015881616, 0, 87.337699002646936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.86576824852435259, 0, -57.3153649704870517, 0, 229.261459881948207, 0, -262.013097007940808, 0, 87.337699002646936, 0, -6.35183265473795898, 0, + // j = 23/2, mj = 3/2 + 0, 0, 0, 0, -2.63612338039655511, 0, 0, 0, 0, 0, 0, -13.1806169019827756, 0, 52.7224676079311022, 0, 0, 0, 0, 0, 0, 0, 0, -26.3612338039655511, 0, 210.889870431724409, 0, -210.889870431724409, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26.3612338039655511, 0, 316.334805647586613, 0, -632.669611295173227, 0, 241.01699477911361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.1806169019827756, 0, 210.889870431724409, 0, -632.669611295173227, 0, 482.03398955822722, 0, -80.3389982597045367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.63612338039655511, 0, 52.7224676079311022, 0, -210.889870431724409, 0, 241.01699477911361, 0, -80.3389982597045367, 0, 5.84283623706942085, 0, + 0, -0.479295160072100929, 0, 0, 0, 0, -2.39647580036050465, 0, 33.5506612050470651, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 134.20264482018826, 0, -268.40528964037652, 0, 0, 0, 0, 0, 0, 0, 0, -4.79295160072100929, 0, 201.30396723028239, 0, -805.215868921129561, 0, 536.810579280753041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.39647580036050465, 0, 134.20264482018826, 0, -805.215868921129561, 0, 1073.62115856150608, 0, -306.748902446144595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.479295160072100929, 0, 33.5506612050470651, 0, -268.40528964037652, 0, 536.810579280753041, 0, -306.748902446144595, 0, 40.899853659485946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 5/2 + 0, 0.405078343805721517, 0, 0, 0, 0, 2.02539171902860758, 0, -28.3554840664005062, 0, 0, 0, 0, 0, 0, 4.05078343805721517, 0, -113.421936265602025, 0, 226.843872531204049, 0, 0, 0, 0, 0, 0, 0, 0, 4.05078343805721517, 0, -170.132904398403037, 0, 680.531617593612148, 0, -453.687745062408099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.02539171902860758, 0, -113.421936265602025, 0, 680.531617593612148, 0, -907.375490124816198, 0, 259.250140035661771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.405078343805721517, 0, -28.3554840664005062, 0, 226.843872531204049, 0, -453.687745062408099, 0, 259.250140035661771, 0, -34.5666853380882361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -9.11426273562873413, 0, 0, 0, 0, 0, 0, -33.4189633639720251, 0, 170.132904398403037, 0, 0, 0, 0, 0, 0, 0, 0, -42.5332260996007593, 0, 453.687745062408099, 0, -612.478455834250933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.2285254712574683, 0, 340.265808796806074, 0, -1020.79742639041822, 0, 583.312815080238984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.03808757854291138, 0, 0, 0, -204.159485278083644, 0, 388.875210053492656, 0, -129.625070017830885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.03808757854291138, 0, -56.7109681328010124, 0, 204.159485278083644, 0, -194.437605026746328, 0, 43.2083566726102951, 0, 0, 0, + // j = 23/2, mj = 7/2 + 0, 0, 0, 0, 7.05987755760978802, 0, 0, 0, 0, 0, 0, 25.8862177112358894, 0, -131.78438107538271, 0, 0, 0, 0, 0, 0, 0, 0, 32.9460952688456774, 0, -351.425016201020559, 0, 474.423771871377755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.119755115219576, 0, -263.568762150765419, 0, 790.706286452296258, 0, -451.832163687026433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.35329251920326267, 0, 0, 0, 158.141257290459252, 0, -301.221442458017622, 0, 100.407147486005874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.35329251920326267, 0, 43.9281270251275699, 0, -158.141257290459252, 0, 150.610721229008811, 0, -33.469049162001958, 0, 0, 0, + 0, 1.04590778631256119, 0, 0, 0, 0, 3.13772335893768356, 0, -66.938098324003916, 0, 0, 0, 0, 0, 0, 2.09181557262512238, 0, -133.876196648007832, 0, 468.566688268027412, 0, 0, 0, 0, 0, 0, 0, 0, -2.09181557262512238, 0, 0, 0, 468.566688268027412, 0, -749.70670122884386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.13772335893768356, 0, 133.876196648007832, 0, -468.566688268027412, 0, 0, 0, 267.752393296015664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.04590778631256119, 0, 66.938098324003916, 0, -468.566688268027412, 0, 749.70670122884386, 0, -267.752393296015664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 9/2 + 0, -0.73956848819742251, 0, 0, 0, 0, -2.21870546459226753, 0, 47.3323832446350406, 0, 0, 0, 0, 0, 0, -1.47913697639484502, 0, 94.6647664892700813, 0, -331.326682712445284, 0, 0, 0, 0, 0, 0, 0, 0, 1.47913697639484502, 0, 0, 0, -331.326682712445284, 0, 530.122692339912455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.21870546459226753, 0, -94.6647664892700813, 0, 331.326682712445284, 0, 0, 0, -189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.73956848819742251, 0, -47.3323832446350406, 0, 331.326682712445284, 0, -530.122692339912455, 0, 189.329532978540163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15.7158303741952283, 0, 0, 0, 0, 0, 0, 15.7158303741952283, 0, -251.453285987123653, 0, 0, 0, 0, 0, 0, 0, 0, -44.0043250477466393, 0, 0, 0, 704.06920076394623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69.1496536464590047, 0, 704.06920076394623, 0, -704.06920076394623, 0, -402.325257579397845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.0021625238733197, 0, 402.325257579397845, 0, -1267.32456137510321, 0, 804.650515158795691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.14316607483904567, 0, -50.2906571974247307, 0, 140.813840152789246, 0, -80.4650515158795691, 0, 0, 0, 0, 0, + // j = 23/2, mj = 11/2 + 0, 0, 0, 0, -10.0846746585025541, 0, 0, 0, 0, 0, 0, -10.0846746585025541, 0, 161.354794536040866, 0, 0, 0, 0, 0, 0, 0, 0, 28.2370890438071516, 0, 0, 0, -451.793424700914425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44.3725684974112382, 0, -451.793424700914425, 0, 451.793424700914425, 0, 258.167671257665386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.1185445219035758, 0, -258.167671257665386, 0, 813.228164461645965, 0, -516.335342515330771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.01693493170051083, 0, 32.2709589072081732, 0, -90.358684940182885, 0, 51.6335342515330771, 0, 0, 0, 0, 0, + 0, -1.72880137002900928, 0, 0, 0, 0, 0.576267123343003093, 0, 93.3552739815665011, 0, 0, 0, 0, 0, 0, 10.3728082201740557, 0, -124.473698642088668, 0, -497.894794568354673, 0, 0, 0, 0, 0, 0, 0, 0, 10.3728082201740557, 0, -435.657945247310338, 0, 1161.75452065949424, 0, 464.701808263797694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.576267123343003093, 0, -124.473698642088668, 0, 1161.75452065949424, 0, -1549.00602754599231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.72880137002900928, 0, 93.3552739815665011, 0, -497.894794568354673, 0, 464.701808263797694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 13/2 + 0, 0.998123936361642327, 0, 0, 0, 0, -0.332707978787214109, 0, -53.8986925635286856, 0, 0, 0, 0, 0, 0, -5.98874361816985396, 0, 71.8649234180382475, 0, 287.45969367215299, 0, 0, 0, 0, 0, 0, 0, 0, -5.98874361816985396, 0, 251.527231963133866, 0, -670.739285235023644, 0, -268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.332707978787214109, 0, 71.8649234180382475, 0, -670.739285235023644, 0, 894.319046980031525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.998123936361642327, 0, -53.8986925635286856, 0, 287.45969367215299, 0, -268.295714094009457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -22.1250805893497382, 0, 0, 0, 0, 0, 0, 66.3752417680492147, 0, 265.500967072196859, 0, 0, 0, 0, 0, 0, 0, 0, 132.750483536098429, 0, -1062.00386828878744, 0, -424.801547315514974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.9643547908712042, 0, -531.001934144393718, 0, 2124.00773657757487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60.0537901710921467, 0, 758.574191634848168, 0, -1274.40464194654492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.16072579847853403, 0, -37.9287095817424084, 0, 60.6859353307878535, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 15/2 + 0, 0, 0, 0, 11.3499268614061372, 0, 0, 0, 0, 0, 0, -34.0497805842184116, 0, -136.199122336873647, 0, 0, 0, 0, 0, 0, 0, 0, -68.0995611684368233, 0, 544.796489347494586, 0, 217.918595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.72850873834811761, 0, 272.398244673747293, 0, -1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.8069443381023724, 0, -389.140349533924704, 0, 653.755787216993503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.6214181230580196, 0, 19.4570174766962352, 0, -31.1312279627139763, 0, 0, 0, 0, 0, 0, 0, + 0, 2.59426899689283136, 0, 0, 0, 0, -12.9713449844641568, 0, -103.770759875713254, 0, 0, 0, 0, 0, 0, -15.5656139813569882, 0, 622.624559254279527, 0, 311.312279627139763, 0, 0, 0, 0, 0, 0, 0, 0, 15.5656139813569882, 0, 0, 0, -2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.9713449844641568, 0, -622.624559254279527, 0, 2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.59426899689283136, 0, 103.770759875713254, 0, -311.312279627139763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 17/2 + 0, -1.16019236579451232, 0, 0, 0, 0, 5.80096182897256162, 0, 46.407694631780493, 0, 0, 0, 0, 0, 0, 6.96115419476707395, 0, -278.446167790682958, 0, -139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, -6.96115419476707395, 0, 0, 0, 974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5.80096182897256162, 0, 278.446167790682958, 0, -974.561587267390353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.16019236579451232, 0, -46.407694631780493, 0, 139.223083895341479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27.4095446418953537, 0, 0, 0, 0, 0, 0, -228.412872015794614, 0, -182.730297612635691, 0, 0, 0, 0, 0, 0, 0, 0, 127.911208328844984, 0, 1705.48277771793312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274.095446418953537, 0, -2558.22416657689968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106.59267360737082, 0, 730.921190450542765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.04550496021059485, 0, -20.3033664014039657, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 19/2 + 0, 0, 0, 0, -10.3598340959968652, 0, 0, 0, 0, 0, 0, 86.3319507999738764, 0, 69.0655606399791011, 0, 0, 0, 0, 0, 0, 0, 0, -48.3458924479853708, 0, -644.611899306471611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -103.598340959968652, 0, 966.917848959707416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40.2882437066544757, 0, -276.262242559916405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.15109267733298502, 0, 7.67395118221990013, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3.83697559110995006, 0, 0, 0, 0, 42.2067315022094507, 0, 84.4134630044189014, 0, 0, 0, 0, 0, 0, -50.6480778026513408, 0, -1012.96155605302682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50.6480778026513408, 0, 2127.21926771135631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42.2067315022094507, 0, -1012.96155605302682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.83697559110995006, 0, 84.4134630044189014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 21/2 + 0, 1.15689166958762041, 0, 0, 0, 0, -12.7258083654638245, 0, -25.4516167309276491, 0, 0, 0, 0, 0, 0, 15.2709700385565894, 0, 305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.2709700385565894, 0, -641.380741619376757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12.7258083654638245, 0, 305.419400771131789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.15689166958762041, 0, -25.4516167309276491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -29.2693592405667964, 0, 0, 0, 0, 0, 0, 439.040388608501947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1229.31308810380545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 878.080777217003893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146.346796202833982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.66085084005152695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 23/2, mj = 23/2 + 0, 0, 0, 0, 6.10308329187281232, 0, 0, 0, 0, 0, 0, -91.5462493780921848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256.329498258658117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -183.09249875618437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30.5154164593640616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.554825753806619302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 6.65790904567943162, 0, 0, 0, 0, -122.061665837456246, 0, 0, 0, 0, 0, 0, 0, 0, 439.421997014842487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -439.421997014842487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122.061665837456246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.65790904567943162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -25/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -6.79519996490629405, 0, 0, 0, 0, 124.578666023282058, 0, 0, 0, 0, 0, 0, 0, 0, -448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124.578666023282058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.79519996490629405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -23/2 + 0, -1.35903999298125881, 0, 0, 0, 0, 24.9157332046564115, 0, 0, 0, 0, 0, 0, 0, 0, -89.6966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89.6966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24.9157332046564115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.35903999298125881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -29.8988798455876938, 0, 0, 0, 0, 0, 0, 448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1255.75295351468314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 896.966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149.494399227938469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.71807998596251762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -21/2 + 0, 0, 0, 0, -8.63106316365916572, 0, 0, 0, 0, 0, 0, 129.465947454887486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362.50465287368496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258.931894909774972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43.1553158182958286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.784642105787196884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3.92321052893598442, 0, 0, 0, 0, -43.1553158182958286, 0, -86.3106316365916572, 0, 0, 0, 0, 0, 0, 51.7863789819549943, 0, 1035.72757963909989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51.7863789819549943, 0, -2175.02791724210976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43.1553158182958286, 0, 1035.72757963909989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.92321052893598442, 0, -86.3106316365916572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -19/2 + 0, 1.41689713908309089, 0, 0, 0, 0, -15.5858685299139998, 0, -31.1717370598279997, 0, 0, 0, 0, 0, 0, 18.7030422358967998, 0, 374.060844717935996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18.7030422358967998, 0, -785.527773907665592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.5858685299139998, 0, 374.060844717935996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.41689713908309089, 0, -31.1717370598279997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 28.0545633538451997, 0, 0, 0, 0, 0, 0, -233.788027948709998, 0, -187.030422358967998, 0, 0, 0, 0, 0, 0, 0, 0, 130.921295651277599, 0, 1745.61727535036798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280.545633538451997, 0, -2618.42591302555197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109.101079709397999, 0, 748.121689435871992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.11717370598279997, 0, -20.7811580398853331, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -17/2 + 0, 0, 0, 0, 11.9625060081673068, 0, 0, 0, 0, 0, 0, -99.6875500680608898, 0, -79.7500400544487119, 0, 0, 0, 0, 0, 0, 0, 0, 55.8250280381140983, 0, 744.333707174854644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119.625060081673068, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46.5208566984284153, 0, 319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.32916733424081186, 0, -8.86111556160541243, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2.65833466848162373, 0, 0, 0, 0, 13.2916733424081186, 0, 106.333386739264949, 0, 0, 0, 0, 0, 0, 15.9500080108897424, 0, -638.000320435589695, 0, -319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, -15.9500080108897424, 0, 0, 0, 2233.00112152456393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13.2916733424081186, 0, 638.000320435589695, 0, -2233.00112152456393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65833466848162373, 0, -106.333386739264949, 0, 319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -15/2 + 0, -1.29713449844641568, 0, 0, 0, 0, 6.48567249223207841, 0, 51.8853799378566272, 0, 0, 0, 0, 0, 0, 7.78280699067849409, 0, -311.312279627139763, 0, -155.656139813569882, 0, 0, 0, 0, 0, 0, 0, 0, -7.78280699067849409, 0, 0, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48567249223207841, 0, 311.312279627139763, 0, -1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.29713449844641568, 0, -51.8853799378566272, 0, 155.656139813569882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -22.6998537228122744, 0, 0, 0, 0, 0, 0, 68.0995611684368233, 0, 272.398244673747293, 0, 0, 0, 0, 0, 0, 0, 0, 136.199122336873647, 0, -1089.59297869498917, 0, -435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19.4570174766962352, 0, -544.796489347494586, 0, 2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61.6138886762047449, 0, 778.280699067849409, 0, -1307.51157443398701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.2428362461160392, 0, -38.9140349533924704, 0, 62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -13/2 + 0, 0, 0, 0, -12.4332219360519051, 0, 0, 0, 0, 0, 0, 37.2996658081557152, 0, 149.198663232622861, 0, 0, 0, 0, 0, 0, 0, 0, 74.5993316163114303, 0, -596.794652930491443, 0, -238.717861172196577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.6570473737587758, 0, -298.397326465245721, 0, 1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33.7473166835694566, 0, 426.281894950351031, 0, -716.153583516589731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.77617456229312929, 0, -21.3140947475175515, 0, 34.1025515960280824, 0, 0, 0, 0, 0, 0, 0, + 0, 1.77617456229312929, 0, 0, 0, 0, -0.592058187431043098, 0, -95.9134263638289819, 0, 0, 0, 0, 0, 0, -10.6570473737587758, 0, 127.884568485105309, 0, 511.538273940421237, 0, 0, 0, 0, 0, 0, 0, 0, -10.6570473737587758, 0, 447.595989697868582, 0, -1193.58930586098289, 0, -477.435722344393154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.592058187431043098, 0, 127.884568485105309, 0, -1193.58930586098289, 0, 1591.45240781464385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.77617456229312929, 0, -95.9134263638289819, 0, 511.538273940421237, 0, -477.435722344393154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -11/2 + 0, 1.07809706940565876, 0, 0, 0, 0, -0.359365689801886252, 0, -58.2172417479055728, 0, 0, 0, 0, 0, 0, -6.46858241643395253, 0, 77.6229889972074304, 0, 310.491955988829722, 0, 0, 0, 0, 0, 0, 0, 0, -6.46858241643395253, 0, 271.680461490226006, 0, -724.481230640602684, 0, -289.792492256241073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.359365689801886252, 0, 77.6229889972074304, 0, -724.481230640602684, 0, 965.974974187470245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.07809706940565876, 0, -58.2172417479055728, 0, 310.491955988829722, 0, -289.792492256241073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 16.1714560410848813, 0, 0, 0, 0, 0, 0, 16.1714560410848813, 0, -258.743296657358101, 0, 0, 0, 0, 0, 0, 0, 0, -45.2800769150376677, 0, 0, 0, 724.481230640602684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71.1544065807734779, 0, 724.481230640602684, 0, -724.481230640602684, 0, -413.989274651772962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.6400384575188339, 0, 413.989274651772962, 0, -1304.06621515308483, 0, 827.978549303545924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.23429120821697627, 0, -51.7486593314716203, 0, 144.896246128120537, 0, -82.7978549303545924, 0, 0, 0, 0, 0, + // j = 25/2, mj = -9/2 + 0, 0, 0, 0, 10.7809706940565876, 0, 0, 0, 0, 0, 0, 10.7809706940565876, 0, -172.495531104905401, 0, 0, 0, 0, 0, 0, 0, 0, -30.1867179433584452, 0, 0, 0, 482.987487093735122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47.4362710538489852, 0, 482.987487093735122, 0, -482.987487093735122, 0, -275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.0933589716792226, 0, 275.992849767848641, 0, -869.37747676872322, 0, 551.985699535697283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.15619413881131751, 0, -34.4991062209810802, 0, 96.5974974187470245, 0, -55.1985699535697283, 0, 0, 0, 0, 0, + 0, -1.07809706940565876, 0, 0, 0, 0, -3.23429120821697627, 0, 68.9982124419621604, 0, 0, 0, 0, 0, 0, -2.15619413881131751, 0, 137.996424883924321, 0, -482.987487093735122, 0, 0, 0, 0, 0, 0, 0, 0, 2.15619413881131751, 0, 0, 0, -482.987487093735122, 0, 772.779979349976196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.23429120821697627, 0, -137.996424883924321, 0, 482.987487093735122, 0, 0, 0, -275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.07809706940565876, 0, -68.9982124419621604, 0, 482.987487093735122, 0, -772.779979349976196, 0, 275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -7/2 + 0, -0.784430839734420891, 0, 0, 0, 0, -2.35329251920326267, 0, 50.203573743002937, 0, 0, 0, 0, 0, 0, -1.56886167946884178, 0, 100.407147486005874, 0, -351.425016201020559, 0, 0, 0, 0, 0, 0, 0, 0, 1.56886167946884178, 0, 0, 0, -351.425016201020559, 0, 562.280025921632895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.35329251920326267, 0, -100.407147486005874, 0, 351.425016201020559, 0, 0, 0, -200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.784430839734420891, 0, -50.203573743002937, 0, 351.425016201020559, 0, -562.280025921632895, 0, 200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -9.41317007681305069, 0, 0, 0, 0, 0, 0, -34.5149569483145192, 0, 175.71250810051028, 0, 0, 0, 0, 0, 0, 0, 0, -43.9281270251275699, 0, 468.566688268027412, 0, -632.565029161837007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.8263401536261014, 0, 351.425016201020559, 0, -1054.27504860306168, 0, 602.442884916035244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.13772335893768356, 0, 0, 0, -210.855009720612336, 0, 401.628589944023496, 0, -133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.13772335893768356, 0, -58.5708360335034265, 0, 210.855009720612336, 0, -200.814294972011748, 0, 44.6253988826692774, 0, 0, 0, + // j = 25/2, mj = -5/2 + 0, 0, 0, 0, -7.44176436131784437, 0, 0, 0, 0, 0, 0, -27.286469324832096, 0, 138.912934744599762, 0, 0, 0, 0, 0, 0, 0, 0, -34.7282336861499404, 0, 370.434492652266031, 0, -500.086565080559142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.8835287226356887, 0, 277.825869489199523, 0, -833.47760846759857, 0, 476.27291912434204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.48058812043928146, 0, 0, 0, -166.695521693519714, 0, 317.515279416228027, 0, -105.838426472076009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.48058812043928146, 0, -46.3043115815332539, 0, 166.695521693519714, 0, -158.757639708114013, 0, 35.279475490692003, 0, 0, 0, + 0, 0.496117624087856292, 0, 0, 0, 0, 2.48058812043928146, 0, -34.7282336861499404, 0, 0, 0, 0, 0, 0, 4.96117624087856292, 0, -138.912934744599762, 0, 277.825869489199523, 0, 0, 0, 0, 0, 0, 0, 0, 4.96117624087856292, 0, -208.369402116899642, 0, 833.47760846759857, 0, -555.651738978399047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.48058812043928146, 0, -138.912934744599762, 0, 833.47760846759857, 0, -1111.30347795679809, 0, 317.515279416228027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.496117624087856292, 0, -34.7282336861499404, 0, 277.825869489199523, 0, -555.651738978399047, 0, 317.515279416228027, 0, -42.3353705888304036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = -3/2 + 0, 0.424849751185551427, 0, 0, 0, 0, 2.12424875592775713, 0, -29.7394825829885999, 0, 0, 0, 0, 0, 0, 4.24849751185551427, 0, -118.957930331954399, 0, 237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, 4.24849751185551427, 0, -178.436895497931599, 0, 713.747581991726397, 0, -475.831721327817598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.12424875592775713, 0, -118.957930331954399, 0, 713.747581991726397, 0, -951.663442655635196, 0, 271.903840758752913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.424849751185551427, 0, -29.7394825829885999, 0, 237.915860663908799, 0, -475.831721327817598, 0, 271.903840758752913, 0, -36.2538454345003884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.97394825829885999, 0, 0, 0, 0, 0, 0, 14.8697412914942999, 0, -59.4789651659771997, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -237.915860663908799, 0, 237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -356.873790995863198, 0, 713.747581991726397, 0, -271.903840758752913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.8697412914942999, 0, -237.915860663908799, 0, 713.747581991726397, 0, -543.807681517505826, 0, 90.634613586250971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.97394825829885999, 0, -59.4789651659771997, 0, 237.915860663908799, 0, -271.903840758752913, 0, 90.634613586250971, 0, -6.59160826081825244, 0, + // j = 25/2, mj = -1/2 + 0, 0, 0, 0, 2.7533410732166562, 0, 0, 0, 0, 0, 0, 13.766705366083281, 0, -55.066821464333124, 0, 0, 0, 0, 0, 0, 0, 0, 27.533410732166562, 0, -220.267285857332496, 0, 220.267285857332496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27.533410732166562, 0, -330.400928785998744, 0, 660.801857571997488, 0, -251.734040979808567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.766705366083281, 0, -220.267285857332496, 0, 660.801857571997488, 0, -503.468081959617133, 0, 83.9113469932695222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.7533410732166562, 0, -55.066821464333124, 0, 220.267285857332496, 0, -251.734040979808567, 0, 83.9113469932695222, 0, -6.10264341769232889, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 1/2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2.7533410732166562, 0, 0, 0, 0, 0, 0, 13.766705366083281, 0, -55.066821464333124, 0, 0, 0, 0, 0, 0, 0, 0, 27.533410732166562, 0, -220.267285857332496, 0, 220.267285857332496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27.533410732166562, 0, -330.400928785998744, 0, 660.801857571997488, 0, -251.734040979808567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.766705366083281, 0, -220.267285857332496, 0, 660.801857571997488, 0, -503.468081959617133, 0, 83.9113469932695222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.7533410732166562, 0, -55.066821464333124, 0, 220.267285857332496, 0, -251.734040979808567, 0, 83.9113469932695222, 0, -6.10264341769232889, 0, + // j = 25/2, mj = 3/2 + 0, 0, 0, 0, 2.97394825829885999, 0, 0, 0, 0, 0, 0, 14.8697412914942999, 0, -59.4789651659771997, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -237.915860663908799, 0, 237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29.7394825829885999, 0, -356.873790995863198, 0, 713.747581991726397, 0, -271.903840758752913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14.8697412914942999, 0, -237.915860663908799, 0, 713.747581991726397, 0, -543.807681517505826, 0, 90.634613586250971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.97394825829885999, 0, -59.4789651659771997, 0, 237.915860663908799, 0, -271.903840758752913, 0, 90.634613586250971, 0, -6.59160826081825244, 0, + 0, -0.424849751185551427, 0, 0, 0, 0, -2.12424875592775713, 0, 29.7394825829885999, 0, 0, 0, 0, 0, 0, -4.24849751185551427, 0, 118.957930331954399, 0, -237.915860663908799, 0, 0, 0, 0, 0, 0, 0, 0, -4.24849751185551427, 0, 178.436895497931599, 0, -713.747581991726397, 0, 475.831721327817598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.12424875592775713, 0, 118.957930331954399, 0, -713.747581991726397, 0, 951.663442655635196, 0, -271.903840758752913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.424849751185551427, 0, 29.7394825829885999, 0, -237.915860663908799, 0, 475.831721327817598, 0, -271.903840758752913, 0, 36.2538454345003884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 5/2 + 0, -0.496117624087856292, 0, 0, 0, 0, -2.48058812043928146, 0, 34.7282336861499404, 0, 0, 0, 0, 0, 0, -4.96117624087856292, 0, 138.912934744599762, 0, -277.825869489199523, 0, 0, 0, 0, 0, 0, 0, 0, -4.96117624087856292, 0, 208.369402116899642, 0, -833.47760846759857, 0, 555.651738978399047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.48058812043928146, 0, 138.912934744599762, 0, -833.47760846759857, 0, 1111.30347795679809, 0, -317.515279416228027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.496117624087856292, 0, 34.7282336861499404, 0, -277.825869489199523, 0, 555.651738978399047, 0, -317.515279416228027, 0, 42.3353705888304036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -7.44176436131784437, 0, 0, 0, 0, 0, 0, -27.286469324832096, 0, 138.912934744599762, 0, 0, 0, 0, 0, 0, 0, 0, -34.7282336861499404, 0, 370.434492652266031, 0, -500.086565080559142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14.8835287226356887, 0, 277.825869489199523, 0, -833.47760846759857, 0, 476.27291912434204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.48058812043928146, 0, 0, 0, -166.695521693519714, 0, 317.515279416228027, 0, -105.838426472076009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.48058812043928146, 0, -46.3043115815332539, 0, 166.695521693519714, 0, -158.757639708114013, 0, 35.279475490692003, 0, 0, 0, + // j = 25/2, mj = 7/2 + 0, 0, 0, 0, -9.41317007681305069, 0, 0, 0, 0, 0, 0, -34.5149569483145192, 0, 175.71250810051028, 0, 0, 0, 0, 0, 0, 0, 0, -43.9281270251275699, 0, 468.566688268027412, 0, -632.565029161837007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.8263401536261014, 0, 351.425016201020559, 0, -1054.27504860306168, 0, 602.442884916035244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.13772335893768356, 0, 0, 0, -210.855009720612336, 0, 401.628589944023496, 0, -133.876196648007832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.13772335893768356, 0, -58.5708360335034265, 0, 210.855009720612336, 0, -200.814294972011748, 0, 44.6253988826692774, 0, 0, 0, + 0, 0.784430839734420891, 0, 0, 0, 0, 2.35329251920326267, 0, -50.203573743002937, 0, 0, 0, 0, 0, 0, 1.56886167946884178, 0, -100.407147486005874, 0, 351.425016201020559, 0, 0, 0, 0, 0, 0, 0, 0, -1.56886167946884178, 0, 0, 0, 351.425016201020559, 0, -562.280025921632895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.35329251920326267, 0, 100.407147486005874, 0, -351.425016201020559, 0, 0, 0, 200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.784430839734420891, 0, 50.203573743002937, 0, -351.425016201020559, 0, 562.280025921632895, 0, -200.814294972011748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 9/2 + 0, 1.07809706940565876, 0, 0, 0, 0, 3.23429120821697627, 0, -68.9982124419621604, 0, 0, 0, 0, 0, 0, 2.15619413881131751, 0, -137.996424883924321, 0, 482.987487093735122, 0, 0, 0, 0, 0, 0, 0, 0, -2.15619413881131751, 0, 0, 0, 482.987487093735122, 0, -772.779979349976196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.23429120821697627, 0, 137.996424883924321, 0, -482.987487093735122, 0, 0, 0, 275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.07809706940565876, 0, 68.9982124419621604, 0, -482.987487093735122, 0, 772.779979349976196, 0, -275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 10.7809706940565876, 0, 0, 0, 0, 0, 0, 10.7809706940565876, 0, -172.495531104905401, 0, 0, 0, 0, 0, 0, 0, 0, -30.1867179433584452, 0, 0, 0, 482.987487093735122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -47.4362710538489852, 0, 482.987487093735122, 0, -482.987487093735122, 0, -275.992849767848641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15.0933589716792226, 0, 275.992849767848641, 0, -869.37747676872322, 0, 551.985699535697283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.15619413881131751, 0, -34.4991062209810802, 0, 96.5974974187470245, 0, -55.1985699535697283, 0, 0, 0, 0, 0, + // j = 25/2, mj = 11/2 + 0, 0, 0, 0, 16.1714560410848813, 0, 0, 0, 0, 0, 0, 16.1714560410848813, 0, -258.743296657358101, 0, 0, 0, 0, 0, 0, 0, 0, -45.2800769150376677, 0, 0, 0, 724.481230640602684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71.1544065807734779, 0, 724.481230640602684, 0, -724.481230640602684, 0, -413.989274651772962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -22.6400384575188339, 0, 413.989274651772962, 0, -1304.06621515308483, 0, 827.978549303545924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.23429120821697627, 0, -51.7486593314716203, 0, 144.896246128120537, 0, -82.7978549303545924, 0, 0, 0, 0, 0, + 0, -1.07809706940565876, 0, 0, 0, 0, 0.359365689801886252, 0, 58.2172417479055728, 0, 0, 0, 0, 0, 0, 6.46858241643395253, 0, -77.6229889972074304, 0, -310.491955988829722, 0, 0, 0, 0, 0, 0, 0, 0, 6.46858241643395253, 0, -271.680461490226006, 0, 724.481230640602684, 0, 289.792492256241073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.359365689801886252, 0, -77.6229889972074304, 0, 724.481230640602684, 0, -965.974974187470245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.07809706940565876, 0, 58.2172417479055728, 0, -310.491955988829722, 0, 289.792492256241073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 13/2 + 0, -1.77617456229312929, 0, 0, 0, 0, 0.592058187431043098, 0, 95.9134263638289819, 0, 0, 0, 0, 0, 0, 10.6570473737587758, 0, -127.884568485105309, 0, -511.538273940421237, 0, 0, 0, 0, 0, 0, 0, 0, 10.6570473737587758, 0, -447.595989697868582, 0, 1193.58930586098289, 0, 477.435722344393154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.592058187431043098, 0, -127.884568485105309, 0, 1193.58930586098289, 0, -1591.45240781464385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.77617456229312929, 0, 95.9134263638289819, 0, -511.538273940421237, 0, 477.435722344393154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -12.4332219360519051, 0, 0, 0, 0, 0, 0, 37.2996658081557152, 0, 149.198663232622861, 0, 0, 0, 0, 0, 0, 0, 0, 74.5993316163114303, 0, -596.794652930491443, 0, -238.717861172196577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10.6570473737587758, 0, -298.397326465245721, 0, 1193.58930586098289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -33.7473166835694566, 0, 426.281894950351031, 0, -716.153583516589731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.77617456229312929, 0, -21.3140947475175515, 0, 34.1025515960280824, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 15/2 + 0, 0, 0, 0, -22.6998537228122744, 0, 0, 0, 0, 0, 0, 68.0995611684368233, 0, 272.398244673747293, 0, 0, 0, 0, 0, 0, 0, 0, 136.199122336873647, 0, -1089.59297869498917, 0, -435.837191477995669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19.4570174766962352, 0, -544.796489347494586, 0, 2179.18595738997834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61.6138886762047449, 0, 778.280699067849409, 0, -1307.51157443398701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.2428362461160392, 0, -38.9140349533924704, 0, 62.2624559254279527, 0, 0, 0, 0, 0, 0, 0, + 0, 1.29713449844641568, 0, 0, 0, 0, -6.48567249223207841, 0, -51.8853799378566272, 0, 0, 0, 0, 0, 0, -7.78280699067849409, 0, 311.312279627139763, 0, 155.656139813569882, 0, 0, 0, 0, 0, 0, 0, 0, 7.78280699067849409, 0, 0, 0, -1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.48567249223207841, 0, -311.312279627139763, 0, 1089.59297869498917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.29713449844641568, 0, 51.8853799378566272, 0, -155.656139813569882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 17/2 + 0, 2.65833466848162373, 0, 0, 0, 0, -13.2916733424081186, 0, -106.333386739264949, 0, 0, 0, 0, 0, 0, -15.9500080108897424, 0, 638.000320435589695, 0, 319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 15.9500080108897424, 0, 0, 0, -2233.00112152456393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.2916733424081186, 0, -638.000320435589695, 0, 2233.00112152456393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.65833466848162373, 0, 106.333386739264949, 0, -319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11.9625060081673068, 0, 0, 0, 0, 0, 0, -99.6875500680608898, 0, -79.7500400544487119, 0, 0, 0, 0, 0, 0, 0, 0, 55.8250280381140983, 0, 744.333707174854644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119.625060081673068, 0, -1116.50056076228197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -46.5208566984284153, 0, 319.000160217794847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.32916733424081186, 0, -8.86111556160541243, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 19/2 + 0, 0, 0, 0, 28.0545633538451997, 0, 0, 0, 0, 0, 0, -233.788027948709998, 0, -187.030422358967998, 0, 0, 0, 0, 0, 0, 0, 0, 130.921295651277599, 0, 1745.61727535036798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280.545633538451997, 0, -2618.42591302555197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -109.101079709397999, 0, 748.121689435871992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.11717370598279997, 0, -20.7811580398853331, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1.41689713908309089, 0, 0, 0, 0, 15.5858685299139998, 0, 31.1717370598279997, 0, 0, 0, 0, 0, 0, -18.7030422358967998, 0, -374.060844717935996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18.7030422358967998, 0, 785.527773907665592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15.5858685299139998, 0, -374.060844717935996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.41689713908309089, 0, 31.1717370598279997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 21/2 + 0, -3.92321052893598442, 0, 0, 0, 0, 43.1553158182958286, 0, 86.3106316365916572, 0, 0, 0, 0, 0, 0, -51.7863789819549943, 0, -1035.72757963909989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51.7863789819549943, 0, 2175.02791724210976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43.1553158182958286, 0, -1035.72757963909989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.92321052893598442, 0, 86.3106316365916572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -8.63106316365916572, 0, 0, 0, 0, 0, 0, 129.465947454887486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -362.50465287368496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258.931894909774972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43.1553158182958286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.784642105787196884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 23/2 + 0, 0, 0, 0, -29.8988798455876938, 0, 0, 0, 0, 0, 0, 448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1255.75295351468314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 896.966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -149.494399227938469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.71807998596251762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1.35903999298125881, 0, 0, 0, 0, -24.9157332046564115, 0, 0, 0, 0, 0, 0, 0, 0, 89.6966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -89.6966395367630815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24.9157332046564115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.35903999298125881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + // j = 25/2, mj = 25/2 + 0, 6.79519996490629405, 0, 0, 0, 0, -124.578666023282058, 0, 0, 0, 0, 0, 0, 0, 0, 448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -448.483197683815407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124.578666023282058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.79519996490629405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; + +static int _len_cart[] = { + 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136 +}; + +struct cart2sp_t { + dtype *cart2sph; + //dtype *cart2j_lt_lR; // j < kappa, l > 0 + //dtype *cart2j_lt_lI; // j < kappa, l > 0 + //dtype *cart2j_gt_lR; // j > kappa, l < 0 + //dtype *cart2j_gt_lI; // j > kappa, l < 0 +}; + +// [*] = n(n+1)(n+2)(n+3)/4+(n+1)(n+2)(n+3)/6 + + +//static struct cart2sp_t g_c2s[] = {}; + + +// removed the ones not used to reduce code size, see below. +/*static struct cart2sp_t g_c2s[] = { + {g_trans_cart2sph ,g_trans_cart2jR , g_trans_cart2jI , g_trans_cart2jR , g_trans_cart2jI }, // 1 + {g_trans_cart2sph+1 ,g_trans_cart2jR+4 , g_trans_cart2jI+4 , g_trans_cart2jR+16 , g_trans_cart2jI+16 }, // 2 + {g_trans_cart2sph+10 ,g_trans_cart2jR+40 , g_trans_cart2jI+40 , g_trans_cart2jR+88 , g_trans_cart2jI+88 }, //3 + {g_trans_cart2sph+40 ,g_trans_cart2jR+160 , g_trans_cart2jI+160 , g_trans_cart2jR+280 , g_trans_cart2jI+280 }, // 4 + {g_trans_cart2sph+110 ,g_trans_cart2jR+440 , g_trans_cart2jI+440 , g_trans_cart2jR+680 , g_trans_cart2jI+680 }, //5 + {g_trans_cart2sph+245 ,g_trans_cart2jR+980 , g_trans_cart2jI+980 , g_trans_cart2jR+1400 , g_trans_cart2jI+1400 }, + {g_trans_cart2sph+476 ,g_trans_cart2jR+1904 , g_trans_cart2jI+1904 , g_trans_cart2jR+2576 , g_trans_cart2jI+2576 }, + {g_trans_cart2sph+840 ,g_trans_cart2jR+3360 , g_trans_cart2jI+3360 , g_trans_cart2jR+4368 , g_trans_cart2jI+4368 }, + {g_trans_cart2sph+1380,g_trans_cart2jR+5520 , g_trans_cart2jI+5520 , g_trans_cart2jR+6960 , g_trans_cart2jI+6960 }, + {g_trans_cart2sph+2145,g_trans_cart2jR+8580 , g_trans_cart2jI+8580 , g_trans_cart2jR+10560, g_trans_cart2jI+10560}, + {g_trans_cart2sph+3190,g_trans_cart2jR+12760, g_trans_cart2jI+12760, g_trans_cart2jR+15400, g_trans_cart2jI+15400}, + {g_trans_cart2sph+4576,g_trans_cart2jR+18304, g_trans_cart2jI+18304, g_trans_cart2jR+21736, g_trans_cart2jI+21736}, + {g_trans_cart2sph+6370,g_trans_cart2jR+25480, g_trans_cart2jI+25480, g_trans_cart2jR+29848, g_trans_cart2jI+29848}, + {g_trans_cart2sph+8645, NULL, NULL, NULL, NULL}, + {g_trans_cart2sph+11480, NULL, NULL, NULL, NULL}, + {g_trans_cart2sph+14960, NULL, NULL, NULL, NULL}, +};*/ + + +static struct cart2sp_t g_c2s[] = { + {g_trans_cart2sph }, // 1 + {g_trans_cart2sph+1 }, // 2 + {g_trans_cart2sph+10 }, //3 + {g_trans_cart2sph+40 }, // 4 + {g_trans_cart2sph+110 }, //5 + {g_trans_cart2sph+245 }, + {g_trans_cart2sph+476 }, + {g_trans_cart2sph+840 }, + {g_trans_cart2sph+1380}, + {g_trans_cart2sph+2145}, + {g_trans_cart2sph+3190}, + {g_trans_cart2sph+4576}, + {g_trans_cart2sph+6370}, + {g_trans_cart2sph+8645}, + {g_trans_cart2sph+11480}, + {g_trans_cart2sph+14960}, +}; + + +void CINTdgemm_NN1(int m, int n, int k, + dtype *a, dtype *b, dtype *c, int ldc) { + int i, j, kp; + dtype bi; + for (j = 0; j < n; j++) { + for (i = 0; i < m; i++) { + c[i+ldc*j] = 0; + } + for (kp = 0; kp < k; kp++) { + bi = b[kp+k*j]; +#pragma GCC ivdep + for (i = 0; i < m; i++) { + c[i+ldc*j] += a[i+m*kp] * bi; + } + } + } +} + +void CINTdgemm_NN(int m, int n, int k, dtype *a, dtype *b, dtype *c) { + CINTdgemm_NN1(m, n, k, a, b, c, m); +} + +void CINTdgemm_TN(int m, int n, int k, + dtype *a, dtype *b, dtype *c) +{ + int i, j, kp; + dtype ci; + for (j = 0; j < n; j++) { + for (i = 0; i < m; i++) { + ci = 0; +#pragma GCC ivdep + for (kp = 0; kp < k; kp++) { + ci += a[kp+k*i] * b[kp+k*j]; + } + c[i+m*j] = ci; + } + } +} + +// transform integrals from cartesian to spheric +static dtype *a_bra_cart2spheric(dtype *gsph, int nket, dtype *gcart, int l) +{ + int nf = _len_cart[l]; + int nd = l * 2 + 1; + CINTdgemm_TN(nd, nket, nf, g_c2s[l].cart2sph, gcart, gsph); + return gsph; +} + +static dtype *a_ket_cart2spheric(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) +{ + int nf = _len_cart[l]; + int nd = l * 2 + 1; + CINTdgemm_NN1(nbra, nd, nf, gcart, g_c2s[l].cart2sph, gsph, lds); + return gsph; +} + +// transform s function from cartesian to spheric +static dtype *s_bra_cart2spheric(dtype *gsph, int nket, dtype *gcart, int l) +{ + /* + int i; + for (i = 0; i < nket; i++) { + *gsph = gcart[i]; + }*/ + return gcart; +} +static dtype *s_ket_cart2spheric(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) +{ + /* + int i; + for (i = 0; i < nbra; i++) { + gsph[i] = gcart[i]; + }*/ + return gcart; +} + +// transform p function from cartesian to spheric +static dtype *p_bra_cart2spheric(dtype *gsph, int nket, dtype *gcart, int l) +{ + return gcart; +} +static dtype *p_ket_cart2spheric(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) +{ + return gcart; +} +// transform d function from cartesian to spheric +static dtype *d_bra_cart2spheric(dtype *gsph, int nket, dtype *gcart, int l) +{ + dtype *coeff_c2s = g_c2s[2].cart2sph; + dtype *pgsph = gsph; + int i; + for (i = 0; i < nket; i++) { + gsph[0] = coeff_c2s[ 1] * gcart[1]; + gsph[1] = coeff_c2s[10] * gcart[4]; + gsph[2] = coeff_c2s[12] * gcart[0] + + coeff_c2s[15] * gcart[3] + + coeff_c2s[17] * gcart[5]; + gsph[3] = coeff_c2s[20] * gcart[2]; + gsph[4] = coeff_c2s[24] * gcart[0] + + coeff_c2s[27] * gcart[3]; + gsph += 5; + gcart += 6; + } + return pgsph; +} +static dtype *d_ket_cart2spheric(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) +{ + dtype *coeff_c2s = g_c2s[2].cart2sph; + dtype *pgsph = gsph; + int i; + for (i = 0; i < nbra; i++) { + gsph[0*lds+i] = coeff_c2s[ 1] * gcart[1*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[1*lds+i] = coeff_c2s[10] * gcart[4*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[2*lds+i] = coeff_c2s[12] * gcart[0*nbra+i] + + coeff_c2s[15] * gcart[3*nbra+i] + + coeff_c2s[17] * gcart[5*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[3*lds+i] = coeff_c2s[20] * gcart[2*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[4*lds+i] = coeff_c2s[24] * gcart[0*nbra+i] + + coeff_c2s[27] * gcart[3*nbra+i]; + } + return pgsph; +} + +// transform f function from cartesian to spheric +static dtype *f_bra_cart2spheric(dtype *gsph, int nket, dtype *gcart, int l) +{ + dtype *coeff_c2s = g_c2s[3].cart2sph; + dtype *pgsph = gsph; + int i; + for (i = 0; i < nket; i++) { + gsph[0] = coeff_c2s[ 1] * gcart[1] + + coeff_c2s[ 6] * gcart[6]; + gsph[1] = coeff_c2s[14] * gcart[4]; + gsph[2] = coeff_c2s[21] * gcart[1] + + coeff_c2s[26] * gcart[6] + + coeff_c2s[28] * gcart[8]; + gsph[3] = coeff_c2s[32] * gcart[2] + + coeff_c2s[37] * gcart[7] + + coeff_c2s[39] * gcart[9]; + gsph[4] = coeff_c2s[40] * gcart[0] + + coeff_c2s[43] * gcart[3] + + coeff_c2s[45] * gcart[5]; + gsph[5] = coeff_c2s[52] * gcart[2] + + coeff_c2s[57] * gcart[7]; + gsph[6] = coeff_c2s[60] * gcart[0] + + coeff_c2s[63] * gcart[3]; + gsph += 7; + gcart += 10; + } + return pgsph; +} +static dtype *f_ket_cart2spheric(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) +{ + dtype *coeff_c2s = g_c2s[3].cart2sph; + dtype *pgsph = gsph; + int i; + for (i = 0; i < nbra; i++) { + gsph[0*lds+i] = coeff_c2s[ 1] * gcart[1*nbra+i] + + coeff_c2s[ 6] * gcart[6*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[1*lds+i] = coeff_c2s[14] * gcart[4*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[2*lds+i] = coeff_c2s[21] * gcart[1*nbra+i] + + coeff_c2s[26] * gcart[6*nbra+i] + + coeff_c2s[28] * gcart[8*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[3*lds+i] = coeff_c2s[32] * gcart[2*nbra+i] + + coeff_c2s[37] * gcart[7*nbra+i] + + coeff_c2s[39] * gcart[9*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[4*lds+i] = coeff_c2s[40] * gcart[0*nbra+i] + + coeff_c2s[43] * gcart[3*nbra+i] + + coeff_c2s[45] * gcart[5*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[5*lds+i] = coeff_c2s[52] * gcart[2*nbra+i] + + coeff_c2s[57] * gcart[7*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[6*lds+i] = coeff_c2s[60] * gcart[0*nbra+i] + + coeff_c2s[63] * gcart[3*nbra+i]; + } + return pgsph; +} + +// transform g function from cartesian to spheric +static dtype *g_bra_cart2spheric(dtype *gsph, int nket, dtype *gcart, int l) +{ + dtype *coeff_c2s = g_c2s[4].cart2sph; + dtype *pgsph = gsph; + int i; + for (i = 0; i < nket; i++) { + gsph[0] = coeff_c2s[ 1] * gcart[ 1] + + coeff_c2s[ 6] * gcart[ 6]; + gsph[1] = coeff_c2s[ 19] * gcart[ 4] + + coeff_c2s[ 26] * gcart[11]; + gsph[2] = coeff_c2s[ 31] * gcart[ 1] + + coeff_c2s[ 36] * gcart[ 6] + + coeff_c2s[ 38] * gcart[ 8]; + gsph[3] = coeff_c2s[ 49] * gcart[ 4] + + coeff_c2s[ 56] * gcart[11] + + coeff_c2s[ 58] * gcart[13]; + gsph[4] = coeff_c2s[ 60] * gcart[ 0] + + coeff_c2s[ 63] * gcart[ 3] + + coeff_c2s[ 65] * gcart[ 5] + + coeff_c2s[ 70] * gcart[10] + + coeff_c2s[ 72] * gcart[12] + + coeff_c2s[ 74] * gcart[14]; + gsph[5] = coeff_c2s[ 77] * gcart[ 2] + + coeff_c2s[ 82] * gcart[ 7] + + coeff_c2s[ 84] * gcart[ 9]; + gsph[6] = coeff_c2s[ 90] * gcart[ 0] + + coeff_c2s[ 95] * gcart[ 5] + + coeff_c2s[100] * gcart[10] + + coeff_c2s[102] * gcart[12]; + gsph[7] = coeff_c2s[107] * gcart[ 2] + + coeff_c2s[112] * gcart[ 7]; + gsph[8] = coeff_c2s[120] * gcart[ 0] + + coeff_c2s[123] * gcart[ 3] + + coeff_c2s[130] * gcart[10]; + gsph += 9; + gcart += 15; + } + return pgsph; +} +static dtype *g_ket_cart2spheric(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) +{ + dtype *coeff_c2s = g_c2s[4].cart2sph; + dtype *pgsph = gsph; + int i; + for (i = 0; i < nbra; i++) { + gsph[0*lds+i] = coeff_c2s[ 1] * gcart[ 1*nbra+i] + + coeff_c2s[ 6] * gcart[ 6*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[1*lds+i] = coeff_c2s[ 19] * gcart[ 4*nbra+i] + + coeff_c2s[ 26] * gcart[11*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[2*lds+i] = coeff_c2s[ 31] * gcart[ 1*nbra+i] + + coeff_c2s[ 36] * gcart[ 6*nbra+i] + + coeff_c2s[ 38] * gcart[ 8*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[3*lds+i] = coeff_c2s[ 49] * gcart[ 4*nbra+i] + + coeff_c2s[ 56] * gcart[11*nbra+i] + + coeff_c2s[ 58] * gcart[13*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[4*lds+i] = coeff_c2s[ 60] * gcart[ 0*nbra+i] + + coeff_c2s[ 63] * gcart[ 3*nbra+i] + + coeff_c2s[ 65] * gcart[ 5*nbra+i] + + coeff_c2s[ 70] * gcart[10*nbra+i] + + coeff_c2s[ 72] * gcart[12*nbra+i] + + coeff_c2s[ 74] * gcart[14*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[5*lds+i] = coeff_c2s[ 77] * gcart[ 2*nbra+i] + + coeff_c2s[ 82] * gcart[ 7*nbra+i] + + coeff_c2s[ 84] * gcart[ 9*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[6*lds+i] = coeff_c2s[ 90] * gcart[ 0*nbra+i] + + coeff_c2s[ 95] * gcart[ 5*nbra+i] + + coeff_c2s[100] * gcart[10*nbra+i] + + coeff_c2s[102] * gcart[12*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[7*lds+i] = coeff_c2s[107] * gcart[ 2*nbra+i] + + coeff_c2s[112] * gcart[ 7*nbra+i]; + } + for (i = 0; i < nbra; i++) { + gsph[8*lds+i] = coeff_c2s[120] * gcart[ 0*nbra+i] + + coeff_c2s[123] * gcart[ 3*nbra+i] + + coeff_c2s[130] * gcart[10*nbra+i]; + } + return pgsph; +} + + +typedef dtype *(*Funcs) (dtype *gsph, int nket, dtype *gcart, int l); +Funcs c2s_bra_sph[16] = { + + s_bra_cart2spheric, + p_bra_cart2spheric, + d_bra_cart2spheric, + f_bra_cart2spheric, + g_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, + a_bra_cart2spheric, +}; + + +dtype *(*c2s_ket_sph[])(dtype *gsph, dtype *gcart, + int lds, int nbra, int l) = { + s_ket_cart2spheric, + p_ket_cart2spheric, + d_ket_cart2spheric, + f_ket_cart2spheric, + g_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, + a_ket_cart2spheric, +}; + + + + /* use f_ket to transform k,l for gctr(i,j,k,l), where + * sizsph = nbra * (2*l+1) + * sizcart = nbra * (l*(l+1)/2) + * and return the pointer to the buffer which holds the transformed gctr + */ +static dtype *sph2e_inner(dtype *gsph, dtype *gcart, int l, int nbra, int ncall, int sizsph, int sizcart) +{ + int n; + + if (l == 0 || l == 1) return gcart; + else if (l == 2){ + for (n = 0; n < ncall; n++) { + d_ket_cart2spheric(gsph+n*sizsph, gcart+n*sizcart, nbra, nbra, l); + } + } + else if (l == 3){ + for (n = 0; n < ncall; n++) { + f_ket_cart2spheric(gsph+n*sizsph, gcart+n*sizcart, nbra, nbra, l); + } + } + else if (l == 4) { + for (n = 0; n < ncall; n++) { + g_ket_cart2spheric(gsph+n*sizsph, gcart+n*sizcart, nbra, nbra, l); + } + } + else { + for (n = 0; n < ncall; n++) { + a_ket_cart2spheric(gsph+n*sizsph, gcart+n*sizcart, nbra, nbra, l); + } + } + + return gsph; +} + + +/* + * gctr(i,k,l,j) -> fijkl(i,j,k,l) + * fijkl(ic:ic-1+di,jc:jc-1+dj,kc:kc-1+dk,lc:lc-1+dl) + * fijkl(ni,nj,nk,nl), gctr(mi,mk,ml,mj) + */ +static void dcopy_iklj(dtype *fijkl, const dtype *gctr, const int ni, const int nj, const int nk, const int nl, const int mi, const int mj, const int mk, const int ml) +{ + const size_t nij = ni * nj; + const size_t nijk = nij * nk; + const size_t mik = mi * mk; + const size_t mikl = mik * ml; + int i, j, k, l; + dtype *pijkl; + const dtype *pgctr; + + switch (mi) { + case 1: + for (l = 0; l < ml; l++) { + for (k = 0; k < mk; k++) { + pijkl = fijkl + k * nij; + pgctr = gctr + k * mi; +#pragma GCC ivdep + for (j = 0; j < mj; j++) { + pijkl[ni*j] = pgctr[mikl*j]; + } + } + fijkl += nijk; + gctr += mik; + } + break; + case 3: + for (l = 0; l < ml; l++) { + for (k = 0; k < mk; k++) { + pijkl = fijkl + k * nij; + pgctr = gctr + k * mi; +#pragma GCC ivdep + for (j = 0; j < mj; j++) { + pijkl[ni*j+0] = pgctr[mikl*j+0]; + pijkl[ni*j+1] = pgctr[mikl*j+1]; + pijkl[ni*j+2] = pgctr[mikl*j+2]; + } + } + fijkl += nijk; + gctr += mik; + } + break; + case 5: + for (l = 0; l < ml; l++) { + for (k = 0; k < mk; k++) { + pijkl = fijkl + k * nij; + pgctr = gctr + k * mi; +#pragma GCC ivdep + for (j = 0; j < mj; j++) { + pijkl[ni*j+0] = pgctr[mikl*j+0]; + pijkl[ni*j+1] = pgctr[mikl*j+1]; + pijkl[ni*j+2] = pgctr[mikl*j+2]; + pijkl[ni*j+3] = pgctr[mikl*j+3]; + pijkl[ni*j+4] = pgctr[mikl*j+4]; + } + } + fijkl += nijk; + gctr += mik; + } + break; + case 6: + for (l = 0; l < ml; l++) { + for (k = 0; k < mk; k++) { + pijkl = fijkl + k * nij; + pgctr = gctr + k * mi; +#pragma GCC ivdep + for (j = 0; j < mj; j++) { + pijkl[ni*j+0] = pgctr[mikl*j+0]; + pijkl[ni*j+1] = pgctr[mikl*j+1]; + pijkl[ni*j+2] = pgctr[mikl*j+2]; + pijkl[ni*j+3] = pgctr[mikl*j+3]; + pijkl[ni*j+4] = pgctr[mikl*j+4]; + pijkl[ni*j+5] = pgctr[mikl*j+5]; + } + } + fijkl += nijk; + gctr += mik; + } + break; + case 7: + for (l = 0; l < ml; l++) { + for (k = 0; k < mk; k++) { + pijkl = fijkl + k * nij; + pgctr = gctr + k * mi; +#pragma GCC ivdep + for (j = 0; j < mj; j++) { + pijkl[ni*j+0] = pgctr[mikl*j+0]; + pijkl[ni*j+1] = pgctr[mikl*j+1]; + pijkl[ni*j+2] = pgctr[mikl*j+2]; + pijkl[ni*j+3] = pgctr[mikl*j+3]; + pijkl[ni*j+4] = pgctr[mikl*j+4]; + pijkl[ni*j+5] = pgctr[mikl*j+5]; + pijkl[ni*j+6] = pgctr[mikl*j+6]; + } + } + fijkl += nijk; + gctr += mik; + } + break; + default: + for (l = 0; l < ml; l++) { + for (k = 0; k < mk; k++) { + pijkl = fijkl + k * nij; + pgctr = gctr + k * mi; + for (j = 0; j < mj; j++) { +#pragma GCC ivdep + for (i = 0; i < mi; i++) { + pijkl[ni*j+i] = pgctr[mikl*j+i]; + } + } + } + fijkl += nijk; + gctr += mik; + } + } +} + + +void c2s_dset0(dtype *out, int *dims, int *counts) +{ + int ni = dims[0]; + int nj = dims[1]; + int nk = dims[2]; + size_t nij = ni * nj; + size_t nijk = nij * nk; + int i, j, k, l; + if (dims == counts) { + for (i = 0; i < nijk * counts[3]; i++) { + out[i] = 0; + } + return; + } + int di = counts[0]; + int dj = counts[1]; + int dk = counts[2]; + int dl = counts[3]; + dtype *pout; + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + pout = out + k * nij; + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++) { + pout[j*ni+i] = 0; + } } + } + out += nijk; + } +} + + +int int2e_sph(dtype *gctr, dtype *out, int n_out, int *dims, const int *shls, const int *ao_loc, const int *atm, int natm, const int *bas, int nbas, const dtype *env, int n_env, dtype * eri, dtype * tile_g, int * tile_idx, dtype * tile_buf) { + + int ng[] = {0, 0, 0, 0, 0, 1, 1, 1}; + + const int i_sh = shls[0]; + const int j_sh = shls[1]; + const int k_sh = shls[2]; + const int l_sh = shls[3]; + + const int i0 = ao_loc[i_sh]; + const int j0 = ao_loc[j_sh]; + const int k0 = ao_loc[k_sh]; + const int l0 = ao_loc[l_sh]; + + int i_l = bas[BAS_SLOTS * i_sh + ANG_OF]; + int j_l = bas[BAS_SLOTS * j_sh + ANG_OF]; + int k_l = bas[BAS_SLOTS * k_sh + ANG_OF]; + int l_l = bas[BAS_SLOTS * l_sh + ANG_OF]; + + int _x_ctr[4]; + _x_ctr[0] = bas[BAS_SLOTS * i_sh + NCTR_OF]; + _x_ctr[1] = bas[BAS_SLOTS * j_sh + NCTR_OF]; + _x_ctr[2] = bas[BAS_SLOTS * k_sh + NCTR_OF]; + _x_ctr[3] = bas[BAS_SLOTS * l_sh + NCTR_OF]; + + int nfi = (i_l+1)*(i_l+2)/2; + int nfj = (j_l+1)*(j_l+2)/2; + int nfk = (k_l+1)*(k_l+2)/2; + int nfl = (l_l+1)*(l_l+2)/2; + size_t nf = nfi * nfk * nfl * nfj; + + const dtype * ri = env + atm[ATM_SLOTS * bas[BAS_SLOTS*i_sh + ATOM_OF] + PTR_COORD]; + const dtype * rj = env + atm[ATM_SLOTS * bas[BAS_SLOTS*j_sh + ATOM_OF] + PTR_COORD]; + const dtype * rk = env + atm[ATM_SLOTS * bas[BAS_SLOTS*k_sh + ATOM_OF] + PTR_COORD]; + const dtype * rl = env + atm[ATM_SLOTS * bas[BAS_SLOTS*l_sh + ATOM_OF] + PTR_COORD]; + + dtype expcutoff; + + dtype common_factor = (M_PI*M_PI*M_PI)*2/SQRTPI * CINTcommon_fac_sp(i_l) * CINTcommon_fac_sp(j_l) * CINTcommon_fac_sp(k_l) * CINTcommon_fac_sp(l_l); + if (env[PTR_EXPCUTOFF] == 0) { expcutoff = EXPCUTOFF; } + else { expcutoff = std::fmax(static_cast(MIN_EXPCUTOFF), env[PTR_EXPCUTOFF]) + 1; } // +1 to ensure accuracy. See comments in function CINT2e_loop_nopt + + int gbits = ng[GSHIFT]; + int ncomp_e1 = ng[POS_E1]; + int ncomp_e2 = ng[POS_E2]; + int ncomp_tensor = ng[TENSOR]; + + int li_ceil = i_l + ng[IINC]; + int lj_ceil = j_l + ng[JINC]; + int lk_ceil = k_l + ng[KINC]; + int ll_ceil = l_l + ng[LINC]; + + int nrys_roots = (li_ceil + lj_ceil + lk_ceil + ll_ceil)/2 + 1; + + int dli, dlj, dlk, dll; + int ibase = li_ceil > lj_ceil; + int kbase = lk_ceil > ll_ceil; + if (nrys_roots <= 2) { // use the fully optimized lj_4d algorithm + ibase = 0; + kbase = 0; + } + if (kbase) { + dlk = lk_ceil + ll_ceil + 1; + dll = ll_ceil + 1; + } else { + dlk = lk_ceil + 1; + dll = lk_ceil + ll_ceil + 1; + } + + if (ibase) { + dli = li_ceil + lj_ceil + 1; + dlj = lj_ceil + 1; + } else { + dli = li_ceil + 1; + dlj = li_ceil + lj_ceil + 1; + } + int g_stride_i = nrys_roots; + int g_stride_k = nrys_roots * dli; + int g_stride_l = nrys_roots * dli * dlk; + int g_stride_j = nrys_roots * dli * dlk * dll; + int g_size = nrys_roots * dli * dlk * dll * dlj; // definition of g_size + + int g2d_klmax; + int g2d_ijmax; + + const dtype * rx_in_rklrx; + const dtype * rx_in_rijrx; + dtype rkrl[3]; + dtype rirj[3]; + + dtype ai[1]; + dtype aj[1]; + dtype ak[1]; + dtype al[1]; + dtype fac[1]; + dtype rij[3]; + dtype rkl[3]; + + if (kbase) { + g2d_klmax = g_stride_k; + rx_in_rklrx = rk; + rkrl[0] = rk[0] - rl[0]; + rkrl[1] = rk[1] - rl[1]; + rkrl[2] = rk[2] - rl[2]; + } else { + g2d_klmax = g_stride_l; + rx_in_rklrx = rl; + rkrl[0] = rl[0] - rk[0]; + rkrl[1] = rl[1] - rk[1]; + rkrl[2] = rl[2] - rk[2]; + } + + if (ibase) { + g2d_ijmax = g_stride_i; + rx_in_rijrx = ri; + rirj[0] = ri[0] - rj[0]; + rirj[1] = ri[1] - rj[1]; + rirj[2] = ri[2] - rj[2]; + } else { + g2d_ijmax = g_stride_j; + rx_in_rijrx = rj; + rirj[0] = rj[0] - ri[0]; + rirj[1] = rj[1] - ri[1]; + rirj[2] = rj[2] - ri[2]; + } + + + int i_ctr = _x_ctr[0]; + int j_ctr = _x_ctr[1]; + int k_ctr = _x_ctr[2]; + int l_ctr = _x_ctr[3]; + + int *x_ctr = _x_ctr; + int n_comp = ncomp_e1 * ncomp_e2 * ncomp_tensor; + size_t leng = g_size*3*((1<(compute, nonzero_pattern,....); # INCORRECT INDEXING - TODO + // if (!compute) continue; + + //tmp1 = c2s_ket_sph[j_l](buf1, _gctr, nfikl, nfikl, j_l); + tmp1 = c2s_ket_sph[j_l](buf1, gctr, nfikl, nfikl, j_l); + + tmp1 = sph2e_inner( buf2, tmp1, l_l, nfik, dj, nfik*dl, nfikl); + tmp1 = sph2e_inner( buf3, tmp1, k_l, nfi, dlj, nfi*dk, nfik); + + //tmp1 = c2s_bra_sph[i_l](buf4, dk*dlj, tmp1, i_l); + for (int v = 0; v < nc*n_comp; v++) gctr[v] = tmp1[v]; + _tmp = c2s_bra_sph[i_l](buf1, dk*dlj, gctr, i_l); + + pout = out + ofl * lc + ofk * kc + ofj * jc + di * ic; + dcopy_iklj(pout, _tmp, ni, nj, nk, nl, di, dj, dk, dl); + //gctr += nf; // WARNING: + } + } + } + } + + } + } + else { + for (n = 0; n < n_comp; n++) { + c2s_dset0(out+nout*n, dims, counts); + } + } + + int di = i_l * 2 + 1; + int dj = j_l * 2 + 1; + int dk = k_l * 2 + 1; + int dl = l_l * 2 + 1; + for (int l = 0, ijkl=0; l < dl; l++) { + for (int k = 0; k < dk; k++) { + for (int j = 0; j < dj; j++) { + for (int i = 0; i < di; i++, ijkl++) { + bool compute = false; + const bool nonzero_pattern[20] = {true, true, false, true, true, true, true, false, true, true, true, true, false, true, true, true, true, false, true, true}; + // const bool nonzero_pattern[45] = {true, true, false, true, true, true, true, false, true, + // true, true, true, false, true, true, true, true, false, + // true, true, true, true, false, true, true, true, true, + // false, true, true, true, true, false, true, true, true, + // true, false, true, true, true, true, false, true, true}; + + check_struct_ortho<20>(compute, nonzero_pattern, i0+i, j0+j, k0+k, l0+l); // PASS!!! + if (!compute) + { + eri[ijkl] = 0; + } + + } + } } } + + return !empty; +} + + +void GTOnr2e_fill_s1(dtype *gctr, dtype *eri, int n_eri, dtype *buf, int n_buf, int comp, int ishp, int jshp, int *shls_slice, int *ao_loc, + int *atm, int natm, int *bas, int nbas, dtype *env, int n_env) { + + int ish0 = shls_slice[0]; + int ish1 = shls_slice[1]; + int jsh0 = shls_slice[2]; + int jsh1 = shls_slice[3]; + int ksh0 = shls_slice[4]; + int ksh1 = shls_slice[5]; + int lsh0 = shls_slice[6]; + int lsh1 = shls_slice[7]; + + int ni = ao_loc[ish1] - ao_loc[ish0]; + int nj = ao_loc[jsh1] - ao_loc[jsh0]; + int nk = ao_loc[ksh1] - ao_loc[ksh0]; + int nl = ao_loc[lsh1] - ao_loc[lsh0]; + size_t nij = ni * nj; + size_t nkl = nk * nl; + size_t neri = nij * nkl; + + int ish = ishp + ish0; + int jsh = jshp + jsh0; + int i0 = ao_loc[ish] - ao_loc[ish0]; + int j0 = ao_loc[jsh] - ao_loc[jsh0]; + + dtype *_eri = eri; // before moving pointer make a copy of old pointer. + + //eri += nkl * (i0 * nj + j0); + // this still gives all the right entries, we just have to put them the right place in ERI + // when readjusting the size of eri, we have to be careful because different tiles can have differently sized stuff. + + int di = ao_loc[ish+1] - ao_loc[ish]; + int dj = ao_loc[jsh+1] - ao_loc[jsh]; + int dij = di * dj; + int k0, l0, dk, dl, dijk, dijkl; + int i, j, k, l, icomp; + int ksh, lsh; + int shls[4]; + input_type *eri0, *peri; + dtype *buf0, *pbuf; + + shls[0] = ish; + shls[1] = jsh; + + int c = 0; + + // this is handling the translation between eri and the pointers + for (ksh = ksh0; ksh < ksh1; ksh++) { + for (lsh = lsh0; lsh < lsh1; lsh++) { + shls[2] = ksh; + shls[3] = lsh; + k0 = ao_loc[ksh] - ao_loc[ksh0]; + l0 = ao_loc[lsh] - ao_loc[lsh0]; + dk = ao_loc[ksh+1] - ao_loc[ksh]; + dl = ao_loc[lsh+1] - ao_loc[lsh]; + dijk = dij * dk; + dijkl = dijk * dl; + //cache = buf + dijkl * comp; + + if (int2e_sph(gctr, buf, n_buf, NULL, shls, ao_loc, atm, natm, bas, nbas, env, n_env, _eri, NULL, NULL, NULL) ) { + + // move from buf to eri. + eri0 = eri + k0*nl+l0; + buf0 = buf; + for (icomp = 0; icomp < comp; icomp++) { + for (i = 0; i < di; i++) { + for (j = 0; j < dj; j++) { + peri = eri0 + nkl*(i*nj+j); + for (k = 0; k < dk; k++) { + for (pbuf = buf0 + k*dij + j*di + i, l = 0; l < dl; l++) { + //peri[k*nl+l] = (input_type)pbuf[l*dijk]; // write to output has to be hardcoded float, can't template it. + //eri[k*nl+l+nkl*(i*nj+j)+ k0*nl+l0+nkl * (i0 * nj + j0)] = + eri[c] = + (input_type)buf[l*dijk+k*dij + j*di + i]; + c += 1; + } + } + } + } + buf0 += dijkl; + eri0 += neri; + } + + + } + + } + } + + + + } + +template +static std::ptrdiff_t combine(const FloatType *a, const FloatType *b) { + return reinterpret_cast(a) | + reinterpret_cast(b); +} + +template +static bool aligned(const FloatType *a, const FloatType *b) { + static constexpr auto Mask = N - 1; + return (combine(a, b) & Mask) == 0; +} + +class poplar_int2e_sph : public Vertex { +public: + /*InOut> ipu_floats; + InOut> ipu_ints; + InOut> ipu_ij; + + InOut> ipu_output;*/ + + Input> ipu_floats; + Input> ipu_ints; + Input> ipu_ij; + + Output> ipu_output; + + //Input> in_tile_g; + //Input> in_tile_idx; + //Input> in_tile_buf; + + Output> tile_g; + Output> tile_idx; + Output> tile_buf; + + + bool compute() { + + const float * floats = ipu_floats.data(); + const int * ints = ipu_ints .data(); + + int n_eri = ipu_ints[0]; + int n_buf = ipu_ints[1]; + int n_atm = ipu_ints[2]; + int n_bas = ipu_ints[3]; + int n_env = ipu_ints[4]; + int n_ao_loc = ipu_ints[5]; + + int offset = 6; + const int *ao_loc = ints + offset; + offset += n_ao_loc; + const int *atm = ints + offset; + offset += n_atm*6; + const int *bas = ints + offset; + + const float * env = floats; + float * eri = ipu_output.data(); + + dtype gctr[1296+1]; // hardcoded, may not be big enough for some cases. + + + for (int i = 0; i < ipu_output.size(); i++){ eri[i] = 0; } + + //for (unsigned short i = 0; i < tile_g.size(); i++) tile_g[i] = 0; + //for (unsigned short i = 0; i < tile_idx.size(); i++) tile_idx[i] = 0; + //for (unsigned short i = 0; i < tile_buf.size(); i++) tile_buf[i] = 0; + + dtype *_eri = eri; + + int2e_sph(gctr, eri, n_buf, NULL, ipu_ij.data(), ao_loc, atm, n_atm, bas, n_bas, env, n_env, _eri, tile_g.data(), tile_idx.data(), tile_buf.data()) ; + //int2e_sph(eri, n_buf, NULL, __ipu_ij, atm, n_atm, bas, n_bas, env, n_env, _eri) ; + + //for (unsigned short i = 0; i < tile_g.size(); i++) tile_g[i] = 0; + //for (unsigned short i = 0; i < tile_idx.size(); i++) tile_idx[i] = 0; + //for (unsigned short i = 0; i < tile_buf.size(); i++) tile_buf[i] = 0; + //for (int i = 0; i < 100; i++) tile_idx[i] = 3.; + //for (int i = 0; i < 100; i++) tile_buf[i] = 3.; + + + return true; + } + +}; + + + +class poplar_int2e_sph_forloop : public Vertex { +public: + Input> ipu_floats; + Input> ipu_ints; + Input> ipu_ij; + InOut> gctr_buf; + + Output> ipu_output; + + Output> tile_g; + Output> tile_idx; + Output> tile_buf; + + Input> chunks; + Input> integral_size; + + bool compute() { + // the output size is rather small + const float * floats = ipu_floats.data(); + const int * ints = ipu_ints .data(); + + const uint32_t& ichunks = chunks[0]; + const uint32_t& isize = integral_size[0]; + + const int &n_eri = ipu_ints[0]; + const int &n_buf = ipu_ints[1]; + const int &n_atm = ipu_ints[2]; + const int &n_bas = ipu_ints[3]; + const int &n_env = ipu_ints[4]; + const int &n_ao_loc = ipu_ints[5]; + + float *gctr = gctr_buf.data(); + + int offset = 6; + const int *ao_loc = ints + offset; + offset += n_ao_loc; + const int *atm = ints + offset; + offset += n_atm*6; + const int *bas = ints + offset; + + const float * env = floats; + + // dtype gctr[1296+1]; // hardcoded, may not be big enough for some cases. + + for (uint32_t i = 0; i < ipu_output.size(); i++) ipu_output[i] = 0; + + for (uint32_t i = 0; i < ichunks; i++){ + const int arr[] = {ipu_ij[0+i*4], ipu_ij[1+i*4], ipu_ij[2+i*4], ipu_ij[3+i*4]}; + + if (arr[0] >= 0 && arr[1] >= 0 && arr[2] >= 0 && arr[3] >= 0) + { + float * eri = ipu_output.data() + i*isize; + const int* shls = arr; + dtype *_eri = eri; + + int2e_sph(gctr, eri, n_buf, NULL, shls, ao_loc, atm, n_atm, bas, n_bas, env, n_env, _eri, tile_g.data(), tile_idx.data(), tile_buf.data()) ; + } + } + + + return true; + } + +}; + +// single tile version +class poplar_transform : public Vertex { +public: + InOut> ipu_floats; + InOut> ipu_ints; + InOut> ipu_ij; + + InOut> ipu_output; + + bool compute() { + + float * floats = ipu_floats.data(); + int * ints = ipu_ints .data(); + + int offset = 6; + int *ao_loc = ints + offset; + //offset += n_ao_loc; + + float * eri = ipu_output.data(); + + float * indices = ipu_ij.data(); + int c = 0; + + int N = ints[0];//4;//ao_loc[1]; + int di,dj,dk,dl,i0,j0,k0,l0; + + /*ni = ao_loc[shls_slice[1]] - ao_loc[0]; + nj = ao_loc[shls_slice[3]] - ao_loc[0]; + nk = ao_loc[shls_slice[5]] - ao_loc[0]; + nl = ao_loc[shls_slice[7]] - ao_loc[0];*/ + + int ni = ints[1];//6; + int nj = ints[1];//6; + int nk = ints[1];//6; + int nl = ints[1];//6; + + for (int i = 0; i < N; i++){ + for (int j = 0; j < N; j++){ + for (int k = 0; k < N; k++){ + for (int l = 0; l < N; l++){ + //di,dj,dk,dl,i0,j0,k0,l0=indices[8*c],indices[8*c+1],indices[8*c+2],indices[8*c+3],indices[8*c+4],indices[8*c+5],indices[8*c+6],indices[8*c+7]; + di = ipu_ij[8*c+0]; + dj = ipu_ij[8*c+1]; + dk = ipu_ij[8*c+2]; + dl = ipu_ij[8*c+3]; + i0 = ipu_ij[8*c+4]; + j0 = ipu_ij[8*c+5]; + k0 = ipu_ij[8*c+6]; + l0 = ipu_ij[8*c+7]; + + //for _i in range(di): + // for _j in range(dj): + // for _k in range(dk): + // for _l in range(dl): + for (int _i = 0; _i < di; _i++){ + for (int _j = 0; _j < dj; _j++){ + for (int _k = 0; _k < dk; _k++){ + for (int _l = 0; _l < dl; _l++){ + + float v = ipu_floats[c*81 + _l*di*dj*dk + _k*di*dj + _j*di + _i]; + + + eri[(_i+i0) * nk * nl * nj + + (_j+j0) * nk * nl + + (_k+k0) * nl + + (_l+l0) ] = v; // ijkl + + eri[(_i+i0) * nk * nl * nj + + (_j+j0) * nk * nl + + (_l+l0) * nl + + (_k+k0) ] = v; // ijlk + + eri[(_j+j0) * nk * nl * nj + + (_i+i0) * nk * nl + + (_k+k0) * nl + + (_l+l0) ] = v; // jikl + + eri[(_j+j0) * nk * nl * nj + + (_i+i0) * nk * nl + + (_l+l0) * nl + + (_k+k0) ] = v;//# jilk + + eri[(_k+k0) * nk * nl * nj + + (_l+l0) * nk * nl + + (_i+i0) * nl + + (_j+j0) ] = v; // klij + + eri[(_k+k0) * nk * nl * nj + + (_l+l0) * nk * nl + + (_j+j0) * nl + + (_i+i0) ] = v; // klji + + eri[(_l+l0) * nk * nl * nj + + (_k+k0) * nk * nl + + (_i+i0) * nl + + (_j+j0) ] = v; // lkij + + eri[(_l+l0) * nk * nl * nj + + (_k+k0) * nk * nl + + (_j+j0) * nl + + (_i+i0) ] = v; // lkji + + } + } + } + } + + c += 1; + } + } + } + } + + + return true; + } + +}; + + +void set(dtype * _eri, int index, dtype val, int min, int max, int size){ + if (min <= index && index < max) { + //_eri[index % size] = val; + _eri[index - min] = val; // reduced from 200k to 40k cycles + } +} + +// multi tile version +class poplar_transform_multi : public Vertex { +public: + InOut> ipu_floats; + InOut> ipu_ints; + InOut> ipu_ij; + + InOut> i; + + InOut> ipu_output_sharded; + + bool compute() { + float * floats = ipu_floats.data(); + int * ints = ipu_ints .data(); + + int count = ints[8]; + int tile_how_much_we_store_on_each_tile = ints[6]; + int offset = 0; + int *ao_loc = ints + offset; + float * _eri = ipu_output_sharded.data(); + + float * indices = ipu_ij.data(); + int c = 0; + + int n = ints[0]; + int N = ints[1]; + int di,dj,dk,dl,i0,j0,k0,l0; + + int iteration = i[0]; + + // Update ERI at index when index\in[min,max] then we have ERI replicated on all tiles. + int size = N * N * N; + int min = N * N * N * iteration; + int max = N * N * N * (iteration+1); + + int ni = N; + int nj = N; + int nk = N; + int nl = N; + + c = count; + di = ipu_ij[+0]; + dj = ipu_ij[+1]; + dk = ipu_ij[+2]; + dl = ipu_ij[+3]; + + i0 = ipu_ij[+4]; + j0 = ipu_ij[+5]; + k0 = ipu_ij[+6]; + l0 = ipu_ij[+7]; + + /*di = ipu_ij[8*c+0]; + dj = ipu_ij[8*c+1]; + dk = ipu_ij[8*c+2]; + dl = ipu_ij[8*c+3]; + + i0 = ipu_ij[8*c+4]; + j0 = ipu_ij[8*c+5]; + k0 = ipu_ij[8*c+6]; + l0 = ipu_ij[8*c+7];*/ + + for (int _i = 0; _i < di; _i++){ + for (int _j = 0; _j < dj; _j++){ + for (int _k = 0; _k < dk; _k++){ + for (int _l = 0; _l < dl; _l++){ + + // sharded over all tiles + float v = ipu_floats[ _l*di*dj*dk + _k*di*dj + _j*di + _i]; + + // ERI, replicated on all tiles + // if we shard instead, it will become smaller by ?i,j? + set(_eri, + (_i+i0) * N * N * N + + (_j+j0) * N * N + + (_k+k0) * N + + (_l+l0) , + v, min,max, size); // ijkl + + set(_eri, + (_i+i0) * N * N * N + + (_j+j0) * N * N + + (_l+l0) * N + + (_k+k0), + v, min, max, size); // ijlk + + set(_eri, + (_j+j0) * N * N * N + + (_i+i0) * N * N + + (_k+k0) * N + + (_l+l0), + v, min, max, size); // jikl + + set(_eri, + (_j+j0) * N * N * N + + (_i+i0) * N * N + + (_l+l0) * N + + (_k+k0), + v, min, max, size);//# jilk + + set(_eri, + (_k+k0) * N * N * N + + (_l+l0) * N * N + + (_i+i0) * N + + (_j+j0), + v, min, max, size); // klij + + set(_eri, + (_k+k0) * N * N * N + + (_l+l0) * N * N + + (_j+j0) * N + + (_i+i0), + v, min, max, size); // klji + + set(_eri, + (_l+l0) * N * N * N + + (_k+k0) * N * N + + (_i+i0) * N + + (_j+j0), + v, min, max, size); // lkij + + set(_eri, + (_l+l0) * N * N * N + + (_k+k0) * N * N + + (_j+j0) * N + + (_i+i0), + v, min, max, size); // lkji + + } + } + } + } + + return true; + } + +}; + + + + +// multi tile version +// takes DM and eri_s1 as input and comptues vj, vk +class poplar_direct_s1 : public Vertex { +public: + Input> integral; + Input> indices; + Input> do_list; + Input> dm; + + //Input> disable_cache; + + Input> in_vj; + Input> in_vk; + + //Output> vj; + //Output> vk; + //Output> debug; + + Output> vj; + Output> vk; + + bool compute() { + /* + For -C 6 the copy input to output costs the following amount of cycles. + FROM: 2K, 5.4K, 14.9K, 39.4K, 84 K + TO: 26K, 30 K, 39 k, 64 K, 108.7K + */for (unsigned short i = 0; i < vj.size(); i++){ // this costs 20k cycles. so around 25$ + vj[i] = in_vj[i]; + vk[i] = in_vk[i]; + } + + /// change to multivertex and get a thread_id\in{0,1,2,3,4,5} + + int di = indices[0]; + int dj = indices[1]; + int dk = indices[2]; + int dl = indices[3]; + + int i0 = indices[4]; + int j0 = indices[5]; + int k0 = indices[6]; + int l0 = indices[7]; + + int N = std::sqrt(dm.size()); + + float val = 0; + + // we have do_list = {True,...,False} of length 8. + for (unsigned short _i = i0, ci = 0; _i < i0+di; _i++, ci++){ + for (unsigned short _j = j0, cj = 0; _j < j0+dj; _j++, cj++){ + for (unsigned short _k = k0, ck = 0; _k < k0+dk; _k++, ck++){ + for (unsigned short _l = l0, cl = 0; _l < l0+dl; _l++, cl++){ + //val = integral[ cl + ck*dl + cj*dl*dk + ci*dl*dk*dj ]; + val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di ]; // no more than 81 + + + if (do_list[0] != 0){ + vj[_k*N+ _l] += dm[_j*N+_i] * val; + vk[_i*N+ _l] += dm[_j*N+_k] * val; + } + if (do_list[1] != 0){ + vj[_l*N+ _k] += dm[_j*N+_i] * val; + vk[_i*N+ _k] += dm[_j*N+_l] * val; + } + if (do_list[2] != 0){ + vj[_k*N+ _l] += dm[_i*N+_j] * val; + vk[_j*N+ _l] += dm[_i*N+_k] * val; + } + if (do_list[3] != 0){ + vj[_l*N+ _k] += dm[_i*N+_j] * val; + vk[_j*N+ _k] += dm[_i*N+_l] * val; + } + if (do_list[4] != 0){ + vj[_i*N+ _j] += dm[_l*N+_k] * val; + vk[_k*N+ _j] += dm[_l*N+_i] * val; + } + if (do_list[5] != 0){ + vj[_j*N+ _i] += dm[_l*N+_k] * val; + vk[_k*N+ _i] += dm[_l*N+_j] * val; + } + if (do_list[6] != 0){ + vj[_i*N+ _j] += dm[_k*N+_l] * val; + vk[_l*N+ _j] += dm[_k*N+_i] * val; + } + if (do_list[7] != 0){ + vj[_j*N+ _i] += dm[_k*N+_l] * val; + vk[_l*N+ _i] += dm[_k*N+_j] * val; + } + } + } + } + } + + return true; + } + +}; + + +class poplar_direct_s1_forloop : public Vertex { +public: + // same as above, but moved for loop from python to C++ code; + Input> integral; + Input> indices; + Input> do_list; + Input> dm; + Input> chunk_size; + + //Input> disable_cache; + + Input> in_vj; + Input> in_vk; + + //Output> vj; + //Output> vk; + //Output> debug; + + Output> vj; + Output> vk; + + bool compute() { + /* + For -C 6 the copy input to output costs the following amount of cycles. + FROM: 2K, 5.4K, 14.9K, 39.4K, 84 K + TO: 26K, 30 K, 39 k, 64 K, 108.7K + */ + for (unsigned short i = 0; i < vj.size(); i++){ // this costs 20k cycles ~ 25% + vj[i] = in_vj[i]; + vk[i] = in_vk[i]; + } + + int chunks = chunk_size.size(); + + + for (int chunk_i = 0; chunk_i < chunks; chunk_i++) { + + int di = indices[0+chunk_i*8]; + int dj = indices[1+chunk_i*8]; + int dk = indices[2+chunk_i*8]; + int dl = indices[3+chunk_i*8]; + + int integral_size = di*dj*dk*dl; + + int i0 = indices[4+chunk_i*8]; + int j0 = indices[5+chunk_i*8]; + int k0 = indices[6+chunk_i*8]; + int l0 = indices[7+chunk_i*8]; + + int N = std::sqrt(dm.size()); + + float val = 0; + + // we have do_list = {True,...,False} of length 8. + for (unsigned short _i = i0, ci = 0; _i < i0+di; _i++, ci++){ + for (unsigned short _j = j0, cj = 0; _j < j0+dj; _j++, cj++){ + for (unsigned short _k = k0, ck = 0; _k < k0+dk; _k++, ck++){ + for (unsigned short _l = l0, cl = 0; _l < l0+dl; _l++, cl++){ + //val = integral[ cl + ck*dl + cj*dl*dk + ci*dl*dk*dj ]; + //val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di ]; // no more than 81 + val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di +integral_size*chunk_i]; // no more than 81 + + + if (do_list[0+chunk_i*8] != 0){ + vj[_k*N+ _l] += dm[_j*N+_i] * val; + vk[_i*N+ _l] += dm[_j*N+_k] * val; + } + if (do_list[1+chunk_i*8] != 0){ + vj[_l*N+ _k] += dm[_j*N+_i] * val; + vk[_i*N+ _k] += dm[_j*N+_l] * val; + } + if (do_list[2+chunk_i*8] != 0){ + vj[_k*N+ _l] += dm[_i*N+_j] * val; + vk[_j*N+ _l] += dm[_i*N+_k] * val; + } + if (do_list[3+chunk_i*8] != 0){ + vj[_l*N+ _k] += dm[_i*N+_j] * val; + vk[_j*N+ _k] += dm[_i*N+_l] * val; + } + if (do_list[4+chunk_i*8] != 0){ + vj[_i*N+ _j] += dm[_l*N+_k] * val; + vk[_k*N+ _j] += dm[_l*N+_i] * val; + } + if (do_list[5+chunk_i*8] != 0){ + vj[_j*N+ _i] += dm[_l*N+_k] * val; + vk[_k*N+ _i] += dm[_l*N+_j] * val; + } + if (do_list[6+chunk_i*8] != 0){ + vj[_i*N+ _j] += dm[_k*N+_l] * val; + vk[_l*N+ _j] += dm[_k*N+_i] * val; + } + if (do_list[7+chunk_i*8] != 0){ + vj[_j*N+ _i] += dm[_k*N+_l] * val; + vk[_l*N+ _i] += dm[_k*N+_j] * val; + } + } + } + } + } + + //return true; + } + + return true; + } + +}; + + + + +class poplar_direct_s1_forloop_vj : public Vertex { +public: + // same as above "poplar_direct_S1_forloop" but only handles vk (not vj, vk) + // performing sequentially saves 89*2MB for gdb9 in 631g* + Input> integral; + Input> indices; + Input> do_list; + Input> dm; + Input> chunk_size; + + //Input> disable_cache; + + Input> in_vj; + + //Output> vj; + //Output> vk; + //Output> debug; + + Output> vj; + + bool compute() { + /* + For -C 6 the copy input to output costs the following amount of cycles. + FROM: 2K, 5.4K, 14.9K, 39.4K, 84 K + TO: 26K, 30 K, 39 k, 64 K, 108.7K + */ + for (unsigned short i = 0; i < vj.size(); i++){ + vj[i] = in_vj[i]; + } + + int chunks = chunk_size.size(); + + + for (int chunk_i = 0; chunk_i < chunks; chunk_i++) { + + int di = indices[0+chunk_i*8]; + int dj = indices[1+chunk_i*8]; + int dk = indices[2+chunk_i*8]; + int dl = indices[3+chunk_i*8]; + + int integral_size = di*dj*dk*dl; + + int i0 = indices[4+chunk_i*8]; + int j0 = indices[5+chunk_i*8]; + int k0 = indices[6+chunk_i*8]; + int l0 = indices[7+chunk_i*8]; + + int N = std::sqrt(dm.size()); + + float val = 0; + + // we have do_list = {True,...,False} of length 8. + for (unsigned short _i = i0, ci = 0; _i < i0+di; _i++, ci++){ + for (unsigned short _j = j0, cj = 0; _j < j0+dj; _j++, cj++){ + for (unsigned short _k = k0, ck = 0; _k < k0+dk; _k++, ck++){ + for (unsigned short _l = l0, cl = 0; _l < l0+dl; _l++, cl++){ + //val = integral[ cl + ck*dl + cj*dl*dk + ci*dl*dk*dj ]; + //val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di ]; // no more than 81 + val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di +integral_size*chunk_i]; // no more than 81 + + + if (do_list[0+chunk_i*8] != 0){ + vj[_k*N+ _l] += dm[_j*N+_i] * val; + } + if (do_list[1+chunk_i*8] != 0){ + vj[_l*N+ _k] += dm[_j*N+_i] * val; + } + if (do_list[2+chunk_i*8] != 0){ + vj[_k*N+ _l] += dm[_i*N+_j] * val; + } + if (do_list[3+chunk_i*8] != 0){ + vj[_l*N+ _k] += dm[_i*N+_j] * val; + } + if (do_list[4+chunk_i*8] != 0){ + vj[_i*N+ _j] += dm[_l*N+_k] * val; + } + if (do_list[5+chunk_i*8] != 0){ + vj[_j*N+ _i] += dm[_l*N+_k] * val; + } + if (do_list[6+chunk_i*8] != 0){ + vj[_i*N+ _j] += dm[_k*N+_l] * val; + } + if (do_list[7+chunk_i*8] != 0){ + vj[_j*N+ _i] += dm[_k*N+_l] * val; + } + } + } + } + } + + } + + return true; + } + +}; + +class poplar_direct_s1_forloop_vk : public Vertex { +public: + + // same as above "poplar_direct_S1_forloop" but only handles vk (not vj, vk) + // performing sequentially saves 89*2MB for gdb9 in 631g* + Input> integral; + Input> indices; + Input> do_list; + Input> dm; + Input> chunk_size; + + //Input> disable_cache; + + Input> in_vk; + + //Output> vj; + //Output> vk; + //Output> debug; + + Output> vk; + + bool compute() { + /* + For -C 6 the copy input to output costs the following amount of cycles. + FROM: 2K, 5.4K, 14.9K, 39.4K, 84 K + TO: 26K, 30 K, 39 k, 64 K, 108.7K + */ + for (unsigned short i = 0; i < vk.size(); i++){ + vk[i] = in_vk[i]; + } + + int chunks = chunk_size.size(); + + + for (int chunk_i = 0; chunk_i < chunks; chunk_i++) { + + int di = indices[0+chunk_i*8]; + int dj = indices[1+chunk_i*8]; + int dk = indices[2+chunk_i*8]; + int dl = indices[3+chunk_i*8]; + + int integral_size = di*dj*dk*dl; + + int i0 = indices[4+chunk_i*8]; + int j0 = indices[5+chunk_i*8]; + int k0 = indices[6+chunk_i*8]; + int l0 = indices[7+chunk_i*8]; + + int N = std::sqrt(dm.size()); + + float val = 0; + + // we have do_list = {True,...,False} of length 8. + for (unsigned short _i = i0, ci = 0; _i < i0+di; _i++, ci++){ + for (unsigned short _j = j0, cj = 0; _j < j0+dj; _j++, cj++){ + for (unsigned short _k = k0, ck = 0; _k < k0+dk; _k++, ck++){ + for (unsigned short _l = l0, cl = 0; _l < l0+dl; _l++, cl++){ + //val = integral[ cl + ck*dl + cj*dl*dk + ci*dl*dk*dj ]; + //val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di ]; // no more than 81 + val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di +integral_size*chunk_i]; // no more than 81 + + + if (do_list[0+chunk_i*8] != 0){ + vk[_i*N+ _l] += dm[_j*N+_k] * val; + } + if (do_list[1+chunk_i*8] != 0){ + vk[_i*N+ _k] += dm[_j*N+_l] * val; + } + if (do_list[2+chunk_i*8] != 0){ + vk[_j*N+ _l] += dm[_i*N+_k] * val; + } + if (do_list[3+chunk_i*8] != 0){ + vk[_j*N+ _k] += dm[_i*N+_l] * val; + } + if (do_list[4+chunk_i*8] != 0){ + vk[_k*N+ _j] += dm[_l*N+_i] * val; + } + if (do_list[5+chunk_i*8] != 0){ + vk[_k*N+ _i] += dm[_l*N+_j] * val; + } + if (do_list[6+chunk_i*8] != 0){ + vk[_l*N+ _j] += dm[_k*N+_i] * val; + } + if (do_list[7+chunk_i*8] != 0){ + vk[_l*N+ _i] += dm[_k*N+_j] * val; + } + } + } + } + } + + } + + return true; + } + +}; + + +// multi tile version +// takes DM and eri_s1 as input and comptues vj, vk +class poplar_direct_s1_vj : public Vertex { +public: + Input> integral; + Input> indices; + Input> do_list; + Input> dm; + + //Input> disable_cache; + + Input> in_vj; + + //Output> vj; + //Output> vk; + //Output> debug; + + Output> vj; + + bool compute() { + /* + For -C 6 the copy input to output costs the following amount of cycles. + FROM: 2K, 5.4K, 14.9K, 39.4K, 84 K + TO: 26K, 30 K, 39 k, 64 K, 108.7K + */for (unsigned short i = 0; i < vj.size(); i++){ // this costs 20k cycles. + vj[i] = in_vj[i]; + } + + + int di = indices[0]; + int dj = indices[1]; + int dk = indices[2]; + int dl = indices[3]; + + int i0 = indices[4]; + int j0 = indices[5]; + int k0 = indices[6]; + int l0 = indices[7]; + + int N = std::sqrt(dm.size()); + + float val = 0; + + // we have do_list = {True,...,False} of length 8. + for (unsigned short _i = i0, ci = 0; _i < i0+di; _i++, ci++){ + for (unsigned short _j = j0, cj = 0; _j < j0+dj; _j++, cj++){ + for (unsigned short _k = k0, ck = 0; _k < k0+dk; _k++, ck++){ + for (unsigned short _l = l0, cl = 0; _l < l0+dl; _l++, cl++){ + //val = integral[ cl + ck*dl + cj*dl*dk + ci*dl*dk*dj ]; + val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di ]; // no more than 81 + + + if (do_list[0] != 0){ + vj[_k*N+ _l] += dm[_j*N+_i] * val; + } + if (do_list[1] != 0){ + vj[_l*N+ _k] += dm[_j*N+_i] * val; + } + if (do_list[2] != 0){ + vj[_k*N+ _l] += dm[_i*N+_j] * val; + } + if (do_list[3] != 0){ + vj[_l*N+ _k] += dm[_i*N+_j] * val; + } + if (do_list[4] != 0){ + vj[_i*N+ _j] += dm[_l*N+_k] * val; + } + if (do_list[5] != 0){ + vj[_j*N+ _i] += dm[_l*N+_k] * val; + } + if (do_list[6] != 0){ + vj[_i*N+ _j] += dm[_k*N+_l] * val; + } + if (do_list[7] != 0){ + vj[_j*N+ _i] += dm[_k*N+_l] * val; + } + } + } + } + } + + return true; + } + +}; + + +// multi tile version +// takes DM and eri_s1 as input and comptues vj, vk +class poplar_direct_s1_vk : public Vertex { +public: + Input> integral; + Input> indices; + Input> do_list; + Input> dm; + + //Input> disable_cache; + + Input> in_vk; + + //Output> vj; + //Output> vk; + //Output> debug; + + Output> vk; + + bool compute() { + /* + For -C 6 the copy input to output costs the following amount of cycles. + FROM: 2K, 5.4K, 14.9K, 39.4K, 84 K + TO: 26K, 30 K, 39 k, 64 K, 108.7K + */for (unsigned short i = 0; i < vk.size(); i++){ + vk[i] = in_vk[i]; + } + + + int di = indices[0]; + int dj = indices[1]; + int dk = indices[2]; + int dl = indices[3]; + + int i0 = indices[4]; + int j0 = indices[5]; + int k0 = indices[6]; + int l0 = indices[7]; + + int N = std::sqrt(dm.size()); + + float val = 0; + + // we have do_list = {True,...,False} of length 8. + for (unsigned short _i = i0, ci = 0; _i < i0+di; _i++, ci++){ + for (unsigned short _j = j0, cj = 0; _j < j0+dj; _j++, cj++){ + for (unsigned short _k = k0, ck = 0; _k < k0+dk; _k++, ck++){ + for (unsigned short _l = l0, cl = 0; _l < l0+dl; _l++, cl++){ + //val = integral[ cl + ck*dl + cj*dl*dk + ci*dl*dk*dj ]; + val = integral[ ci+cj*di+ck*dj*di+cl*dj*dk*di ]; // no more than 81 + + + if (do_list[0] != 0){ + vk[_i*N+ _l] += dm[_j*N+_k] * val; + } + if (do_list[1] != 0){ + vk[_i*N+ _k] += dm[_j*N+_l] * val; + } + if (do_list[2] != 0){ + vk[_j*N+ _l] += dm[_i*N+_k] * val; + } + if (do_list[3] != 0){ + vk[_j*N+ _k] += dm[_i*N+_l] * val; + } + if (do_list[4] != 0){ + vk[_k*N+ _j] += dm[_l*N+_i] * val; + } + if (do_list[5] != 0){ + vk[_k*N+ _i] += dm[_l*N+_j] * val; + } + if (do_list[6] != 0){ + vk[_l*N+ _j] += dm[_k*N+_i] * val; + } + if (do_list[7] != 0){ + vk[_l*N+ _i] += dm[_k*N+_j] * val; + } + } + } + } + } + + return true; + } + +}; + + +// multi tile version +class poplar_transform_multi_inside : public Vertex { +public: + /*InOut> ipu_floats; + InOut> ipu_ints; + InOut> ipu_ij; + InOut> i; */ + Input> ipu_floats; + Input> ipu_ints; + Input> ipu_ij; + Input> i; + + //InOut> ipu_output_sharded; + Output> ipu_output_sharded; + + bool compute() { + //const float * floats = ipu_floats.data(); + const int * ints = ipu_ints .data(); + + int iteration = i[0]; + int num_integrals_on_each_tile = i[1]; + + int n_ao_loc = ipu_ints[5]; // this is the same in all "rows" so we can just take the first one. + int size_ints = n_ao_loc + 10 ; + + int n = ints[0]; + int N = ints[1]; + int di,dj,dk,dl,i0,j0,k0,l0; + + int offset = 0; + const int *ao_loc = ints + offset; + + int N_N = N * N; + int N_N_N = N_N * N; + int size = N_N_N; + int min = size * iteration; + int max = size * (iteration+1); + + float * _eri = ipu_output_sharded.data(); + + + + for (unsigned short c = 0; c < num_integrals_on_each_tile; c++) { + + + // Update ERI at index when index\in[min,max] then we have ERI replicated on all tiles. + di = ipu_ij[8*c+0]; + dj = ipu_ij[8*c+1]; + dk = ipu_ij[8*c+2]; + dl = ipu_ij[8*c+3]; + + i0 = ipu_ij[8*c+4]; + j0 = ipu_ij[8*c+5]; + k0 = ipu_ij[8*c+6]; + l0 = ipu_ij[8*c+7]; + + for (unsigned short _i = 0; _i < di; _i++){ + for (unsigned short _j = 0; _j < dj; _j++){ + for (unsigned short _k = 0; _k < dk; _k++){ + for (unsigned short _l = 0; _l < dl; _l++){ + + // sharded over all tiles + float v = ipu_floats[ _l*di*dj*dk + _k*di*dj + _j*di + _i + c*81]; + + // ERI, replicated on all tiles + // if we shard instead, it will become smaller by ?i,j? + set(_eri, + (_i+i0) * N_N_N + + (_j+j0) * N_N + + (_k+k0) * N + + (_l+l0) , + v, min,max, size); // ijkl + + set(_eri, + (_i+i0) * N_N_N + + (_j+j0) * N_N + + (_l+l0) * N + + (_k+k0), + v, min, max, size); // ijlk + + set(_eri, + (_j+j0) * N_N_N + + (_i+i0) * N_N + + (_k+k0) * N + + (_l+l0), + v, min, max, size); // jikl + + set(_eri, + (_j+j0) * N_N_N+ + (_i+i0) * N_N+ + (_l+l0) * N + + (_k+k0), + v, min, max, size);//# jilk + + set(_eri, + (_k+k0) * N_N_N+ + (_l+l0) * N_N+ + (_i+i0) * N+ + (_j+j0), + v, min, max, size); // klij + + set(_eri, + (_k+k0) * N_N_N+ + (_l+l0) * N_N+ + (_j+j0) * N+ + (_i+i0), + v, min, max, size); // klji + + set(_eri, + (_l+l0) * N_N_N+ + (_k+k0) * N_N+ + (_i+i0) * N+ + (_j+j0), + v, min, max, size); // lkij + + set(_eri, + (_l+l0) * N_N_N+ + (_k+k0) * N_N+ + (_j+j0) * N+ + (_i+i0), + v, min, max, size); // lkji + + } + } + } + } + + } + + + + return true; + } + +}; + +class poplar_int2e_sph_direct : public Vertex { +public: + InOut> ipu_floats; + InOut> ipu_ints; + InOut> ipu_ij; + + //InOut> ipu_output; + InOut> ipu_output; + + bool compute() { + + float * floats = ipu_floats.data(); + int * ints = ipu_ints .data(); + + int n_eri = ipu_ints[0]; + int n_buf = ipu_ints[1]; + int n_atm = ipu_ints[2]; + int n_bas = ipu_ints[3]; + int n_env = ipu_ints[4]; + int n_ao_loc = ipu_ints[5]; + + int offset = 6; + int *ao_loc = ints + offset; + offset += n_ao_loc; + int *atm = ints + offset; + offset += n_atm*6; + int *bas = ints + offset; + + float * env = floats; + float * eri = ipu_output.data(); + + float * dm = floats + n_buf; + //for (int i = 0; i < ipu_output.size(); i++){ eri[i] = 0; } + + dtype *_eri = eri; + + dtype gctr[1296+1]; // hardcoded, may not be big enough for some cases. + + //int2e_sph(eri, n_buf, NULL, ipu_ij.data(), atm, n_atm, bas, n_bas, env, n_env, _eri) ; + + int2e_sph(gctr, eri, n_buf, NULL, ipu_ij.data(), ao_loc, atm, n_atm, bas, n_bas, env, n_env, _eri, NULL, NULL, NULL) ; + //for (int i = 0; i < 5; i++) eri[i] = 3.; + + return true; + } + +}; + + +#define ddtype float + +void NPdset0(ddtype *p, const size_t n) +{ + size_t i; + for (i = 0; i < n; i++) { + p[i] = 0; + } +} + +#define AO_BLOCK_SIZE 32 + +#define NOVALUE 0xffffffff + +//#if !defined(HAVE_DEFINED_INTORENV_H) +#define FINT int + +typedef struct { + FINT **index_xyz_array; // LMAX1**4 pointers to index_xyz + FINT **non0ctr; + FINT **sortedidx; + FINT nbas; + ddtype **log_max_coeff; + PairData **pairdata; // NULL indicates not-initialized, NO_VALUE can be skipped +} CINTOpt; +#define HAVE_DEFINED_INTORENV_H +typedef struct { + int v_ket_nsh; // v_ket_sh1 - v_ket_sh0 + int offset0_outptr; // v_bra_sh0 * v_ket_nsh + v_ket_sh0 + int dm_dims[2]; + int *outptr; // Offset array to index the data which are stored in stack // + ddtype *data; // Stack to store data // + int stack_size; // How many data have been used // + int ncomp; +} JKArray; +typedef struct CVHFOpt_struct { + int nbas; + int ngrids; + ddtype direct_scf_cutoff; + ddtype *q_cond; + ddtype *dm_cond; + //int (*fprescreen)(int *shls, struct CVHFOpt_struct *opt, + // int *atm, int *bas, ddtype *env); + //int (*r_vkscreen)(int *shls, struct CVHFOpt_struct *opt, + // ddtype **dms_cond, int n_dm, ddtype *dm_atleast, + // int *atm, int *bas, ddtype *env); +} CVHFOpt; + +typedef struct { + int ibra_shl0; // = 0, 2, 4, 6. The index in shls_slice + int iket_shl0; + int obra_shl0; + int oket_shl0; + void (*contract)(ddtype *eri, ddtype *dm, JKArray *vjk, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1); + size_t (*data_size)(int *shls_slice, int *ao_loc); + void (*sanity_check)(int *shls_slice); +} JKOperator; + +typedef struct { + int natm; + int nbas; + int *atm; + int *bas; + ddtype *env; + int *shls_slice; + int *ao_loc; // size of nbas+1, last element = nao // + int *tao; // time reversal mappings, index start from 1 // + CINTOpt *cintopt; + int ncomp; +} IntorEnvs; + +int CVHFnoscreen(int *shls, CVHFOpt *opt, int *atm, int *bas, ddtype *env) +{ + return 1; +} + + +//#define AO_BLOCK_SIZE 64 + +#define DECLARE_ALL \ + dtype gctr[1296+1]; \ + int *atm = envs->atm; \ + int *bas = envs->bas; \ + ddtype *env = envs->env; \ + const int natm = envs->natm; \ + const int nbas = envs->nbas; \ + const int *ao_loc = envs->ao_loc; \ + const int *shls_slice = envs->shls_slice; \ + const CINTOpt *cintopt = envs->cintopt; \ + const int ioff = ao_loc[shls_slice[0]]; \ + const int joff = ao_loc[shls_slice[2]]; \ + const int koff = ao_loc[shls_slice[4]]; \ + const int loff = ao_loc[shls_slice[6]]; \ + const int ish0 = ishls[0]; \ + const int ish1 = ishls[1]; \ + const int jsh0 = jshls[0]; \ + const int jsh1 = jshls[1]; \ + const int ksh0 = kshls[0]; \ + const int ksh1 = kshls[1]; \ + const int lsh0 = lshls[0]; \ + const int lsh1 = lshls[1]; \ + int shls[4]; \ + void (*pf)(ddtype *eri, ddtype *dm, JKArray *vjk, int *shls, \ + int i0, int i1, int j0, int j1, \ + int k0, int k1, int l0, int l1); \ + int fprescreen; \ + int notempty; \ + if (vhfopt != NULL) { \ + fprescreen = 1; \ + } else { \ + fprescreen = 1; \ + } \ + int ish, jsh, ksh, lsh, i0, j0, k0, l0, i1, j1, k1, l1, idm; + +#define INTOR_AND_CONTRACT \ + shls[0] = ish; \ + shls[1] = jsh; \ + shls[2] = ksh; \ + shls[3] = lsh; \ + if (vhfopt != NULL) { \ + int2e_sph(gctr, buf, n_buf, NULL, shls, ao_loc, atm, natm, bas, nbas, env, n_env, NULL, NULL, NULL, NULL); \ + } else { \ + notempty = int2e_sph(gctr, buf, n_buf, NULL, shls, ao_loc, atm, natm, bas, nbas, env, n_env, NULL, NULL, NULL, NULL); \ + } \ + if (notempty) { \ + i0 = ao_loc[ish] - ioff; \ + j0 = ao_loc[jsh] - joff; \ + k0 = ao_loc[ksh] - koff; \ + l0 = ao_loc[lsh] - loff; \ + i1 = ao_loc[ish+1] - ioff; \ + j1 = ao_loc[jsh+1] - joff; \ + k1 = ao_loc[ksh+1] - koff; \ + l1 = ao_loc[lsh+1] - loff; \ + for (idm = 0; idm < n_dm; idm++) { \ + pf = jkop[idm]->contract; \ + (*pf)(buf, dms[idm], vjk[idm], shls, \ + i0, i1, j0, j1, k0, k1, l0, l1); \ + } \ + } + + + // for given ksh, lsh, loop all ish, jsh + +void CVHFdot_nrs1(JKOperator **jkop, JKArray **vjk, + ddtype **dms, ddtype *buf, int n_buf, ddtype *cache, int n_dm, + int *ishls, int *jshls, int *kshls, int *lshls, + CVHFOpt *vhfopt, IntorEnvs *envs, int n_env) +{ + DECLARE_ALL; + + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh < jsh1; jsh++) { + for (ksh = ksh0; ksh < ksh1; ksh++) { + for (lsh = lsh0; lsh < lsh1; lsh++) { + INTOR_AND_CONTRACT; + } } } } +} + +void CVHFdot_nrs2ij(JKOperator **jkop, JKArray **vjk, + ddtype **dms, ddtype *buf, int n_buf, ddtype *cache, int n_dm, + int *ishls, int *jshls, int *kshls, int *lshls, + CVHFOpt *vhfopt, IntorEnvs *envs, int n_env) +{ + if (ishls[0] > jshls[0]) { + return CVHFdot_nrs1(jkop, vjk, dms, buf, n_buf, cache, n_dm, + ishls, jshls, kshls, lshls, vhfopt, envs, n_env); + } else if (ishls[0] == jshls[0]) { + + DECLARE_ALL; + + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh <= ish; jsh++) { + for (ksh = ksh0; ksh < ksh1; ksh++) { + for (lsh = lsh0; lsh < lsh1; lsh++) { + INTOR_AND_CONTRACT; + } } } } + } +} + +void CVHFdot_nrs2kl(JKOperator **jkop, JKArray **vjk, + ddtype **dms, ddtype *buf, int n_buf, ddtype *cache, int n_dm, + int *ishls, int *jshls, int *kshls, int *lshls, + CVHFOpt *vhfopt, IntorEnvs *envs, int n_env) +{ + if (kshls[0] > lshls[0]) { + return CVHFdot_nrs1(jkop, vjk, dms, buf, n_buf,cache, n_dm, + ishls, jshls, kshls, lshls, vhfopt, envs, n_env); + } else if (kshls[0] == lshls[0]) { + assert(kshls[1] == lshls[1]); + + DECLARE_ALL; + + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh < jsh1; jsh++) { + for (ksh = ksh0; ksh < ksh1; ksh++) { + for (lsh = lsh0; lsh <= ksh; lsh++) { + INTOR_AND_CONTRACT; + } } } } + } +} + +void CVHFdot_nrs4(JKOperator **jkop, JKArray **vjk, + ddtype **dms, ddtype *buf, int n_buf, ddtype *cache, int n_dm, + int *ishls, int *jshls, int *kshls, int *lshls, + CVHFOpt *vhfopt, IntorEnvs *envs, int n_env) +{ + if (ishls[0] > jshls[0]) { + return CVHFdot_nrs2kl(jkop, vjk, dms, buf, n_buf, cache, n_dm, + ishls, jshls, kshls, lshls, vhfopt, envs, n_env); + } else if (ishls[1] <= jshls[0]) { + return; + } else if (kshls[0] > lshls[0]) { // ishls == jshls + return CVHFdot_nrs2ij(jkop, vjk, dms, buf, n_buf, cache, n_dm, + ishls, jshls, kshls, lshls, vhfopt, envs, n_env); + } else if (kshls[0] == lshls[0]) { // ishls == jshls + assert(kshls[1] == lshls[1]); + + DECLARE_ALL; + + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh <= ish; jsh++) { + for (ksh = ksh0; ksh < ksh1; ksh++) { + for (lsh = lsh0; lsh <= ksh; lsh++) { + INTOR_AND_CONTRACT; + } } } } + } +} + + +static void nrs8_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, int i0, int i1, int j0, int j1, int k0, int k1, int l0, int l1); +static void nrs8_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, int i0, int i1, int j0, int j1, int k0, int k1, int l0, int l1); + +void CVHFdot_nrs8( JKOperator **jkop, JKArray **vjk, + ddtype **dms, ddtype *buf, int n_buf, ddtype *cache, int n_dm, + int *ishls, int *jshls, int *kshls, int *lshls, + CVHFOpt *vhfopt, IntorEnvs *envs, int n_env) { + //if (vhfopt != NULL) { + // if (vhfopt->fprescreen == &CVHFnrs8_prescreen) { + // if (!CVHFnrs8_prescreen_block(vhfopt, ishls, jshls, kshls, lshls)) { + // return; + // } + // } else if (vhfopt->fprescreen == &CVHFnrs8_vj_prescreen) { + // if (!CVHFnrs8_vj_prescreen_block(vhfopt, ishls, jshls, kshls, lshls)) { + // return; + // } + // } else if (vhfopt->fprescreen == &CVHFnrs8_vk_prescreen) { + // if (!CVHFnrs8_vk_prescreen_block(vhfopt, ishls, jshls, kshls, lshls)) { + // return; + // } + // } + //} + + + if (ishls[0] > kshls[0]) { + //printf("A!\n"); + return CVHFdot_nrs4(jkop, vjk, dms, buf, n_buf, cache, n_dm, + ishls, jshls, kshls, lshls, vhfopt, envs, n_env); + } + else if (ishls[0] < kshls[0]) return; + else if ((ishls[1] <= jshls[0]) || (kshls[1] <= lshls[0])) { + //assert(ishls[1] == kshls[1]); + return; + } + + // else i == k && i >= j && k >= l + assert(ishls[1] == kshls[1]); + + //printf("ELSE!\n"); + + DECLARE_ALL; + + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh < std::min(jsh1, ish+1); jsh++) { + for (ksh = ksh0; ksh <= ish; ksh++) { + for (lsh = lsh0; lsh < std::min(lsh1, ksh+1); lsh++) { + // when ksh==ish, (lshj). + // These integrals are calculated in the next (ish,jsh) pair. To show + // that, we just need to prove that every elements in shell^4 appeared + // only once in fjk_s8. // + if ((ksh == ish) && (lsh > jsh)) { + break; + } + //INTOR_AND_CONTRACT; + + + shls[0] = ish; + shls[1] = jsh; + shls[2] = ksh; + shls[3] = lsh; + notempty = int2e_sph(gctr, buf, n_buf, NULL, shls, ao_loc, atm, natm, bas, nbas, env, n_env, NULL, NULL, NULL, NULL); + if (notempty) { + i0 = ao_loc[ish] - ioff; + j0 = ao_loc[jsh] - joff; + k0 = ao_loc[ksh] - koff; + l0 = ao_loc[lsh] - loff; + i1 = ao_loc[ish+1] - ioff; + j1 = ao_loc[jsh+1] - joff; + k1 = ao_loc[ksh+1] - koff; + l1 = ao_loc[lsh+1] - loff; + /*for (idm = 0; idm < n_dm; idm++) { + pf = jkop[idm]->contract; + (*pf)(buf, dms[idm], vjk[idm], shls, i0, i1, j0, j1, k0, k1, l0, l1); + } */ + + + nrs8_ji_s1kl(buf, dms[0], vjk[0], shls, i0, i1, j0, j1, k0, k1, l0, l1); + nrs8_jk_s1il(buf, dms[1], vjk[1], shls, i0, i1, j0, j1, k0, k1, l0, l1); + + } + + //printf("%i %i %i %i\n", ish, jsh, ksh, lsh); + //fflush(stdout); + } + } + } + } + + //printf("DONE!\n"); +} + +JKArray *CVHFallocate_JKArray(JKOperator *op, int *shls_slice, int *ao_loc, int ncomp) +{ + JKArray *jkarray;//[1]; //= new JKArray; //malloc(sizeof(JKArray)); + int ibra = op->ibra_shl0; + int iket = op->iket_shl0; + int obra = op->obra_shl0; + int oket = op->oket_shl0; + int v_bra_sh0 = shls_slice[obra]; + int v_ket_sh0 = shls_slice[oket]; + int v_bra_sh1 = shls_slice[obra+1]; + int v_ket_sh1 = shls_slice[oket+1]; + jkarray->v_ket_nsh = shls_slice[oket+1] - shls_slice[oket]; + jkarray->dm_dims[0] = ao_loc[shls_slice[ibra+1]] - ao_loc[shls_slice[ibra]]; + jkarray->dm_dims[1] = ao_loc[shls_slice[iket+1]] - ao_loc[shls_slice[iket]]; + int v_rows = ao_loc[v_bra_sh1] - ao_loc[v_bra_sh0]; + int v_cols = ao_loc[v_ket_sh1] - ao_loc[v_ket_sh0]; + jkarray->offset0_outptr = v_bra_sh0 * jkarray->v_ket_nsh + v_ket_sh0; + int outptr_size =((shls_slice[obra+1] - shls_slice[obra]) * + (shls_slice[oket+1] - shls_slice[oket])); + //int *outptr = malloc(sizeof(int) * outptr_size); + int *outptr = new int[1024]; //malloc(sizeof(int) * outptr_size); + jkarray->outptr = outptr; + int i; + for (i = 0; i < outptr_size; i++) { + outptr[i] = NOVALUE; + } + jkarray->stack_size = 0; + int data_size = v_rows * v_cols * ncomp; + //jkarray->data = malloc(sizeof(ddtype) * data_size); + jkarray->data = new ddtype[1024];//' malloc(sizeof(ddtype) * data_size); + jkarray->ncomp = ncomp; + return jkarray; +} + +void CVHFdeallocate_JKArray(JKArray *jkarray) +{ + /*free(jkarray->outptr); + free(jkarray->data); + free(jkarray);*/ +} + +ddtype *CVHFallocate_and_reorder_dm(JKOperator *op, + ddtype *dm, + int *shls_slice, + int *ao_loc) { + int ibra = op->ibra_shl0; + int iket = op->iket_shl0; + int ish0 = shls_slice[ibra]; + int jsh0 = shls_slice[iket]; + int ish1 = shls_slice[ibra+1]; + int jsh1 = shls_slice[iket+1]; + int ioff = ao_loc[ish0]; + int joff = ao_loc[jsh0]; + int nrow = ao_loc[ish1] - ioff; + int ncol = ao_loc[jsh1] - joff; + //ddtype *out = malloc(sizeof(ddtype) * nrow*ncol); + //ddtype *out = new ddtype[1024]; //malloc(sizeof(ddtype) * nrow*ncol); + ddtype _out[1024];//= new ddtype[1024]; //malloc(sizeof(ddtype) * nrow*ncol); + ddtype *out = _out; + int ish, jsh, i0, i1, j0, j1, i, j, ij; + + ij = 0; + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh < jsh1; jsh++) { + i0 = ao_loc[ish ] - ioff; + i1 = ao_loc[ish+1] - ioff; + j0 = ao_loc[jsh ] - joff; + j1 = ao_loc[jsh+1] - joff; + for (i = i0; i < i1; i++) { + for (j = j0; j < j1; j++, ij++) { + out[ij] = dm[i*ncol+j]; + } + } + } + } + return out; +} + +void CVHFzero_out_vjk(ddtype *vjk, JKOperator *op, + int *shls_slice, int *ao_loc, int ncomp) { + int obra = op->obra_shl0; + int oket = op->oket_shl0; + int ish0 = shls_slice[obra]; + int jsh0 = shls_slice[oket]; + int ish1 = shls_slice[obra+1]; + int jsh1 = shls_slice[oket+1]; + int nbra = ao_loc[ish1] - ao_loc[ish0]; + int nket = ao_loc[jsh1] - ao_loc[jsh0]; + NPdset0(vjk, ((size_t)nbra) * nket * ncomp); +} + +void CVHFassemble_v(ddtype *vjk, JKOperator *op, JKArray *jkarray, + int *shls_slice, int *ao_loc) { + + int obra = op->obra_shl0; + int oket = op->oket_shl0; + int ish0 = shls_slice[obra]; + int jsh0 = shls_slice[oket]; + int ish1 = shls_slice[obra+1]; + int jsh1 = shls_slice[oket+1]; + int njsh = jsh1 - jsh0; + size_t vrow = ao_loc[ish1] - ao_loc[ish0]; + size_t vcol = ao_loc[jsh1] - ao_loc[jsh0]; + int ncomp = jkarray->ncomp; + int voffset = ao_loc[ish0] * vcol + ao_loc[jsh0]; + int i, j, ish, jsh; + int di, dj, icomp; + int optr; + ddtype *data, *pv; + + for (ish = ish0; ish < ish1; ish++) { + for (jsh = jsh0; jsh < jsh1; jsh++) { + //printf("%i %i\n", ish, jsh); + //fflush(stoud); + + optr = jkarray->outptr[ish*njsh+jsh-jkarray->offset0_outptr]; + if (optr != NOVALUE) { + di = ao_loc[ish+1] - ao_loc[ish]; + dj = ao_loc[jsh+1] - ao_loc[jsh]; + data = jkarray->data + optr; + pv = vjk + ao_loc[ish]*vcol+ao_loc[jsh] - voffset; + for (icomp = 0; icomp < ncomp; icomp++) { + for (i = 0; i < di; i++) { + for (j = 0; j < dj; j++) { + pv[i*vcol+j] += data[i*dj+j]; + } } + pv += vrow * vcol; + data += di * dj; + } + } + } + } +} + +// Divide shls into subblocks with roughly equal number of AOs in each block +int CVHFshls_block_partition(int *block_loc, int *shls_slice, int *ao_loc, + int block_size) +{ + int ish0 = shls_slice[0]; + int ish1 = shls_slice[1]; + int count = 0; + if (ish0 >= ish1) { + return count; + } + + int ao_loc_last = ao_loc[ish0]; + int ish; + + count = 1; + block_loc[0] = ish0; + for (ish = ish0 + 1; ish < ish1; ish++) { + if (ao_loc[ish+1] - ao_loc_last > block_size) { + block_loc[count] = ish; + count++; + ao_loc_last = ao_loc[ish]; + } + } + block_loc[count] = ish1; + return count; +} + +// Divide shells into subblocks with two cutting points specified in shls_lim. +// The cutting points should not be placed inside any subblocks. +static int _shls_block_partition_lim(int *block_loc, int *shls_slice, + int *shls_lim, int *ao_loc) +{ + int lim0 = shls_lim[0]; + int lim1 = shls_lim[1]; + if (lim0 >= lim1) { + return CVHFshls_block_partition(block_loc, shls_slice, ao_loc, AO_BLOCK_SIZE); + } + + int ish0 = shls_slice[0]; + int ish1 = shls_slice[1]; + int seg[4] = {ish0, lim0, lim1, ish1}; + int count = CVHFshls_block_partition(block_loc, seg, ao_loc, AO_BLOCK_SIZE); + count += CVHFshls_block_partition(block_loc+count, seg+1, ao_loc, AO_BLOCK_SIZE); + count += CVHFshls_block_partition(block_loc+count, seg+2, ao_loc, AO_BLOCK_SIZE); + return count; +} + + +// +// * drv loop over ij, generate eris of kl for given ij, call fjk to +// * calculate vj, vk. +// * +// * n_dm is the number of dms for one [array(ij|kl)], it is also the size of dms and vjk +// * ncomp is the number of components that produced by intor +// * shls_slice = [ishstart, ishend, jshstart, jshend, kshstart, kshend, lshstart, lshend] +// * +// * ao_loc[i+1] = ao_loc[i] + CINTcgto_spheric(i, bas) for i = 0..nbas +// * +// * Return [(ptr[ncomp,nao,nao] in C-contiguous) for ptr in vjk] +// +extern "C" void CVHFnr_direct_drv(//int (*intor)(), void (*fdot)(), + JKOperator **jkop, + + //input_type **dms, input_type **vjk, // this is input and output, both of size (NAO, NAO) + ddtype **dms, ddtype **vjk, // this is input and output, both of size (NAO, NAO) + + int n_dm, int ncomp, + int *shls_slice, int *ao_loc, + CINTOpt *cintopt, CVHFOpt *vhfopt, + int *atm, int natm, int *bas, int nbas, + //input_type *env, + ddtype *env, + int n_env) { + + + + //ddtype __env[n_env]; + //for (int i= 0; i < n_env; i++) __env[i] = _env[i]; + //ddtype *env = __env; + + // n_dm = 2 because (vj, vk) + + IntorEnvs envs = {natm, nbas, atm, bas, env, shls_slice, ao_loc, NULL, cintopt, ncomp}; + int idm ; + ddtype *tile_dms[2]; + //CVHFzero_out_vjk(vjk[idm], jkop[idm], shls_slice, ao_loc, ncomp); + tile_dms[0] = CVHFallocate_and_reorder_dm(jkop[0], dms[0], shls_slice, ao_loc); + tile_dms[1] = CVHFallocate_and_reorder_dm(jkop[1], dms[1], shls_slice, ao_loc); + //printf("idm=%i\n", idm); + //} + + + // TODO + size_t di = 1024; //GTOmax_shell_dim(ao_loc, shls_slice, 4); + int cache_size = 1024;//GTOmax_cache_size(shls_slice, 4, atm, natm, bas, nbas, env, n_env); + + int ish0 = shls_slice[0]; + int ish1 = shls_slice[1]; + int jsh0 = shls_slice[2]; + int jsh1 = shls_slice[3]; + int ksh0 = shls_slice[4]; + int ksh1 = shls_slice[5]; + int lsh0 = shls_slice[6]; + int lsh1 = shls_slice[7]; + int nish = ish1 - ish0; + int njsh = jsh1 - jsh0; + int nksh = ksh1 - ksh0; + int nlsh = lsh1 - lsh0; + //int *block_iloc = malloc(sizeof(int) * (nish + njsh + nksh + nlsh + 4)); // this is new + int *block_iloc = new int[1024]; //malloc(sizeof(int) * (nish + njsh + nksh + nlsh + 4)); // this is new + int *block_jloc = block_iloc + nish + 1; + int *block_kloc = block_jloc + njsh + 1; + int *block_lloc = block_kloc + nksh + 1; + size_t nblock_i = CVHFshls_block_partition(block_iloc, shls_slice+0, ao_loc, AO_BLOCK_SIZE); + size_t nblock_j = CVHFshls_block_partition(block_jloc, shls_slice+2, ao_loc, AO_BLOCK_SIZE); + size_t nblock_k = CVHFshls_block_partition(block_kloc, shls_slice+4, ao_loc, AO_BLOCK_SIZE); + size_t nblock_l = CVHFshls_block_partition(block_lloc, shls_slice+6, ao_loc, AO_BLOCK_SIZE); + size_t nblock_kl = nblock_k * nblock_l; + size_t nblock_jkl = nblock_j * nblock_kl; + + size_t i, j, k, l, r, blk_id; + JKArray *v_priv[2]; + //for (i = 0; i < n_dm; i++) { + v_priv[0] = CVHFallocate_JKArray(jkop[0], shls_slice, ao_loc, ncomp); + v_priv[1] = CVHFallocate_JKArray(jkop[1], shls_slice, ao_loc, ncomp); + //} + + + + + + //ddtype *buf = malloc(sizeof(ddtype)* ( di*di*di*di*ncomp + di*di*2 + cache_size )); + ddtype *buf = new ddtype[1024]; //malloc(sizeof(ddtype)* ( di*di*di*di*ncomp + di*di*2 + cache_size )); + int n_buf = di*di*di*di*ncomp + di*di*2 + cache_size; + ddtype *cache = buf + di*di*di*di*ncomp; + + + for (blk_id = 0; blk_id < nblock_jkl; blk_id++) { + r = blk_id; + j = r / nblock_kl ; r = r % nblock_kl; + k = r / nblock_l ; r = r % nblock_l; + l = r; + + + for (i = 0; i < nblock_i; i++) { + + //printf("[%i %i %i]\n", blk_id, i, nblock_i); // it only ends up calling once? + //fflush(stdout); + CVHFdot_nrs8(jkop, v_priv, tile_dms, buf, n_buf, cache, n_dm, block_iloc+i, block_jloc+j, block_kloc+k, block_lloc+l, vhfopt, &envs, n_env); + } + + } + + + + for (i = 0; i < n_dm; i++) { + CVHFassemble_v(vjk[i], jkop[i], v_priv[i], shls_slice, ao_loc); + CVHFdeallocate_JKArray(v_priv[i]); + } + + /*free(buf); + for (idm = 0; idm < n_dm; idm++) { + free(tile_dms[idm]); + } + free(block_iloc);*/ + + return; +} + +// FILE nr_direct_Dot.c file + + +#define ASSERT(expr, msg) \ + {}//if (!(expr)) { fprintf(stderr, "Fail at %s\n", msg); exit(1); } + +#define MAXCGTO 64 + +#define ISH0 0 +#define ISH1 1 +#define JSH0 2 +#define JSH1 3 +#define KSH0 4 +#define KSH1 5 +#define LSH0 6 +#define LSH1 7 + +#define JKOP_DATA_SIZE(obra, oket) \ + static size_t JKOperator_data_size_##obra##oket(int *shls_slice, int *ao_loc) \ +{ \ + int nbra = ao_loc[shls_slice[obra##SH1]] - ao_loc[shls_slice[obra##SH0]]; \ + int nket = ao_loc[shls_slice[oket##SH1]] - ao_loc[shls_slice[oket##SH0]]; \ + return nbra * nket; \ +} +JKOP_DATA_SIZE(K, L) +JKOP_DATA_SIZE(L, K) +JKOP_DATA_SIZE(I, J) +JKOP_DATA_SIZE(J, I) +JKOP_DATA_SIZE(K, J) +JKOP_DATA_SIZE(J, K) +JKOP_DATA_SIZE(I, L) +JKOP_DATA_SIZE(L, I) +JKOP_DATA_SIZE(K, I) +JKOP_DATA_SIZE(I, K) +JKOP_DATA_SIZE(J, L) +JKOP_DATA_SIZE(L, J) + +#define ADD_JKOP(fname, ibra, iket, obra, oket, type) \ +JKOperator CVHF##fname = {ibra##SH0, iket##SH0, obra##SH0, oket##SH0, \ + fname, JKOperator_data_size_##obra##oket, \ + JKOperator_sanity_check_##type} + +static void JKOperator_sanity_check_s1(int *shls_slice) +{ +} +static void JKOperator_sanity_check_s2ij(int *shls_slice) +{ + ASSERT(((shls_slice[0] == shls_slice[2]) && + (shls_slice[1] == shls_slice[3])), "s2ij"); +} +static void JKOperator_sanity_check_s2kl(int *shls_slice) +{ + ASSERT(((shls_slice[4] == shls_slice[6]) && + (shls_slice[5] == shls_slice[7])), "s2kl"); +} +static void JKOperator_sanity_check_s4(int *shls_slice) +{ + ASSERT(((shls_slice[0] == shls_slice[2]) && + (shls_slice[1] == shls_slice[3])), "s4 ij"); + ASSERT(((shls_slice[4] == shls_slice[6]) && + (shls_slice[5] == shls_slice[7])), "s4 kl"); +} +static void JKOperator_sanity_check_s8(int *shls_slice) +{ + ASSERT(((shls_slice[0] == shls_slice[2]) && + (shls_slice[1] == shls_slice[3])), "s8 ij"); + ASSERT(((shls_slice[4] == shls_slice[6]) && + (shls_slice[5] == shls_slice[7])), "s8 kl"); + ASSERT(((shls_slice[0] == shls_slice[4]) && + (shls_slice[1] == shls_slice[5])), "s8 ik"); +} + +#define iSH 0 +#define jSH 1 +#define kSH 2 +#define lSH 3 +#define LOCATE(v, i, j) \ + int d##i##j = d##i * d##j; \ + _poutptr = out->outptr + shls[i##SH]*out->v_ket_nsh+shls[j##SH] - out->offset0_outptr; \ + if (*_poutptr == NOVALUE) { \ + *_poutptr = out->stack_size; \ + out->stack_size += d##i##j * ncomp; \ + NPdset0(out->data+*_poutptr, d##i##j*ncomp); \ + } \ + ddtype *v = out->data + *_poutptr; +#define DECLARE(v, i, j) \ + int ncomp = out->ncomp; \ + int ncol = out->dm_dims[1]; \ + int di = i1 - i0; \ + int dj = j1 - j0; \ + int dk = k1 - k0; \ + int dl = l1 - l0; \ + int *_poutptr; \ + LOCATE(v, i, j) + +#define DEF_NRS1_CONTRACT(D1, D2, V1, V2) \ +static void nrs1_##D1##D2##_s1##V1##V2(ddtype *eri, ddtype *dm, JKArray *out, int *shls, \ + int i0, int i1, int j0, int j1, \ + int k0, int k1, int l0, int l1) \ +{ \ + DECLARE(v, V1, V2); \ + int i, j, k, l, ijkl, icomp; \ + dm += D1##0 * ncol + D2##0 * d##D1; \ + \ + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { \ + for (l = 0; l < dl; l++) { \ + for (k = 0; k < dk; k++) { \ + for (j = 0; j < dj; j++) { \ + for (i = 0; i < di; i++, ijkl++) { \ + v[V1*d##V2+V2] += eri[ijkl] * dm[D1*d##D2+D2]; \ + } } } } \ + v += d##V1##V2; \ + } \ +} + +#define DEF_DM(I, J) \ + ddtype *dm##I##J = dm + I##0 * ncol + J##0 * d##I + +/* eri in Fortran order; dm, out in C order */ + +static void nrs1_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + DECLARE(v, k, l); + int dij = di * dj; + DEF_DM(j, i); + int k, l, ij, icomp; + ddtype s; + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + s = v[k*dl+l]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + s += eri[ij] * dmji[ij]; + } + v[k*dl+l] = s; + eri += dij; + } } + v += dkl; + } +} +ADD_JKOP(nrs1_ji_s1kl, J, I, K, L, s1); + +static void nrs1_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 >= l0) { + nrs1_ji_s1kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs1_ji_s2kl, J, I, K, L, s1); + + +static void nrs1_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + DECLARE(v, i, j); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype s; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + s = dmlk[l*dk+k]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * s; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + v[i*dj+j] += buf[ij]; + } } + v += dij; + } +} +ADD_JKOP(nrs1_lk_s1ij, L, K, I, J, s1); + +static void nrs1_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= j0) { + nrs1_lk_s1ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs1_lk_s2ij, L, K, I, J, s1); + + +static void nrs1_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + DECLARE(v, i, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + ddtype s; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmjk[j*dk+k]; + for (i = 0; i < di; i++, ijkl++) { + v[i*dl+l] += eri[ijkl] * s; + } + } } } + v += dil; + } +} +ADD_JKOP(nrs1_jk_s1il, J, K, I, L, s1); + +//DEF_NRS1_CONTRACT(j, k, i, l); ADD_JKOP(nrs1_jk_s1il, J, K, I, L, s1); +DEF_NRS1_CONTRACT(j, k, l, i); ADD_JKOP(nrs1_jk_s1li, J, K, L, I, s1); +DEF_NRS1_CONTRACT(k, j, i, l); ADD_JKOP(nrs1_kj_s1il, K, J, I, L, s1); +DEF_NRS1_CONTRACT(k, j, l, i); ADD_JKOP(nrs1_kj_s1li, K, J, L, I, s1); +DEF_NRS1_CONTRACT(i, k, j, l); ADD_JKOP(nrs1_ik_s1jl, I, K, J, L, s1); +DEF_NRS1_CONTRACT(i, k, l, j); ADD_JKOP(nrs1_ik_s1lj, I, K, L, J, s1); +DEF_NRS1_CONTRACT(k, i, l, j); ADD_JKOP(nrs1_ki_s1lj, K, I, L, J, s1); +DEF_NRS1_CONTRACT(k, i, j, l); ADD_JKOP(nrs1_ki_s1jl, K, I, J, L, s1); +DEF_NRS1_CONTRACT(j, l, k, i); ADD_JKOP(nrs1_jl_s1ki, J, L, K, I, s1); +DEF_NRS1_CONTRACT(j, l, i, k); ADD_JKOP(nrs1_jl_s1ik, J, L, I, K, s1); +DEF_NRS1_CONTRACT(l, j, k, i); ADD_JKOP(nrs1_lj_s1ki, L, J, K, I, s1); +DEF_NRS1_CONTRACT(l, j, i, k); ADD_JKOP(nrs1_lj_s1ik, L, J, I, K, s1); +DEF_NRS1_CONTRACT(l, i, k, j); ADD_JKOP(nrs1_li_s1kj, L, I, K, J, s1); +DEF_NRS1_CONTRACT(l, i, j, k); ADD_JKOP(nrs1_li_s1jk, L, I, J, K, s1); +DEF_NRS1_CONTRACT(i, l, k, j); ADD_JKOP(nrs1_il_s1kj, I, L, K, J, s1); +DEF_NRS1_CONTRACT(i, l, j, k); ADD_JKOP(nrs1_il_s1jk, I, L, J, K, s1); + +//DEF_NRS1_CONTRACT(j, i, k, l); ADD_JKOP(nrs1_ji_s1kl, J, I, K, L, s1); +//DEF_NRS1_CONTRACT(l, k, i, j); ADD_JKOP(nrs1_lk_s1ij, L, K, I, J, s1); +DEF_NRS1_CONTRACT(i, j, k, l); ADD_JKOP(nrs1_ij_s1kl, I, J, K, L, s1); +DEF_NRS1_CONTRACT(i, j, l, k); ADD_JKOP(nrs1_ij_s1lk, I, J, L, K, s1); +DEF_NRS1_CONTRACT(j, i, l, k); ADD_JKOP(nrs1_ji_s1lk, J, I, L, K, s1); +DEF_NRS1_CONTRACT(l, k, j, i); ADD_JKOP(nrs1_lk_s1ji, L, K, J, I, s1); +DEF_NRS1_CONTRACT(k, l, i, j); ADD_JKOP(nrs1_kl_s1ij, K, L, I, J, s1); +DEF_NRS1_CONTRACT(k, l, j, i); ADD_JKOP(nrs1_kl_s1ji, K, L, J, I, s1); + +static void nrs1_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= l0) { + nrs1_jk_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs1_jk_s2il, J, K, I, L, s1); + + +static void nrs1_kj_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= l0) { + nrs1_kj_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs1_kj_s2il, J, K, I, L, s1); + + +static void nrs1_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 >= j0) { + nrs1_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs1_li_s2kj, L, I, K, J, s1); + +static void nrs2ij_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(v, k, l); + int dij = di * dj; + DEF_DM(i, j); + DEF_DM(j, i); + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype tmp; + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmij[i*dj+j] + dmji[j*di+i]; + } } + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + } + v[k*dl+l] += tmp; + eri += dij; + } } + v += dkl; + } + } else { + nrs1_ji_s1kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_ji_s1kl, J, I, K, L, s2ij); + +static void nrs2ij_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 >= l0) { + nrs2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_ji_s2kl, J, I, K, L, s2ij); + + +static void nrs2ij_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype s; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + s = dmlk[l*dk+k]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * s; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] += buf[ij]; + } } + vij += dij; + vji += dij; + } + } else { + nrs1_lk_s1ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_lk_s1ij, L, K, I, J, s2ij); + +static void nrs2ij_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs2ij_lk_s2ij, L, K, I, J, s2ij); + + +static void nrs2ij_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + LOCATE(vjl, j, l); + int i, j, k, l, ijkl, icomp; + ddtype s, tmp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmjk[j*dk+k]; + tmp = vjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * s; + tmp += eri[ijkl] * dmik[i*dk+k]; + } + vjl[j*dl+l] = tmp; + } } } + vil += dil; + vjl += djl; + } + } else { + nrs1_jk_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_jk_s1il, J, K, I, L, s2ij); + +static void nrs2ij_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (j0 >= l0) { + nrs2ij_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_jk_s2il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_jk_s2il, J, K, I, L, s2ij); + + +static void nrs2ij_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(l, j); + LOCATE(vki, k, i); + int i, j, k, l, ijkl, icomp; + ddtype s, tmp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmlj[l*dj+j]; + tmp = vkj[k*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] += eri[ijkl] * s; + } + vkj[k*dj+j] = tmp; + } } } + vkj += dkj; + vki += dki; + } + } else { + nrs1_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_li_s1kj, L, I, K, J, s2ij); + +static void nrs2ij_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 >= i0) { + nrs2ij_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_li_s2kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2ij_li_s2kj, L, I, K, J, s2ij); + + +static void nrs2kl_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(vkl, k, l); + LOCATE(vlk, l, k); + int dij = di * dj; + DEF_DM(j, i); + int k, l, ij, icomp; + ddtype tmp; + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * dmji[ij]; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] += tmp; + eri += dij; + } } + vkl += dkl; + vlk += dkl; + } + } else { + return nrs1_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_ji_s1kl, J, I, K, L, s2kl); + +static void nrs2kl_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs1_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs2kl_ji_s2kl, J, I, K, L, s2kl); + + +static void nrs2kl_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(v, i, j); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype tdm; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm = dmkl[k*dl+l] + dmlk[l*dk+k]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + v[i*dj+j] += buf[ij]; + } } + v += dij; + } + } else { + nrs1_lk_s1ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_lk_s1ij, L, K, I, J, s2kl); + +static void nrs2kl_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= j0) { + nrs2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_lk_s2ij, L, K, I, J, s2kl); + + +static void nrs2kl_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(vil, i, l); + DEF_DM(j, k); + DEF_DM(j, l); + LOCATE(vik, i, k); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmjk[j*dk+k]; + s1 = dmjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * s0; + vik[i*dk+k] += eri[ijkl] * s1; + } + } } } + vil += dil; + vik += dik; + } + } else { + nrs1_jk_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_jk_s1il, J, K, I, L, s2kl); + +static void nrs2kl_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= k0) { + nrs2kl_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_jk_s2il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_jk_s2il, J, K, I, L, s2kl); + + +static void nrs2kl_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(vkj, k, j); + DEF_DM(k, i); + DEF_DM(l, i); + LOCATE(vlj, l, j); + int i, j, k, l, ijkl, icomp; + ddtype tmp0, tmp1; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tmp0 = vkj[k*dj+j]; + tmp1 = vlj[l*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp0 += eri[ijkl] * dmli[l*di+i]; + tmp1 += eri[ijkl] * dmki[k*di+i]; + } + vkj[k*dj+j] = tmp0; + vlj[l*dj+j] = tmp1; + } } } + vkj += dkj; + vlj += dlj; + } + } else { + nrs1_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_li_s1kj, L, I, K, J, s2kl); + +static void nrs2kl_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (l0 >= j0) { + nrs2kl_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_li_s2kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nrs2kl_li_s2kj, L, I, K, J, s2kl); + + +static void nrs4_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vkl, k, l); + LOCATE(vlk, l, k); + int dij = di * dj; + DEF_DM(i, j); + DEF_DM(j, i); + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype tmp; + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmij[i*dj+j] + dmji[j*di+i]; + } + } + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] += tmp; + eri += dij; + } } + vkl += dkl; + vlk += dkl; + } + } +} +ADD_JKOP(nrs4_ji_s1kl, J, I, K, L, s4); + +static void nrs4_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs4_ji_s2kl, J, I, K, L, s4); + + +static void nrs4_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype tdm; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm = dmlk[l*dk+k] + dmkl[k*dl+l]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] += buf[ij]; + } } + vij += dij; + vji += dij; + } + } +} +ADD_JKOP(nrs4_lk_s1ij, L, K, I, J, s4); + +static void nrs4_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs4_lk_s2ij, L, K, I, J, s4); + +static void nrs4_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1, tmp0, tmp1; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmjl[j*dl+l]; + s1 = dmjk[j*dk+k]; + tmp0 = vjk[j*dk+k]; + tmp1 = vjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + tmp0 += eri[ijkl] * dmil[i*dl+l]; + tmp1 += eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] += eri[ijkl] * s0; + vil[i*dl+l] += eri[ijkl] * s1; + } + vjk[j*dk+k] = tmp0; + vjl[j*dl+l] = tmp1; + } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nrs4_jk_s1il, J, K, I, L, s4); + +static void nrs4_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 < l0) { + } else if (i0 < k0) { + if (j0 < l0) { // j < l <= i < k + DECLARE(v, i, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + ddtype s; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmjk[j*dk+k]; + for (i = 0; i < di; i++, ijkl++) { + v[i*dl+l] += eri[ijkl] * s; + } + } } } + v += dil; + } + } else { // l <= j < i < k + DECLARE(vil, i, l); + LOCATE(vjl, j, l); + DEF_DM(i, k); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + ddtype s, tmp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmjk[j*dk+k]; + tmp = vjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + tmp += eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * s; + } + vjl[j*dl+l] = tmp; + } } } + vjl += djl; + vil += dil; + } + } + } else if (j0 < l0) { // j < l < k <= i + DECLARE(vil, i, l); + LOCATE(vik, i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmjk[j*dk+k]; + s1 = dmjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * s0; + vik[i*dk+k] += eri[ijkl] * s1; + } + } } } + vil += dil; + vik += dik; + } + } else if (j0 < k0) { // l <= j < k <= i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1, tmp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmjk[j*dk+k]; + s1 = dmjl[j*dl+l]; + tmp = vjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + tmp += eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * s0; + vik[i*dk+k] += eri[ijkl] * s1; + } + vjl[j*dl+l] = tmp; + } } } + vjl += djl; + vil += dil; + vik += dik; + } + } else { // l < k <= j < i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vjk, j, k); + LOCATE(vil, i, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1, tmp0, tmp1; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmjl[j*dl+l]; + s1 = dmjk[j*dk+k]; + tmp0 = vjk[j*dk+k]; + tmp1 = vjl[j*dl+l]; + for (i = 0; i < di; i++, ijkl++) { + tmp0 += eri[ijkl] * dmil[i*dl+l]; + tmp1 += eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] += eri[ijkl] * s0; + vil[i*dl+l] += eri[ijkl] * s1; + } + vjk[j*dk+k] = tmp0; + vjl[j*dl+l] = tmp1; + } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nrs4_jk_s2il, J, K, I, L, s4); + + +static void nrs4_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1, tmp0, tmp1; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmlj[l*dj+j]; + s1 = dmkj[k*dj+j]; + tmp0 = vkj[k*dj+j]; + tmp1 = vlj[l*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp0 += eri[ijkl] * dmli[l*di+i]; + tmp1 += eri[ijkl] * dmki[k*di+i]; + vki[k*di+i] += eri[ijkl] * s0; + vli[l*di+i] += eri[ijkl] * s1; + } + vkj[k*dj+j] = tmp0; + vlj[l*dj+j] = tmp1; + } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nrs4_li_s1kj, L, I, K, J, s4); + +static void nrs4_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 < j0) { + } else if (k0 < i0) { + if (l0 < j0) { // l < j < k < i + DECLARE(v, k, j); + DEF_DM(l, i); + int i, j, k, l, ijkl, icomp; + ddtype tmp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tmp = v[k*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp += eri[ijkl] * dmli[l*di+i]; + } + v[k*dj+j] = tmp; + } } } + v += dkj; + } + } else { // j <= l < k < i + DECLARE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + ddtype tmp0, tmp1; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tmp0 = vkj[k*dj+j]; + tmp1 = vlj[l*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp0 += eri[ijkl] * dmli[l*di+i]; + tmp1 += eri[ijkl] * dmki[k*di+i]; + } + vkj[k*dj+j] = tmp0; + vlj[l*dj+j] = tmp1; + } } } + vkj += dkj; + vlj += dlj; + } + } + } else if (l0 < j0) { // l < j < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(l, j); + int i, j, k, l, ijkl, icomp; + ddtype s, tmp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmlj[l*dj+j]; + tmp = vkj[k*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] += eri[ijkl] * s; + } + vkj[k*dj+j] = tmp; + } } } + vkj += dkj; + vki += dki; + } + } else if (l0 < i0) { // j <= l < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + ddtype s, tmp0, tmp1; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s = dmlj[l*dj+j]; + tmp0 = vkj[k*dj+j]; + tmp1 = vlj[l*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + vki[k*di+i] += eri[ijkl] * s; + tmp0 += eri[ijkl] * dmli[l*di+i]; + tmp1 += eri[ijkl] * dmki[k*di+i]; + } + vkj[k*dj+j] = tmp0; + vlj[l*dj+j] = tmp1; + } } } + vkj += dkj; + vki += dki; + vlj += dlj; + } + } else { // j < i <= l < k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + ddtype s0, s1, tmp0, tmp1; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmlj[l*dj+j]; + s1 = dmkj[k*dj+j]; + tmp0 = vkj[k*dj+j]; + tmp1 = vlj[l*dj+j]; + for (i = 0; i < di; i++, ijkl++) { + tmp0 += eri[ijkl] * dmli[l*di+i]; + tmp1 += eri[ijkl] * dmki[k*di+i]; + vki[k*di+i] += eri[ijkl] * s0; + vli[l*di+i] += eri[ijkl] * s1; + } + vkj[k*dj+j] = tmp0; + vlj[l*dj+j] = tmp1; + } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nrs4_li_s2kj, L, I, K, J, s4); + + +static void nrs8_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, int i0, int i1, int j0, int j1, int k0, int k1, int l0, int l1) +{ + //fflush(stdout); + if (i0 == k0 && j0 == l0) { + nrs4_ji_s1kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 == j0 || k0 == l0) { + nrs4_ji_s1kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + nrs4_lk_s1ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + LOCATE(vkl, k, l); + LOCATE(vlk, l, k); + DEF_DM(i, j); + DEF_DM(j, i); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype *buf = tdm + dij; + ddtype tdm2, tmp; + + for (icomp = 0; icomp < ncomp; icomp++) { + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmij[i*dj+j] + dmji[j*di+i]; + } + } + for (ij = 0; ij < dij; ij++) { + buf[ij] = 0; + } + + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; + tdm2 = dmkl[k*dl+l] + dmlk[l*dk+k]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + buf[ij] += eri[ij] * tdm2; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] += tmp; + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] += buf[ij]; + } } + vij += dij; + vji += dji; + vkl += dkl; + vlk += dlk; + } + } +} +ADD_JKOP(nrs8_ji_s1kl, J, I, K, L, s8); + +static void nrs8_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == k0 && j0 == l0) { + nrs4_ji_s2kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 == j0 || k0 == l0) { + nrs4_ji_s2kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + nrs4_lk_s2ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vij, i, j); + LOCATE(vkl, k, l); + DEF_DM(i, j); + DEF_DM(j, i); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype *buf = tdm + dij; + ddtype tmp, tdm2; + + for (icomp = 0; icomp < ncomp; icomp++) { + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmij[i*dj+j] + dmji[j*di+i]; + } + } + for (ij = 0; ij < dij; ij++) { + buf[ij] = 0; + } + + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm2 = dmkl[k*dl+l] + dmlk[l*dk+k]; + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm2; + tmp += eri[ij] * tdm[ij]; + } + vkl[k*dl+l] += tmp; + eri += dij; + } } + + for (ij = 0, i = 0; i < di; i++) { + for (j = 0; j < dj; j++, ij++) { + vij[ij] += buf[j*di+i]; + } } + vij += dij; + vkl += dkl; + } + } +} +ADD_JKOP(nrs8_ji_s2kl, J, I, K, L, s8); + + +static void nrs8_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs8_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs8_lk_s1ij, L, K, I, J, s8); + +static void nrs8_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs8_ji_s2kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs8_lk_s2ij, L, K, I, J, s8); + + +static void nrs8_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == k0 && j0 == l0) { + nrs4_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 == j0 || k0 == l0) { // i0==l0 => i0==k0==l0 + nrs4_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + nrs4_jk_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vkj, k, j); + LOCATE(vki, k, i); + LOCATE(vlj, l, j); + LOCATE(vli, l, i); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + DEF_DM(j, l); + DEF_DM(j, k); + DEF_DM(i, l); + DEF_DM(i, k); + int i, j, k, l, ijkl, icomp; + ddtype s, s0, s1, s2, s3, tmp0, tmp1, tmp2, tmp3; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + s0 = dmlj[l*dj+j]; + s1 = dmkj[k*dj+j]; + s2 = dmjl[j*dl+l]; + s3 = dmjk[j*dk+k]; + tmp0 = 0; + tmp1 = 0; + tmp2 = 0; + tmp3 = 0; + for (i = 0; i < di; i++, ijkl++) { + s = eri[ijkl]; + vki[k*di+i] += s * s0; + vli[l*di+i] += s * s1; + vik[i*dk+k] += s * s2; + vil[i*dl+l] += s * s3; + tmp0 += s * dmli[l*di+i]; + tmp1 += s * dmki[k*di+i]; + tmp2 += s * dmil[i*dl+l]; + tmp3 += s * dmik[i*dk+k]; + } + vkj[k*dj+j] += tmp0; + vlj[l*dj+j] += tmp1; + vjk[j*dk+k] += tmp2; // vkj, vjk may share memory + vjl[j*dl+l] += tmp3; // vlj, vjl may share memory + } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + vik += dik; + vil += dil; + vjk += djk; + vjl += djl; + } + } +} +ADD_JKOP(nrs8_li_s1kj, L, I, K, J, s8); + +static void nrs8_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == k0) { + nrs4_li_s2kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + if (j0 != l0) { + nrs4_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } + } else if (i0 == j0 || k0 == l0) { // i0==l0 => i0==k0==l0 + nrs4_li_s2kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + nrs4_jk_s2il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + int i, j, k, l, ijkl, icomp; + ddtype s, tjl, tjk, sjk, sjl, skj, slj; + if (j0 < l0) { // j <= l < k < i + DECLARE(vkj, k, j); + LOCATE(vlj, l, j); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + DEF_DM(l, i); + DEF_DM(k, i); + DEF_DM(j, l); + DEF_DM(j, k); + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tjl = dmjl[j*dl+l]; + tjk = dmjk[j*dk+k]; + skj = 0; + slj = 0; + for (i = 0; i < di; i++, ijkl++) { + //vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + //vlj[l*dj+j] += eri[ijkl] * dmki[k*di+i]; + //vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + //vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + s = eri[ijkl]; + skj += s * dmli[l*di+i]; + slj += s * dmki[k*di+i]; + vik[i*dk+k] += s * tjl; + vil[i*dl+l] += s * tjk; + } + vkj[k*dj+j] += skj; + vlj[l*dj+j] += slj; + } } } + vkj += dkj; + vlj += dlj; + vik += dik; + vil += dil; + } + } else if (j0 == l0) { // j == l < k < i + DECLARE(vkj, k, j); + LOCATE(vlj, l, j); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjl, j, l); + DEF_DM(l, i); + DEF_DM(k, i); + DEF_DM(j, l); + DEF_DM(j, k); + DEF_DM(i, k); + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tjl = dmjl[j*dl+l]; + tjk = dmjk[j*dk+k]; + skj = 0; + slj = 0; + sjl = 0; + for (i = 0; i < di; i++, ijkl++) { + //vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + //vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + //vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + //vlj[l*dj+j] += eri[ijkl] * dmki[k*di+i]; + //vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + s = eri[ijkl]; + vik[i*dk+k] += s * tjl; + vil[i*dl+l] += s * tjk; + skj += s * dmli[l*di+i]; + slj += s * dmki[k*di+i]; + sjl += s * dmik[i*dk+k]; + } + vlj[l*dj+j] += slj; + vkj[k*dj+j] += skj; + vjl[j*dl+l] += sjl; // vjl, vlj may share memory + } } } + vkj += dkj; + vlj += dlj; + vik += dik; + vil += dil; + vjl += djl; + } + } else if (j0 < k0) { // l < j < k < i + DECLARE(vkj, k, j); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjl, j, l); + DEF_DM(l, i); + DEF_DM(j, l); + DEF_DM(j, k); + DEF_DM(i, k); + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tjl = dmjl[j*dl+l]; + tjk = dmjk[j*dk+k]; + skj = 0; + sjl = 0; + for (i = 0; i < di; i++, ijkl++) { + //vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + //vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + //vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + //vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + s = eri[ijkl]; + vik[i*dk+k] += s * tjl; + vil[i*dl+l] += s * tjk; + skj += s * dmli[l*di+i]; + sjl += s * dmik[i*dk+k]; + } + vkj[k*dj+j] += skj; + vjl[j*dl+l] += sjl; + } } } + vkj += dkj; + vik += dik; + vil += dil; + vjl += djl; + } + } else if (j0 == k0) { // l < j == k < i + DECLARE(vkj, k, j); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(l, i); + DEF_DM(i, l); + DEF_DM(j, l); + DEF_DM(j, k); + DEF_DM(i, k); + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tjl = dmjl[j*dl+l]; + tjk = dmjk[j*dk+k]; + sjk = 0; + sjl = 0; + skj = 0; + for (i = 0; i < di; i++, ijkl++) { + //vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + //vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + //vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + //vjk[j*dk+k] += eri[ijkl] * dmil[i*dl+l]; + //vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + s = eri[ijkl]; + vik[i*dk+k] += s * tjl; + vil[i*dl+l] += s * tjk; + skj += s * dmli[l*di+i]; + sjk += s * dmil[i*dl+l]; + sjl += s * dmik[i*dk+k]; + } + vjk[j*dk+k] += sjk; + vjl[j*dl+l] += sjl; + vkj[k*dj+j] += skj; // vjk, vkj may share memory + } } } + vkj += dkj; + vjk += djk; + vik += dik; + vil += dil; + vjl += djl; + } + } else { // l < k < j < i + DECLARE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(j, l); + DEF_DM(j, k); + DEF_DM(i, l); + DEF_DM(i, k); + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + tjl = dmjl[j*dl+l]; + tjk = dmjk[j*dk+k]; + sjk = 0; + sjl = 0; + for (i = 0; i < di; i++, ijkl++) { + //vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + //vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + //vjk[j*dk+k] += eri[ijkl] * dmil[i*dl+l]; + //vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + s = eri[ijkl]; + vik[i*dk+k] += s * tjl; + vil[i*dl+l] += s * tjk; + sjk += s * dmil[i*dl+l]; + sjl += s * dmik[i*dk+k]; + } + vjk[j*dk+k] += sjk; + vjl[j*dl+l] += sjl; + } } } + vik += dik; + vil += dil; + vjk += djk; + vjl += djl; + } + } + } +} +ADD_JKOP(nrs8_li_s2kj, L, I, K, J, s8); + + +static void nrs8_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs8_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs8_jk_s1il, J, K, I, L, s8); + +static void nrs8_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs8_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nrs8_jk_s2il, J, K, I, L, s8); + + +/************************************************* + * For anti symmetrized integrals + *************************************************/ +static void nra2ij_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(v, k, l); + DEF_DM(i, j); + DEF_DM(j, i); + int dij = di * dj; + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype tmp; + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmji[j*di+i] - dmij[i*dj+j]; + } + } + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + } + v[k*dl+l] += tmp; + eri += dij; + } } + v += dkl; + } + } else { + nrs1_ji_s1kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_ji_s1kl, J, I, K, L, s2ij); + +static void nra2ij_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 >= l0) { + nra2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_ji_s2kl, J, I, K, L, s2ij); + +static void nra2ij_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * dmlk[l*dk+k]; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] -= buf[ij]; + } } + vij += dij; + vji += dij; + } + } else { + nrs1_lk_s1ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_lk_s1ij, L, K, I, J, s2ij); + +static void nra2ij_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra2ij_lk_s2ij, L, K, I, J, s2ij); + +static void nra2ij_lk_a2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra2ij_lk_a2ij, L, K, I, J, s2ij); + +static void nra2ij_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + LOCATE(vjl, j, l); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + } } } } + vil += dil; + vjl += djl; + } + } else { + nrs1_jk_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_jk_s1il, J, K, I, L, s2ij); + +static void nra2ij_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (j0 >= l0) { + nra2ij_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_jk_s2il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_jk_s2il, J, K, I, L, s2ij); + +static void nra2ij_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 > j0) { + DECLARE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(l, j); + LOCATE(vki, k, i); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + } } } } + vkj += dkj; + vki += dki; + } + } else { + nrs1_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_li_s1kj, L, I, K, J, s2ij); + +static void nra2ij_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 >= i0) { + nra2ij_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_li_s2kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2ij_li_s2kj, L, I, K, J, s2ij); + +static void nra2kl_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(vkl, k, l); + LOCATE(vlk, l, k); + DEF_DM(j, i); + int dij = di * dj; + int k, l, ij, icomp; + ddtype tmp; + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * dmji[ij]; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] -= tmp; + eri += dij; + } } + vkl += dkl; + vlk += dkl; + } + } else { + nrs1_ji_s1kl (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_ji_s1kl, J, I, K, L, s2kl); + +static void nra2kl_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs1_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra2kl_ji_s2kl, J, I, K, L, s2kl); + +static void nra2kl_ji_a2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs1_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra2kl_ji_a2kl, J, I, K, L, s2kl); + +static void nra2kl_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(v, i, j); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype tdm; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm = dmlk[l*dk+k] - dmkl[k*dl+l]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + v[i*dj+j] += buf[ij]; + } } + v += dij; + } + } else { + nrs1_lk_s1ij (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_lk_s1ij, L, K, I, J, s2kl); + +static void nra2kl_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= j0) { + nra2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_lk_s2ij, L, K, I, J, s2kl); + +static void nra2kl_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(vil, i, l); + DEF_DM(j, k); + DEF_DM(j, l); + LOCATE(vik, i, k); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + } } } } + vik += dik; + vil += dil; + } + } else { + nrs1_jk_s1il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_jk_s1il, J, K, I, L, s2kl); + +static void nra2kl_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 >= k0) { + nra2kl_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_jk_s2il (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_jk_s2il, J, K, I, L, s2kl); + +static void nra2kl_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (k0 > l0) { + DECLARE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(k, i); + LOCATE(vlj, l, j); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + } } } } + vkj += dkj; + vlj += dlj; + } + } else { + nrs1_li_s1kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_li_s1kj, L, I, K, J, s2kl); + +static void nra2kl_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (l0 >= j0) { + nra2kl_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + nrs1_li_s2kj (eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } +} +ADD_JKOP(nra2kl_li_s2kj, L, I, K, J, s2kl); + +static void nra4ij_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vkl, k, l); + LOCATE(vlk, l, k); + DEF_DM(i, j); + DEF_DM(j, i); + int dij = di * dj; + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype tmp; + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmji[j*di+i] - dmij[i*dj+j]; + } + } + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] += tmp; + eri += dij; + } } + vkl += dkl; + vlk += dkl; + } + } +} +ADD_JKOP(nra4ij_ji_s1kl, J, I, K, L, s4); + +static void nra4ij_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2ij_ji_s2kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra4ij_ji_s2kl, J, I, K, L, s4); + +static void nra4ij_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype tdm; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm = dmlk[l*dk+k] + dmkl[k*dl+l]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] -= buf[ij]; + } } + vij += dij; + vji += dij; + } + } +} +ADD_JKOP(nra4ij_lk_s1ij, L, K, I, J, s4); + +static void nra4ij_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra4ij_lk_s2ij, L, K, I, J, s4); + +static void nra4ij_lk_a2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nrs2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra4ij_lk_a2ij, L, K, I, J, s4); + +static void nra4ij_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjk[j*dk+k] -= eri[ijkl] * dmil[i*dl+l]; + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nra4ij_jk_s1il, J, K, I, L, s4); + +static void nra4ij_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 < l0) { + } else if (i0 < k0) { + if (j0 < l0) { // j < l <= i < k + DECLARE(v, i, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + v[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + v += dil; + } + } else { // l <= j < i < k + DECLARE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + LOCATE(vjl, j, l); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjl[j*dl+l] -= eri[ijkl] *dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] *dmjk[j*dk+k]; + } } } } + vjl += djl; + vil += dil; + } + } + } else if (j0 < l0) { // j < l < k <= i + DECLARE(vil, i, l); + DEF_DM(j, k); + DEF_DM(j, l); + LOCATE(vik, i, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + } } } } + vil += dil; + vik += dik; + } + } else if (j0 < k0) { // l <= j < k <= i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + } } } } + vjl += djl; + vil += dil; + vik += dik; + } + } else { // l < k <= j < i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vjk, j, k); + LOCATE(vil, i, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjk[j*dk+k] -= eri[ijkl] * dmil[i*dl+l]; + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] += eri[ijkl] * dmjl[j*dl+l]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nra4ij_jk_s2il, J, K, I, L, s4); + +static void nra4ij_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] += eri[ijkl] * dmki[k*di+i]; + vli[l*di+i] -= eri[ijkl] * dmkj[k*dj+j]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nra4ij_li_s1kj, L, I, K, J, s4); + +static void nra4ij_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 < j0) { + } else if (k0 < i0) { + if (l0 < j0) { // l < j < k < i + DECLARE(v, k, j); + DEF_DM(l, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + v[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + } } } } + v += dkj; + } + } else { // j <= l < k < i + DECLARE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] *dmli[l*di+i]; + vlj[l*dj+j] += eri[ijkl] *dmki[k*di+i]; + } } } } + vkj += dkj; + vlj += dlj; + } + } + } else if (l0 < j0) { // l < j < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(l, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + } } } } + vkj += dkj; + vki += dki; + } + } else if (l0 < i0) { // j <= l < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] += eri[ijkl] * dmki[k*di+i]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + } + } else { // j < i <= l < k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] += eri[ijkl] * dmki[k*di+i]; + vli[l*di+i] -= eri[ijkl] * dmkj[k*dj+j]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nra4ij_li_s2kj, L, I, K, J, s4); + +static void nra4kl_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vkl, k, l); + LOCATE(vlk, l, k); + DEF_DM(i, j); + DEF_DM(j, i); + int dij = di * dj; + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype tmp; + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmij[i*dj+j] + dmji[j*di+i]; + } + } + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] -= tmp; + eri += dij; + } } + vkl += dkl; + vlk += dkl; + } + } +} +ADD_JKOP(nra4kl_ji_s1kl, J, I, K, L, s4); + +static void nra4kl_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2kl_ji_s2kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra4kl_ji_s2kl, J, I, K, L, s4); + +static void nra4kl_ji_a2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2kl_ji_s2kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra4kl_ji_a2kl, J, I, K, L, s4); + +static void nra4kl_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype tdm; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm = dmlk[l*dk+k] - dmkl[k*dl+l]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] += buf[ij]; + } } + vij += dij; + vji += dij; + } + } +} +ADD_JKOP(nra4kl_lk_s1ij, L, K, I, J, s4); + +static void nra4kl_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nra4kl_lk_s2ij, L, K, I, J, s4); + +static void nra4kl_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjk[j*dk+k] -= eri[ijkl] * dmil[i*dl+l]; + vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nra4kl_jk_s1il, J, K, I, L, s4); + +static void nra4kl_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 < l0) { + } else if (i0 < k0) { + if (j0 < l0) { // j < l <= i < k + DECLARE(v, i, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + v[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + v += dil; + } + } else { // l <= j < i < k + DECLARE(vil, i, l); + LOCATE(vjl, j, l); + DEF_DM(i, k); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjl += djl; + vil += dil; + } + } + } else if (j0 < l0) { // j < l < k <= i + DECLARE(vil, i, l); + LOCATE(vik, i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + } } } } + vil += dil; + vik += dik; + } + } else if (j0 < k0) { // l <= j < k <= i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + } } } } + vjl += djl; + vil += dil; + vik += dik; + } + } else { // l < k <= j < i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vjk, j, k); + LOCATE(vil, i, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjk[j*dk+k] -= eri[ijkl] * dmil[i*dl+l]; + vjl[j*dl+l] += eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nra4kl_jk_s2il, J, K, I, L, s4); + +static void nra4kl_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] += eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + vli[l*di+i] -= eri[ijkl] * dmkj[k*dj+j]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nra4kl_li_s1kj, L, I, K, J, s4); + +static void nra4kl_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nrs2kl_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nrs2ij_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 < j0) { + } else if (k0 < i0) { + if (l0 < j0) { // l < j < k < i + DECLARE(v, k, j); + DEF_DM(l, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + v[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + } } } } + v += dkj; + } + } else { // j <= l < k < i + DECLARE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + } } } } + vkj += dkj; + vlj += dlj; + } + } + } else if (l0 < j0) { // l < j < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(l, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] += eri[ijkl] * dmlj[l*dj+j]; + } } } } + vkj += dkj; + vki += dki; + } + } else if (l0 < i0) { // j <= l < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] += eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + } + } else { // j < i <= l < k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] += eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + vli[l*di+i] -= eri[ijkl] * dmkj[k*dj+j]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nra4kl_li_s2kj, L, I, K, J, s4); + +/* + * aa4: 4-fold permutation symmetry with anti-symm for ij and anti-symm for kl + */ +static void nraa4_ji_s1kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_ji_s1kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vkl, k, l); + LOCATE(vlk, l, k); + DEF_DM(i, j); + DEF_DM(j, i); + int dij = di * dj; + int i, j, k, l, ij, icomp; + ddtype *tdm = eri + dij * dkl * ncomp; + ddtype tmp; + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + tdm[ij] = dmji[j*di+i] - dmij[i*dj+j]; + } + } + + for (icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tmp = 0; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + tmp += eri[ij] * tdm[ij]; + } + vkl[k*dl+l] += tmp; + vlk[l*dk+k] -= tmp; + eri += dij; + } } + vkl += dkl; + vlk += dkl; + } + } +} +ADD_JKOP(nraa4_ji_s1kl, J, I, K, L, s4); + +static void nraa4_ji_s2kl(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2ij_ji_s2kl(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nraa4_ji_s2kl, J, I, K, L, s4); + +static void nraa4_lk_s1ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vij, i, j); + LOCATE(vji, j, i); + DEF_DM(k, l); + DEF_DM(l, k); + int i, j, k, l, ij, icomp; + ddtype *buf = eri + dij * dk * dl * ncomp; + ddtype tdm; + + for (icomp = 0; icomp < ncomp; icomp++) { + + for (i = 0; i < dij; i++) { buf[i] = 0; } + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + tdm = dmlk[l*dk+k] - dmkl[k*dl+l]; +#pragma GCC ivdep + for (ij = 0; ij < dij; ij++) { + buf[ij] += eri[ij] * tdm; + } + eri += dij; + } } + + for (ij = 0, j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ij++) { + vij[i*dj+j] += buf[ij]; + vji[ij] -= buf[ij]; + } } + vij += dij; + vji += dij; + } + } +} +ADD_JKOP(nraa4_lk_s1ij, L, K, I, J, s4); + +static void nraa4_lk_s2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nraa4_lk_s2ij, L, K, I, J, s4); + +static void nraa4_lk_a2ij(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + nra2kl_lk_s1ij(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); +} +ADD_JKOP(nraa4_lk_a2ij, L, K, I, J, s4); + +static void nraa4_jk_s1il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_jk_s1il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vik, i, k); + LOCATE(vil, i, l); + LOCATE(vjk, j, k); + LOCATE(vjl, j, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjk[j*dk+k] += eri[ijkl] * dmil[i*dl+l]; + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nraa4_jk_s1il, J, K, I, L, s4); + +static void nraa4_jk_s2il(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_jk_s2il(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (i0 < l0) { + } else if (i0 < k0) { + if (j0 < l0) { // j < l <= i < k + DECLARE(v, i, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + v[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + v += dil; + } + } else { // l <= j < i < k + DECLARE(vil, i, l); + LOCATE(vjl, j, l); + DEF_DM(i, k); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjl += djl; + vil += dil; + } + } + } else if (j0 < l0) { // j < l < k <= i + DECLARE(vil, i, l); + LOCATE(vik, i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + } } } } + vil += dil; + vik += dik; + } + } else if (j0 < k0) { // l <= j < k <= i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vil, i, l); + DEF_DM(i, k); + DEF_DM(j, k); + DEF_DM(j, l); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + } } } } + vjl += djl; + vil += dil; + vik += dik; + } + } else { // l < k <= j < i + DECLARE(vjl, j, l); + LOCATE(vik, i, k); + LOCATE(vjk, j, k); + LOCATE(vil, i, l); + DEF_DM(i, l); + DEF_DM(i, k); + DEF_DM(j, l); + DEF_DM(j, k); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vjk[j*dk+k] += eri[ijkl] * dmil[i*dl+l]; + vjl[j*dl+l] -= eri[ijkl] * dmik[i*dk+k]; + vik[i*dk+k] -= eri[ijkl] * dmjl[j*dl+l]; + vil[i*dl+l] += eri[ijkl] * dmjk[j*dk+k]; + } } } } + vjk += djk; + vjl += djl; + vik += dik; + vil += dil; + } + } +} +ADD_JKOP(nraa4_jk_s2il, J, K, I, L, s4); + +static void nraa4_li_s1kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_li_s1kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else { + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + vli[l*di+i] += eri[ijkl] * dmkj[k*dj+j]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nraa4_li_s1kj, L, I, K, J, s4); + +static void nraa4_li_s2kj(ddtype *eri, ddtype *dm, JKArray *out, int *shls, + int i0, int i1, int j0, int j1, + int k0, int k1, int l0, int l1) +{ + if (i0 == j0) { + nra2kl_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 == l0) { + nra2ij_li_s2kj(eri, dm, out, shls, i0, i1, j0, j1, k0, k1, l0, l1); + } else if (k0 < j0) { + } else if (k0 < i0) { + if (l0 < j0) { // l < j < k < i + DECLARE(v, k, j); + DEF_DM(l, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + v[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + } } } } + v += dkj; + } + } else { // j <= l < k < i + DECLARE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] *dmli[l*di+i]; + vlj[l*dj+j] -= eri[ijkl] *dmki[k*di+i]; + } } } } + vkj += dkj; + vlj += dlj; + } + } + } else if (l0 < j0) { // l < j < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + DEF_DM(l, i); + DEF_DM(l, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + } } } } + vkj += dkj; + vki += dki; + } + } else if (l0 < i0) { // j <= l < i <= k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + } + } else { // j < i <= l < k + DECLARE(vki, k, i); + LOCATE(vkj, k, j); + LOCATE(vli, l, i); + LOCATE(vlj, l, j); + DEF_DM(l, i); + DEF_DM(l, j); + DEF_DM(k, i); + DEF_DM(k, j); + int i, j, k, l, ijkl, icomp; + for (ijkl = 0, icomp = 0; icomp < ncomp; icomp++) { + for (l = 0; l < dl; l++) { + for (k = 0; k < dk; k++) { + for (j = 0; j < dj; j++) { + for (i = 0; i < di; i++, ijkl++) { + vkj[k*dj+j] += eri[ijkl] * dmli[l*di+i]; + vki[k*di+i] -= eri[ijkl] * dmlj[l*dj+j]; + vlj[l*dj+j] -= eri[ijkl] * dmki[k*di+i]; + vli[l*di+i] += eri[ijkl] * dmkj[k*dj+j]; + } } } } + vkj += dkj; + vki += dki; + vlj += dlj; + vli += dli; + } + } +} +ADD_JKOP(nraa4_li_s2kj, L, I, K, J, s4); + diff --git a/pyscf_ipu/nanoDFT/nanoDFT.py b/pyscf_ipu/nanoDFT/nanoDFT.py index b50e3ad..d67c4c2 100644 --- a/pyscf_ipu/nanoDFT/nanoDFT.py +++ b/pyscf_ipu/nanoDFT/nanoDFT.py @@ -13,7 +13,9 @@ from pyscf_ipu.exchange_correlation.b3lyp import b3lyp from pyscf_ipu.electron_repulsion.direct import (prepare_electron_repulsion_integrals, electron_repulsion_integrals, ipu_einsum) -HARTREE_TO_EV = 27.2114079527 +from pyscf_ipu.nanoDFT.sparse_symmetric_intor_ERI import compute_diff_jk, gen_shells + +HARTREE_TO_EV = 1 #27.2114079527 EPSILON_B3LYP = 1e-20 HYB_B3LYP = 0.2 @@ -39,8 +41,8 @@ def energy(density_matrix, H_core, diff_JK, E_xc, E_nuc, _np=jax.numpy): def nanoDFT_iteration(i, vals, opts, mol): """Each call updates density_matrix attempting to minimize energy(density_matrix, ... ). """ - density_matrix, V_xc, diff_JK, O, H_core, L_inv = vals[:6] # All (N, N) matrices - E_nuc, occupancy, ERI, grid_weights, grid_AO, diis_history, log = vals[6:] # Varying types/shapes. + density_matrix, V_xc, diff_JK, O, H_core, L_inv = vals[:6] # All (N, N) matrices + E_nuc, occupancy, ERI, batched_grid_weights, batched_grid_AO, shell_ijkl, diis_history, log = vals[6:] # Varying types/shapes. if opts.v: print("---------- MEMORY CONSUMPTION ----------") @@ -70,8 +72,9 @@ def nanoDFT_iteration(i, vals, opts, mol): # Step 3: Use result from eigenproblem to update density_matrix. density_matrix = (eigvects*occupancy*2) @ eigvects.T # (N, N) - E_xc, V_xc = exchange_correlation(density_matrix, grid_AO, grid_weights) # float (N, N) - diff_JK = get_JK(density_matrix, ERI, opts.dense_ERI, opts.backend) # (N, N) (N, N) + # E_xc, V_xc = exchange_correlation(density_matrix, grid_AO, grid_weights) # float (N, N) + E_xc, V_xc, _, _, _ = jax.lax.fori_loop(0, opts.batches_grid, foreach_exchange_correlation_batch, (0, V_xc, density_matrix, batched_grid_AO, batched_grid_weights)) + diff_JK = get_JK(shell_ijkl, density_matrix, ERI, opts.dense_ERI, opts.screen_tol, opts.backend, mol, opts.batches_einsum, opts.ndevices) # (N, N) (N, N) # Log SCF matrices and energies (not used by DFT algorithm). #log["matrices"] = log["matrices"].at[i].set(jnp.stack((density_matrix, J, K, H))) # (iterations, 4, N, N) @@ -89,7 +92,7 @@ def nanoDFT_iteration(i, vals, opts, mol): def host_callback(data, i): # labels are adjusted to the `data` that will be passed to the callback - keep that in mind when passing different list of tensors - labels = ["density_matrix", "V_xc", "diff_JK", "O", "H_core", "L_inv", "E_nuc", "occupancy", "ERI", "grid_weights", "grid_AO", "diis_history", "E_xc", "eigvects", "H"] + labels = ["density_matrix", "V_xc", "diff_JK", "O", "H_core", "L_inv", "E_nuc", "occupancy", "ERI", "batched_grid_weights", "batched_grid_AO", "shell_ijkl", "diis_history", "E_xc", "eigvects", "H"] for l, d in zip(labels, data): if l == "diis_history" or l == "ERI": for idx, arr in enumerate(d): @@ -99,7 +102,8 @@ def host_callback(data, i): jax.debug.callback(host_callback, vals[:-1] + [E_xc, eigvects, H], i) - return [density_matrix, V_xc, diff_JK, O, H_core, L_inv, E_nuc, occupancy, ERI, grid_weights, grid_AO, diis_history, log] + return [density_matrix, V_xc, diff_JK, O, H_core, L_inv, E_nuc, occupancy, ERI, + batched_grid_weights, batched_grid_AO, shell_ijkl, diis_history, log] def exchange_correlation(density_matrix, grid_AO, grid_weights): @@ -122,31 +126,55 @@ def exchange_correlation(density_matrix, grid_AO, grid_weights): V_xc = V_xc + V_xc.T # (N, N) return E_xc, V_xc # (float) (N, N) -def get_JK(density_matrix, ERI, dense_ERI, backend): +def get_JK(shell_ijkl, density_matrix, ERI, dense_ERI, tolerance, backend, mol, nbatches, ndevices): """Computes the (N, N) matrices J and K. Density matrix is (N, N) and ERI is (N, N, N, N). """ N = density_matrix.shape[0] - if dense_ERI: + if False: #dense_ERI: J = jnp.einsum('ijkl,ji->kl', ERI, density_matrix) # (N, N) K = jnp.einsum('ijkl,jk->il', ERI, density_matrix) # (N, N) diff_JK = J - (K / 2 * HYB_B3LYP) else: - from pyscf_ipu.nanoDFT.sparse_symmetric_ERI import sparse_symmetric_einsum - diff_JK = sparse_symmetric_einsum(ERI[0], ERI[1], density_matrix, backend) + #from pyscf_ipu.nanoDFT.sparse_symmetric_ERI import sparse_symmetric_einsum + #diff_JK = sparse_symmetric_einsum(ERI[0], ERI[1], density_matrix, backend) + + diff_JK, cycles = compute_diff_jk(shell_ijkl, density_matrix, mol, nbatches, tolerance, ndevices=ndevices, backend="ipu") diff_JK = diff_JK.reshape(N, N) return diff_JK -def _nanoDFT(state, ERI, grid_AO, grid_weights, opts, mol): +def foreach_exchange_correlation_batch(i, vals): + E_xc, V_xc, dm, ao, w = vals + crt_grid_AO = ao[i] + crt_weights = w[i] + crt_grid_AO = jnp.transpose(crt_grid_AO, (1,0,2)) + crt_E_xc, crt_V_xc = exchange_correlation(dm, crt_grid_AO, crt_weights) # float (N, N) + E_xc += crt_E_xc + V_xc += crt_V_xc + return (E_xc, V_xc, dm, ao, w) + +def _nanoDFT(state, ERI, grid_AO, grid_weights, shell_ijkl, opts, mol): + # if opts.backend == "ipu": grid_weights, start = utils.get_ipu_cycles(grid_weights) + # Utilize the IPUs MIMD parallism to compute the electron repulsion integrals (ERIs) in parallel. #if opts.backend == "ipu": state.ERI = electron_repulsion_integrals(state.input_floats, state.input_ints, mol, opts.threads_int, opts.intv) #else: pass # Compute on CPU. - grid_AO = jnp.transpose(grid_AO, (1,0,2)) # (padded_gsize/16, 4, N) -> (4, pgsize, N) + # grid_AO = jnp.transpose(grid_AO, (1,0,2)) # (padded_gsize/16, 4, N) -> (4, pgsize, N) + + E_xc = jnp.zeros(1) + V_xc = jnp.zeros(state.density_matrix.shape) + + batched_grid_AO = grid_AO.reshape(opts.batches_grid, -1, grid_AO.shape[-2], grid_AO.shape[-1]) + batched_grid_weights = grid_weights.reshape(opts.batches_grid, -1) # Precompute the remaining tensors. - E_xc, V_xc = exchange_correlation(state.density_matrix, grid_AO, grid_weights) # float (N, N) - diff_JK = get_JK(state.density_matrix, ERI, opts.dense_ERI, opts.backend) # (N, N) (N, N) + + E_xc, V_xc, _, _, _ = jax.lax.fori_loop(0, opts.batches_grid, foreach_exchange_correlation_batch, (E_xc, V_xc, state.density_matrix, batched_grid_AO, batched_grid_weights)) + + # grid_AO = jnp.transpose(grid_AO, (1,0,2)) # (padded_gsize/16, 4, N) -> (4, pgsize, N) + + diff_JK = get_JK(shell_ijkl, state.density_matrix, ERI, opts.dense_ERI, opts.screen_tol, opts.backend, mol, opts.batches_einsum, opts.ndevices) # (N, N) (N, N) H_core = state.kinetic + state.nuclear # (N, N) # Log matrices from all DFT iterations (not used by DFT algorithm). @@ -155,9 +183,14 @@ def _nanoDFT(state, ERI, grid_AO, grid_weights, opts, mol): # Perform DFT iterations. log = jax.lax.fori_loop(0, opts.its, partial(nanoDFT_iteration, opts=opts, mol=mol), [state.density_matrix, V_xc, diff_JK, state.O, H_core, state.L_inv, # all (N, N) matrices - state.E_nuc, state.mask, ERI, grid_weights, grid_AO, state.diis_history, log])[-1] + state.E_nuc, state.mask, ERI, batched_grid_weights, batched_grid_AO, shell_ijkl, state.diis_history, log])[-1] - return log["matrices"], H_core, log["energy"] + # cycles = -1 + # if opts.backend == "ipu": + # log["energy"], stop = utils.get_ipu_cycles(log["energy"]) + # cycles = (stop.array-start.array)[0,0] + + return log["matrices"], H_core, log["energy"], 0 #cycles FloatN = Float[Array, "N"] @@ -215,22 +248,31 @@ def init_dft_tensors_cpu(mol, opts, DIIS_iters=9): grids = pyscf.dft.gen_grid.Grids(mol) grids.level = opts.level grids.build() + grid_weights = grids.weights # (grid_size,) = (45624,) for C6H6 coord_str = 'GTOval_cart_deriv1' if mol.cart else 'GTOval_sph_deriv1' grid_AO = mol.eval_gto(coord_str, grids.coords, 4) # (4, grid_size, N) = (4, 45624, 9) for C6H6. + if opts.ao_threshold > 0.0: grid_AO[np.abs(grid_AO) 0: + # Compute indices where ERI is non-zero due to geometry (pre-screening). + # Below computes: np.max([ERI[a,b,a,b] for a,b in zip(tril_idx[0], tril_idx[1])]) + ERI_s8 = mol.intor("int2e_sph", aosym="s8") # TODO: make custom libcint code compute this. + lst_abab = np.zeros((N*(N+1)//2), dtype=np.float32) + lst_ab = np.zeros((N*(N+1)//2, 2), dtype=np.int32) + tril_idx = np.tril_indices(N) + for c, (a, b) in tqdm(enumerate(zip(tril_idx[0], tril_idx[1]))): + index_ab_s8 = a*(a+1)//2 + b + index_s8 = index_ab_s8*(index_ab_s8+3)//2 + abab = np.abs(ERI_s8[index_s8]) + lst_abab[c] = abab + lst_ab[c, :] = (a, b) + abab_max = np.max(lst_abab) + considered_indices_list = [(a,b) for abab, (a, b) in tqdm(zip(lst_abab, lst_ab)) if abab*abab_max >= tolerance**2] + considered_indices_array = np.array(considered_indices_list) + considered_indices = set(considered_indices_list) + else: + lst_ab = np.zeros((N*(N+1)//2, 2), dtype=np.int32) + tril_idx = np.tril_indices(N) + considered_indices_list = [(a, b) for a, b in zip(tril_idx[0], tril_idx[1])] + considered_indices_array = np.array(considered_indices_list) + considered_indices = set(considered_indices_list) + print('n_bas', n_bas) + print('ao_loc', ao_loc) + + if fast_shells: + import cpp_shell_gen + print('Computing shells', end=' ') + test_input_ijkl, test_output_sizes, num_calls = cpp_shell_gen.compute_indices(n_bas, ao_loc, considered_indices) + print('done.') + print(test_input_ijkl.shape) + print(test_output_sizes.shape) + + input_ijkl = test_input_ijkl[np.any(test_input_ijkl>=0, axis=1)] #test_input_ijkl[:num_calls, :] + output_sizes = test_output_sizes[np.any(test_output_sizes>=0, axis=1)] #test_output_sizes[:num_calls, :] + assert input_ijkl.shape[0] == num_calls, (input_ijkl.shape[0], num_calls) + assert output_sizes.shape[0] == num_calls, (output_sizes.shape[0], num_calls) + else: + # Step 2: Remove zeros by orthogonality and match indices with shells. + # Precompute Fill input_ijkl and output_sizes with the necessary indices. + ortho_pattern = np.array([(i+3)%5!=0 for i in range(N)]) # hardcoded + n_upper_bound = (n_bas*(n_bas-1))**2 + input_ijkl = np.zeros((n_upper_bound, 4), dtype=np.int32) + output_sizes = np.zeros((n_upper_bound, 5)) + + num_calls = 0 + + for i in tqdm(range(n_bas), desc="Computing shells"): # consider all shells << all ijkl + for j in range(i+1): + for k in range(i, n_bas): + for l in range(k+1): + di, dj, dk, dl = [ao_loc[z+1] - ao_loc[z] for z in [i,j,k,l]] + + found_nonzero = False + # check i,j boxes + for bi in range(ao_loc[i], ao_loc[i+1]): + for bj in range(ao_loc[j], ao_loc[j+1]): + if (bi, bj) in considered_indices: # if ij box is considered + # check if kl pairs are considered + for bk in range(ao_loc[k], ao_loc[k+1]): + if bk>=bi: # apply symmetry - tril fade vertical + mla = ao_loc[l] + if bk == bi: + mla = max(bj, ao_loc[l]) # apply symmetry - tril fade horizontal + for bl in range(mla, ao_loc[l+1]): + if (bk, bl) in considered_indices: + # apply grid pattern to find final nonzeros + if False and not ortho_pattern[bi] ^ ortho_pattern[bj] ^ ortho_pattern[bk] ^ ortho_pattern[bl]: + found_nonzero = True + break + else: + found_nonzero = True + break + if found_nonzero: break + if found_nonzero: break + if found_nonzero: break + if not found_nonzero: continue + + input_ijkl[num_calls] = [i, j, k, l] + output_sizes[num_calls] = [di, dj, dk, dl, di*dj*dk*dl] + num_calls += 1 + + input_ijkl = input_ijkl[:num_calls, :] + output_sizes = output_sizes[:num_calls, :] + + sizes, counts = [tuple(out.astype(np.int32).tolist()) for out in np.unique(output_sizes[:, -1], return_counts=True)] + + input_ijkl = input_ijkl[np.argsort(output_sizes[:, -1])] + input_ijkl = [tuple(map(tuple, input_ijkl[start_index:start_index+count])) for start_index, count in zip(np.cumsum(np.concatenate([[0], counts[:-1]])), counts)] + + print('before [len(ijkl) for ijkl in input_ijkl]', [len(ijkl) for ijkl in input_ijkl]) + + new_counts = [0]*len(counts) + for tup_id in range(len(input_ijkl)): + pmap_remainder = len(input_ijkl[tup_id]) % ndevices + print('pmap_remainder', pmap_remainder) + padding = 0 + if pmap_remainder > 0: + input_ijkl[tup_id] += tuple([[-1, -1, -1, -1]]*(ndevices-pmap_remainder)) # -1s are accounted for later after eri computation + padding = (ndevices-pmap_remainder) + new_counts[tup_id] = counts[tup_id]+padding + counts = tuple(new_counts) + + print('after [len(ijkl) for ijkl in input_ijkl]', [len(ijkl) for ijkl in input_ijkl]) + + input_ijkl = tuple(input_ijkl) + + shapes = tuple([get_shapes(input_ijkl[i], bas) for i in range(len(sizes))]) + + return input_ijkl, sizes, counts, shapes + def get_shapes(input_ijkl, bas): i_sh, j_sh, k_sh, l_sh = input_ijkl[0] BAS_SLOTS = 8 @@ -138,9 +262,21 @@ def get_shapes(input_ijkl, bas): len = leng + lenl + lenk + lenj + leni + len0 - return len, nf + return len, nf, nc + +vertex_filename = osp.join(osp.dirname(__file__), "intor_int2e_sph_condensed.cpp") +int2e_sph_forloop = create_ipu_tile_primitive( + "poplar_int2e_sph_forloop", + "poplar_int2e_sph_forloop", + inputs=["ipu_floats", "ipu_ints", "ipu_ij", "ipu_output", "tile_g", "tile_idx", "tile_buf", "chunks", "integral_size", "gctr_buf"], + outputs={"ipu_output": 3, "tile_g": 4, "tile_idx": 5, "tile_buf": 6}, + gp_filename=vertex_filename, + perf_estimate=100, + ) + +def compute_diff_jk(input_ijkl_slice, dm, mol, nbatch, tolerance, ndevices, backend): + # if backend == "ipu": dm, start = utils.get_ipu_cycles(dm) -def compute_diff_jk(dm, mol, nbatch, tolerance, backend): dm = dm.reshape(-1) diff_JK = jnp.zeros(dm.shape) N = int(np.sqrt(dm.shape[0])) @@ -152,94 +288,12 @@ def compute_diff_jk(dm, mol, nbatch, tolerance, backend): ao_loc = np.cumsum(np.concatenate([np.zeros(1), (bas[:,1]*2+1) * bas[:,3] ])).astype(np.int32) n_ao_loc = np.prod(ao_loc.shape) - n_env = np.prod(env.shape) # TODO: Try to remove this. - - # Step 1. Compute indices where ERI is non-zero due to geometry (pre-screening). - # Below computes: np.max([ERI[a,b,a,b] for a,b in zip(tril_idx[0], tril_idx[1])]) - ERI_s8 = mol.intor("int2e_sph", aosym="s8") # TODO: make custom libcint code compute this. - lst_abab = np.zeros((N*(N+1)//2), dtype=np.float32) - lst_ab = np.zeros((N*(N+1)//2, 2), dtype=np.int32) - tril_idx = np.tril_indices(N) - for c, (a, b) in tqdm(enumerate(zip(tril_idx[0], tril_idx[1]))): - index_ab_s8 = a*(a+1)//2 + b - index_s8 = index_ab_s8*(index_ab_s8+3)//2 - abab = np.abs(ERI_s8[index_s8]) - lst_abab[c] = abab - lst_ab[c, :] = (a, b) - abab_max = np.max(lst_abab) - considered_indices = set([(a,b) for abab, (a, b) in tqdm(zip(lst_abab, lst_ab)) if abab*abab_max >= tolerance**2]) - print('n_bas', n_bas) - print('ao_loc', ao_loc) - - # Step 2: Remove zeros by orthogonality and match indices with shells. - # Precompute Fill input_ijkl and output_sizes with the necessary indices. - n_upper_bound = (n_bas*(n_bas-1))**2 - input_ijkl = np.zeros((n_upper_bound, 4), dtype=np.int32) - output_sizes = np.zeros((n_upper_bound, 5)) - - ortho_pattern = np.array([(i+3)%5!=0 for i in range(N)]) # hardcoded - num_calls = 0 - - for i in tqdm(range(n_bas)): # consider all shells << all ijkl - for j in range(i+1): - for k in range(i, n_bas): - for l in range(k+1): - di, dj, dk, dl = [ao_loc[z+1] - ao_loc[z] for z in [i,j,k,l]] - - found_nonzero = False - # check i,j boxes - for bi in range(ao_loc[i], ao_loc[i+1]): - for bj in range(ao_loc[j], ao_loc[j+1]): - if (bi, bj) in considered_indices: # if ij box is considered - # check if kl pairs are considered - for bk in range(ao_loc[k], ao_loc[k+1]): - if bk>=bi: # apply symmetry - tril fade vertical - mla = ao_loc[l] - if bk == bi: - mla = max(bj, ao_loc[l]) # apply symmetry - tril fade horizontal - for bl in range(mla, ao_loc[l+1]): - if (bk, bl) in considered_indices: - # apply grid pattern to find final nonzeros - if False and not ortho_pattern[bi] ^ ortho_pattern[bj] ^ ortho_pattern[bk] ^ ortho_pattern[bl]: - found_nonzero = True - break - else: - found_nonzero = True - break - if found_nonzero: break - if found_nonzero: break - if found_nonzero: break - if not found_nonzero: continue - - input_ijkl[num_calls] = [i, j, k, l] - output_sizes[num_calls] = [di, dj, dk, dl, di*dj*dk*dl] - num_calls += 1 - - input_ijkl = input_ijkl[:num_calls, :] - output_sizes = output_sizes[:num_calls, :] - # Prepare IPU inputs. # Merge all int/float inputs in seperate arrays. input_floats = env.reshape(1, -1) input_ints = np.hstack([0, 0, n_atm, n_bas, 0, n_ao_loc, ao_loc.reshape(-1), atm.reshape(-1), bas.reshape(-1)]) # todo 0s not used (n_buf, n_eri, n_env) - sizes, counts = [tuple(out.astype(np.int32).tolist()) for out in np.unique(output_sizes[:, -1], return_counts=True)] - - input_ijkl = input_ijkl[np.argsort(output_sizes[:, -1])] - input_ijkl = tuple([tuple(map(tuple, input_ijkl[start_index:start_index+count])) for start_index, count in zip(np.cumsum(np.concatenate([[0], counts[:-1]])), counts)]) - - shapes = tuple([get_shapes(input_ijkl[i], bas) for i in range(len(sizes))]) - - # Load vertex using TileJax. - vertex_filename = osp.join(osp.dirname(__file__), "intor_int2e_sph.cpp") - int2e_sph_forloop = create_ipu_tile_primitive( - "poplar_int2e_sph_forloop", - "poplar_int2e_sph_forloop", - inputs=["ipu_floats", "ipu_ints", "ipu_ij", "ipu_output", "tile_g", "tile_idx", "tile_buf", "chunks", "integral_size"], - outputs={"ipu_output": 3, "tile_g": 4, "tile_idx": 5, "tile_buf": 6}, - gp_filename=vertex_filename, - perf_estimate=100, - ) + input_ijkl, sizes, counts, shapes = gen_shells(mol, tolerance, ndevices, fast_shells=True) all_eris = [] all_indices = [] @@ -250,27 +304,37 @@ def compute_diff_jk(dm, mol, nbatch, tolerance, backend): num_tiles = NUM_TILES-1 num_threads = 6 + num_calls = np.sum(counts) if num_calls < num_tiles: tiles = tuple((np.arange(num_calls)+1).tolist()) else: tiles = tuple((np.arange(num_tiles*num_threads)%(num_tiles)+1).tolist()) tile_floats = tile_put_replicated(input_floats, tiles) tile_ints = tile_put_replicated(input_ints, tiles) + slice_indices = np.cumsum([0]+[c*4//ndevices for c in counts]) + print('slice_indices', slice_indices) + for i, (size, count) in enumerate(zip(sizes, counts)): - glen, nf = shapes[i] + print('>>>', size, count) + slice_offset = (count//ndevices)*jax.lax.axis_index('p') + slice_count = count // ndevices + slice_ijkl = input_ijkl_slice[slice_indices[i]:slice_indices[i+1]].reshape(-1, 4) + + glen, nf, nc = shapes[i] chunk_size = num_tiles * num_threads - num_full_batches = count//chunk_size + num_full_batches = slice_count//chunk_size tiles = tuple((np.arange(num_tiles*num_threads)%(num_tiles)+1).tolist()) tile_g = tile_put_replicated(jnp.empty(min(int(glen), 3888)+1), tiles) - tile_idx = tile_put_replicated(jnp.empty(max(256, min(int(nf*3), 3888)+1), dtype=jnp.int32), tiles) - tile_buf = tile_put_replicated(jnp.empty(1080*4+1), tiles) + tile_idx = tile_put_replicated(jnp.empty(256, dtype=jnp.int32), tiles) # condensed version only # sto3g, 631g + tile_buf = tile_put_replicated(jnp.empty(81), tiles) # condensed version only # sto3g, 631g integral_size = tile_put_replicated(jnp.array(size, dtype=jnp.uint32), tiles) + tile_gctr_buf = tile_put_replicated(jnp.empty((81+1), dtype=jnp.float32), tiles) # condensed version only # sto3g, 631g def batched_compute(start, stop, chunk_size, tiles): assert (stop-start) < chunk_size or (stop-start) % chunk_size == 0 num_batches = max(1, (stop-start)//chunk_size) - idx = np.array(input_ijkl[i][start:stop]).reshape(-1, num_batches, 4) + idx = jnp.array(slice_ijkl[start:stop]).reshape(-1, num_batches, 4) # contains -1s for padding shells out , _, _, _= tile_map(int2e_sph_forloop, tile_floats[:len(tiles)], tile_ints[:len(tiles)], @@ -280,17 +344,18 @@ def batched_compute(start, stop, chunk_size, tiles): tile_idx[:len(tiles)], tile_buf[:len(tiles)], tile_put_replicated(jnp.array(num_batches, dtype=jnp.uint32), tiles), - integral_size[:len(tiles)]) - return out.array.reshape(-1, size), idx.reshape(-1, 4) + integral_size[:len(tiles)], + tile_gctr_buf[:len(tiles)]) + return out.array.reshape(-1, size), jnp.maximum(idx.reshape(-1, 4), 0) # account for -1s, convert to 0s if num_full_batches > 0: f_out, f_idx = batched_compute(0, num_full_batches*chunk_size, chunk_size, tiles) else: f_out, f_idx = np.array([]).reshape(0, size), np.array([]).reshape(0, 4) - tiles = tuple((np.arange(count-num_full_batches*chunk_size)%(num_tiles)+1).tolist()) - out, idx = batched_compute(num_full_batches*chunk_size, count, chunk_size, tiles) + tiles = tuple((np.arange(slice_count-num_full_batches*chunk_size)%(num_tiles)+1).tolist()) + out, idx = batched_compute(num_full_batches*chunk_size, slice_count, chunk_size, tiles) all_eris.append(jnp.concatenate([f_out, out])) - all_indices.append(np.concatenate([f_idx, idx]).astype(np.uint8)) + all_indices.append(jnp.concatenate([f_idx, idx])) #.astype(jnp.uint8)) print('[a.shape for a in all_eris]', [a.shape for a in all_eris]) print('[a.shape for a in all_indices]', [a.shape for a in all_indices]) @@ -368,7 +433,18 @@ def foreach_symmetry(sym, vals): total_diff_JK += diff_JK - return total_diff_JK + # return total_diff_JK + + jk_psum = jax.lax.psum(total_diff_JK, axis_name="p") + + # cycles = -1 + # if backend == "ipu": + # jk_psum, stop = utils.get_ipu_cycles(jk_psum) + # cycles = (stop.array-start.array)[0,0] + + # return jk_psum, cycles + + return jk_psum, 0 if __name__ == "__main__": import time @@ -383,6 +459,7 @@ def foreach_symmetry(sym, vals): parser.add_argument('-skip', action="store_true") parser.add_argument('-itol', default=1e-9, type=float) parser.add_argument('-basis', default="6-311G", type=str) + parser.add_argument('-fast_shells', action="store_true") args = parser.parse_args() backend = args.backend @@ -393,7 +470,8 @@ def foreach_symmetry(sym, vals): start = time.time() - mol = pyscf.gto.Mole(atom="".join(f"C 0 {1.54*j} {1.54*i};" for i in range(natm) for j in range(natm)), basis=args.basis) + # mol = pyscf.gto.Mole(atom="".join(f"C 0 {1.54*j} {1.54*i};" for i in range(natm) for j in range(natm)), basis=args.basis) + mol = pyscf.gto.Mole(atom=process_mol_str('bench10'), basis=args.basis) #mol = pyscf.gto.Mole(atom="".join(f"C 0 {1.54*j} {1.54*i};" for i in range(natm) for j in range(natm))) # sto-3g by default # mol = pyscf.gto.Mole(atom="".join(f"C 0 {1.54*j} {1.54*i};" for i in range(1) for j in range(2)), basis="sto3g") #mol = pyscf.gto.Mole(atom="".join(f"C 0 {1.54*j} {1.54*i};" for i in range(natm) for j in range(natm)), basis="sto3g") @@ -427,11 +505,13 @@ def foreach_symmetry(sym, vals): # ------------------------------------ # - diff_JK = jax.jit(compute_diff_jk, backend=backend, static_argnames=['mol', 'nbatch', 'tolerance', 'backend'])(dm, mol, args.batches, args.itol, args.backend) + input_ijkl, sizes, counts, shapes = gen_shells(mol, args.itol, args.nipu, fast_shells=args.fast_shells) + sliced_input_ijkl = np.concatenate([np.array(ijkl, dtype=int).reshape(args.nipu, -1) for ijkl in input_ijkl], axis=-1) - # ------------------------------------ # + diff_JK, cycles = jax.pmap(compute_diff_jk, in_axes=(0, None, None, None, None, None, None), static_broadcasted_argnums=(2, 3, 4, 5, 6), backend=backend, axis_name="p")(sliced_input_ijkl, dm, mol, args.batches, args.itol, args.nipu, args.backend) + if backend == "ipu": print("Cycle Count: ", cycles/10**6, "[M]") - # diff_JK = jax.pmap(sparse_symmetric_einsum, in_axes=(0,0,None,None), static_broadcasted_argnums=(3,), backend=backend, axis_name="p")(nonzero_distinct_ERI, nonzero_indices, dm, args.backend) + # ------------------------------------ # if args.skip: exit() diff --git a/pyscf_ipu/nanoDFT/utils.py b/pyscf_ipu/nanoDFT/utils.py index f9e1197..19015e5 100644 --- a/pyscf_ipu/nanoDFT/utils.py +++ b/pyscf_ipu/nanoDFT/utils.py @@ -119,6 +119,20 @@ def process_mol_str(mol_str: str): ["C", (-1.29590, 1.48910, -0.16550)], ["C", (-0.01020, 1.97270, -0.00630)]] + elif mol_str == "bench1": mol_str = [['C', (-0.07551087, 1.68127663, -0.10745193)], ['O', (1.33621755, 1.87147409, -0.39326987)], ['C', (1.67074668, 2.95729545, 0.49387976)], ['C', (0.41740763, 3.77281969, 0.78495878)], ['C', (-0.6048148, 3.07572636, 0.28906224)], ['H', (-0.19316298, 1.01922455, 0.72486113)], ['O', (0.35092043, 5.03413298, 1.45545728)], ['H', (0.42961487, 5.74279041, 0.81264173)], ['O', (-1.9533175, 3.53349874, 0.15912025)], ['H', (-2.55333895, 2.78846397, 0.23972698)], ['O', (2.81976302, 3.20110148, 0.94542226)], ['C', (-0.81772499, 1.09230218, -1.32146482)], ['H', (-0.70955636, 1.74951833, -2.15888136)], ['C', (-2.31163857, 0.93420736, -0.98260166)], ['H', (-2.72575463, 1.89080093, -0.74107186)], ['H', (-2.41980721, 0.2769912, -0.14518512)], ['O', (-0.26428017, -0.18613595, -1.64425697)], ['H', (-0.7269591, -0.55328886, -2.40104423)], ['O', (-3.00083741, 0.38730252, -2.10989934)], ['H', (-3.93210821, 0.2887499, -1.89865997)]] + elif mol_str == "bench2": mol_str = [['C', (-0.84925689, 1.19426748, 0.0)], ['O', (0.58111411, 1.19426748, 0.0)], ['C', (1.08310511, 2.53365748, 0.0)], ['C', (-0.09344989, 3.50382448, -1e-06)], ['C', (-1.34480089, 2.63646648, -1e-06)], ['H', (-1.17341789, 0.63528848, 0.915132)], ['H', (1.71994411, 2.64115648, 0.91536)], ['H', (-0.06206089, 4.16301548, -0.901905)], ['H', (-1.97307989, 2.83841948, -0.901905)], ['O', (-0.05328805, 4.34730633, 1.1540464)], ['H', (-0.02922706, 5.26656976, 0.87840928)], ['O', (-2.14872719, 2.89488055, 1.15404608)], ['H', (-3.07612353, 2.89074011, 0.90601607)], ['C', (-1.29487091, 0.42585647, -1.25800344)], ['H', (-2.36057357, 0.33005726, -1.25860833)], ['H', (-0.98433839, 0.96058082, -2.13123848)], ['O', (-0.6994091, -0.87426857, -1.25830689)], ['H', (-1.15722348, -1.43626839, -1.88772107)], ['N', (1.95854804, 2.68143304, -1.25831716)], ['C', (3.40750745, 2.83869936, -1.2483172)], ['C', (1.52513756, 2.69033382, -2.59758791)], ['C', (3.83177447, 2.94266783, -2.62652798)], ['H', (0.49017157, 2.5912999, -2.9235557)], ['C', (5.16750068, 3.10114669, -2.93617186)], ['C', (5.68858554, 3.05790761, -0.55874621)], ['H', (6.43570855, 3.10532282, 0.24755786)], ['N', (2.63327508, 2.84671184, -3.4506498)], ['N', (4.33322006, 2.89644875, -0.2260484)], ['N', (6.09645965, 3.15797838, -1.88374496)], ['H', (6.74393404, 2.41331683, -2.04578224)], ['O', (5.6077051, 3.20620138, -4.29266866)]] + elif mol_str == "bench3": mol_str = [['C', (0.17302217, -0.0536787, 0.0206023)], ['C', (0.68636442, 0.67471439, 1.27659722)], ['H', (0.33130807, 1.68408369, 1.27366248)], ['H', (0.32809533, 0.17314097, 2.15122134)], ['H', (1.75636261, 0.67300961, 1.27757926)], ['C', (0.68636436, 0.66983803, -1.23820799)], ['H', (1.75636429, 0.67015162, -1.23801986)], ['H', (0.32999896, 0.16352848, -2.1108788)], ['H', (0.32940246, 1.678537, -1.24035286)], ['C', (-1.36697783, -0.05365972, 0.0206023)], ['C', (-2.06451416, -1.26192666, 0.02294888)], ['C', (-2.06446856, 1.15425163, 0.01836764)], ['C', (-3.45922608, -1.26218837, 0.02237872)], ['H', (-1.51433285, -2.2140513, 0.02393307)], ['C', (-3.45960644, 1.15416501, 0.01879292)], ['H', (-1.51485954, 2.10664659, 0.0166979)], ['C', (-4.15704263, -0.05377385, 0.02065983)], ['H', (-4.00910069, -2.21451865, 0.02359421)], ['H', (-4.0092797, 2.10670462, 0.01744603)], ['C', (0.68633788, -1.50560812, 0.02341767)], ['C', (0.91946288, -2.16536088, -1.18358293)], ['C', (0.91831096, -2.16106624, 1.23259561)], ['C', (1.38381298, -3.48050177, -1.18131091)], ['H', (0.7357492, -1.6485928, -2.13670508)], ['C', (1.38374179, -3.4762765, 1.23504147)], ['H', (0.73479448, -1.64116737, 2.18399242)], ['C', (1.6163816, -4.13609396, 0.02836974)], ['H', (1.5669898, -4.00080229, -2.13264163)], ['H', (1.56694472, -3.99268549, 2.1885784)], ['O', (2.09255288, -5.48448444, 0.03037417)], ['H', (3.05255142, -5.48531759, 0.03182891)], ['O', (-5.58704242, -0.05436711, 0.02015267)], ['H', (-5.9079705, 0.43788494, 0.77929237)]] + elif mol_str == "bench4": mol_str = [['C', (-1.41478807, -1.38673987, -0.27546855)], ['C', (0.10179343, -1.53458053, -0.07889229)], ['C', (0.53408642, -0.37025944, 0.4514519)], ['C', (-0.67562941, 0.57796327, 0.46559768)], ['H', (0.6950762, -2.39648436, -0.30089545)], ['H', (1.52737697, -0.14599081, 0.78086417)], ['C', (-0.6237082, 1.96362793, 0.78635139)], ['H', (0.21323483, 2.35384028, 1.32735933)], ['C', (-2.29970743, -2.44324831, -0.6370283)], ['H', (-1.91393373, -3.32969289, -1.09683478)], ['C', (-1.64052102, 2.84486117, 0.32186518)], ['C', (-3.52932141, 3.58449372, -0.59511281)], ['C', (-2.59214132, 4.79754521, -0.48499553)], ['H', (-2.78843501, 5.79301664, -0.82737225)], ['C', (-1.48137242, 4.36442701, 0.14972837)], ['N', (-2.86612663, 2.50908907, -0.12553285)], ['N', (-1.74741954, -0.12018577, 0.0412691)], ['H', (-0.64679525, 4.9592148, 0.45645615)], ['C', (-3.68393396, -2.35600549, -0.31223368)], ['C', (-4.63005393, -3.55629325, -0.15598101)], ['N', (-4.37818634, -1.2430198, -0.00220836)], ['C', (-5.78557755, -3.06857539, 0.34505536)], ['H', (-4.41027665, -4.57910031, -0.38223928)], ['C', (-5.63589939, -1.53901637, 0.37901842)], ['H', (-6.64304239, -3.63441062, 0.64304078)], ['C', (-6.68305631, -0.62113443, 0.67405446)], ['H', (-7.56136499, -0.96043354, 1.18328735)], ['C', (-6.6012237, 0.72696467, 0.22471451)], ['C', (-7.80292122, 1.66378985, 0.0226908)], ['N', (-5.49689043, 1.38542695, -0.17958107)], ['C', (-7.32644297, 2.77323824, -0.58189005)], ['H', (-8.81986259, 1.46790799, 0.29231039)], ['C', (-5.79921052, 2.61414176, -0.64211669)], ['H', (-7.8979571, 3.60669127, -0.93279659)], ['C', (-4.88433877, 3.63473378, -1.03220086)], ['H', (-5.22991618, 4.47158073, -1.60163868)], ['Mg', (-3.6204912, 0.63120563, -0.10251958)]] + elif mol_str == "bench5": mol_str = [['C', (-0.77452336, -0.08132633, 1.74172506)], ['C', (-0.26411504, -0.11129929, 0.4369236)], ['C', (-0.3539735, 1.02601929, -0.37692764)], ['C', (-0.95424489, 2.19330919, 0.11402082)], ['C', (-1.46465579, 2.22328125, 1.41882131)], ['C', (-1.37479443, 1.0859637, 2.23267366)], ['H', (-0.70591476, -0.94969444, 2.3631184)], ['H', (0.03573621, 1.00313485, -1.37317189)], ['H', (-1.02285582, 3.06167644, -0.50737346)], ['H', (-1.92297618, 3.11453305, 1.79367143)], ['H', (-1.76450608, 1.10884747, 3.22891718)], ['O', (0.34840202, -1.30241314, -0.06404605)], ['C', (1.35270587, -0.9556787, -1.02115052)], ['H', (2.09459791, -0.34266532, -0.55348523)], ['H', (0.90396901, -0.41799437, -1.8301195)], ['C', (2.01233961, -2.23841673, -1.5606563)], ['O', (2.09302887, -3.2596824, -0.82985109)], ['N', (2.54773286, -2.26985691, -2.92932924)], ['H', (3.50527213, -1.98172537, -2.91939174)], ['C', (2.45289144, -3.63693794, -3.46130165)], ['C', (3.06213638, -3.9815682, -4.81429695)], ['C', (3.2077577, -4.83278916, -2.92168779)], ['H', (1.41330079, -3.88850264, -3.43186598)], ['H', (2.2125826, -3.95040754, -5.46405646)], ['O', (3.42944279, -5.30612203, -1.7769685)], ['N', (3.67522246, -5.14821806, -4.31096996)], ['C', (3.66579173, -6.10484804, -5.36714016)], ['H', (4.49655524, -6.75828572, -5.20055325)], ['C', (3.84517881, -5.06783193, -6.57540908)], ['C', (4.72191908, -5.6417924, -7.70390186)], ['H', (4.27386857, -6.53609107, -8.08387642)], ['H', (4.80563701, -4.92235784, -8.49149645)], ['H', (5.69541534, -5.86571901, -7.32041536)], ['C', (2.45462245, -4.72770184, -7.14309246)], ['H', (2.00895589, -5.61186346, -7.54872716)], ['H', (1.83452668, -4.34238508, -6.36084427)], ['H', (2.55421902, -3.99253283, -7.91413529)], ['S', (4.42031248, -3.49330876, -5.80985222)], ['C', (2.41628932, -6.97906376, -5.58182741)], ['O', (1.24772273, -6.54739905, -5.20566321)], ['O', (2.52902641, -8.14944067, -6.13940253)], ['H', (3.39110571, -8.4678895, -6.41690875)]] + elif mol_str == "bench6": mol_str = [['C', (-2.81999319, 2.42808848, 0.54098799)], ['C', (-1.48506359, 2.12574154, 0.24053959)], ['C', (-0.57560888, 3.15808633, -0.02458108)], ['C', (-1.00054575, 4.49301108, 0.01119766)], ['C', (-2.33541234, 4.79564647, 0.31151005)], ['C', (-3.24524285, 3.76302115, 0.57613058)], ['H', (-3.51427777, 1.63974701, 0.74369099)], ['H', (0.44352769, 2.92714554, -0.25417935)], ['H', (-0.30609255, 5.28106112, -0.1905295)], ['H', (-2.66014056, 5.81490526, 0.33906034)], ['H', (-4.26458005, 3.99396043, 0.80476437)], ['C', (-1.01732442, 0.65950815, 0.2018529)], ['H', (-0.67533111, 0.36853591, 1.17285734)], ['H', (-1.83249438, 0.03203052, -0.09154374)], ['C', (0.13235379, 0.51505962, -0.81252046)], ['H', (-0.21019462, 0.80566498, -1.78314105)], ['C', (1.30596367, 1.41901641, -0.39114863)], ['C', (1.67510534, -1.02185697, -1.82127087)], ['N', (0.57986576, -0.88420978, -0.85050744)], ['H', (-0.18284568, -1.47067933, -1.12333537)], ['C', (2.75580261, -2.09988547, -1.61482923)], ['C', (2.69427195, -2.95177434, -0.50654721)], ['C', (3.7995502, -2.23324053, -2.5379049)], ['C', (3.70091458, -3.90483765, -0.3018299)], ['H', (1.88147807, -2.87383893, 0.18522781)], ['C', (4.78600353, -3.21184574, -2.34716707)], ['H', (3.84167861, -1.59151423, -3.39308111)], ['C', (4.77253365, -4.00413187, -1.20130033)], ['C', (5.85248621, -3.4258967, -3.42542028)], ['C', (5.90561132, -5.00024671, -0.90103115)], ['C', (6.7765891, -5.27533663, -2.15038566)], ['H', (6.54653968, -4.59705454, -0.14509272)], ['O', (2.17311788, 1.97320056, -1.38357913)], ['H', (2.5148354, 2.81560975, -1.07582854)], ['O', (1.5016239, 1.66968264, 0.82605442)], ['O', (1.72973935, -0.25904981, -2.82056879)], ['C', (7.73469993, -6.47923452, -2.09043925)], ['H', (7.25757496, -7.33559502, -2.51759025)], ['H', (8.62396559, -6.25453714, -2.64131193)], ['H', (7.98803284, -6.68347394, -1.0713362)], ['Cl', (3.62524241, -4.97417462, 1.09396391)], ['O', (5.79027817, -2.75121797, -4.48594121)], ['O', (6.90897033, -4.37928239, -3.27178983)], ['H', (5.46196268, -5.90980388, -0.55344219)], ['H', (7.47765424, -4.60305065, -1.70382804)]] + elif mol_str == "bench7": mol_str = [['C', (-1.31610737, 2.63679048, -0.00084644)], ['C', (0.07905007, 2.63934168, -4.682e-05)], ['C', (0.77437809, 3.84836613, 0.00070992)], ['C', (0.07451596, 5.05559768, -0.00053176)], ['C', (-1.32030606, 5.05296923, -0.00181022)], ['C', (-2.01569681, 3.84348937, -0.00157112)], ['H', (-1.86412404, 1.68346969, -0.00099299)], ['H', (1.87405556, 3.85045682, 0.00197421)], ['H', (0.62297373, 6.00874516, 5.98e-06)], ['H', (-1.87216801, 6.00424292, -0.00279707)], ['H', (-3.11529902, 3.84166168, -0.0023813)], ['C', (0.85103942, 1.30681443, 0.00184158)], ['H', (1.79337581, 1.4398572, -0.48724099)], ['C', (0.41505987, -0.48736387, 1.68199576)], ['C', (2.57473964, 0.77351617, 1.72731358)], ['C', (0.69110348, -1.01300628, 3.07592768)], ['H', (0.78959033, -1.22526334, 0.92463509)], ['H', (-0.691016, -0.38321987, 1.53238838)], ['C', (2.85074861, 0.24863316, 3.12155937)], ['H', (3.05729485, 0.09861578, 0.97233225)], ['H', (3.03204876, 1.79032016, 1.611471)], ['H', (0.2349028, -2.03043373, 3.19085261)], ['H', (0.20695056, -0.33927459, 3.83095099)], ['H', (3.95676021, 0.14403431, 3.27103621)], ['H', (2.47681583, 0.98744831, 3.87839265)], ['N', (1.08617979, 0.85184124, 1.45418741)], ['N', (2.17897791, -1.08989652, 3.35069584)], ['C', (0.03162829, 0.23777883, -0.74470266)], ['C', (0.56867017, -0.3958751, -1.86565767)], ['C', (-1.24736307, -0.09709064, -0.30018981)], ['C', (-0.17344898, -1.36368445, -2.54228606)], ['H', (1.57672684, -0.13109474, -2.21630694)], ['C', (-1.98945087, -1.06588037, -0.9763274)], ['H', (-1.67071899, 0.40210131, 0.58338598)], ['C', (-1.45278973, -1.69908441, -2.09730218)], ['H', (0.24953934, -1.86273063, -3.42621495)], ['H', (-2.99769071, -1.33000002, -0.62537518)], ['Cl', (-2.38893911, -2.92048839, -2.95134941)], ['C', (2.78094574, -2.08721982, 2.45410174)], ['H', (2.02278564, -2.75673563, 2.10504323)], ['H', (3.23055355, -1.59117358, 1.61942159)], ['C', (3.85566305, -2.8823677, 3.21851166)], ['H', (3.99860784, -3.83253439, 2.74771441)], ['H', (4.77651636, -2.33753632, 3.2091328)], ['C', (4.2680292, -4.18276315, 5.33113825)], ['H', (3.99105398, -4.28769779, 6.35932766)], ['H', (5.29898799, -3.90383432, 5.2661561)], ['C', (4.05157947, -5.52181188, 4.60196201)], ['O', (4.49897618, -6.59036968, 5.09348105)], ['O', (3.33974189, -5.55104438, 3.36206979)], ['H', (3.28517852, -6.45557385, 3.04513244)], ['O', (3.39930599, -3.09413546, 4.67401592)]] + elif mol_str == "bench8": mol_str = [['C', (-1.42666665, 1.35988349, 0.01780185)], ['C', (-0.75139234, 2.53486079, 0.01780185)], ['C', (-2.96666665, 1.35988349, 0.01780185)], ['C', (-3.66418809, 0.15160568, 0.01780185)], ['C', (-3.66417225, 2.56778831, 0.01791304)], ['C', (-5.05890001, 0.15132789, 0.01723115)], ['H', (-3.11399504, -0.8005123, 0.01693694)], ['C', (-5.05931013, 2.56768367, 0.01833813)], ['H', (-3.11457497, 3.52019148, 0.01809296)], ['C', (-5.75673144, 1.35973487, 0.01785909)], ['H', (-5.60876287, -0.80100973, 0.01659711)], ['H', (-5.60899513, 3.52021733, 0.01884114)], ['H', (-6.85641138, 1.35926586, 0.01746817)], ['C', (-1.51874951, 3.87006226, 0.01780185)], ['C', (-1.63823871, 4.60590036, -1.16149287)], ['C', (-2.09440347, 4.34371845, 1.19670832)], ['C', (-2.3326658, 5.81544273, -1.16163975)], ['H', (-1.18363273, 4.23258432, -2.090584)], ['C', (-2.78991814, 5.55312706, 1.19651365)], ['H', (-2.00047584, 3.76380313, 2.12622693)], ['C', (-2.90901419, 6.28907563, 0.01764434)], ['H', (-2.42635385, 6.39580205, -2.09099551)], ['H', (-3.2440432, 5.92613353, 2.12608927)], ['C', (0.78860766, 2.53486079, 0.01780185)], ['C', (1.4861291, 3.74313859, 0.01780185)], ['C', (1.48611327, 1.32695597, 0.01791304)], ['C', (2.88084102, 3.74341639, 0.01723115)], ['H', (0.93593606, 4.69525658, 0.01693694)], ['C', (2.88125115, 1.3270606, 0.01833813)], ['H', (0.93651599, 0.37455279, 0.01809296)], ['C', (3.57867246, 2.5350094, 0.01785909)], ['H', (3.43070389, 4.695754, 0.01659711)], ['H', (3.43093615, 0.37452694, 0.01884114)], ['H', (4.6783524, 2.53547842, 0.01746817)], ['C', (-0.65930948, 0.02468201, 0.01780185)], ['H', (-0.04466478, -0.03344716, -0.85611628)], ['H', (-0.04386363, -0.03298673, 0.89118649)], ['C', (-1.66236338, -1.14385651, 0.01856968)], ['H', (-2.27713573, -1.08561745, 0.89239069)], ['H', (-2.27768159, -1.08629703, -0.8549121)], ['H', (-1.12919956, -2.07156136, 0.01876393)], ['O', (-3.62101473, 7.52921876, 0.01715974)], ['C', (-2.69982994, 8.60858726, 0.19402752)], ['H', (-2.03011871, 8.64615667, -0.63962434)], ['H', (-2.14108178, 8.456809, 1.09384076)], ['C', (-3.47584819, 9.93535894, 0.28927757)], ['H', (-4.0545645, 10.07469158, -0.59986462)], ['H', (-4.1269469, 9.90759901, 1.13792346)], ['C', (-1.65137806, 10.90285045, 1.72438609)], ['H', (-2.24764703, 10.40869908, 2.46274761)], ['H', (-0.7911044, 10.306338, 1.50302183)], ['H', (-1.33836538, 11.85545774, 2.09783276)], ['C', (-3.25771829, 12.42866058, 0.53449492)], ['H', (-2.5661118, 13.24181825, 0.60767325)], ['H', (-3.86037095, 12.55070987, -0.3411841)], ['H', (-3.88574784, 12.41553739, 1.40069735)], ['N', (-2.48185199, 11.10154878, 0.44281205)]] + elif mol_str == "bench9": mol_str = [['C', (-1.42958937, -1.01658249, 2.44831265)], ['C', (-1.54149463, -0.27943595, 1.12935913)], ['C', (-2.95243912, 1.47129501, 2.2249255)], ['C', (-2.84134324, 0.7340028, 3.5438881)], ['C', (-1.55797242, -0.06742235, 3.62210684)], ['H', (-0.6649782, 0.41085733, 1.01283439)], ['H', (-0.44314689, -1.54644194, 2.49994231)], ['H', (-3.93813646, 2.00251835, 2.17350554)], ['H', (-3.71865156, 0.04459988, 3.66018043)], ['H', (-0.68133448, 0.63238265, 3.63327796)], ['O', (-1.92499204, 2.46279929, 2.14636482)], ['C', (-1.46076301, 4.67520648, 3.08258818)], ['C', (-1.65192906, 4.60593616, 4.58432062)], ['H', (-0.74117334, 5.43388332, 2.85565168)], ['C', (-3.37658473, 6.27667868, 2.91318631)], ['C', (-2.26541279, 5.88367074, 5.11970508)], ['H', (-2.3174731, 3.73866848, 4.83580579)], ['C', (-3.5663604, 6.20921206, 4.41472333)], ['H', (-4.36600055, 6.45426127, 2.41719619)], ['H', (-1.54350069, 6.73075622, 4.97913735)], ['H', (-4.32958469, 5.42429404, 4.65913754)], ['O', (-2.52952388, 7.38269576, 2.59051909)], ['C', (-3.31900286, 8.44866624, 2.0563563)], ['C', (-3.26458455, 9.66301263, 2.97202724)], ['C', (-2.80523815, 10.85434814, 2.14390783)], ['H', (-4.26911658, 9.86120175, 3.4226732)], ['C', (-2.45049436, 10.34868118, 0.7529107)], ['H', (-1.92149828, 11.34764146, 2.62047963)], ['H', (-3.01626404, 10.91739387, -0.02697788)], ['C', (-4.76356005, 7.92754855, 1.94107026)], ['H', (-4.78266313, 7.06714393, 1.30527236)], ['H', (-5.12531018, 7.66145994, 2.91227245)], ['O', (-2.82580898, 0.520717, 1.05150767)], ['C', (-0.93849427, 3.3173276, 2.57761263)], ['H', (-0.77727115, 3.36776157, 1.52103158)], ['H', (-0.01653199, 3.08491476, 3.06839754)], ['C', (-1.49224313, -1.28985314, -0.03177454)], ['H', (-0.58145107, -1.84899344, 0.02037852)], ['H', (-2.32526415, -1.95746693, 0.04080516)], ['C', (-0.95163774, 10.56175833, 0.4707282)], ['H', (-0.66603955, 9.99216789, -0.38886496)], ['H', (-0.38034325, 10.24135666, 1.31681648)], ['O', (-1.55044662, -0.58860344, -1.2766686)], ['H', (-1.40118565, -1.2038562, -1.99832308)], ['O', (-2.45542951, -2.00981905, 2.525986)], ['H', (-2.07814582, -2.83668451, 2.83509848)], ['O', (-1.5306674, -0.81010098, 4.84381994)], ['H', (-0.61998842, -0.9842467, 5.0926915)], ['O', (-2.88646987, 1.67226139, 4.622097)], ['H', (-3.42291955, 1.31644411, 5.33428785)], ['O', (-0.39050984, 4.37790095, 5.21813565)], ['H', (-0.43907755, 4.65272412, 6.13667438)], ['O', (-2.5020679, 5.74947404, 6.52358741)], ['H', (-2.24542728, 6.5593166, 6.97067871)], ['O', (-4.06906224, 7.4604827, 4.89065678)], ['H', (-4.76357327, 7.30283533, 5.53439721)], ['O', (-2.76235824, 4.99928466, 2.37789525)], ['O', (-5.59594331, 8.9491541, 1.38576835)], ['H', (-6.48998576, 8.61436213, 1.28476127)], ['O', (-2.79571817, 8.86766013, 0.68976834)], ['O', (-2.35757225, 9.42976003, 4.05268533)], ['H', (-2.2282828, 10.24429373, 4.54402949)], ['O', (-3.84292711, 11.83519815, 2.06622328)], ['H', (-3.45759742, 12.71343457, 2.10890596)], ['O', (-0.70503591, 11.94904429, 0.22675035)], ['H', (0.04258943, 12.04182451, -0.36826913)]] + elif mol_str == "bench10": mol_str = [['C', (-7.49315956, -1.43773119, -5.92299552)], ['H', (-7.94182211, -2.40858579, -5.95529496)], ['H', (-7.95636393, -0.85617992, -5.15348929)], ['H', (-7.62668554, -0.95153649, -6.86675689)], ['C', (-5.79642037, -2.27443704, -4.26611112)], ['H', (-6.24577738, -3.24503611, -4.29637197)], ['H', (-4.75102405, -2.37166315, -4.05972888)], ['H', (-6.25894988, -1.69106781, -3.49757564)], ['C', (-5.32241415, -2.41652735, -6.73175378)], ['H', (-5.4561432, -1.93219937, -7.67644576)], ['H', (-4.27697469, -2.51320533, -6.52533261)], ['H', (-5.77127293, -3.38735843, -6.7619667)], ['C', (-5.34230471, -0.18003416, -5.58198519)], ['H', (-5.80528977, 0.40321281, -4.81363123)], ['H', (-5.47564419, 0.30434483, -6.52670609)], ['C', (-3.83777346, -0.31946968, -5.28442266)], ['H', (-3.37486869, -0.90308305, -6.05254674)], ['H', (-3.70443723, -0.80345768, -4.33950093)], ['O', (-3.19138412, 1.07764258, -5.24131661)], ['O', (-1.08666761, 2.23553569, -4.90355336)], ['O', (-1.06813532, 0.15822874, -5.97009968)], ['O', (-1.50879854, 0.29141327, -3.68074512)], ['N', (-5.98857475, -1.57718235, -5.62571128)], ['C', (0.31042939, 2.10678634, -4.62706904)], ['H', (0.77368465, 1.52318382, -5.39499004)], ['H', (0.44389576, 1.62311344, -3.68200436)], ['C', (0.95616173, 3.50421186, -4.58427124)], ['H', (0.49289614, 4.08781851, -3.81635961)], ['N', (0.7728183, 4.16868977, -5.88263725)], ['C', (1.54573854, 5.24091768, -6.23123101)], ['H', (0.07949519, 3.81992495, -6.49108736)], ['O', (2.42345554, 5.69243391, -5.47559455)], ['C', (1.24369185, 5.83589104, -7.61916994)], ['H', (1.38780673, 5.08532476, -8.36802317)], ['H', (0.23032024, 6.17818782, -7.6476461)], ['H', (1.90308508, 6.65755098, -7.80618734)], ['C', (2.46072393, 3.36555987, -4.28649918)], ['H', (2.81093231, 4.25132556, -3.79898177)], ['H', (2.62197169, 2.52066581, -3.65006128)], ['C', (3.22917105, 3.16808327, -5.60638252)], ['H', (2.71745824, 3.26576104, -6.54099958)], ['C', (4.55128586, 2.87101548, -5.5882109)], ['H', (5.06299867, 2.77333771, -4.65359384)], ['P', (-1.68688011, 0.93821529, -4.94361253)], ['C', (5.31973298, 2.67353888, -6.90809424)], ['H', (5.50187069, 3.62584722, -7.36068089)], ['H', (4.73852105, 2.06839074, -7.57208852)], ['C', (6.66254822, 1.97641122, -6.62093532)], ['H', (7.23864011, 2.57569669, -5.94723283)], ['H', (6.48011089, 1.01887673, -6.17963685)], ['C', (7.43879459, 1.79489451, -7.93854423)], ['H', (7.60827107, 2.75133158, -8.38732686)], ['H', (6.86923187, 1.18328757, -8.60670234)], ['C', (8.79086565, 1.11708026, -7.64859306)], ['H', (9.33478428, 1.0007021, -8.56265469)], ['H', (8.62122899, 0.15610604, -7.20967171)], ['C', (9.60424993, 1.98984817, -6.67479524)], ['H', (9.31147739, 1.77019553, -5.66934163)], ['H', (9.41944065, 3.02310864, -6.88244478)], ['C', (11.10499458, 1.6916288, -6.84923923)], ['H', (11.41365563, 1.97843059, -7.83279049)], ['H', (11.27894526, 0.64483722, -6.71187639)], ['C', (11.91113852, 2.48722658, -5.80580446)], ['H', (11.72501028, 3.53319241, -5.93312987)], ['H', (11.61354107, 2.18914178, -4.82219823)], ['C', (13.41348542, 2.20643447, -5.99477425)], ['H', (13.59898733, 1.15986871, -5.87152995)], ['H', (13.71197645, 2.50833327, -6.97694542)], ['C', (14.21924372, 2.99740615, -4.94753151)], ['H', (14.03182008, 4.04381613, -5.0691808)], ['H', (13.92251458, 2.69373112, -3.96537404)], ['C', (15.72181966, 2.71939448, -5.13877756)], ['H', (15.90913955, 1.67288842, -5.01779686)], ['H', (16.01869462, 3.02369321, -6.12069789)], ['C', (16.5275164, 3.50960658, -4.09091421)], ['H', (16.33925543, 4.55603385, -4.21111315)], ['H', (16.23150563, 3.20443884, -3.10900267)], ['C', (18.03020202, 3.23295881, -4.28327314)], ['H', (18.21842532, 2.18649741, -4.1633126)], ['H', (18.32626477, 3.53834869, -5.26509994)], ['C', (18.83587717, 4.02290009, -3.23518901)], ['H', (19.87999516, 3.83124105, -3.369295)], ['H', (18.64710066, 5.06931441, -3.35469007)], ['H', (18.54032269, 3.71699987, -2.25336795)]] + elif mol_str == "bench11": mol_str = [['C', (0.240284, -0.968546, 0.057358)], ['C', (1.499558, -0.389994, 0.799765)], ['C', (1.844059, 1.113099, 0.526127)], ['C', (0.611152, 2.069949, 0.410275)], ['C', (-0.387189, 1.449098, -0.582889)], ['C', (-0.811981, 0.113677, 0.014032)], ['H', (1.344645, -0.483368, 1.89667)], ['H', (0.908155, 3.094741, 0.109552)], ['H', (0.071465, 1.400302, -1.594573)], ['H', (-1.08538, 0.339368, 1.098414)], ['O', (-0.032343, 2.140515, 1.697564)], ['H', (0.438322, 2.767394, 2.276379)], ['O', (-1.643456, 2.155986, -0.775276)], ['C', (-2.749358, 1.179186, -0.753555)], ['H', (-3.337709, 1.418582, 0.14457)], ['H', (-3.318202, 1.397448, -1.666498)], ['C', (-2.110589, -0.2299, -0.719944)], ['C', (2.729982, 1.327484, -0.704832)], ['H', (2.813168, 2.384445, -0.977584)], ['H', (3.749604, 0.958567, -0.53283)], ['H', (2.352007, 0.78104, -1.58051)], ['C', (2.6014, -1.343864, 0.30659)], ['C', (0.846782, -1.406136, -1.29617)], ['H', (0.882748, -0.593196, -2.039512)], ['H', (0.388152, -2.301374, -1.740346)], ['O', (2.225476, -1.781686, -1.029468)], ['C', (-0.422908, -2.193631, 0.752774)], ['H', (-0.320129, -3.083535, 0.102361)], ['C', (-1.914007, -2.007635, 1.112375)], ['H', (-2.334209, -2.995278, 1.383792)], ['H', (-1.980931, -1.388666, 2.031062)], ['C', (-2.813538, -1.370551, 0.027198)], ['H', (-3.1202, -2.147139, -0.69849)], ['C', (-1.82661295, -0.68751599, -2.16270012)], ['O', (-1.03585236, -0.24261727, -2.99355789)], ['O', (-2.59156054, -1.74766325, -2.52650357)], ['C', (-2.29916153, -2.14198817, -3.86960099)], ['H', (-2.96290254, -2.9282896, -4.16299137)], ['H', (-2.42740743, -1.30452633, -4.52313804)], ['H', (-1.28838658, -2.48820275, -3.92764814)], ['O', (-4.01986539, -0.90962471, 0.64138134)], ['C', (-4.89301012, -1.93494775, 0.80793745)], ['O', (-4.541531, -3.05110585, 0.4281805)], ['C', (-6.20834727, -1.48087047, 1.46771166)], ['H', (-6.70958996, -0.78829922, 0.82428269)], ['H', (-6.83594045, -2.33131805, 1.63434212)], ['H', (-5.99341406, -1.00749899, 2.40292455)], ['O', (0.29104226, -2.52037085, 1.94793763)], ['C', (0.31248536, -3.86361432, 2.13937213)], ['O', (-0.25336168, -4.56806573, 1.30443072)], ['C', (1.07328546, -4.25938123, 3.41849362)], ['C', (1.18469713, -5.56341278, 3.77014145)], ['H', (0.75137836, -6.32562659, 3.15681858)], ['C', (1.70966559, -3.16955354, 4.30104443)], ['H', (2.52793619, -2.72004059, 3.77829081)], ['H', (0.97813456, -2.42251044, 4.52839648)], ['H', (2.06508607, -3.60889199, 5.20964665)], ['C', (1.93754031, -5.94957419, 5.05688405)], ['H', (1.46239499, -5.49165555, 5.89917107)], ['H', (1.92238977, -7.01309886, 5.1734419)], ['H', (2.95091533, -5.61227499, 4.99207421)], ['C', (3.99823568, -0.71610148, 0.14421916)], ['O', (4.54063921, 0.18499764, 0.78248292)], ['O', (4.6998428, -1.27738694, -0.87269582)], ['O', (2.69271189, -2.53050618, 1.09933364)], ['H', (3.60067733, -2.84219679, 1.1062423)], ['C', (5.98847134, -0.6688573, -0.99113633)], ['H', (6.49970371, -0.7307557, -0.05320774)], ['H', (6.55618159, -1.17887968, -1.74112449)], ['H', (5.87374685, 0.35839671, -1.26770006)], ['C', (2.63486992, 1.58151749, 1.76176538)], ['C', (2.13434327, 2.21842175, 3.11643757)], ['C', (3.90461234, 2.4538709, 1.74128354)], ['O', (2.44467967, 0.78466796, 2.96396625)], ['C', (3.35337126, 2.9870945, 3.792439)], ['C', (0.74513758, 2.60743687, 3.44136489)], ['O', (5.00327683, 3.1919637, 1.11718214)], ['C', (4.47769203, 2.16352749, 3.16877423)], ['H', (3.15573566, 3.35599353, 1.51547111)], ['C', (3.84794511, 4.41584726, 3.25643717)], ['H', (3.24116904, 2.9988907, 4.88162906)], ['H', (0.00697023, 1.93995296, 2.97068106)], ['H', (0.55491721, 2.57388288, 4.52449549)], ['H', (0.54134467, 3.63458255, 3.09753074)], ['C', (4.84981258, 4.42246076, 1.92099071)], ['H', (4.49637929, 1.09030804, 3.43212004)], ['H', (5.51163803, 2.50195502, 3.3248999)], ['C', (4.76579887, 5.04464694, 4.26535741)], ['O', (2.75093022, 5.20578033, 2.83652107)], ['H', (4.60685318, 5.22136931, 1.20459035)], ['O', (6.17282363, 4.70855901, 2.47193815)], ['H', (4.42807865, 5.31783232, 5.24674785)], ['C', (6.01838353, 5.12565144, 3.78006571)], ['H', (2.50011685, 5.87405238, 3.50751412)], ['H', (6.95619123, 5.44887224, 4.20308201)]] + elif mol_str == "bench12": mol_str = [['C', (-3.784, 3.918, 3.085)], ['O', (-4.613, 4.803, 2.942)], ['C', (6.713, 1.233, 4.896)], ['C', (-5.602, 2.294, 3.721)], ['C', (-6.05, 1.052, 4.183)], ['C', (-5.13, 0.052, 4.505)], ['C', (-3.764, 0.293, 4.345)], ['C', (-3.323, 1.537, 3.885)], ['C', (-4.234, 2.553, 3.573)], ['C', (5.675, 0.948, 3.846)], ['C', (2.371, 0.849, 2.629)], ['C', (3.105, -0.126, 3.216)], ['C', (1.031, 1.222, 3.239)], ['C', (0.288, -0.094, 3.595)], ['C', (1.167, -1.284, 4.127)], ['C', (2.608, -0.785, 4.511)], ['C', (3.435, -1.97, 5.134)], ['C', (2.606, 0.312, 5.643)], ['C', (2.732, 1.622, 1.37)], ['C', (1.103, -2.5, 3.107)], ['C', (1.799, -2.324, 1.7)], ['C', (3.308, -2.771, 1.513)], ['C', (3.495, -4.317, 1.695)], ['C', (4.372, -2.133, 2.414)], ['O', (5.242, -2.814, 2.938)], ['C', (4.419, -0.643, 2.663)], ['C', (3.725, -2.341, 0.068)], ['C', (2.997, -3.146, -1.039)], ['C', (1.461, -3.215, -0.831)], ['C', (0.848, -2.793, 0.536)], ['C', (0.295, -4.236, 0.673)], ['O', (1.018, -4.542, -0.52)], ['O', (-0.291, -1.918, 0.364)], ['O', (0.129, 1.936, 2.354)], ['C', (0.335, 3.258, 2.231)], ['O', (1.171, 3.887, 2.86)], ['C', (-0.569, 3.953, 1.24)], ['O', (-0.325, 5.368, 1.252)], ['C', (-2.072, 3.652, 1.503)], ['C', (-2.914, 4.255, 0.365)], ['N', (-2.518, 4.225, 2.794)], ['C', (-0.027, -0.744, -0.23)], ['O', (1.059, -0.437, -0.697)], ['C', (-1.198, 0.194, -0.318)], ['O', (5.148, -2.365, -0.154)], ['O', (5.475, -0.357, 3.604)], ['O', (0.499, -1.683, 5.342)], ['O', (-0.305, -2.723, 2.831)], ['C', (-1.05, -3.316, 3.775)], ['O', (-0.564, -3.881, 4.742)], ['C', (-2.555, -3.283, 3.613)], ['C', (-3.131, -2.573, 2.553)], ['C', (-4.519, -2.531, 2.398)], ['C', (-5.343, -3.21, 3.3)], ['C', (-4.774, -3.919, 4.362)], ['C', (-3.386, -3.955, 4.518)], ['C', (-3.219, 5.62, 0.367)], ['C', (-3.981, 6.179, -0.664)], ['C', (-4.449, 5.372, -1.705)], ['C', (-4.152, 4.007, -1.71)], ['C', (-3.391, 3.452, -0.678)], ['O', (5.075, 1.851, 3.284)], ['H', (7.656, 0.728, 4.637)], ['H', (6.359, 0.859, 5.868)], ['H', (6.901, 2.314, 4.977)], ['H', (-6.335, 3.057, 3.477)], ['H', (-7.113, 0.865, 4.293)], ['H', (-5.475, -0.906, 4.881)], ['H', (-3.046, -0.486, 4.58)], ['H', (-2.258, 1.699, 3.779)], ['H', (1.157, 1.836, 4.142)], ['H', (-0.254, -0.39, 2.686)], ['H', (-0.488, 0.166, 4.333)], ['H', (3.049, -2.247, 6.126)], ['H', (3.418, -2.896, 4.559)], ['H', (4.483, -1.687, 5.296)], ['H', (3.183, 0.036, 6.538)], ['H', (3.066, 1.253, 5.305)], ['H', (1.589, 0.521, 6.005)], ['H', (3.556, 1.242, 0.76)], ['H', (1.871, 1.652, 0.687)], ['H', (2.995, 2.651, 1.65)], ['H', (1.492, -3.432, 3.532)], ['H', (1.789, -1.255, 1.512)], ['H', (2.849, -4.921, 1.053)], ['H', (4.521, -4.633, 1.46)], ['H', (3.301, -4.623, 2.731)], ['H', (4.777, -0.232, 1.716)], ['H', (3.472, -1.28, -0.081)], ['H', (3.206, -2.659, -2.006)], ['H', (3.407, -4.164, -1.109)], ['H', (0.876, -2.865, -1.699)], ['H', (0.597, -4.823, 1.553)], ['H', (-0.79, -4.313, 0.498)], ['H', (-0.297, 3.593, 0.235)], ['H', (-0.508, 5.754, 2.103)], ['H', (-2.211, 2.56, 1.507)], ['H', (-1.856, 3.979, 3.61)], ['H', (-1.756, 0.199, 0.629)], ['H', (-0.85, 1.216, -0.531)], ['H', (-1.869, -0.132, -1.127)], ['H', (5.528, -3.235, -0.126)], ['H', (0.815, -2.49, 5.73)], ['H', (-2.506, -2.044, 1.842)], ['H', (-4.957, -1.972, 1.578)], ['H', (-6.422, -3.185, 3.177)], ['H', (-5.414, -4.443, 5.066)], ['H', (-2.959, -4.507, 5.348)], ['H', (-2.868, 6.259, 1.17)], ['H', (-4.21, 7.24, -0.655)], ['H', (-5.04, 5.805, -2.506)], ['H', (-4.515, 3.378, -2.517)], ['H', (-3.174, 2.389, -0.697)]] + elif mol_str == "bench13": mol_str = [['N', (-4.092316, -1.000975, -0.370529)], ['C', (-4.323298, -0.263368, -1.612788)], ['C', (-3.205279, 0.75529, -1.724502)], ['C', (-4.333065, -1.195831, -2.804809)], ['C', (-5.534893, -2.195586, -2.747894)], ['C', (-4.391021, -0.411072, -4.124619)], ['O', (-2.022551, 0.51326, -1.614742)], ['O', (-3.685654, 1.972297, -2.0328)], ['C', (-2.674446, 3.003316, -2.308876)], ['C', (-2.061835, 3.479071, -0.971537)], ['C', (-3.443134, 4.164203, -2.94218)], ['O', (-0.982616, 4.138519, -1.109289)], ['N', (-2.562361, 3.191384, 0.172976)], ['C', (-1.922153, 3.625377, 1.414867)], ['C', (-0.521384, 3.059577, 1.425755)], ['C', (-2.660285, 3.19546, 2.693552)], ['C', (-4.031723, 3.921459, 2.671174)], ['C', (-1.882265, 3.476688, 3.916073)], ['O', (-0.237963, 1.915325, 1.170709)], ['O', (0.405568, 3.987667, 1.716328)], ['C', (1.781787, 3.582552, 1.870413)], ['C', (2.481074, 3.382195, 0.575318)], ['C', (2.480996, 4.611227, 2.746627)], ['C', (2.47089, 5.974202, 2.063195)], ['C', (1.863565, 4.691095, 4.116433)], ['O', (3.676679, 3.042497, 0.627604)], ['N', (1.882065, 3.63419, -0.5706)], ['C', (2.598479, 3.416843, -1.822129)], ['C', (3.04029, 1.970656, -1.862391)], ['C', (1.746343, 3.771275, -3.063258)], ['C', (1.427287, 5.251532, -3.043648)], ['C', (2.444655, 3.420207, -4.345496)], ['O', (2.308863, 0.99538, -1.690734)], ['O', (4.353206, 1.844014, -2.141135)], ['C', (4.912975, 0.501695, -2.282755)], ['C', (4.866954, -0.251241, -0.969886)], ['C', (6.363862, 0.653789, -2.723359)], ['O', (4.889152, -1.491995, -0.988352)], ['N', (4.852304, 0.411828, 0.187274)], ['C', (4.863721, -0.32053, 1.453267)], ['C', (3.640496, -1.203917, 1.497502)], ['C', (4.913635, 0.624865, 2.635648)], ['C', (6.173744, 1.508032, 2.60033)], ['C', (4.932395, -0.156748, 3.950794)], ['O', (2.51072, -0.84202, 1.236281)], ['O', (3.945608, -2.457328, 1.878505)], ['C', (2.828097, -3.372211, 2.03196)], ['C', (2.445551, -4.040763, 0.77174)], ['C', (3.254346, -4.422058, 3.076046)], ['C', (4.485963, -5.17999, 2.732181)], ['C', (3.328906, -3.808486, 4.458682)], ['O', (1.510141, -4.859848, 0.766457)], ['N', (3.020005, -3.732477, -0.410699)], ['C', (2.468904, -4.259053, -1.6646)], ['C', (1.005575, -3.799167, -1.749489)], ['C', (3.268214, -3.838849, -2.88078)], ['C', (4.693123, -4.426191, -2.823146)], ['C', (2.559891, -4.254352, -4.172416)], ['O', (0.635499, -2.673457, -1.581456)], ['O', (0.19673, -4.821967, -2.053653)], ['C', (-1.207969, -4.498197, -2.24626)], ['C', (-1.919179, -4.182296, -0.920514)], ['C', (-1.832879, -5.699367, -2.974726)], ['O', (-3.059153, -3.717116, -0.961162)], ['N', (-1.303471, -4.547234, 0.218128)], ['C', (-1.982414, -4.214913, 1.486175)], ['C', (-2.200782, -2.712629, 1.511514)], ['C', (-1.134918, -4.689135, 2.671762)], ['C', (-0.944827, -6.191286, 2.623437)], ['C', (-1.829816, -4.316462, 3.967327)], ['O', (-1.385866, -1.9006, 1.279362)], ['O', (-3.460876, -2.442907, 1.878543)], ['C', (-3.804869, -1.044508, 2.117691)], ['C', (-4.050817, -0.299492, 0.783208)], ['C', (-5.016031, -1.022831, 3.027983)], ['C', (-6.211473, -1.582777, 2.357053)], ['C', (-5.252923, 0.363926, 3.607945)], ['O', (-4.233373, 0.913002, 0.812934)], ['H', (-4.825052, -1.677193, -0.281154)], ['H', (-5.217026, 0.186571, -1.599372)], ['H', (-3.479308, -1.715455, -2.769455)], ['H', (-5.508697, -2.792601, -3.549257)], ['H', (-6.393354, -1.68153, -2.7406)], ['H', (-5.468672, -2.74598, -1.915801)], ['H', (-4.39429, -1.049299, -4.894845)], ['H', (-3.59014, 0.186846, -4.194563)], ['H', (-5.225516, 0.143589, -4.147272)], ['H', (-1.941915, 2.666583, -2.901546)], ['H', (-2.806324, 4.905979, -3.158884)], ['H', (-4.135677, 4.492828, -2.303388)], ['H', (-3.887482, 3.852542, -3.781836)], ['H', (-3.485062, 3.580046, 0.182699)], ['H', (-1.927597, 4.624579, 1.428033)], ['H', (-2.79044, 2.201843, 2.715678)], ['H', (-4.555076, 3.671645, 3.487594)], ['H', (-4.539107, 3.649591, 1.856395)], ['H', (-3.884359, 4.909505, 2.658473)], ['H', (-2.397552, 3.181021, 4.719518)], ['H', (-1.703444, 4.460941, 3.979504)], ['H', (-1.011857, 2.981721, 3.879574)], ['H', (1.807192, 2.684489, 2.310092)], ['H', (3.430162, 4.320142, 2.868487)], ['H', (2.930026, 6.643402, 2.6424)], ['H', (1.526351, 6.263032, 1.907788)], ['H', (2.9481, 5.912261, 1.184104)], ['H', (2.346361, 5.375005, 4.664527)], ['H', (1.934535, 3.796949, 4.566903)], ['H', (0.900706, 4.946579, 4.034185)], ['H', (1.064858, 3.062686, -0.602928)], ['H', (3.389388, 4.028458, -1.850492)], ['H', (0.906884, 3.231889, -3.020692)], ['H', (0.875632, 5.481426, -3.847705)], ['H', (2.276787, 5.774253, -3.061772)], ['H', (0.915762, 5.470666, -2.216102)], ['H', (1.859529, 3.668329, -5.120102)], ['H', (2.629183, 2.440334, -4.368647)], ['H', (3.304846, 3.923639, -4.404726)], ['H', (4.379382, -0.01605, -2.953946)], ['H', (6.778208, -0.252132, -2.830428)], ['H', (6.872358, 1.169804, -2.034528)], ['H', (6.401161, 1.139812, -3.594077)], ['H', (5.654846, 1.007647, 0.191146)], ['H', (5.688734, -0.885157, 1.507712)], ['H', (4.0981, 1.195862, 2.574451)], ['H', (6.173595, 2.119258, 3.394792)], ['H', (6.176517, 2.055384, 1.762697)], ['H', (6.990721, 0.931248, 2.624915)], ['H', (4.963944, 0.484942, 4.718965)], ['H', (5.737428, -0.749023, 3.979542)], ['H', (4.10688, -0.714856, 4.021343)], ['H', (2.017946, -2.856984, 2.316729)], ['H', (2.532306, -5.110371, 3.074232)], ['H', (4.687279, -5.836148, 3.4622)], ['H', (5.250346, -4.546334, 2.632862)], ['H', (4.342276, -5.672236, 1.87173)], ['H', (3.607288, -4.506348, 5.120102)], ['H', (2.432946, -3.447169, 4.712392)], ['H', (4.000576, -3.066883, 4.456643)], ['H', (3.00183, -2.736612, -0.48491)], ['H', (2.523818, -5.256397, -1.663438)], ['H', (3.338853, -2.839418, -2.879074)], ['H', (5.208256, -4.142571, -3.633434)], ['H', (4.639769, -5.426967, -2.799486)], ['H', (5.158021, -4.099125, -2.001722)], ['H', (3.10569, -3.967766, -4.960551)], ['H', (1.661957, -3.821054, -4.213784)], ['H', (2.450854, -5.248405, -4.18741)], ['H', (-1.307259, -3.664356, -2.791012)], ['H', (-2.80549, -5.528762, -3.131782)], ['H', (-1.727941, -6.522351, -2.411801)], ['H', (-1.373006, -5.834787, -3.850316)], ['H', (-1.185777, -5.539039, 0.189424)], ['H', (-2.868035, -4.680768, 1.554632)], ['H', (-0.239333, -4.245968, 2.624327)], ['H', (-0.389239, -6.483047, 3.400717)], ['H', (-0.481563, -6.441532, 1.772248)], ['H', (-1.838177, -6.643402, 2.663197)], ['H', (-1.275974, -4.622937, 4.742494)], ['H', (-2.727713, -4.754904, 4.006495)], ['H', (-1.943531, -3.32249, 4.015512)], ['H', (-3.048477, -0.563112, 2.562609)], ['H', (-4.828053, -1.619266, 3.807471)], ['H', (-6.990721, -1.552747, 2.981064)], ['H', (-6.033213, -2.529521, 2.093305)], ['H', (-6.424515, -1.044284, 1.539849)], ['H', (-6.059472, 0.344963, 4.201915)], ['H', (-5.404125, 1.013925, 2.864268)], ['H', (-4.452484, 0.643772, 4.140208)]] + elif mol_str == "c100": mol_str = [["C", (-1.59600, 4.04060, 1.32260)],["C", (-2.78560, 3.62030, 0.86750)],["C", (1.12220, 4.19180, 1.58100)],["C", (0.55610, 4.64280, 0.46450)],["C", (-0.77450, 4.57120, 0.33060)],["C", (2.38160, 3.69870, 1.54910)],["C", (-1.02360, 4.37320, -1.01930)],["C", (-2.15360, 3.78860, -1.47040)],["C", (-3.11650, 3.57250, -0.49370)],["C", (-4.07380, 2.65850, -0.62040)],["C", (-4.08550, 1.85070, -1.70820)],["C", (0.17640, 4.21330, -1.63780)],["C", (1.57810, 2.79300, -2.77190)],["C", (0.31370, 3.29660, -2.67280)],["C", (-0.78760, 2.51750, -3.11720)],["C", (-2.05650, 2.85680, -2.55400)],["C", (-3.04480, 1.90090, -2.60350)],["C", (2.45400, 3.92590, -0.79790)],["C", (1.19210, 4.46580, -0.72750)],["C", (4.72530, 0.48500, -0.82090)],["C", (4.33740, 1.81210, -0.85310)],["C", (3.52930, 2.11560, -1.94060)],["C", (2.62760, 3.12360, -1.90640)],["C", (3.15780, 3.56490, 0.37740)],["C", (4.17050, 1.69290, 1.50600)],["C", (4.09670, 2.50770, 0.35700)],["C", (-4.78460, 0.88520, 0.69790)],["C", (-4.94170, 0.10250, -0.42550)],["C", (-4.35220, 2.13210, 0.60270)],["C", (-4.50980, 0.58230, -1.61180)],["C", (-3.75240, -0.20620, -2.43260)],["C", (-4.72170, -1.17630, -0.10650)],["C", (-4.10050, -2.08990, -0.97260)],["C", (-3.52710, -1.54660, -2.19040)],["C", (1.81720, 1.54840, -3.29360)],["C", (0.80120, 0.66170, -3.69130)],["C", (-0.54510, 1.15100, -3.61770)],["C", (-1.59230, 0.16810, -3.53580)],["C", (-2.82410, 0.61220, -3.06230)],["C", (0.04120, -1.69860, -3.50530)],["C", (-1.33460, -1.24450, -3.43350)],["C", (-2.33640, -2.08070, -2.75570)],["C", (-1.90190, -3.26080, -2.17080)],["C", (-3.72600, -2.10920, 1.77120)],["C", (-4.36030, 0.10230, 1.72000)],["C", (-4.45960, -1.16570, 1.25030)],["C", (-3.32190, -3.16890, 1.04190)],["C", (-2.44730, -3.79040, -1.00750)],["C", (-3.47160, -3.17320, -0.35860)],["C", (-2.79440, -1.80090, 2.74020)],["C", (-2.51340, -0.49730, 3.17740)],["C", (-3.37210, 0.51980, 2.66280)],["C", (-2.90680, 1.85220, 2.56000)],["C", (-3.47480, 2.63330, 1.52020)],["C", (-0.71820, 1.14100, 3.56130)],["C", (-1.59830, 2.19250, 3.01350)],["C", (-1.00360, 3.37840, 2.43610)],["C", (0.35590, 3.52050, 2.51960)],["C", (-1.88220, -2.80190, 2.68870)],["C", (0.30780, -3.48370, 2.52260)],["C", (-0.59030, -2.60600, 3.11250)],["C", (-0.16700, -1.32420, 3.58230)],["C", (-1.16010, -0.23250, 3.60700)],["C", (1.25530, -1.05910, 3.50810)],["C", (0.69910, 1.36660, 3.58220)],["C", (1.16600, 2.59400, 3.09010)],["C", (-1.43880, -4.46790, -0.35830)],["C", (-1.30850, -4.41700, 1.02040)],["C", (-2.23670, -3.69220, 1.66990)],["C", (-0.03590, -4.36530, 1.50140)],["C", (1.63220, -3.19410, 2.40140)],["C", (2.17870, -2.02470, 2.89450)],["C", (1.65930, 0.29600, 3.55460)],["C", (2.94030, 0.58290, 3.03560)],["C", (3.28150, 1.81110, 2.53170)],["C", (2.41570, 2.78520, 2.55760)],["C", (2.12750, -3.88250, 1.29960)],["C", (3.05340, -3.54940, -0.79220)],["C", (3.20520, -3.42060, 0.60000)],["C", (3.91450, -2.33270, 1.11310)],["C", (3.41180, -1.64450, 2.27850)],["C", (3.75800, -0.31930, 2.40740)],["C", (-0.33620, -4.48080, -1.16030)],["C", (1.91230, -4.03080, -1.37980)],["C", (0.92590, -4.60230, -0.65250)],["C", (1.06310, -4.53250, 0.71870)],["C", (2.46220, -1.11070, -3.21010)],["C", (1.12460, -0.73920, -3.64590)],["C", (2.64170, -2.36200, -2.63770)],["C", (1.63300, -3.24840, -2.50300)],["C", (0.35250, -2.97660, -2.93690)],["C", (-0.61630, -3.69160, -2.27130)],["C", (4.33780, -1.65960, -1.16960)],["C", (4.32530, -0.43960, -1.77130)],["C", (3.40550, -0.14210, -2.78300)],["C", (3.05390, 1.16070, -2.83410)],["C", (3.55050, -2.61110, -1.63070)],["C", (4.51580, 0.38190, 1.48320)],["C", (4.58670, -1.52770, 0.17300)],["C", (4.86400, -0.22290, 0.35100)],] elif mol_str == "c180": @@ -224,3 +238,19 @@ def prepare(val): writer.append_data(imageio.v2.imread(f'{images_subdir}num_error{i}.jpg')) writer.close() print("Numerical error visualisation saved in", gif_path) + + + +from typing import List +def get_ipu_cycles(data_to_be_sharded: List[float], num_items_to_be_sharded: int = 1) -> List[float]: + from tessellate_ipu import tile_map, ipu_cycle_count, tile_put_sharded + + tmp = data_to_be_sharded[0:num_items_to_be_sharded] + tiles = tuple(range(len(tmp))) + tmp = tile_put_sharded(tmp, tiles) + tmp, cycles_count = ipu_cycle_count(tmp) + tmp = tmp.array + for idx in tiles: + data_to_be_sharded = data_to_be_sharded.at[idx].set(tmp[idx]) + + return data_to_be_sharded, cycles_count \ No newline at end of file