#pragma once 
#include <vector>

namespace teqp {

namespace CubicSuperAncillary {

struct Chebyshev{
public:
    const std::vector<double> coeff;
    const double xmin, xmax;
    // Evaluate the expansion with Clenshaw's method
    double y(double x) const{
        // Scale to (-1, 1)
        double xscaled = (2*x - (xmax + xmin)) / (xmax - xmin);
        int Norder = static_cast<int>(coeff.size()) - 1;
        double u_k = 0, u_kp1 = coeff[Norder], u_kp2 = 0;
        for (int k = Norder-1; k > 0; k--){ // k must be signed!
            // Do the recurrent calculation
            u_k = 2.0*xscaled*u_kp1 - u_kp2 + coeff[k];
            // Update the values
            u_kp2 = u_kp1; u_kp1 = u_k;
        }
        return coeff[0] + xscaled*u_kp1 - u_kp2;
    };
};

// https://proquest.safaribooksonline.com/9780321637413
// https://web.stanford.edu/class/archive/cs/cs107/cs107.1202/lab1/
static int midpoint_Knuth(int x, int y) {
    return (x & y) + ((x ^ y) >> 1);
};

struct SuperAncillary{
public:

    const std::vector<Chebyshev> exps;

    int get_index(double x) const{
        int iL = 0, iR = static_cast<int>(exps.size()) - 1, iM;
        while (iR - iL > 1) {
            iM = midpoint_Knuth(iL, iR);
            if (x >= exps[iM].xmin) {
                iL = iM;
            }
            else {
                iR = iM;
            }
        }
        return (x < exps[iL].xmax) ? iL : iR;
    };

    /// Evaluate the SuperAncillary
    double y(double x) const{
        // First check whether the input is possible
        if (x < exps[0].xmin) {
            throw std::invalid_argument("Ttilde (" + std::to_string(x) + ") is below the minimum of " + std::to_string(exps[0].xmin));
        }
        if (x > exps.back().xmax) {
            throw std::invalid_argument("Ttilde (" + std::to_string(x) + ") is above the maximum of " + std::to_string(exps.back().xmax));
        }
        // Bisection to find the expansion
        // we need
        auto i = get_index(x);
        // Evaluate the expansion
        return exps[i].y(x);
    }
};

const auto vdW_p = SuperAncillary{
{
  {
    {
      8.369016487003571e-13,
      1.3838182749488314e-12,
      8.006631877160537e-13,
      3.3527912014616007e-13,
      1.043509859614108e-13,
      2.4518354339464807e-14,
      4.362454910953413e-15,
      5.800290149785568e-16,
      5.5246311563342216e-17,
      3.341712352615597e-18,
      6.943507182585673e-20,
      -6.6172300100790814e-21,
      -4.799249815587726e-22,
      8.197853768324654e-24,
      1.6972506557505968e-24,
      -1.4268299756055458e-26,
      -5.664810160392086e-27,
      4.437342591868191e-31,
      -1.4685138788754898e-28
    },
    0.02962962962962963,
    0.03796296296296296
  },
  {
    {
      1.1901434626227093e-10,
      1.7361780173369773e-10,
      7.639416392753658e-11,
      2.219331080562664e-11,
      4.468985012784936e-12,
      6.345623163747038e-13,
      6.256832040916454e-14,
      3.9794258615342e-15,
      1.2126532982344795e-16,
      -2.510288446235168e-18,
      -3.1189177665897616e-19,
      -3.0550813286427195e-22,
      6.384476478410435e-22,
      2.6783405454063793e-25,
      -1.4724057241513977e-24,
      -5.563678192342752e-26,
      1.0097419586828951e-27,
      6.679443056687351e-26,
      5.4526065768876336e-27
    },
    0.03796296296296296,
    0.0462962962962963
  },
  {
    {
      3.341667610526653e-08,
      5.118389108542411e-08,
      2.4371256768154856e-08,
      7.57899054003236e-09,
      1.5635438033324503e-09,
      2.0715013642702e-10,
      1.5165995758982126e-11,
      1.6314454982752663e-13,
      -6.017223931292203e-14,
      -1.9704412673913643e-15,
      2.8051398344015177e-16,
      7.022929896522875e-18,
      -1.5199614910962848e-18,
      1.1958046052493347e-20,
      7.00911492046808e-21,
      -4.237329623030918e-22,
      -3.863191954564062e-23,
      -1.1166938269465874e-23,
      -1.2818068320304144e-23
    },
    0.0462962962962963,
    0.06296296296296297
  },
  {
    {
      8.410724206747044e-06,
      1.2481631400263709e-05,
      5.378159443205515e-06,
      1.3704527561658967e-06,
      1.9136168235190198e-07,
      8.957711663130537e-09,
      -9.462672897450059e-10,
      -6.968811539371602e-11,
      1.0243849900317855e-11,
      2.337729169280951e-13,
      -1.1494530386099005e-13,
      5.3160592525426036e-15,
      7.530730564512324e-16,
      -1.1431990843247566e-16,
      2.805445086019535e-18,
      7.988918627843267e-19,
      -1.0295338058018748e-19,
      7.210533399624742e-21,
      5.761312966431838e-22
    },
    0.06296296296296297,
    0.0962962962962963
  },
  {
    {
      0.0006802593682753608,
      0.0009003332567452364,
      0.0002880297751978097,
      4.118964226458961e-05,
      7.986981798077676e-07,
      -2.628431475282669e-07,
      1.4516582903911464e-08,
      1.5647152494426528e-09,
      -4.1929621787396065e-10,
      3.8557343395626107e-11,
      8.368753107866514e-13,
      -8.31125296022126e-13,
      1.3326079144488354e-13,
      -8.864161253017153e-15,
      -8.83270499045497e-16,
      3.3879136780332834e-16,
      -4.8188763160481214e-17,
      2.9076523496871995e-18,
      3.8719993601362204e-19
    },
    0.0962962962962963,
    0.16296296296296295
  },
  {
    {
      0.015871052250174933,
      0.017373046113870208,
      0.003617191914161977,
      0.00018958352208271672,
      -1.4572937633430827e-05,
      7.218425887058066e-07,
      2.6419947263015497e-08,
      -1.4409436469961143e-08,
      2.6380419456436925e-09,
      -3.4860393171849517e-10,
      3.335912880024321e-11,
      -1.2239621615490678e-12,
      -4.035014645542914e-13,
      1.3487363894996995e-13,
      -2.72259564068969e-14,
      4.280375966864147e-15,
      -5.359753439682091e-16,
      5.147249813874932e-17,
      -1.531435568635775e-18
    },
    0.16296296296296295,
    0.2962962962962963
  }
}
};
const auto vdW_rhoL = SuperAncillary{
{
  {
    {
      0.9316136201036852,
      -0.03865225088424542,
      -0.0008661148627486168,
      -3.8336595966463605e-05,
      -1.930441992932519e-06,
      -5.810841478132156e-08,
      6.379356029539984e-09,
      4.0565692471794534e-10,
      -3.1201431022198634e-10,
      -3.4029466744467385e-11,
      1.369238750159596e-11,
      1.18192261533423e-12,
      -7.751924102628038e-13,
      6.175615574477433e-15,
      4.091171845743702e-14,
      -6.980527267330672e-15,
      -1.2559397966072083e-15,
      1.4641066137244252e-15,
      -3.8163916471489756e-17
    },
    0.02962962962962963,
    0.0962962962962963
  },
  {
    {
      0.8455034879915954,
      -0.04802256898834967,
      -0.0015470962415359973,
      -7.972501988821878e-05,
      -4.017234579128948e-06,
      -2.921741757144769e-07,
      -2.6298690877779585e-08,
      -1.3988705679923719e-09,
      -1.5143918064008943e-10,
      -1.6808554548219945e-11,
      -1.6921186674068167e-13,
      -1.6256440638073855e-13,
      -9.825473767932635e-15,
      7.077671781985373e-16,
      -3.608224830031759e-16,
      -7.632783294297951e-16,
      -4.163336342344337e-17,
      8.257283745649602e-16,
      1.3877787807814457e-17
    },
    0.0962962962962963,
    0.16296296296296295
  },
  {
    {
      0.7327617276279949,
      -0.06612960981729517,
      -0.0032780016312522198,
      -0.00026019391083406673,
      -2.6595986463442967e-05,
      -3.184060496402852e-06,
      -4.0508839448810674e-07,
      -5.4371095223326726e-08,
      -7.554792333386295e-09,
      -1.076694275403689e-09,
      -1.5675695463901462e-10,
      -2.3183531483450537e-11,
      -3.4755739952707643e-12,
      -5.273004255457181e-13,
      -8.064382495120981e-14,
      -1.3183898417423734e-14,
      -1.9290125052862095e-15,
      4.0245584642661925e-16,
      -5.898059818321144e-17
    },
    0.16296296296296295,
    0.22962962962962963
  },
  {
    {
      0.6166811517612045,
      -0.04839066994648989,
      -0.0021672975061474767,
      -0.00017570976987404258,
      -1.8519040533800102e-05,
      -2.208561613849247e-06,
      -2.82949510460595e-07,
      -3.8035669329417043e-08,
      -5.291587154565569e-09,
      -7.554387740360546e-10,
      -1.1004187144836308e-10,
      -1.6289976312311438e-11,
      -2.4432955658681976e-12,
      -3.709324514211687e-13,
      -5.671157987663378e-14,
      -9.346690088563037e-15,
      -1.3600232051658168e-15,
      3.677613769070831e-16,
      -3.122502256758253e-17
    },
    0.22962962962962963,
    0.26296296296296295
  },
  {
    {
      0.5328306974405083,
      -0.034453741516764766,
      -0.0014682721939933072,
      -0.00012182552205808328,
      -1.2945521315733954e-05,
      -1.5482578362285837e-06,
      -1.9873352891802698e-07,
      -2.6746483347550587e-08,
      -3.724136381222376e-09,
      -5.319946913551199e-10,
      -7.753041264546567e-11,
      -1.1481385286948864e-11,
      -1.7225665338571616e-12,
      -2.6155466681387907e-13,
      -4.00304789316408e-14,
      -6.696032617270475e-15,
      -9.43689570931383e-16,
      3.885780586188048e-16,
      -1.734723475976807e-17
    },
    0.26296296296296295,
    0.2796296296296296
  },
  {
    {
      0.4734609830190833,
      -0.02424735785371843,
      -0.0010133644361935874,
      -8.529016931251368e-05,
      -9.098505499984672e-06,
      -1.089985510512731e-06,
      -1.4004471942871688e-07,
      -1.8859509249430362e-08,
      -2.627095759683007e-09,
      -3.7540060296437083e-10,
      -5.472236552783727e-11,
      -8.105231763533283e-12,
      -1.2161383011743965e-12,
      -1.8476886687324168e-13,
      -2.827946210537391e-14,
      -4.829470157119431e-15,
      -7.181755190543981e-16,
      4.2674197509029455e-16,
      6.938893903907228e-18
    },
    0.2796296296296296,
    0.287962962962963
  },
  {
    {
      0.4317586705206012,
      -0.016998875614382822,
      -0.0007071969216258488,
      -6.0002743216675675e-05,
      -6.413721659864063e-06,
      -7.690254281537967e-07,
      -9.885537948645107e-08,
      -1.3316815754282896e-08,
      -1.855412701950998e-09,
      -2.6517297732620015e-10,
      -3.8659075940472576e-11,
      -5.726488727653134e-12,
      -8.592571099086399e-13,
      -1.30593452718486e-13,
      -1.9970136655445003e-14,
      -3.4555691641457997e-15,
      -4.891920202254596e-16,
      3.5041414214731503e-16,
      -6.938893903907228e-18
    },
    0.287962962962963,
    0.29212962962962963
  },
  {
    {
      0.4025301670915846,
      -0.011913454752168377,
      -0.0004965958130950694,
      -4.231862747736473e-05,
      -4.528099139627234e-06,
      -5.431755606445654e-07,
      -6.984058851383645e-08,
      -9.409722008524302e-09,
      -1.311186739044734e-09,
      -1.8740799190286594e-10,
      -2.732347334499785e-11,
      -4.0475123253003176e-12,
      -6.073752611968075e-13,
      -9.242259735309233e-14,
      -1.4089424071883627e-14,
      -2.5500435096859064e-15,
      -3.0878077872387166e-16,
      3.9898639947466563e-16,
      -3.122502256758253e-17
    },
    0.29212962962962963,
    0.29421296296296295
  },
  {
    {
      0.3820369525637211,
      -0.008358544107590068,
      -0.00034987653550601003,
      -2.988469717726469e-05,
      -3.1993345159762876e-06,
      -3.8386783924454493e-07,
      -4.936325082721682e-08,
      -6.651310394817367e-09,
      -9.268700876252645e-10,
      -1.3248298638690592e-10,
      -1.93161493744487e-11,
      -2.861148817867587e-12,
      -4.2926079357741287e-13,
      -6.528458329491116e-14,
      -9.988537774674455e-15,
      -2.067790383364354e-15,
      -2.740863092043355e-16,
      2.3592239273284576e-16,
      -1.734723475976807e-17
    },
    0.29421296296296295,
    0.2952546296296296
  },
  {
    {
      0.3676497053323325,
      -0.005873143997041752,
      -0.0002469394057881408,
      -2.11177904382992e-05,
      -2.261380224737042e-06,
      -2.7135935164526725e-07,
      -3.489748082521893e-08,
      -4.70234896160493e-09,
      -6.552974517182175e-10,
      -9.366743838890024e-11,
      -1.3656992203792129e-11,
      -2.0231802344561345e-12,
      -3.0342742207700724e-13,
      -4.5678738569421284e-14,
      -7.029099524658022e-15,
      -1.4190038033490282e-15,
      -1.9081958235744878e-16,
      2.706168622523819e-16,
      0.0
    },
    0.2952546296296296,
    0.295775462962963
  },
  {
    {
      0.3575341743707003,
      -0.004132704229989258,
      -0.0001744465560134939,
      -1.4927613207975365e-05,
      -1.5987220087325393e-06,
      -1.918530817199282e-07,
      -2.4673554255283392e-08,
      -3.324766725820716e-09,
      -4.633303775369857e-10,
      -6.62290049191494e-11,
      -9.656359045706608e-12,
      -1.4302690976020216e-12,
      -2.1446733278196461e-13,
      -3.235953172087136e-14,
      -4.947431353485854e-15,
      -8.743006318923108e-16,
      -1.249000902703301e-16,
      2.706168622523819e-16,
      -1.3877787807814457e-17
    },
    0.295775462962963,
    0.29603587962962963
  },
  {
    {
      0.35041246164734846,
      -0.0029115644765456902,
      -0.0001232928553679749,
      -1.0553674979200955e-05,
      -1.130355650916931e-06,
      -1.3565108163485218e-07,
      -1.744588612809239e-08,
      -2.3508600899280196e-09,
      -3.2761145879467435e-10,
      -4.682861390326032e-11,
      -6.827677312415403e-12,
      -1.011458278243893e-12,
      -1.5187850976872141e-13,
      -2.3189783426857957e-14,
      -3.4139358007223564e-15,
      -1.1136924715771102e-15,
      2.7755575615628914e-17,
      5.134781488891349e-16,
      -1.231653667943533e-16
    },
    0.29603587962962963,
    0.29616608796296295
  },
  {
    {
      0.3453929468556045,
      -0.002053229816890382,
      -8.715997446502935e-05,
      -7.461959008286251e-06,
      -7.992427072806008e-07,
      -9.591642778292164e-08,
      -1.2335767615723192e-08,
      -1.662271872232557e-09,
      -2.3165206211595013e-10,
      -3.311351193246992e-11,
      -4.8279401310136194e-12,
      -7.147511749128199e-13,
      -1.0711917464156784e-13,
      -1.676089822488791e-14,
      -2.4980018054066022e-15,
      -2.983724378680108e-16,
      -5.551115123125783e-17,
      2.393918396847994e-16,
      -3.469446951953614e-18
    },
    0.29616608796296295,
    0.2962311921296296
  },
  {
    {
      0.34185203830414934,
      -0.0014490000408041367,
      -6.162384665049647e-05,
      -5.276183904001641e-06,
      -5.651359926590882e-07,
      -6.782196396853957e-08,
      -8.722585896625557e-09,
      -1.1753904204103716e-09,
      -1.6380120870795878e-10,
      -2.3415179517538576e-11,
      -3.413873350677221e-12,
      -5.057065877167588e-13,
      -7.568598525686809e-14,
      -1.1497747198774277e-14,
      -1.7867651802561113e-15,
      -9.783840404509192e-16,
      -3.8163916471489756e-17,
      8.673617379884035e-16,
      4.5102810375396984e-17
    },
    0.2962311921296296,
    0.296263744212963
  },
  {
    {
      0.33935254842481155,
      -0.001023145052791774,
      -4.35719527140041e-05,
      -3.7307483613316372e-06,
      -3.99606561996696e-07,
      -4.7956948610178296e-08,
      -6.167757610198166e-09,
      -8.311229968138711e-10,
      -1.1582452358327444e-10,
      -1.6557800269767498e-11,
      -2.4139960863589494e-12,
      -3.5761671401957074e-13,
      -5.354744425645208e-14,
      -9.089951014118469e-15,
      -1.2524703496552547e-15,
      3.0531133177191805e-16,
      1.0408340855860843e-16,
      1.1796119636642288e-15,
      7.45931094670027e-17
    },
    0.296263744212963,
    0.29628002025462963
  },
  {
    {
      0.3375873324362272,
      -0.0007227370941488807,
      -3.080906979128009e-05,
      -2.638010219744441e-06,
      -2.8256276612612097e-07,
      -3.391053622625595e-08,
      -4.361249632267583e-09,
      -5.876913226898761e-10,
      -8.18994629059322e-11,
      -1.1706968727764888e-11,
      -1.7064231971897215e-12,
      -2.5467475350815505e-13,
      -3.8767600241129685e-14,
      -3.230055112268815e-15,
      -1.0408340855860843e-16,
      -3.2959746043559335e-16,
      4.718447854656915e-16,
      -2.255140518769849e-16,
      -5.828670879282072e-16
    },
    0.29628002025462963,
    0.29628815827546295
  },
  {
    {
      0.33634024377980126,
      -0.0005106811254640582,
      -2.1784964224096787e-05,
      -1.8653452834756223e-06,
      -1.9980143188894073e-07,
      -2.3978314021844138e-08,
      -3.083862751968036e-09,
      -4.15558362026891e-10,
      -5.791153667722426e-11,
      -8.274964047316757e-12,
      -1.206382216345503e-12,
      -1.7613341340982913e-13,
      -2.653433028854124e-14,
      -5.748873599387139e-15,
      -8.881784197001252e-16,
      -1.9359513991901167e-15,
      3.8163916471489756e-17,
      2.723515857283587e-15,
      2.0122792321330962e-16
    },
    0.29628815827546295,
    0.2962922272858796
  },
  {
    {
      0.3354589771042352,
      -0.0003609193232701237,
      -1.540417623366666e-05,
      -1.318994892206965e-06,
      -1.412807294452756e-07,
      -1.695521064867811e-08,
      -2.180618217245689e-09,
      -2.9384074340388366e-10,
      -4.09495146125316e-11,
      -5.853536405586723e-12,
      -8.535151752031567e-13,
      -1.2840770113875521e-13,
      -1.8620521791135047e-14,
      8.777700788442644e-16,
      -1.1449174941446927e-16,
      -3.2612801348363973e-16,
      -7.28583859910259e-17,
      -3.642919299551295e-16,
      -6.418476861114186e-17
    },
    0.2962922272858796,
    0.296294261791088
  },
  {
    {
      0.33483610810587444,
      -0.00025511470266906255,
      -1.0892355099323403e-05,
      -9.326690283625871e-07,
      -9.990048497124371e-08,
      -1.198913999328477e-08,
      -1.5419303056596334e-09,
      -2.0778637838114733e-10,
      -2.8956462228002522e-11,
      -4.139157766536172e-12,
      -6.029898802495381e-13,
      -8.481410018745805e-14,
      -1.3000017728970192e-14,
      -4.253541963095131e-15,
      -4.961309141293668e-16,
      -3.400058012914542e-16,
      2.42861286636753e-16,
      3.427813588530171e-15,
      2.5847379792054426e-16
    },
    0.296294261791088,
    0.29629527904369213
  },
  {
    {
      0.3341194565621786,
      -0.0005254907183565548,
      -0.00010585696826935151,
      -4.5948894997340645e-05,
      -2.5987955723658085e-05,
      -1.6924206122554547e-05,
      -1.2054006867302791e-05,
      -9.1430248983157e-06,
      -7.271484405917822e-06,
      -6.0039811285959865e-06,
      -5.112767081889152e-06,
      -4.469487214352197e-06,
      -3.9975640410763735e-06,
      -3.6492975527165072e-06,
      -3.3940536075909022e-06,
      -3.2118298490882435e-06,
      -3.0896085961677755e-06,
      -3.0192461827061035e-06,
      -1.498133949695904e-06
    },
    0.29629527904369213,
    0.2962962962962963
  }
}
};
const auto vdW_rhoV = SuperAncillary{
{
  {
    {
      2.2489373895047762e-11,
      3.688517107894903e-11,
      2.0894583452709746e-11,
      8.476583933451082e-12,
      2.530366544413405e-12,
      5.637212489418141e-13,
      9.363230492731065e-14,
      1.1333103251162971e-14,
      9.33519994749376e-16,
      4.1362278059373704e-17,
      -4.84986420418459e-19,
      -1.65650780002939e-19,
      -4.018942009006866e-21,
      4.891126970541962e-22,
      2.0177374582077214e-23,
      -1.6609931787362484e-24,
      -6.522933053091502e-26,
      3.332148463653554e-27,
      -4.030290364774149e-27
    },
    0.02962962962962963,
    0.03796296296296296
  },
  {
    {
      2.6379937128657115e-09,
      3.780798221053315e-09,
      1.6044278594036214e-09,
      4.4331172895958845e-10,
      8.361702765680484e-11,
      1.0880537367567157e-11,
      9.447363806147374e-13,
      4.7714402398820264e-14,
      5.233241126040141e-16,
      -8.52742988949115e-17,
      -3.190159512313497e-18,
      1.504383250318862e-19,
      7.755246373275116e-21,
      -3.752718106348484e-22,
      -1.6549266806029178e-23,
      -6.308867757850729e-25,
      -7.270142102516845e-26,
      1.3231658626580658e-24,
      1.0339757656912846e-25
    },
    0.03796296296296296,
    0.0462962962962963
  },
  {
    {
      5.488117599580858e-07,
      8.246318599119535e-07,
      3.7495338087883065e-07,
      1.0860523684389838e-07,
      2.0169156352224874e-08,
      2.2464415506045487e-09,
      1.0692430180323234e-10,
      -5.062128204483255e-12,
      -7.086734785957356e-13,
      1.8598468871247458e-14,
      3.791438263524812e-15,
      -1.5845682631384665e-16,
      -1.6139528628166535e-17,
      1.4249482656836079e-18,
      2.1099309474696353e-20,
      -9.177568896275842e-21,
      2.61595868719895e-23,
      -1.4175807747627512e-22,
      -2.0384832220603676e-22
    },
    0.0462962962962963,
    0.06296296296296297
  },
  {
    {
      9.198583413591418e-05,
      0.0001323418019880509,
      5.269589299645468e-05,
      1.1673085614775962e-05,
      1.217520790883859e-06,
      -5.281166426031512e-09,
      -9.943118098154909e-09,
      2.878024017224007e-10,
      1.005351237026266e-10,
      -8.653088852547337e-12,
      -5.972466878192423e-13,
      1.4256395010153724e-13,
      -4.811359136869256e-15,
      -1.1177042446084331e-15,
      1.499644436891851e-16,
      -3.257172554437806e-18,
      -1.0356698315857932e-18,
      1.720668023008306e-19,
      -4.5858893159939854e-21
    },
    0.06296296296296297,
    0.0962962962962963
  },
  {
    {
      0.004754326043670642,
      0.005941275521721304,
      0.001655883437830305,
      0.00017737301927121552,
      -2.1044306045037264e-06,
      -2.446112805967309e-07,
      1.8602953134177618e-07,
      -1.3107585751750864e-08,
      -4.852484754108938e-10,
      4.195957567265955e-10,
      -6.078596600608724e-11,
      3.1842478720250315e-12,
      7.401045989713535e-13,
      -2.1153502669131463e-13,
      2.655919239960905e-14,
      -7.025291264527167e-16,
      -4.339586958009012e-16,
      1.0583507269353032e-16,
      -1.1385816876992305e-17
    },
    0.0962962962962963,
    0.16296296296296295
  },
  {
    {
      0.036691881497644734,
      0.027888941391814935,
      0.003974549212687695,
      0.0002715266512105239,
      2.3797626951819117e-05,
      3.422813454436401e-06,
      3.9210812700050945e-07,
      5.451342389246796e-08,
      7.630582787377174e-09,
      1.0642235220240798e-09,
      1.580515761670509e-10,
      2.3087444716435312e-11,
      3.480158435736902e-12,
      5.272167251380022e-13,
      8.05698823630463e-14,
      1.2436666280146724e-14,
      1.932265111803666e-15,
      3.380542373809803e-16,
      4.8030156241107846e-17
    },
    0.16296296296296295,
    0.22962962962962963
  },
  {
    {
      0.09807361548934067,
      0.03140331546583538,
      0.0023425610291630955,
      0.0001748056758866679,
      1.8480646404825905e-05,
      2.210790222235623e-06,
      2.8286844096486047e-07,
      3.8038013492475153e-08,
      5.2915361961961005e-09,
      7.554389618198709e-10,
      1.1004225222016606e-10,
      1.6290535326951572e-11,
      2.443793865186672e-12,
      3.706427526006806e-13,
      5.67323965583455e-14,
      8.677086826835989e-15,
      1.353951672999898e-15,
      3.0357660829594124e-16,
      3.209238430557093e-17
    },
    0.22962962962962963,
    0.26296296296296295
  },
  {
    {
      0.15708895435350148,
      0.026473214602337546,
      0.0015096794373112487,
      0.00012167462420701724,
      1.2944662426067101e-05,
      1.5482932451916717e-06,
      1.987328542198824e-07,
      2.6746493632726076e-08,
      3.7241364748974437e-09,
      5.31994449361195e-10,
      7.753074050820263e-11,
      1.1481976827654172e-11,
      1.7230132251522257e-12,
      2.6130746871855237e-13,
      4.001920322904695e-14,
      6.041174505089231e-15,
      9.497611030973019e-16,
      2.697495005143935e-16,
      2.2985086056692694e-17
    },
    0.26296296296296295,
    0.2796296296296296
  },
  {
    {
      0.20464143088991663,
      0.02037941444367245,
      0.0010233677370924937,
      8.527036209769225e-05,
      9.098480032524933e-06,
      1.0899862908780866e-06,
      1.4004471174042243e-07,
      1.8859509351779047e-08,
      2.627095993870676e-09,
      3.754003670419781e-10,
      5.472267257389252e-11,
      8.105812895897735e-12,
      1.2166136154068141e-12,
      1.8451386252227309e-13,
      2.827425793494598e-14,
      4.210173876195711e-15,
      6.886852199627924e-16,
      2.3418766925686896e-16,
      -3.469446951953614e-18
    },
    0.2796296296296296,
    0.287962962962963
  },
  {
    {
      0.2405791169899757,
      0.015094667641419904,
      0.0007096529008297752,
      6.0000237077412547e-05,
      6.413720740528275e-06,
      7.690254484101627e-07,
      9.885537929910093e-08,
      1.331681581152877e-08,
      1.8554129257303265e-09,
      2.651727292607431e-10,
      3.8659369108740016e-11,
      5.727075064188014e-12,
      8.597150769062978e-13,
      1.303020191745219e-13,
      1.9978810272824887e-14,
      2.831068712794149e-15,
      4.666406150377611e-16,
      2.8622937353617317e-16,
      1.1275702593849246e-17
    },
    0.287962962962963,
    0.29212962962962963
  },
  {
    {
      0.26696049015665074,
      0.010968687650483065,
      0.0004972041585612832,
      4.231831304510672e-05,
      4.5280991004606475e-06,
      5.431755610851852e-07,
      6.98405883993447e-08,
      9.409722064035453e-09,
      1.3111869472115512e-09,
      1.874077785318784e-10,
      2.732374916603053e-11,
      4.048053559024822e-12,
      6.078245545770855e-13,
      9.212769436217627e-14,
      1.4092893518835581e-14,
      1.93421667571414e-15,
      3.0184188481996443e-16,
      2.393918396847994e-16,
      3.642919299551295e-17
    },
    0.29212962962962963,
    0.29421296296296295
  },
  {
    {
      0.2860388317887753,
      0.007887981700325456,
      0.00035002791393559315,
      2.9884657820819505e-05,
      3.199334514061153e-06,
      3.8386783914393097e-07,
      4.936325074221537e-08,
      6.651310417368772e-09,
      9.268703131393163e-10,
      1.3248275219923666e-10,
      1.9316418256587475e-11,
      2.8617264807850873e-12,
      4.2971702585159477e-13,
      6.502437477351464e-14,
      9.985068327722502e-15,
      1.4536982728685643e-15,
      2.463307335887066e-16,
      3.937822290467352e-16,
      1.3877787807814457e-17
    },
    0.29421296296296295,
    0.2952546296296296
  },
  {
    {
      0.2997208026355501,
      0.005638316441575676,
      0.00024697716181993484,
      2.1117785516101134e-05,
      2.2613802245774473e-06,
      2.713593515168977e-07,
      3.4897480762768884e-08,
      4.702349017116081e-09,
      6.552976390683529e-10,
      9.366720593595446e-11,
      1.3657262820654381e-11,
      2.023738815415399e-12,
      3.0388191962771316e-13,
      4.5428938388880624e-14,
      7.004813395994347e-15,
      8.222589276130066e-16,
      1.6653345369377348e-16,
      3.5041414214731503e-16,
      1.214306433183765e-17
    },
    0.2952546296296296,
    0.295775462962963
  },
  {
    {
      0.3094842337937238,
      0.004015403659434553,
      0.00017445598394503006,
      1.4927612592627315e-05,
      1.598722008659681e-06,
      1.918530815638031e-07,
      2.4673554175486112e-08,
      3.3247667709235262e-09,
      4.633306065204845e-10,
      6.622874818007496e-11,
      9.656650479250573e-12,
      1.4308033924326224e-12,
      2.1489754420400686e-13,
      3.2085445411667024e-14,
      4.933553565678039e-15,
      3.157196726277789e-16,
      1.0408340855860843e-16,
      3.5735303605122226e-16,
      -3.469446951953614e-18
    },
    0.295775462962963,
    0.29603587962962963
  },
  {
    {
      0.3164300310090633,
      0.002852942467447068,
      0.00012329521096597976,
      1.0553674902311072e-05,
      1.1303556508510115e-06,
      1.356510815030132e-07,
      1.744588605176456e-08,
      2.35086013503083e-09,
      3.276116843087262e-10,
      4.6828395328102346e-11,
      6.8279583376185116e-12,
      1.0120272675440134e-12,
      1.523364767663793e-13,
      2.2915697117653622e-14,
      3.4208746946262636e-15,
      5.169475958410885e-16,
      -5.898059818321144e-17,
      1.0755285551056204e-16,
      1.1275702593849246e-16
    },
    0.29603587962962963,
    0.29616608796296295
  },
  {
    {
      0.3213616216197866,
      0.002023925878183369,
      8.716056319137827e-05,
      7.461958998724455e-06,
      7.992427072528452e-07,
      9.5916427661491e-08,
      1.2335767528987018e-08,
      1.662271934682602e-09,
      2.316522806911081e-10,
      3.3113272540630234e-11,
      4.828210747875872e-12,
      7.152750614025649e-13,
      1.0757367219227376e-13,
      1.6459056340067946e-14,
      2.4875934645507414e-15,
      -2.8796409701215e-16,
      1.734723475976807e-17,
      4.0245584642661925e-16,
      8.673617379884035e-18
    },
    0.29616608796296295,
    0.2962311921296296
  },
  {
    {
      0.32485857647079686,
      0.0014343498375109544,
      6.162399381036757e-05,
      5.27618390287754e-06,
      5.651359926105159e-07,
      6.782196385404782e-08,
      8.722585830706064e-09,
      1.1753904828604167e-09,
      1.6380142034422285e-10,
      2.3414967881274507e-11,
      3.4141717231150892e-12,
      5.062547603351675e-13,
      7.616823838318965e-14,
      1.1230599783473849e-14,
      1.7832957333041577e-15,
      3.7470027081099033e-16,
      6.938893903907228e-18,
      -2.185751579730777e-16,
      -4.336808689942018e-17
    },
    0.2962311921296296,
    0.296263744212963
  },
  {
    {
      0.3273360915970311,
      0.0010158203926102366,
      4.357198950115382e-05,
      3.7307483612414316e-06,
      3.9960656192036814e-07,
      4.795694848874765e-08,
      6.167757533870333e-09,
      8.311230384472346e-10,
      1.1582474909732632e-10,
      1.6557578225162572e-11,
      2.414311806031577e-12,
      3.581648866379794e-13,
      5.39950029132541e-14,
      8.791578576250458e-15,
      1.2351231148954867e-15,
      -8.847089727481716e-16,
      -1.1102230246251565e-16,
      -5.551115123125783e-16,
      -7.112366251504909e-17
    },
    0.296263744212963,
    0.29628002025462963
  },
  {
    {
      0.3290903207332936,
      0.0007190748744181456,
      3.080907898764598e-05,
      2.6380102197860744e-06,
      2.8256276604285424e-07,
      3.391053608747807e-08,
      4.3612495316536215e-09,
      5.876913573843456e-10,
      8.189969188943103e-11,
      1.1706732805372155e-11,
      1.7067146307336856e-12,
      2.552090483387559e-13,
      3.920475055707584e-14,
      2.9976021664879227e-15,
      1.0408340855860843e-16,
      -2.7755575615628914e-16,
      -4.891920202254596e-16,
      8.708311849403572e-16,
      5.863365348801608e-16
    },
    0.29628002025462963,
    0.29628815827546295
  },
  {
    {
      0.3303319160946099,
      0.0005088500431879688,
      2.178496652304948e-05,
      1.8653452835380724e-06,
      1.998014318195518e-07,
      2.39783138934746e-08,
      3.0838626687013093e-09,
      4.1555842447693614e-10,
      5.791174831348833e-11,
      8.2747732277344e-12,
      1.2066458943138514e-12,
      1.7669546381604562e-13,
      2.7006175074006933e-14,
      5.43315392675936e-15,
      8.916478666520788e-16,
      1.3530843112619095e-15,
      -5.898059818321144e-17,
      -2.0643209364124004e-15,
      -2.0990154059319366e-16
    },
    0.29628815827546295,
    0.2962922272858796
  },
  {
    {
      0.3312104361553831,
      0.0003600037890292736,
      1.5404176808297282e-05,
      1.3189948922485983e-06,
      1.412807293793561e-07,
      1.695521050990023e-08,
      2.1806181235706212e-09,
      2.9384080932337575e-10,
      4.094972624879567e-11,
      5.85331783042875e-12,
      8.538031393001688e-13,
      1.289766904388756e-13,
      1.903685542536948e-14,
      -1.1622647289044608e-15,
      9.367506770274758e-17,
      -2.6020852139652106e-16,
      5.551115123125783e-17,
      9.957312752106873e-16,
      5.551115123125783e-17
    },
    0.2962922272858796,
    0.296294261791088
  },
  {
    {
      0.331831931854538,
      0.00025465693727301855,
      1.0892355242906465e-05,
      9.326690283938122e-07,
      9.990048491226311e-08,
      1.1989139896140255e-08,
      1.541930194637331e-09,
      2.0778642001451075e-10,
      2.8956680803160495e-11,
      4.138932252484295e-12,
      6.032882526874062e-13,
      8.537268114672258e-14,
      1.3461454173580023e-14,
      3.986394547794703e-15,
      4.787836793695988e-16,
      -2.6020852139652106e-16,
      -2.7755575615628914e-16,
      -2.789435349370706e-15,
      -2.7755575615628914e-16
    },
    0.296294261791088,
    0.29629527904369213
  },
  {
    {
      0.33254766786859097,
      0.0005250329541100184,
      0.00010585696841291029,
      4.5948894997410034e-05,
      2.5987955723599104e-05,
      1.6924206122436586e-05,
      1.2054006867219524e-05,
      9.143024898339985e-06,
      7.271484406146805e-06,
      6.0039811284016975e-06,
      5.112767082184055e-06,
      4.469487214910778e-06,
      3.997564041510054e-06,
      3.6492975524389515e-06,
      3.394053607587433e-06,
      3.2118298484914987e-06,
      3.0896085961538977e-06,
      3.0192461833444817e-06,
      1.4981339496820262e-06
    },
    0.29629527904369213,
    0.2962962962962963
  }
}
};

const auto SRK_p = SuperAncillary{
{
  {
    {
      2.9225473692726744e-13,
      4.846211782171669e-13,
      2.824570002653489e-13,
      1.1955110559200177e-13,
      3.771710795961595e-14,
      9.009392578047045e-15,
      1.6354246747926244e-15,
      2.2297564454973646e-16,
      2.1977303354380907e-17,
      1.4079420760456038e-18,
      3.645901247485968e-20,
      -2.3224668904548756e-21,
      -2.1119277731077838e-22,
      1.3269831236005753e-24,
      7.111685153229056e-25,
      2.0749322108366765e-27,
      -2.355803670950289e-27,
      1.89511506527704e-29,
      -1.203321029253145e-29
    },
    0.020267685653535945,
    0.02596797224359293
  },
  {
    {
      4.42411833611544e-11,
      6.486786260066829e-11,
      2.8834316573742172e-11,
      8.49036232570771e-12,
      1.7382606171711586e-12,
      2.519225194793423e-13,
      2.5510836572731127e-14,
      1.688802065855514e-15,
      5.658115744876586e-17,
      -7.526264008617426e-19,
      -1.3472892665001768e-19,
      -9.922698129701787e-22,
      2.6795301476514526e-22,
      2.2940832430296035e-24,
      -5.789860391087721e-25,
      1.1649897848303902e-26,
      2.589988124021626e-26,
      5.472801416061292e-26,
      2.268132874691453e-26
    },
    0.02596797224359293,
    0.03166825883364991
  },
  {
    {
      1.3403609277725988e-08,
      2.0613817317201788e-08,
      9.908855672700315e-09,
      3.1242347660239074e-09,
      6.566525761190694e-10,
      8.934527720041564e-11,
      6.864947922093292e-12,
      1.0961157691701013e-13,
      -2.552558822185046e-14,
      -1.0755067059569204e-15,
      1.1595758568473605e-16,
      4.364935105515505e-18,
      -6.518267188981206e-19,
      -2.420947626615306e-21,
      3.3222352209999887e-21,
      -1.4160136552428753e-22,
      -1.0359144702519558e-23,
      3.0017608947725106e-24,
      -1.1502980393315541e-24
    },
    0.03166825883364991,
    0.04306883201376388
  },
  {
    {
      3.6266120105336493e-06,
      5.40530078063072e-06,
      2.3535707621866956e-06,
      6.09797026711632e-07,
      8.755959081374292e-08,
      4.4744907993962915e-09,
      -4.067655714209484e-10,
      -3.591728379118743e-11,
      4.465366516258063e-12,
      1.6493814952480902e-13,
      -5.3226243319885286e-14,
      1.7922687946152793e-15,
      4.005718486965302e-16,
      -4.988684915276682e-17,
      4.789814152406683e-19,
      4.147268524381617e-19,
      -4.591183271914325e-20,
      4.350970022028926e-22,
      -1.0629270871306406e-21
    },
    0.04306883201376388,
    0.06586997837399182
  },
  {
    {
      0.0003094297409003984,
      0.0004117661948641284,
      0.0001333784156235523,
      1.953127675250332e-05,
      4.4650824621707415e-07,
      -1.245752753612688e-07,
      6.1713045177982556e-09,
      8.457787641085228e-10,
      -2.019178315130611e-10,
      1.671511339141844e-11,
      7.461694230598466e-13,
      -4.260132318823111e-13,
      6.171897036311516e-14,
      -3.212145765269425e-15,
      -5.836180885150665e-16,
      1.719715110942645e-16,
      -2.147440279526465e-17,
      8.273394312306379e-19,
      2.34734005507848e-19
    },
    0.06586997837399182,
    0.1114722710944477
  },
  {
    {
      0.0074771598568592074,
      0.008244590094104293,
      0.0017465545422224592,
      9.786738241774412e-05,
      -6.516977077872878e-06,
      3.2958650511163794e-07,
      1.5363696321735632e-08,
      -7.20353161771562e-09,
      1.2861343701874766e-09,
      -1.6587511786082245e-10,
      1.5108394000934097e-11,
      -3.6747905743763146e-13,
      -2.33340277167645e-13,
      7.039936125372015e-14,
      -1.3651690997269761e-14,
      2.071300487897776e-15,
      -2.45029690981724e-16,
      2.15485181781494e-17,
      1.4026865606531214e-18
    },
    0.1114722710944477,
    0.20267685653535944
  }
}
};
const auto SRK_rhoL = SuperAncillary{
{
  {
    {
      0.9087646203247287,
      -0.050607640245558645,
      -0.0008181930140446145,
      -3.676466126572436e-05,
      -1.8153449552124612e-06,
      -4.2148973304623194e-08,
      8.967883102783958e-09,
      5.813281384048352e-10,
      -3.659740635542086e-10,
      -4.441783746367278e-11,
      1.5951594212193498e-11,
      1.7195689316906737e-12,
      -9.141229440068344e-13,
      -1.4432899320127035e-14,
      5.0730253331465747e-14,
      -6.987466161234579e-15,
      -1.8318679906315083e-15,
      1.5126788710517758e-15,
      -1.734723475976807e-17
    },
    0.020267685653535945,
    0.06586997837399182
  },
  {
    {
      0.7992363370107459,
      -0.059445681918569984,
      -0.0014502328603496623,
      -7.138164945971748e-05,
      -3.2189087307149533e-06,
      -2.486464586864967e-07,
      -2.4319133658246006e-08,
      -1.044768556390796e-09,
      -1.3343107174712543e-10,
      -1.679712618996021e-11,
      2.2661039711380226e-13,
      -1.6726897644758765e-13,
      -1.0783041126671833e-14,
      1.4363510381087963e-15,
      -4.0245584642661925e-16,
      -7.28583859910259e-16,
      -4.85722573273506e-17,
      7.632783294297951e-16,
      1.734723475976807e-17
    },
    0.06586997837399182,
    0.1114722710944477
  },
  {
    {
      0.6649628598972782,
      -0.0760521559973085,
      -0.002952854145734922,
      -0.0002237665443423284,
      -2.2837440018151633e-05,
      -2.7674939431024392e-06,
      -3.5249351108129767e-07,
      -4.743986068561634e-08,
      -6.602545343792343e-09,
      -9.417646246179245e-10,
      -1.37257025190074e-10,
      -2.031076695718781e-11,
      -3.0466879019641624e-12,
      -4.624911564832246e-13,
      -7.074202335033419e-14,
      -1.1532441668293814e-14,
      -1.7277845820728999e-15,
      3.885780586188048e-16,
      -2.42861286636753e-17
    },
    0.1114722710944477,
    0.15707456381490356
  },
  {
    {
      0.5358548459176075,
      -0.051616853474821534,
      -0.0019014483430589563,
      -0.0001522452155350712,
      -1.6138121186740073e-05,
      -1.9310179919518333e-06,
      -2.4780931559553743e-07,
      -3.3348723178783235e-08,
      -4.64304821673478e-09,
      -6.632207977252946e-10,
      -9.664995193059411e-11,
      -1.4312308282971031e-11,
      -2.1472545963518996e-12,
      -3.260794412263124e-13,
      -4.987676938128516e-14,
      -8.229528170033973e-15,
      -1.2004286453759505e-15,
      3.469446951953614e-16,
      -2.0816681711721685e-17
    },
    0.15707456381490356,
    0.1798757101751315
  },
  {
    {
      0.4485732937583308,
      -0.03477837295500611,
      -0.00128197185101675,
      -0.00010638749439246392,
      -1.1344133512683485e-05,
      -1.3588779068512968e-06,
      -1.7457610832632975e-07,
      -2.350823218033593e-08,
      -3.2744967258524493e-09,
      -4.678942372438044e-10,
      -6.820332146273422e-11,
      -1.0101888076041732e-11,
      -1.5157701482859665e-12,
      -2.302880108828731e-13,
      -3.522182545623309e-14,
      -5.863365348801608e-15,
      -8.500145032286355e-16,
      3.0878077872387166e-16,
      -1.9081958235744878e-17
    },
    0.1798757101751315,
    0.19127628335524546
  },
  {
    {
      0.3896887959074917,
      -0.02352363480040463,
      -0.0008864377996999455,
      -7.48085471366268e-05,
      -7.994798847377887e-06,
      -9.585173595394458e-07,
      -1.2320694868853121e-07,
      -1.6596597669088498e-08,
      -2.312318735792074e-09,
      -3.3046667832770105e-10,
      -4.817745855034694e-11,
      -7.136409518881948e-12,
      -1.0708690878491467e-12,
      -1.627031842588167e-13,
      -2.490022077417109e-14,
      -4.173744683200198e-15,
      -5.93275428784068e-16,
      3.0184188481996443e-16,
      -1.214306433183765e-17
    },
    0.19127628335524546,
    0.19697656994530244
  },
  {
    {
      0.3497350745917645,
      -0.016032294782450524,
      -0.0006202549276113981,
      -5.274770800074019e-05,
      -5.643402364315098e-06,
      -6.769284142359167e-07,
      -8.70356488269497e-08,
      -1.17262048994482e-08,
      -1.6339517863728226e-09,
      -2.3353845593487854e-10,
      -3.404898932246603e-11,
      -5.04390973432578e-12,
      -7.568771998034407e-13,
      -1.1509196373715724e-13,
      -1.7600504387260685e-14,
      -3.084338340286763e-15,
      -4.440892098500626e-16,
      2.8449465006019636e-16,
      -3.469446951953614e-18
    },
    0.19697656994530244,
    0.19982671324033094
  },
  {
    {
      0.3224124351709759,
      -0.011013634884520482,
      -0.00043639529901024973,
      -3.724427437728703e-05,
      -3.986980578418037e-06,
      -4.783591501592022e-07,
      -6.151332742135307e-08,
      -8.288353604141152e-09,
      -1.1549863634940927e-09,
      -1.6508804739912009e-10,
      -2.4069971710227733e-11,
      -3.5656928798477594e-12,
      -5.350303533546708e-13,
      -8.137934770502397e-14,
      -1.2437967322753707e-14,
      -2.203098814490545e-15,
      -3.157196726277789e-16,
      2.5673907444456745e-16,
      0.0
    },
    0.19982671324033094,
    0.20125178488784518
  },
  {
    {
      0.30358578390142943,
      -0.0076188736955520135,
      -0.0003078315487315582,
      -2.6316343990171603e-05,
      -2.8179719795684566e-06,
      -3.381439433146338e-07,
      -4.348579207141823e-08,
      -5.8595724626575585e-09,
      -8.165597746578879e-10,
      -1.1671785066225127e-10,
      -1.701778301610446e-11,
      -2.5209348497590156e-12,
      -3.7829808730016623e-13,
      -5.745404152435185e-14,
      -8.739536871971154e-15,
      -1.5508427875232655e-15,
      -1.9081958235744878e-16,
      2.671474153004283e-16,
      -3.642919299551295e-17
    },
    0.20125178488784518,
    0.2019643207116023
  },
  {
    {
      0.29052982685479933,
      -0.005300319842511697,
      -0.00021741216965811758,
      -1.8601576619783206e-05,
      -1.99216392636134e-06,
      -2.390659452899957e-07,
      -3.0745310054813846e-08,
      -4.142926245120915e-09,
      -5.773458308655499e-10,
      -8.252584726697876e-11,
      -1.2032597140887447e-11,
      -1.7825428633155838e-12,
      -2.674006849279209e-13,
      -4.087702398791748e-14,
      -6.238065619612598e-15,
      -1.2177758801357186e-15,
      -1.457167719820518e-16,
      3.5735303605122226e-16,
      1.214306433183765e-17
    },
    0.2019643207116023,
    0.20232058862348087
  },
  {
    {
      0.281429493928621,
      -0.00370348431999927,
      -0.00015364397898540855,
      -1.3150855018025098e-05,
      -1.408515659318682e-06,
      -1.6903172642135367e-07,
      -2.1738876799376472e-08,
      -2.929343496937964e-09,
      -4.0822773633708564e-10,
      -5.835245481256024e-11,
      -8.508027615761193e-12,
      -1.2602800747441023e-12,
      -1.8902587828328876e-13,
      -2.898029038966854e-14,
      -4.3923198411732756e-15,
      -6.83481049534862e-16,
      -7.28583859910259e-17,
      6.210310043996969e-16,
      3.642919299551295e-17
    },
    0.20232058862348087,
    0.20249872257942014
  },
  {
    {
      0.27506157036291856,
      -0.0025962448144549836,
      -0.00010861133767400138,
      -9.298192002037131e-06,
      -9.959154303774975e-07,
      -1.1951873122098555e-07,
      -1.5371233163044562e-08,
      -2.0713067025446286e-09,
      -2.886544493013732e-10,
      -4.1260670227694085e-11,
      -6.015958564642432e-12,
      -8.912228594004645e-13,
      -1.3355809513893036e-13,
      -1.9872992140790302e-14,
      -3.0531133177191805e-15,
      -7.181755190543981e-16,
      -8.500145032286355e-17,
      2.96637714392034e-16,
      2.6020852139652106e-18
    },
    0.20249872257942014,
    0.2025877895573898
  },
  {
    {
      0.2705926697847878,
      -0.0018244565862979688,
      -7.678880274703502e-05,
      -6.574507803324206e-06,
      -7.04198907909917e-07,
      -8.451082581135971e-08,
      -1.0868935571006766e-08,
      -1.4646166258958093e-09,
      -2.0410736989440181e-10,
      -2.9175961993588295e-11,
      -4.253862886938187e-12,
      -6.296716620335374e-13,
      -9.435334458185451e-14,
      -1.411544492402328e-14,
      -2.1076890233118206e-15,
      1.1622647289044608e-16,
      -1.3877787807814457e-17,
      2.0816681711721685e-16,
      -6.071532165918825e-18
    },
    0.2025877895573898,
    0.20263232304637463
  },
  {
    {
      0.26744977424244143,
      -0.0012843645575066134,
      -5.4294008668638594e-05,
      -4.6487705078930575e-06,
      -4.979368752669466e-07,
      -5.97575837875397e-08,
      -7.685439108034986e-09,
      -1.035633939716618e-09,
      -1.4432471884262554e-10,
      -2.0630074037963908e-11,
      -3.0077728502275747e-12,
      -4.461934294264225e-13,
      -6.715808464896611e-14,
      -1.0720591081536668e-14,
      -1.4190038033490282e-15,
      -4.440892098500626e-16,
      1.8735013540549517e-16,
      8.378714388967978e-16,
      -1.214306433183765e-16
    },
    0.20263232304637463,
    0.20265458979086703
  },
  {
    {
      0.2652360092057196,
      -0.0009053089022688643,
      -3.839029629034568e-05,
      -3.2871387625962867e-06,
      -3.5209208477243736e-07,
      -4.2254784272249823e-08,
      -5.434404972901041e-09,
      -7.32300850167511e-10,
      -1.0205274299235345e-10,
      -1.458767828754759e-11,
      -2.126882003850028e-12,
      -3.151055805172831e-13,
      -4.713764101271778e-14,
      -7.455841499748317e-15,
      -1.1188966420050406e-15,
      -4.2500725161431774e-16,
      -1.9081958235744878e-17,
      4.0072112295064244e-16,
      1.734723475976807e-17
    },
    0.20265458979086703,
    0.20266572316311324
  },
  {
    {
      0.2636749575957985,
      -0.0006387083278175353,
      -2.7145557162256556e-05,
      -2.324344536088624e-06,
      -2.4896583217942636e-07,
      -2.9878569729469007e-08,
      -3.8426970945526495e-09,
      -5.178131846916845e-10,
      -7.21618736987395e-11,
      -1.0313611076284701e-11,
      -1.5037519840443991e-12,
      -2.2252685805135286e-13,
      -3.314015728506092e-14,
      -3.944761184371259e-15,
      -7.4593109467002705e-16,
      -1.061650767297806e-15,
      -7.28583859910259e-17,
      3.1051550219984847e-16,
      -8.673617379884035e-19
    },
    0.20266572316311324,
    0.20267128984923632
  },
  {
    {
      0.26257329202514273,
      -0.0004509124480249222,
      -1.9194637512940163e-05,
      -1.6435549859191573e-06,
      -1.7604512139550443e-07,
      -2.11273140666296e-08,
      -2.7171948059623308e-09,
      -3.6615067228185083e-10,
      -5.1026160727274394e-11,
      -7.291847681223373e-12,
      -1.0631721197862376e-12,
      -1.570323732158485e-13,
      -2.3507237822961713e-14,
      -4.498137973207861e-15,
      -5.672545766444159e-16,
      3.8163916471489756e-16,
      -1.1622647289044608e-16,
      -1.5334955527634975e-15,
      -1.6046192152785466e-16
    },
    0.20267128984923632,
    0.20267407319229788
  },
  {
    {
      0.261795381349911,
      -0.00031848138784485065,
      -1.3572598294689722e-05,
      -1.1621671743376055e-06,
      -1.2448259038670695e-07,
      -1.493926039992932e-08,
      -1.921346123867629e-09,
      -2.5890705378228684e-10,
      -3.6080990625797504e-11,
      -5.1575497345135446e-12,
      -7.518204808709683e-13,
      -1.1052617154838629e-13,
      -1.6753959330984003e-14,
      -5.920611223508843e-15,
      -8.795048023202412e-16,
      -2.8033131371785203e-15,
      -1.5265566588595902e-16,
      1.177877240188252e-15,
      8.153200337090993e-17
    },
    0.20267407319229788,
    0.20267546486382865
  },
  {
    {
      0.2612458584790565,
      -0.00022501920934304802,
      -9.597255076118291e-06,
      -8.217756914414426e-07,
      -8.802244447041196e-08,
      -1.0563647579939217e-08,
      -1.358598145442813e-09,
      -1.83071792100864e-10,
      -2.551181141341452e-11,
      -3.646784263455771e-12,
      -5.306519113013053e-13,
      -7.894206122127656e-14,
      -1.3612375115990005e-14,
      -1.3461454173580023e-15,
      7.650130529057719e-16,
      -1.474514954580286e-16,
      6.262351748276274e-16,
      -3.9517000782751666e-15,
      -1.343543332144037e-15
    },
    0.20267546486382865,
    0.20267616069959404
  },
  {
    {
      0.26061394134803445,
      -0.0004632477727018712,
      -9.327071115945024e-05,
      -4.048564047778869e-05,
      -2.2898027861414927e-05,
      -1.4911944355367607e-05,
      -1.0620804294449865e-05,
      -8.055933548379093e-06,
      -6.4069163156280085e-06,
      -5.290117203090791e-06,
      -4.504867114365346e-06,
      -3.938072224525177e-06,
      -3.5222599736994126e-06,
      -3.2154018167716847e-06,
      -2.990505978434088e-06,
      -2.8299483429503752e-06,
      -2.7222590090695414e-06,
      -2.660262590837778e-06,
      -1.3200081928170515e-06
    },
    0.20267616069959404,
    0.20267685653535944
  }
}
};
const auto SRK_rhoV = SuperAncillary{
{
  {
    {
      1.147791769634607e-11,
      1.8883400952870644e-11,
      1.0781377594967363e-11,
      4.424169417038083e-12,
      1.340057930622405e-12,
      3.0392837657011474e-13,
      5.1611350145284516e-14,
      6.429591419258869e-15,
      5.526656713208219e-16,
      2.6838869757647005e-17,
      -7.144055741834159e-20,
      -9.585729650435423e-20,
      -3.2421103573493004e-21,
      2.5635377164771786e-22,
      1.5013435876237105e-23,
      -8.328903877850174e-25,
      -5.167748904012326e-26,
      3.2366962941218114e-27,
      -1.163964265653603e-27
    },
    0.020267685653535945,
    0.02596797224359293
  },
  {
    {
      1.4330520293934438e-09,
      2.0653900997266785e-09,
      8.861422337329386e-10,
      2.484390807063457e-10,
      4.771871094962088e-11,
      6.3539423424235915e-12,
      5.695290133656733e-13,
      3.041636735038608e-14,
      4.618066754497384e-16,
      -4.882537910833838e-17,
      -2.2626929302787274e-18,
      7.735800358738017e-20,
      5.494308515884454e-21,
      -1.9098299796206625e-22,
      -1.0551803468236254e-23,
      9.358288473073072e-25,
      8.243533350687156e-25,
      1.8130926610110065e-24,
      6.625926732877158e-25
    },
    0.02596797224359293,
    0.03166825883364991
  },
  {
    {
      3.216589566610815e-07,
      4.855615137205529e-07,
      2.2313237230527845e-07,
      6.564126429055284e-08,
      1.2457975717948848e-08,
      1.4356027589196413e-09,
      7.456366737354983e-11,
      -2.6879017209951425e-12,
      -4.739337426481451e-13,
      7.722229482544613e-15,
      2.5616030504147617e-15,
      -7.662739526444225e-17,
      -1.1817890172164798e-17,
      8.184648689324978e-19,
      2.707129500338779e-20,
      -5.7904193842360474e-21,
      1.4315394475995835e-22,
      8.504450672810816e-23,
      -2.4996364135586805e-23
    },
    0.03166825883364991,
    0.04306883201376388
  },
  {
    {
      5.7939913777071644e-05,
      8.379335832127809e-05,
      3.377936608738917e-05,
      7.637987852998414e-06,
      8.302628510075688e-07,
      1.4927574593586637e-09,
      -6.691320992196064e-09,
      1.2878253547929106e-10,
      7.094465860674562e-11,
      -5.0660797908678295e-12,
      -4.994533593074178e-13,
      9.317691594005963e-14,
      -1.768263545468354e-15,
      -8.453117101310306e-16,
      9.273541699666695e-17,
      -5.0145673966434665e-19,
      -7.953374676921863e-19,
      8.536503921547246e-20,
      -1.495542547495874e-20
    },
    0.04306883201376388,
    0.06586997837399182
  },
  {
    {
      0.0031631846269420103,
      0.003982211787182989,
      0.0011297528144810199,
      0.00012650572507611033,
      -5.2717473574936e-07,
      -1.4260061216196563e-07,
      1.3326423389224526e-07,
      -8.09481292393274e-09,
      -4.78981067790718e-10,
      3.091240719345703e-10,
      -4.0682128710022676e-11,
      1.5201595949913826e-12,
      6.298290797186528e-13,
      -1.5266145620318645e-13,
      1.6769319426449512e-14,
      2.1858532236844475e-17,
      -3.670075175840268e-16,
      7.421194464073827e-17,
      -6.8516495103400354e-18
    },
    0.06586997837399182,
    0.1114722710944477
  },
  {
    {
      0.02527054526018694,
      0.01958885465789757,
      0.0029253705571776014,
      0.00022445447854577003,
      2.1127284490167714e-05,
      2.925789705565077e-06,
      3.436409961475248e-07,
      4.7523257336800576e-08,
      6.65800338960857e-09,
      9.32793360239846e-10,
      1.3817232769183438e-10,
      2.024545819618445e-11,
      3.049514308607615e-12,
      4.623933614472664e-13,
      7.069220426050848e-14,
      1.0914066959216706e-14,
      1.6929274822274909e-15,
      2.8888566885876266e-16,
      4.003416521902725e-17
    },
    0.1114722710944477,
    0.15707456381490356
  },
  {
    {
      0.06954212908713689,
      0.023253617876107757,
      0.0018817558019952863,
      0.00015099612130791773,
      1.6119981407421245e-05,
      1.9323965214038813e-06,
      2.477548253195308e-07,
      3.3350354563480705e-08,
      4.6430122303299515e-09,
      6.632208966045328e-10,
      9.665026374713892e-11,
      1.4312801378119078e-11,
      2.1476913129869768e-12,
      3.25807089640584e-13,
      4.9888478764748e-14,
      7.651431571664702e-15,
      1.1947907940790259e-15,
      2.40692882291782e-16,
      2.3635607360183997e-17
    },
    0.15707456381490356,
    0.1798757101751315
  },
  {
    {
      0.11419041805449423,
      0.020521580327712844,
      0.0012740772212567466,
      0.0001062161198180098,
      1.1343925939054193e-05,
      1.3588982222490983e-06,
      1.7457566693114546e-07,
      2.3508239255405627e-08,
      3.274496806517091e-09,
      4.678940377506047e-10,
      6.82035469767861e-11,
      1.0102339971507224e-11,
      1.5161908187288908e-12,
      2.3003040444669054e-13,
      3.523483588230292e-14,
      5.3507545616504615e-15,
      8.448103328007051e-16,
      2.393918396847994e-16,
      2.0816681711721685e-17
    },
    0.1798757101751315,
    0.19127628335524546
  },
  {
    {
      0.15165818890499952,
      0.016369427376503674,
      0.0008840770152282037,
      7.478700795372859e-05,
      7.99480167670754e-06,
      9.58517782677533e-07,
      1.2320694370814012e-07,
      1.659659774975314e-08,
      2.3123189231422092e-09,
      3.3046648403867174e-10,
      4.817769534010141e-11,
      7.1368752921352474e-12,
      1.0712420533964817e-12,
      1.6248200701562965e-13,
      2.4886342986363275e-14,
      3.694961003830599e-15,
      5.924080670460796e-16,
      2.1337098754514727e-16,
      1.7780915628762273e-17
    },
    0.19127628335524546,
    0.19697656994530244
  },
  {
    {
      0.1808715039787546,
      0.0124478423701576,
      0.0006196163285778558,
      5.2745024120972456e-05,
      5.643402899935257e-06,
      6.769284248055868e-07,
      8.703564869511071e-08,
      1.1726204920264882e-08,
      1.6339519685187875e-09,
      2.335382477680614e-10,
      3.40492009587301e-11,
      5.044305251278303e-12,
      7.572241444986361e-13,
      1.1483695938618865e-13,
      1.7590096046404824e-14,
      2.5847379792054426e-15,
      4.198030811863873e-16,
      2.3765711620882257e-16,
      3.469446951953614e-18
    },
    0.19697656994530244,
    0.19982671324033094
  },
  {
    {
      0.202815039861727,
      0.00921945969494375,
      0.00043622961797678585,
      3.7243939807177565e-05,
      3.986980621388872e-06,
      4.783591503864509e-07,
      6.151332734329051e-08,
      8.28835361281477e-09,
      1.154986554313675e-09,
      1.6508787566149596e-10,
      2.4070209367343942e-11,
      3.5661248259932776e-12,
      5.35387706390722e-13,
      8.11677114409548e-14,
      1.2444906216657614e-14,
      1.7468665403086447e-15,
      2.8102520310824275e-16,
      2.3071822230491534e-16,
      6.938893903907228e-18
    },
    0.19982671324033094,
    0.20125178488784518
  },
  {
    {
      0.2189498032807097,
      0.006721284919406446,
      0.0003077893762559753,
      2.6316302236593578e-05,
      2.817971982508813e-06,
      3.381439431966726e-07,
      4.3485791989886224e-08,
      5.859572497352028e-09,
      8.165599741510876e-10,
      1.16717652903775e-10,
      1.701801546905024e-11,
      2.5213789389688657e-12,
      3.7863462365450573e-13,
      5.725107887766256e-14,
      8.748210489351038e-15,
      1.0911410663894117e-15,
      1.682681771697503e-16,
      2.237793284010081e-16,
      3.209238430557093e-17
    },
    0.20125178488784518,
    0.2019643207116023
  },
  {
    {
      0.23065921854671798,
      0.004851398420450417,
      0.00021740153263174328,
      1.8601571405155864e-05,
      1.9921639265139957e-06,
      2.3906594516856505e-07,
      3.074531000103742e-08,
      4.142926290223725e-09,
      5.773459800517688e-10,
      8.252565471267292e-11,
      1.2032836532727131e-11,
      1.7829522580559143e-12,
      2.677597726874481e-13,
      4.066538772384831e-14,
      6.241535066564552e-15,
      7.580741590018647e-16,
      1.3530843112619095e-16,
      1.5612511283791264e-16,
      -9.540979117872439e-18
    },
    0.2019643207116023,
    0.20232058862348087
  },
  {
    {
      0.23908612939229767,
      0.0034789916333673055,
      0.00015364130799821497,
      1.3150854366506329e-05,
      1.4085156592926612e-06,
      1.6903172630859664e-07,
      2.173887675774311e-08,
      2.9293435507143917e-09,
      4.0822789593164543e-10,
      5.835226572770136e-11,
      8.508240986748739e-12,
      1.2606964083783367e-12,
      1.8938843548976791e-13,
      2.8749572167363624e-14,
      4.397524011601206e-15,
      2.5847379792054426e-16,
      4.5102810375396984e-17,
      -9.540979117872439e-17,
      -2.862293735361732e-17
    },
    0.20232058862348087,
    0.20249872257942014
  },
  {
    {
      0.24511730390452105,
      0.002483990450115506,
      0.0001086106684613404,
      9.298191920630028e-06,
      9.959154303011697e-07,
      1.1951873112384104e-07,
      1.537123309712507e-08,
      2.0713067459127155e-09,
      2.8865461930427383e-10,
      4.126050022479344e-11,
      6.016184078694309e-12,
      8.916461319286029e-13,
      1.339206523454095e-13,
      1.9670029494101016e-14,
      3.0687258290029718e-15,
      2.6020852139652106e-16,
      7.112366251504909e-17,
      2.0296264668928643e-16,
      -8.673617379884035e-19
    },
    0.20249872257942014,
    0.2025877895573898
  },
  {
    {
      0.24941782042567914,
      0.0017683273954829087,
      7.678863526062486e-05,
      6.57450779313444e-06,
      7.041989078648142e-07,
      8.45108257072763e-08,
      1.086893550855672e-08,
      1.4646166571208319e-09,
      2.0410752775423813e-10,
      2.9175781582346794e-11,
      4.254084931543112e-12,
      6.301330984781472e-13,
      9.470722817095378e-14,
      1.391421700080997e-14,
      2.114627917215728e-15,
      -5.585809592645319e-16,
      -1.214306433183765e-17,
      2.8622937353617317e-16,
      3.469446951953614e-18
    },
    0.2025877895573898,
    0.20263232304637463
  },
  {
    {
      0.2524765215536145,
      0.0012562994595141843,
      5.429396677408306e-05,
      4.648770506642322e-06,
      4.979368752443952e-07,
      5.975758369559936e-08,
      7.685439031707153e-09,
      1.0356339657374702e-09,
      1.4432488711080271e-10,
      2.0629898830892834e-11,
      3.0079948948324997e-12,
      4.4662190612498875e-13,
      6.752064185544526e-14,
      1.0500281200087613e-14,
      1.4103301859691442e-15,
      -1.734723475976807e-17,
      -1.8908485888147197e-16,
      -3.4867941867133823e-16,
      1.2663481374630692e-16
    },
    0.20263232304637463,
    0.20265458979086703
  },
  {
    {
      0.2546481887862289,
      0.0008912762275735033,
      3.839028581376948e-05,
      3.287138762469652e-06,
      3.5209208471866094e-07,
      4.225478415602335e-08,
      5.434404913920443e-09,
      7.32300886596704e-10,
      1.02052919934148e-10,
      1.4587508284646944e-11,
      2.1270849664967173e-12,
      3.1551150581066167e-13,
      4.750713711310084e-14,
      7.212980213111564e-15,
      1.1084883011491797e-15,
      -6.591949208711867e-17,
      1.734723475976807e-18,
      9.367506770274758e-17,
      -9.540979117872439e-18
    },
    0.20265458979086703,
    0.20266572316311324
  },
  {
    {
      0.2561881913448183,
      0.0006316919590384738,
      2.7145554542667982e-05,
      2.3243445360920933e-06,
      2.4896583211350687e-07,
      2.9878569618446704e-08,
      3.842697030367881e-09,
      5.178132280597714e-10,
      7.216204023219319e-11,
      1.0313451481724911e-11,
      1.5039688244788962e-12,
      2.2294839585601522e-13,
      3.350444921501605e-14,
      3.740063814205996e-15,
      7.407269242420966e-16,
      5.967448757360216e-16,
      6.591949208711867e-17,
      1.8908485888147197e-16,
      -7.806255641895632e-18
    },
    0.20266572316311324,
    0.20267128984923632
  },
  {
    {
      0.2572793323524821,
      0.00044740425577668823,
      1.919463685796409e-05,
      1.6435549859573212e-06,
      1.7604512135387107e-07,
      2.1127313966015637e-08,
      2.717194729634498e-09,
      3.661506878943621e-10,
      5.1026320321834184e-11,
      7.29169849500444e-12,
      1.0634045727320185e-12,
      1.5748687076655443e-13,
      2.3859386688585005e-14,
      4.270889197854899e-15,
      5.672545766444159e-16,
      -8.448103328007051e-16,
      9.71445146547012e-17,
      2.0105445086571194e-15,
      1.448494102440634e-16
    },
    0.20267128984923632,
    0.20267407319229788
  },
  {
    {
      0.2580519807368856,
      0.0003167272897560327,
      1.3572598130872846e-05,
      1.1621671743965861e-06,
      1.2448259037282916e-07,
      1.4939260268090337e-08,
      1.921346066621754e-09,
      2.589070850073094e-10,
      3.6081145016186866e-11,
      5.157388405230279e-12,
      7.520546685402252e-13,
      1.1097546492866428e-13,
      1.7126924878319016e-14,
      5.67774993687209e-15,
      8.673617379884035e-16,
      2.3071822230491534e-15,
      1.43982048506075e-16,
      -6.661338147750939e-16,
      -7.892991815694472e-17
    },
    0.20267407319229788,
    0.20267546486382865
  },
  {
    {
      0.2585988724599927,
      0.00022414215980744862,
      9.597255035097285e-06,
      8.217756915021579e-07,
      8.802244440969664e-08,
      1.0563647474121085e-08,
      1.358598076053874e-09,
      1.8307183026478047e-10,
      2.5511984885762118e-11,
      3.646605586937746e-12,
      5.308739559062303e-13,
      7.936012957898697e-14,
      1.395758508770939e-14,
      1.1587952819525071e-15,
      -7.546047120499111e-16,
      -3.0704605524789486e-16,
      -6.401129626354418e-16,
      4.4374226515486725e-15,
      1.3426759704060487e-15
    },
    0.20267546486382865,
    0.20267616069959404
  },
  {
    {
      0.2592290354916159,
      0.00046237072283881325,
      9.327071111846566e-05,
      4.04856404778442e-05,
      2.2898027861355946e-05,
      1.4911944355256584e-05,
      1.0620804294380476e-05,
      8.055933548441543e-06,
      6.4069163158222975e-06,
      5.29011720291038e-06,
      4.504867114601269e-06,
      3.9380722249553884e-06,
      3.522259974053296e-06,
      3.215401816561783e-06,
      2.9905059784306187e-06,
      2.829948342482e-06,
      2.7222590090452553e-06,
      2.66026259132697e-06,
      1.3200081928118473e-06
    },
    0.20267616069959404,
    0.20267685653535944
  }
}
};

const auto PR_p = SuperAncillary{
{
  {
    {
      4.2115936784941e-14,
      7.082139279778615e-14,
      4.281441668412217e-14,
      1.9123012372347713e-14,
      6.460328562307523e-15,
      1.6765603431288853e-15,
      3.36292637163962e-16,
      5.1860921648633566e-17,
      6.0107675456840275e-18,
      4.93726813515645e-19,
      2.4083621285564296e-20,
      9.47616424537102e-23,
      -7.1051225501406e-23,
      -3.0677436333050444e-24,
      1.4628333292452202e-25,
      1.2639227645878215e-26,
      -3.8533659659909825e-28,
      -3.5261080979808146e-29,
      3.32550323497344e-30
    },
    0.01701444200703503,
    0.021799753821513633
  },
  {
    {
      8.938956773181632e-12,
      1.3439327305351806e-11,
      6.288329039800055e-12,
      1.9826748553822934e-12,
      4.414511850216345e-13,
      7.088859014953733e-14,
      8.181698505611952e-15,
      6.527653757029151e-16,
      3.162152136162365e-17,
      4.279990806191533e-19,
      -4.6206272928403434e-20,
      -2.0797341030133568e-21,
      6.177896652744867e-23,
      4.7788231227984526e-24,
      -1.3861706054362575e-25,
      -1.4215273512082633e-26,
      -1.669229675447661e-27,
      4.487040828897115e-27,
      7.7150596530614955e-28
    },
    0.021799753821513633,
    0.026585065635992236
  },
  {
    {
      4.085507279084059e-09,
      6.410401559266648e-09,
      3.231824978266208e-09,
      1.0923069013593605e-09,
      2.52024445187971e-10,
      3.905509723141962e-11,
      3.73471874979177e-12,
      1.5022634999916855e-13,
      -8.12601770161866e-15,
      -9.644616840775853e-16,
      2.3559108130823366e-17,
      4.723565049544365e-18,
      -1.6713754821230258e-19,
      -1.9677138009092646e-20,
      1.4426017766021298e-21,
      3.847561149043651e-23,
      -1.0404785039052024e-23,
      1.3764802380765226e-24,
      4.620579202932928e-25
    },
    0.026585065635992236,
    0.03615568926494944
  },
  {
    {
      1.6349625391332918e-06,
      2.489669257624972e-06,
      1.1427314989998866e-06,
      3.2189532774728283e-07,
      5.2973211090187104e-08,
      3.881322341579814e-09,
      -1.402363237723129e-10,
      -3.26068965484856e-11,
      1.5764214067874998e-12,
      2.669115963311214e-13,
      -2.6973487736840458e-14,
      -1.1725895938982276e-15,
      3.409623244140794e-16,
      -1.3374770488526952e-17,
      -2.1340688015269687e-18,
      3.0499875924358835e-19,
      -9.006032316747658e-21,
      5.945360652724886e-23,
      7.708806321111372e-22
    },
    0.03615568926494944,
    0.05529693652286385
  },
  {
    {
      0.00018641763706717313,
      0.0002549265195801485,
      8.796517801636943e-05,
      1.4493063101704085e-05,
      5.93659937733161e-07,
      -8.865727397666071e-08,
      1.5453090824947498e-09,
      1.0034143700587606e-09,
      -1.473603817532662e-10,
      4.333381441536222e-12,
      1.903659250210749e-12,
      -3.854457196096114e-13,
      2.9156300395036635e-14,
      2.2880752244019054e-15,
      -9.628463327642823e-16,
      1.2770440460045229e-16,
      -4.453540417985501e-18,
      -1.6186270226437646e-18,
      3.6149778002037437e-19
    },
    0.05529693652286385,
    0.09357943103869266
  },
  {
    {
      0.005448712641404622,
      0.0062362159058999755,
      0.001443947803998351,
      0.00010960884095892343,
      -2.254571049831034e-06,
      3.108042103893788e-07,
      3.183233642737454e-08,
      -6.3983755658182065e-09,
      1.1291747205506315e-09,
      -1.183401464725808e-10,
      7.412891426996499e-12,
      7.92415429334923e-13,
      -3.6369037393225306e-13,
      7.890138331101762e-14,
      -1.258085161656014e-14,
      1.5166023276634577e-15,
      -1.0518116325825e-16,
      -6.600080725005508e-18,
      5.5294310796760726e-18
    },
    0.09357943103869266,
    0.1701444200703503
  }
}
};
const auto PR_rhoL = SuperAncillary{
{
  {
    {
      0.9207205305399191,
      -0.045064618991104796,
      -0.0010750229061558397,
      -4.150471723450566e-05,
      -2.0449656082804912e-06,
      -8.411570305566496e-08,
      2.630701059769258e-09,
      7.618859571012493e-10,
      -1.2385135972348138e-10,
      -4.380963647410141e-11,
      3.6138314563061158e-12,
      2.0083795737591004e-12,
      -2.442004931602071e-13,
      -8.769374115757955e-14,
      2.0539125955565396e-14,
      1.4155343563970746e-15,
      -1.4502288259166107e-15,
      9.645062526431047e-16,
      4.85722573273506e-17
    },
    0.01701444200703503,
    0.05529693652286385
  },
  {
    {
      0.8199443180127295,
      -0.056330799734005496,
      -0.0018219491199177318,
      -8.821642822268161e-05,
      -4.3808005871781575e-06,
      -2.7804292488525784e-07,
      -2.5617864357618814e-08,
      -1.4936050521385802e-09,
      -1.1656688808647786e-10,
      -1.80864212495635e-11,
      -3.4572344986827375e-13,
      -7.897849041427207e-14,
      -1.9761969838327786e-14,
      1.0269562977782698e-15,
      -1.5265566588595902e-16,
      -7.91033905045424e-16,
      -2.7755575615628914e-17,
      8.049116928532385e-16,
      2.0816681711721685e-17
    },
    0.05529693652286385,
    0.09357943103869266
  },
  {
    {
      0.6880146598953387,
      -0.07711229066058617,
      -0.0036751053290779087,
      -0.00027023163542316125,
      -2.612667202559621e-05,
      -3.0579327836427472e-06,
      -3.869841956188891e-07,
      -5.180305783641925e-08,
      -7.196452149471622e-09,
      -1.0250969587066727e-09,
      -1.492256387902735e-10,
      -2.2068007143882795e-11,
      -3.3078817462950383e-12,
      -5.018416238122825e-13,
      -7.670947210769441e-14,
      -1.2490009027033011e-14,
      -1.887379141862766e-15,
      3.5388358909926865e-16,
      -2.7755575615628914e-17
    },
    0.09357943103869266,
    0.13186192555452148
  },
  {
    {
      0.5539049274549523,
      -0.05513150079759916,
      -0.00226486529446273,
      -0.00017169038790523783,
      -1.771968913242411e-05,
      -2.1044071880221837e-06,
      -2.6937613983174513e-07,
      -3.620174487267702e-08,
      -5.035860249635871e-09,
      -7.188804967972473e-10,
      -1.0471176703497065e-10,
      -1.5500455086137066e-11,
      -2.3248417080345973e-12,
      -3.5293989952833726e-13,
      -5.399847236020605e-14,
      -8.854028621385623e-15,
      -1.2975731600306517e-15,
      2.8449465006019636e-16,
      -4.5102810375396984e-17
    },
    0.13186192555452148,
    0.1510031728124359
  },
  {
    {
      0.459674826377972,
      -0.03799561202969537,
      -0.0014593552334729865,
      -0.00011667442436243125,
      -1.2328894690105674e-05,
      -1.4734787574105512e-06,
      -1.89107481913392e-07,
      -2.5449463390836424e-08,
      -3.5434242970366903e-09,
      -5.061691760177567e-10,
      -7.376567759398434e-11,
      -1.0923841692322966e-11,
      -1.6389077595047041e-12,
      -2.489328188026718e-13,
      -3.807371085073896e-14,
      -6.283168429987995e-15,
      -9.055256544598933e-16,
      3.0531133177191805e-16,
      -2.2551405187698492e-17
    },
    0.1510031728124359,
    0.16057379644139308
  },
  {
    {
      0.39512265522451157,
      -0.025874636107352526,
      -0.000981657847521144,
      -8.126867623134762e-05,
      -8.658142312312905e-06,
      -1.0370940123176353e-06,
      -1.3324415930673905e-07,
      -1.794336704219468e-08,
      -2.4994516144294376e-09,
      -3.5715819884929445e-10,
      -5.20629060696276e-11,
      -7.711369737206653e-12,
      -1.157088314052146e-12,
      -1.7580381594939354e-13,
      -2.6891683324592464e-14,
      -4.472117121068209e-15,
      -6.314393452555578e-16,
      2.636779683484747e-16,
      -1.734723475976807e-17
    },
    0.16057379644139308,
    0.1653591082558717
  },
  {
    {
      0.3511712698170222,
      -0.01762984199424723,
      -0.0006775212105428925,
      -5.710620124233304e-05,
      -6.102283057512342e-06,
      -7.316593272181648e-07,
      -9.405098579107207e-08,
      -1.2669533731163307e-08,
      -1.7652206779628088e-09,
      -2.5228212227612623e-10,
      -3.67796765265993e-11,
      -5.448200918189983e-12,
      -8.175543575461575e-13,
      -1.2424436479641088e-13,
      -1.8981344274138223e-14,
      -3.202299536653186e-15,
      -4.440892098500626e-16,
      3.191891195797325e-16,
      -3.122502256758253e-17
    },
    0.1653591082558717,
    0.167751764163111
  },
  {
    {
      0.3211597705559426,
      -0.012077354670507117,
      -0.00047368246685701096,
      -4.0264768868699535e-05,
      -4.308027496135319e-06,
      -5.167712383395695e-07,
      -6.644526837421005e-08,
      -8.952242693677226e-09,
      -1.247437774604121e-09,
      -1.7829611051456418e-10,
      -2.5995025576541764e-11,
      -3.8507357025263644e-12,
      -5.778121037192108e-13,
      -8.784639682346551e-14,
      -1.3433698597964394e-14,
      -2.373101715136272e-15,
      -3.365363543395006e-16,
      1.2836953722228372e-16,
      -2.2551405187698492e-17
    },
    0.167751764163111,
    0.16894809211673065
  },
  {
    {
      0.30054357607263954,
      -0.008327461617588218,
      -0.00033318306039584883,
      -2.8432365464115678e-05,
      -3.043795371863306e-06,
      -3.652042762300467e-07,
      -4.696313324337176e-08,
      -6.3279062684218346e-09,
      -8.818025996892853e-10,
      -1.260411150449947e-10,
      -1.8376970084554856e-11,
      -2.7223640008955385e-12,
      -4.0846839799435486e-13,
      -6.197126145579546e-14,
      -9.492406860545088e-15,
      -1.7208456881689926e-15,
      -2.393918396847994e-16,
      2.5673907444456745e-16,
      -8.673617379884035e-18
    },
    0.16894809211673065,
    0.16954625609354046
  },
  {
    {
      0.2862916733850893,
      -0.005776207912322414,
      -0.00023501417597186075,
      -2.0091122712718318e-05,
      -2.151427414113366e-06,
      -2.581648955793381e-07,
      -3.320061314066036e-08,
      -4.473697898244033e-09,
      -6.234334853916224e-10,
      -8.9112786594292e-11,
      -1.2992894954377832e-11,
      -1.9243946713931592e-12,
      -2.8871002810682e-13,
      -4.3874626154405405e-14,
      -6.7133798520302435e-15,
      -1.2906342661267445e-15,
      -1.5612511283791264e-16,
      3.0878077872387166e-16,
      1.734723475976807e-18
    },
    0.16954625609354046,
    0.16984533808194538
  },
  {
    {
      0.2763847311775531,
      -0.004026323535076086,
      -0.00016598517183828362,
      -1.4201795987777571e-05,
      -1.520984803850961e-06,
      -1.8252416650321734e-07,
      -2.3473785675659498e-08,
      -3.1630968764378986e-09,
      -4.408004100620033e-10,
      -6.300811088155722e-11,
      -9.186814503570062e-12,
      -1.3607726057074387e-12,
      -2.0409195167214733e-13,
      -3.113134749987978e-14,
      -4.758346494604382e-15,
      -9.957312752106873e-16,
      -1.682681771697503e-16,
      -2.445960101127298e-16,
      -4.2500725161431774e-17
    },
    0.16984533808194538,
    0.16999487907614785
  },
  {
    {
      0.2694673741877153,
      -0.0028173393805495644,
      -0.00011730308752334363,
      -1.004050356021198e-05,
      -1.0753911961810386e-06,
      -1.290548921391993e-07,
      -1.6597556396977242e-08,
      -2.236546208650436e-09,
      -3.1168101606582344e-10,
      -4.4551562092265407e-11,
      -6.495835119801896e-12,
      -9.626032609899582e-13,
      -1.4432725847779437e-13,
      -2.216109240560371e-14,
      -3.3948538424866115e-15,
      -1.0026701691145945e-15,
      -1.5092094240998222e-16,
      -2.7582103268031233e-16,
      -4.7704895589362195e-17
    },
    0.16999487907614785,
    0.17006964957324908
  },
  {
    {
      0.264620888720384,
      -0.001977082335539313,
      -8.2923124407136e-05,
      -7.099113954002478e-06,
      -7.603784178723816e-07,
      -9.125234246010194e-08,
      -1.1735920570424274e-08,
      -1.581440811637691e-09,
      -2.2038751899822184e-10,
      -3.1502528016758014e-11,
      -4.593121022411495e-12,
      -6.799057844508738e-13,
      -1.0198439315267649e-13,
      -1.6341095143701523e-14,
      -2.426878142891553e-15,
      -6.210310043996969e-16,
      -5.898059818321144e-17,
      4.527628272299467e-16,
      1.3010426069826053e-17
    },
    0.17006964957324908,
    0.17010703482179967
  },
  {
    {
      0.2612166158875983,
      -0.001390391541082515,
      -5.862766135761137e-05,
      -5.019621645544273e-06,
      -5.376553057923755e-07,
      -6.452400296876049e-08,
      -8.298434496858964e-09,
      -1.1182347825489103e-09,
      -1.558359847414481e-10,
      -2.227549741884438e-11,
      -3.247855109855813e-12,
      -4.816719939571001e-13,
      -7.213847574849552e-14,
      -1.1423154089307275e-14,
      -1.7156415177410622e-15,
      -5.048045315092509e-16,
      -7.632783294297951e-17,
      -9.367506770274758e-17,
      -3.209238430557093e-17
    },
    0.17010703482179967,
    0.170125727446075
  },
  {
    {
      0.2588208891336881,
      -0.0009793198302267478,
      -4.145328900037257e-05,
      -3.5493342854138465e-06,
      -3.8017496464121114e-07,
      -4.562495321824844e-08,
      -5.867838735740261e-09,
      -7.907071299800839e-10,
      -1.1019215748198086e-10,
      -1.5751122628415715e-11,
      -2.296527551459704e-12,
      -3.4033192930493783e-13,
      -5.1030360492809734e-14,
      -9.162809400109495e-15,
      -1.2975731600306517e-15,
      -4.354155924701786e-16,
      -1.3010426069826053e-16,
      -8.690964614643804e-16,
      -9.107298248878237e-17
    },
    0.170125727446075,
    0.17013507375821263
  },
  {
    {
      0.25713261899860995,
      -0.0006905565301747237,
      -2.931094851913764e-05,
      -2.509732105073978e-06,
      -2.688226164813262e-07,
      -3.226156955644932e-08,
      -4.149175109394165e-09,
      -5.591129538518036e-10,
      -7.791681362612213e-11,
      -1.1135805819129097e-11,
      -1.6232518801340134e-12,
      -2.40765740677773e-13,
      -3.687848637579094e-14,
      -5.707240235963695e-15,
      -4.597017211338539e-16,
      -1.2160411566597418e-15,
      2.203098814490545e-16,
      -1.2923689896027213e-15,
      -5.828670879282072e-16
    },
    0.17013507375821263,
    0.17013974691428146
  },
  {
    {
      0.2559417264393482,
      -0.0004873303221206906,
      -2.0725636255014904e-05,
      -1.7746393138461797e-06,
      -1.900857017015506e-07,
      -2.2812321970669402e-08,
      -2.933903902810342e-09,
      -3.9535087530129243e-10,
      -5.5095764756041277e-11,
      -7.875578661442617e-12,
      -1.1483054090932754e-12,
      -1.7132302521094545e-13,
      -2.5521251778570786e-14,
      -4.4114017994090204e-15,
      -6.29704621779581e-16,
      -3.0184188481996443e-16,
      1.8561541192951836e-16,
      2.534430998402115e-15,
      1.951563910473908e-16
    },
    0.17013974691428146,
    0.17014208349231588
  },
  {
    {
      0.2551010899484165,
      -0.0003441099749644915,
      -1.465512048574695e-05,
      -1.254856211765562e-06,
      -1.3441067886650615e-07,
      -1.613073148838684e-08,
      -2.0745819472034466e-09,
      -2.7955775715182707e-10,
      -3.895907554896105e-11,
      -5.572540692777572e-12,
      -8.118037492232943e-13,
      -1.156644224842296e-13,
      -1.7319479184152442e-14,
      -6.123573870198129e-16,
      -6.765421556309548e-17,
      1.5838025335668249e-15,
      2.5326962749261384e-16,
      1.56472057533108e-15,
      1.1622647289044608e-16
    },
    0.17014208349231588,
    0.1701432517813331
  },
  {
    {
      0.25450739757424595,
      -0.0002430797888991077,
      -1.0362693722733643e-05,
      -8.873161782604194e-07,
      -9.50426266178167e-08,
      -1.1406137241307124e-08,
      -1.4669526513660935e-09,
      -1.976803373771041e-10,
      -2.754695430096099e-11,
      -3.937652287566706e-12,
      -5.726478319312278e-13,
      -8.348009783443189e-14,
      -1.5083420623618338e-14,
      -2.8484159475539172e-15,
      9.280770596475918e-16,
      -8.326672684688674e-17,
      1.0928757898653885e-15,
      -1.9723805921856297e-15,
      -1.4632392519864368e-15
    },
    0.1701432517813331,
    0.1701438359258417
  },
  {
    {
      0.25382485353286033,
      -0.0005003082472470298,
      -0.00010070946646463866,
      -4.371453981542178e-05,
      -2.472424034292986e-05,
      -1.6101233343186055e-05,
      -1.1467857101349344e-05,
      -8.698427342242881e-06,
      -6.917894183581727e-06,
      -5.7120257463023905e-06,
      -4.864148734601281e-06,
      -4.252149622345491e-06,
      -3.803174641357071e-06,
      -3.471843289028567e-06,
      -3.2290110822119633e-06,
      -3.0556483156078673e-06,
      -2.9393703138338306e-06,
      -2.8724294233051922e-06,
      -1.425284251615512e-06
    },
    0.1701438359258417,
    0.1701444200703503
  }
}
};
const auto PR_rhoV = SuperAncillary{
{
  {
    {
      1.967544593078315e-12,
      3.286395018856467e-12,
      1.951259019068106e-12,
      8.480414006053818e-13,
      2.7638255525455143e-13,
      6.855112175816157e-14,
      1.2987941190221208e-14,
      1.8596645822713178e-15,
      1.9425469025161906e-16,
      1.3440422453482796e-17,
      4.1371292677837237e-19,
      -2.0472087922962698e-20,
      -2.3984414514408427e-21,
      -1.0726839771583605e-23,
      8.190099610752978e-24,
      1.4834694490433158e-25,
      -2.890640271333655e-26,
      -1.2318556073091862e-28,
      2.6437933681383566e-28
    },
    0.01701444200703503,
    0.021799753821513633
  },
  {
    {
      3.4427283919277603e-10,
      5.10033605480091e-10,
      2.3125713682061785e-10,
      6.97923116109859e-11,
      1.468781950176213e-11,
      2.192555878654968e-12,
      2.289969778559488e-13,
      1.563184655125417e-14,
      5.345224322369889e-16,
      -8.665670712890633e-18,
      -1.4805111905363385e-18,
      -1.2881526260516941e-20,
      3.1913825586258806e-21,
      4.0303951255023627e-23,
      -7.672322324660242e-24,
      -2.068961273341252e-25,
      -4.90734591919887e-26,
      1.348005514841665e-25,
      2.4183319910455338e-26
    },
    0.021799753821513633,
    0.026585065635992236
  },
  {
    {
      1.1651253109754791e-07,
      1.799247246805057e-07,
      8.718524363492525e-08,
      2.7723805947266338e-08,
      5.859084478366607e-09,
      7.937371730144063e-10,
      5.851825200412916e-11,
      3.5459917618408365e-13,
      -2.840460099622861e-13,
      -9.001110583611441e-15,
      1.453688138264624e-15,
      4.153752300772462e-17,
      -8.493292717205814e-18,
      1.0460073661948098e-20,
      4.4932489647971677e-20,
      -2.1592128174018962e-21,
      -1.6723265540349414e-22,
      6.45330124762073e-23,
      1.344814730252227e-23
    },
    0.026585065635992236,
    0.03615568926494944
  },
  {
    {
      3.098979961669226e-05,
      4.5977523083262384e-05,
      1.9714735728750365e-05,
      4.9340743435473964e-06,
      6.495334627828851e-07,
      2.0013065084957464e-08,
      -4.62369606718499e-09,
      -1.6742776075828521e-10,
      5.6102600385966035e-11,
      -2.1810195956609656e-13,
      -6.246733592709029e-13,
      4.045717710917202e-14,
      3.97102187587516e-15,
      -7.21043417103846e-16,
      1.9805582453051167e-17,
      4.946315069940491e-18,
      -6.192935810062008e-19,
      5.64732747802203e-20,
      1.2579762755706445e-20
    },
    0.03615568926494944,
    0.05529693652286385
  },
  {
    {
      0.0005902854802776641,
      0.0006119857879876187,
      0.000137226493734894,
      1.3534511317666194e-05,
      2.5757985750152563e-07,
      -3.0381140235968494e-08,
      1.4660600077037917e-09,
      1.4064389556322658e-10,
      -1.7247649444289924e-11,
      4.829482286631236e-13,
      7.904912957394129e-14,
      -9.965950794102972e-15,
      3.496086138144762e-16,
      3.581424707580633e-17,
      -5.7462715141731735e-18,
      5.929230630780102e-20,
      6.776263578034403e-21,
      5.166900978251232e-19,
      1.1858461261560205e-20
    },
    0.05529693652286385,
    0.07443818378077825
  },
  {
    {
      0.0034551514866857118,
      0.002398865145025046,
      0.0003121082643740536,
      1.5218984619397858e-05,
      9.690936261096291e-08,
      1.2913919961681083e-08,
      1.4096536882115922e-09,
      -3.3114702454217944e-11,
      2.594155481248396e-12,
      1.6231949866250123e-13,
      -1.3332379904945624e-14,
      1.0818033751788803e-15,
      -1.3362791775883842e-17,
      -2.2497195079074217e-18,
      -9.486769009248164e-20,
      -1.2197274440461925e-18,
      -2.303929616531697e-19,
      3.6591823321385775e-18,
      3.9979955110402976e-19
    },
    0.07443818378077825,
    0.09357943103869266
  },
  {
    {
      0.020288628115803765,
      0.016610099415744563,
      0.00272192651625002,
      0.0002394799179501481,
      2.3315294231581688e-05,
      3.169727025417485e-06,
      3.793923939678003e-07,
      5.156601162595916e-08,
      7.275292876224738e-09,
      1.0148922060279446e-09,
      1.5007760583319457e-10,
      2.202715483970441e-11,
      3.3070396464676688e-12,
      5.021763712330374e-13,
      7.666279720416891e-14,
      1.1847890290378471e-14,
      1.843794214528849e-15,
      3.1604493327952454e-16,
      4.651227319962814e-17
    },
    0.09357943103869266,
    0.13186192555452148
  },
  {
    {
      0.059633242372117805,
      0.021523786193835045,
      0.001926244019335927,
      0.00016436263238290855,
      1.7587241022322224e-05,
      2.103887459802955e-06,
      2.692872191701126e-07,
      3.6202589339100893e-08,
      5.035822049290206e-09,
      7.188798449749012e-10,
      1.0471208969353718e-10,
      1.5500948181285112e-11,
      2.3252866646061854e-12,
      3.5267275211303684e-13,
      5.3994569232385103e-14,
      8.295447662121092e-15,
      1.2962721174236691e-15,
      2.658463726934457e-16,
      3.230922474006803e-17
    },
    0.13186192555452148,
    0.1510031728124359
  },
  {
    {
      0.10209461339960167,
      0.020078909930632285,
      0.0013564703941337276,
      0.00011554892995170075,
      1.2319437775788929e-05,
      1.4734155808103153e-06,
      1.8910621422518065e-07,
      2.5449462346532892e-08,
      3.5434243221901807e-09,
      5.06168969585663e-10,
      7.376593953722921e-11,
      1.0924287516256292e-11,
      1.6393041438189648e-12,
      2.4869169223951104e-13,
      3.807978238290488e-14,
      5.776629175002768e-15,
      9.063930161978817e-16,
      2.411265631607762e-16,
      2.0383000842727483e-17
    },
    0.1510031728124359,
    0.16057379644139308
  },
  {
    {
      0.1393729010835231,
      0.016593251298797226,
      0.0009532795808090732,
      8.111304465426971e-05,
      8.657481578122454e-06,
      1.037091311451195e-06,
      1.332441384432198e-07,
      1.794336703699051e-08,
      2.4994517905038705e-09,
      3.571580193054147e-10,
      5.2063129848956e-11,
      7.711812959054765e-12,
      1.157456075429053e-12,
      1.7556355674797075e-13,
      2.688300970721258e-14,
      3.9968028886505635e-15,
      6.323067069935462e-16,
      2.2985086056692694e-16,
      1.5178830414797062e-17
    },
    0.16057379644139308,
    0.1653591082558717
  },
  {
    {
      0.1692940156782449,
      0.012902057653797903,
      0.0006700678810102369,
      5.7085725788112024e-05,
      6.102239057614867e-06,
      7.316592307484576e-07,
      9.405098538861623e-08,
      1.266953380749114e-08,
      1.7652208635782207e-09,
      2.5228192451764997e-10,
      3.677991071426856e-11,
      5.448613782377265e-12,
      8.179099758587327e-13,
      1.240327285323417e-13,
      1.8984813721090177e-14,
      2.7564756033271465e-15,
      4.215378046623641e-16,
      2.0122792321330962e-16,
      2.688821387764051e-17
    },
    0.1653591082558717,
    0.167751764163111
  },
  {
    {
      0.1921856564900402,
      0.00969084706538421,
      0.0004717724978338892,
      4.026214237729843e-05,
      4.308024652975584e-06,
      5.167712350106352e-07,
      6.644526831522946e-08,
      8.952242742249483e-09,
      1.2474379341986808e-09,
      1.7829594398111048e-10,
      2.599524762114669e-11,
      3.851164179224931e-12,
      5.781538442439782e-13,
      8.762435221854048e-14,
      1.3431963874488417e-14,
      1.915134717478395e-15,
      3.2612801348363973e-16,
      3.2439329000766293e-16,
      2.3418766925686896e-17
    },
    0.167751764163111,
    0.16894809211673065
  },
  {
    {
      0.2092148975305195,
      0.007128445272373621,
      0.0003326996220906972,
      2.8432032853142192e-05,
      3.043795191084303e-06,
      3.652042760392271e-07,
      4.6963133177452265e-08,
      6.327906323932986e-09,
      8.818027766310799e-10,
      1.2604095198098797e-10,
      1.8377181720818925e-11,
      2.7227942123175808e-12,
      4.087806482200307e-13,
      6.178738076734192e-14,
      9.485467966641181e-15,
      1.2732870313669764e-15,
      2.237793284010081e-16,
      2.3418766925686896e-16,
      7.806255641895632e-18
    },
    0.16894809211673065,
    0.16954625609354046
  },
  {
    {
      0.22166645905817658,
      0.005175245300316345,
      0.0002348925657099949,
      2.0091080864132957e-05,
      2.1514274026867425e-06,
      2.581648954613769e-07,
      3.3200613073006147e-08,
      4.473697952020461e-09,
      6.234336501903526e-10,
      8.911260965249745e-11,
      1.299311526425928e-11,
      1.9248335564325814e-12,
      2.8905870752549134e-13,
      4.368554129552393e-14,
      6.711645128554267e-15,
      8.378714388967978e-16,
      1.5265566588595902e-16,
      1.8214596497756474e-16,
      -2.6020852139652106e-18
    },
    0.16954625609354046,
    0.16984533808194538
  },
  {
    {
      0.23067150083801227,
      0.003725476879880729,
      0.00016595467496789695,
      1.4201790739628434e-05,
      1.5209848030911521e-06,
      1.8252416639913394e-07,
      2.3473785595862218e-08,
      3.1630968937851334e-09,
      4.4080058700379787e-10,
      6.3007946082827e-11,
      9.187020935663703e-12,
      1.3611941435121011e-12,
      2.0445450887862648e-13,
      3.09127723419067e-14,
      4.751407600700475e-15,
      5.238864897449957e-16,
      1.491862189340054e-16,
      7.042977312465837e-16,
      4.163336342344337e-17
    },
    0.16984533808194538,
    0.16999487907614785
  },
  {
    {
      0.237137473422725,
      0.0026668244973612407,
      0.00011729545148811069,
      1.004050290311434e-05,
      1.0753911961168539e-06,
      1.290548920437895e-07,
      1.659755634146609e-08,
      2.2365462572226935e-09,
      3.116811773951067e-10,
      4.455141290604647e-11,
      6.496051960236393e-12,
      9.630022473894329e-13,
      1.446689990025618e-13,
      2.1937313077202703e-14,
      3.3931191190106347e-15,
      5.412337245047638e-16,
      1.3357370765021415e-16,
      7.268491364342822e-16,
      4.597017211338539e-17
    },
    0.16999487907614785,
    0.17006964957324908
  },
  {
    {
      0.24175815792274802,
      0.0019018019777060826,
      8.292121391923792e-05,
      7.0991138717956676e-06,
      7.603784178359524e-07,
      9.125234237510049e-08,
      1.17359205131784e-08,
      1.5814408688835657e-09,
      2.2038768553167554e-10,
      3.150234934023999e-11,
      4.593327454505136e-12,
      6.803307917024881e-13,
      1.023348072948238e-13,
      1.6110376921396607e-14,
      2.4338170367954604e-15,
      1.5265566588595902e-16,
      3.122502256758253e-17,
      3.642919299551295e-17,
      -1.3877787807814457e-17
    },
    0.17006964957324908,
    0.17010703482179967
  },
  {
    {
      0.24504950305352938,
      0.001352745629684961,
      5.862718355055703e-05,
      5.019621635323282e-06,
      5.376553057160477e-07,
      6.452400284732984e-08,
      8.298434437878366e-09,
      1.118234846733679e-09,
      1.5583615474434875e-10,
      2.227533782428459e-11,
      3.248068480843358e-12,
      4.820623067391949e-13,
      7.248195099673893e-14,
      1.1211517825238104e-14,
      1.7034984534092246e-15,
      6.418476861114186e-17,
      6.591949208711867e-17,
      5.533767888366015e-16,
      2.949029909160572e-17
    },
    0.17010703482179967,
    0.170125727446075
  },
  {
    {
      0.2473887591484516,
      0.0009604954409799197,
      4.1453169525423536e-05,
      3.5493342841735193e-06,
      3.8017496460478195e-07,
      4.5624953119369205e-08,
      5.867838671555492e-09,
      7.907071629398299e-10,
      1.1019232575015803e-10,
      1.5750949156068117e-11,
      2.296747861341153e-12,
      3.407586712800281e-13,
      5.137903991148107e-14,
      8.93209117780458e-15,
      1.2923689896027213e-15,
      -6.938893903907228e-18,
      1.1796119636642288e-16,
      1.3270634591222574e-15,
      9.627715291671279e-17
    },
    0.170125727446075,
    0.17013507375821263
  },
  {
    {
      0.2490487922516141,
      0.0006811439771107868,
      2.9310918647461326e-05,
      2.509732104961221e-06,
      2.6882261645530536e-07,
      3.226156947144787e-08,
      4.149175027862162e-09,
      5.591129972198905e-10,
      7.791697148595844e-11,
      1.113566183708059e-11,
      1.6234808636328424e-12,
      2.411647270772477e-13,
      3.721675745360642e-14,
      5.479991460610734e-15,
      4.753142324176451e-16,
      7.563394355258879e-16,
      -2.2724877535296173e-16,
      1.7572748811645056e-15,
      5.733261088103347e-16
    },
    0.17013507375821263,
    0.17013974691428146
  },
  {
    {
      0.2502255658692596,
      0.0004826239559720131,
      2.0725628786679925e-05,
      1.774639313863527e-06,
      1.9008570164603944e-07,
      2.2812321890872123e-08,
      2.933903833421403e-09,
      3.953508978526976e-10,
      5.5095907003366307e-11,
      7.875412127988923e-12,
      1.1485309231451524e-12,
      1.7173241995127597e-13,
      2.5854318685958333e-14,
      4.182418300580082e-15,
      6.245004513516506e-16,
      -1.4224732503009818e-16,
      -1.9255430583342559e-16,
      -2.048708425128609e-15,
      -2.0036056147532122e-16
    },
    0.17013974691428146,
    0.17014208349231588
  },
  {
    {
      0.25105914278296176,
      0.00034175676948506976,
      1.4655118618528765e-05,
      1.2548562118210732e-06,
      1.3441067884568947e-07,
      1.6130731377364538e-08,
      2.0745818743450606e-09,
      2.7955778143795573e-10,
      3.895922473517999e-11,
      5.572348138471739e-12,
      8.120119160404116e-13,
      1.1612238948188747e-13,
      1.7666423879347803e-14,
      4.0072112295064244e-16,
      5.724587470723463e-17,
      -2.0209528495129803e-15,
      -2.723515857283587e-16,
      -1.0651202142497596e-15,
      -1.1188966420050406e-16
    },
    0.17014208349231588,
    0.1701432517813331
  },
  {
    {
      0.25164930534191154,
      0.0002419031805581083,
      1.0362693255834554e-05,
      8.87316178307257e-07,
      9.50426266022042e-08,
      1.140613715977512e-08,
      1.4669525750382606e-09,
      1.976803529896154e-10,
      2.7547124303861636e-11,
      3.937477080495633e-12,
      5.728750807065808e-13,
      8.391204397995011e-14,
      1.5444243106621514e-14,
      2.6229018956769323e-15,
      -9.194034422677078e-16,
      -3.5735303605122226e-16,
      -1.0928757898653885e-15,
      2.4494295480792516e-15,
      1.4641066137244252e-15
    },
    0.1701432517813331,
    0.1701438359258417
  },
  {
    {
      0.2523294961628807,
      0.0004991316351717207,
      0.000100709465997776,
      4.37145398154426e-05,
      2.472424034286394e-05,
      1.6101233343113197e-05,
      1.1467857101271281e-05,
      8.698427342246351e-06,
      6.917894183770812e-06,
      5.712025746135857e-06,
      4.864148734845877e-06,
      4.252149622756621e-06,
      3.80317464170922e-06,
      3.4718432888186657e-06,
      3.229011082201555e-06,
      3.055648315165513e-06,
      2.9393703138234223e-06,
      2.872429423783976e-06,
      1.4252842516137773e-06
    },
    0.1701438359258417,
    0.1701444200703503
  }
}
};

static inline double supercubic(int EOS, int prop, double Ttilde){
    switch(EOS){
        case 0:{
            switch(prop){
                case 100:
                    return vdW_p.y(Ttilde);
                case 101:
                    return vdW_rhoL.y(Ttilde);
                case 102:
                    return vdW_rhoV.y(Ttilde);
                default:
                    return -2;
            }
        }
        case 1:{
            switch(prop){
                case 100:
                    return SRK_p.y(Ttilde);
                case 101:
                    return SRK_rhoL.y(Ttilde);
                case 102:
                    return SRK_rhoV.y(Ttilde);
                default:
                    return -2;
            }
        }
        case 2:{
            switch(prop){
                case 100:
                    return PR_p.y(Ttilde);
                case 101:
                    return PR_rhoL.y(Ttilde);
                case 102:
                    return PR_rhoV.y(Ttilde);
                default:
                    return -2;
            }
        }
        default:
            return -1;
    }
}

const int VDW_CODE = 0, SRK_CODE = 1, PR_CODE = 2;
const int P_CODE = 100, RHOL_CODE = 101, RHOV_CODE = 102;

}; // namespace CubicSuperAncillary

}; // namespace teqp