From a48f64e01849af2a26fe1f5538cd1777acb18ea8 Mon Sep 17 00:00:00 2001 From: couriersud Date: Sat, 13 Jun 2020 15:48:14 +0200 Subject: netlist: Improve static solver performance by 5%. [Couriersud] Use a more condensed matrix format for go, gt and Id matrices. In addition, optimize the static compilation code. --- src/lib/netlist/generated/static_solvers.cpp | 27955 +++++++++++++++---------- src/lib/netlist/plib/pmatrix2d.h | 99 + src/lib/netlist/prg/nltool.cpp | 5 +- src/lib/netlist/solver/nld_matrix_solver.cpp | 11 + src/lib/netlist/solver/nld_matrix_solver.h | 7 + src/lib/netlist/solver/nld_ms_gcr.h | 51 +- 6 files changed, 16685 insertions(+), 11443 deletions(-) diff --git a/src/lib/netlist/generated/static_solvers.cpp b/src/lib/netlist/generated/static_solvers.cpp index 98987a2b086..54f87598b0d 100644 --- a/src/lib/netlist/generated/static_solvers.cpp +++ b/src/lib/netlist/generated/static_solvers.cpp @@ -1,4850 +1,7319 @@ #include "plib/pdynlib.h" -// gamemachine -static void nl_gcr_111d6ad4781c136_19_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// konami1x +static void nl_gcr_105d3ecb773843b6_49_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A8 = gt[32] + gt[33] + gt[34]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A10 = gt[40] + gt[41] + gt[42]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[41] * *cnV[41] - go[42] * *cnV[42]; - m_A18 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54]; - m_A17 = m_A17 + go[48]; - m_A16 = m_A16 + go[49]; - m_A15 = m_A15 + go[50]; - m_A14 = m_A14 + go[51]; - m_A13 = m_A13 + go[52]; - m_A12 = m_A12 + go[53]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[54] * *cnV[54]; -const double f0 = 1.0 / m_A0; - const double f0_6 = -f0 * m_A12; - m_A18 += m_A1 * f0_6; - RHS6 += f0_6 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_6 = -f1 * m_A13; - m_A18 += m_A3 * f1_6; - RHS6 += f1_6 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_6 = -f2 * m_A14; - m_A18 += m_A5 * f2_6; - RHS6 += f2_6 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_6 = -f3 * m_A15; - m_A18 += m_A7 * f3_6; - RHS6 += f3_6 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_6 = -f4 * m_A16; - m_A18 += m_A9 * f4_6; - RHS6 += f4_6 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_6 = -f5 * m_A17; - m_A18 += m_A11 * f5_6; - RHS6 += f5_6 * RHS5; - V[6] = RHS6 / m_A18; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A7 += go[6]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + RHS3 -= go[7] * *cnV[7]; + m_A8 += gt[8]; + m_A8 += gt[9]; + m_A9 += go[8]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + RHS4 -= go[9] * *cnV[9]; + m_A10 += gt[10]; + m_A10 += gt[11]; + m_A11 += go[10]; + double RHS5 = Idr[10]; + RHS5 += Idr[11]; + RHS5 -= go[11] * *cnV[11]; + m_A12 += gt[12]; + m_A12 += gt[13]; + m_A13 += go[12]; + double RHS6 = Idr[12]; + RHS6 += Idr[13]; + RHS6 -= go[13] * *cnV[13]; + m_A14 += gt[14]; + m_A14 += gt[15]; + m_A15 += go[14]; + double RHS7 = Idr[14]; + RHS7 += Idr[15]; + RHS7 -= go[15] * *cnV[15]; + m_A16 += gt[16]; + m_A16 += gt[17]; + m_A16 += gt[18]; + m_A16 += gt[19]; + m_A16 += gt[20]; + m_A16 += gt[21]; + m_A16 += gt[22]; + m_A17 += go[16]; + double RHS8 = Idr[16]; + RHS8 += Idr[17]; + RHS8 += Idr[18]; + RHS8 += Idr[19]; + RHS8 += Idr[20]; + RHS8 += Idr[21]; + RHS8 += Idr[22]; + RHS8 -= go[17] * *cnV[17]; + RHS8 -= go[18] * *cnV[18]; + RHS8 -= go[19] * *cnV[19]; + RHS8 -= go[20] * *cnV[20]; + RHS8 -= go[21] * *cnV[21]; + RHS8 -= go[22] * *cnV[22]; + m_A18 += gt[23]; + m_A18 += gt[24]; + m_A19 += go[23]; + double RHS9 = Idr[23]; + RHS9 += Idr[24]; + RHS9 -= go[24] * *cnV[24]; + m_A20 += gt[25]; + m_A20 += gt[26]; + m_A21 += go[25]; + double RHS10 = Idr[25]; + RHS10 += Idr[26]; + RHS10 -= go[26] * *cnV[26]; + m_A25 += gt[27]; + m_A25 += gt[28]; + m_A25 += gt[29]; + m_A25 += gt[30]; + m_A26 += go[27]; + m_A24 += go[28]; + m_A23 += go[29]; + m_A22 += go[30]; + double RHS11 = Idr[27]; + RHS11 += Idr[28]; + RHS11 += Idr[29]; + RHS11 += Idr[30]; + m_A30 += gt[31]; + m_A30 += gt[32]; + m_A30 += gt[33]; + m_A30 += gt[34]; + m_A31 += go[31]; + m_A29 += go[32]; + m_A28 += go[33]; + m_A27 += go[34]; + double RHS12 = Idr[31]; + RHS12 += Idr[32]; + RHS12 += Idr[33]; + RHS12 += Idr[34]; + m_A35 += gt[35]; + m_A35 += gt[36]; + m_A35 += gt[37]; + m_A35 += gt[38]; + m_A36 += go[35]; + m_A34 += go[36]; + m_A33 += go[37]; + m_A32 += go[38]; + double RHS13 = Idr[35]; + RHS13 += Idr[36]; + RHS13 += Idr[37]; + RHS13 += Idr[38]; + m_A38 += gt[39]; + m_A38 += gt[40]; + m_A38 += gt[41]; + m_A37 += go[39]; + m_A39 += go[40]; + double RHS14 = Idr[39]; + RHS14 += Idr[40]; + RHS14 += Idr[41]; + RHS14 -= go[41] * *cnV[41]; + m_A43 += gt[42]; + m_A43 += gt[43]; + m_A43 += gt[44]; + m_A43 += gt[45]; + m_A43 += gt[46]; + m_A44 += go[42]; + m_A42 += go[43]; + m_A41 += go[44]; + m_A40 += go[45]; + double RHS15 = Idr[42]; + RHS15 += Idr[43]; + RHS15 += Idr[44]; + RHS15 += Idr[45]; + RHS15 += Idr[46]; + RHS15 -= go[46] * *cnV[46]; + m_A48 += gt[47]; + m_A48 += gt[48]; + m_A48 += gt[49]; + m_A48 += gt[50]; + m_A48 += gt[51]; + m_A45 += go[47]; + m_A46 += go[48]; + m_A47 += go[49]; + double RHS16 = Idr[47]; + RHS16 += Idr[48]; + RHS16 += Idr[49]; + RHS16 += Idr[50]; + RHS16 += Idr[51]; + RHS16 -= go[50] * *cnV[50]; + RHS16 -= go[51] * *cnV[51]; + const double f0 = 1.0 / m_A0; + const double f0_11 = -f0 * m_A22; + m_A25 += m_A1 * f0_11; + RHS11 += f0_11 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_11 = -f1 * m_A23; + m_A25 += m_A3 * f1_11; + RHS11 += f1_11 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_11 = -f2 * m_A24; + m_A25 += m_A5 * f2_11; + RHS11 += f2_11 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_12 = -f3 * m_A27; + m_A30 += m_A7 * f3_12; + RHS12 += f3_12 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_12 = -f4 * m_A28; + m_A30 += m_A9 * f4_12; + RHS12 += f4_12 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_12 = -f5 * m_A29; + m_A30 += m_A11 * f5_12; + RHS12 += f5_12 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_13 = -f6 * m_A32; + m_A35 += m_A13 * f6_13; + RHS13 += f6_13 * RHS6; + const double f7 = 1.0 / m_A14; + const double f7_13 = -f7 * m_A33; + m_A35 += m_A15 * f7_13; + RHS13 += f7_13 * RHS7; + const double f8 = 1.0 / m_A16; + const double f8_16 = -f8 * m_A45; + m_A47 += m_A17 * f8_16; + RHS16 += f8_16 * RHS8; + const double f9 = 1.0 / m_A18; + const double f9_13 = -f9 * m_A34; + m_A35 += m_A19 * f9_13; + RHS13 += f9_13 * RHS9; + const double f10 = 1.0 / m_A20; + const double f10_14 = -f10 * m_A37; + m_A38 += m_A21 * f10_14; + RHS14 += f10_14 * RHS10; + const double f11 = 1.0 / m_A25; + const double f11_15 = -f11 * m_A40; + m_A43 += m_A26 * f11_15; + RHS15 += f11_15 * RHS11; + const double f12 = 1.0 / m_A30; + const double f12_15 = -f12 * m_A41; + m_A43 += m_A31 * f12_15; + RHS15 += f12_15 * RHS12; + const double f13 = 1.0 / m_A35; + const double f13_15 = -f13 * m_A42; + m_A43 += m_A36 * f13_15; + RHS15 += f13_15 * RHS13; + const double f14 = 1.0 / m_A38; + const double f14_16 = -f14 * m_A46; + m_A48 += m_A39 * f14_16; + RHS16 += f14_16 * RHS14; + const double f15 = 1.0 / m_A43; + const double f15_16 = -f15 * m_A47; + m_A48 += m_A44 * f15_16; + RHS16 += f15_16 * RHS15; + V[16] = RHS16 / m_A48; + double tmp15 = 0.0; + tmp15 += m_A44 * V[16]; + V[15] = (RHS15 - tmp15) / m_A43; + double tmp14 = 0.0; + tmp14 += m_A39 * V[16]; + V[14] = (RHS14 - tmp14) / m_A38; + double tmp13 = 0.0; + tmp13 += m_A36 * V[15]; + V[13] = (RHS13 - tmp13) / m_A35; + double tmp12 = 0.0; + tmp12 += m_A31 * V[15]; + V[12] = (RHS12 - tmp12) / m_A30; + double tmp11 = 0.0; + tmp11 += m_A26 * V[15]; + V[11] = (RHS11 - tmp11) / m_A25; + double tmp10 = 0.0; + tmp10 += m_A21 * V[14]; + V[10] = (RHS10 - tmp10) / m_A20; + double tmp9 = 0.0; + tmp9 += m_A19 * V[13]; + V[9] = (RHS9 - tmp9) / m_A18; + double tmp8 = 0.0; + tmp8 += m_A17 * V[15]; + V[8] = (RHS8 - tmp8) / m_A16; + double tmp7 = 0.0; + tmp7 += m_A15 * V[13]; + V[7] = (RHS7 - tmp7) / m_A14; + double tmp6 = 0.0; + tmp6 += m_A13 * V[13]; + V[6] = (RHS6 - tmp6) / m_A12; double tmp5 = 0.0; - tmp5 += m_A11 * V[6]; + tmp5 += m_A11 * V[12]; V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A9 * V[6]; + tmp4 += m_A9 * V[12]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[6]; + tmp3 += m_A7 * V[12]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[6]; + tmp2 += m_A5 * V[11]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[6]; + tmp1 += m_A3 * V[11]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[6]; + tmp0 += m_A1 * V[11]; V[0] = (RHS0 - tmp0) / m_A0; } -// cheekyms -static void nl_gcr_11995a0d28843023_150_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// breakout +static void nl_gcr_15a4e7fbe5facb3a_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); -double m_A111(0.0); -double m_A112(0.0); -double m_A113(0.0); -double m_A114(0.0); -double m_A115(0.0); -double m_A116(0.0); -double m_A117(0.0); -double m_A118(0.0); -double m_A119(0.0); -double m_A120(0.0); -double m_A121(0.0); -double m_A122(0.0); -double m_A123(0.0); -double m_A124(0.0); -double m_A125(0.0); -double m_A126(0.0); -double m_A127(0.0); -double m_A128(0.0); -double m_A129(0.0); -double m_A130(0.0); -double m_A131(0.0); -double m_A132(0.0); -double m_A133(0.0); -double m_A134(0.0); -double m_A135(0.0); -double m_A136(0.0); -double m_A137(0.0); -double m_A138(0.0); -double m_A139(0.0); -double m_A140(0.0); -double m_A141(0.0); -double m_A142(0.0); -double m_A143(0.0); -double m_A144(0.0); -double m_A145(0.0); -double m_A146(0.0); -double m_A147(0.0); -double m_A148(0.0); -double m_A149(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[12] + gt[13] + gt[14]; - m_A3 = m_A3 + go[12]; - double RHS1 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A4 = gt[24] + gt[25] + gt[26]; - m_A6 = m_A6 + go[24]; - m_A5 = m_A5 + go[25]; - double RHS2 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26]; - m_A7 = gt[36] + gt[37] + gt[38] + gt[39] + gt[40]; - m_A10 = m_A10 + go[36]; - m_A9 = m_A9 + go[37]; - m_A8 = m_A8 + go[38]; - double RHS3 = Idr[36] + Idr[37] + Idr[38] + Idr[39] + Idr[40] - go[39] * *cnV[39] - go[40] * *cnV[40]; - m_A11 = gt[48] + gt[49] + gt[50]; - m_A12 = m_A12 + go[48]; - double RHS4 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50]; - m_A13 = gt[60] + gt[61] + gt[62] + gt[63] + gt[64] + gt[65] + gt[66]; - m_A15 = m_A15 + go[60]; - m_A14 = m_A14 + go[61]; - double RHS5 = Idr[60] + Idr[61] + Idr[62] + Idr[63] + Idr[64] + Idr[65] + Idr[66] - go[62] * *cnV[62] - go[63] * *cnV[63] - go[64] * *cnV[64] - go[65] * *cnV[65] - go[66] * *cnV[66]; - m_A16 = gt[72] + gt[73] + gt[74]; - m_A17 = m_A17 + go[72]; - double RHS6 = Idr[72] + Idr[73] + Idr[74] - go[73] * *cnV[73] - go[74] * *cnV[74]; - m_A18 = gt[84] + gt[85]; - m_A19 = m_A19 + go[84]; - double RHS7 = Idr[84] + Idr[85] - go[85] * *cnV[85]; - m_A20 = gt[96] + gt[97] + gt[98]; - m_A21 = m_A21 + go[96]; - m_A23 = m_A23 + go[97]; - m_A22 = m_A22 + go[98]; - double RHS8 = Idr[96] + Idr[97] + Idr[98]; - m_A24 = gt[108] + gt[109] + gt[110]; - m_A25 = m_A25 + go[108]; - double RHS9 = Idr[108] + Idr[109] + Idr[110] - go[109] * *cnV[109] - go[110] * *cnV[110]; - m_A26 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A27 = m_A27 + go[120]; - m_A28 = m_A28 + go[121]; - double RHS10 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123]; - m_A29 = gt[132] + gt[133]; - m_A30 = m_A30 + go[132]; - double RHS11 = Idr[132] + Idr[133] - go[133] * *cnV[133]; - m_A31 = gt[144] + gt[145] + gt[146] + gt[147]; - m_A32 = m_A32 + go[144]; - m_A33 = m_A33 + go[145]; - double RHS12 = Idr[144] + Idr[145] + Idr[146] + Idr[147] - go[146] * *cnV[146] - go[147] * *cnV[147]; - m_A34 = gt[156] + gt[157] + gt[158]; - m_A36 = m_A36 + go[156]; - m_A35 = m_A35 + go[157]; - double RHS13 = Idr[156] + Idr[157] + Idr[158] - go[158] * *cnV[158]; - m_A37 = gt[168] + gt[169]; - m_A38 = m_A38 + go[168]; - double RHS14 = Idr[168] + Idr[169] - go[169] * *cnV[169]; - m_A39 = gt[180] + gt[181]; - m_A40 = m_A40 + go[180]; - double RHS15 = Idr[180] + Idr[181] - go[181] * *cnV[181]; - m_A41 = gt[192] + gt[193]; - m_A42 = m_A42 + go[192]; - double RHS16 = Idr[192] + Idr[193] - go[193] * *cnV[193]; - m_A43 = gt[204] + gt[205] + gt[206] + gt[207] + gt[208]; - m_A44 = m_A44 + go[204]; - m_A46 = m_A46 + go[205]; - m_A45 = m_A45 + go[206]; - double RHS17 = Idr[204] + Idr[205] + Idr[206] + Idr[207] + Idr[208] - go[207] * *cnV[207] - go[208] * *cnV[208]; - m_A47 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220]; - m_A48 = m_A48 + go[216]; - m_A50 = m_A50 + go[217]; - m_A49 = m_A49 + go[218]; - double RHS18 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] - go[219] * *cnV[219] - go[220] * *cnV[220]; - m_A51 = gt[228] + gt[229]; - m_A52 = m_A52 + go[228]; - double RHS19 = Idr[228] + Idr[229] - go[229] * *cnV[229]; - m_A55 = gt[240] + gt[241]; - m_A54 = m_A54 + go[240]; - m_A53 = m_A53 + go[241]; - double RHS20 = Idr[240] + Idr[241]; - m_A60 = gt[252] + gt[253] + gt[254]; - m_A58 = m_A58 + go[252]; - m_A57 = m_A57 + go[253]; - double RHS21 = Idr[252] + Idr[253] + Idr[254] - go[254] * *cnV[254]; - m_A63 = gt[264] + gt[265]; - m_A64 = m_A64 + go[264]; - double RHS22 = Idr[264] + Idr[265] - go[265] * *cnV[265]; - m_A65 = gt[276] + gt[277] + gt[278]; - m_A66 = m_A66 + go[276]; - double RHS23 = Idr[276] + Idr[277] + Idr[278] - go[277] * *cnV[277] - go[278] * *cnV[278]; - m_A69 = gt[288] + gt[289] + gt[290]; - m_A67 = m_A67 + go[288]; - m_A68 = m_A68 + go[289]; - double RHS24 = Idr[288] + Idr[289] + Idr[290] - go[290] * *cnV[290]; - m_A76 = gt[300] + gt[301]; - m_A73 = m_A73 + go[300]; - m_A72 = m_A72 + go[301]; - double RHS25 = Idr[300] + Idr[301]; - m_A81 = gt[312] + gt[313]; - m_A80 = m_A80 + go[312]; - m_A79 = m_A79 + go[313]; - double RHS26 = Idr[312] + Idr[313]; - m_A84 = gt[324] + gt[325] + gt[326]; - m_A85 = m_A85 + go[324]; - m_A83 = m_A83 + go[325]; - double RHS27 = Idr[324] + Idr[325] + Idr[326] - go[326] * *cnV[326]; - m_A88 = gt[336] + gt[337]; - m_A87 = m_A87 + go[336]; - m_A86 = m_A86 + go[337]; - double RHS28 = Idr[336] + Idr[337]; - m_A95 = gt[348] + gt[349] + gt[350] + gt[351] + gt[352]; - m_A90 = m_A90 + go[348]; - m_A92 = m_A92 + go[349]; - m_A91 = m_A91 + go[350]; - double RHS29 = Idr[348] + Idr[349] + Idr[350] + Idr[351] + Idr[352] - go[351] * *cnV[351] - go[352] * *cnV[352]; - m_A100 = gt[360] + gt[361] + gt[362] + gt[363] + gt[364] + gt[365] + gt[366]; - m_A98 = m_A98 + go[360]; - m_A101 = m_A101 + go[361]; - double RHS30 = Idr[360] + Idr[361] + Idr[362] + Idr[363] + Idr[364] + Idr[365] + Idr[366] - go[362] * *cnV[362] - go[363] * *cnV[363] - go[364] * *cnV[364] - go[365] * *cnV[365] - go[366] * *cnV[366]; - m_A103 = gt[372] + gt[373] + gt[374] + gt[375] + gt[376] + gt[377]; - m_A104 = m_A104 + go[372]; - m_A104 = m_A104 + go[373]; - m_A102 = m_A102 + go[374]; - double RHS31 = Idr[372] + Idr[373] + Idr[374] + Idr[375] + Idr[376] + Idr[377] - go[375] * *cnV[375] - go[376] * *cnV[376] - go[377] * *cnV[377]; - m_A110 = gt[384] + gt[385] + gt[386]; - m_A106 = m_A106 + go[384]; - m_A107 = m_A107 + go[385]; - m_A105 = m_A105 + go[386]; - double RHS32 = Idr[384] + Idr[385] + Idr[386]; - m_A114 = gt[396] + gt[397] + gt[398] + gt[399] + gt[400] + gt[401] + gt[402]; - m_A112 = m_A112 + go[396]; - m_A115 = m_A115 + go[397]; - double RHS33 = Idr[396] + Idr[397] + Idr[398] + Idr[399] + Idr[400] + Idr[401] + Idr[402] - go[398] * *cnV[398] - go[399] * *cnV[399] - go[400] * *cnV[400] - go[401] * *cnV[401] - go[402] * *cnV[402]; - m_A121 = gt[408] + gt[409] + gt[410] + gt[411] + gt[412] + gt[413] + gt[414]; - m_A118 = m_A118 + go[408]; - m_A116 = m_A116 + go[409]; - double RHS34 = Idr[408] + Idr[409] + Idr[410] + Idr[411] + Idr[412] + Idr[413] + Idr[414] - go[410] * *cnV[410] - go[411] * *cnV[411] - go[412] * *cnV[412] - go[413] * *cnV[413] - go[414] * *cnV[414]; - m_A125 = gt[420] + gt[421] + gt[422]; - m_A124 = m_A124 + go[420]; - m_A126 = m_A126 + go[421]; - m_A123 = m_A123 + go[422]; - double RHS35 = Idr[420] + Idr[421] + Idr[422]; - m_A132 = gt[432] + gt[433] + gt[434]; - m_A127 = m_A127 + go[432]; - m_A128 = m_A128 + go[433]; - m_A130 = m_A130 + go[434]; - double RHS36 = Idr[432] + Idr[433] + Idr[434]; - m_A149 = gt[444] + gt[445] + gt[446] + gt[447] + gt[448] + gt[449] + gt[450] + gt[451] + gt[452] + gt[453] + gt[454]; - m_A140 = m_A140 + go[444]; - m_A147 = m_A147 + go[445]; - m_A139 = m_A139 + go[446]; - m_A138 = m_A138 + go[447]; - m_A137 = m_A137 + go[448]; - m_A136 = m_A136 + go[449]; - m_A135 = m_A135 + go[450]; - m_A134 = m_A134 + go[451]; - m_A143 = m_A143 + go[452]; - m_A143 = m_A143 + go[453]; - double RHS37 = Idr[444] + Idr[445] + Idr[446] + Idr[447] + Idr[448] + Idr[449] + Idr[450] + Idr[451] + Idr[452] + Idr[453] + Idr[454] - go[454] * *cnV[454]; -const double f0 = 1.0 / m_A0; - const double f0_31 = -f0 * m_A102; - m_A103 += m_A1 * f0_31; - RHS31 += f0_31 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_20 = -f1 * m_A53; - m_A55 += m_A3 * f1_20; - RHS20 += f1_20 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_20 = -f2 * m_A54; - m_A55 += m_A5 * f2_20; - m_A56 += m_A6 * f2_20; - RHS20 += f2_20 * RHS2; - const double f2_21 = -f2 * m_A57; - m_A59 += m_A5 * f2_21; - m_A60 += m_A6 * f2_21; - RHS21 += f2_21 * RHS2; - const double f2_34 = -f2 * m_A116; - m_A117 += m_A5 * f2_34; - m_A118 += m_A6 * f2_34; - RHS34 += f2_34 * RHS2; -const double f3 = 1.0 / m_A7; - const double f3_21 = -f3 * m_A58; - m_A60 += m_A8 * f3_21; - m_A61 += m_A9 * f3_21; - m_A62 += m_A10 * f3_21; - RHS21 += f3_21 * RHS3; - const double f3_25 = -f3 * m_A72; - m_A74 += m_A8 * f3_25; - m_A76 += m_A9 * f3_25; - m_A78 += m_A10 * f3_25; - RHS25 += f3_25 * RHS3; -const double f4 = 1.0 / m_A11; - const double f4_24 = -f4 * m_A67; - m_A69 += m_A12 * f4_24; - RHS24 += f4_24 * RHS4; -const double f5 = 1.0 / m_A13; - const double f5_29 = -f5 * m_A90; - m_A91 += m_A14 * f5_29; - m_A93 += m_A15 * f5_29; - RHS29 += f5_29 * RHS5; -const double f6 = 1.0 / m_A16; - const double f6_26 = -f6 * m_A79; - m_A81 += m_A17 * f6_26; - RHS26 += f6_26 * RHS6; -const double f7 = 1.0 / m_A18; - const double f7_27 = -f7 * m_A83; - m_A84 += m_A19 * f7_27; - RHS27 += f7_27 * RHS7; -const double f8 = 1.0 / m_A20; - const double f8_24 = -f8 * m_A68; - m_A69 += m_A21 * f8_24; - m_A70 += m_A22 * f8_24; - m_A71 += m_A23 * f8_24; - RHS24 += f8_24 * RHS8; - const double f8_25 = -f8 * m_A73; - m_A75 += m_A21 * f8_25; - m_A76 += m_A22 * f8_25; - m_A77 += m_A23 * f8_25; - RHS25 += f8_25 * RHS8; - const double f8_29 = -f8 * m_A91; - m_A93 += m_A21 * f8_29; - m_A94 += m_A22 * f8_29; - m_A95 += m_A23 * f8_29; - RHS29 += f8_29 * RHS8; -const double f9 = 1.0 / m_A24; - const double f9_28 = -f9 * m_A86; - m_A88 += m_A25 * f9_28; - RHS28 += f9_28 * RHS9; -const double f10 = 1.0 / m_A26; - const double f10_26 = -f10 * m_A80; - m_A81 += m_A27 * f10_26; - m_A82 += m_A28 * f10_26; - RHS26 += f10_26 * RHS10; - const double f10_33 = -f10 * m_A112; - m_A113 += m_A27 * f10_33; - m_A115 += m_A28 * f10_33; - RHS33 += f10_33 * RHS10; - const double f10_36 = -f10 * m_A127; - m_A129 += m_A27 * f10_36; - m_A132 += m_A28 * f10_36; - RHS36 += f10_36 * RHS10; -const double f11 = 1.0 / m_A29; - const double f11_32 = -f11 * m_A105; - m_A110 += m_A30 * f11_32; - RHS32 += f11_32 * RHS11; -const double f12 = 1.0 / m_A31; - const double f12_28 = -f12 * m_A87; - m_A88 += m_A32 * f12_28; - m_A89 += m_A33 * f12_28; - RHS28 += f12_28 * RHS12; - const double f12_30 = -f12 * m_A98; - m_A99 += m_A32 * f12_30; - m_A101 += m_A33 * f12_30; - RHS30 += f12_30 * RHS12; - const double f12_32 = -f12 * m_A106; - m_A108 += m_A32 * f12_32; - m_A110 += m_A33 * f12_32; - RHS32 += f12_32 * RHS12; -const double f13 = 1.0 / m_A34; - const double f13_29 = -f13 * m_A92; - m_A95 += m_A35 * f13_29; - m_A97 += m_A36 * f13_29; - RHS29 += f13_29 * RHS13; - const double f13_37 = -f13 * m_A134; - m_A141 += m_A35 * f13_37; - m_A149 += m_A36 * f13_37; - RHS37 += f13_37 * RHS13; -const double f14 = 1.0 / m_A37; - const double f14_35 = -f14 * m_A123; - m_A125 += m_A38 * f14_35; - RHS35 += f14_35 * RHS14; -const double f15 = 1.0 / m_A39; - const double f15_35 = -f15 * m_A124; - m_A125 += m_A40 * f15_35; - RHS35 += f15_35 * RHS15; -const double f16 = 1.0 / m_A41; - const double f16_37 = -f16 * m_A135; - m_A149 += m_A42 * f16_37; - RHS37 += f16_37 * RHS16; -const double f17 = 1.0 / m_A43; - const double f17_36 = -f17 * m_A128; - m_A131 += m_A44 * f17_36; - m_A132 += m_A45 * f17_36; - m_A133 += m_A46 * f17_36; - RHS36 += f17_36 * RHS17; - const double f17_37 = -f17 * m_A136; - m_A145 += m_A44 * f17_37; - m_A148 += m_A45 * f17_37; - m_A149 += m_A46 * f17_37; - RHS37 += f17_37 * RHS17; -const double f18 = 1.0 / m_A47; - const double f18_32 = -f18 * m_A107; - m_A109 += m_A48 * f18_32; - m_A110 += m_A49 * f18_32; - m_A111 += m_A50 * f18_32; - RHS32 += f18_32 * RHS18; - const double f18_37 = -f18 * m_A137; - m_A142 += m_A48 * f18_37; - m_A144 += m_A49 * f18_37; - m_A149 += m_A50 * f18_37; - RHS37 += f18_37 * RHS18; -const double f19 = 1.0 / m_A51; - const double f19_37 = -f19 * m_A138; - m_A149 += m_A52 * f19_37; - RHS37 += f19_37 * RHS19; -const double f20 = 1.0 / m_A55; - const double f20_21 = -f20 * m_A59; - m_A60 += m_A56 * f20_21; - RHS21 += f20_21 * RHS20; - const double f20_34 = -f20 * m_A117; - m_A118 += m_A56 * f20_34; - RHS34 += f20_34 * RHS20; -const double f21 = 1.0 / m_A60; - const double f21_25 = -f21 * m_A74; - m_A76 += m_A61 * f21_25; - m_A78 += m_A62 * f21_25; - RHS25 += f21_25 * RHS21; - const double f21_34 = -f21 * m_A118; - m_A119 += m_A61 * f21_34; - m_A121 += m_A62 * f21_34; - RHS34 += f21_34 * RHS21; -const double f22 = 1.0 / m_A63; - const double f22_37 = -f22 * m_A139; - m_A149 += m_A64 * f22_37; - RHS37 += f22_37 * RHS22; -const double f23 = 1.0 / m_A65; - const double f23_37 = -f23 * m_A140; - m_A149 += m_A66 * f23_37; - RHS37 += f23_37 * RHS23; -const double f24 = 1.0 / m_A69; - const double f24_25 = -f24 * m_A75; - m_A76 += m_A70 * f24_25; - m_A77 += m_A71 * f24_25; - RHS25 += f24_25 * RHS24; - const double f24_29 = -f24 * m_A93; - m_A94 += m_A70 * f24_29; - m_A95 += m_A71 * f24_29; - RHS29 += f24_29 * RHS24; -const double f25 = 1.0 / m_A76; - const double f25_29 = -f25 * m_A94; - m_A95 += m_A77 * f25_29; - m_A96 += m_A78 * f25_29; - RHS29 += f25_29 * RHS25; - const double f25_34 = -f25 * m_A119; - m_A120 += m_A77 * f25_34; - m_A121 += m_A78 * f25_34; - RHS34 += f25_34 * RHS25; -const double f26 = 1.0 / m_A81; - const double f26_33 = -f26 * m_A113; - m_A115 += m_A82 * f26_33; - RHS33 += f26_33 * RHS26; - const double f26_36 = -f26 * m_A129; - m_A132 += m_A82 * f26_36; - RHS36 += f26_36 * RHS26; -const double f27 = 1.0 / m_A84; - const double f27_36 = -f27 * m_A130; - m_A132 += m_A85 * f27_36; - RHS36 += f27_36 * RHS27; -const double f28 = 1.0 / m_A88; - const double f28_30 = -f28 * m_A99; - m_A101 += m_A89 * f28_30; - RHS30 += f28_30 * RHS28; - const double f28_32 = -f28 * m_A108; - m_A110 += m_A89 * f28_32; - RHS32 += f28_32 * RHS28; -const double f29 = 1.0 / m_A95; - const double f29_34 = -f29 * m_A120; - m_A121 += m_A96 * f29_34; - m_A122 += m_A97 * f29_34; - RHS34 += f29_34 * RHS29; - const double f29_37 = -f29 * m_A141; - m_A146 += m_A96 * f29_37; - m_A149 += m_A97 * f29_37; - RHS37 += f29_37 * RHS29; -const double f30 = 1.0 / m_A100; - const double f30_32 = -f30 * m_A109; - m_A110 += m_A101 * f30_32; - RHS32 += f30_32 * RHS30; - const double f30_37 = -f30 * m_A142; - m_A144 += m_A101 * f30_37; - RHS37 += f30_37 * RHS30; -const double f31 = 1.0 / m_A103; - const double f31_37 = -f31 * m_A143; - m_A149 += m_A104 * f31_37; - RHS37 += f31_37 * RHS31; -const double f32 = 1.0 / m_A110; - const double f32_37 = -f32 * m_A144; - m_A149 += m_A111 * f32_37; - RHS37 += f32_37 * RHS32; -const double f33 = 1.0 / m_A114; - const double f33_36 = -f33 * m_A131; - m_A132 += m_A115 * f33_36; - RHS36 += f33_36 * RHS33; - const double f33_37 = -f33 * m_A145; - m_A148 += m_A115 * f33_37; - RHS37 += f33_37 * RHS33; -const double f34 = 1.0 / m_A121; - const double f34_37 = -f34 * m_A146; - m_A149 += m_A122 * f34_37; - RHS37 += f34_37 * RHS34; -const double f35 = 1.0 / m_A125; - const double f35_37 = -f35 * m_A147; - m_A149 += m_A126 * f35_37; - RHS37 += f35_37 * RHS35; -const double f36 = 1.0 / m_A132; - const double f36_37 = -f36 * m_A148; - m_A149 += m_A133 * f36_37; - RHS37 += f36_37 * RHS36; - V[37] = RHS37 / m_A149; - double tmp36 = 0.0; - tmp36 += m_A133 * V[37]; - V[36] = (RHS36 - tmp36) / m_A132; - double tmp35 = 0.0; - tmp35 += m_A126 * V[37]; - V[35] = (RHS35 - tmp35) / m_A125; - double tmp34 = 0.0; - tmp34 += m_A122 * V[37]; - V[34] = (RHS34 - tmp34) / m_A121; - double tmp33 = 0.0; - tmp33 += m_A115 * V[36]; - V[33] = (RHS33 - tmp33) / m_A114; - double tmp32 = 0.0; - tmp32 += m_A111 * V[37]; - V[32] = (RHS32 - tmp32) / m_A110; - double tmp31 = 0.0; - tmp31 += m_A104 * V[37]; - V[31] = (RHS31 - tmp31) / m_A103; - double tmp30 = 0.0; - tmp30 += m_A101 * V[32]; - V[30] = (RHS30 - tmp30) / m_A100; - double tmp29 = 0.0; - tmp29 += m_A96 * V[34]; - tmp29 += m_A97 * V[37]; - V[29] = (RHS29 - tmp29) / m_A95; - double tmp28 = 0.0; - tmp28 += m_A89 * V[32]; - V[28] = (RHS28 - tmp28) / m_A88; - double tmp27 = 0.0; - tmp27 += m_A85 * V[36]; - V[27] = (RHS27 - tmp27) / m_A84; - double tmp26 = 0.0; - tmp26 += m_A82 * V[36]; - V[26] = (RHS26 - tmp26) / m_A81; - double tmp25 = 0.0; - tmp25 += m_A77 * V[29]; - tmp25 += m_A78 * V[34]; - V[25] = (RHS25 - tmp25) / m_A76; - double tmp24 = 0.0; - tmp24 += m_A70 * V[25]; - tmp24 += m_A71 * V[29]; - V[24] = (RHS24 - tmp24) / m_A69; - double tmp23 = 0.0; - tmp23 += m_A66 * V[37]; - V[23] = (RHS23 - tmp23) / m_A65; - double tmp22 = 0.0; - tmp22 += m_A64 * V[37]; - V[22] = (RHS22 - tmp22) / m_A63; - double tmp21 = 0.0; - tmp21 += m_A61 * V[25]; - tmp21 += m_A62 * V[34]; - V[21] = (RHS21 - tmp21) / m_A60; - double tmp20 = 0.0; - tmp20 += m_A56 * V[21]; - V[20] = (RHS20 - tmp20) / m_A55; - double tmp19 = 0.0; - tmp19 += m_A52 * V[37]; - V[19] = (RHS19 - tmp19) / m_A51; - double tmp18 = 0.0; - tmp18 += m_A48 * V[30]; - tmp18 += m_A49 * V[32]; - tmp18 += m_A50 * V[37]; - V[18] = (RHS18 - tmp18) / m_A47; - double tmp17 = 0.0; - tmp17 += m_A44 * V[33]; - tmp17 += m_A45 * V[36]; - tmp17 += m_A46 * V[37]; - V[17] = (RHS17 - tmp17) / m_A43; - double tmp16 = 0.0; - tmp16 += m_A42 * V[37]; - V[16] = (RHS16 - tmp16) / m_A41; - double tmp15 = 0.0; - tmp15 += m_A40 * V[35]; - V[15] = (RHS15 - tmp15) / m_A39; - double tmp14 = 0.0; - tmp14 += m_A38 * V[35]; - V[14] = (RHS14 - tmp14) / m_A37; - double tmp13 = 0.0; - tmp13 += m_A35 * V[29]; - tmp13 += m_A36 * V[37]; - V[13] = (RHS13 - tmp13) / m_A34; - double tmp12 = 0.0; - tmp12 += m_A32 * V[28]; - tmp12 += m_A33 * V[32]; - V[12] = (RHS12 - tmp12) / m_A31; - double tmp11 = 0.0; - tmp11 += m_A30 * V[32]; - V[11] = (RHS11 - tmp11) / m_A29; - double tmp10 = 0.0; - tmp10 += m_A27 * V[26]; - tmp10 += m_A28 * V[36]; - V[10] = (RHS10 - tmp10) / m_A26; - double tmp9 = 0.0; - tmp9 += m_A25 * V[28]; - V[9] = (RHS9 - tmp9) / m_A24; - double tmp8 = 0.0; - tmp8 += m_A21 * V[24]; - tmp8 += m_A22 * V[25]; - tmp8 += m_A23 * V[29]; - V[8] = (RHS8 - tmp8) / m_A20; - double tmp7 = 0.0; - tmp7 += m_A19 * V[27]; - V[7] = (RHS7 - tmp7) / m_A18; - double tmp6 = 0.0; - tmp6 += m_A17 * V[26]; - V[6] = (RHS6 - tmp6) / m_A16; - double tmp5 = 0.0; - tmp5 += m_A14 * V[8]; - tmp5 += m_A15 * V[24]; - V[5] = (RHS5 - tmp5) / m_A13; - double tmp4 = 0.0; - tmp4 += m_A12 * V[24]; - V[4] = (RHS4 - tmp4) / m_A11; - double tmp3 = 0.0; - tmp3 += m_A8 * V[21]; - tmp3 += m_A9 * V[25]; - tmp3 += m_A10 * V[34]; - V[3] = (RHS3 - tmp3) / m_A7; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A5 += go[6]; + m_A4 += go[7]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; + RHS2 += f1_2 * RHS1; + V[2] = RHS2 / m_A6; + double tmp1 = 0.0; + tmp1 += m_A3 * V[2]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[2]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// breakout +static void nl_gcr_1993cb957e80c097_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[4]; + double RHS1 = Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 -= go[7] * *cnV[7]; + m_A9 += gt[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A8 += go[8]; + m_A7 += go[9]; + m_A6 += go[10]; + double RHS3 = Idr[8]; + RHS3 += Idr[9]; + RHS3 += Idr[10]; + const double f0 = 1.0 / m_A0; + const double f0_3 = -f0 * m_A6; + m_A9 += m_A1 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_3 = -f1 * m_A7; + m_A9 += m_A3 * f1_3; + RHS3 += f1_3 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_3 = -f2 * m_A8; + m_A9 += m_A5 * f2_3; + RHS3 += f2_3 * RHS2; + V[3] = RHS3 / m_A9; double tmp2 = 0.0; - tmp2 += m_A5 * V[20]; - tmp2 += m_A6 * V[21]; + tmp2 += m_A5 * V[3]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[20]; + tmp1 += m_A3 * V[3]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[31]; + tmp0 += m_A1 * V[3]; V[0] = (RHS0 - tmp0) / m_A0; } -// mario -static void nl_gcr_15fa1a3cf923c9fd_29_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// kidniki +static void nl_gcr_1cbd5d704f6e93c1_67_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25] + gt[26] + gt[27]; - m_A8 = m_A8 + go[24]; - m_A7 = m_A7 + go[25]; - m_A7 = m_A7 + go[26]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] - go[27] * *cnV[27]; - m_A9 = gt[32] + gt[33] + gt[34]; - m_A10 = m_A10 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A11 = gt[40] + gt[41]; - m_A12 = m_A12 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A14 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54]; - m_A16 = m_A16 + go[48]; - m_A16 = m_A16 + go[49]; - m_A13 = m_A13 + go[50]; - m_A13 = m_A13 + go[51]; - m_A15 = m_A15 + go[52]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[53] * *cnV[53] - go[54] * *cnV[54]; - m_A22 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61]; - m_A20 = m_A20 + go[56]; - m_A21 = m_A21 + go[57]; - m_A19 = m_A19 + go[58]; - m_A18 = m_A18 + go[59]; - m_A17 = m_A17 + go[60]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61] - go[61] * *cnV[61]; - m_A28 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69]; - m_A25 = m_A25 + go[64]; - m_A24 = m_A24 + go[65]; - m_A26 = m_A26 + go[66]; - m_A26 = m_A26 + go[67]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] - go[68] * *cnV[68] - go[69] * *cnV[69]; -const double f0 = 1.0 / m_A0; - const double f0_7 = -f0 * m_A17; - m_A22 += m_A1 * f0_7; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A7 += go[6]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + RHS3 -= go[7] * *cnV[7]; + m_A8 += gt[8]; + m_A8 += gt[9]; + m_A9 += go[8]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + RHS4 -= go[9] * *cnV[9]; + m_A10 += gt[10]; + m_A10 += gt[11]; + m_A11 += go[10]; + double RHS5 = Idr[10]; + RHS5 += Idr[11]; + RHS5 -= go[11] * *cnV[11]; + m_A12 += gt[12]; + m_A12 += gt[13]; + m_A12 += gt[14]; + m_A12 += gt[15]; + m_A12 += gt[16]; + m_A12 += gt[17]; + m_A12 += gt[18]; + m_A12 += gt[19]; + m_A14 += go[12]; + m_A15 += go[13]; + m_A17 += go[14]; + m_A18 += go[15]; + m_A16 += go[16]; + m_A13 += go[17]; + double RHS6 = Idr[12]; + RHS6 += Idr[13]; + RHS6 += Idr[14]; + RHS6 += Idr[15]; + RHS6 += Idr[16]; + RHS6 += Idr[17]; + RHS6 += Idr[18]; + RHS6 += Idr[19]; + RHS6 -= go[18] * *cnV[18]; + RHS6 -= go[19] * *cnV[19]; + m_A21 += gt[20]; + m_A21 += gt[21]; + m_A21 += gt[22]; + m_A21 += gt[23]; + m_A20 += go[20]; + m_A19 += go[21]; + double RHS7 = Idr[20]; + RHS7 += Idr[21]; + RHS7 += Idr[22]; + RHS7 += Idr[23]; + RHS7 -= go[22] * *cnV[22]; + RHS7 -= go[23] * *cnV[23]; + m_A30 += gt[24]; + m_A30 += gt[25]; + m_A30 += gt[26]; + m_A30 += gt[27]; + m_A28 += go[24]; + m_A27 += go[25]; + double RHS8 = Idr[24]; + RHS8 += Idr[25]; + RHS8 += Idr[26]; + RHS8 += Idr[27]; + RHS8 -= go[26] * *cnV[26]; + RHS8 -= go[27] * *cnV[27]; + m_A39 += gt[28]; + m_A39 += gt[29]; + m_A39 += gt[30]; + m_A39 += gt[31]; + m_A36 += go[28]; + m_A35 += go[29]; + double RHS9 = Idr[28]; + RHS9 += Idr[29]; + RHS9 += Idr[30]; + RHS9 += Idr[31]; + RHS9 -= go[30] * *cnV[30]; + RHS9 -= go[31] * *cnV[31]; + m_A48 += gt[32]; + m_A48 += gt[33]; + m_A48 += gt[34]; + m_A48 += gt[35]; + m_A44 += go[32]; + m_A43 += go[33]; + double RHS10 = Idr[32]; + RHS10 += Idr[33]; + RHS10 += Idr[34]; + RHS10 += Idr[35]; + RHS10 -= go[34] * *cnV[34]; + RHS10 -= go[35] * *cnV[35]; + m_A57 += gt[36]; + m_A57 += gt[37]; + m_A57 += gt[38]; + m_A57 += gt[39]; + m_A52 += go[36]; + m_A51 += go[37]; + double RHS11 = Idr[36]; + RHS11 += Idr[37]; + RHS11 += Idr[38]; + RHS11 += Idr[39]; + RHS11 -= go[38] * *cnV[38]; + RHS11 -= go[39] * *cnV[39]; + m_A66 += gt[40]; + m_A66 += gt[41]; + m_A66 += gt[42]; + m_A66 += gt[43]; + m_A60 += go[40]; + m_A59 += go[41]; + double RHS12 = Idr[40]; + RHS12 += Idr[41]; + RHS12 += Idr[42]; + RHS12 += Idr[43]; + RHS12 -= go[42] * *cnV[42]; + RHS12 -= go[43] * *cnV[43]; + const double f0 = 1.0 / m_A0; + const double f0_7 = -f0 * m_A19; + m_A21 += m_A1 * f0_7; RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_7 = -f1 * m_A18; - m_A22 += m_A3 * f1_7; - RHS7 += f1_7 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_7 = -f2 * m_A19; - m_A22 += m_A5 * f2_7; - RHS7 += f2_7 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_6 = -f3 * m_A13; - m_A14 += m_A7 * f3_6; - m_A16 += m_A8 * f3_6; - RHS6 += f3_6 * RHS3; - const double f3_8 = -f3 * m_A24; - m_A26 += m_A7 * f3_8; - m_A28 += m_A8 * f3_8; - RHS8 += f3_8 * RHS3; -const double f4 = 1.0 / m_A9; - const double f4_8 = -f4 * m_A25; - m_A28 += m_A10 * f4_8; - RHS8 += f4_8 * RHS4; -const double f5 = 1.0 / m_A11; - const double f5_7 = -f5 * m_A20; - m_A22 += m_A12 * f5_7; - RHS7 += f5_7 * RHS5; -const double f6 = 1.0 / m_A14; - const double f6_7 = -f6 * m_A21; - m_A22 += m_A15 * f6_7; - m_A23 += m_A16 * f6_7; - RHS7 += f6_7 * RHS6; - const double f6_8 = -f6 * m_A26; - m_A27 += m_A15 * f6_8; - m_A28 += m_A16 * f6_8; + const double f1 = 1.0 / m_A2; + const double f1_10 = -f1 * m_A43; + m_A48 += m_A3 * f1_10; + RHS10 += f1_10 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_12 = -f2 * m_A59; + m_A66 += m_A5 * f2_12; + RHS12 += f2_12 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_11 = -f3 * m_A51; + m_A57 += m_A7 * f3_11; + RHS11 += f3_11 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_9 = -f4 * m_A35; + m_A39 += m_A9 * f4_9; + RHS9 += f4_9 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_8 = -f5 * m_A27; + m_A30 += m_A11 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_7 = -f6 * m_A20; + m_A21 += m_A13 * f6_7; + m_A22 += m_A14 * f6_7; + m_A23 += m_A15 * f6_7; + m_A24 += m_A16 * f6_7; + m_A25 += m_A17 * f6_7; + m_A26 += m_A18 * f6_7; + RHS7 += f6_7 * RHS6; + const double f6_8 = -f6 * m_A28; + m_A29 += m_A13 * f6_8; + m_A30 += m_A14 * f6_8; + m_A31 += m_A15 * f6_8; + m_A32 += m_A16 * f6_8; + m_A33 += m_A17 * f6_8; + m_A34 += m_A18 * f6_8; RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A22; - const double f7_8 = -f7 * m_A27; - m_A28 += m_A23 * f7_8; + const double f6_9 = -f6 * m_A36; + m_A37 += m_A13 * f6_9; + m_A38 += m_A14 * f6_9; + m_A39 += m_A15 * f6_9; + m_A40 += m_A16 * f6_9; + m_A41 += m_A17 * f6_9; + m_A42 += m_A18 * f6_9; + RHS9 += f6_9 * RHS6; + const double f6_10 = -f6 * m_A44; + m_A45 += m_A13 * f6_10; + m_A46 += m_A14 * f6_10; + m_A47 += m_A15 * f6_10; + m_A48 += m_A16 * f6_10; + m_A49 += m_A17 * f6_10; + m_A50 += m_A18 * f6_10; + RHS10 += f6_10 * RHS6; + const double f6_11 = -f6 * m_A52; + m_A53 += m_A13 * f6_11; + m_A54 += m_A14 * f6_11; + m_A55 += m_A15 * f6_11; + m_A56 += m_A16 * f6_11; + m_A57 += m_A17 * f6_11; + m_A58 += m_A18 * f6_11; + RHS11 += f6_11 * RHS6; + const double f6_12 = -f6 * m_A60; + m_A61 += m_A13 * f6_12; + m_A62 += m_A14 * f6_12; + m_A63 += m_A15 * f6_12; + m_A64 += m_A16 * f6_12; + m_A65 += m_A17 * f6_12; + m_A66 += m_A18 * f6_12; + RHS12 += f6_12 * RHS6; + const double f7 = 1.0 / m_A21; + const double f7_8 = -f7 * m_A29; + m_A30 += m_A22 * f7_8; + m_A31 += m_A23 * f7_8; + m_A32 += m_A24 * f7_8; + m_A33 += m_A25 * f7_8; + m_A34 += m_A26 * f7_8; RHS8 += f7_8 * RHS7; - V[8] = RHS8 / m_A28; + const double f7_9 = -f7 * m_A37; + m_A38 += m_A22 * f7_9; + m_A39 += m_A23 * f7_9; + m_A40 += m_A24 * f7_9; + m_A41 += m_A25 * f7_9; + m_A42 += m_A26 * f7_9; + RHS9 += f7_9 * RHS7; + const double f7_10 = -f7 * m_A45; + m_A46 += m_A22 * f7_10; + m_A47 += m_A23 * f7_10; + m_A48 += m_A24 * f7_10; + m_A49 += m_A25 * f7_10; + m_A50 += m_A26 * f7_10; + RHS10 += f7_10 * RHS7; + const double f7_11 = -f7 * m_A53; + m_A54 += m_A22 * f7_11; + m_A55 += m_A23 * f7_11; + m_A56 += m_A24 * f7_11; + m_A57 += m_A25 * f7_11; + m_A58 += m_A26 * f7_11; + RHS11 += f7_11 * RHS7; + const double f7_12 = -f7 * m_A61; + m_A62 += m_A22 * f7_12; + m_A63 += m_A23 * f7_12; + m_A64 += m_A24 * f7_12; + m_A65 += m_A25 * f7_12; + m_A66 += m_A26 * f7_12; + RHS12 += f7_12 * RHS7; + const double f8 = 1.0 / m_A30; + const double f8_9 = -f8 * m_A38; + m_A39 += m_A31 * f8_9; + m_A40 += m_A32 * f8_9; + m_A41 += m_A33 * f8_9; + m_A42 += m_A34 * f8_9; + RHS9 += f8_9 * RHS8; + const double f8_10 = -f8 * m_A46; + m_A47 += m_A31 * f8_10; + m_A48 += m_A32 * f8_10; + m_A49 += m_A33 * f8_10; + m_A50 += m_A34 * f8_10; + RHS10 += f8_10 * RHS8; + const double f8_11 = -f8 * m_A54; + m_A55 += m_A31 * f8_11; + m_A56 += m_A32 * f8_11; + m_A57 += m_A33 * f8_11; + m_A58 += m_A34 * f8_11; + RHS11 += f8_11 * RHS8; + const double f8_12 = -f8 * m_A62; + m_A63 += m_A31 * f8_12; + m_A64 += m_A32 * f8_12; + m_A65 += m_A33 * f8_12; + m_A66 += m_A34 * f8_12; + RHS12 += f8_12 * RHS8; + const double f9 = 1.0 / m_A39; + const double f9_10 = -f9 * m_A47; + m_A48 += m_A40 * f9_10; + m_A49 += m_A41 * f9_10; + m_A50 += m_A42 * f9_10; + RHS10 += f9_10 * RHS9; + const double f9_11 = -f9 * m_A55; + m_A56 += m_A40 * f9_11; + m_A57 += m_A41 * f9_11; + m_A58 += m_A42 * f9_11; + RHS11 += f9_11 * RHS9; + const double f9_12 = -f9 * m_A63; + m_A64 += m_A40 * f9_12; + m_A65 += m_A41 * f9_12; + m_A66 += m_A42 * f9_12; + RHS12 += f9_12 * RHS9; + const double f10 = 1.0 / m_A48; + const double f10_11 = -f10 * m_A56; + m_A57 += m_A49 * f10_11; + m_A58 += m_A50 * f10_11; + RHS11 += f10_11 * RHS10; + const double f10_12 = -f10 * m_A64; + m_A65 += m_A49 * f10_12; + m_A66 += m_A50 * f10_12; + RHS12 += f10_12 * RHS10; + const double f11 = 1.0 / m_A57; + const double f11_12 = -f11 * m_A65; + m_A66 += m_A58 * f11_12; + RHS12 += f11_12 * RHS11; + V[12] = RHS12 / m_A66; + double tmp11 = 0.0; + tmp11 += m_A58 * V[12]; + V[11] = (RHS11 - tmp11) / m_A57; + double tmp10 = 0.0; + tmp10 += m_A49 * V[11]; + tmp10 += m_A50 * V[12]; + V[10] = (RHS10 - tmp10) / m_A48; + double tmp9 = 0.0; + tmp9 += m_A40 * V[10]; + tmp9 += m_A41 * V[11]; + tmp9 += m_A42 * V[12]; + V[9] = (RHS9 - tmp9) / m_A39; + double tmp8 = 0.0; + tmp8 += m_A31 * V[9]; + tmp8 += m_A32 * V[10]; + tmp8 += m_A33 * V[11]; + tmp8 += m_A34 * V[12]; + V[8] = (RHS8 - tmp8) / m_A30; double tmp7 = 0.0; - tmp7 += m_A23 * V[8]; - V[7] = (RHS7 - tmp7) / m_A22; + tmp7 += m_A22 * V[8]; + tmp7 += m_A23 * V[9]; + tmp7 += m_A24 * V[10]; + tmp7 += m_A25 * V[11]; + tmp7 += m_A26 * V[12]; + V[7] = (RHS7 - tmp7) / m_A21; double tmp6 = 0.0; - tmp6 += m_A15 * V[7]; - tmp6 += m_A16 * V[8]; - V[6] = (RHS6 - tmp6) / m_A14; + tmp6 += m_A13 * V[7]; + tmp6 += m_A14 * V[8]; + tmp6 += m_A15 * V[9]; + tmp6 += m_A16 * V[10]; + tmp6 += m_A17 * V[11]; + tmp6 += m_A18 * V[12]; + V[6] = (RHS6 - tmp6) / m_A12; double tmp5 = 0.0; - tmp5 += m_A12 * V[7]; - V[5] = (RHS5 - tmp5) / m_A11; + tmp5 += m_A11 * V[8]; + V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A10 * V[8]; - V[4] = (RHS4 - tmp4) / m_A9; + tmp4 += m_A9 * V[9]; + V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[6]; - tmp3 += m_A8 * V[8]; + tmp3 += m_A7 * V[11]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[7]; + tmp2 += m_A5 * V[12]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[7]; + tmp1 += m_A3 * V[10]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; tmp0 += m_A1 * V[7]; V[0] = (RHS0 - tmp0) / m_A0; } -// kidniki -static void nl_gcr_169c14d438ffb621_198_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// 280zzzap +static void nl_gcr_20d478ed5597161_123_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); -double m_A111(0.0); -double m_A112(0.0); -double m_A113(0.0); -double m_A114(0.0); -double m_A115(0.0); -double m_A116(0.0); -double m_A117(0.0); -double m_A118(0.0); -double m_A119(0.0); -double m_A120(0.0); -double m_A121(0.0); -double m_A122(0.0); -double m_A123(0.0); -double m_A124(0.0); -double m_A125(0.0); -double m_A126(0.0); -double m_A127(0.0); -double m_A128(0.0); -double m_A129(0.0); -double m_A130(0.0); -double m_A131(0.0); -double m_A132(0.0); -double m_A133(0.0); -double m_A134(0.0); -double m_A135(0.0); -double m_A136(0.0); -double m_A137(0.0); -double m_A138(0.0); -double m_A139(0.0); -double m_A140(0.0); -double m_A141(0.0); -double m_A142(0.0); -double m_A143(0.0); -double m_A144(0.0); -double m_A145(0.0); -double m_A146(0.0); -double m_A147(0.0); -double m_A148(0.0); -double m_A149(0.0); -double m_A150(0.0); -double m_A151(0.0); -double m_A152(0.0); -double m_A153(0.0); -double m_A154(0.0); -double m_A155(0.0); -double m_A156(0.0); -double m_A157(0.0); -double m_A158(0.0); -double m_A159(0.0); -double m_A160(0.0); -double m_A161(0.0); -double m_A162(0.0); -double m_A163(0.0); -double m_A164(0.0); -double m_A165(0.0); -double m_A166(0.0); -double m_A167(0.0); -double m_A168(0.0); -double m_A169(0.0); -double m_A170(0.0); -double m_A171(0.0); -double m_A172(0.0); -double m_A173(0.0); -double m_A174(0.0); -double m_A175(0.0); -double m_A176(0.0); -double m_A177(0.0); -double m_A178(0.0); -double m_A179(0.0); -double m_A180(0.0); -double m_A181(0.0); -double m_A182(0.0); -double m_A183(0.0); -double m_A184(0.0); -double m_A185(0.0); -double m_A186(0.0); -double m_A187(0.0); -double m_A188(0.0); -double m_A189(0.0); -double m_A190(0.0); -double m_A191(0.0); -double m_A192(0.0); -double m_A193(0.0); -double m_A194(0.0); -double m_A195(0.0); -double m_A196(0.0); -double m_A197(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A6 = m_A6 + go[16]; - m_A5 = m_A5 + go[17]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[18] * *cnV[18]; - m_A7 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30]; - m_A8 = m_A8 + go[24]; - m_A9 = m_A9 + go[25]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[26] * *cnV[26] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30]; - m_A10 = gt[32] + gt[33]; - m_A12 = m_A12 + go[32]; - m_A11 = m_A11 + go[33]; - double RHS4 = Idr[32] + Idr[33]; - m_A13 = gt[40] + gt[41]; - m_A14 = m_A14 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A15 = gt[48] + gt[49] + gt[50]; - m_A16 = m_A16 + go[48]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50]; - m_A17 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61] + gt[62]; - m_A19 = m_A19 + go[56]; - m_A18 = m_A18 + go[57]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61] + Idr[62] - go[58] * *cnV[58] - go[59] * *cnV[59] - go[60] * *cnV[60] - go[61] * *cnV[61] - go[62] * *cnV[62]; - m_A20 = gt[64] + gt[65]; - m_A21 = m_A21 + go[64]; - m_A22 = m_A22 + go[65]; - double RHS8 = Idr[64] + Idr[65]; - m_A23 = gt[72] + gt[73] + gt[74]; - m_A24 = m_A24 + go[72]; - m_A25 = m_A25 + go[73]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] - go[74] * *cnV[74]; - m_A26 = gt[80] + gt[81]; - m_A27 = m_A27 + go[80]; - double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81]; - m_A28 = gt[88] + gt[89] + gt[90] + gt[91]; - m_A30 = m_A30 + go[88]; - m_A29 = m_A29 + go[89]; - m_A29 = m_A29 + go[90]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[91] * *cnV[91]; - m_A31 = gt[96] + gt[97]; - m_A33 = m_A33 + go[96]; - m_A32 = m_A32 + go[97]; - double RHS12 = Idr[96] + Idr[97]; - m_A34 = gt[104] + gt[105] + gt[106]; - m_A36 = m_A36 + go[104]; - m_A35 = m_A35 + go[105]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] - go[106] * *cnV[106]; - m_A37 = gt[112] + gt[113] + gt[114]; - m_A38 = m_A38 + go[112]; - m_A39 = m_A39 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114]; - m_A40 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124]; - m_A42 = m_A42 + go[120]; - m_A41 = m_A41 + go[121]; - m_A41 = m_A41 + go[122]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124] - go[123] * *cnV[123] - go[124] * *cnV[124]; - m_A43 = gt[128] + gt[129] + gt[130] + gt[131]; - m_A44 = m_A44 + go[128]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[129] * *cnV[129] - go[130] * *cnV[130] - go[131] * *cnV[131]; - m_A45 = gt[136] + gt[137] + gt[138] + gt[139]; - m_A46 = m_A46 + go[136]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] - go[137] * *cnV[137] - go[138] * *cnV[138] - go[139] * *cnV[139]; - m_A47 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148]; - m_A49 = m_A49 + go[144]; - m_A49 = m_A49 + go[145]; - m_A48 = m_A48 + go[146]; - double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] - go[147] * *cnV[147] - go[148] * *cnV[148]; - m_A50 = gt[152] + gt[153] + gt[154] + gt[155] + gt[156]; - m_A53 = m_A53 + go[152]; - m_A52 = m_A52 + go[153]; - m_A51 = m_A51 + go[154]; - m_A51 = m_A51 + go[155]; - double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] + Idr[156] - go[156] * *cnV[156]; - m_A54 = gt[160] + gt[161] + gt[162] + gt[163]; - m_A57 = m_A57 + go[160]; - m_A56 = m_A56 + go[161]; - m_A55 = m_A55 + go[162]; - double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] - go[163] * *cnV[163]; - m_A58 = gt[168] + gt[169] + gt[170]; - m_A59 = m_A59 + go[168]; - m_A60 = m_A60 + go[169]; - double RHS21 = Idr[168] + Idr[169] + Idr[170] - go[170] * *cnV[170]; - m_A61 = gt[176] + gt[177]; - m_A62 = m_A62 + go[176]; - m_A63 = m_A63 + go[177]; - double RHS22 = Idr[176] + Idr[177]; - m_A64 = gt[184] + gt[185]; - m_A65 = m_A65 + go[184]; - m_A66 = m_A66 + go[185]; - double RHS23 = Idr[184] + Idr[185]; - m_A69 = gt[192] + gt[193] + gt[194] + gt[195]; - m_A68 = m_A68 + go[192]; - m_A68 = m_A68 + go[193]; - m_A67 = m_A67 + go[194]; - double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[195] * *cnV[195]; - m_A75 = gt[200] + gt[201] + gt[202]; - m_A73 = m_A73 + go[200]; - m_A72 = m_A72 + go[201]; - double RHS25 = Idr[200] + Idr[201] + Idr[202] - go[202] * *cnV[202]; - m_A79 = gt[208] + gt[209] + gt[210]; - m_A78 = m_A78 + go[208]; - m_A77 = m_A77 + go[209]; - double RHS26 = Idr[208] + Idr[209] + Idr[210] - go[210] * *cnV[210]; - m_A83 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220] + gt[221]; - m_A82 = m_A82 + go[216]; - m_A82 = m_A82 + go[217]; - m_A81 = m_A81 + go[218]; - double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] + Idr[221] - go[219] * *cnV[219] - go[220] * *cnV[220] - go[221] * *cnV[221]; - m_A93 = gt[224] + gt[225] + gt[226]; - m_A87 = m_A87 + go[224]; - m_A89 = m_A89 + go[225]; - m_A88 = m_A88 + go[226]; - double RHS28 = Idr[224] + Idr[225] + Idr[226]; - m_A102 = gt[232] + gt[233] + gt[234]; - m_A99 = m_A99 + go[232]; - m_A98 = m_A98 + go[233]; - m_A97 = m_A97 + go[234]; - double RHS29 = Idr[232] + Idr[233] + Idr[234]; - m_A110 = gt[240] + gt[241] + gt[242] + gt[243]; - m_A107 = m_A107 + go[240]; - m_A106 = m_A106 + go[241]; - m_A106 = m_A106 + go[242]; - double RHS30 = Idr[240] + Idr[241] + Idr[242] + Idr[243] - go[243] * *cnV[243]; - m_A116 = gt[248] + gt[249] + gt[250] + gt[251] + gt[252] + gt[253]; - m_A114 = m_A114 + go[248]; - m_A115 = m_A115 + go[249]; - m_A115 = m_A115 + go[250]; - m_A117 = m_A117 + go[251]; - m_A117 = m_A117 + go[252]; - m_A113 = m_A113 + go[253]; - double RHS31 = Idr[248] + Idr[249] + Idr[250] + Idr[251] + Idr[252] + Idr[253]; - m_A120 = gt[256] + gt[257]; - m_A119 = m_A119 + go[256]; - double RHS32 = Idr[256] + Idr[257] - go[257] * *cnV[257]; - m_A123 = gt[264] + gt[265]; - m_A122 = m_A122 + go[264]; - m_A124 = m_A124 + go[265]; - double RHS33 = Idr[264] + Idr[265]; - m_A126 = gt[272] + gt[273] + gt[274] + gt[275] + gt[276] + gt[277] + gt[278]; - m_A125 = m_A125 + go[272]; - m_A127 = m_A127 + go[273]; - double RHS34 = Idr[272] + Idr[273] + Idr[274] + Idr[275] + Idr[276] + Idr[277] + Idr[278] - go[274] * *cnV[274] - go[275] * *cnV[275] - go[276] * *cnV[276] - go[277] * *cnV[277] - go[278] * *cnV[278]; - m_A129 = gt[280] + gt[281]; - m_A128 = m_A128 + go[280]; - double RHS35 = Idr[280] + Idr[281] - go[281] * *cnV[281]; - m_A133 = gt[288] + gt[289] + gt[290] + gt[291] + gt[292] + gt[293]; - m_A132 = m_A132 + go[288]; - m_A135 = m_A135 + go[289]; - m_A131 = m_A131 + go[290]; - double RHS36 = Idr[288] + Idr[289] + Idr[290] + Idr[291] + Idr[292] + Idr[293] - go[291] * *cnV[291] - go[292] * *cnV[292] - go[293] * *cnV[293]; - m_A139 = gt[296] + gt[297] + gt[298] + gt[299] + gt[300] + gt[301]; - m_A136 = m_A136 + go[296]; - m_A137 = m_A137 + go[297]; - m_A141 = m_A141 + go[298]; - m_A138 = m_A138 + go[299]; - double RHS37 = Idr[296] + Idr[297] + Idr[298] + Idr[299] + Idr[300] + Idr[301] - go[300] * *cnV[300] - go[301] * *cnV[301]; - m_A149 = gt[304] + gt[305] + gt[306] + gt[307] + gt[308] + gt[309]; - m_A145 = m_A145 + go[304]; - m_A144 = m_A144 + go[305]; - m_A142 = m_A142 + go[306]; - m_A143 = m_A143 + go[307]; - m_A152 = m_A152 + go[308]; - double RHS38 = Idr[304] + Idr[305] + Idr[306] + Idr[307] + Idr[308] + Idr[309] - go[309] * *cnV[309]; - m_A157 = gt[312] + gt[313] + gt[314] + gt[315] + gt[316]; - m_A154 = m_A154 + go[312]; - m_A153 = m_A153 + go[313]; - m_A155 = m_A155 + go[314]; - m_A155 = m_A155 + go[315]; - double RHS39 = Idr[312] + Idr[313] + Idr[314] + Idr[315] + Idr[316] - go[316] * *cnV[316]; - m_A164 = gt[320] + gt[321] + gt[322] + gt[323] + gt[324]; - m_A162 = m_A162 + go[320]; - m_A165 = m_A165 + go[321]; - m_A165 = m_A165 + go[322]; - m_A161 = m_A161 + go[323]; - m_A163 = m_A163 + go[324]; - double RHS40 = Idr[320] + Idr[321] + Idr[322] + Idr[323] + Idr[324]; - m_A174 = gt[328] + gt[329] + gt[330]; - m_A167 = m_A167 + go[328]; - m_A166 = m_A166 + go[329]; - m_A171 = m_A171 + go[330]; - double RHS41 = Idr[328] + Idr[329] + Idr[330]; - m_A182 = gt[336] + gt[337] + gt[338]; - m_A177 = m_A177 + go[336]; - m_A178 = m_A178 + go[337]; - m_A179 = m_A179 + go[338]; - double RHS42 = Idr[336] + Idr[337] + Idr[338]; - m_A197 = gt[344] + gt[345] + gt[346] + gt[347] + gt[348] + gt[349] + gt[350] + gt[351]; - m_A192 = m_A192 + go[344]; - m_A185 = m_A185 + go[345]; - m_A186 = m_A186 + go[346]; - m_A184 = m_A184 + go[347]; - m_A194 = m_A194 + go[348]; - m_A194 = m_A194 + go[349]; - double RHS43 = Idr[344] + Idr[345] + Idr[346] + Idr[347] + Idr[348] + Idr[349] + Idr[350] + Idr[351] - go[350] * *cnV[350] - go[351] * *cnV[351]; -const double f0 = 1.0 / m_A0; - const double f0_33 = -f0 * m_A122; - m_A123 += m_A1 * f0_33; - RHS33 += f0_33 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_34 = -f1 * m_A125; - m_A127 += m_A3 * f1_34; - RHS34 += f1_34 * RHS1; - const double f1_40 = -f1 * m_A161; - m_A164 += m_A3 * f1_40; - RHS40 += f1_40 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_40 = -f2 * m_A162; - m_A164 += m_A5 * f2_40; - m_A165 += m_A6 * f2_40; - RHS40 += f2_40 * RHS2; - const double f2_43 = -f2 * m_A184; - m_A194 += m_A5 * f2_43; - m_A197 += m_A6 * f2_43; - RHS43 += f2_43 * RHS2; -const double f3 = 1.0 / m_A7; - const double f3_37 = -f3 * m_A136; - m_A138 += m_A8 * f3_37; - m_A139 += m_A9 * f3_37; - RHS37 += f3_37 * RHS3; -const double f4 = 1.0 / m_A10; - const double f4_37 = -f4 * m_A137; - m_A139 += m_A11 * f4_37; - m_A140 += m_A12 * f4_37; - RHS37 += f4_37 * RHS4; - const double f4_38 = -f4 * m_A142; - m_A148 += m_A11 * f4_38; - m_A149 += m_A12 * f4_38; - RHS38 += f4_38 * RHS4; -const double f5 = 1.0 / m_A13; - const double f5_42 = -f5 * m_A177; - m_A182 += m_A14 * f5_42; - RHS42 += f5_42 * RHS5; -const double f6 = 1.0 / m_A15; - const double f6_36 = -f6 * m_A131; - m_A133 += m_A16 * f6_36; - RHS36 += f6_36 * RHS6; -const double f7 = 1.0 / m_A17; - const double f7_36 = -f7 * m_A132; - m_A134 += m_A18 * f7_36; - m_A135 += m_A19 * f7_36; - RHS36 += f7_36 * RHS7; -const double f8 = 1.0 / m_A20; - const double f8_27 = -f8 * m_A81; - m_A83 += m_A21 * f8_27; - m_A86 += m_A22 * f8_27; - RHS27 += f8_27 * RHS8; - const double f8_43 = -f8 * m_A185; - m_A187 += m_A21 * f8_43; - m_A197 += m_A22 * f8_43; - RHS43 += f8_43 * RHS8; -const double f9 = 1.0 / m_A23; - const double f9_31 = -f9 * m_A113; - m_A116 += m_A24 * f9_31; - m_A118 += m_A25 * f9_31; - RHS31 += f9_31 * RHS9; - const double f9_43 = -f9 * m_A186; - m_A191 += m_A24 * f9_43; - m_A197 += m_A25 * f9_43; - RHS43 += f9_43 * RHS9; -const double f10 = 1.0 / m_A26; - const double f10_31 = -f10 * m_A114; - m_A116 += m_A27 * f10_31; - RHS31 += f10_31 * RHS10; -const double f11 = 1.0 / m_A28; - const double f11_31 = -f11 * m_A115; - m_A116 += m_A29 * f11_31; - m_A117 += m_A30 * f11_31; - RHS31 += f11_31 * RHS11; - const double f11_39 = -f11 * m_A153; - m_A155 += m_A29 * f11_39; - m_A157 += m_A30 * f11_39; - RHS39 += f11_39 * RHS11; -const double f12 = 1.0 / m_A31; - const double f12_38 = -f12 * m_A143; - m_A149 += m_A32 * f12_38; - m_A150 += m_A33 * f12_38; - RHS38 += f12_38 * RHS12; - const double f12_39 = -f12 * m_A154; - m_A156 += m_A32 * f12_39; - m_A157 += m_A33 * f12_39; - RHS39 += f12_39 * RHS12; -const double f13 = 1.0 / m_A34; - const double f13_37 = -f13 * m_A138; - m_A139 += m_A35 * f13_37; - m_A141 += m_A36 * f13_37; - RHS37 += f13_37 * RHS13; - const double f13_41 = -f13 * m_A166; - m_A171 += m_A35 * f13_41; - m_A174 += m_A36 * f13_41; - RHS41 += f13_41 * RHS13; -const double f14 = 1.0 / m_A37; - const double f14_24 = -f14 * m_A67; - m_A69 += m_A38 * f14_24; - m_A71 += m_A39 * f14_24; - RHS24 += f14_24 * RHS14; - const double f14_28 = -f14 * m_A87; - m_A90 += m_A38 * f14_28; - m_A93 += m_A39 * f14_28; - RHS28 += f14_28 * RHS14; -const double f15 = 1.0 / m_A40; - const double f15_24 = -f15 * m_A68; - m_A69 += m_A41 * f15_24; - m_A70 += m_A42 * f15_24; - RHS24 += f15_24 * RHS15; - const double f15_25 = -f15 * m_A72; - m_A74 += m_A41 * f15_25; - m_A75 += m_A42 * f15_25; - RHS25 += f15_25 * RHS15; -const double f16 = 1.0 / m_A43; - const double f16_25 = -f16 * m_A73; - m_A75 += m_A44 * f16_25; - RHS25 += f16_25 * RHS16; -const double f17 = 1.0 / m_A45; - const double f17_26 = -f17 * m_A77; - m_A79 += m_A46 * f17_26; - RHS26 += f17_26 * RHS17; -const double f18 = 1.0 / m_A47; - const double f18_26 = -f18 * m_A78; - m_A79 += m_A48 * f18_26; - m_A80 += m_A49 * f18_26; - RHS26 += f18_26 * RHS18; - const double f18_30 = -f18 * m_A106; - m_A108 += m_A48 * f18_30; - m_A110 += m_A49 * f18_30; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + double m_A116(0.0); + double m_A117(0.0); + double m_A118(0.0); + double m_A119(0.0); + double m_A120(0.0); + double m_A121(0.0); + double m_A122(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A5 += go[5]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 -= go[6] * *cnV[6]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + RHS2 -= go[10] * *cnV[10]; + RHS2 -= go[11] * *cnV[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A7 += go[12]; + double RHS3 = Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A8 += gt[17]; + m_A8 += gt[18]; + m_A8 += gt[19]; + m_A8 += gt[20]; + m_A8 += gt[21]; + m_A9 += go[15]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 -= go[16] * *cnV[16]; + RHS4 -= go[17] * *cnV[17]; + RHS4 -= go[18] * *cnV[18]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + m_A10 += gt[22]; + m_A10 += gt[23]; + m_A11 += go[22]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[23] * *cnV[23]; + m_A12 += gt[24]; + m_A12 += gt[25]; + m_A14 += go[24]; + m_A13 += go[25]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + m_A15 += gt[26]; + m_A15 += gt[27]; + m_A16 += go[26]; + double RHS7 = Idr[26]; + RHS7 += Idr[27]; + RHS7 -= go[27] * *cnV[27]; + m_A17 += gt[28]; + m_A17 += gt[29]; + m_A18 += go[28]; + double RHS8 = Idr[28]; + RHS8 += Idr[29]; + RHS8 -= go[29] * *cnV[29]; + m_A19 += gt[30]; + m_A19 += gt[31]; + m_A19 += gt[32]; + m_A19 += gt[33]; + m_A19 += gt[34]; + m_A19 += gt[35]; + m_A19 += gt[36]; + m_A20 += go[30]; + double RHS9 = Idr[30]; + RHS9 += Idr[31]; + RHS9 += Idr[32]; + RHS9 += Idr[33]; + RHS9 += Idr[34]; + RHS9 += Idr[35]; + RHS9 += Idr[36]; + RHS9 -= go[31] * *cnV[31]; + RHS9 -= go[32] * *cnV[32]; + RHS9 -= go[33] * *cnV[33]; + RHS9 -= go[34] * *cnV[34]; + RHS9 -= go[35] * *cnV[35]; + RHS9 -= go[36] * *cnV[36]; + m_A21 += gt[37]; + m_A21 += gt[38]; + m_A21 += gt[39]; + m_A22 += go[37]; + double RHS10 = Idr[37]; + RHS10 += Idr[38]; + RHS10 += Idr[39]; + RHS10 -= go[38] * *cnV[38]; + RHS10 -= go[39] * *cnV[39]; + m_A23 += gt[40]; + m_A23 += gt[41]; + m_A23 += gt[42]; + m_A23 += gt[43]; + m_A24 += go[40]; + double RHS11 = Idr[40]; + RHS11 += Idr[41]; + RHS11 += Idr[42]; + RHS11 += Idr[43]; + RHS11 -= go[41] * *cnV[41]; + RHS11 -= go[42] * *cnV[42]; + RHS11 -= go[43] * *cnV[43]; + m_A25 += gt[44]; + m_A25 += gt[45]; + m_A25 += gt[46]; + m_A25 += gt[47]; + m_A25 += gt[48]; + m_A25 += gt[49]; + m_A25 += gt[50]; + m_A26 += go[44]; + double RHS12 = Idr[44]; + RHS12 += Idr[45]; + RHS12 += Idr[46]; + RHS12 += Idr[47]; + RHS12 += Idr[48]; + RHS12 += Idr[49]; + RHS12 += Idr[50]; + RHS12 -= go[45] * *cnV[45]; + RHS12 -= go[46] * *cnV[46]; + RHS12 -= go[47] * *cnV[47]; + RHS12 -= go[48] * *cnV[48]; + RHS12 -= go[49] * *cnV[49]; + RHS12 -= go[50] * *cnV[50]; + m_A27 += gt[51]; + m_A27 += gt[52]; + m_A28 += go[51]; + double RHS13 = Idr[51]; + RHS13 += Idr[52]; + RHS13 -= go[52] * *cnV[52]; + m_A29 += gt[53]; + m_A29 += gt[54]; + m_A30 += go[53]; + double RHS14 = Idr[53]; + RHS14 += Idr[54]; + RHS14 -= go[54] * *cnV[54]; + m_A31 += gt[55]; + m_A31 += gt[56]; + m_A32 += go[55]; + double RHS15 = Idr[55]; + RHS15 += Idr[56]; + RHS15 -= go[56] * *cnV[56]; + m_A33 += gt[57]; + m_A33 += gt[58]; + m_A33 += gt[59]; + m_A33 += gt[60]; + m_A35 += go[57]; + m_A34 += go[58]; + double RHS16 = Idr[57]; + RHS16 += Idr[58]; + RHS16 += Idr[59]; + RHS16 += Idr[60]; + RHS16 -= go[59] * *cnV[59]; + RHS16 -= go[60] * *cnV[60]; + m_A36 += gt[61]; + m_A36 += gt[62]; + m_A36 += gt[63]; + m_A37 += go[61]; + double RHS17 = Idr[61]; + RHS17 += Idr[62]; + RHS17 += Idr[63]; + RHS17 -= go[62] * *cnV[62]; + RHS17 -= go[63] * *cnV[63]; + m_A38 += gt[64]; + m_A38 += gt[65]; + m_A39 += go[64]; + double RHS18 = Idr[64]; + RHS18 += Idr[65]; + RHS18 -= go[65] * *cnV[65]; + m_A40 += gt[66]; + m_A40 += gt[67]; + m_A41 += go[66]; + double RHS19 = Idr[66]; + RHS19 += Idr[67]; + RHS19 -= go[67] * *cnV[67]; + m_A43 += gt[68]; + m_A43 += gt[69]; + m_A43 += gt[70]; + m_A43 += gt[71]; + m_A42 += go[68]; + double RHS20 = Idr[68]; + RHS20 += Idr[69]; + RHS20 += Idr[70]; + RHS20 += Idr[71]; + RHS20 -= go[69] * *cnV[69]; + RHS20 -= go[70] * *cnV[70]; + RHS20 -= go[71] * *cnV[71]; + m_A47 += gt[72]; + m_A47 += gt[73]; + m_A46 += go[72]; + m_A45 += go[73]; + double RHS21 = Idr[72]; + RHS21 += Idr[73]; + m_A51 += gt[74]; + m_A51 += gt[75]; + m_A49 += go[74]; + double RHS22 = Idr[74]; + RHS22 += Idr[75]; + RHS22 -= go[75] * *cnV[75]; + m_A54 += gt[76]; + m_A54 += gt[77]; + m_A54 += gt[78]; + m_A53 += go[76]; + m_A52 += go[77]; + double RHS23 = Idr[76]; + RHS23 += Idr[77]; + RHS23 += Idr[78]; + RHS23 -= go[78] * *cnV[78]; + m_A56 += gt[79]; + m_A56 += gt[80]; + m_A56 += gt[81]; + m_A56 += gt[82]; + m_A55 += go[79]; + m_A57 += go[80]; + double RHS24 = Idr[79]; + RHS24 += Idr[80]; + RHS24 += Idr[81]; + RHS24 += Idr[82]; + RHS24 -= go[81] * *cnV[81]; + RHS24 -= go[82] * *cnV[82]; + m_A59 += gt[83]; + m_A59 += gt[84]; + m_A59 += gt[85]; + m_A59 += gt[86]; + m_A58 += go[83]; + m_A60 += go[84]; + double RHS25 = Idr[83]; + RHS25 += Idr[84]; + RHS25 += Idr[85]; + RHS25 += Idr[86]; + RHS25 -= go[85] * *cnV[85]; + RHS25 -= go[86] * *cnV[86]; + m_A62 += gt[87]; + m_A62 += gt[88]; + m_A63 += go[87]; + m_A61 += go[88]; + double RHS26 = Idr[87]; + RHS26 += Idr[88]; + m_A67 += gt[89]; + m_A67 += gt[90]; + m_A67 += gt[91]; + m_A67 += gt[92]; + m_A67 += gt[93]; + m_A67 += gt[94]; + m_A64 += go[89]; + m_A65 += go[90]; + m_A69 += go[91]; + m_A68 += go[92]; + double RHS27 = Idr[89]; + RHS27 += Idr[90]; + RHS27 += Idr[91]; + RHS27 += Idr[92]; + RHS27 += Idr[93]; + RHS27 += Idr[94]; + RHS27 -= go[93] * *cnV[93]; + RHS27 -= go[94] * *cnV[94]; + m_A72 += gt[95]; + m_A72 += gt[96]; + m_A72 += gt[97]; + m_A72 += gt[98]; + m_A71 += go[95]; + m_A73 += go[96]; + double RHS28 = Idr[95]; + RHS28 += Idr[96]; + RHS28 += Idr[97]; + RHS28 += Idr[98]; + RHS28 -= go[97] * *cnV[97]; + RHS28 -= go[98] * *cnV[98]; + m_A76 += gt[99]; + m_A76 += gt[100]; + m_A76 += gt[101]; + m_A76 += gt[102]; + m_A77 += go[99]; + m_A78 += go[100]; + m_A74 += go[101]; + m_A75 += go[102]; + double RHS29 = Idr[99]; + RHS29 += Idr[100]; + RHS29 += Idr[101]; + RHS29 += Idr[102]; + m_A81 += gt[103]; + m_A81 += gt[104]; + m_A81 += gt[105]; + m_A80 += go[103]; + m_A79 += go[104]; + double RHS30 = Idr[103]; + RHS30 += Idr[104]; + RHS30 += Idr[105]; + RHS30 -= go[105] * *cnV[105]; + m_A84 += gt[106]; + m_A84 += gt[107]; + m_A82 += go[106]; + m_A83 += go[107]; + double RHS31 = Idr[106]; + RHS31 += Idr[107]; + m_A91 += gt[108]; + m_A91 += gt[109]; + m_A91 += gt[110]; + m_A91 += gt[111]; + m_A91 += gt[112]; + m_A86 += go[108]; + m_A90 += go[109]; + m_A88 += go[110]; + m_A85 += go[111]; + m_A87 += go[112]; + double RHS32 = Idr[108]; + RHS32 += Idr[109]; + RHS32 += Idr[110]; + RHS32 += Idr[111]; + RHS32 += Idr[112]; + m_A99 += gt[113]; + m_A99 += gt[114]; + m_A99 += gt[115]; + m_A99 += gt[116]; + m_A99 += gt[117]; + m_A96 += go[113]; + m_A100 += go[114]; + m_A97 += go[115]; + m_A94 += go[116]; + m_A95 += go[117]; + double RHS33 = Idr[113]; + RHS33 += Idr[114]; + RHS33 += Idr[115]; + RHS33 += Idr[116]; + RHS33 += Idr[117]; + m_A106 += gt[118]; + m_A106 += gt[119]; + m_A106 += gt[120]; + m_A106 += gt[121]; + m_A103 += go[118]; + m_A104 += go[119]; + m_A101 += go[120]; + m_A102 += go[121]; + double RHS34 = Idr[118]; + RHS34 += Idr[119]; + RHS34 += Idr[120]; + RHS34 += Idr[121]; + m_A111 += gt[122]; + m_A111 += gt[123]; + m_A111 += gt[124]; + m_A111 += gt[125]; + m_A108 += go[122]; + m_A109 += go[123]; + double RHS35 = Idr[122]; + RHS35 += Idr[123]; + RHS35 += Idr[124]; + RHS35 += Idr[125]; + RHS35 -= go[124] * *cnV[124]; + RHS35 -= go[125] * *cnV[125]; + m_A122 += gt[126]; + m_A122 += gt[127]; + m_A122 += gt[128]; + m_A122 += gt[129]; + m_A122 += gt[130]; + m_A122 += gt[131]; + m_A113 += go[126]; + m_A117 += go[127]; + m_A120 += go[128]; + m_A114 += go[129]; + double RHS36 = Idr[126]; + RHS36 += Idr[127]; + RHS36 += Idr[128]; + RHS36 += Idr[129]; + RHS36 += Idr[130]; + RHS36 += Idr[131]; + RHS36 -= go[130] * *cnV[130]; + RHS36 -= go[131] * *cnV[131]; + const double f0 = 1.0 / m_A0; + const double f0_24 = -f0 * m_A55; + m_A57 += m_A1 * f0_24; + RHS24 += f0_24 * RHS0; + const double f0_32 = -f0 * m_A85; + m_A91 += m_A1 * f0_32; + RHS32 += f0_32 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_32 = -f1 * m_A86; + m_A91 += m_A3 * f1_32; + RHS32 += f1_32 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_27 = -f2 * m_A64; + m_A66 += m_A5 * f2_27; + RHS27 += f2_27 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_25 = -f3 * m_A58; + m_A60 += m_A7 * f3_25; + RHS25 += f3_25 * RHS3; + const double f3_34 = -f3 * m_A101; + m_A106 += m_A7 * f3_34; + RHS34 += f3_34 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_20 = -f4 * m_A42; + m_A44 += m_A9 * f4_20; + RHS20 += f4_20 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_21 = -f5 * m_A45; + m_A47 += m_A11 * f5_21; + RHS21 += f5_21 * RHS5; + const double f5_32 = -f5 * m_A87; + m_A88 += m_A11 * f5_32; + RHS32 += f5_32 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_21 = -f6 * m_A46; + m_A47 += m_A13 * f6_21; + m_A48 += m_A14 * f6_21; + RHS21 += f6_21 * RHS6; + const double f6_22 = -f6 * m_A49; + m_A50 += m_A13 * f6_22; + m_A51 += m_A14 * f6_22; + RHS22 += f6_22 * RHS6; + const double f7 = 1.0 / m_A15; + const double f7_23 = -f7 * m_A52; + m_A54 += m_A16 * f7_23; + RHS23 += f7_23 * RHS7; + const double f7_34 = -f7 * m_A102; + m_A103 += m_A16 * f7_34; + RHS34 += f7_34 * RHS7; + const double f8 = 1.0 / m_A17; + const double f8_23 = -f8 * m_A53; + m_A54 += m_A18 * f8_23; + RHS23 += f8_23 * RHS8; + const double f9 = 1.0 / m_A19; + const double f9_36 = -f9 * m_A113; + m_A116 += m_A20 * f9_36; + RHS36 += f9_36 * RHS9; + const double f10 = 1.0 / m_A21; + const double f10_28 = -f10 * m_A71; + m_A73 += m_A22 * f10_28; + RHS28 += f10_28 * RHS10; + const double f10_33 = -f10 * m_A94; + m_A99 += m_A22 * f10_33; + RHS33 += f10_33 * RHS10; + const double f13 = 1.0 / m_A27; + const double f13_26 = -f13 * m_A61; + m_A62 += m_A28 * f13_26; + RHS26 += f13_26 * RHS13; + const double f13_33 = -f13 * m_A95; + m_A97 += m_A28 * f13_33; + RHS33 += f13_33 * RHS13; + const double f14 = 1.0 / m_A29; + const double f14_33 = -f14 * m_A96; + m_A99 += m_A30 * f14_33; + RHS33 += f14_33 * RHS14; + const double f15 = 1.0 / m_A31; + const double f15_31 = -f15 * m_A82; + m_A84 += m_A32 * f15_31; + RHS31 += f15_31 * RHS15; + const double f16 = 1.0 / m_A33; + const double f16_27 = -f16 * m_A65; + m_A67 += m_A34 * f16_27; + m_A70 += m_A35 * f16_27; + RHS27 += f16_27 * RHS16; + const double f16_36 = -f16 * m_A114; + m_A115 += m_A34 * f16_36; + m_A122 += m_A35 * f16_36; + RHS36 += f16_36 * RHS16; + const double f17 = 1.0 / m_A36; + const double f17_29 = -f17 * m_A74; + m_A76 += m_A37 * f17_29; + RHS29 += f17_29 * RHS17; + const double f17_35 = -f17 * m_A108; + m_A109 += m_A37 * f17_35; + RHS35 += f17_35 * RHS17; + const double f18 = 1.0 / m_A38; + const double f18_29 = -f18 * m_A75; + m_A77 += m_A39 * f18_29; + RHS29 += f18_29 * RHS18; + const double f18_30 = -f18 * m_A79; + m_A81 += m_A39 * f18_30; RHS30 += f18_30 * RHS18; -const double f19 = 1.0 / m_A50; - const double f19_27 = -f19 * m_A82; - m_A83 += m_A51 * f19_27; - m_A84 += m_A52 * f19_27; - m_A85 += m_A53 * f19_27; - RHS27 += f19_27 * RHS19; - const double f19_28 = -f19 * m_A88; - m_A92 += m_A51 * f19_28; - m_A93 += m_A52 * f19_28; - m_A94 += m_A53 * f19_28; - RHS28 += f19_28 * RHS19; - const double f19_29 = -f19 * m_A97; - m_A100 += m_A51 * f19_29; - m_A101 += m_A52 * f19_29; - m_A102 += m_A53 * f19_29; - RHS29 += f19_29 * RHS19; -const double f20 = 1.0 / m_A54; - const double f20_28 = -f20 * m_A89; - m_A93 += m_A55 * f20_28; - m_A94 += m_A56 * f20_28; - m_A95 += m_A57 * f20_28; - RHS28 += f20_28 * RHS20; - const double f20_29 = -f20 * m_A98; - m_A101 += m_A55 * f20_29; - m_A102 += m_A56 * f20_29; - m_A104 += m_A57 * f20_29; - RHS29 += f20_29 * RHS20; - const double f20_41 = -f20 * m_A167; - m_A168 += m_A55 * f20_41; - m_A169 += m_A56 * f20_41; - m_A174 += m_A57 * f20_41; - RHS41 += f20_41 * RHS20; -const double f21 = 1.0 / m_A58; - const double f21_29 = -f21 * m_A99; - m_A102 += m_A59 * f21_29; - m_A103 += m_A60 * f21_29; - RHS29 += f21_29 * RHS21; - const double f21_30 = -f21 * m_A107; - m_A109 += m_A59 * f21_30; - m_A110 += m_A60 * f21_30; - RHS30 += f21_30 * RHS21; -const double f22 = 1.0 / m_A61; - const double f22_32 = -f22 * m_A119; - m_A120 += m_A62 * f22_32; - m_A121 += m_A63 * f22_32; + const double f19 = 1.0 / m_A40; + const double f19_30 = -f19 * m_A80; + m_A81 += m_A41 * f19_30; + RHS30 += f19_30 * RHS19; + const double f21 = 1.0 / m_A47; + const double f21_22 = -f21 * m_A50; + m_A51 += m_A48 * f21_22; + RHS22 += f21_22 * RHS21; + const double f21_32 = -f21 * m_A88; + m_A89 += m_A48 * f21_32; + RHS32 += f21_32 * RHS21; + const double f22 = 1.0 / m_A51; + const double f22_32 = -f22 * m_A89; RHS32 += f22_32 * RHS22; - const double f22_38 = -f22 * m_A144; - m_A146 += m_A62 * f22_38; - m_A149 += m_A63 * f22_38; - RHS38 += f22_38 * RHS22; -const double f23 = 1.0 / m_A64; - const double f23_35 = -f23 * m_A128; - m_A129 += m_A65 * f23_35; - m_A130 += m_A66 * f23_35; - RHS35 += f23_35 * RHS23; - const double f23_38 = -f23 * m_A145; - m_A147 += m_A65 * f23_38; - m_A149 += m_A66 * f23_38; - RHS38 += f23_38 * RHS23; -const double f24 = 1.0 / m_A69; - const double f24_25 = -f24 * m_A74; - m_A75 += m_A70 * f24_25; - m_A76 += m_A71 * f24_25; - RHS25 += f24_25 * RHS24; - const double f24_28 = -f24 * m_A90; - m_A91 += m_A70 * f24_28; - m_A93 += m_A71 * f24_28; - RHS28 += f24_28 * RHS24; -const double f25 = 1.0 / m_A75; - const double f25_28 = -f25 * m_A91; - m_A93 += m_A76 * f25_28; - RHS28 += f25_28 * RHS25; -const double f26 = 1.0 / m_A79; - const double f26_30 = -f26 * m_A108; - m_A110 += m_A80 * f26_30; - RHS30 += f26_30 * RHS26; -const double f27 = 1.0 / m_A83; - const double f27_28 = -f27 * m_A92; - m_A93 += m_A84 * f27_28; - m_A94 += m_A85 * f27_28; - m_A96 += m_A86 * f27_28; - RHS28 += f27_28 * RHS27; - const double f27_29 = -f27 * m_A100; - m_A101 += m_A84 * f27_29; - m_A102 += m_A85 * f27_29; - m_A105 += m_A86 * f27_29; - RHS29 += f27_29 * RHS27; - const double f27_43 = -f27 * m_A187; - m_A188 += m_A84 * f27_43; - m_A189 += m_A85 * f27_43; - m_A197 += m_A86 * f27_43; - RHS43 += f27_43 * RHS27; -const double f28 = 1.0 / m_A93; - const double f28_29 = -f28 * m_A101; - m_A102 += m_A94 * f28_29; - m_A104 += m_A95 * f28_29; - m_A105 += m_A96 * f28_29; - RHS29 += f28_29 * RHS28; - const double f28_41 = -f28 * m_A168; - m_A169 += m_A94 * f28_41; - m_A174 += m_A95 * f28_41; - m_A176 += m_A96 * f28_41; - RHS41 += f28_41 * RHS28; - const double f28_43 = -f28 * m_A188; - m_A189 += m_A94 * f28_43; - m_A195 += m_A95 * f28_43; - m_A197 += m_A96 * f28_43; - RHS43 += f28_43 * RHS28; -const double f29 = 1.0 / m_A102; - const double f29_30 = -f29 * m_A109; - m_A110 += m_A103 * f29_30; - m_A111 += m_A104 * f29_30; - m_A112 += m_A105 * f29_30; - RHS30 += f29_30 * RHS29; - const double f29_41 = -f29 * m_A169; - m_A170 += m_A103 * f29_41; - m_A174 += m_A104 * f29_41; - m_A176 += m_A105 * f29_41; - RHS41 += f29_41 * RHS29; - const double f29_43 = -f29 * m_A189; - m_A190 += m_A103 * f29_43; - m_A195 += m_A104 * f29_43; - m_A197 += m_A105 * f29_43; - RHS43 += f29_43 * RHS29; -const double f30 = 1.0 / m_A110; - const double f30_41 = -f30 * m_A170; - m_A174 += m_A111 * f30_41; - m_A176 += m_A112 * f30_41; - RHS41 += f30_41 * RHS30; - const double f30_43 = -f30 * m_A190; - m_A195 += m_A111 * f30_43; - m_A197 += m_A112 * f30_43; - RHS43 += f30_43 * RHS30; -const double f31 = 1.0 / m_A116; - const double f31_39 = -f31 * m_A155; - m_A157 += m_A117 * f31_39; - m_A160 += m_A118 * f31_39; - RHS39 += f31_39 * RHS31; - const double f31_43 = -f31 * m_A191; - m_A193 += m_A117 * f31_43; - m_A197 += m_A118 * f31_43; - RHS43 += f31_43 * RHS31; -const double f32 = 1.0 / m_A120; - const double f32_38 = -f32 * m_A146; - m_A149 += m_A121 * f32_38; - RHS38 += f32_38 * RHS32; -const double f33 = 1.0 / m_A123; - const double f33_40 = -f33 * m_A163; - m_A164 += m_A124 * f33_40; - RHS40 += f33_40 * RHS33; -const double f34 = 1.0 / m_A126; - const double f34_43 = -f34 * m_A192; - m_A194 += m_A127 * f34_43; - RHS43 += f34_43 * RHS34; -const double f35 = 1.0 / m_A129; - const double f35_38 = -f35 * m_A147; - m_A149 += m_A130 * f35_38; - RHS38 += f35_38 * RHS35; -const double f36 = 1.0 / m_A133; - const double f36_42 = -f36 * m_A178; - m_A179 += m_A134 * f36_42; - m_A182 += m_A135 * f36_42; - RHS42 += f36_42 * RHS36; -const double f37 = 1.0 / m_A139; - const double f37_38 = -f37 * m_A148; - m_A149 += m_A140 * f37_38; - m_A151 += m_A141 * f37_38; - RHS38 += f37_38 * RHS37; - const double f37_41 = -f37 * m_A171; - m_A172 += m_A140 * f37_41; - m_A174 += m_A141 * f37_41; - RHS41 += f37_41 * RHS37; -const double f38 = 1.0 / m_A149; - const double f38_39 = -f38 * m_A156; - m_A157 += m_A150 * f38_39; - m_A158 += m_A151 * f38_39; - m_A159 += m_A152 * f38_39; - RHS39 += f38_39 * RHS38; - const double f38_41 = -f38 * m_A172; - m_A173 += m_A150 * f38_41; - m_A174 += m_A151 * f38_41; - m_A175 += m_A152 * f38_41; - RHS41 += f38_41 * RHS38; - const double f38_42 = -f38 * m_A179; - m_A180 += m_A150 * f38_42; - m_A181 += m_A151 * f38_42; - m_A182 += m_A152 * f38_42; - RHS42 += f38_42 * RHS38; -const double f39 = 1.0 / m_A157; - const double f39_41 = -f39 * m_A173; - m_A174 += m_A158 * f39_41; - m_A175 += m_A159 * f39_41; - m_A176 += m_A160 * f39_41; - RHS41 += f39_41 * RHS39; - const double f39_42 = -f39 * m_A180; - m_A181 += m_A158 * f39_42; - m_A182 += m_A159 * f39_42; - m_A183 += m_A160 * f39_42; - RHS42 += f39_42 * RHS39; - const double f39_43 = -f39 * m_A193; - m_A195 += m_A158 * f39_43; - m_A196 += m_A159 * f39_43; - m_A197 += m_A160 * f39_43; - RHS43 += f39_43 * RHS39; -const double f40 = 1.0 / m_A164; - const double f40_43 = -f40 * m_A194; - m_A197 += m_A165 * f40_43; - RHS43 += f40_43 * RHS40; -const double f41 = 1.0 / m_A174; - const double f41_42 = -f41 * m_A181; - m_A182 += m_A175 * f41_42; - m_A183 += m_A176 * f41_42; - RHS42 += f41_42 * RHS41; - const double f41_43 = -f41 * m_A195; - m_A196 += m_A175 * f41_43; - m_A197 += m_A176 * f41_43; - RHS43 += f41_43 * RHS41; -const double f42 = 1.0 / m_A182; - const double f42_43 = -f42 * m_A196; - m_A197 += m_A183 * f42_43; - RHS43 += f42_43 * RHS42; - V[43] = RHS43 / m_A197; - double tmp42 = 0.0; - tmp42 += m_A183 * V[43]; - V[42] = (RHS42 - tmp42) / m_A182; - double tmp41 = 0.0; - tmp41 += m_A175 * V[42]; - tmp41 += m_A176 * V[43]; - V[41] = (RHS41 - tmp41) / m_A174; - double tmp40 = 0.0; - tmp40 += m_A165 * V[43]; - V[40] = (RHS40 - tmp40) / m_A164; - double tmp39 = 0.0; - tmp39 += m_A158 * V[41]; - tmp39 += m_A159 * V[42]; - tmp39 += m_A160 * V[43]; - V[39] = (RHS39 - tmp39) / m_A157; - double tmp38 = 0.0; - tmp38 += m_A150 * V[39]; - tmp38 += m_A151 * V[41]; - tmp38 += m_A152 * V[42]; - V[38] = (RHS38 - tmp38) / m_A149; - double tmp37 = 0.0; - tmp37 += m_A140 * V[38]; - tmp37 += m_A141 * V[41]; - V[37] = (RHS37 - tmp37) / m_A139; - double tmp36 = 0.0; - tmp36 += m_A134 * V[38]; - tmp36 += m_A135 * V[42]; - V[36] = (RHS36 - tmp36) / m_A133; + const double f23 = 1.0 / m_A54; + const double f23_34 = -f23 * m_A103; + RHS34 += f23_34 * RHS23; + const double f24 = 1.0 / m_A56; + const double f24_27 = -f24 * m_A66; + m_A68 += m_A57 * f24_27; + RHS27 += f24_27 * RHS24; + const double f26 = 1.0 / m_A62; + const double f26_31 = -f26 * m_A83; + m_A84 += m_A63 * f26_31; + RHS31 += f26_31 * RHS26; + const double f26_33 = -f26 * m_A97; + m_A98 += m_A63 * f26_33; + RHS33 += f26_33 * RHS26; + const double f27 = 1.0 / m_A67; + const double f27_32 = -f27 * m_A90; + m_A91 += m_A68 * f27_32; + m_A92 += m_A69 * f27_32; + m_A93 += m_A70 * f27_32; + RHS32 += f27_32 * RHS27; + const double f27_34 = -f27 * m_A104; + m_A105 += m_A68 * f27_34; + m_A106 += m_A69 * f27_34; + m_A107 += m_A70 * f27_34; + RHS34 += f27_34 * RHS27; + const double f27_36 = -f27 * m_A115; + m_A119 += m_A68 * f27_36; + m_A121 += m_A69 * f27_36; + m_A122 += m_A70 * f27_36; + RHS36 += f27_36 * RHS27; + const double f28 = 1.0 / m_A72; + const double f28_36 = -f28 * m_A116; + m_A120 += m_A73 * f28_36; + RHS36 += f28_36 * RHS28; + const double f29 = 1.0 / m_A76; + const double f29_35 = -f29 * m_A109; + m_A110 += m_A77 * f29_35; + m_A112 += m_A78 * f29_35; + RHS35 += f29_35 * RHS29; + const double f29_36 = -f29 * m_A117; + m_A118 += m_A77 * f29_36; + m_A122 += m_A78 * f29_36; + RHS36 += f29_36 * RHS29; + const double f30 = 1.0 / m_A81; + const double f30_35 = -f30 * m_A110; + RHS35 += f30_35 * RHS30; + const double f30_36 = -f30 * m_A118; + RHS36 += f30_36 * RHS30; + const double f31 = 1.0 / m_A84; + const double f31_33 = -f31 * m_A98; + RHS33 += f31_33 * RHS31; + const double f32 = 1.0 / m_A91; + const double f32_34 = -f32 * m_A105; + m_A106 += m_A92 * f32_34; + m_A107 += m_A93 * f32_34; + RHS34 += f32_34 * RHS32; + const double f32_36 = -f32 * m_A119; + m_A121 += m_A92 * f32_36; + m_A122 += m_A93 * f32_36; + RHS36 += f32_36 * RHS32; + const double f33 = 1.0 / m_A99; + const double f33_36 = -f33 * m_A120; + m_A122 += m_A100 * f33_36; + RHS36 += f33_36 * RHS33; + const double f34 = 1.0 / m_A106; + const double f34_36 = -f34 * m_A121; + m_A122 += m_A107 * f34_36; + RHS36 += f34_36 * RHS34; + V[36] = RHS36 / m_A122; double tmp35 = 0.0; - tmp35 += m_A130 * V[38]; - V[35] = (RHS35 - tmp35) / m_A129; + tmp35 += m_A112 * V[36]; + V[35] = (RHS35 - tmp35) / m_A111; double tmp34 = 0.0; - tmp34 += m_A127 * V[40]; - V[34] = (RHS34 - tmp34) / m_A126; + tmp34 += m_A107 * V[36]; + V[34] = (RHS34 - tmp34) / m_A106; double tmp33 = 0.0; - tmp33 += m_A124 * V[40]; - V[33] = (RHS33 - tmp33) / m_A123; + tmp33 += m_A100 * V[36]; + V[33] = (RHS33 - tmp33) / m_A99; double tmp32 = 0.0; - tmp32 += m_A121 * V[38]; - V[32] = (RHS32 - tmp32) / m_A120; + tmp32 += m_A92 * V[34]; + tmp32 += m_A93 * V[36]; + V[32] = (RHS32 - tmp32) / m_A91; double tmp31 = 0.0; - tmp31 += m_A117 * V[39]; - tmp31 += m_A118 * V[43]; - V[31] = (RHS31 - tmp31) / m_A116; + V[31] = (RHS31 - tmp31) / m_A84; double tmp30 = 0.0; - tmp30 += m_A111 * V[41]; - tmp30 += m_A112 * V[43]; - V[30] = (RHS30 - tmp30) / m_A110; + V[30] = (RHS30 - tmp30) / m_A81; double tmp29 = 0.0; - tmp29 += m_A103 * V[30]; - tmp29 += m_A104 * V[41]; - tmp29 += m_A105 * V[43]; - V[29] = (RHS29 - tmp29) / m_A102; + tmp29 += m_A77 * V[30]; + tmp29 += m_A78 * V[36]; + V[29] = (RHS29 - tmp29) / m_A76; double tmp28 = 0.0; - tmp28 += m_A94 * V[29]; - tmp28 += m_A95 * V[41]; - tmp28 += m_A96 * V[43]; - V[28] = (RHS28 - tmp28) / m_A93; + tmp28 += m_A73 * V[33]; + V[28] = (RHS28 - tmp28) / m_A72; double tmp27 = 0.0; - tmp27 += m_A84 * V[28]; - tmp27 += m_A85 * V[29]; - tmp27 += m_A86 * V[43]; - V[27] = (RHS27 - tmp27) / m_A83; + tmp27 += m_A68 * V[32]; + tmp27 += m_A69 * V[34]; + tmp27 += m_A70 * V[36]; + V[27] = (RHS27 - tmp27) / m_A67; double tmp26 = 0.0; - tmp26 += m_A80 * V[30]; - V[26] = (RHS26 - tmp26) / m_A79; + tmp26 += m_A63 * V[31]; + V[26] = (RHS26 - tmp26) / m_A62; double tmp25 = 0.0; - tmp25 += m_A76 * V[28]; - V[25] = (RHS25 - tmp25) / m_A75; + tmp25 += m_A60 * V[34]; + V[25] = (RHS25 - tmp25) / m_A59; double tmp24 = 0.0; - tmp24 += m_A70 * V[25]; - tmp24 += m_A71 * V[28]; - V[24] = (RHS24 - tmp24) / m_A69; + tmp24 += m_A57 * V[32]; + V[24] = (RHS24 - tmp24) / m_A56; double tmp23 = 0.0; - tmp23 += m_A65 * V[35]; - tmp23 += m_A66 * V[38]; - V[23] = (RHS23 - tmp23) / m_A64; + V[23] = (RHS23 - tmp23) / m_A54; double tmp22 = 0.0; - tmp22 += m_A62 * V[32]; - tmp22 += m_A63 * V[38]; - V[22] = (RHS22 - tmp22) / m_A61; + V[22] = (RHS22 - tmp22) / m_A51; double tmp21 = 0.0; - tmp21 += m_A59 * V[29]; - tmp21 += m_A60 * V[30]; - V[21] = (RHS21 - tmp21) / m_A58; + tmp21 += m_A48 * V[22]; + V[21] = (RHS21 - tmp21) / m_A47; double tmp20 = 0.0; - tmp20 += m_A55 * V[28]; - tmp20 += m_A56 * V[29]; - tmp20 += m_A57 * V[41]; - V[20] = (RHS20 - tmp20) / m_A54; + tmp20 += m_A44 * V[25]; + V[20] = (RHS20 - tmp20) / m_A43; double tmp19 = 0.0; - tmp19 += m_A51 * V[27]; - tmp19 += m_A52 * V[28]; - tmp19 += m_A53 * V[29]; - V[19] = (RHS19 - tmp19) / m_A50; + tmp19 += m_A41 * V[30]; + V[19] = (RHS19 - tmp19) / m_A40; double tmp18 = 0.0; - tmp18 += m_A48 * V[26]; - tmp18 += m_A49 * V[30]; - V[18] = (RHS18 - tmp18) / m_A47; + tmp18 += m_A39 * V[30]; + V[18] = (RHS18 - tmp18) / m_A38; double tmp17 = 0.0; - tmp17 += m_A46 * V[26]; - V[17] = (RHS17 - tmp17) / m_A45; + tmp17 += m_A37 * V[29]; + V[17] = (RHS17 - tmp17) / m_A36; double tmp16 = 0.0; - tmp16 += m_A44 * V[25]; - V[16] = (RHS16 - tmp16) / m_A43; + tmp16 += m_A34 * V[27]; + tmp16 += m_A35 * V[36]; + V[16] = (RHS16 - tmp16) / m_A33; double tmp15 = 0.0; - tmp15 += m_A41 * V[24]; - tmp15 += m_A42 * V[25]; - V[15] = (RHS15 - tmp15) / m_A40; + tmp15 += m_A32 * V[31]; + V[15] = (RHS15 - tmp15) / m_A31; double tmp14 = 0.0; - tmp14 += m_A38 * V[24]; - tmp14 += m_A39 * V[28]; - V[14] = (RHS14 - tmp14) / m_A37; + tmp14 += m_A30 * V[33]; + V[14] = (RHS14 - tmp14) / m_A29; double tmp13 = 0.0; - tmp13 += m_A35 * V[37]; - tmp13 += m_A36 * V[41]; - V[13] = (RHS13 - tmp13) / m_A34; + tmp13 += m_A28 * V[26]; + V[13] = (RHS13 - tmp13) / m_A27; double tmp12 = 0.0; - tmp12 += m_A32 * V[38]; - tmp12 += m_A33 * V[39]; - V[12] = (RHS12 - tmp12) / m_A31; + tmp12 += m_A26 * V[35]; + V[12] = (RHS12 - tmp12) / m_A25; double tmp11 = 0.0; - tmp11 += m_A29 * V[31]; - tmp11 += m_A30 * V[39]; - V[11] = (RHS11 - tmp11) / m_A28; + tmp11 += m_A24 * V[12]; + V[11] = (RHS11 - tmp11) / m_A23; double tmp10 = 0.0; - tmp10 += m_A27 * V[31]; - V[10] = (RHS10 - tmp10) / m_A26; + tmp10 += m_A22 * V[33]; + V[10] = (RHS10 - tmp10) / m_A21; double tmp9 = 0.0; - tmp9 += m_A24 * V[31]; - tmp9 += m_A25 * V[43]; - V[9] = (RHS9 - tmp9) / m_A23; + tmp9 += m_A20 * V[28]; + V[9] = (RHS9 - tmp9) / m_A19; double tmp8 = 0.0; - tmp8 += m_A21 * V[27]; - tmp8 += m_A22 * V[43]; - V[8] = (RHS8 - tmp8) / m_A20; + tmp8 += m_A18 * V[23]; + V[8] = (RHS8 - tmp8) / m_A17; double tmp7 = 0.0; - tmp7 += m_A18 * V[38]; - tmp7 += m_A19 * V[42]; - V[7] = (RHS7 - tmp7) / m_A17; + tmp7 += m_A16 * V[23]; + V[7] = (RHS7 - tmp7) / m_A15; double tmp6 = 0.0; - tmp6 += m_A16 * V[36]; - V[6] = (RHS6 - tmp6) / m_A15; + tmp6 += m_A13 * V[21]; + tmp6 += m_A14 * V[22]; + V[6] = (RHS6 - tmp6) / m_A12; double tmp5 = 0.0; - tmp5 += m_A14 * V[42]; - V[5] = (RHS5 - tmp5) / m_A13; + tmp5 += m_A11 * V[21]; + V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A11 * V[37]; - tmp4 += m_A12 * V[38]; - V[4] = (RHS4 - tmp4) / m_A10; + tmp4 += m_A9 * V[25]; + V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A8 * V[13]; - tmp3 += m_A9 * V[37]; - V[3] = (RHS3 - tmp3) / m_A7; + tmp3 += m_A7 * V[34]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[40]; - tmp2 += m_A6 * V[43]; + tmp2 += m_A5 * V[24]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[40]; + tmp1 += m_A3 * V[32]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[33]; + tmp0 += m_A1 * V[32]; V[0] = (RHS0 - tmp0) / m_A0; } -// cheekyms -static void nl_gcr_19f6e9708f37ad65_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// stuntcyc +static void nl_gcr_251e2a2e2c8d5b33_20_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A6 = gt[8] + gt[9] + gt[10] + gt[11]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A2 += gt[7]; + m_A3 += go[5]; + double RHS1 = Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A4 += gt[12]; + m_A6 += go[8]; + m_A5 += go[9]; + double RHS2 = Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 -= go[10] * *cnV[10]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A8 += gt[17]; + m_A8 += gt[18]; + m_A8 += gt[19]; + m_A10 += go[13]; + m_A9 += go[14]; + m_A7 += go[15]; + double RHS3 = Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + RHS3 += Idr[16]; + RHS3 += Idr[17]; + RHS3 += Idr[18]; + RHS3 += Idr[19]; + RHS3 -= go[16] * *cnV[16]; + RHS3 -= go[17] * *cnV[17]; + RHS3 -= go[18] * *cnV[18]; + RHS3 -= go[19] * *cnV[19]; + m_A14 += gt[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A12 += go[20]; + m_A11 += go[21]; + m_A13 += go[22]; + double RHS4 = Idr[20]; + RHS4 += Idr[21]; + RHS4 += Idr[22]; + RHS4 += Idr[23]; + RHS4 -= go[23] * *cnV[23]; + m_A19 += gt[24]; + m_A19 += gt[25]; + m_A19 += gt[26]; + m_A16 += go[24]; + m_A17 += go[25]; + double RHS5 = Idr[24]; + RHS5 += Idr[25]; + RHS5 += Idr[26]; + RHS5 -= go[26] * *cnV[26]; + const double f0 = 1.0 / m_A0; + const double f0_3 = -f0 * m_A7; + m_A8 += m_A1 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A11; + m_A14 += m_A3 * f1_4; + RHS4 += f1_4 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_4 = -f2 * m_A12; + m_A14 += m_A5 * f2_4; + m_A15 += m_A6 * f2_4; + RHS4 += f2_4 * RHS2; + const double f2_5 = -f2 * m_A16; + m_A18 += m_A5 * f2_5; + m_A19 += m_A6 * f2_5; + RHS5 += f2_5 * RHS2; + const double f3 = 1.0 / m_A8; + const double f3_4 = -f3 * m_A13; + m_A14 += m_A9 * f3_4; + m_A15 += m_A10 * f3_4; + RHS4 += f3_4 * RHS3; + const double f3_5 = -f3 * m_A17; + m_A18 += m_A9 * f3_5; + m_A19 += m_A10 * f3_5; + RHS5 += f3_5 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_5 = -f4 * m_A18; + m_A19 += m_A15 * f4_5; + RHS5 += f4_5 * RHS4; + V[5] = RHS5 / m_A19; + double tmp4 = 0.0; + tmp4 += m_A15 * V[5]; + V[4] = (RHS4 - tmp4) / m_A14; + double tmp3 = 0.0; + tmp3 += m_A9 * V[4]; + tmp3 += m_A10 * V[5]; + V[3] = (RHS3 - tmp3) / m_A8; + double tmp2 = 0.0; + tmp2 += m_A5 * V[4]; + tmp2 += m_A6 * V[5]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; + tmp1 += m_A3 * V[4]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; + tmp0 += m_A1 * V[3]; V[0] = (RHS0 - tmp0) / m_A0; } -// zac1b11142 -static void nl_gcr_1dd100c8f34cf889_96_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// cheekyms +static void nl_gcr_278f0b40e27b21fc_150_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[25] * *cnV[25] - go[26] * *cnV[26] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30]; - m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38]; - m_A10 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44]; - m_A11 = m_A11 + go[40]; - m_A12 = m_A12 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44]; - m_A13 = gt[48] + gt[49] + gt[50]; - m_A14 = m_A14 + go[48]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50]; - m_A15 = gt[56] + gt[57]; - m_A16 = m_A16 + go[56]; - double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57]; - m_A17 = gt[64] + gt[65] + gt[66]; - m_A18 = m_A18 + go[64]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] - go[65] * *cnV[65] - go[66] * *cnV[66]; - m_A20 = gt[72] + gt[73]; - m_A19 = m_A19 + go[72]; - double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73]; - m_A21 = gt[80] + gt[81] + gt[82]; - m_A22 = m_A22 + go[80]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] - go[81] * *cnV[81] - go[82] * *cnV[82]; - m_A23 = gt[88] + gt[89] + gt[90]; - m_A24 = m_A24 + go[88]; - m_A25 = m_A25 + go[89]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] - go[90] * *cnV[90]; - m_A26 = gt[96] + gt[97] + gt[98]; - m_A27 = m_A27 + go[96]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] - go[97] * *cnV[97] - go[98] * *cnV[98]; - m_A29 = gt[104] + gt[105]; - m_A28 = m_A28 + go[104]; - double RHS13 = Idr[104] + Idr[105] - go[105] * *cnV[105]; - m_A31 = gt[112] + gt[113] + gt[114] + gt[115] + gt[116]; - m_A30 = m_A30 + go[112]; - m_A33 = m_A33 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] + Idr[116] - go[114] * *cnV[114] - go[115] * *cnV[115] - go[116] * *cnV[116]; - m_A35 = gt[120] + gt[121] + gt[122]; - m_A37 = m_A37 + go[120]; - m_A34 = m_A34 + go[121]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] - go[122] * *cnV[122]; - m_A39 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132]; - m_A38 = m_A38 + go[128]; - m_A41 = m_A41 + go[129]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132] - go[130] * *cnV[130] - go[131] * *cnV[131] - go[132] * *cnV[132]; - m_A44 = gt[136] + gt[137]; - m_A43 = m_A43 + go[136]; - m_A42 = m_A42 + go[137]; - double RHS17 = Idr[136] + Idr[137]; - m_A47 = gt[144] + gt[145] + gt[146]; - m_A48 = m_A48 + go[144]; - m_A45 = m_A45 + go[145]; - double RHS18 = Idr[144] + Idr[145] + Idr[146] - go[146] * *cnV[146]; - m_A51 = gt[152] + gt[153] + gt[154] + gt[155]; - m_A52 = m_A52 + go[152]; - m_A50 = m_A50 + go[153]; - double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] - go[154] * *cnV[154] - go[155] * *cnV[155]; - m_A54 = gt[160] + gt[161]; - m_A56 = m_A56 + go[160]; - m_A53 = m_A53 + go[161]; - double RHS20 = Idr[160] + Idr[161]; - m_A58 = gt[168] + gt[169] + gt[170] + gt[171]; - m_A59 = m_A59 + go[168]; - m_A57 = m_A57 + go[169]; - double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] - go[170] * *cnV[170] - go[171] * *cnV[171]; - m_A64 = gt[176] + gt[177] + gt[178] + gt[179] + gt[180] + gt[181]; - m_A60 = m_A60 + go[176]; - m_A61 = m_A61 + go[177]; - m_A66 = m_A66 + go[178]; - m_A66 = m_A66 + go[179]; - double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179] + Idr[180] + Idr[181] - go[180] * *cnV[180] - go[181] * *cnV[181]; - m_A73 = gt[184] + gt[185] + gt[186] + gt[187] + gt[188]; - m_A69 = m_A69 + go[184]; - m_A70 = m_A70 + go[185]; - m_A71 = m_A71 + go[186]; - m_A68 = m_A68 + go[187]; - m_A67 = m_A67 + go[188]; - double RHS23 = Idr[184] + Idr[185] + Idr[186] + Idr[187] + Idr[188]; - m_A76 = gt[192] + gt[193] + gt[194] + gt[195]; - m_A77 = m_A77 + go[192]; - m_A75 = m_A75 + go[193]; - double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[194] * *cnV[194] - go[195] * *cnV[195]; - m_A85 = gt[200] + gt[201] + gt[202] + gt[203] + gt[204]; - m_A81 = m_A81 + go[200]; - m_A80 = m_A80 + go[201]; - m_A82 = m_A82 + go[202]; - m_A79 = m_A79 + go[203]; - m_A78 = m_A78 + go[204]; - double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203] + Idr[204]; - m_A95 = gt[208] + gt[209] + gt[210] + gt[211] + gt[212] + gt[213] + gt[214] + gt[215]; - m_A89 = m_A89 + go[208]; - m_A92 = m_A92 + go[209]; - m_A92 = m_A92 + go[210]; - m_A90 = m_A90 + go[211]; - m_A88 = m_A88 + go[212]; - m_A87 = m_A87 + go[213]; - double RHS26 = Idr[208] + Idr[209] + Idr[210] + Idr[211] + Idr[212] + Idr[213] + Idr[214] + Idr[215] - go[214] * *cnV[214] - go[215] * *cnV[215]; -const double f0 = 1.0 / m_A0; - const double f0_9 = -f0 * m_A19; - m_A20 += m_A1 * f0_9; - RHS9 += f0_9 * RHS0; - const double f0_23 = -f0 * m_A67; - m_A69 += m_A1 * f0_23; - RHS23 += f0_23 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_16 = -f1 * m_A38; - m_A40 += m_A3 * f1_16; - RHS16 += f1_16 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_13 = -f2 * m_A28; - m_A29 += m_A5 * f2_13; - RHS13 += f2_13 * RHS2; - const double f2_26 = -f2 * m_A87; - m_A89 += m_A5 * f2_26; - RHS26 += f2_26 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_22 = -f3 * m_A60; - m_A63 += m_A7 * f3_22; - RHS22 += f3_22 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_14 = -f4 * m_A30; - m_A32 += m_A9 * f4_14; - RHS14 += f4_14 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_15 = -f5 * m_A34; - m_A35 += m_A11 * f5_15; - m_A36 += m_A12 * f5_15; - RHS15 += f5_15 * RHS5; - const double f5_18 = -f5 * m_A45; - m_A46 += m_A11 * f5_18; - m_A47 += m_A12 * f5_18; - RHS18 += f5_18 * RHS5; -const double f6 = 1.0 / m_A13; - const double f6_19 = -f6 * m_A50; - m_A52 += m_A14 * f6_19; - RHS19 += f6_19 * RHS6; - const double f6_23 = -f6 * m_A68; - m_A73 += m_A14 * f6_23; - RHS23 += f6_23 * RHS6; -const double f7 = 1.0 / m_A15; - const double f7_17 = -f7 * m_A42; - m_A44 += m_A16 * f7_17; - RHS17 += f7_17 * RHS7; - const double f7_25 = -f7 * m_A78; - m_A81 += m_A16 * f7_25; - RHS25 += f7_25 * RHS7; -const double f8 = 1.0 / m_A17; - const double f8_17 = -f8 * m_A43; - m_A44 += m_A18 * f8_17; - RHS17 += f8_17 * RHS8; -const double f9 = 1.0 / m_A20; - const double f9_23 = -f9 * m_A69; - RHS23 += f9_23 * RHS9; -const double f10 = 1.0 / m_A21; - const double f10_21 = -f10 * m_A57; - m_A59 += m_A22 * f10_21; - RHS21 += f10_21 * RHS10; - const double f10_26 = -f10 * m_A88; - m_A95 += m_A22 * f10_26; - RHS26 += f10_26 * RHS10; -const double f11 = 1.0 / m_A23; - const double f11_20 = -f11 * m_A53; - m_A54 += m_A24 * f11_20; - m_A55 += m_A25 * f11_20; - RHS20 += f11_20 * RHS11; - const double f11_22 = -f11 * m_A61; - m_A62 += m_A24 * f11_22; - m_A64 += m_A25 * f11_22; - RHS22 += f11_22 * RHS11; -const double f12 = 1.0 / m_A26; - const double f12_24 = -f12 * m_A75; - m_A77 += m_A27 * f12_24; - RHS24 += f12_24 * RHS12; - const double f12_25 = -f12 * m_A79; - m_A85 += m_A27 * f12_25; - RHS25 += f12_25 * RHS12; -const double f13 = 1.0 / m_A29; - const double f13_26 = -f13 * m_A89; - RHS26 += f13_26 * RHS13; -const double f14 = 1.0 / m_A31; - const double f14_25 = -f14 * m_A80; - m_A84 += m_A32 * f14_25; - m_A85 += m_A33 * f14_25; - RHS25 += f14_25 * RHS14; -const double f15 = 1.0 / m_A35; - const double f15_18 = -f15 * m_A46; - m_A47 += m_A36 * f15_18; - m_A49 += m_A37 * f15_18; - RHS18 += f15_18 * RHS15; - const double f15_26 = -f15 * m_A90; - m_A91 += m_A36 * f15_26; - m_A95 += m_A37 * f15_26; - RHS26 += f15_26 * RHS15; -const double f16 = 1.0 / m_A39; - const double f16_23 = -f16 * m_A70; - m_A72 += m_A40 * f16_23; - m_A73 += m_A41 * f16_23; - RHS23 += f16_23 * RHS16; -const double f17 = 1.0 / m_A44; - const double f17_25 = -f17 * m_A81; - RHS25 += f17_25 * RHS17; -const double f18 = 1.0 / m_A47; - const double f18_23 = -f18 * m_A71; - m_A73 += m_A48 * f18_23; - m_A74 += m_A49 * f18_23; - RHS23 += f18_23 * RHS18; - const double f18_26 = -f18 * m_A91; - m_A93 += m_A48 * f18_26; - m_A95 += m_A49 * f18_26; - RHS26 += f18_26 * RHS18; -const double f19 = 1.0 / m_A51; - const double f19_23 = -f19 * m_A72; - m_A73 += m_A52 * f19_23; - RHS23 += f19_23 * RHS19; -const double f20 = 1.0 / m_A54; - const double f20_22 = -f20 * m_A62; - m_A64 += m_A55 * f20_22; - m_A65 += m_A56 * f20_22; - RHS22 += f20_22 * RHS20; - const double f20_25 = -f20 * m_A82; - m_A83 += m_A55 * f20_25; - m_A85 += m_A56 * f20_25; - RHS25 += f20_25 * RHS20; -const double f21 = 1.0 / m_A58; - const double f21_22 = -f21 * m_A63; - m_A66 += m_A59 * f21_22; - RHS22 += f21_22 * RHS21; -const double f22 = 1.0 / m_A64; - const double f22_25 = -f22 * m_A83; - m_A85 += m_A65 * f22_25; - m_A86 += m_A66 * f22_25; - RHS25 += f22_25 * RHS22; - const double f22_26 = -f22 * m_A92; - m_A94 += m_A65 * f22_26; - m_A95 += m_A66 * f22_26; - RHS26 += f22_26 * RHS22; -const double f23 = 1.0 / m_A73; - const double f23_26 = -f23 * m_A93; - m_A95 += m_A74 * f23_26; - RHS26 += f23_26 * RHS23; -const double f24 = 1.0 / m_A76; - const double f24_25 = -f24 * m_A84; - m_A85 += m_A77 * f24_25; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + double m_A116(0.0); + double m_A117(0.0); + double m_A118(0.0); + double m_A119(0.0); + double m_A120(0.0); + double m_A121(0.0); + double m_A122(0.0); + double m_A123(0.0); + double m_A124(0.0); + double m_A125(0.0); + double m_A126(0.0); + double m_A127(0.0); + double m_A128(0.0); + double m_A129(0.0); + double m_A130(0.0); + double m_A131(0.0); + double m_A132(0.0); + double m_A133(0.0); + double m_A134(0.0); + double m_A135(0.0); + double m_A136(0.0); + double m_A137(0.0); + double m_A138(0.0); + double m_A139(0.0); + double m_A140(0.0); + double m_A141(0.0); + double m_A142(0.0); + double m_A143(0.0); + double m_A144(0.0); + double m_A145(0.0); + double m_A146(0.0); + double m_A147(0.0); + double m_A148(0.0); + double m_A149(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A6 += go[6]; + m_A5 += go[7]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[8] * *cnV[8]; + m_A7 += gt[9]; + m_A7 += gt[10]; + m_A7 += gt[11]; + m_A7 += gt[12]; + m_A7 += gt[13]; + m_A10 += go[9]; + m_A9 += go[10]; + m_A8 += go[11]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + m_A11 += gt[14]; + m_A11 += gt[15]; + m_A11 += gt[16]; + m_A12 += go[14]; + double RHS4 = Idr[14]; + RHS4 += Idr[15]; + RHS4 += Idr[16]; + RHS4 -= go[15] * *cnV[15]; + RHS4 -= go[16] * *cnV[16]; + m_A13 += gt[17]; + m_A13 += gt[18]; + m_A13 += gt[19]; + m_A13 += gt[20]; + m_A13 += gt[21]; + m_A13 += gt[22]; + m_A13 += gt[23]; + m_A15 += go[17]; + m_A14 += go[18]; + double RHS5 = Idr[17]; + RHS5 += Idr[18]; + RHS5 += Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[19] * *cnV[19]; + RHS5 -= go[20] * *cnV[20]; + RHS5 -= go[21] * *cnV[21]; + RHS5 -= go[22] * *cnV[22]; + RHS5 -= go[23] * *cnV[23]; + m_A16 += gt[24]; + m_A16 += gt[25]; + m_A16 += gt[26]; + m_A17 += go[24]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 -= go[25] * *cnV[25]; + RHS6 -= go[26] * *cnV[26]; + m_A18 += gt[27]; + m_A18 += gt[28]; + m_A19 += go[27]; + double RHS7 = Idr[27]; + RHS7 += Idr[28]; + RHS7 -= go[28] * *cnV[28]; + m_A20 += gt[29]; + m_A20 += gt[30]; + m_A20 += gt[31]; + m_A21 += go[29]; + m_A23 += go[30]; + m_A22 += go[31]; + double RHS8 = Idr[29]; + RHS8 += Idr[30]; + RHS8 += Idr[31]; + m_A24 += gt[32]; + m_A24 += gt[33]; + m_A24 += gt[34]; + m_A25 += go[32]; + double RHS9 = Idr[32]; + RHS9 += Idr[33]; + RHS9 += Idr[34]; + RHS9 -= go[33] * *cnV[33]; + RHS9 -= go[34] * *cnV[34]; + m_A26 += gt[35]; + m_A26 += gt[36]; + m_A26 += gt[37]; + m_A26 += gt[38]; + m_A27 += go[35]; + m_A28 += go[36]; + double RHS10 = Idr[35]; + RHS10 += Idr[36]; + RHS10 += Idr[37]; + RHS10 += Idr[38]; + RHS10 -= go[37] * *cnV[37]; + RHS10 -= go[38] * *cnV[38]; + m_A29 += gt[39]; + m_A29 += gt[40]; + m_A30 += go[39]; + double RHS11 = Idr[39]; + RHS11 += Idr[40]; + RHS11 -= go[40] * *cnV[40]; + m_A31 += gt[41]; + m_A31 += gt[42]; + m_A31 += gt[43]; + m_A31 += gt[44]; + m_A32 += go[41]; + m_A33 += go[42]; + double RHS12 = Idr[41]; + RHS12 += Idr[42]; + RHS12 += Idr[43]; + RHS12 += Idr[44]; + RHS12 -= go[43] * *cnV[43]; + RHS12 -= go[44] * *cnV[44]; + m_A34 += gt[45]; + m_A34 += gt[46]; + m_A34 += gt[47]; + m_A36 += go[45]; + m_A35 += go[46]; + double RHS13 = Idr[45]; + RHS13 += Idr[46]; + RHS13 += Idr[47]; + RHS13 -= go[47] * *cnV[47]; + m_A37 += gt[48]; + m_A37 += gt[49]; + m_A38 += go[48]; + double RHS14 = Idr[48]; + RHS14 += Idr[49]; + RHS14 -= go[49] * *cnV[49]; + m_A39 += gt[50]; + m_A39 += gt[51]; + m_A40 += go[50]; + double RHS15 = Idr[50]; + RHS15 += Idr[51]; + RHS15 -= go[51] * *cnV[51]; + m_A41 += gt[52]; + m_A41 += gt[53]; + m_A42 += go[52]; + double RHS16 = Idr[52]; + RHS16 += Idr[53]; + RHS16 -= go[53] * *cnV[53]; + m_A43 += gt[54]; + m_A43 += gt[55]; + m_A43 += gt[56]; + m_A43 += gt[57]; + m_A43 += gt[58]; + m_A44 += go[54]; + m_A46 += go[55]; + m_A45 += go[56]; + double RHS17 = Idr[54]; + RHS17 += Idr[55]; + RHS17 += Idr[56]; + RHS17 += Idr[57]; + RHS17 += Idr[58]; + RHS17 -= go[57] * *cnV[57]; + RHS17 -= go[58] * *cnV[58]; + m_A47 += gt[59]; + m_A47 += gt[60]; + m_A47 += gt[61]; + m_A47 += gt[62]; + m_A47 += gt[63]; + m_A48 += go[59]; + m_A50 += go[60]; + m_A49 += go[61]; + double RHS18 = Idr[59]; + RHS18 += Idr[60]; + RHS18 += Idr[61]; + RHS18 += Idr[62]; + RHS18 += Idr[63]; + RHS18 -= go[62] * *cnV[62]; + RHS18 -= go[63] * *cnV[63]; + m_A51 += gt[64]; + m_A51 += gt[65]; + m_A52 += go[64]; + double RHS19 = Idr[64]; + RHS19 += Idr[65]; + RHS19 -= go[65] * *cnV[65]; + m_A55 += gt[66]; + m_A55 += gt[67]; + m_A54 += go[66]; + m_A53 += go[67]; + double RHS20 = Idr[66]; + RHS20 += Idr[67]; + m_A60 += gt[68]; + m_A60 += gt[69]; + m_A60 += gt[70]; + m_A58 += go[68]; + m_A57 += go[69]; + double RHS21 = Idr[68]; + RHS21 += Idr[69]; + RHS21 += Idr[70]; + RHS21 -= go[70] * *cnV[70]; + m_A63 += gt[71]; + m_A63 += gt[72]; + m_A64 += go[71]; + double RHS22 = Idr[71]; + RHS22 += Idr[72]; + RHS22 -= go[72] * *cnV[72]; + m_A65 += gt[73]; + m_A65 += gt[74]; + m_A65 += gt[75]; + m_A66 += go[73]; + double RHS23 = Idr[73]; + RHS23 += Idr[74]; + RHS23 += Idr[75]; + RHS23 -= go[74] * *cnV[74]; + RHS23 -= go[75] * *cnV[75]; + m_A69 += gt[76]; + m_A69 += gt[77]; + m_A69 += gt[78]; + m_A67 += go[76]; + m_A68 += go[77]; + double RHS24 = Idr[76]; + RHS24 += Idr[77]; + RHS24 += Idr[78]; + RHS24 -= go[78] * *cnV[78]; + m_A76 += gt[79]; + m_A76 += gt[80]; + m_A73 += go[79]; + m_A72 += go[80]; + double RHS25 = Idr[79]; + RHS25 += Idr[80]; + m_A81 += gt[81]; + m_A81 += gt[82]; + m_A80 += go[81]; + m_A79 += go[82]; + double RHS26 = Idr[81]; + RHS26 += Idr[82]; + m_A84 += gt[83]; + m_A84 += gt[84]; + m_A84 += gt[85]; + m_A85 += go[83]; + m_A83 += go[84]; + double RHS27 = Idr[83]; + RHS27 += Idr[84]; + RHS27 += Idr[85]; + RHS27 -= go[85] * *cnV[85]; + m_A88 += gt[86]; + m_A88 += gt[87]; + m_A87 += go[86]; + m_A86 += go[87]; + double RHS28 = Idr[86]; + RHS28 += Idr[87]; + m_A95 += gt[88]; + m_A95 += gt[89]; + m_A95 += gt[90]; + m_A95 += gt[91]; + m_A95 += gt[92]; + m_A90 += go[88]; + m_A92 += go[89]; + m_A91 += go[90]; + double RHS29 = Idr[88]; + RHS29 += Idr[89]; + RHS29 += Idr[90]; + RHS29 += Idr[91]; + RHS29 += Idr[92]; + RHS29 -= go[91] * *cnV[91]; + RHS29 -= go[92] * *cnV[92]; + m_A100 += gt[93]; + m_A100 += gt[94]; + m_A100 += gt[95]; + m_A100 += gt[96]; + m_A100 += gt[97]; + m_A100 += gt[98]; + m_A100 += gt[99]; + m_A98 += go[93]; + m_A101 += go[94]; + double RHS30 = Idr[93]; + RHS30 += Idr[94]; + RHS30 += Idr[95]; + RHS30 += Idr[96]; + RHS30 += Idr[97]; + RHS30 += Idr[98]; + RHS30 += Idr[99]; + RHS30 -= go[95] * *cnV[95]; + RHS30 -= go[96] * *cnV[96]; + RHS30 -= go[97] * *cnV[97]; + RHS30 -= go[98] * *cnV[98]; + RHS30 -= go[99] * *cnV[99]; + m_A103 += gt[100]; + m_A103 += gt[101]; + m_A103 += gt[102]; + m_A103 += gt[103]; + m_A103 += gt[104]; + m_A103 += gt[105]; + m_A104 += go[100]; + m_A104 += go[101]; + m_A102 += go[102]; + double RHS31 = Idr[100]; + RHS31 += Idr[101]; + RHS31 += Idr[102]; + RHS31 += Idr[103]; + RHS31 += Idr[104]; + RHS31 += Idr[105]; + RHS31 -= go[103] * *cnV[103]; + RHS31 -= go[104] * *cnV[104]; + RHS31 -= go[105] * *cnV[105]; + m_A110 += gt[106]; + m_A110 += gt[107]; + m_A110 += gt[108]; + m_A106 += go[106]; + m_A107 += go[107]; + m_A105 += go[108]; + double RHS32 = Idr[106]; + RHS32 += Idr[107]; + RHS32 += Idr[108]; + m_A114 += gt[109]; + m_A114 += gt[110]; + m_A114 += gt[111]; + m_A114 += gt[112]; + m_A114 += gt[113]; + m_A114 += gt[114]; + m_A114 += gt[115]; + m_A112 += go[109]; + m_A115 += go[110]; + double RHS33 = Idr[109]; + RHS33 += Idr[110]; + RHS33 += Idr[111]; + RHS33 += Idr[112]; + RHS33 += Idr[113]; + RHS33 += Idr[114]; + RHS33 += Idr[115]; + RHS33 -= go[111] * *cnV[111]; + RHS33 -= go[112] * *cnV[112]; + RHS33 -= go[113] * *cnV[113]; + RHS33 -= go[114] * *cnV[114]; + RHS33 -= go[115] * *cnV[115]; + m_A121 += gt[116]; + m_A121 += gt[117]; + m_A121 += gt[118]; + m_A121 += gt[119]; + m_A121 += gt[120]; + m_A121 += gt[121]; + m_A121 += gt[122]; + m_A118 += go[116]; + m_A116 += go[117]; + double RHS34 = Idr[116]; + RHS34 += Idr[117]; + RHS34 += Idr[118]; + RHS34 += Idr[119]; + RHS34 += Idr[120]; + RHS34 += Idr[121]; + RHS34 += Idr[122]; + RHS34 -= go[118] * *cnV[118]; + RHS34 -= go[119] * *cnV[119]; + RHS34 -= go[120] * *cnV[120]; + RHS34 -= go[121] * *cnV[121]; + RHS34 -= go[122] * *cnV[122]; + m_A125 += gt[123]; + m_A125 += gt[124]; + m_A125 += gt[125]; + m_A124 += go[123]; + m_A126 += go[124]; + m_A123 += go[125]; + double RHS35 = Idr[123]; + RHS35 += Idr[124]; + RHS35 += Idr[125]; + m_A132 += gt[126]; + m_A132 += gt[127]; + m_A132 += gt[128]; + m_A127 += go[126]; + m_A128 += go[127]; + m_A130 += go[128]; + double RHS36 = Idr[126]; + RHS36 += Idr[127]; + RHS36 += Idr[128]; + m_A149 += gt[129]; + m_A149 += gt[130]; + m_A149 += gt[131]; + m_A149 += gt[132]; + m_A149 += gt[133]; + m_A149 += gt[134]; + m_A149 += gt[135]; + m_A149 += gt[136]; + m_A149 += gt[137]; + m_A149 += gt[138]; + m_A149 += gt[139]; + m_A140 += go[129]; + m_A147 += go[130]; + m_A139 += go[131]; + m_A138 += go[132]; + m_A137 += go[133]; + m_A136 += go[134]; + m_A135 += go[135]; + m_A134 += go[136]; + m_A143 += go[137]; + m_A143 += go[138]; + double RHS37 = Idr[129]; + RHS37 += Idr[130]; + RHS37 += Idr[131]; + RHS37 += Idr[132]; + RHS37 += Idr[133]; + RHS37 += Idr[134]; + RHS37 += Idr[135]; + RHS37 += Idr[136]; + RHS37 += Idr[137]; + RHS37 += Idr[138]; + RHS37 += Idr[139]; + RHS37 -= go[139] * *cnV[139]; + const double f0 = 1.0 / m_A0; + const double f0_31 = -f0 * m_A102; + m_A103 += m_A1 * f0_31; + RHS31 += f0_31 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_20 = -f1 * m_A53; + m_A55 += m_A3 * f1_20; + RHS20 += f1_20 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_20 = -f2 * m_A54; + m_A55 += m_A5 * f2_20; + m_A56 += m_A6 * f2_20; + RHS20 += f2_20 * RHS2; + const double f2_21 = -f2 * m_A57; + m_A59 += m_A5 * f2_21; + m_A60 += m_A6 * f2_21; + RHS21 += f2_21 * RHS2; + const double f2_34 = -f2 * m_A116; + m_A117 += m_A5 * f2_34; + m_A118 += m_A6 * f2_34; + RHS34 += f2_34 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_21 = -f3 * m_A58; + m_A60 += m_A8 * f3_21; + m_A61 += m_A9 * f3_21; + m_A62 += m_A10 * f3_21; + RHS21 += f3_21 * RHS3; + const double f3_25 = -f3 * m_A72; + m_A74 += m_A8 * f3_25; + m_A76 += m_A9 * f3_25; + m_A78 += m_A10 * f3_25; + RHS25 += f3_25 * RHS3; + const double f4 = 1.0 / m_A11; + const double f4_24 = -f4 * m_A67; + m_A69 += m_A12 * f4_24; + RHS24 += f4_24 * RHS4; + const double f5 = 1.0 / m_A13; + const double f5_29 = -f5 * m_A90; + m_A91 += m_A14 * f5_29; + m_A93 += m_A15 * f5_29; + RHS29 += f5_29 * RHS5; + const double f6 = 1.0 / m_A16; + const double f6_26 = -f6 * m_A79; + m_A81 += m_A17 * f6_26; + RHS26 += f6_26 * RHS6; + const double f7 = 1.0 / m_A18; + const double f7_27 = -f7 * m_A83; + m_A84 += m_A19 * f7_27; + RHS27 += f7_27 * RHS7; + const double f8 = 1.0 / m_A20; + const double f8_24 = -f8 * m_A68; + m_A69 += m_A21 * f8_24; + m_A70 += m_A22 * f8_24; + m_A71 += m_A23 * f8_24; + RHS24 += f8_24 * RHS8; + const double f8_25 = -f8 * m_A73; + m_A75 += m_A21 * f8_25; + m_A76 += m_A22 * f8_25; + m_A77 += m_A23 * f8_25; + RHS25 += f8_25 * RHS8; + const double f8_29 = -f8 * m_A91; + m_A93 += m_A21 * f8_29; + m_A94 += m_A22 * f8_29; + m_A95 += m_A23 * f8_29; + RHS29 += f8_29 * RHS8; + const double f9 = 1.0 / m_A24; + const double f9_28 = -f9 * m_A86; + m_A88 += m_A25 * f9_28; + RHS28 += f9_28 * RHS9; + const double f10 = 1.0 / m_A26; + const double f10_26 = -f10 * m_A80; + m_A81 += m_A27 * f10_26; + m_A82 += m_A28 * f10_26; + RHS26 += f10_26 * RHS10; + const double f10_33 = -f10 * m_A112; + m_A113 += m_A27 * f10_33; + m_A115 += m_A28 * f10_33; + RHS33 += f10_33 * RHS10; + const double f10_36 = -f10 * m_A127; + m_A129 += m_A27 * f10_36; + m_A132 += m_A28 * f10_36; + RHS36 += f10_36 * RHS10; + const double f11 = 1.0 / m_A29; + const double f11_32 = -f11 * m_A105; + m_A110 += m_A30 * f11_32; + RHS32 += f11_32 * RHS11; + const double f12 = 1.0 / m_A31; + const double f12_28 = -f12 * m_A87; + m_A88 += m_A32 * f12_28; + m_A89 += m_A33 * f12_28; + RHS28 += f12_28 * RHS12; + const double f12_30 = -f12 * m_A98; + m_A99 += m_A32 * f12_30; + m_A101 += m_A33 * f12_30; + RHS30 += f12_30 * RHS12; + const double f12_32 = -f12 * m_A106; + m_A108 += m_A32 * f12_32; + m_A110 += m_A33 * f12_32; + RHS32 += f12_32 * RHS12; + const double f13 = 1.0 / m_A34; + const double f13_29 = -f13 * m_A92; + m_A95 += m_A35 * f13_29; + m_A97 += m_A36 * f13_29; + RHS29 += f13_29 * RHS13; + const double f13_37 = -f13 * m_A134; + m_A141 += m_A35 * f13_37; + m_A149 += m_A36 * f13_37; + RHS37 += f13_37 * RHS13; + const double f14 = 1.0 / m_A37; + const double f14_35 = -f14 * m_A123; + m_A125 += m_A38 * f14_35; + RHS35 += f14_35 * RHS14; + const double f15 = 1.0 / m_A39; + const double f15_35 = -f15 * m_A124; + m_A125 += m_A40 * f15_35; + RHS35 += f15_35 * RHS15; + const double f16 = 1.0 / m_A41; + const double f16_37 = -f16 * m_A135; + m_A149 += m_A42 * f16_37; + RHS37 += f16_37 * RHS16; + const double f17 = 1.0 / m_A43; + const double f17_36 = -f17 * m_A128; + m_A131 += m_A44 * f17_36; + m_A132 += m_A45 * f17_36; + m_A133 += m_A46 * f17_36; + RHS36 += f17_36 * RHS17; + const double f17_37 = -f17 * m_A136; + m_A145 += m_A44 * f17_37; + m_A148 += m_A45 * f17_37; + m_A149 += m_A46 * f17_37; + RHS37 += f17_37 * RHS17; + const double f18 = 1.0 / m_A47; + const double f18_32 = -f18 * m_A107; + m_A109 += m_A48 * f18_32; + m_A110 += m_A49 * f18_32; + m_A111 += m_A50 * f18_32; + RHS32 += f18_32 * RHS18; + const double f18_37 = -f18 * m_A137; + m_A142 += m_A48 * f18_37; + m_A144 += m_A49 * f18_37; + m_A149 += m_A50 * f18_37; + RHS37 += f18_37 * RHS18; + const double f19 = 1.0 / m_A51; + const double f19_37 = -f19 * m_A138; + m_A149 += m_A52 * f19_37; + RHS37 += f19_37 * RHS19; + const double f20 = 1.0 / m_A55; + const double f20_21 = -f20 * m_A59; + m_A60 += m_A56 * f20_21; + RHS21 += f20_21 * RHS20; + const double f20_34 = -f20 * m_A117; + m_A118 += m_A56 * f20_34; + RHS34 += f20_34 * RHS20; + const double f21 = 1.0 / m_A60; + const double f21_25 = -f21 * m_A74; + m_A76 += m_A61 * f21_25; + m_A78 += m_A62 * f21_25; + RHS25 += f21_25 * RHS21; + const double f21_34 = -f21 * m_A118; + m_A119 += m_A61 * f21_34; + m_A121 += m_A62 * f21_34; + RHS34 += f21_34 * RHS21; + const double f22 = 1.0 / m_A63; + const double f22_37 = -f22 * m_A139; + m_A149 += m_A64 * f22_37; + RHS37 += f22_37 * RHS22; + const double f23 = 1.0 / m_A65; + const double f23_37 = -f23 * m_A140; + m_A149 += m_A66 * f23_37; + RHS37 += f23_37 * RHS23; + const double f24 = 1.0 / m_A69; + const double f24_25 = -f24 * m_A75; + m_A76 += m_A70 * f24_25; + m_A77 += m_A71 * f24_25; RHS25 += f24_25 * RHS24; -const double f25 = 1.0 / m_A85; - const double f25_26 = -f25 * m_A94; - m_A95 += m_A86 * f25_26; - RHS26 += f25_26 * RHS25; - V[26] = RHS26 / m_A95; - double tmp25 = 0.0; - tmp25 += m_A86 * V[26]; - V[25] = (RHS25 - tmp25) / m_A85; - double tmp24 = 0.0; - tmp24 += m_A77 * V[25]; - V[24] = (RHS24 - tmp24) / m_A76; - double tmp23 = 0.0; - tmp23 += m_A74 * V[26]; - V[23] = (RHS23 - tmp23) / m_A73; - double tmp22 = 0.0; - tmp22 += m_A65 * V[25]; - tmp22 += m_A66 * V[26]; - V[22] = (RHS22 - tmp22) / m_A64; - double tmp21 = 0.0; - tmp21 += m_A59 * V[26]; - V[21] = (RHS21 - tmp21) / m_A58; - double tmp20 = 0.0; - tmp20 += m_A55 * V[22]; - tmp20 += m_A56 * V[25]; - V[20] = (RHS20 - tmp20) / m_A54; - double tmp19 = 0.0; - tmp19 += m_A52 * V[23]; - V[19] = (RHS19 - tmp19) / m_A51; - double tmp18 = 0.0; - tmp18 += m_A48 * V[23]; - tmp18 += m_A49 * V[26]; - V[18] = (RHS18 - tmp18) / m_A47; - double tmp17 = 0.0; - V[17] = (RHS17 - tmp17) / m_A44; - double tmp16 = 0.0; - tmp16 += m_A40 * V[19]; - tmp16 += m_A41 * V[23]; - V[16] = (RHS16 - tmp16) / m_A39; - double tmp15 = 0.0; - tmp15 += m_A36 * V[18]; - tmp15 += m_A37 * V[26]; - V[15] = (RHS15 - tmp15) / m_A35; - double tmp14 = 0.0; - tmp14 += m_A32 * V[24]; - tmp14 += m_A33 * V[25]; - V[14] = (RHS14 - tmp14) / m_A31; - double tmp13 = 0.0; - V[13] = (RHS13 - tmp13) / m_A29; - double tmp12 = 0.0; - tmp12 += m_A27 * V[25]; - V[12] = (RHS12 - tmp12) / m_A26; - double tmp11 = 0.0; - tmp11 += m_A24 * V[20]; - tmp11 += m_A25 * V[22]; - V[11] = (RHS11 - tmp11) / m_A23; - double tmp10 = 0.0; - tmp10 += m_A22 * V[26]; - V[10] = (RHS10 - tmp10) / m_A21; - double tmp9 = 0.0; - V[9] = (RHS9 - tmp9) / m_A20; - double tmp8 = 0.0; - tmp8 += m_A18 * V[17]; - V[8] = (RHS8 - tmp8) / m_A17; - double tmp7 = 0.0; - tmp7 += m_A16 * V[17]; - V[7] = (RHS7 - tmp7) / m_A15; - double tmp6 = 0.0; - tmp6 += m_A14 * V[23]; - V[6] = (RHS6 - tmp6) / m_A13; - double tmp5 = 0.0; - tmp5 += m_A11 * V[15]; - tmp5 += m_A12 * V[18]; - V[5] = (RHS5 - tmp5) / m_A10; - double tmp4 = 0.0; - tmp4 += m_A9 * V[24]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[21]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[13]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[19]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[9]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// rebound -static void nl_gcr_1faccd91c85d3ab3_28_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[10] + gt[11] + gt[12] + gt[13]; - m_A4 = m_A4 + go[10]; - m_A4 = m_A4 + go[11]; - m_A3 = m_A3 + go[12]; - double RHS1 = Idr[10] + Idr[11] + Idr[12] + Idr[13] - go[13] * *cnV[13]; - m_A5 = gt[20] + gt[21] + gt[22]; - m_A6 = m_A6 + go[20]; - double RHS2 = Idr[20] + Idr[21] + Idr[22] - go[21] * *cnV[21] - go[22] * *cnV[22]; - m_A7 = gt[30] + gt[31] + gt[32] + gt[33] + gt[34] + gt[35] + gt[36]; - m_A8 = m_A8 + go[30]; - m_A8 = m_A8 + go[31]; - double RHS3 = Idr[30] + Idr[31] + Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[32] * *cnV[32] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36]; - m_A11 = gt[40] + gt[41] + gt[42]; - m_A13 = m_A13 + go[40]; - m_A10 = m_A10 + go[41]; - m_A9 = m_A9 + go[42]; - double RHS4 = Idr[40] + Idr[41] + Idr[42]; - m_A16 = gt[50] + gt[51] + gt[52] + gt[53] + gt[54] + gt[55] + gt[56]; - m_A18 = m_A18 + go[50]; - m_A14 = m_A14 + go[51]; - m_A14 = m_A14 + go[52]; - double RHS5 = Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] + Idr[55] + Idr[56] - go[53] * *cnV[53] - go[54] * *cnV[54] - go[55] * *cnV[55] - go[56] * *cnV[56]; - m_A22 = gt[60] + gt[61] + gt[62] + gt[63] + gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69]; - m_A23 = m_A23 + go[60]; - m_A23 = m_A23 + go[61]; - m_A20 = m_A20 + go[62]; - m_A19 = m_A19 + go[63]; - m_A19 = m_A19 + go[64]; - double RHS6 = Idr[60] + Idr[61] + Idr[62] + Idr[63] + Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] - go[65] * *cnV[65] - go[66] * *cnV[66] - go[67] * *cnV[67] - go[68] * *cnV[68] - go[69] * *cnV[69]; - m_A27 = gt[70] + gt[71] + gt[72] + gt[73] + gt[74]; - m_A26 = m_A26 + go[70]; - m_A26 = m_A26 + go[71]; - m_A25 = m_A25 + go[72]; - m_A24 = m_A24 + go[73]; - double RHS7 = Idr[70] + Idr[71] + Idr[72] + Idr[73] + Idr[74] - go[74] * *cnV[74]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A9; - m_A11 += m_A1 * f0_4; - RHS4 += f0_4 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A10; - m_A11 += m_A3 * f1_4; - m_A12 += m_A4 * f1_4; - RHS4 += f1_4 * RHS1; - const double f1_5 = -f1 * m_A14; - m_A15 += m_A3 * f1_5; - m_A16 += m_A4 * f1_5; - RHS5 += f1_5 * RHS1; -const double f2 = 1.0 / m_A5; - const double f2_7 = -f2 * m_A24; - m_A27 += m_A6 * f2_7; - RHS7 += f2_7 * RHS2; -const double f3 = 1.0 / m_A7; - const double f3_6 = -f3 * m_A19; - m_A22 += m_A8 * f3_6; - RHS6 += f3_6 * RHS3; -const double f4 = 1.0 / m_A11; - const double f4_5 = -f4 * m_A15; - m_A16 += m_A12 * f4_5; - m_A17 += m_A13 * f4_5; - RHS5 += f4_5 * RHS4; - const double f4_6 = -f4 * m_A20; - m_A21 += m_A12 * f4_6; - m_A22 += m_A13 * f4_6; - RHS6 += f4_6 * RHS4; -const double f5 = 1.0 / m_A16; - const double f5_6 = -f5 * m_A21; - m_A22 += m_A17 * f5_6; - m_A23 += m_A18 * f5_6; - RHS6 += f5_6 * RHS5; - const double f5_7 = -f5 * m_A25; - m_A26 += m_A17 * f5_7; - m_A27 += m_A18 * f5_7; - RHS7 += f5_7 * RHS5; -const double f6 = 1.0 / m_A22; - const double f6_7 = -f6 * m_A26; - m_A27 += m_A23 * f6_7; - RHS7 += f6_7 * RHS6; - V[7] = RHS7 / m_A27; + const double f24_29 = -f24 * m_A93; + m_A94 += m_A70 * f24_29; + m_A95 += m_A71 * f24_29; + RHS29 += f24_29 * RHS24; + const double f25 = 1.0 / m_A76; + const double f25_29 = -f25 * m_A94; + m_A95 += m_A77 * f25_29; + m_A96 += m_A78 * f25_29; + RHS29 += f25_29 * RHS25; + const double f25_34 = -f25 * m_A119; + m_A120 += m_A77 * f25_34; + m_A121 += m_A78 * f25_34; + RHS34 += f25_34 * RHS25; + const double f26 = 1.0 / m_A81; + const double f26_33 = -f26 * m_A113; + m_A115 += m_A82 * f26_33; + RHS33 += f26_33 * RHS26; + const double f26_36 = -f26 * m_A129; + m_A132 += m_A82 * f26_36; + RHS36 += f26_36 * RHS26; + const double f27 = 1.0 / m_A84; + const double f27_36 = -f27 * m_A130; + m_A132 += m_A85 * f27_36; + RHS36 += f27_36 * RHS27; + const double f28 = 1.0 / m_A88; + const double f28_30 = -f28 * m_A99; + m_A101 += m_A89 * f28_30; + RHS30 += f28_30 * RHS28; + const double f28_32 = -f28 * m_A108; + m_A110 += m_A89 * f28_32; + RHS32 += f28_32 * RHS28; + const double f29 = 1.0 / m_A95; + const double f29_34 = -f29 * m_A120; + m_A121 += m_A96 * f29_34; + m_A122 += m_A97 * f29_34; + RHS34 += f29_34 * RHS29; + const double f29_37 = -f29 * m_A141; + m_A146 += m_A96 * f29_37; + m_A149 += m_A97 * f29_37; + RHS37 += f29_37 * RHS29; + const double f30 = 1.0 / m_A100; + const double f30_32 = -f30 * m_A109; + m_A110 += m_A101 * f30_32; + RHS32 += f30_32 * RHS30; + const double f30_37 = -f30 * m_A142; + m_A144 += m_A101 * f30_37; + RHS37 += f30_37 * RHS30; + const double f31 = 1.0 / m_A103; + const double f31_37 = -f31 * m_A143; + m_A149 += m_A104 * f31_37; + RHS37 += f31_37 * RHS31; + const double f32 = 1.0 / m_A110; + const double f32_37 = -f32 * m_A144; + m_A149 += m_A111 * f32_37; + RHS37 += f32_37 * RHS32; + const double f33 = 1.0 / m_A114; + const double f33_36 = -f33 * m_A131; + m_A132 += m_A115 * f33_36; + RHS36 += f33_36 * RHS33; + const double f33_37 = -f33 * m_A145; + m_A148 += m_A115 * f33_37; + RHS37 += f33_37 * RHS33; + const double f34 = 1.0 / m_A121; + const double f34_37 = -f34 * m_A146; + m_A149 += m_A122 * f34_37; + RHS37 += f34_37 * RHS34; + const double f35 = 1.0 / m_A125; + const double f35_37 = -f35 * m_A147; + m_A149 += m_A126 * f35_37; + RHS37 += f35_37 * RHS35; + const double f36 = 1.0 / m_A132; + const double f36_37 = -f36 * m_A148; + m_A149 += m_A133 * f36_37; + RHS37 += f36_37 * RHS36; + V[37] = RHS37 / m_A149; + double tmp36 = 0.0; + tmp36 += m_A133 * V[37]; + V[36] = (RHS36 - tmp36) / m_A132; + double tmp35 = 0.0; + tmp35 += m_A126 * V[37]; + V[35] = (RHS35 - tmp35) / m_A125; + double tmp34 = 0.0; + tmp34 += m_A122 * V[37]; + V[34] = (RHS34 - tmp34) / m_A121; + double tmp33 = 0.0; + tmp33 += m_A115 * V[36]; + V[33] = (RHS33 - tmp33) / m_A114; + double tmp32 = 0.0; + tmp32 += m_A111 * V[37]; + V[32] = (RHS32 - tmp32) / m_A110; + double tmp31 = 0.0; + tmp31 += m_A104 * V[37]; + V[31] = (RHS31 - tmp31) / m_A103; + double tmp30 = 0.0; + tmp30 += m_A101 * V[32]; + V[30] = (RHS30 - tmp30) / m_A100; + double tmp29 = 0.0; + tmp29 += m_A96 * V[34]; + tmp29 += m_A97 * V[37]; + V[29] = (RHS29 - tmp29) / m_A95; + double tmp28 = 0.0; + tmp28 += m_A89 * V[32]; + V[28] = (RHS28 - tmp28) / m_A88; + double tmp27 = 0.0; + tmp27 += m_A85 * V[36]; + V[27] = (RHS27 - tmp27) / m_A84; + double tmp26 = 0.0; + tmp26 += m_A82 * V[36]; + V[26] = (RHS26 - tmp26) / m_A81; + double tmp25 = 0.0; + tmp25 += m_A77 * V[29]; + tmp25 += m_A78 * V[34]; + V[25] = (RHS25 - tmp25) / m_A76; + double tmp24 = 0.0; + tmp24 += m_A70 * V[25]; + tmp24 += m_A71 * V[29]; + V[24] = (RHS24 - tmp24) / m_A69; + double tmp23 = 0.0; + tmp23 += m_A66 * V[37]; + V[23] = (RHS23 - tmp23) / m_A65; + double tmp22 = 0.0; + tmp22 += m_A64 * V[37]; + V[22] = (RHS22 - tmp22) / m_A63; + double tmp21 = 0.0; + tmp21 += m_A61 * V[25]; + tmp21 += m_A62 * V[34]; + V[21] = (RHS21 - tmp21) / m_A60; + double tmp20 = 0.0; + tmp20 += m_A56 * V[21]; + V[20] = (RHS20 - tmp20) / m_A55; + double tmp19 = 0.0; + tmp19 += m_A52 * V[37]; + V[19] = (RHS19 - tmp19) / m_A51; + double tmp18 = 0.0; + tmp18 += m_A48 * V[30]; + tmp18 += m_A49 * V[32]; + tmp18 += m_A50 * V[37]; + V[18] = (RHS18 - tmp18) / m_A47; + double tmp17 = 0.0; + tmp17 += m_A44 * V[33]; + tmp17 += m_A45 * V[36]; + tmp17 += m_A46 * V[37]; + V[17] = (RHS17 - tmp17) / m_A43; + double tmp16 = 0.0; + tmp16 += m_A42 * V[37]; + V[16] = (RHS16 - tmp16) / m_A41; + double tmp15 = 0.0; + tmp15 += m_A40 * V[35]; + V[15] = (RHS15 - tmp15) / m_A39; + double tmp14 = 0.0; + tmp14 += m_A38 * V[35]; + V[14] = (RHS14 - tmp14) / m_A37; + double tmp13 = 0.0; + tmp13 += m_A35 * V[29]; + tmp13 += m_A36 * V[37]; + V[13] = (RHS13 - tmp13) / m_A34; + double tmp12 = 0.0; + tmp12 += m_A32 * V[28]; + tmp12 += m_A33 * V[32]; + V[12] = (RHS12 - tmp12) / m_A31; + double tmp11 = 0.0; + tmp11 += m_A30 * V[32]; + V[11] = (RHS11 - tmp11) / m_A29; + double tmp10 = 0.0; + tmp10 += m_A27 * V[26]; + tmp10 += m_A28 * V[36]; + V[10] = (RHS10 - tmp10) / m_A26; + double tmp9 = 0.0; + tmp9 += m_A25 * V[28]; + V[9] = (RHS9 - tmp9) / m_A24; + double tmp8 = 0.0; + tmp8 += m_A21 * V[24]; + tmp8 += m_A22 * V[25]; + tmp8 += m_A23 * V[29]; + V[8] = (RHS8 - tmp8) / m_A20; + double tmp7 = 0.0; + tmp7 += m_A19 * V[27]; + V[7] = (RHS7 - tmp7) / m_A18; double tmp6 = 0.0; - tmp6 += m_A23 * V[7]; - V[6] = (RHS6 - tmp6) / m_A22; + tmp6 += m_A17 * V[26]; + V[6] = (RHS6 - tmp6) / m_A16; double tmp5 = 0.0; - tmp5 += m_A17 * V[6]; - tmp5 += m_A18 * V[7]; - V[5] = (RHS5 - tmp5) / m_A16; + tmp5 += m_A14 * V[8]; + tmp5 += m_A15 * V[24]; + V[5] = (RHS5 - tmp5) / m_A13; double tmp4 = 0.0; - tmp4 += m_A12 * V[5]; - tmp4 += m_A13 * V[6]; + tmp4 += m_A12 * V[24]; V[4] = (RHS4 - tmp4) / m_A11; double tmp3 = 0.0; - tmp3 += m_A8 * V[6]; + tmp3 += m_A8 * V[21]; + tmp3 += m_A9 * V[25]; + tmp3 += m_A10 * V[34]; V[3] = (RHS3 - tmp3) / m_A7; double tmp2 = 0.0; - tmp2 += m_A6 * V[7]; - V[2] = (RHS2 - tmp2) / m_A5; + tmp2 += m_A5 * V[20]; + tmp2 += m_A6 * V[21]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[4]; - tmp1 += m_A4 * V[5]; + tmp1 += m_A3 * V[20]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[4]; + tmp0 += m_A1 * V[31]; V[0] = (RHS0 - tmp0) / m_A0; } -// breakout -static void nl_gcr_1fffb23aa506432d_13_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// zac1b11142 +static void nl_gcr_2b5c86f8653bcde7_12_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A4 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A6 = gt[12] + gt[13] + gt[14]; - m_A7 = m_A7 + go[12]; - double RHS3 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A12 = gt[16] + gt[17] + gt[18] + gt[19]; - m_A11 = m_A11 + go[16]; - m_A10 = m_A10 + go[17]; - m_A9 = m_A9 + go[18]; - m_A8 = m_A8 + go[19]; - double RHS4 = Idr[16] + Idr[17] + Idr[18] + Idr[19]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A8; - m_A12 += m_A1 * f0_4; - RHS4 += f0_4 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A9; - m_A12 += m_A3 * f1_4; - RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_4 = -f2 * m_A10; - m_A12 += m_A5 * f2_4; - RHS4 += f2_4 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_4 = -f3 * m_A11; - m_A12 += m_A7 * f3_4; - RHS4 += f3_4 * RHS3; - V[4] = RHS4 / m_A12; - double tmp3 = 0.0; - tmp3 += m_A7 * V[4]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[4]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[4]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[4]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// pongf -static void nl_gcr_20615d28f46254cb_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A4 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A9 = gt[12] + gt[13] + gt[14]; - m_A8 = m_A8 + go[12]; - m_A7 = m_A7 + go[13]; - m_A6 = m_A6 + go[14]; - double RHS3 = Idr[12] + Idr[13] + Idr[14]; -const double f0 = 1.0 / m_A0; - const double f0_3 = -f0 * m_A6; - m_A9 += m_A1 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_3 = -f1 * m_A7; - m_A9 += m_A3 * f1_3; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A4 += go[3]; + m_A3 += go[4]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + m_A7 += gt[5]; + m_A7 += gt[6]; + m_A6 += go[5]; + m_A5 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + m_A11 += gt[7]; + m_A11 += gt[8]; + m_A9 += go[7]; + double RHS3 = Idr[7]; + RHS3 += Idr[8]; + RHS3 -= go[8] * *cnV[8]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A5; + m_A7 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A6; + m_A7 += m_A3 * f1_2; + m_A8 += m_A4 * f1_2; + RHS2 += f1_2 * RHS1; + const double f1_3 = -f1 * m_A9; + m_A10 += m_A3 * f1_3; + m_A11 += m_A4 * f1_3; RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_3 = -f2 * m_A8; - m_A9 += m_A5 * f2_3; + const double f2 = 1.0 / m_A7; + const double f2_3 = -f2 * m_A10; + m_A11 += m_A8 * f2_3; RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A9; + V[3] = RHS3 / m_A11; double tmp2 = 0.0; - tmp2 += m_A5 * V[3]; - V[2] = (RHS2 - tmp2) / m_A4; + tmp2 += m_A8 * V[3]; + V[2] = (RHS2 - tmp2) / m_A7; double tmp1 = 0.0; - tmp1 += m_A3 * V[3]; + tmp1 += m_A3 * V[2]; + tmp1 += m_A4 * V[3]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[3]; + tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } -// zac1b11142 -static void nl_gcr_21d92b630d2e9a99_30_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// rebound +static void nl_gcr_33a561080717d469_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A8 = gt[32] + gt[33] + gt[34]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A11 = gt[40] + gt[41] + gt[42] + gt[43]; - m_A12 = m_A12 + go[40]; - m_A10 = m_A10 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] - go[42] * *cnV[42] - go[43] * *cnV[43]; - m_A14 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54]; - m_A13 = m_A13 + go[48]; - m_A16 = m_A16 + go[49]; - m_A16 = m_A16 + go[50]; - m_A16 = m_A16 + go[51]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[52] * *cnV[52] - go[53] * *cnV[53] - go[54] * *cnV[54]; - m_A19 = gt[56] + gt[57]; - m_A18 = m_A18 + go[56]; - m_A17 = m_A17 + go[57]; - double RHS7 = Idr[56] + Idr[57]; - m_A21 = gt[64] + gt[65] + gt[66] + gt[67]; - m_A22 = m_A22 + go[64]; - m_A20 = m_A20 + go[65]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[66] * *cnV[66] - go[67] * *cnV[67]; - m_A29 = gt[72] + gt[73] + gt[74] + gt[75] + gt[76] + gt[77] + gt[78]; - m_A26 = m_A26 + go[72]; - m_A26 = m_A26 + go[73]; - m_A26 = m_A26 + go[74]; - m_A27 = m_A27 + go[75]; - m_A25 = m_A25 + go[76]; - m_A24 = m_A24 + go[77]; - m_A23 = m_A23 + go[78]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] + Idr[76] + Idr[77] + Idr[78]; -const double f0 = 1.0 / m_A0; - const double f0_6 = -f0 * m_A13; - m_A15 += m_A1 * f0_6; - RHS6 += f0_6 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_5 = -f1 * m_A10; - m_A11 += m_A3 * f1_5; - RHS5 += f1_5 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_7 = -f2 * m_A17; - m_A19 += m_A5 * f2_7; - RHS7 += f2_7 * RHS2; - const double f2_9 = -f2 * m_A23; - m_A27 += m_A5 * f2_9; - RHS9 += f2_9 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_8 = -f3 * m_A20; - m_A22 += m_A7 * f3_8; - RHS8 += f3_8 * RHS3; - const double f3_9 = -f3 * m_A24; - m_A29 += m_A7 * f3_9; - RHS9 += f3_9 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_9 = -f4 * m_A25; - m_A29 += m_A9 * f4_9; - RHS9 += f4_9 * RHS4; -const double f5 = 1.0 / m_A11; - const double f5_7 = -f5 * m_A18; - m_A19 += m_A12 * f5_7; - RHS7 += f5_7 * RHS5; -const double f6 = 1.0 / m_A14; - const double f6_9 = -f6 * m_A26; - m_A28 += m_A15 * f6_9; - m_A29 += m_A16 * f6_9; - RHS9 += f6_9 * RHS6; -const double f7 = 1.0 / m_A19; - const double f7_9 = -f7 * m_A27; - RHS9 += f7_9 * RHS7; -const double f8 = 1.0 / m_A21; - const double f8_9 = -f8 * m_A28; - m_A29 += m_A22 * f8_9; - RHS9 += f8_9 * RHS8; - V[9] = RHS9 / m_A29; - double tmp8 = 0.0; - tmp8 += m_A22 * V[9]; - V[8] = (RHS8 - tmp8) / m_A21; - double tmp7 = 0.0; - V[7] = (RHS7 - tmp7) / m_A19; - double tmp6 = 0.0; - tmp6 += m_A15 * V[8]; - tmp6 += m_A16 * V[9]; - V[6] = (RHS6 - tmp6) / m_A14; - double tmp5 = 0.0; - tmp5 += m_A12 * V[7]; - V[5] = (RHS5 - tmp5) / m_A11; - double tmp4 = 0.0; - tmp4 += m_A9 * V[9]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[9]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[7]; - V[2] = (RHS2 - tmp2) / m_A4; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[4]; + double RHS1 = Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A5 += go[6]; + m_A4 += go[7]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; + RHS2 += f1_2 * RHS1; + V[2] = RHS2 / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[5]; + tmp1 += m_A3 * V[2]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[8]; + tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } // dpatrol -static void nl_gcr_27a78682a9b70f8c_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +static void nl_gcr_390fe6bd5468155d_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A4 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A9 = gt[12] + gt[13] + gt[14] + gt[15]; - m_A8 = m_A8 + go[12]; - m_A7 = m_A7 + go[13]; - m_A6 = m_A6 + go[14]; - double RHS3 = Idr[12] + Idr[13] + Idr[14] + Idr[15] - go[15] * *cnV[15]; -const double f0 = 1.0 / m_A0; - const double f0_3 = -f0 * m_A6; - m_A9 += m_A1 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_3 = -f1 * m_A7; - m_A9 += m_A3 * f1_3; - RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_3 = -f2 * m_A8; - m_A9 += m_A5 * f2_3; - RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A9; - double tmp2 = 0.0; - tmp2 += m_A5 * V[3]; - V[2] = (RHS2 - tmp2) / m_A4; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A6 += gt[4]; + m_A6 += gt[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A5 += go[4]; + m_A4 += go[5]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 -= go[6] * *cnV[6]; + RHS2 -= go[7] * *cnV[7]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; + RHS2 += f1_2 * RHS1; + V[2] = RHS2 / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[3]; + tmp1 += m_A3 * V[2]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[3]; + tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } -// 280zzzap -static void nl_gcr_2e7df52e4934b257_31_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// kidniki +static void nl_gcr_445192d0ef3f62c6_21_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A9 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37]; - m_A8 = m_A8 + go[32]; - m_A11 = m_A11 + go[33]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37]; - m_A13 = gt[40] + gt[41]; - m_A14 = m_A14 + go[40]; - m_A12 = m_A12 + go[41]; - double RHS5 = Idr[40] + Idr[41]; - m_A16 = gt[48] + gt[49] + gt[50] + gt[51]; - m_A15 = m_A15 + go[48]; - m_A17 = m_A17 + go[49]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] - go[50] * *cnV[50] - go[51] * *cnV[51]; - m_A20 = gt[56] + gt[57] + gt[58] + gt[59]; - m_A21 = m_A21 + go[56]; - m_A22 = m_A22 + go[57]; - m_A18 = m_A18 + go[58]; - m_A19 = m_A19 + go[59]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59]; - m_A25 = gt[64] + gt[65]; - m_A24 = m_A24 + go[64]; - m_A23 = m_A23 + go[65]; - double RHS8 = Idr[64] + Idr[65]; - m_A30 = gt[72] + gt[73] + gt[74]; - m_A26 = m_A26 + go[72]; - m_A28 = m_A28 + go[73]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] - go[74] * *cnV[74]; -const double f0 = 1.0 / m_A0; - const double f0_6 = -f0 * m_A15; - m_A17 += m_A1 * f0_6; - RHS6 += f0_6 * RHS0; - const double f0_7 = -f0 * m_A18; - m_A20 += m_A1 * f0_7; - RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A8; - m_A10 += m_A3 * f1_4; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A0 += gt[5]; + m_A0 += gt[6]; + m_A1 += go[0]; + m_A2 += go[1]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 += Idr[5]; + RHS0 += Idr[6]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + RHS0 -= go[5] * *cnV[5]; + RHS0 -= go[6] * *cnV[6]; + m_A3 += gt[7]; + m_A3 += gt[8]; + m_A3 += gt[9]; + m_A5 += go[7]; + m_A4 += go[8]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[9] * *cnV[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[10]; + m_A8 += go[11]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + m_A10 += gt[12]; + m_A10 += gt[13]; + m_A10 += gt[14]; + m_A9 += go[12]; + double RHS3 = Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + m_A14 += gt[15]; + m_A14 += gt[16]; + m_A14 += gt[17]; + m_A14 += gt[18]; + m_A14 += gt[19]; + m_A14 += gt[20]; + m_A12 += go[15]; + m_A15 += go[16]; + m_A13 += go[17]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 -= go[18] * *cnV[18]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + m_A20 += gt[21]; + m_A20 += gt[22]; + m_A20 += gt[23]; + m_A17 += go[21]; + m_A16 += go[22]; + m_A19 += go[23]; + double RHS5 = Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A12; + m_A13 += m_A1 * f0_4; + m_A14 += m_A2 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A3; + const double f1_4 = -f1 * m_A13; + m_A14 += m_A4 * f1_4; + m_A15 += m_A5 * f1_4; RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_5 = -f2 * m_A12; - m_A13 += m_A5 * f2_5; + const double f1_5 = -f1 * m_A16; + m_A19 += m_A4 * f1_5; + m_A20 += m_A5 * f1_5; + RHS5 += f1_5 * RHS1; + const double f2 = 1.0 / m_A6; + const double f2_3 = -f2 * m_A9; + m_A10 += m_A7 * f2_3; + m_A11 += m_A8 * f2_3; + RHS3 += f2_3 * RHS2; + const double f2_5 = -f2 * m_A17; + m_A18 += m_A7 * f2_5; + m_A20 += m_A8 * f2_5; RHS5 += f2_5 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_7 = -f3 * m_A19; - m_A21 += m_A7 * f3_7; - RHS7 += f3_7 * RHS3; - const double f3_8 = -f3 * m_A23; - m_A25 += m_A7 * f3_8; - RHS8 += f3_8 * RHS3; -const double f4 = 1.0 / m_A9; - const double f4_9 = -f4 * m_A26; - m_A27 += m_A10 * f4_9; - m_A30 += m_A11 * f4_9; - RHS9 += f4_9 * RHS4; -const double f5 = 1.0 / m_A13; - const double f5_8 = -f5 * m_A24; - m_A25 += m_A14 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A16; - const double f6_9 = -f6 * m_A27; - m_A28 += m_A17 * f6_9; - RHS9 += f6_9 * RHS6; -const double f7 = 1.0 / m_A20; - const double f7_9 = -f7 * m_A28; - m_A29 += m_A21 * f7_9; - m_A30 += m_A22 * f7_9; - RHS9 += f7_9 * RHS7; -const double f8 = 1.0 / m_A25; - const double f8_9 = -f8 * m_A29; - RHS9 += f8_9 * RHS8; - V[9] = RHS9 / m_A30; - double tmp8 = 0.0; - V[8] = (RHS8 - tmp8) / m_A25; - double tmp7 = 0.0; - tmp7 += m_A21 * V[8]; - tmp7 += m_A22 * V[9]; - V[7] = (RHS7 - tmp7) / m_A20; - double tmp6 = 0.0; - tmp6 += m_A17 * V[7]; - V[6] = (RHS6 - tmp6) / m_A16; - double tmp5 = 0.0; - tmp5 += m_A14 * V[8]; - V[5] = (RHS5 - tmp5) / m_A13; + const double f3 = 1.0 / m_A10; + const double f3_5 = -f3 * m_A18; + m_A20 += m_A11 * f3_5; + RHS5 += f3_5 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_5 = -f4 * m_A19; + m_A20 += m_A15 * f4_5; + RHS5 += f4_5 * RHS4; + V[5] = RHS5 / m_A20; double tmp4 = 0.0; - tmp4 += m_A10 * V[6]; - tmp4 += m_A11 * V[9]; - V[4] = (RHS4 - tmp4) / m_A9; + tmp4 += m_A15 * V[5]; + V[4] = (RHS4 - tmp4) / m_A14; double tmp3 = 0.0; - tmp3 += m_A7 * V[8]; - V[3] = (RHS3 - tmp3) / m_A6; + tmp3 += m_A11 * V[5]; + V[3] = (RHS3 - tmp3) / m_A10; double tmp2 = 0.0; - tmp2 += m_A5 * V[5]; - V[2] = (RHS2 - tmp2) / m_A4; + tmp2 += m_A7 * V[3]; + tmp2 += m_A8 * V[5]; + V[2] = (RHS2 - tmp2) / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[6]; - V[1] = (RHS1 - tmp1) / m_A2; + tmp1 += m_A4 * V[4]; + tmp1 += m_A5 * V[5]; + V[1] = (RHS1 - tmp1) / m_A3; double tmp0 = 0.0; - tmp0 += m_A1 * V[7]; + tmp0 += m_A1 * V[1]; + tmp0 += m_A2 * V[4]; V[0] = (RHS0 - tmp0) / m_A0; } -// mario -static void nl_gcr_2eb3d95f720484d_62_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// kidniki +static void nl_gcr_4a06f16ac700a832_198_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[25] * *cnV[25] - go[26] * *cnV[26] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30]; - m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38]; - m_A10 = gt[40] + gt[41]; - m_A12 = m_A12 + go[40]; - m_A11 = m_A11 + go[41]; - double RHS5 = Idr[40] + Idr[41]; - m_A13 = gt[48] + gt[49] + gt[50]; - m_A14 = m_A14 + go[48]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50]; - m_A15 = gt[56] + gt[57]; - m_A16 = m_A16 + go[56]; - double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57]; - m_A17 = gt[64] + gt[65] + gt[66] + gt[67]; - m_A18 = m_A18 + go[64]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[65] * *cnV[65] - go[66] * *cnV[66] - go[67] * *cnV[67]; - m_A20 = gt[72] + gt[73]; - m_A19 = m_A19 + go[72]; - double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73]; - m_A22 = gt[80] + gt[81] + gt[82] + gt[83]; - m_A21 = m_A21 + go[80]; - m_A23 = m_A23 + go[81]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] - go[82] * *cnV[82] - go[83] * *cnV[83]; - m_A27 = gt[88] + gt[89] + gt[90] + gt[91] + gt[92]; - m_A24 = m_A24 + go[88]; - m_A25 = m_A25 + go[89]; - m_A28 = m_A28 + go[90]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] + Idr[92] - go[91] * *cnV[91] - go[92] * *cnV[92]; - m_A32 = gt[96] + gt[97]; - m_A31 = m_A31 + go[96]; - m_A30 = m_A30 + go[97]; - double RHS12 = Idr[96] + Idr[97]; - m_A34 = gt[104] + gt[105] + gt[106] + gt[107] + gt[108] + gt[109]; - m_A33 = m_A33 + go[104]; - m_A37 = m_A37 + go[105]; - m_A36 = m_A36 + go[106]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107] + Idr[108] + Idr[109] - go[107] * *cnV[107] - go[108] * *cnV[108] - go[109] * *cnV[109]; - m_A39 = gt[112] + gt[113] + gt[114] + gt[115]; - m_A40 = m_A40 + go[112]; - m_A38 = m_A38 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] - go[114] * *cnV[114] - go[115] * *cnV[115]; - m_A46 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124]; - m_A44 = m_A44 + go[120]; - m_A45 = m_A45 + go[121]; - m_A43 = m_A43 + go[122]; - m_A42 = m_A42 + go[123]; - m_A41 = m_A41 + go[124]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124]; - m_A53 = gt[128] + gt[129] + gt[130] + gt[131]; - m_A50 = m_A50 + go[128]; - m_A54 = m_A54 + go[129]; - m_A48 = m_A48 + go[130]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[131] * *cnV[131]; - m_A61 = gt[136] + gt[137] + gt[138] + gt[139] + gt[140]; - m_A57 = m_A57 + go[136]; - m_A58 = m_A58 + go[137]; - m_A60 = m_A60 + go[138]; - m_A55 = m_A55 + go[139]; - m_A56 = m_A56 + go[140]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] + Idr[140]; -const double f0 = 1.0 / m_A0; - const double f0_9 = -f0 * m_A19; - m_A20 += m_A1 * f0_9; - RHS9 += f0_9 * RHS0; - const double f0_15 = -f0 * m_A41; - m_A44 += m_A1 * f0_15; - RHS15 += f0_15 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_10 = -f1 * m_A21; - m_A23 += m_A3 * f1_10; - RHS10 += f1_10 * RHS1; - const double f1_15 = -f1 * m_A42; - m_A46 += m_A3 * f1_15; - RHS15 += f1_15 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_15 = -f2 * m_A43; - m_A46 += m_A5 * f2_15; - RHS15 += f2_15 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_11 = -f3 * m_A24; - m_A26 += m_A7 * f3_11; - RHS11 += f3_11 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_13 = -f4 * m_A33; - m_A35 += m_A9 * f4_13; - RHS13 += f4_13 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_11 = -f5 * m_A25; - m_A27 += m_A11 * f5_11; - m_A29 += m_A12 * f5_11; - RHS11 += f5_11 * RHS5; - const double f5_16 = -f5 * m_A48; - m_A49 += m_A11 * f5_16; - m_A53 += m_A12 * f5_16; - RHS16 += f5_16 * RHS5; -const double f6 = 1.0 / m_A13; - const double f6_14 = -f6 * m_A38; - m_A40 += m_A14 * f6_14; - RHS14 += f6_14 * RHS6; - const double f6_17 = -f6 * m_A55; - m_A61 += m_A14 * f6_17; - RHS17 += f6_17 * RHS6; -const double f7 = 1.0 / m_A15; - const double f7_12 = -f7 * m_A30; - m_A32 += m_A16 * f7_12; - RHS12 += f7_12 * RHS7; - const double f7_17 = -f7 * m_A56; - m_A57 += m_A16 * f7_17; - RHS17 += f7_17 * RHS7; -const double f8 = 1.0 / m_A17; - const double f8_12 = -f8 * m_A31; - m_A32 += m_A18 * f8_12; - RHS12 += f8_12 * RHS8; -const double f9 = 1.0 / m_A20; - const double f9_15 = -f9 * m_A44; - RHS15 += f9_15 * RHS9; -const double f10 = 1.0 / m_A22; - const double f10_11 = -f10 * m_A26; - m_A28 += m_A23 * f10_11; - RHS11 += f10_11 * RHS10; -const double f11 = 1.0 / m_A27; - const double f11_15 = -f11 * m_A45; - m_A46 += m_A28 * f11_15; - m_A47 += m_A29 * f11_15; - RHS15 += f11_15 * RHS11; - const double f11_16 = -f11 * m_A49; - m_A52 += m_A28 * f11_16; - m_A53 += m_A29 * f11_16; - RHS16 += f11_16 * RHS11; -const double f12 = 1.0 / m_A32; - const double f12_17 = -f12 * m_A57; - RHS17 += f12_17 * RHS12; -const double f13 = 1.0 / m_A34; - const double f13_16 = -f13 * m_A50; - m_A51 += m_A35 * f13_16; - m_A53 += m_A36 * f13_16; - m_A54 += m_A37 * f13_16; - RHS16 += f13_16 * RHS13; - const double f13_17 = -f13 * m_A58; - m_A59 += m_A35 * f13_17; - m_A60 += m_A36 * f13_17; - m_A61 += m_A37 * f13_17; - RHS17 += f13_17 * RHS13; -const double f14 = 1.0 / m_A39; - const double f14_16 = -f14 * m_A51; - m_A54 += m_A40 * f14_16; - RHS16 += f14_16 * RHS14; - const double f14_17 = -f14 * m_A59; - m_A61 += m_A40 * f14_17; - RHS17 += f14_17 * RHS14; -const double f15 = 1.0 / m_A46; - const double f15_16 = -f15 * m_A52; - m_A53 += m_A47 * f15_16; - RHS16 += f15_16 * RHS15; -const double f16 = 1.0 / m_A53; - const double f16_17 = -f16 * m_A60; - m_A61 += m_A54 * f16_17; - RHS17 += f16_17 * RHS16; - V[17] = RHS17 / m_A61; - double tmp16 = 0.0; - tmp16 += m_A54 * V[17]; - V[16] = (RHS16 - tmp16) / m_A53; - double tmp15 = 0.0; - tmp15 += m_A47 * V[16]; - V[15] = (RHS15 - tmp15) / m_A46; - double tmp14 = 0.0; - tmp14 += m_A40 * V[17]; - V[14] = (RHS14 - tmp14) / m_A39; - double tmp13 = 0.0; - tmp13 += m_A35 * V[14]; - tmp13 += m_A36 * V[16]; - tmp13 += m_A37 * V[17]; - V[13] = (RHS13 - tmp13) / m_A34; - double tmp12 = 0.0; - V[12] = (RHS12 - tmp12) / m_A32; - double tmp11 = 0.0; - tmp11 += m_A28 * V[15]; - tmp11 += m_A29 * V[16]; - V[11] = (RHS11 - tmp11) / m_A27; - double tmp10 = 0.0; - tmp10 += m_A23 * V[15]; - V[10] = (RHS10 - tmp10) / m_A22; - double tmp9 = 0.0; - V[9] = (RHS9 - tmp9) / m_A20; - double tmp8 = 0.0; - tmp8 += m_A18 * V[12]; - V[8] = (RHS8 - tmp8) / m_A17; - double tmp7 = 0.0; - tmp7 += m_A16 * V[12]; - V[7] = (RHS7 - tmp7) / m_A15; - double tmp6 = 0.0; - tmp6 += m_A14 * V[17]; - V[6] = (RHS6 - tmp6) / m_A13; - double tmp5 = 0.0; - tmp5 += m_A11 * V[11]; - tmp5 += m_A12 * V[16]; - V[5] = (RHS5 - tmp5) / m_A10; - double tmp4 = 0.0; - tmp4 += m_A9 * V[14]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[10]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[15]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[15]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[9]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// segas16b_audio -static void nl_gcr_35947d349693c22_111_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A8 = m_A8 + go[24]; - m_A7 = m_A7 + go[25]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26]; - m_A9 = gt[32] + gt[33] + gt[34]; - m_A12 = m_A12 + go[32]; - m_A10 = m_A10 + go[33]; - m_A11 = m_A11 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34]; - m_A13 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A15 = m_A15 + go[40]; - m_A14 = m_A14 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46]; - m_A16 = gt[48] + gt[49]; - m_A17 = m_A17 + go[48]; - m_A18 = m_A18 + go[49]; - double RHS6 = Idr[48] + Idr[49]; - m_A19 = gt[56] + gt[57]; - m_A20 = m_A20 + go[56]; - m_A21 = m_A21 + go[57]; - double RHS7 = Idr[56] + Idr[57]; - m_A22 = gt[64] + gt[65]; - m_A23 = m_A23 + go[64]; - m_A24 = m_A24 + go[65]; - double RHS8 = Idr[64] + Idr[65]; - m_A25 = gt[72] + gt[73]; - m_A26 = m_A26 + go[72]; - m_A27 = m_A27 + go[73]; - double RHS9 = Idr[72] + Idr[73]; - m_A28 = gt[80] + gt[81]; - m_A29 = m_A29 + go[80]; - double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81]; - m_A30 = gt[88] + gt[89] + gt[90] + gt[91]; - m_A31 = m_A31 + go[88]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[89] * *cnV[89] - go[90] * *cnV[90] - go[91] * *cnV[91]; - m_A34 = gt[96] + gt[97] + gt[98]; - m_A33 = m_A33 + go[96]; - m_A32 = m_A32 + go[97]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] - go[98] * *cnV[98]; - m_A37 = gt[104] + gt[105] + gt[106] + gt[107] + gt[108] + gt[109] + gt[110]; - m_A38 = m_A38 + go[104]; - m_A36 = m_A36 + go[105]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107] + Idr[108] + Idr[109] + Idr[110] - go[106] * *cnV[106] - go[107] * *cnV[107] - go[108] * *cnV[108] - go[109] * *cnV[109] - go[110] * *cnV[110]; - m_A40 = gt[112] + gt[113] + gt[114] + gt[115] + gt[116] + gt[117] + gt[118]; - m_A41 = m_A41 + go[112]; - m_A39 = m_A39 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] + Idr[116] + Idr[117] + Idr[118] - go[114] * *cnV[114] - go[115] * *cnV[115] - go[116] * *cnV[116] - go[117] * *cnV[117] - go[118] * *cnV[118]; - m_A44 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A45 = m_A45 + go[120]; - m_A43 = m_A43 + go[121]; - m_A42 = m_A42 + go[122]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[123] * *cnV[123]; - m_A48 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132] + gt[133] + gt[134]; - m_A49 = m_A49 + go[128]; - m_A46 = m_A46 + go[129]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132] + Idr[133] + Idr[134] - go[130] * *cnV[130] - go[131] * *cnV[131] - go[132] * *cnV[132] - go[133] * *cnV[133] - go[134] * *cnV[134]; - m_A51 = gt[136] + gt[137] + gt[138]; - m_A53 = m_A53 + go[136]; - m_A50 = m_A50 + go[137]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] - go[138] * *cnV[138]; - m_A58 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149]; - m_A57 = m_A57 + go[144]; - m_A62 = m_A62 + go[145]; - m_A62 = m_A62 + go[146]; - m_A56 = m_A56 + go[147]; - m_A55 = m_A55 + go[148]; - m_A54 = m_A54 + go[149]; - double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149]; - m_A67 = gt[152] + gt[153] + gt[154] + gt[155] + gt[156]; - m_A65 = m_A65 + go[152]; - m_A64 = m_A64 + go[153]; - m_A63 = m_A63 + go[154]; - double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] + Idr[156] - go[155] * *cnV[155] - go[156] * *cnV[156]; - m_A76 = gt[160] + gt[161] + gt[162] + gt[163] + gt[164]; - m_A73 = m_A73 + go[160]; - m_A72 = m_A72 + go[161]; - m_A71 = m_A71 + go[162]; - double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] + Idr[164] - go[163] * *cnV[163] - go[164] * *cnV[164]; - m_A84 = gt[168] + gt[169] + gt[170] + gt[171] + gt[172] + gt[173]; - m_A82 = m_A82 + go[168]; - m_A80 = m_A80 + go[169]; - m_A79 = m_A79 + go[170]; - m_A81 = m_A81 + go[171]; - double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] + Idr[172] + Idr[173] - go[172] * *cnV[172] - go[173] * *cnV[173]; - m_A94 = gt[176] + gt[177] + gt[178] + gt[179] + gt[180] + gt[181]; - m_A87 = m_A87 + go[176]; - m_A88 = m_A88 + go[177]; - m_A89 = m_A89 + go[178]; - m_A86 = m_A86 + go[179]; - double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179] + Idr[180] + Idr[181] - go[180] * *cnV[180] - go[181] * *cnV[181]; - m_A101 = gt[184] + gt[185] + gt[186] + gt[187] + gt[188] + gt[189] + gt[190]; - m_A96 = m_A96 + go[184]; - m_A97 = m_A97 + go[185]; - double RHS23 = Idr[184] + Idr[185] + Idr[186] + Idr[187] + Idr[188] + Idr[189] + Idr[190] - go[186] * *cnV[186] - go[187] * *cnV[187] - go[188] * *cnV[188] - go[189] * *cnV[189] - go[190] * *cnV[190]; - m_A110 = gt[192] + gt[193] + gt[194] + gt[195] + gt[196] + gt[197]; - m_A109 = m_A109 + go[192]; - m_A103 = m_A103 + go[193]; - m_A105 = m_A105 + go[194]; - m_A105 = m_A105 + go[195]; - double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] + Idr[196] + Idr[197] - go[196] * *cnV[196] - go[197] * *cnV[197]; -const double f0 = 1.0 / m_A0; - const double f0_13 = -f0 * m_A36; - m_A38 += m_A1 * f0_13; - RHS13 += f0_13 * RHS0; - const double f0_19 = -f0 * m_A63; - m_A67 += m_A1 * f0_19; - RHS19 += f0_19 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_14 = -f1 * m_A39; - m_A41 += m_A3 * f1_14; - RHS14 += f1_14 * RHS1; - const double f1_20 = -f1 * m_A71; - m_A76 += m_A3 * f1_20; - RHS20 += f1_20 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_15 = -f2 * m_A42; - m_A44 += m_A5 * f2_15; - RHS15 += f2_15 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_15 = -f3 * m_A43; - m_A44 += m_A7 * f3_15; - m_A45 += m_A8 * f3_15; - RHS15 += f3_15 * RHS3; - const double f3_16 = -f3 * m_A46; - m_A47 += m_A7 * f3_16; - m_A49 += m_A8 * f3_16; - RHS16 += f3_16 * RHS3; - const double f3_21 = -f3 * m_A79; - m_A81 += m_A7 * f3_21; - m_A84 += m_A8 * f3_21; - RHS21 += f3_21 * RHS3; -const double f4 = 1.0 / m_A9; - const double f4_17 = -f4 * m_A50; - m_A51 += m_A10 * f4_17; - m_A52 += m_A11 * f4_17; - m_A53 += m_A12 * f4_17; - RHS17 += f4_17 * RHS4; - const double f4_21 = -f4 * m_A80; - m_A83 += m_A10 * f4_21; - m_A84 += m_A11 * f4_21; - m_A85 += m_A12 * f4_21; - RHS21 += f4_21 * RHS4; - const double f4_22 = -f4 * m_A86; - m_A89 += m_A10 * f4_22; - m_A93 += m_A11 * f4_22; - m_A94 += m_A12 * f4_22; - RHS22 += f4_22 * RHS4; -const double f5 = 1.0 / m_A13; - const double f5_22 = -f5 * m_A87; - m_A89 += m_A14 * f5_22; - m_A94 += m_A15 * f5_22; - RHS22 += f5_22 * RHS5; -const double f6 = 1.0 / m_A16; - const double f6_18 = -f6 * m_A54; - m_A58 += m_A17 * f6_18; - m_A61 += m_A18 * f6_18; - RHS18 += f6_18 * RHS6; - const double f6_22 = -f6 * m_A88; - m_A90 += m_A17 * f6_22; - m_A94 += m_A18 * f6_22; - RHS22 += f6_22 * RHS6; -const double f7 = 1.0 / m_A19; - const double f7_18 = -f7 * m_A55; - m_A58 += m_A20 * f7_18; - m_A59 += m_A21 * f7_18; - RHS18 += f7_18 * RHS7; - const double f7_19 = -f7 * m_A64; - m_A66 += m_A20 * f7_19; - m_A67 += m_A21 * f7_19; - RHS19 += f7_19 * RHS7; -const double f8 = 1.0 / m_A22; - const double f8_18 = -f8 * m_A56; - m_A58 += m_A23 * f8_18; - m_A60 += m_A24 * f8_18; - RHS18 += f8_18 * RHS8; - const double f8_20 = -f8 * m_A72; - m_A74 += m_A23 * f8_20; - m_A76 += m_A24 * f8_20; - RHS20 += f8_20 * RHS8; -const double f9 = 1.0 / m_A25; - const double f9_12 = -f9 * m_A32; - m_A34 += m_A26 * f9_12; - m_A35 += m_A27 * f9_12; - RHS12 += f9_12 * RHS9; - const double f9_24 = -f9 * m_A103; - m_A104 += m_A26 * f9_24; - m_A110 += m_A27 * f9_24; - RHS24 += f9_24 * RHS9; -const double f10 = 1.0 / m_A28; - const double f10_12 = -f10 * m_A33; - m_A34 += m_A29 * f10_12; - RHS12 += f10_12 * RHS10; -const double f11 = 1.0 / m_A30; - const double f11_18 = -f11 * m_A57; - m_A58 += m_A31 * f11_18; - RHS18 += f11_18 * RHS11; - const double f11_23 = -f11 * m_A96; - m_A97 += m_A31 * f11_23; - RHS23 += f11_23 * RHS11; -const double f12 = 1.0 / m_A34; - const double f12_24 = -f12 * m_A104; - m_A110 += m_A35 * f12_24; - RHS24 += f12_24 * RHS12; -const double f13 = 1.0 / m_A37; - const double f13_19 = -f13 * m_A65; - m_A67 += m_A38 * f13_19; - RHS19 += f13_19 * RHS13; -const double f14 = 1.0 / m_A40; - const double f14_20 = -f14 * m_A73; - m_A76 += m_A41 * f14_20; - RHS20 += f14_20 * RHS14; -const double f15 = 1.0 / m_A44; - const double f15_16 = -f15 * m_A47; - m_A49 += m_A45 * f15_16; - RHS16 += f15_16 * RHS15; - const double f15_21 = -f15 * m_A81; - m_A84 += m_A45 * f15_21; - RHS21 += f15_21 * RHS15; -const double f16 = 1.0 / m_A48; - const double f16_21 = -f16 * m_A82; - m_A84 += m_A49 * f16_21; - RHS21 += f16_21 * RHS16; -const double f17 = 1.0 / m_A51; - const double f17_21 = -f17 * m_A83; - m_A84 += m_A52 * f17_21; - m_A85 += m_A53 * f17_21; - RHS21 += f17_21 * RHS17; - const double f17_22 = -f17 * m_A89; - m_A93 += m_A52 * f17_22; - m_A94 += m_A53 * f17_22; - RHS22 += f17_22 * RHS17; -const double f18 = 1.0 / m_A58; - const double f18_19 = -f18 * m_A66; - m_A67 += m_A59 * f18_19; - m_A68 += m_A60 * f18_19; - m_A69 += m_A61 * f18_19; - m_A70 += m_A62 * f18_19; - RHS19 += f18_19 * RHS18; - const double f18_20 = -f18 * m_A74; - m_A75 += m_A59 * f18_20; - m_A76 += m_A60 * f18_20; - m_A77 += m_A61 * f18_20; - m_A78 += m_A62 * f18_20; - RHS20 += f18_20 * RHS18; - const double f18_22 = -f18 * m_A90; - m_A91 += m_A59 * f18_22; - m_A92 += m_A60 * f18_22; - m_A94 += m_A61 * f18_22; - m_A95 += m_A62 * f18_22; - RHS22 += f18_22 * RHS18; - const double f18_23 = -f18 * m_A97; - m_A98 += m_A59 * f18_23; - m_A99 += m_A60 * f18_23; - m_A100 += m_A61 * f18_23; - m_A102 += m_A62 * f18_23; - RHS23 += f18_23 * RHS18; - const double f18_24 = -f18 * m_A105; - m_A106 += m_A59 * f18_24; - m_A107 += m_A60 * f18_24; - m_A108 += m_A61 * f18_24; - m_A110 += m_A62 * f18_24; - RHS24 += f18_24 * RHS18; -const double f19 = 1.0 / m_A67; - const double f19_20 = -f19 * m_A75; - m_A76 += m_A68 * f19_20; - m_A77 += m_A69 * f19_20; - m_A78 += m_A70 * f19_20; - RHS20 += f19_20 * RHS19; - const double f19_22 = -f19 * m_A91; - m_A92 += m_A68 * f19_22; - m_A94 += m_A69 * f19_22; - m_A95 += m_A70 * f19_22; - RHS22 += f19_22 * RHS19; - const double f19_23 = -f19 * m_A98; - m_A99 += m_A68 * f19_23; - m_A100 += m_A69 * f19_23; - m_A102 += m_A70 * f19_23; - RHS23 += f19_23 * RHS19; - const double f19_24 = -f19 * m_A106; - m_A107 += m_A68 * f19_24; - m_A108 += m_A69 * f19_24; - m_A110 += m_A70 * f19_24; - RHS24 += f19_24 * RHS19; -const double f20 = 1.0 / m_A76; - const double f20_22 = -f20 * m_A92; - m_A94 += m_A77 * f20_22; - m_A95 += m_A78 * f20_22; - RHS22 += f20_22 * RHS20; - const double f20_23 = -f20 * m_A99; - m_A100 += m_A77 * f20_23; - m_A102 += m_A78 * f20_23; - RHS23 += f20_23 * RHS20; - const double f20_24 = -f20 * m_A107; - m_A108 += m_A77 * f20_24; - m_A110 += m_A78 * f20_24; - RHS24 += f20_24 * RHS20; -const double f21 = 1.0 / m_A84; - const double f21_22 = -f21 * m_A93; - m_A94 += m_A85 * f21_22; - RHS22 += f21_22 * RHS21; -const double f22 = 1.0 / m_A94; - const double f22_23 = -f22 * m_A100; - m_A102 += m_A95 * f22_23; - RHS23 += f22_23 * RHS22; - const double f22_24 = -f22 * m_A108; - m_A110 += m_A95 * f22_24; - RHS24 += f22_24 * RHS22; -const double f23 = 1.0 / m_A101; - const double f23_24 = -f23 * m_A109; - m_A110 += m_A102 * f23_24; - RHS24 += f23_24 * RHS23; - V[24] = RHS24 / m_A110; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + double m_A116(0.0); + double m_A117(0.0); + double m_A118(0.0); + double m_A119(0.0); + double m_A120(0.0); + double m_A121(0.0); + double m_A122(0.0); + double m_A123(0.0); + double m_A124(0.0); + double m_A125(0.0); + double m_A126(0.0); + double m_A127(0.0); + double m_A128(0.0); + double m_A129(0.0); + double m_A130(0.0); + double m_A131(0.0); + double m_A132(0.0); + double m_A133(0.0); + double m_A134(0.0); + double m_A135(0.0); + double m_A136(0.0); + double m_A137(0.0); + double m_A138(0.0); + double m_A139(0.0); + double m_A140(0.0); + double m_A141(0.0); + double m_A142(0.0); + double m_A143(0.0); + double m_A144(0.0); + double m_A145(0.0); + double m_A146(0.0); + double m_A147(0.0); + double m_A148(0.0); + double m_A149(0.0); + double m_A150(0.0); + double m_A151(0.0); + double m_A152(0.0); + double m_A153(0.0); + double m_A154(0.0); + double m_A155(0.0); + double m_A156(0.0); + double m_A157(0.0); + double m_A158(0.0); + double m_A159(0.0); + double m_A160(0.0); + double m_A161(0.0); + double m_A162(0.0); + double m_A163(0.0); + double m_A164(0.0); + double m_A165(0.0); + double m_A166(0.0); + double m_A167(0.0); + double m_A168(0.0); + double m_A169(0.0); + double m_A170(0.0); + double m_A171(0.0); + double m_A172(0.0); + double m_A173(0.0); + double m_A174(0.0); + double m_A175(0.0); + double m_A176(0.0); + double m_A177(0.0); + double m_A178(0.0); + double m_A179(0.0); + double m_A180(0.0); + double m_A181(0.0); + double m_A182(0.0); + double m_A183(0.0); + double m_A184(0.0); + double m_A185(0.0); + double m_A186(0.0); + double m_A187(0.0); + double m_A188(0.0); + double m_A189(0.0); + double m_A190(0.0); + double m_A191(0.0); + double m_A192(0.0); + double m_A193(0.0); + double m_A194(0.0); + double m_A195(0.0); + double m_A196(0.0); + double m_A197(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A6 += go[4]; + m_A5 += go[5]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 += Idr[6]; + RHS2 -= go[6] * *cnV[6]; + m_A7 += gt[7]; + m_A7 += gt[8]; + m_A7 += gt[9]; + m_A7 += gt[10]; + m_A7 += gt[11]; + m_A7 += gt[12]; + m_A7 += gt[13]; + m_A8 += go[7]; + m_A9 += go[8]; + double RHS3 = Idr[7]; + RHS3 += Idr[8]; + RHS3 += Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 -= go[9] * *cnV[9]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + m_A10 += gt[14]; + m_A10 += gt[15]; + m_A12 += go[14]; + m_A11 += go[15]; + double RHS4 = Idr[14]; + RHS4 += Idr[15]; + m_A13 += gt[16]; + m_A13 += gt[17]; + m_A14 += go[16]; + double RHS5 = Idr[16]; + RHS5 += Idr[17]; + RHS5 -= go[17] * *cnV[17]; + m_A15 += gt[18]; + m_A15 += gt[19]; + m_A15 += gt[20]; + m_A16 += go[18]; + double RHS6 = Idr[18]; + RHS6 += Idr[19]; + RHS6 += Idr[20]; + RHS6 -= go[19] * *cnV[19]; + RHS6 -= go[20] * *cnV[20]; + m_A17 += gt[21]; + m_A17 += gt[22]; + m_A17 += gt[23]; + m_A17 += gt[24]; + m_A17 += gt[25]; + m_A17 += gt[26]; + m_A17 += gt[27]; + m_A19 += go[21]; + m_A18 += go[22]; + double RHS7 = Idr[21]; + RHS7 += Idr[22]; + RHS7 += Idr[23]; + RHS7 += Idr[24]; + RHS7 += Idr[25]; + RHS7 += Idr[26]; + RHS7 += Idr[27]; + RHS7 -= go[23] * *cnV[23]; + RHS7 -= go[24] * *cnV[24]; + RHS7 -= go[25] * *cnV[25]; + RHS7 -= go[26] * *cnV[26]; + RHS7 -= go[27] * *cnV[27]; + m_A20 += gt[28]; + m_A20 += gt[29]; + m_A21 += go[28]; + m_A22 += go[29]; + double RHS8 = Idr[28]; + RHS8 += Idr[29]; + m_A23 += gt[30]; + m_A23 += gt[31]; + m_A23 += gt[32]; + m_A24 += go[30]; + m_A25 += go[31]; + double RHS9 = Idr[30]; + RHS9 += Idr[31]; + RHS9 += Idr[32]; + RHS9 -= go[32] * *cnV[32]; + m_A26 += gt[33]; + m_A26 += gt[34]; + m_A27 += go[33]; + double RHS10 = Idr[33]; + RHS10 += Idr[34]; + RHS10 -= go[34] * *cnV[34]; + m_A28 += gt[35]; + m_A28 += gt[36]; + m_A28 += gt[37]; + m_A28 += gt[38]; + m_A30 += go[35]; + m_A29 += go[36]; + m_A29 += go[37]; + double RHS11 = Idr[35]; + RHS11 += Idr[36]; + RHS11 += Idr[37]; + RHS11 += Idr[38]; + RHS11 -= go[38] * *cnV[38]; + m_A31 += gt[39]; + m_A31 += gt[40]; + m_A33 += go[39]; + m_A32 += go[40]; + double RHS12 = Idr[39]; + RHS12 += Idr[40]; + m_A34 += gt[41]; + m_A34 += gt[42]; + m_A34 += gt[43]; + m_A36 += go[41]; + m_A35 += go[42]; + double RHS13 = Idr[41]; + RHS13 += Idr[42]; + RHS13 += Idr[43]; + RHS13 -= go[43] * *cnV[43]; + m_A37 += gt[44]; + m_A37 += gt[45]; + m_A37 += gt[46]; + m_A38 += go[44]; + m_A39 += go[45]; + double RHS14 = Idr[44]; + RHS14 += Idr[45]; + RHS14 += Idr[46]; + RHS14 -= go[46] * *cnV[46]; + m_A40 += gt[47]; + m_A40 += gt[48]; + m_A40 += gt[49]; + m_A40 += gt[50]; + m_A40 += gt[51]; + m_A42 += go[47]; + m_A41 += go[48]; + m_A41 += go[49]; + double RHS15 = Idr[47]; + RHS15 += Idr[48]; + RHS15 += Idr[49]; + RHS15 += Idr[50]; + RHS15 += Idr[51]; + RHS15 -= go[50] * *cnV[50]; + RHS15 -= go[51] * *cnV[51]; + m_A43 += gt[52]; + m_A43 += gt[53]; + m_A43 += gt[54]; + m_A43 += gt[55]; + m_A44 += go[52]; + double RHS16 = Idr[52]; + RHS16 += Idr[53]; + RHS16 += Idr[54]; + RHS16 += Idr[55]; + RHS16 -= go[53] * *cnV[53]; + RHS16 -= go[54] * *cnV[54]; + RHS16 -= go[55] * *cnV[55]; + m_A45 += gt[56]; + m_A45 += gt[57]; + m_A45 += gt[58]; + m_A45 += gt[59]; + m_A46 += go[56]; + double RHS17 = Idr[56]; + RHS17 += Idr[57]; + RHS17 += Idr[58]; + RHS17 += Idr[59]; + RHS17 -= go[57] * *cnV[57]; + RHS17 -= go[58] * *cnV[58]; + RHS17 -= go[59] * *cnV[59]; + m_A47 += gt[60]; + m_A47 += gt[61]; + m_A47 += gt[62]; + m_A47 += gt[63]; + m_A47 += gt[64]; + m_A49 += go[60]; + m_A49 += go[61]; + m_A48 += go[62]; + double RHS18 = Idr[60]; + RHS18 += Idr[61]; + RHS18 += Idr[62]; + RHS18 += Idr[63]; + RHS18 += Idr[64]; + RHS18 -= go[63] * *cnV[63]; + RHS18 -= go[64] * *cnV[64]; + m_A50 += gt[65]; + m_A50 += gt[66]; + m_A50 += gt[67]; + m_A50 += gt[68]; + m_A50 += gt[69]; + m_A53 += go[65]; + m_A52 += go[66]; + m_A51 += go[67]; + m_A51 += go[68]; + double RHS19 = Idr[65]; + RHS19 += Idr[66]; + RHS19 += Idr[67]; + RHS19 += Idr[68]; + RHS19 += Idr[69]; + RHS19 -= go[69] * *cnV[69]; + m_A54 += gt[70]; + m_A54 += gt[71]; + m_A54 += gt[72]; + m_A54 += gt[73]; + m_A57 += go[70]; + m_A56 += go[71]; + m_A55 += go[72]; + double RHS20 = Idr[70]; + RHS20 += Idr[71]; + RHS20 += Idr[72]; + RHS20 += Idr[73]; + RHS20 -= go[73] * *cnV[73]; + m_A58 += gt[74]; + m_A58 += gt[75]; + m_A58 += gt[76]; + m_A59 += go[74]; + m_A60 += go[75]; + double RHS21 = Idr[74]; + RHS21 += Idr[75]; + RHS21 += Idr[76]; + RHS21 -= go[76] * *cnV[76]; + m_A61 += gt[77]; + m_A61 += gt[78]; + m_A62 += go[77]; + m_A63 += go[78]; + double RHS22 = Idr[77]; + RHS22 += Idr[78]; + m_A64 += gt[79]; + m_A64 += gt[80]; + m_A65 += go[79]; + m_A66 += go[80]; + double RHS23 = Idr[79]; + RHS23 += Idr[80]; + m_A69 += gt[81]; + m_A69 += gt[82]; + m_A69 += gt[83]; + m_A69 += gt[84]; + m_A68 += go[81]; + m_A68 += go[82]; + m_A67 += go[83]; + double RHS24 = Idr[81]; + RHS24 += Idr[82]; + RHS24 += Idr[83]; + RHS24 += Idr[84]; + RHS24 -= go[84] * *cnV[84]; + m_A75 += gt[85]; + m_A75 += gt[86]; + m_A75 += gt[87]; + m_A73 += go[85]; + m_A72 += go[86]; + double RHS25 = Idr[85]; + RHS25 += Idr[86]; + RHS25 += Idr[87]; + RHS25 -= go[87] * *cnV[87]; + m_A79 += gt[88]; + m_A79 += gt[89]; + m_A79 += gt[90]; + m_A78 += go[88]; + m_A77 += go[89]; + double RHS26 = Idr[88]; + RHS26 += Idr[89]; + RHS26 += Idr[90]; + RHS26 -= go[90] * *cnV[90]; + m_A83 += gt[91]; + m_A83 += gt[92]; + m_A83 += gt[93]; + m_A83 += gt[94]; + m_A83 += gt[95]; + m_A83 += gt[96]; + m_A82 += go[91]; + m_A82 += go[92]; + m_A81 += go[93]; + double RHS27 = Idr[91]; + RHS27 += Idr[92]; + RHS27 += Idr[93]; + RHS27 += Idr[94]; + RHS27 += Idr[95]; + RHS27 += Idr[96]; + RHS27 -= go[94] * *cnV[94]; + RHS27 -= go[95] * *cnV[95]; + RHS27 -= go[96] * *cnV[96]; + m_A93 += gt[97]; + m_A93 += gt[98]; + m_A93 += gt[99]; + m_A87 += go[97]; + m_A89 += go[98]; + m_A88 += go[99]; + double RHS28 = Idr[97]; + RHS28 += Idr[98]; + RHS28 += Idr[99]; + m_A102 += gt[100]; + m_A102 += gt[101]; + m_A102 += gt[102]; + m_A99 += go[100]; + m_A98 += go[101]; + m_A97 += go[102]; + double RHS29 = Idr[100]; + RHS29 += Idr[101]; + RHS29 += Idr[102]; + m_A110 += gt[103]; + m_A110 += gt[104]; + m_A110 += gt[105]; + m_A110 += gt[106]; + m_A107 += go[103]; + m_A106 += go[104]; + m_A106 += go[105]; + double RHS30 = Idr[103]; + RHS30 += Idr[104]; + RHS30 += Idr[105]; + RHS30 += Idr[106]; + RHS30 -= go[106] * *cnV[106]; + m_A116 += gt[107]; + m_A116 += gt[108]; + m_A116 += gt[109]; + m_A116 += gt[110]; + m_A116 += gt[111]; + m_A116 += gt[112]; + m_A114 += go[107]; + m_A115 += go[108]; + m_A115 += go[109]; + m_A117 += go[110]; + m_A117 += go[111]; + m_A113 += go[112]; + double RHS31 = Idr[107]; + RHS31 += Idr[108]; + RHS31 += Idr[109]; + RHS31 += Idr[110]; + RHS31 += Idr[111]; + RHS31 += Idr[112]; + m_A120 += gt[113]; + m_A120 += gt[114]; + m_A119 += go[113]; + double RHS32 = Idr[113]; + RHS32 += Idr[114]; + RHS32 -= go[114] * *cnV[114]; + m_A123 += gt[115]; + m_A123 += gt[116]; + m_A122 += go[115]; + m_A124 += go[116]; + double RHS33 = Idr[115]; + RHS33 += Idr[116]; + m_A126 += gt[117]; + m_A126 += gt[118]; + m_A126 += gt[119]; + m_A126 += gt[120]; + m_A126 += gt[121]; + m_A126 += gt[122]; + m_A126 += gt[123]; + m_A125 += go[117]; + m_A127 += go[118]; + double RHS34 = Idr[117]; + RHS34 += Idr[118]; + RHS34 += Idr[119]; + RHS34 += Idr[120]; + RHS34 += Idr[121]; + RHS34 += Idr[122]; + RHS34 += Idr[123]; + RHS34 -= go[119] * *cnV[119]; + RHS34 -= go[120] * *cnV[120]; + RHS34 -= go[121] * *cnV[121]; + RHS34 -= go[122] * *cnV[122]; + RHS34 -= go[123] * *cnV[123]; + m_A129 += gt[124]; + m_A129 += gt[125]; + m_A128 += go[124]; + double RHS35 = Idr[124]; + RHS35 += Idr[125]; + RHS35 -= go[125] * *cnV[125]; + m_A133 += gt[126]; + m_A133 += gt[127]; + m_A133 += gt[128]; + m_A133 += gt[129]; + m_A133 += gt[130]; + m_A133 += gt[131]; + m_A132 += go[126]; + m_A135 += go[127]; + m_A131 += go[128]; + double RHS36 = Idr[126]; + RHS36 += Idr[127]; + RHS36 += Idr[128]; + RHS36 += Idr[129]; + RHS36 += Idr[130]; + RHS36 += Idr[131]; + RHS36 -= go[129] * *cnV[129]; + RHS36 -= go[130] * *cnV[130]; + RHS36 -= go[131] * *cnV[131]; + m_A139 += gt[132]; + m_A139 += gt[133]; + m_A139 += gt[134]; + m_A139 += gt[135]; + m_A139 += gt[136]; + m_A139 += gt[137]; + m_A136 += go[132]; + m_A137 += go[133]; + m_A141 += go[134]; + m_A138 += go[135]; + double RHS37 = Idr[132]; + RHS37 += Idr[133]; + RHS37 += Idr[134]; + RHS37 += Idr[135]; + RHS37 += Idr[136]; + RHS37 += Idr[137]; + RHS37 -= go[136] * *cnV[136]; + RHS37 -= go[137] * *cnV[137]; + m_A149 += gt[138]; + m_A149 += gt[139]; + m_A149 += gt[140]; + m_A149 += gt[141]; + m_A149 += gt[142]; + m_A149 += gt[143]; + m_A145 += go[138]; + m_A144 += go[139]; + m_A142 += go[140]; + m_A143 += go[141]; + m_A152 += go[142]; + double RHS38 = Idr[138]; + RHS38 += Idr[139]; + RHS38 += Idr[140]; + RHS38 += Idr[141]; + RHS38 += Idr[142]; + RHS38 += Idr[143]; + RHS38 -= go[143] * *cnV[143]; + m_A157 += gt[144]; + m_A157 += gt[145]; + m_A157 += gt[146]; + m_A157 += gt[147]; + m_A157 += gt[148]; + m_A154 += go[144]; + m_A153 += go[145]; + m_A155 += go[146]; + m_A155 += go[147]; + double RHS39 = Idr[144]; + RHS39 += Idr[145]; + RHS39 += Idr[146]; + RHS39 += Idr[147]; + RHS39 += Idr[148]; + RHS39 -= go[148] * *cnV[148]; + m_A164 += gt[149]; + m_A164 += gt[150]; + m_A164 += gt[151]; + m_A164 += gt[152]; + m_A164 += gt[153]; + m_A162 += go[149]; + m_A165 += go[150]; + m_A165 += go[151]; + m_A161 += go[152]; + m_A163 += go[153]; + double RHS40 = Idr[149]; + RHS40 += Idr[150]; + RHS40 += Idr[151]; + RHS40 += Idr[152]; + RHS40 += Idr[153]; + m_A174 += gt[154]; + m_A174 += gt[155]; + m_A174 += gt[156]; + m_A167 += go[154]; + m_A166 += go[155]; + m_A171 += go[156]; + double RHS41 = Idr[154]; + RHS41 += Idr[155]; + RHS41 += Idr[156]; + m_A182 += gt[157]; + m_A182 += gt[158]; + m_A182 += gt[159]; + m_A177 += go[157]; + m_A178 += go[158]; + m_A179 += go[159]; + double RHS42 = Idr[157]; + RHS42 += Idr[158]; + RHS42 += Idr[159]; + m_A197 += gt[160]; + m_A197 += gt[161]; + m_A197 += gt[162]; + m_A197 += gt[163]; + m_A197 += gt[164]; + m_A197 += gt[165]; + m_A197 += gt[166]; + m_A197 += gt[167]; + m_A192 += go[160]; + m_A185 += go[161]; + m_A186 += go[162]; + m_A184 += go[163]; + m_A194 += go[164]; + m_A194 += go[165]; + double RHS43 = Idr[160]; + RHS43 += Idr[161]; + RHS43 += Idr[162]; + RHS43 += Idr[163]; + RHS43 += Idr[164]; + RHS43 += Idr[165]; + RHS43 += Idr[166]; + RHS43 += Idr[167]; + RHS43 -= go[166] * *cnV[166]; + RHS43 -= go[167] * *cnV[167]; + const double f0 = 1.0 / m_A0; + const double f0_33 = -f0 * m_A122; + m_A123 += m_A1 * f0_33; + RHS33 += f0_33 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_34 = -f1 * m_A125; + m_A127 += m_A3 * f1_34; + RHS34 += f1_34 * RHS1; + const double f1_40 = -f1 * m_A161; + m_A164 += m_A3 * f1_40; + RHS40 += f1_40 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_40 = -f2 * m_A162; + m_A164 += m_A5 * f2_40; + m_A165 += m_A6 * f2_40; + RHS40 += f2_40 * RHS2; + const double f2_43 = -f2 * m_A184; + m_A194 += m_A5 * f2_43; + m_A197 += m_A6 * f2_43; + RHS43 += f2_43 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_37 = -f3 * m_A136; + m_A138 += m_A8 * f3_37; + m_A139 += m_A9 * f3_37; + RHS37 += f3_37 * RHS3; + const double f4 = 1.0 / m_A10; + const double f4_37 = -f4 * m_A137; + m_A139 += m_A11 * f4_37; + m_A140 += m_A12 * f4_37; + RHS37 += f4_37 * RHS4; + const double f4_38 = -f4 * m_A142; + m_A148 += m_A11 * f4_38; + m_A149 += m_A12 * f4_38; + RHS38 += f4_38 * RHS4; + const double f5 = 1.0 / m_A13; + const double f5_42 = -f5 * m_A177; + m_A182 += m_A14 * f5_42; + RHS42 += f5_42 * RHS5; + const double f6 = 1.0 / m_A15; + const double f6_36 = -f6 * m_A131; + m_A133 += m_A16 * f6_36; + RHS36 += f6_36 * RHS6; + const double f7 = 1.0 / m_A17; + const double f7_36 = -f7 * m_A132; + m_A134 += m_A18 * f7_36; + m_A135 += m_A19 * f7_36; + RHS36 += f7_36 * RHS7; + const double f8 = 1.0 / m_A20; + const double f8_27 = -f8 * m_A81; + m_A83 += m_A21 * f8_27; + m_A86 += m_A22 * f8_27; + RHS27 += f8_27 * RHS8; + const double f8_43 = -f8 * m_A185; + m_A187 += m_A21 * f8_43; + m_A197 += m_A22 * f8_43; + RHS43 += f8_43 * RHS8; + const double f9 = 1.0 / m_A23; + const double f9_31 = -f9 * m_A113; + m_A116 += m_A24 * f9_31; + m_A118 += m_A25 * f9_31; + RHS31 += f9_31 * RHS9; + const double f9_43 = -f9 * m_A186; + m_A191 += m_A24 * f9_43; + m_A197 += m_A25 * f9_43; + RHS43 += f9_43 * RHS9; + const double f10 = 1.0 / m_A26; + const double f10_31 = -f10 * m_A114; + m_A116 += m_A27 * f10_31; + RHS31 += f10_31 * RHS10; + const double f11 = 1.0 / m_A28; + const double f11_31 = -f11 * m_A115; + m_A116 += m_A29 * f11_31; + m_A117 += m_A30 * f11_31; + RHS31 += f11_31 * RHS11; + const double f11_39 = -f11 * m_A153; + m_A155 += m_A29 * f11_39; + m_A157 += m_A30 * f11_39; + RHS39 += f11_39 * RHS11; + const double f12 = 1.0 / m_A31; + const double f12_38 = -f12 * m_A143; + m_A149 += m_A32 * f12_38; + m_A150 += m_A33 * f12_38; + RHS38 += f12_38 * RHS12; + const double f12_39 = -f12 * m_A154; + m_A156 += m_A32 * f12_39; + m_A157 += m_A33 * f12_39; + RHS39 += f12_39 * RHS12; + const double f13 = 1.0 / m_A34; + const double f13_37 = -f13 * m_A138; + m_A139 += m_A35 * f13_37; + m_A141 += m_A36 * f13_37; + RHS37 += f13_37 * RHS13; + const double f13_41 = -f13 * m_A166; + m_A171 += m_A35 * f13_41; + m_A174 += m_A36 * f13_41; + RHS41 += f13_41 * RHS13; + const double f14 = 1.0 / m_A37; + const double f14_24 = -f14 * m_A67; + m_A69 += m_A38 * f14_24; + m_A71 += m_A39 * f14_24; + RHS24 += f14_24 * RHS14; + const double f14_28 = -f14 * m_A87; + m_A90 += m_A38 * f14_28; + m_A93 += m_A39 * f14_28; + RHS28 += f14_28 * RHS14; + const double f15 = 1.0 / m_A40; + const double f15_24 = -f15 * m_A68; + m_A69 += m_A41 * f15_24; + m_A70 += m_A42 * f15_24; + RHS24 += f15_24 * RHS15; + const double f15_25 = -f15 * m_A72; + m_A74 += m_A41 * f15_25; + m_A75 += m_A42 * f15_25; + RHS25 += f15_25 * RHS15; + const double f16 = 1.0 / m_A43; + const double f16_25 = -f16 * m_A73; + m_A75 += m_A44 * f16_25; + RHS25 += f16_25 * RHS16; + const double f17 = 1.0 / m_A45; + const double f17_26 = -f17 * m_A77; + m_A79 += m_A46 * f17_26; + RHS26 += f17_26 * RHS17; + const double f18 = 1.0 / m_A47; + const double f18_26 = -f18 * m_A78; + m_A79 += m_A48 * f18_26; + m_A80 += m_A49 * f18_26; + RHS26 += f18_26 * RHS18; + const double f18_30 = -f18 * m_A106; + m_A108 += m_A48 * f18_30; + m_A110 += m_A49 * f18_30; + RHS30 += f18_30 * RHS18; + const double f19 = 1.0 / m_A50; + const double f19_27 = -f19 * m_A82; + m_A83 += m_A51 * f19_27; + m_A84 += m_A52 * f19_27; + m_A85 += m_A53 * f19_27; + RHS27 += f19_27 * RHS19; + const double f19_28 = -f19 * m_A88; + m_A92 += m_A51 * f19_28; + m_A93 += m_A52 * f19_28; + m_A94 += m_A53 * f19_28; + RHS28 += f19_28 * RHS19; + const double f19_29 = -f19 * m_A97; + m_A100 += m_A51 * f19_29; + m_A101 += m_A52 * f19_29; + m_A102 += m_A53 * f19_29; + RHS29 += f19_29 * RHS19; + const double f20 = 1.0 / m_A54; + const double f20_28 = -f20 * m_A89; + m_A93 += m_A55 * f20_28; + m_A94 += m_A56 * f20_28; + m_A95 += m_A57 * f20_28; + RHS28 += f20_28 * RHS20; + const double f20_29 = -f20 * m_A98; + m_A101 += m_A55 * f20_29; + m_A102 += m_A56 * f20_29; + m_A104 += m_A57 * f20_29; + RHS29 += f20_29 * RHS20; + const double f20_41 = -f20 * m_A167; + m_A168 += m_A55 * f20_41; + m_A169 += m_A56 * f20_41; + m_A174 += m_A57 * f20_41; + RHS41 += f20_41 * RHS20; + const double f21 = 1.0 / m_A58; + const double f21_29 = -f21 * m_A99; + m_A102 += m_A59 * f21_29; + m_A103 += m_A60 * f21_29; + RHS29 += f21_29 * RHS21; + const double f21_30 = -f21 * m_A107; + m_A109 += m_A59 * f21_30; + m_A110 += m_A60 * f21_30; + RHS30 += f21_30 * RHS21; + const double f22 = 1.0 / m_A61; + const double f22_32 = -f22 * m_A119; + m_A120 += m_A62 * f22_32; + m_A121 += m_A63 * f22_32; + RHS32 += f22_32 * RHS22; + const double f22_38 = -f22 * m_A144; + m_A146 += m_A62 * f22_38; + m_A149 += m_A63 * f22_38; + RHS38 += f22_38 * RHS22; + const double f23 = 1.0 / m_A64; + const double f23_35 = -f23 * m_A128; + m_A129 += m_A65 * f23_35; + m_A130 += m_A66 * f23_35; + RHS35 += f23_35 * RHS23; + const double f23_38 = -f23 * m_A145; + m_A147 += m_A65 * f23_38; + m_A149 += m_A66 * f23_38; + RHS38 += f23_38 * RHS23; + const double f24 = 1.0 / m_A69; + const double f24_25 = -f24 * m_A74; + m_A75 += m_A70 * f24_25; + m_A76 += m_A71 * f24_25; + RHS25 += f24_25 * RHS24; + const double f24_28 = -f24 * m_A90; + m_A91 += m_A70 * f24_28; + m_A93 += m_A71 * f24_28; + RHS28 += f24_28 * RHS24; + const double f25 = 1.0 / m_A75; + const double f25_28 = -f25 * m_A91; + m_A93 += m_A76 * f25_28; + RHS28 += f25_28 * RHS25; + const double f26 = 1.0 / m_A79; + const double f26_30 = -f26 * m_A108; + m_A110 += m_A80 * f26_30; + RHS30 += f26_30 * RHS26; + const double f27 = 1.0 / m_A83; + const double f27_28 = -f27 * m_A92; + m_A93 += m_A84 * f27_28; + m_A94 += m_A85 * f27_28; + m_A96 += m_A86 * f27_28; + RHS28 += f27_28 * RHS27; + const double f27_29 = -f27 * m_A100; + m_A101 += m_A84 * f27_29; + m_A102 += m_A85 * f27_29; + m_A105 += m_A86 * f27_29; + RHS29 += f27_29 * RHS27; + const double f27_43 = -f27 * m_A187; + m_A188 += m_A84 * f27_43; + m_A189 += m_A85 * f27_43; + m_A197 += m_A86 * f27_43; + RHS43 += f27_43 * RHS27; + const double f28 = 1.0 / m_A93; + const double f28_29 = -f28 * m_A101; + m_A102 += m_A94 * f28_29; + m_A104 += m_A95 * f28_29; + m_A105 += m_A96 * f28_29; + RHS29 += f28_29 * RHS28; + const double f28_41 = -f28 * m_A168; + m_A169 += m_A94 * f28_41; + m_A174 += m_A95 * f28_41; + m_A176 += m_A96 * f28_41; + RHS41 += f28_41 * RHS28; + const double f28_43 = -f28 * m_A188; + m_A189 += m_A94 * f28_43; + m_A195 += m_A95 * f28_43; + m_A197 += m_A96 * f28_43; + RHS43 += f28_43 * RHS28; + const double f29 = 1.0 / m_A102; + const double f29_30 = -f29 * m_A109; + m_A110 += m_A103 * f29_30; + m_A111 += m_A104 * f29_30; + m_A112 += m_A105 * f29_30; + RHS30 += f29_30 * RHS29; + const double f29_41 = -f29 * m_A169; + m_A170 += m_A103 * f29_41; + m_A174 += m_A104 * f29_41; + m_A176 += m_A105 * f29_41; + RHS41 += f29_41 * RHS29; + const double f29_43 = -f29 * m_A189; + m_A190 += m_A103 * f29_43; + m_A195 += m_A104 * f29_43; + m_A197 += m_A105 * f29_43; + RHS43 += f29_43 * RHS29; + const double f30 = 1.0 / m_A110; + const double f30_41 = -f30 * m_A170; + m_A174 += m_A111 * f30_41; + m_A176 += m_A112 * f30_41; + RHS41 += f30_41 * RHS30; + const double f30_43 = -f30 * m_A190; + m_A195 += m_A111 * f30_43; + m_A197 += m_A112 * f30_43; + RHS43 += f30_43 * RHS30; + const double f31 = 1.0 / m_A116; + const double f31_39 = -f31 * m_A155; + m_A157 += m_A117 * f31_39; + m_A160 += m_A118 * f31_39; + RHS39 += f31_39 * RHS31; + const double f31_43 = -f31 * m_A191; + m_A193 += m_A117 * f31_43; + m_A197 += m_A118 * f31_43; + RHS43 += f31_43 * RHS31; + const double f32 = 1.0 / m_A120; + const double f32_38 = -f32 * m_A146; + m_A149 += m_A121 * f32_38; + RHS38 += f32_38 * RHS32; + const double f33 = 1.0 / m_A123; + const double f33_40 = -f33 * m_A163; + m_A164 += m_A124 * f33_40; + RHS40 += f33_40 * RHS33; + const double f34 = 1.0 / m_A126; + const double f34_43 = -f34 * m_A192; + m_A194 += m_A127 * f34_43; + RHS43 += f34_43 * RHS34; + const double f35 = 1.0 / m_A129; + const double f35_38 = -f35 * m_A147; + m_A149 += m_A130 * f35_38; + RHS38 += f35_38 * RHS35; + const double f36 = 1.0 / m_A133; + const double f36_42 = -f36 * m_A178; + m_A179 += m_A134 * f36_42; + m_A182 += m_A135 * f36_42; + RHS42 += f36_42 * RHS36; + const double f37 = 1.0 / m_A139; + const double f37_38 = -f37 * m_A148; + m_A149 += m_A140 * f37_38; + m_A151 += m_A141 * f37_38; + RHS38 += f37_38 * RHS37; + const double f37_41 = -f37 * m_A171; + m_A172 += m_A140 * f37_41; + m_A174 += m_A141 * f37_41; + RHS41 += f37_41 * RHS37; + const double f38 = 1.0 / m_A149; + const double f38_39 = -f38 * m_A156; + m_A157 += m_A150 * f38_39; + m_A158 += m_A151 * f38_39; + m_A159 += m_A152 * f38_39; + RHS39 += f38_39 * RHS38; + const double f38_41 = -f38 * m_A172; + m_A173 += m_A150 * f38_41; + m_A174 += m_A151 * f38_41; + m_A175 += m_A152 * f38_41; + RHS41 += f38_41 * RHS38; + const double f38_42 = -f38 * m_A179; + m_A180 += m_A150 * f38_42; + m_A181 += m_A151 * f38_42; + m_A182 += m_A152 * f38_42; + RHS42 += f38_42 * RHS38; + const double f39 = 1.0 / m_A157; + const double f39_41 = -f39 * m_A173; + m_A174 += m_A158 * f39_41; + m_A175 += m_A159 * f39_41; + m_A176 += m_A160 * f39_41; + RHS41 += f39_41 * RHS39; + const double f39_42 = -f39 * m_A180; + m_A181 += m_A158 * f39_42; + m_A182 += m_A159 * f39_42; + m_A183 += m_A160 * f39_42; + RHS42 += f39_42 * RHS39; + const double f39_43 = -f39 * m_A193; + m_A195 += m_A158 * f39_43; + m_A196 += m_A159 * f39_43; + m_A197 += m_A160 * f39_43; + RHS43 += f39_43 * RHS39; + const double f40 = 1.0 / m_A164; + const double f40_43 = -f40 * m_A194; + m_A197 += m_A165 * f40_43; + RHS43 += f40_43 * RHS40; + const double f41 = 1.0 / m_A174; + const double f41_42 = -f41 * m_A181; + m_A182 += m_A175 * f41_42; + m_A183 += m_A176 * f41_42; + RHS42 += f41_42 * RHS41; + const double f41_43 = -f41 * m_A195; + m_A196 += m_A175 * f41_43; + m_A197 += m_A176 * f41_43; + RHS43 += f41_43 * RHS41; + const double f42 = 1.0 / m_A182; + const double f42_43 = -f42 * m_A196; + m_A197 += m_A183 * f42_43; + RHS43 += f42_43 * RHS42; + V[43] = RHS43 / m_A197; + double tmp42 = 0.0; + tmp42 += m_A183 * V[43]; + V[42] = (RHS42 - tmp42) / m_A182; + double tmp41 = 0.0; + tmp41 += m_A175 * V[42]; + tmp41 += m_A176 * V[43]; + V[41] = (RHS41 - tmp41) / m_A174; + double tmp40 = 0.0; + tmp40 += m_A165 * V[43]; + V[40] = (RHS40 - tmp40) / m_A164; + double tmp39 = 0.0; + tmp39 += m_A158 * V[41]; + tmp39 += m_A159 * V[42]; + tmp39 += m_A160 * V[43]; + V[39] = (RHS39 - tmp39) / m_A157; + double tmp38 = 0.0; + tmp38 += m_A150 * V[39]; + tmp38 += m_A151 * V[41]; + tmp38 += m_A152 * V[42]; + V[38] = (RHS38 - tmp38) / m_A149; + double tmp37 = 0.0; + tmp37 += m_A140 * V[38]; + tmp37 += m_A141 * V[41]; + V[37] = (RHS37 - tmp37) / m_A139; + double tmp36 = 0.0; + tmp36 += m_A134 * V[38]; + tmp36 += m_A135 * V[42]; + V[36] = (RHS36 - tmp36) / m_A133; + double tmp35 = 0.0; + tmp35 += m_A130 * V[38]; + V[35] = (RHS35 - tmp35) / m_A129; + double tmp34 = 0.0; + tmp34 += m_A127 * V[40]; + V[34] = (RHS34 - tmp34) / m_A126; + double tmp33 = 0.0; + tmp33 += m_A124 * V[40]; + V[33] = (RHS33 - tmp33) / m_A123; + double tmp32 = 0.0; + tmp32 += m_A121 * V[38]; + V[32] = (RHS32 - tmp32) / m_A120; + double tmp31 = 0.0; + tmp31 += m_A117 * V[39]; + tmp31 += m_A118 * V[43]; + V[31] = (RHS31 - tmp31) / m_A116; + double tmp30 = 0.0; + tmp30 += m_A111 * V[41]; + tmp30 += m_A112 * V[43]; + V[30] = (RHS30 - tmp30) / m_A110; + double tmp29 = 0.0; + tmp29 += m_A103 * V[30]; + tmp29 += m_A104 * V[41]; + tmp29 += m_A105 * V[43]; + V[29] = (RHS29 - tmp29) / m_A102; + double tmp28 = 0.0; + tmp28 += m_A94 * V[29]; + tmp28 += m_A95 * V[41]; + tmp28 += m_A96 * V[43]; + V[28] = (RHS28 - tmp28) / m_A93; + double tmp27 = 0.0; + tmp27 += m_A84 * V[28]; + tmp27 += m_A85 * V[29]; + tmp27 += m_A86 * V[43]; + V[27] = (RHS27 - tmp27) / m_A83; + double tmp26 = 0.0; + tmp26 += m_A80 * V[30]; + V[26] = (RHS26 - tmp26) / m_A79; + double tmp25 = 0.0; + tmp25 += m_A76 * V[28]; + V[25] = (RHS25 - tmp25) / m_A75; + double tmp24 = 0.0; + tmp24 += m_A70 * V[25]; + tmp24 += m_A71 * V[28]; + V[24] = (RHS24 - tmp24) / m_A69; double tmp23 = 0.0; - tmp23 += m_A102 * V[24]; - V[23] = (RHS23 - tmp23) / m_A101; + tmp23 += m_A65 * V[35]; + tmp23 += m_A66 * V[38]; + V[23] = (RHS23 - tmp23) / m_A64; double tmp22 = 0.0; - tmp22 += m_A95 * V[24]; - V[22] = (RHS22 - tmp22) / m_A94; + tmp22 += m_A62 * V[32]; + tmp22 += m_A63 * V[38]; + V[22] = (RHS22 - tmp22) / m_A61; double tmp21 = 0.0; - tmp21 += m_A85 * V[22]; - V[21] = (RHS21 - tmp21) / m_A84; + tmp21 += m_A59 * V[29]; + tmp21 += m_A60 * V[30]; + V[21] = (RHS21 - tmp21) / m_A58; double tmp20 = 0.0; - tmp20 += m_A77 * V[22]; - tmp20 += m_A78 * V[24]; - V[20] = (RHS20 - tmp20) / m_A76; + tmp20 += m_A55 * V[28]; + tmp20 += m_A56 * V[29]; + tmp20 += m_A57 * V[41]; + V[20] = (RHS20 - tmp20) / m_A54; double tmp19 = 0.0; - tmp19 += m_A68 * V[20]; - tmp19 += m_A69 * V[22]; - tmp19 += m_A70 * V[24]; - V[19] = (RHS19 - tmp19) / m_A67; + tmp19 += m_A51 * V[27]; + tmp19 += m_A52 * V[28]; + tmp19 += m_A53 * V[29]; + V[19] = (RHS19 - tmp19) / m_A50; double tmp18 = 0.0; - tmp18 += m_A59 * V[19]; - tmp18 += m_A60 * V[20]; - tmp18 += m_A61 * V[22]; - tmp18 += m_A62 * V[24]; - V[18] = (RHS18 - tmp18) / m_A58; + tmp18 += m_A48 * V[26]; + tmp18 += m_A49 * V[30]; + V[18] = (RHS18 - tmp18) / m_A47; double tmp17 = 0.0; - tmp17 += m_A52 * V[21]; - tmp17 += m_A53 * V[22]; - V[17] = (RHS17 - tmp17) / m_A51; + tmp17 += m_A46 * V[26]; + V[17] = (RHS17 - tmp17) / m_A45; double tmp16 = 0.0; - tmp16 += m_A49 * V[21]; - V[16] = (RHS16 - tmp16) / m_A48; + tmp16 += m_A44 * V[25]; + V[16] = (RHS16 - tmp16) / m_A43; double tmp15 = 0.0; - tmp15 += m_A45 * V[21]; - V[15] = (RHS15 - tmp15) / m_A44; + tmp15 += m_A41 * V[24]; + tmp15 += m_A42 * V[25]; + V[15] = (RHS15 - tmp15) / m_A40; double tmp14 = 0.0; - tmp14 += m_A41 * V[20]; - V[14] = (RHS14 - tmp14) / m_A40; + tmp14 += m_A38 * V[24]; + tmp14 += m_A39 * V[28]; + V[14] = (RHS14 - tmp14) / m_A37; double tmp13 = 0.0; - tmp13 += m_A38 * V[19]; - V[13] = (RHS13 - tmp13) / m_A37; + tmp13 += m_A35 * V[37]; + tmp13 += m_A36 * V[41]; + V[13] = (RHS13 - tmp13) / m_A34; double tmp12 = 0.0; - tmp12 += m_A35 * V[24]; - V[12] = (RHS12 - tmp12) / m_A34; + tmp12 += m_A32 * V[38]; + tmp12 += m_A33 * V[39]; + V[12] = (RHS12 - tmp12) / m_A31; double tmp11 = 0.0; - tmp11 += m_A31 * V[18]; - V[11] = (RHS11 - tmp11) / m_A30; + tmp11 += m_A29 * V[31]; + tmp11 += m_A30 * V[39]; + V[11] = (RHS11 - tmp11) / m_A28; double tmp10 = 0.0; - tmp10 += m_A29 * V[12]; - V[10] = (RHS10 - tmp10) / m_A28; + tmp10 += m_A27 * V[31]; + V[10] = (RHS10 - tmp10) / m_A26; double tmp9 = 0.0; - tmp9 += m_A26 * V[12]; - tmp9 += m_A27 * V[24]; - V[9] = (RHS9 - tmp9) / m_A25; + tmp9 += m_A24 * V[31]; + tmp9 += m_A25 * V[43]; + V[9] = (RHS9 - tmp9) / m_A23; double tmp8 = 0.0; - tmp8 += m_A23 * V[18]; - tmp8 += m_A24 * V[20]; - V[8] = (RHS8 - tmp8) / m_A22; + tmp8 += m_A21 * V[27]; + tmp8 += m_A22 * V[43]; + V[8] = (RHS8 - tmp8) / m_A20; double tmp7 = 0.0; - tmp7 += m_A20 * V[18]; - tmp7 += m_A21 * V[19]; - V[7] = (RHS7 - tmp7) / m_A19; + tmp7 += m_A18 * V[38]; + tmp7 += m_A19 * V[42]; + V[7] = (RHS7 - tmp7) / m_A17; double tmp6 = 0.0; - tmp6 += m_A17 * V[18]; - tmp6 += m_A18 * V[22]; - V[6] = (RHS6 - tmp6) / m_A16; + tmp6 += m_A16 * V[36]; + V[6] = (RHS6 - tmp6) / m_A15; double tmp5 = 0.0; - tmp5 += m_A14 * V[17]; - tmp5 += m_A15 * V[22]; + tmp5 += m_A14 * V[42]; V[5] = (RHS5 - tmp5) / m_A13; double tmp4 = 0.0; - tmp4 += m_A10 * V[17]; - tmp4 += m_A11 * V[21]; - tmp4 += m_A12 * V[22]; - V[4] = (RHS4 - tmp4) / m_A9; + tmp4 += m_A11 * V[37]; + tmp4 += m_A12 * V[38]; + V[4] = (RHS4 - tmp4) / m_A10; double tmp3 = 0.0; - tmp3 += m_A7 * V[15]; - tmp3 += m_A8 * V[21]; + tmp3 += m_A8 * V[13]; + tmp3 += m_A9 * V[37]; + V[3] = (RHS3 - tmp3) / m_A7; + double tmp2 = 0.0; + tmp2 += m_A5 * V[40]; + tmp2 += m_A6 * V[43]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[40]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[33]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// gtrak10 +static void nl_gcr_4e48e9f6ef4bfdc4_43_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + m_A8 += gt[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A9 += go[12]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 -= go[13] * *cnV[13]; + RHS4 -= go[14] * *cnV[14]; + m_A10 += gt[15]; + m_A10 += gt[16]; + m_A10 += gt[17]; + m_A11 += go[15]; + double RHS5 = Idr[15]; + RHS5 += Idr[16]; + RHS5 += Idr[17]; + RHS5 -= go[16] * *cnV[16]; + RHS5 -= go[17] * *cnV[17]; + m_A12 += gt[18]; + m_A12 += gt[19]; + m_A12 += gt[20]; + m_A13 += go[18]; + double RHS6 = Idr[18]; + RHS6 += Idr[19]; + RHS6 += Idr[20]; + RHS6 -= go[19] * *cnV[19]; + RHS6 -= go[20] * *cnV[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A15 += go[21]; + double RHS7 = Idr[21]; + RHS7 += Idr[22]; + RHS7 += Idr[23]; + RHS7 -= go[22] * *cnV[22]; + RHS7 -= go[23] * *cnV[23]; + m_A16 += gt[24]; + m_A16 += gt[25]; + m_A16 += gt[26]; + m_A17 += go[24]; + double RHS8 = Idr[24]; + RHS8 += Idr[25]; + RHS8 += Idr[26]; + RHS8 -= go[25] * *cnV[25]; + RHS8 -= go[26] * *cnV[26]; + m_A18 += gt[27]; + m_A18 += gt[28]; + m_A18 += gt[29]; + m_A19 += go[27]; + double RHS9 = Idr[27]; + RHS9 += Idr[28]; + RHS9 += Idr[29]; + RHS9 -= go[28] * *cnV[28]; + RHS9 -= go[29] * *cnV[29]; + m_A20 += gt[30]; + m_A20 += gt[31]; + m_A20 += gt[32]; + m_A21 += go[30]; + double RHS10 = Idr[30]; + RHS10 += Idr[31]; + RHS10 += Idr[32]; + RHS10 -= go[31] * *cnV[31]; + RHS10 -= go[32] * *cnV[32]; + m_A22 += gt[33]; + m_A22 += gt[34]; + m_A22 += gt[35]; + m_A23 += go[33]; + double RHS11 = Idr[33]; + RHS11 += Idr[34]; + RHS11 += Idr[35]; + RHS11 -= go[34] * *cnV[34]; + RHS11 -= go[35] * *cnV[35]; + m_A25 += gt[36]; + m_A25 += gt[37]; + m_A25 += gt[38]; + m_A26 += go[36]; + m_A24 += go[37]; + double RHS12 = Idr[36]; + RHS12 += Idr[37]; + RHS12 += Idr[38]; + RHS12 -= go[38] * *cnV[38]; + m_A30 += gt[39]; + m_A30 += gt[40]; + m_A30 += gt[41]; + m_A30 += gt[42]; + m_A30 += gt[43]; + m_A30 += gt[44]; + m_A30 += gt[45]; + m_A29 += go[39]; + m_A28 += go[40]; + m_A27 += go[41]; + m_A31 += go[42]; + m_A31 += go[43]; + double RHS13 = Idr[39]; + RHS13 += Idr[40]; + RHS13 += Idr[41]; + RHS13 += Idr[42]; + RHS13 += Idr[43]; + RHS13 += Idr[44]; + RHS13 += Idr[45]; + RHS13 -= go[44] * *cnV[44]; + RHS13 -= go[45] * *cnV[45]; + m_A42 += gt[46]; + m_A42 += gt[47]; + m_A42 += gt[48]; + m_A42 += gt[49]; + m_A42 += gt[50]; + m_A42 += gt[51]; + m_A42 += gt[52]; + m_A42 += gt[53]; + m_A42 += gt[54]; + m_A42 += gt[55]; + m_A42 += gt[56]; + m_A42 += gt[57]; + m_A42 += gt[58]; + m_A41 += go[46]; + m_A41 += go[47]; + m_A39 += go[48]; + m_A38 += go[49]; + m_A37 += go[50]; + m_A36 += go[51]; + m_A35 += go[52]; + m_A34 += go[53]; + m_A33 += go[54]; + m_A32 += go[55]; + m_A40 += go[56]; + double RHS14 = Idr[46]; + RHS14 += Idr[47]; + RHS14 += Idr[48]; + RHS14 += Idr[49]; + RHS14 += Idr[50]; + RHS14 += Idr[51]; + RHS14 += Idr[52]; + RHS14 += Idr[53]; + RHS14 += Idr[54]; + RHS14 += Idr[55]; + RHS14 += Idr[56]; + RHS14 += Idr[57]; + RHS14 += Idr[58]; + RHS14 -= go[57] * *cnV[57]; + RHS14 -= go[58] * *cnV[58]; + const double f0 = 1.0 / m_A0; + const double f0_12 = -f0 * m_A24; + m_A25 += m_A1 * f0_12; + RHS12 += f0_12 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_14 = -f1 * m_A32; + m_A42 += m_A3 * f1_14; + RHS14 += f1_14 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_14 = -f2 * m_A33; + m_A42 += m_A5 * f2_14; + RHS14 += f2_14 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_14 = -f3 * m_A34; + m_A42 += m_A7 * f3_14; + RHS14 += f3_14 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_14 = -f4 * m_A35; + m_A42 += m_A9 * f4_14; + RHS14 += f4_14 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_14 = -f5 * m_A36; + m_A42 += m_A11 * f5_14; + RHS14 += f5_14 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_14 = -f6 * m_A37; + m_A42 += m_A13 * f6_14; + RHS14 += f6_14 * RHS6; + const double f7 = 1.0 / m_A14; + const double f7_14 = -f7 * m_A38; + m_A42 += m_A15 * f7_14; + RHS14 += f7_14 * RHS7; + const double f8 = 1.0 / m_A16; + const double f8_14 = -f8 * m_A39; + m_A42 += m_A17 * f8_14; + RHS14 += f8_14 * RHS8; + const double f9 = 1.0 / m_A18; + const double f9_13 = -f9 * m_A27; + m_A30 += m_A19 * f9_13; + RHS13 += f9_13 * RHS9; + const double f10 = 1.0 / m_A20; + const double f10_13 = -f10 * m_A28; + m_A30 += m_A21 * f10_13; + RHS13 += f10_13 * RHS10; + const double f11 = 1.0 / m_A22; + const double f11_13 = -f11 * m_A29; + m_A30 += m_A23 * f11_13; + RHS13 += f11_13 * RHS11; + const double f12 = 1.0 / m_A25; + const double f12_14 = -f12 * m_A40; + m_A42 += m_A26 * f12_14; + RHS14 += f12_14 * RHS12; + const double f13 = 1.0 / m_A30; + const double f13_14 = -f13 * m_A41; + m_A42 += m_A31 * f13_14; + RHS14 += f13_14 * RHS13; + V[14] = RHS14 / m_A42; + double tmp13 = 0.0; + tmp13 += m_A31 * V[14]; + V[13] = (RHS13 - tmp13) / m_A30; + double tmp12 = 0.0; + tmp12 += m_A26 * V[14]; + V[12] = (RHS12 - tmp12) / m_A25; + double tmp11 = 0.0; + tmp11 += m_A23 * V[13]; + V[11] = (RHS11 - tmp11) / m_A22; + double tmp10 = 0.0; + tmp10 += m_A21 * V[13]; + V[10] = (RHS10 - tmp10) / m_A20; + double tmp9 = 0.0; + tmp9 += m_A19 * V[13]; + V[9] = (RHS9 - tmp9) / m_A18; + double tmp8 = 0.0; + tmp8 += m_A17 * V[14]; + V[8] = (RHS8 - tmp8) / m_A16; + double tmp7 = 0.0; + tmp7 += m_A15 * V[14]; + V[7] = (RHS7 - tmp7) / m_A14; + double tmp6 = 0.0; + tmp6 += m_A13 * V[14]; + V[6] = (RHS6 - tmp6) / m_A12; + double tmp5 = 0.0; + tmp5 += m_A11 * V[14]; + V[5] = (RHS5 - tmp5) / m_A10; + double tmp4 = 0.0; + tmp4 += m_A9 * V[14]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[14]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[15]; + tmp2 += m_A5 * V[14]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[20]; + tmp1 += m_A3 * V[14]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[19]; + tmp0 += m_A1 * V[12]; V[0] = (RHS0 - tmp0) / m_A0; } -// cocoloco -static void nl_gcr_3641ac25e244c362_16_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// kidniki +static void nl_gcr_580e08d22698f60a_37_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A4 = gt[8] + gt[9]; - m_A5 = m_A5 + go[8]; - double RHS2 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A6 = gt[12] + gt[13]; - m_A7 = m_A7 + go[12]; - double RHS3 = Idr[12] + Idr[13] - go[13] * *cnV[13]; - m_A9 = gt[16] + gt[17] + gt[18]; - m_A8 = m_A8 + go[16]; - m_A10 = m_A10 + go[17]; - double RHS4 = Idr[16] + Idr[17] + Idr[18] - go[18] * *cnV[18]; - m_A15 = gt[20] + gt[21] + gt[22] + gt[23]; - m_A14 = m_A14 + go[20]; - m_A13 = m_A13 + go[21]; - m_A12 = m_A12 + go[22]; - m_A11 = m_A11 + go[23]; - double RHS5 = Idr[20] + Idr[21] + Idr[22] + Idr[23]; -const double f0 = 1.0 / m_A0; - const double f0_5 = -f0 * m_A11; - m_A15 += m_A1 * f0_5; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A2 += go[0]; + m_A2 += go[1]; + m_A1 += go[2]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[3] * *cnV[3]; + m_A3 += gt[4]; + m_A3 += gt[5]; + m_A3 += gt[6]; + m_A5 += go[4]; + m_A4 += go[5]; + double RHS1 = Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A7 += go[7]; + m_A7 += go[8]; + m_A8 += go[9]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 += Idr[13]; + RHS2 -= go[10] * *cnV[10]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + RHS2 -= go[13] * *cnV[13]; + m_A9 += gt[14]; + m_A9 += gt[15]; + m_A9 += gt[16]; + m_A11 += go[14]; + m_A10 += go[15]; + double RHS3 = Idr[14]; + RHS3 += Idr[15]; + RHS3 += Idr[16]; + RHS3 -= go[16] * *cnV[16]; + m_A14 += gt[17]; + m_A14 += gt[18]; + m_A14 += gt[19]; + m_A14 += gt[20]; + m_A14 += gt[21]; + m_A13 += go[17]; + m_A12 += go[18]; + m_A12 += go[19]; + double RHS4 = Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + m_A18 += gt[22]; + m_A18 += gt[23]; + m_A18 += gt[24]; + m_A18 += gt[25]; + m_A18 += gt[26]; + m_A18 += gt[27]; + m_A18 += gt[28]; + m_A20 += go[22]; + m_A19 += go[23]; + m_A19 += go[24]; + m_A19 += go[25]; + m_A17 += go[26]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 += Idr[24]; + RHS5 += Idr[25]; + RHS5 += Idr[26]; + RHS5 += Idr[27]; + RHS5 += Idr[28]; + RHS5 -= go[27] * *cnV[27]; + RHS5 -= go[28] * *cnV[28]; + m_A23 += gt[29]; + m_A23 += gt[30]; + m_A23 += gt[31]; + m_A23 += gt[32]; + m_A21 += go[29]; + double RHS6 = Idr[29]; + RHS6 += Idr[30]; + RHS6 += Idr[31]; + RHS6 += Idr[32]; + RHS6 -= go[30] * *cnV[30]; + RHS6 -= go[31] * *cnV[31]; + RHS6 -= go[32] * *cnV[32]; + m_A28 += gt[33]; + m_A28 += gt[34]; + m_A28 += gt[35]; + m_A28 += gt[36]; + m_A28 += gt[37]; + m_A28 += gt[38]; + m_A26 += go[33]; + m_A27 += go[34]; + m_A27 += go[35]; + m_A27 += go[36]; + m_A25 += go[37]; + m_A25 += go[38]; + double RHS7 = Idr[33]; + RHS7 += Idr[34]; + RHS7 += Idr[35]; + RHS7 += Idr[36]; + RHS7 += Idr[37]; + RHS7 += Idr[38]; + m_A36 += gt[39]; + m_A36 += gt[40]; + m_A36 += gt[41]; + m_A36 += gt[42]; + m_A30 += go[39]; + m_A33 += go[40]; + m_A31 += go[41]; + double RHS8 = Idr[39]; + RHS8 += Idr[40]; + RHS8 += Idr[41]; + RHS8 += Idr[42]; + RHS8 -= go[42] * *cnV[42]; + const double f0 = 1.0 / m_A0; + const double f0_5 = -f0 * m_A17; + m_A18 += m_A1 * f0_5; + m_A19 += m_A2 * f0_5; RHS5 += f0_5 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_5 = -f1 * m_A12; - m_A15 += m_A3 * f1_5; - RHS5 += f1_5 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_4 = -f2 * m_A8; - m_A9 += m_A5 * f2_4; + const double f0_7 = -f0 * m_A25; + m_A27 += m_A1 * f0_7; + m_A28 += m_A2 * f0_7; + RHS7 += f0_7 * RHS0; + const double f1 = 1.0 / m_A3; + const double f1_7 = -f1 * m_A26; + m_A28 += m_A4 * f1_7; + m_A29 += m_A5 * f1_7; + RHS7 += f1_7 * RHS1; + const double f1_8 = -f1 * m_A30; + m_A35 += m_A4 * f1_8; + m_A36 += m_A5 * f1_8; + RHS8 += f1_8 * RHS1; + const double f2 = 1.0 / m_A6; + const double f2_4 = -f2 * m_A12; + m_A14 += m_A7 * f2_4; + m_A16 += m_A8 * f2_4; RHS4 += f2_4 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_5 = -f3 * m_A13; - m_A15 += m_A7 * f3_5; - RHS5 += f3_5 * RHS3; -const double f4 = 1.0 / m_A9; - const double f4_5 = -f4 * m_A14; - m_A15 += m_A10 * f4_5; - RHS5 += f4_5 * RHS4; - V[5] = RHS5 / m_A15; + const double f2_8 = -f2 * m_A31; + m_A32 += m_A7 * f2_8; + m_A36 += m_A8 * f2_8; + RHS8 += f2_8 * RHS2; + const double f3 = 1.0 / m_A9; + const double f3_4 = -f3 * m_A13; + m_A14 += m_A10 * f3_4; + m_A15 += m_A11 * f3_4; + RHS4 += f3_4 * RHS3; + const double f3_6 = -f3 * m_A21; + m_A22 += m_A10 * f3_6; + m_A23 += m_A11 * f3_6; + RHS6 += f3_6 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_6 = -f4 * m_A22; + m_A23 += m_A15 * f4_6; + m_A24 += m_A16 * f4_6; + RHS6 += f4_6 * RHS4; + const double f4_8 = -f4 * m_A32; + m_A34 += m_A15 * f4_8; + m_A36 += m_A16 * f4_8; + RHS8 += f4_8 * RHS4; + const double f5 = 1.0 / m_A18; + const double f5_7 = -f5 * m_A27; + m_A28 += m_A19 * f5_7; + m_A29 += m_A20 * f5_7; + RHS7 += f5_7 * RHS5; + const double f5_8 = -f5 * m_A33; + m_A35 += m_A19 * f5_8; + m_A36 += m_A20 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A23; + const double f6_8 = -f6 * m_A34; + m_A36 += m_A24 * f6_8; + RHS8 += f6_8 * RHS6; + const double f7 = 1.0 / m_A28; + const double f7_8 = -f7 * m_A35; + m_A36 += m_A29 * f7_8; + RHS8 += f7_8 * RHS7; + V[8] = RHS8 / m_A36; + double tmp7 = 0.0; + tmp7 += m_A29 * V[8]; + V[7] = (RHS7 - tmp7) / m_A28; + double tmp6 = 0.0; + tmp6 += m_A24 * V[8]; + V[6] = (RHS6 - tmp6) / m_A23; + double tmp5 = 0.0; + tmp5 += m_A19 * V[7]; + tmp5 += m_A20 * V[8]; + V[5] = (RHS5 - tmp5) / m_A18; double tmp4 = 0.0; - tmp4 += m_A10 * V[5]; - V[4] = (RHS4 - tmp4) / m_A9; + tmp4 += m_A15 * V[6]; + tmp4 += m_A16 * V[8]; + V[4] = (RHS4 - tmp4) / m_A14; double tmp3 = 0.0; - tmp3 += m_A7 * V[5]; - V[3] = (RHS3 - tmp3) / m_A6; + tmp3 += m_A10 * V[4]; + tmp3 += m_A11 * V[6]; + V[3] = (RHS3 - tmp3) / m_A9; double tmp2 = 0.0; - tmp2 += m_A5 * V[4]; - V[2] = (RHS2 - tmp2) / m_A4; + tmp2 += m_A7 * V[4]; + tmp2 += m_A8 * V[8]; + V[2] = (RHS2 - tmp2) / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[5]; - V[1] = (RHS1 - tmp1) / m_A2; + tmp1 += m_A4 * V[7]; + tmp1 += m_A5 * V[8]; + V[1] = (RHS1 - tmp1) / m_A3; double tmp0 = 0.0; tmp0 += m_A1 * V[5]; + tmp0 += m_A2 * V[7]; V[0] = (RHS0 - tmp0) / m_A0; } -// zac1b11142 -static void nl_gcr_38a3ac18f52bf78a_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// kidniki +static void nl_gcr_58f8065842de37d4_34_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10] + gt[11]; - m_A3 = m_A3 + go[8]; - m_A3 = m_A3 + go[9]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11]; - m_A6 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A5 = m_A5 + go[16]; - m_A5 = m_A5 + go[17]; - m_A4 = m_A4 + go[18]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + m_A2 += go[1]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[2] * *cnV[2]; + m_A3 += gt[3]; + m_A3 += gt[4]; + m_A3 += gt[5]; + m_A3 += gt[6]; + m_A3 += gt[7]; + m_A3 += gt[8]; + m_A3 += gt[9]; + m_A5 += go[3]; + m_A4 += go[4]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + RHS1 -= go[8] * *cnV[8]; + RHS1 -= go[9] * *cnV[9]; + m_A7 += gt[10]; + m_A7 += gt[11]; + m_A7 += gt[12]; + m_A6 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + m_A9 += gt[13]; + m_A9 += gt[14]; + m_A9 += gt[15]; + m_A11 += go[13]; + m_A10 += go[14]; + double RHS3 = Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + RHS3 -= go[15] * *cnV[15]; + m_A12 += gt[16]; + m_A12 += gt[17]; + m_A12 += gt[18]; + m_A14 += go[16]; + m_A13 += go[17]; + double RHS4 = Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 -= go[18] * *cnV[18]; + m_A17 += gt[19]; + m_A17 += gt[20]; + m_A17 += gt[21]; + m_A17 += gt[22]; + m_A17 += gt[23]; + m_A17 += gt[24]; + m_A17 += gt[25]; + m_A15 += go[19]; + m_A18 += go[20]; + double RHS5 = Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 += Idr[24]; + RHS5 += Idr[25]; + RHS5 -= go[21] * *cnV[21]; + RHS5 -= go[22] * *cnV[22]; + RHS5 -= go[23] * *cnV[23]; + RHS5 -= go[24] * *cnV[24]; + RHS5 -= go[25] * *cnV[25]; + m_A21 += gt[26]; + m_A21 += gt[27]; + m_A21 += gt[28]; + m_A21 += gt[29]; + m_A21 += gt[30]; + m_A21 += gt[31]; + m_A19 += go[26]; + m_A22 += go[27]; + m_A20 += go[28]; + double RHS6 = Idr[26]; + RHS6 += Idr[27]; + RHS6 += Idr[28]; + RHS6 += Idr[29]; + RHS6 += Idr[30]; + RHS6 += Idr[31]; + RHS6 -= go[29] * *cnV[29]; + RHS6 -= go[30] * *cnV[30]; + RHS6 -= go[31] * *cnV[31]; + m_A27 += gt[32]; + m_A27 += gt[33]; + m_A27 += gt[34]; + m_A27 += gt[35]; + m_A27 += gt[36]; + m_A26 += go[32]; + m_A25 += go[33]; + m_A23 += go[34]; + double RHS7 = Idr[32]; + RHS7 += Idr[33]; + RHS7 += Idr[34]; + RHS7 += Idr[35]; + RHS7 += Idr[36]; + RHS7 -= go[35] * *cnV[35]; + RHS7 -= go[36] * *cnV[36]; + m_A33 += gt[37]; + m_A33 += gt[38]; + m_A33 += gt[39]; + m_A30 += go[37]; + m_A31 += go[38]; + m_A29 += go[39]; + double RHS8 = Idr[37]; + RHS8 += Idr[38]; + RHS8 += Idr[39]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A6; + m_A7 += m_A1 * f0_2; + m_A8 += m_A2 * f0_2; RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; + const double f0_5 = -f0 * m_A15; + m_A16 += m_A1 * f0_5; + m_A18 += m_A2 * f0_5; + RHS5 += f0_5 * RHS0; + const double f0_7 = -f0 * m_A23; + m_A24 += m_A1 * f0_7; + m_A27 += m_A2 * f0_7; + RHS7 += f0_7 * RHS0; + const double f1 = 1.0 / m_A3; + const double f1_6 = -f1 * m_A19; + m_A20 += m_A4 * f1_6; + m_A21 += m_A5 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A7; + const double f2_5 = -f2 * m_A16; + m_A18 += m_A8 * f2_5; + RHS5 += f2_5 * RHS2; + const double f2_7 = -f2 * m_A24; + m_A27 += m_A8 * f2_7; + RHS7 += f2_7 * RHS2; + const double f3 = 1.0 / m_A9; + const double f3_6 = -f3 * m_A20; + m_A21 += m_A10 * f3_6; + m_A22 += m_A11 * f3_6; + RHS6 += f3_6 * RHS3; + const double f3_8 = -f3 * m_A29; + m_A31 += m_A10 * f3_8; + m_A33 += m_A11 * f3_8; + RHS8 += f3_8 * RHS3; + const double f4 = 1.0 / m_A12; + const double f4_7 = -f4 * m_A25; + m_A27 += m_A13 * f4_7; + m_A28 += m_A14 * f4_7; + RHS7 += f4_7 * RHS4; + const double f4_8 = -f4 * m_A30; + m_A32 += m_A13 * f4_8; + m_A33 += m_A14 * f4_8; + RHS8 += f4_8 * RHS4; + const double f5 = 1.0 / m_A17; + const double f5_7 = -f5 * m_A26; + m_A27 += m_A18 * f5_7; + RHS7 += f5_7 * RHS5; + const double f6 = 1.0 / m_A21; + const double f6_8 = -f6 * m_A31; + m_A33 += m_A22 * f6_8; + RHS8 += f6_8 * RHS6; + const double f7 = 1.0 / m_A27; + const double f7_8 = -f7 * m_A32; + m_A33 += m_A28 * f7_8; + RHS8 += f7_8 * RHS7; + V[8] = RHS8 / m_A33; + double tmp7 = 0.0; + tmp7 += m_A28 * V[8]; + V[7] = (RHS7 - tmp7) / m_A27; + double tmp6 = 0.0; + tmp6 += m_A22 * V[8]; + V[6] = (RHS6 - tmp6) / m_A21; + double tmp5 = 0.0; + tmp5 += m_A18 * V[7]; + V[5] = (RHS5 - tmp5) / m_A17; + double tmp4 = 0.0; + tmp4 += m_A13 * V[7]; + tmp4 += m_A14 * V[8]; + V[4] = (RHS4 - tmp4) / m_A12; + double tmp3 = 0.0; + tmp3 += m_A10 * V[6]; + tmp3 += m_A11 * V[8]; + V[3] = (RHS3 - tmp3) / m_A9; + double tmp2 = 0.0; + tmp2 += m_A8 * V[7]; + V[2] = (RHS2 - tmp2) / m_A7; double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; - V[1] = (RHS1 - tmp1) / m_A2; + tmp1 += m_A4 * V[3]; + tmp1 += m_A5 * V[6]; + V[1] = (RHS1 - tmp1) / m_A3; double tmp0 = 0.0; tmp0 += m_A1 * V[2]; + tmp0 += m_A2 * V[7]; V[0] = (RHS0 - tmp0) / m_A0; } -// dpatrol -static void nl_gcr_38f1806722626d7e_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// breakout +static void nl_gcr_59095cbc65117534_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A6 = gt[8] + gt[9] + gt[10] + gt[11]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + m_A12 += gt[12]; + m_A12 += gt[13]; + m_A12 += gt[14]; + m_A12 += gt[15]; + m_A12 += gt[16]; + m_A12 += gt[17]; + m_A11 += go[12]; + m_A10 += go[13]; + m_A9 += go[14]; + m_A8 += go[15]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 += Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 -= go[16] * *cnV[16]; + RHS4 -= go[17] * *cnV[17]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A8; + m_A12 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A9; + m_A12 += m_A3 * f1_4; + RHS4 += f1_4 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_4 = -f2 * m_A10; + m_A12 += m_A5 * f2_4; + RHS4 += f2_4 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_4 = -f3 * m_A11; + m_A12 += m_A7 * f3_4; + RHS4 += f3_4 * RHS3; + V[4] = RHS4 / m_A12; + double tmp3 = 0.0; + tmp3 += m_A7 * V[4]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[4]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; + tmp1 += m_A3 * V[4]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; + tmp0 += m_A1 * V[4]; V[0] = (RHS0 - tmp0) / m_A0; } -// kidniki -static void nl_gcr_3e4821cabc0aeb96_24_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// breakout +static void nl_gcr_593686d4c01bf991_31_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A8 = gt[32] + gt[33] + gt[34]; - m_A10 = m_A10 + go[32]; - m_A9 = m_A9 + go[33]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[34] * *cnV[34]; - m_A11 = gt[40] + gt[41] + gt[42]; - m_A12 = m_A12 + go[40]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[41] * *cnV[41] - go[42] * *cnV[42]; - m_A18 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52]; - m_A16 = m_A16 + go[48]; - m_A15 = m_A15 + go[49]; - m_A14 = m_A14 + go[50]; - m_A17 = m_A17 + go[51]; - m_A13 = m_A13 + go[52]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52]; - m_A23 = gt[56] + gt[57]; - m_A21 = m_A21 + go[56]; - m_A20 = m_A20 + go[57]; - double RHS7 = Idr[56] + Idr[57]; -const double f0 = 1.0 / m_A0; - const double f0_6 = -f0 * m_A13; - m_A18 += m_A1 * f0_6; - RHS6 += f0_6 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_6 = -f1 * m_A14; - m_A18 += m_A3 * f1_6; - RHS6 += f1_6 * RHS1; -const double f2 = 1.0 / m_A4; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A2 += gt[7]; + m_A3 += go[5]; + double RHS1 = Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A5 += go[8]; + m_A6 += go[9]; + double RHS2 = Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[10] * *cnV[10]; + m_A7 += gt[11]; + m_A7 += gt[12]; + m_A7 += gt[13]; + m_A8 += go[11]; + double RHS3 = Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + m_A9 += gt[14]; + m_A9 += gt[15]; + m_A9 += gt[16]; + m_A10 += go[14]; + double RHS4 = Idr[14]; + RHS4 += Idr[15]; + RHS4 += Idr[16]; + RHS4 -= go[15] * *cnV[15]; + RHS4 -= go[16] * *cnV[16]; + m_A12 += gt[17]; + m_A12 += gt[18]; + m_A12 += gt[19]; + m_A12 += gt[20]; + m_A12 += gt[21]; + m_A12 += gt[22]; + m_A12 += gt[23]; + m_A14 += go[17]; + m_A13 += go[18]; + m_A11 += go[19]; + double RHS5 = Idr[17]; + RHS5 += Idr[18]; + RHS5 += Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[20] * *cnV[20]; + RHS5 -= go[21] * *cnV[21]; + RHS5 -= go[22] * *cnV[22]; + RHS5 -= go[23] * *cnV[23]; + m_A16 += gt[24]; + m_A16 += gt[25]; + m_A16 += gt[26]; + m_A16 += gt[27]; + m_A16 += gt[28]; + m_A18 += go[24]; + m_A15 += go[25]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 += Idr[27]; + RHS6 += Idr[28]; + RHS6 -= go[26] * *cnV[26]; + RHS6 -= go[27] * *cnV[27]; + RHS6 -= go[28] * *cnV[28]; + m_A23 += gt[29]; + m_A23 += gt[30]; + m_A23 += gt[31]; + m_A19 += go[29]; + m_A20 += go[30]; + m_A21 += go[31]; + double RHS7 = Idr[29]; + RHS7 += Idr[30]; + RHS7 += Idr[31]; + m_A30 += gt[32]; + m_A30 += gt[33]; + m_A30 += gt[34]; + m_A30 += gt[35]; + m_A30 += gt[36]; + m_A26 += go[32]; + m_A25 += go[33]; + m_A28 += go[34]; + m_A27 += go[35]; + double RHS8 = Idr[32]; + RHS8 += Idr[33]; + RHS8 += Idr[34]; + RHS8 += Idr[35]; + RHS8 += Idr[36]; + RHS8 -= go[36] * *cnV[36]; + const double f0 = 1.0 / m_A0; + const double f0_5 = -f0 * m_A11; + m_A12 += m_A1 * f0_5; + RHS5 += f0_5 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_7 = -f1 * m_A19; + m_A23 += m_A3 * f1_7; + RHS7 += f1_7 * RHS1; + const double f2 = 1.0 / m_A4; const double f2_6 = -f2 * m_A15; - m_A18 += m_A5 * f2_6; + m_A16 += m_A5 * f2_6; + m_A17 += m_A6 * f2_6; RHS6 += f2_6 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_6 = -f3 * m_A16; - m_A18 += m_A7 * f3_6; - RHS6 += f3_6 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_6 = -f4 * m_A17; - m_A18 += m_A9 * f4_6; - m_A19 += m_A10 * f4_6; - RHS6 += f4_6 * RHS4; - const double f4_7 = -f4 * m_A20; - m_A22 += m_A9 * f4_7; - m_A23 += m_A10 * f4_7; - RHS7 += f4_7 * RHS4; -const double f5 = 1.0 / m_A11; + const double f2_7 = -f2 * m_A20; + m_A22 += m_A5 * f2_7; + m_A23 += m_A6 * f2_7; + RHS7 += f2_7 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_8 = -f3 * m_A25; + m_A30 += m_A8 * f3_8; + RHS8 += f3_8 * RHS3; + const double f4 = 1.0 / m_A9; + const double f4_8 = -f4 * m_A26; + m_A30 += m_A10 * f4_8; + RHS8 += f4_8 * RHS4; + const double f5 = 1.0 / m_A12; const double f5_7 = -f5 * m_A21; - m_A23 += m_A12 * f5_7; + m_A23 += m_A13 * f5_7; + m_A24 += m_A14 * f5_7; RHS7 += f5_7 * RHS5; -const double f6 = 1.0 / m_A18; + const double f5_8 = -f5 * m_A27; + m_A29 += m_A13 * f5_8; + m_A30 += m_A14 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A16; const double f6_7 = -f6 * m_A22; - m_A23 += m_A19 * f6_7; + m_A23 += m_A17 * f6_7; + m_A24 += m_A18 * f6_7; RHS7 += f6_7 * RHS6; - V[7] = RHS7 / m_A23; + const double f6_8 = -f6 * m_A28; + m_A29 += m_A17 * f6_8; + m_A30 += m_A18 * f6_8; + RHS8 += f6_8 * RHS6; + const double f7 = 1.0 / m_A23; + const double f7_8 = -f7 * m_A29; + m_A30 += m_A24 * f7_8; + RHS8 += f7_8 * RHS7; + V[8] = RHS8 / m_A30; + double tmp7 = 0.0; + tmp7 += m_A24 * V[8]; + V[7] = (RHS7 - tmp7) / m_A23; double tmp6 = 0.0; - tmp6 += m_A19 * V[7]; - V[6] = (RHS6 - tmp6) / m_A18; - double tmp5 = 0.0; - tmp5 += m_A12 * V[7]; - V[5] = (RHS5 - tmp5) / m_A11; - double tmp4 = 0.0; - tmp4 += m_A9 * V[6]; - tmp4 += m_A10 * V[7]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[6]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[6]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[6]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[6]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// dpatrol -static void nl_gcr_57a832104e53c9a8_20_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3]; - m_A2 = gt[8]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8]; - m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20]; - m_A6 = m_A6 + go[16]; - m_A5 = m_A5 + go[17]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20]; - m_A8 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30]; - m_A10 = m_A10 + go[24]; - m_A9 = m_A9 + go[25]; - m_A7 = m_A7 + go[26]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30]; - m_A14 = gt[32] + gt[33] + gt[34] + gt[35]; - m_A11 = m_A11 + go[32]; - m_A12 = m_A12 + go[33]; - m_A13 = m_A13 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] - go[35] * *cnV[35]; - m_A19 = gt[40] + gt[41] + gt[42]; - m_A16 = m_A16 + go[40]; - m_A17 = m_A17 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[42] * *cnV[42]; -const double f0 = 1.0 / m_A0; - const double f0_3 = -f0 * m_A7; - m_A8 += m_A1 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A11; - m_A14 += m_A3 * f1_4; - RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_4 = -f2 * m_A12; - m_A14 += m_A5 * f2_4; - m_A15 += m_A6 * f2_4; - RHS4 += f2_4 * RHS2; - const double f2_5 = -f2 * m_A16; - m_A18 += m_A5 * f2_5; - m_A19 += m_A6 * f2_5; - RHS5 += f2_5 * RHS2; -const double f3 = 1.0 / m_A8; - const double f3_4 = -f3 * m_A13; - m_A14 += m_A9 * f3_4; - m_A15 += m_A10 * f3_4; - RHS4 += f3_4 * RHS3; - const double f3_5 = -f3 * m_A17; - m_A18 += m_A9 * f3_5; - m_A19 += m_A10 * f3_5; - RHS5 += f3_5 * RHS3; -const double f4 = 1.0 / m_A14; - const double f4_5 = -f4 * m_A18; - m_A19 += m_A15 * f4_5; - RHS5 += f4_5 * RHS4; - V[5] = RHS5 / m_A19; + tmp6 += m_A17 * V[7]; + tmp6 += m_A18 * V[8]; + V[6] = (RHS6 - tmp6) / m_A16; + double tmp5 = 0.0; + tmp5 += m_A13 * V[7]; + tmp5 += m_A14 * V[8]; + V[5] = (RHS5 - tmp5) / m_A12; double tmp4 = 0.0; - tmp4 += m_A15 * V[5]; - V[4] = (RHS4 - tmp4) / m_A14; - double tmp3 = 0.0; - tmp3 += m_A9 * V[4]; - tmp3 += m_A10 * V[5]; - V[3] = (RHS3 - tmp3) / m_A8; - double tmp2 = 0.0; - tmp2 += m_A5 * V[4]; - tmp2 += m_A6 * V[5]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[4]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[3]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// rebound -static void nl_gcr_5985dfb549280eeb_13_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[6] + gt[7] + gt[8]; - m_A3 = m_A3 + go[6]; - double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8]; - m_A4 = gt[12] + gt[13] + gt[14]; - m_A5 = m_A5 + go[12]; - double RHS2 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A6 = gt[18] + gt[19] + gt[20]; - m_A7 = m_A7 + go[18]; - double RHS3 = Idr[18] + Idr[19] + Idr[20] - go[19] * *cnV[19] - go[20] * *cnV[20]; - m_A12 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28]; - m_A11 = m_A11 + go[24]; - m_A10 = m_A10 + go[25]; - m_A9 = m_A9 + go[26]; - m_A8 = m_A8 + go[27]; - double RHS4 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] - go[28] * *cnV[28]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A8; - m_A12 += m_A1 * f0_4; - RHS4 += f0_4 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A9; - m_A12 += m_A3 * f1_4; - RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_4 = -f2 * m_A10; - m_A12 += m_A5 * f2_4; - RHS4 += f2_4 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_4 = -f3 * m_A11; - m_A12 += m_A7 * f3_4; - RHS4 += f3_4 * RHS3; - V[4] = RHS4 / m_A12; + tmp4 += m_A10 * V[8]; + V[4] = (RHS4 - tmp4) / m_A9; double tmp3 = 0.0; - tmp3 += m_A7 * V[4]; - V[3] = (RHS3 - tmp3) / m_A6; + tmp3 += m_A8 * V[8]; + V[3] = (RHS3 - tmp3) / m_A7; double tmp2 = 0.0; - tmp2 += m_A5 * V[4]; + tmp2 += m_A5 * V[6]; + tmp2 += m_A6 * V[7]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[4]; + tmp1 += m_A3 * V[7]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[4]; + tmp0 += m_A1 * V[5]; V[0] = (RHS0 - tmp0) / m_A0; } -// tp1985 -static void nl_gcr_5ca1779d1825c4c9_26_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// zac1b11142 +static void nl_gcr_5a632d4741241573_96_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - m_A2 = m_A2 + go[1]; - double RHS0 = Idr[0] + Idr[1]; - m_A3 = gt[6] + gt[7] + gt[8]; - m_A4 = m_A4 + go[6]; - double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8]; - m_A5 = gt[12] + gt[13] + gt[14]; - m_A6 = m_A6 + go[12]; - double RHS2 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A7 = gt[18] + gt[19]; - m_A8 = m_A8 + go[18]; - double RHS3 = Idr[18] + Idr[19] - go[19] * *cnV[19]; - m_A10 = gt[24] + gt[25] + gt[26] + gt[27]; - m_A11 = m_A11 + go[24]; - m_A9 = m_A9 + go[25]; - double RHS4 = Idr[24] + Idr[25] + Idr[26] + Idr[27] - go[26] * *cnV[26] - go[27] * *cnV[27]; - m_A14 = gt[30] + gt[31]; - m_A13 = m_A13 + go[30]; - m_A15 = m_A15 + go[31]; - double RHS5 = Idr[30] + Idr[31]; - m_A19 = gt[36] + gt[37] + gt[38] + gt[39]; - m_A17 = m_A17 + go[36]; - m_A16 = m_A16 + go[37]; - m_A18 = m_A18 + go[38]; - m_A20 = m_A20 + go[39]; - double RHS6 = Idr[36] + Idr[37] + Idr[38] + Idr[39]; - m_A25 = gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A23 = m_A23 + go[42]; - m_A24 = m_A24 + go[43]; - m_A21 = m_A21 + go[44]; - double RHS7 = Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[45] * *cnV[45] - go[46] * *cnV[46]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A9; - m_A10 += m_A1 * f0_4; - m_A12 += m_A2 * f0_4; - RHS4 += f0_4 * RHS0; - const double f0_7 = -f0 * m_A21; - m_A22 += m_A1 * f0_7; - m_A25 += m_A2 * f0_7; - RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A3; - const double f1_6 = -f1 * m_A16; - m_A19 += m_A4 * f1_6; - RHS6 += f1_6 * RHS1; -const double f2 = 1.0 / m_A5; - const double f2_6 = -f2 * m_A17; - m_A19 += m_A6 * f2_6; - RHS6 += f2_6 * RHS2; -const double f3 = 1.0 / m_A7; - const double f3_5 = -f3 * m_A13; - m_A14 += m_A8 * f3_5; - RHS5 += f3_5 * RHS3; -const double f4 = 1.0 / m_A10; - const double f4_6 = -f4 * m_A18; - m_A19 += m_A11 * f4_6; - m_A20 += m_A12 * f4_6; - RHS6 += f4_6 * RHS4; - const double f4_7 = -f4 * m_A22; - m_A24 += m_A11 * f4_7; - m_A25 += m_A12 * f4_7; - RHS7 += f4_7 * RHS4; -const double f5 = 1.0 / m_A14; - const double f5_7 = -f5 * m_A23; - m_A25 += m_A15 * f5_7; - RHS7 += f5_7 * RHS5; -const double f6 = 1.0 / m_A19; - const double f6_7 = -f6 * m_A24; - m_A25 += m_A20 * f6_7; - RHS7 += f6_7 * RHS6; - V[7] = RHS7 / m_A25; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 += Idr[8]; + RHS1 -= go[3] * *cnV[3]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + RHS1 -= go[8] * *cnV[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A5 += go[9]; + double RHS2 = Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[10] * *cnV[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A6 += gt[15]; + m_A6 += gt[16]; + m_A6 += gt[17]; + m_A7 += go[11]; + double RHS3 = Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + RHS3 += Idr[16]; + RHS3 += Idr[17]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + RHS3 -= go[15] * *cnV[15]; + RHS3 -= go[16] * *cnV[16]; + RHS3 -= go[17] * *cnV[17]; + m_A8 += gt[18]; + m_A8 += gt[19]; + m_A8 += gt[20]; + m_A8 += gt[21]; + m_A8 += gt[22]; + m_A8 += gt[23]; + m_A8 += gt[24]; + m_A9 += go[18]; + double RHS4 = Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 += Idr[22]; + RHS4 += Idr[23]; + RHS4 += Idr[24]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + RHS4 -= go[22] * *cnV[22]; + RHS4 -= go[23] * *cnV[23]; + RHS4 -= go[24] * *cnV[24]; + m_A10 += gt[25]; + m_A10 += gt[26]; + m_A10 += gt[27]; + m_A10 += gt[28]; + m_A10 += gt[29]; + m_A11 += go[25]; + m_A12 += go[26]; + double RHS5 = Idr[25]; + RHS5 += Idr[26]; + RHS5 += Idr[27]; + RHS5 += Idr[28]; + RHS5 += Idr[29]; + RHS5 -= go[27] * *cnV[27]; + RHS5 -= go[28] * *cnV[28]; + RHS5 -= go[29] * *cnV[29]; + m_A13 += gt[30]; + m_A13 += gt[31]; + m_A13 += gt[32]; + m_A14 += go[30]; + double RHS6 = Idr[30]; + RHS6 += Idr[31]; + RHS6 += Idr[32]; + RHS6 -= go[31] * *cnV[31]; + RHS6 -= go[32] * *cnV[32]; + m_A15 += gt[33]; + m_A15 += gt[34]; + m_A16 += go[33]; + double RHS7 = Idr[33]; + RHS7 += Idr[34]; + RHS7 -= go[34] * *cnV[34]; + m_A17 += gt[35]; + m_A17 += gt[36]; + m_A17 += gt[37]; + m_A18 += go[35]; + double RHS8 = Idr[35]; + RHS8 += Idr[36]; + RHS8 += Idr[37]; + RHS8 -= go[36] * *cnV[36]; + RHS8 -= go[37] * *cnV[37]; + m_A20 += gt[38]; + m_A20 += gt[39]; + m_A19 += go[38]; + double RHS9 = Idr[38]; + RHS9 += Idr[39]; + RHS9 -= go[39] * *cnV[39]; + m_A21 += gt[40]; + m_A21 += gt[41]; + m_A21 += gt[42]; + m_A22 += go[40]; + double RHS10 = Idr[40]; + RHS10 += Idr[41]; + RHS10 += Idr[42]; + RHS10 -= go[41] * *cnV[41]; + RHS10 -= go[42] * *cnV[42]; + m_A23 += gt[43]; + m_A23 += gt[44]; + m_A23 += gt[45]; + m_A24 += go[43]; + m_A25 += go[44]; + double RHS11 = Idr[43]; + RHS11 += Idr[44]; + RHS11 += Idr[45]; + RHS11 -= go[45] * *cnV[45]; + m_A26 += gt[46]; + m_A26 += gt[47]; + m_A26 += gt[48]; + m_A27 += go[46]; + double RHS12 = Idr[46]; + RHS12 += Idr[47]; + RHS12 += Idr[48]; + RHS12 -= go[47] * *cnV[47]; + RHS12 -= go[48] * *cnV[48]; + m_A29 += gt[49]; + m_A29 += gt[50]; + m_A28 += go[49]; + double RHS13 = Idr[49]; + RHS13 += Idr[50]; + RHS13 -= go[50] * *cnV[50]; + m_A31 += gt[51]; + m_A31 += gt[52]; + m_A31 += gt[53]; + m_A31 += gt[54]; + m_A31 += gt[55]; + m_A30 += go[51]; + m_A33 += go[52]; + double RHS14 = Idr[51]; + RHS14 += Idr[52]; + RHS14 += Idr[53]; + RHS14 += Idr[54]; + RHS14 += Idr[55]; + RHS14 -= go[53] * *cnV[53]; + RHS14 -= go[54] * *cnV[54]; + RHS14 -= go[55] * *cnV[55]; + m_A35 += gt[56]; + m_A35 += gt[57]; + m_A35 += gt[58]; + m_A37 += go[56]; + m_A34 += go[57]; + double RHS15 = Idr[56]; + RHS15 += Idr[57]; + RHS15 += Idr[58]; + RHS15 -= go[58] * *cnV[58]; + m_A39 += gt[59]; + m_A39 += gt[60]; + m_A39 += gt[61]; + m_A39 += gt[62]; + m_A39 += gt[63]; + m_A38 += go[59]; + m_A41 += go[60]; + double RHS16 = Idr[59]; + RHS16 += Idr[60]; + RHS16 += Idr[61]; + RHS16 += Idr[62]; + RHS16 += Idr[63]; + RHS16 -= go[61] * *cnV[61]; + RHS16 -= go[62] * *cnV[62]; + RHS16 -= go[63] * *cnV[63]; + m_A44 += gt[64]; + m_A44 += gt[65]; + m_A43 += go[64]; + m_A42 += go[65]; + double RHS17 = Idr[64]; + RHS17 += Idr[65]; + m_A47 += gt[66]; + m_A47 += gt[67]; + m_A47 += gt[68]; + m_A48 += go[66]; + m_A45 += go[67]; + double RHS18 = Idr[66]; + RHS18 += Idr[67]; + RHS18 += Idr[68]; + RHS18 -= go[68] * *cnV[68]; + m_A51 += gt[69]; + m_A51 += gt[70]; + m_A51 += gt[71]; + m_A51 += gt[72]; + m_A52 += go[69]; + m_A50 += go[70]; + double RHS19 = Idr[69]; + RHS19 += Idr[70]; + RHS19 += Idr[71]; + RHS19 += Idr[72]; + RHS19 -= go[71] * *cnV[71]; + RHS19 -= go[72] * *cnV[72]; + m_A54 += gt[73]; + m_A54 += gt[74]; + m_A56 += go[73]; + m_A53 += go[74]; + double RHS20 = Idr[73]; + RHS20 += Idr[74]; + m_A58 += gt[75]; + m_A58 += gt[76]; + m_A58 += gt[77]; + m_A58 += gt[78]; + m_A59 += go[75]; + m_A57 += go[76]; + double RHS21 = Idr[75]; + RHS21 += Idr[76]; + RHS21 += Idr[77]; + RHS21 += Idr[78]; + RHS21 -= go[77] * *cnV[77]; + RHS21 -= go[78] * *cnV[78]; + m_A64 += gt[79]; + m_A64 += gt[80]; + m_A64 += gt[81]; + m_A64 += gt[82]; + m_A64 += gt[83]; + m_A64 += gt[84]; + m_A60 += go[79]; + m_A61 += go[80]; + m_A66 += go[81]; + m_A66 += go[82]; + double RHS22 = Idr[79]; + RHS22 += Idr[80]; + RHS22 += Idr[81]; + RHS22 += Idr[82]; + RHS22 += Idr[83]; + RHS22 += Idr[84]; + RHS22 -= go[83] * *cnV[83]; + RHS22 -= go[84] * *cnV[84]; + m_A73 += gt[85]; + m_A73 += gt[86]; + m_A73 += gt[87]; + m_A73 += gt[88]; + m_A73 += gt[89]; + m_A69 += go[85]; + m_A70 += go[86]; + m_A71 += go[87]; + m_A68 += go[88]; + m_A67 += go[89]; + double RHS23 = Idr[85]; + RHS23 += Idr[86]; + RHS23 += Idr[87]; + RHS23 += Idr[88]; + RHS23 += Idr[89]; + m_A76 += gt[90]; + m_A76 += gt[91]; + m_A76 += gt[92]; + m_A76 += gt[93]; + m_A77 += go[90]; + m_A75 += go[91]; + double RHS24 = Idr[90]; + RHS24 += Idr[91]; + RHS24 += Idr[92]; + RHS24 += Idr[93]; + RHS24 -= go[92] * *cnV[92]; + RHS24 -= go[93] * *cnV[93]; + m_A85 += gt[94]; + m_A85 += gt[95]; + m_A85 += gt[96]; + m_A85 += gt[97]; + m_A85 += gt[98]; + m_A81 += go[94]; + m_A80 += go[95]; + m_A82 += go[96]; + m_A79 += go[97]; + m_A78 += go[98]; + double RHS25 = Idr[94]; + RHS25 += Idr[95]; + RHS25 += Idr[96]; + RHS25 += Idr[97]; + RHS25 += Idr[98]; + m_A95 += gt[99]; + m_A95 += gt[100]; + m_A95 += gt[101]; + m_A95 += gt[102]; + m_A95 += gt[103]; + m_A95 += gt[104]; + m_A95 += gt[105]; + m_A95 += gt[106]; + m_A89 += go[99]; + m_A92 += go[100]; + m_A92 += go[101]; + m_A90 += go[102]; + m_A88 += go[103]; + m_A87 += go[104]; + double RHS26 = Idr[99]; + RHS26 += Idr[100]; + RHS26 += Idr[101]; + RHS26 += Idr[102]; + RHS26 += Idr[103]; + RHS26 += Idr[104]; + RHS26 += Idr[105]; + RHS26 += Idr[106]; + RHS26 -= go[105] * *cnV[105]; + RHS26 -= go[106] * *cnV[106]; + const double f0 = 1.0 / m_A0; + const double f0_9 = -f0 * m_A19; + m_A20 += m_A1 * f0_9; + RHS9 += f0_9 * RHS0; + const double f0_23 = -f0 * m_A67; + m_A69 += m_A1 * f0_23; + RHS23 += f0_23 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_16 = -f1 * m_A38; + m_A40 += m_A3 * f1_16; + RHS16 += f1_16 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_13 = -f2 * m_A28; + m_A29 += m_A5 * f2_13; + RHS13 += f2_13 * RHS2; + const double f2_26 = -f2 * m_A87; + m_A89 += m_A5 * f2_26; + RHS26 += f2_26 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_22 = -f3 * m_A60; + m_A63 += m_A7 * f3_22; + RHS22 += f3_22 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_14 = -f4 * m_A30; + m_A32 += m_A9 * f4_14; + RHS14 += f4_14 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_15 = -f5 * m_A34; + m_A35 += m_A11 * f5_15; + m_A36 += m_A12 * f5_15; + RHS15 += f5_15 * RHS5; + const double f5_18 = -f5 * m_A45; + m_A46 += m_A11 * f5_18; + m_A47 += m_A12 * f5_18; + RHS18 += f5_18 * RHS5; + const double f6 = 1.0 / m_A13; + const double f6_19 = -f6 * m_A50; + m_A52 += m_A14 * f6_19; + RHS19 += f6_19 * RHS6; + const double f6_23 = -f6 * m_A68; + m_A73 += m_A14 * f6_23; + RHS23 += f6_23 * RHS6; + const double f7 = 1.0 / m_A15; + const double f7_17 = -f7 * m_A42; + m_A44 += m_A16 * f7_17; + RHS17 += f7_17 * RHS7; + const double f7_25 = -f7 * m_A78; + m_A81 += m_A16 * f7_25; + RHS25 += f7_25 * RHS7; + const double f8 = 1.0 / m_A17; + const double f8_17 = -f8 * m_A43; + m_A44 += m_A18 * f8_17; + RHS17 += f8_17 * RHS8; + const double f9 = 1.0 / m_A20; + const double f9_23 = -f9 * m_A69; + RHS23 += f9_23 * RHS9; + const double f10 = 1.0 / m_A21; + const double f10_21 = -f10 * m_A57; + m_A59 += m_A22 * f10_21; + RHS21 += f10_21 * RHS10; + const double f10_26 = -f10 * m_A88; + m_A95 += m_A22 * f10_26; + RHS26 += f10_26 * RHS10; + const double f11 = 1.0 / m_A23; + const double f11_20 = -f11 * m_A53; + m_A54 += m_A24 * f11_20; + m_A55 += m_A25 * f11_20; + RHS20 += f11_20 * RHS11; + const double f11_22 = -f11 * m_A61; + m_A62 += m_A24 * f11_22; + m_A64 += m_A25 * f11_22; + RHS22 += f11_22 * RHS11; + const double f12 = 1.0 / m_A26; + const double f12_24 = -f12 * m_A75; + m_A77 += m_A27 * f12_24; + RHS24 += f12_24 * RHS12; + const double f12_25 = -f12 * m_A79; + m_A85 += m_A27 * f12_25; + RHS25 += f12_25 * RHS12; + const double f13 = 1.0 / m_A29; + const double f13_26 = -f13 * m_A89; + RHS26 += f13_26 * RHS13; + const double f14 = 1.0 / m_A31; + const double f14_25 = -f14 * m_A80; + m_A84 += m_A32 * f14_25; + m_A85 += m_A33 * f14_25; + RHS25 += f14_25 * RHS14; + const double f15 = 1.0 / m_A35; + const double f15_18 = -f15 * m_A46; + m_A47 += m_A36 * f15_18; + m_A49 += m_A37 * f15_18; + RHS18 += f15_18 * RHS15; + const double f15_26 = -f15 * m_A90; + m_A91 += m_A36 * f15_26; + m_A95 += m_A37 * f15_26; + RHS26 += f15_26 * RHS15; + const double f16 = 1.0 / m_A39; + const double f16_23 = -f16 * m_A70; + m_A72 += m_A40 * f16_23; + m_A73 += m_A41 * f16_23; + RHS23 += f16_23 * RHS16; + const double f17 = 1.0 / m_A44; + const double f17_25 = -f17 * m_A81; + RHS25 += f17_25 * RHS17; + const double f18 = 1.0 / m_A47; + const double f18_23 = -f18 * m_A71; + m_A73 += m_A48 * f18_23; + m_A74 += m_A49 * f18_23; + RHS23 += f18_23 * RHS18; + const double f18_26 = -f18 * m_A91; + m_A93 += m_A48 * f18_26; + m_A95 += m_A49 * f18_26; + RHS26 += f18_26 * RHS18; + const double f19 = 1.0 / m_A51; + const double f19_23 = -f19 * m_A72; + m_A73 += m_A52 * f19_23; + RHS23 += f19_23 * RHS19; + const double f20 = 1.0 / m_A54; + const double f20_22 = -f20 * m_A62; + m_A64 += m_A55 * f20_22; + m_A65 += m_A56 * f20_22; + RHS22 += f20_22 * RHS20; + const double f20_25 = -f20 * m_A82; + m_A83 += m_A55 * f20_25; + m_A85 += m_A56 * f20_25; + RHS25 += f20_25 * RHS20; + const double f21 = 1.0 / m_A58; + const double f21_22 = -f21 * m_A63; + m_A66 += m_A59 * f21_22; + RHS22 += f21_22 * RHS21; + const double f22 = 1.0 / m_A64; + const double f22_25 = -f22 * m_A83; + m_A85 += m_A65 * f22_25; + m_A86 += m_A66 * f22_25; + RHS25 += f22_25 * RHS22; + const double f22_26 = -f22 * m_A92; + m_A94 += m_A65 * f22_26; + m_A95 += m_A66 * f22_26; + RHS26 += f22_26 * RHS22; + const double f23 = 1.0 / m_A73; + const double f23_26 = -f23 * m_A93; + m_A95 += m_A74 * f23_26; + RHS26 += f23_26 * RHS23; + const double f24 = 1.0 / m_A76; + const double f24_25 = -f24 * m_A84; + m_A85 += m_A77 * f24_25; + RHS25 += f24_25 * RHS24; + const double f25 = 1.0 / m_A85; + const double f25_26 = -f25 * m_A94; + m_A95 += m_A86 * f25_26; + RHS26 += f25_26 * RHS25; + V[26] = RHS26 / m_A95; + double tmp25 = 0.0; + tmp25 += m_A86 * V[26]; + V[25] = (RHS25 - tmp25) / m_A85; + double tmp24 = 0.0; + tmp24 += m_A77 * V[25]; + V[24] = (RHS24 - tmp24) / m_A76; + double tmp23 = 0.0; + tmp23 += m_A74 * V[26]; + V[23] = (RHS23 - tmp23) / m_A73; + double tmp22 = 0.0; + tmp22 += m_A65 * V[25]; + tmp22 += m_A66 * V[26]; + V[22] = (RHS22 - tmp22) / m_A64; + double tmp21 = 0.0; + tmp21 += m_A59 * V[26]; + V[21] = (RHS21 - tmp21) / m_A58; + double tmp20 = 0.0; + tmp20 += m_A55 * V[22]; + tmp20 += m_A56 * V[25]; + V[20] = (RHS20 - tmp20) / m_A54; + double tmp19 = 0.0; + tmp19 += m_A52 * V[23]; + V[19] = (RHS19 - tmp19) / m_A51; + double tmp18 = 0.0; + tmp18 += m_A48 * V[23]; + tmp18 += m_A49 * V[26]; + V[18] = (RHS18 - tmp18) / m_A47; + double tmp17 = 0.0; + V[17] = (RHS17 - tmp17) / m_A44; + double tmp16 = 0.0; + tmp16 += m_A40 * V[19]; + tmp16 += m_A41 * V[23]; + V[16] = (RHS16 - tmp16) / m_A39; + double tmp15 = 0.0; + tmp15 += m_A36 * V[18]; + tmp15 += m_A37 * V[26]; + V[15] = (RHS15 - tmp15) / m_A35; + double tmp14 = 0.0; + tmp14 += m_A32 * V[24]; + tmp14 += m_A33 * V[25]; + V[14] = (RHS14 - tmp14) / m_A31; + double tmp13 = 0.0; + V[13] = (RHS13 - tmp13) / m_A29; + double tmp12 = 0.0; + tmp12 += m_A27 * V[25]; + V[12] = (RHS12 - tmp12) / m_A26; + double tmp11 = 0.0; + tmp11 += m_A24 * V[20]; + tmp11 += m_A25 * V[22]; + V[11] = (RHS11 - tmp11) / m_A23; + double tmp10 = 0.0; + tmp10 += m_A22 * V[26]; + V[10] = (RHS10 - tmp10) / m_A21; + double tmp9 = 0.0; + V[9] = (RHS9 - tmp9) / m_A20; + double tmp8 = 0.0; + tmp8 += m_A18 * V[17]; + V[8] = (RHS8 - tmp8) / m_A17; + double tmp7 = 0.0; + tmp7 += m_A16 * V[17]; + V[7] = (RHS7 - tmp7) / m_A15; double tmp6 = 0.0; - tmp6 += m_A20 * V[7]; - V[6] = (RHS6 - tmp6) / m_A19; + tmp6 += m_A14 * V[23]; + V[6] = (RHS6 - tmp6) / m_A13; double tmp5 = 0.0; - tmp5 += m_A15 * V[7]; - V[5] = (RHS5 - tmp5) / m_A14; + tmp5 += m_A11 * V[15]; + tmp5 += m_A12 * V[18]; + V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A11 * V[6]; - tmp4 += m_A12 * V[7]; - V[4] = (RHS4 - tmp4) / m_A10; + tmp4 += m_A9 * V[24]; + V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A8 * V[5]; - V[3] = (RHS3 - tmp3) / m_A7; + tmp3 += m_A7 * V[21]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A6 * V[6]; - V[2] = (RHS2 - tmp2) / m_A5; + tmp2 += m_A5 * V[13]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A4 * V[6]; - V[1] = (RHS1 - tmp1) / m_A3; + tmp1 += m_A3 * V[19]; + V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[4]; - tmp0 += m_A2 * V[7]; + tmp0 += m_A1 * V[9]; V[0] = (RHS0 - tmp0) / m_A0; } -// tp1985 -static void nl_gcr_6148fa421800febb_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// 280zzzap +static void nl_gcr_5af09c93b5cf0788_95_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A5 = gt[8] + gt[9]; - m_A6 = m_A6 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9]; - m_A9 = gt[12] + gt[13]; - m_A7 = m_A7 + go[12]; - m_A8 = m_A8 + go[13]; - double RHS3 = Idr[12] + Idr[13]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A5 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_3 = -f1 * m_A7; - m_A9 += m_A3 * f1_3; - RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A5; - const double f2_3 = -f2 * m_A8; - m_A9 += m_A6 * f2_3; - RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A9; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A2 += gt[9]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + RHS1 -= go[8] * *cnV[8]; + RHS1 -= go[9] * *cnV[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A4 += gt[12]; + m_A5 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A6 += gt[15]; + m_A6 += gt[16]; + m_A6 += gt[17]; + m_A6 += gt[18]; + m_A6 += gt[19]; + m_A7 += go[13]; + double RHS3 = Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + RHS3 += Idr[16]; + RHS3 += Idr[17]; + RHS3 += Idr[18]; + RHS3 += Idr[19]; + RHS3 -= go[14] * *cnV[14]; + RHS3 -= go[15] * *cnV[15]; + RHS3 -= go[16] * *cnV[16]; + RHS3 -= go[17] * *cnV[17]; + RHS3 -= go[18] * *cnV[18]; + RHS3 -= go[19] * *cnV[19]; + m_A8 += gt[20]; + m_A8 += gt[21]; + m_A9 += go[20]; + double RHS4 = Idr[20]; + RHS4 += Idr[21]; + RHS4 -= go[21] * *cnV[21]; + m_A10 += gt[22]; + m_A10 += gt[23]; + m_A11 += go[22]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[23] * *cnV[23]; + m_A12 += gt[24]; + m_A12 += gt[25]; + m_A12 += gt[26]; + m_A12 += gt[27]; + m_A13 += go[24]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 += Idr[27]; + RHS6 -= go[25] * *cnV[25]; + RHS6 -= go[26] * *cnV[26]; + RHS6 -= go[27] * *cnV[27]; + m_A14 += gt[28]; + m_A14 += gt[29]; + m_A14 += gt[30]; + m_A14 += gt[31]; + m_A15 += go[28]; + double RHS7 = Idr[28]; + RHS7 += Idr[29]; + RHS7 += Idr[30]; + RHS7 += Idr[31]; + RHS7 -= go[29] * *cnV[29]; + RHS7 -= go[30] * *cnV[30]; + RHS7 -= go[31] * *cnV[31]; + m_A16 += gt[32]; + m_A16 += gt[33]; + m_A17 += go[32]; + double RHS8 = Idr[32]; + RHS8 += Idr[33]; + RHS8 -= go[33] * *cnV[33]; + m_A18 += gt[34]; + m_A18 += gt[35]; + m_A18 += gt[36]; + m_A18 += gt[37]; + m_A19 += go[34]; + double RHS9 = Idr[34]; + RHS9 += Idr[35]; + RHS9 += Idr[36]; + RHS9 += Idr[37]; + RHS9 -= go[35] * *cnV[35]; + RHS9 -= go[36] * *cnV[36]; + RHS9 -= go[37] * *cnV[37]; + m_A20 += gt[38]; + m_A20 += gt[39]; + m_A22 += go[38]; + m_A21 += go[39]; + double RHS10 = Idr[38]; + RHS10 += Idr[39]; + m_A23 += gt[40]; + m_A23 += gt[41]; + m_A23 += gt[42]; + m_A23 += gt[43]; + m_A24 += go[40]; + double RHS11 = Idr[40]; + RHS11 += Idr[41]; + RHS11 += Idr[42]; + RHS11 += Idr[43]; + RHS11 -= go[41] * *cnV[41]; + RHS11 -= go[42] * *cnV[42]; + RHS11 -= go[43] * *cnV[43]; + m_A25 += gt[44]; + m_A25 += gt[45]; + m_A25 += gt[46]; + m_A27 += go[44]; + m_A28 += go[45]; + m_A26 += go[46]; + double RHS12 = Idr[44]; + RHS12 += Idr[45]; + RHS12 += Idr[46]; + m_A29 += gt[47]; + m_A29 += gt[48]; + m_A31 += go[47]; + m_A30 += go[48]; + double RHS13 = Idr[47]; + RHS13 += Idr[48]; + m_A37 += gt[49]; + m_A37 += gt[50]; + m_A37 += gt[51]; + m_A37 += gt[52]; + m_A37 += gt[53]; + m_A37 += gt[54]; + m_A36 += go[49]; + m_A35 += go[50]; + m_A34 += go[51]; + m_A33 += go[52]; + m_A32 += go[53]; + double RHS14 = Idr[49]; + RHS14 += Idr[50]; + RHS14 += Idr[51]; + RHS14 += Idr[52]; + RHS14 += Idr[53]; + RHS14 += Idr[54]; + RHS14 -= go[54] * *cnV[54]; + m_A39 += gt[55]; + m_A39 += gt[56]; + m_A39 += gt[57]; + m_A39 += gt[58]; + m_A38 += go[55]; + m_A40 += go[56]; + double RHS15 = Idr[55]; + RHS15 += Idr[56]; + RHS15 += Idr[57]; + RHS15 += Idr[58]; + RHS15 -= go[57] * *cnV[57]; + RHS15 -= go[58] * *cnV[58]; + m_A42 += gt[59]; + m_A42 += gt[60]; + m_A42 += gt[61]; + m_A42 += gt[62]; + m_A41 += go[59]; + m_A43 += go[60]; + double RHS16 = Idr[59]; + RHS16 += Idr[60]; + RHS16 += Idr[61]; + RHS16 += Idr[62]; + RHS16 -= go[61] * *cnV[61]; + RHS16 -= go[62] * *cnV[62]; + m_A45 += gt[63]; + m_A45 += gt[64]; + m_A45 += gt[65]; + m_A46 += go[63]; + m_A44 += go[64]; + double RHS17 = Idr[63]; + RHS17 += Idr[64]; + RHS17 += Idr[65]; + RHS17 -= go[65] * *cnV[65]; + m_A52 += gt[66]; + m_A52 += gt[67]; + m_A52 += gt[68]; + m_A52 += gt[69]; + m_A52 += gt[70]; + m_A52 += gt[71]; + m_A49 += go[66]; + m_A50 += go[67]; + m_A51 += go[68]; + m_A47 += go[69]; + m_A48 += go[70]; + double RHS18 = Idr[66]; + RHS18 += Idr[67]; + RHS18 += Idr[68]; + RHS18 += Idr[69]; + RHS18 += Idr[70]; + RHS18 += Idr[71]; + RHS18 -= go[71] * *cnV[71]; + m_A59 += gt[72]; + m_A59 += gt[73]; + m_A57 += go[72]; + m_A62 += go[73]; + double RHS19 = Idr[72]; + RHS19 += Idr[73]; + m_A66 += gt[74]; + m_A66 += gt[75]; + m_A66 += gt[76]; + m_A66 += gt[77]; + m_A66 += gt[78]; + m_A66 += gt[79]; + m_A63 += go[74]; + m_A64 += go[75]; + m_A68 += go[76]; + m_A67 += go[77]; + double RHS20 = Idr[74]; + RHS20 += Idr[75]; + RHS20 += Idr[76]; + RHS20 += Idr[77]; + RHS20 += Idr[78]; + RHS20 += Idr[79]; + RHS20 -= go[78] * *cnV[78]; + RHS20 -= go[79] * *cnV[79]; + m_A73 += gt[80]; + m_A73 += gt[81]; + m_A73 += gt[82]; + m_A73 += gt[83]; + m_A72 += go[80]; + m_A71 += go[81]; + m_A69 += go[82]; + m_A70 += go[83]; + double RHS21 = Idr[80]; + RHS21 += Idr[81]; + RHS21 += Idr[82]; + RHS21 += Idr[83]; + m_A80 += gt[84]; + m_A80 += gt[85]; + m_A80 += gt[86]; + m_A80 += gt[87]; + m_A80 += gt[88]; + m_A80 += gt[89]; + m_A80 += gt[90]; + m_A80 += gt[91]; + m_A80 += gt[92]; + m_A80 += gt[93]; + m_A80 += gt[94]; + m_A75 += go[84]; + m_A82 += go[85]; + m_A76 += go[86]; + double RHS22 = Idr[84]; + RHS22 += Idr[85]; + RHS22 += Idr[86]; + RHS22 += Idr[87]; + RHS22 += Idr[88]; + RHS22 += Idr[89]; + RHS22 += Idr[90]; + RHS22 += Idr[91]; + RHS22 += Idr[92]; + RHS22 += Idr[93]; + RHS22 += Idr[94]; + RHS22 -= go[87] * *cnV[87]; + RHS22 -= go[88] * *cnV[88]; + RHS22 -= go[89] * *cnV[89]; + RHS22 -= go[90] * *cnV[90]; + RHS22 -= go[91] * *cnV[91]; + RHS22 -= go[92] * *cnV[92]; + RHS22 -= go[93] * *cnV[93]; + RHS22 -= go[94] * *cnV[94]; + m_A88 += gt[95]; + m_A88 += gt[96]; + m_A88 += gt[97]; + m_A88 += gt[98]; + m_A88 += gt[99]; + m_A83 += go[95]; + m_A85 += go[96]; + m_A84 += go[97]; + m_A86 += go[98]; + double RHS23 = Idr[95]; + RHS23 += Idr[96]; + RHS23 += Idr[97]; + RHS23 += Idr[98]; + RHS23 += Idr[99]; + RHS23 -= go[99] * *cnV[99]; + m_A94 += gt[100]; + m_A94 += gt[101]; + m_A94 += gt[102]; + m_A91 += go[100]; + m_A89 += go[101]; + m_A92 += go[102]; + double RHS24 = Idr[100]; + RHS24 += Idr[101]; + RHS24 += Idr[102]; + const double f0 = 1.0 / m_A0; + const double f0_15 = -f0 * m_A38; + m_A40 += m_A1 * f0_15; + RHS15 += f0_15 * RHS0; + const double f0_21 = -f0 * m_A69; + m_A73 += m_A1 * f0_21; + RHS21 += f0_21 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_20 = -f1 * m_A63; + m_A65 += m_A3 * f1_20; + RHS20 += f1_20 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_16 = -f2 * m_A41; + m_A43 += m_A5 * f2_16; + RHS16 += f2_16 * RHS2; + const double f2_18 = -f2 * m_A47; + m_A52 += m_A5 * f2_18; + RHS18 += f2_18 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_22 = -f3 * m_A75; + m_A77 += m_A7 * f3_22; + RHS22 += f3_22 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_14 = -f4 * m_A32; + m_A37 += m_A9 * f4_14; + RHS14 += f4_14 * RHS4; + const double f4_21 = -f4 * m_A70; + m_A71 += m_A9 * f4_21; + RHS21 += f4_21 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_17 = -f5 * m_A44; + m_A45 += m_A11 * f5_17; + RHS17 += f5_17 * RHS5; + const double f5_18 = -f5 * m_A48; + m_A51 += m_A11 * f5_18; + RHS18 += f5_18 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_14 = -f6 * m_A33; + m_A37 += m_A13 * f6_14; + RHS14 += f6_14 * RHS6; + const double f7 = 1.0 / m_A14; + const double f7_14 = -f7 * m_A34; + m_A37 += m_A15 * f7_14; + RHS14 += f7_14 * RHS7; + const double f8 = 1.0 / m_A16; + const double f8_23 = -f8 * m_A83; + m_A88 += m_A17 * f8_23; + RHS23 += f8_23 * RHS8; + const double f9 = 1.0 / m_A18; + const double f9_14 = -f9 * m_A35; + m_A37 += m_A19 * f9_14; + RHS14 += f9_14 * RHS9; + const double f10 = 1.0 / m_A20; + const double f10_20 = -f10 * m_A64; + m_A66 += m_A21 * f10_20; + m_A68 += m_A22 * f10_20; + RHS20 += f10_20 * RHS10; + const double f10_23 = -f10 * m_A84; + m_A86 += m_A21 * f10_23; + m_A88 += m_A22 * f10_23; + RHS23 += f10_23 * RHS10; + const double f11 = 1.0 / m_A23; + const double f11_14 = -f11 * m_A36; + m_A37 += m_A24 * f11_14; + RHS14 += f11_14 * RHS11; + const double f12 = 1.0 / m_A25; + const double f12_18 = -f12 * m_A49; + m_A52 += m_A26 * f12_18; + m_A53 += m_A27 * f12_18; + m_A56 += m_A28 * f12_18; + RHS18 += f12_18 * RHS12; + const double f12_19 = -f12 * m_A57; + m_A58 += m_A26 * f12_19; + m_A59 += m_A27 * f12_19; + m_A62 += m_A28 * f12_19; + RHS19 += f12_19 * RHS12; + const double f12_24 = -f12 * m_A89; + m_A90 += m_A26 * f12_24; + m_A91 += m_A27 * f12_24; + m_A94 += m_A28 * f12_24; + RHS24 += f12_24 * RHS12; + const double f13 = 1.0 / m_A29; + const double f13_18 = -f13 * m_A50; + m_A52 += m_A30 * f13_18; + m_A54 += m_A31 * f13_18; + RHS18 += f13_18 * RHS13; + const double f13_22 = -f13 * m_A76; + m_A78 += m_A30 * f13_22; + m_A80 += m_A31 * f13_22; + RHS22 += f13_22 * RHS13; + const double f14 = 1.0 / m_A37; + const double f14_21 = -f14 * m_A71; + RHS21 += f14_21 * RHS14; + const double f15 = 1.0 / m_A39; + const double f15_20 = -f15 * m_A65; + m_A67 += m_A40 * f15_20; + RHS20 += f15_20 * RHS15; + const double f16 = 1.0 / m_A42; + const double f16_22 = -f16 * m_A77; + m_A78 += m_A43 * f16_22; + RHS22 += f16_22 * RHS16; + const double f17 = 1.0 / m_A45; + const double f17_18 = -f17 * m_A51; + m_A55 += m_A46 * f17_18; + RHS18 += f17_18 * RHS17; + const double f17_23 = -f17 * m_A85; + m_A88 += m_A46 * f17_23; + RHS23 += f17_23 * RHS17; + const double f18 = 1.0 / m_A52; + const double f18_19 = -f18 * m_A58; + m_A59 += m_A53 * f18_19; + m_A60 += m_A54 * f18_19; + m_A61 += m_A55 * f18_19; + m_A62 += m_A56 * f18_19; + RHS19 += f18_19 * RHS18; + const double f18_22 = -f18 * m_A78; + m_A79 += m_A53 * f18_22; + m_A80 += m_A54 * f18_22; + m_A81 += m_A55 * f18_22; + m_A82 += m_A56 * f18_22; + RHS22 += f18_22 * RHS18; + const double f18_24 = -f18 * m_A90; + m_A91 += m_A53 * f18_24; + m_A92 += m_A54 * f18_24; + m_A93 += m_A55 * f18_24; + m_A94 += m_A56 * f18_24; + RHS24 += f18_24 * RHS18; + const double f19 = 1.0 / m_A59; + const double f19_22 = -f19 * m_A79; + m_A80 += m_A60 * f19_22; + m_A81 += m_A61 * f19_22; + m_A82 += m_A62 * f19_22; + RHS22 += f19_22 * RHS19; + const double f19_24 = -f19 * m_A91; + m_A92 += m_A60 * f19_24; + m_A93 += m_A61 * f19_24; + m_A94 += m_A62 * f19_24; + RHS24 += f19_24 * RHS19; + const double f20 = 1.0 / m_A66; + const double f20_21 = -f20 * m_A72; + m_A73 += m_A67 * f20_21; + m_A74 += m_A68 * f20_21; + RHS21 += f20_21 * RHS20; + const double f20_23 = -f20 * m_A86; + m_A87 += m_A67 * f20_23; + m_A88 += m_A68 * f20_23; + RHS23 += f20_23 * RHS20; + const double f21 = 1.0 / m_A73; + const double f21_23 = -f21 * m_A87; + m_A88 += m_A74 * f21_23; + RHS23 += f21_23 * RHS21; + const double f22 = 1.0 / m_A80; + const double f22_24 = -f22 * m_A92; + m_A93 += m_A81 * f22_24; + m_A94 += m_A82 * f22_24; + RHS24 += f22_24 * RHS22; + const double f23 = 1.0 / m_A88; + const double f23_24 = -f23 * m_A93; + RHS24 += f23_24 * RHS23; + V[24] = RHS24 / m_A94; + double tmp23 = 0.0; + V[23] = (RHS23 - tmp23) / m_A88; + double tmp22 = 0.0; + tmp22 += m_A81 * V[23]; + tmp22 += m_A82 * V[24]; + V[22] = (RHS22 - tmp22) / m_A80; + double tmp21 = 0.0; + tmp21 += m_A74 * V[23]; + V[21] = (RHS21 - tmp21) / m_A73; + double tmp20 = 0.0; + tmp20 += m_A67 * V[21]; + tmp20 += m_A68 * V[23]; + V[20] = (RHS20 - tmp20) / m_A66; + double tmp19 = 0.0; + tmp19 += m_A60 * V[22]; + tmp19 += m_A61 * V[23]; + tmp19 += m_A62 * V[24]; + V[19] = (RHS19 - tmp19) / m_A59; + double tmp18 = 0.0; + tmp18 += m_A53 * V[19]; + tmp18 += m_A54 * V[22]; + tmp18 += m_A55 * V[23]; + tmp18 += m_A56 * V[24]; + V[18] = (RHS18 - tmp18) / m_A52; + double tmp17 = 0.0; + tmp17 += m_A46 * V[23]; + V[17] = (RHS17 - tmp17) / m_A45; + double tmp16 = 0.0; + tmp16 += m_A43 * V[18]; + V[16] = (RHS16 - tmp16) / m_A42; + double tmp15 = 0.0; + tmp15 += m_A40 * V[21]; + V[15] = (RHS15 - tmp15) / m_A39; + double tmp14 = 0.0; + V[14] = (RHS14 - tmp14) / m_A37; + double tmp13 = 0.0; + tmp13 += m_A30 * V[18]; + tmp13 += m_A31 * V[22]; + V[13] = (RHS13 - tmp13) / m_A29; + double tmp12 = 0.0; + tmp12 += m_A26 * V[18]; + tmp12 += m_A27 * V[19]; + tmp12 += m_A28 * V[24]; + V[12] = (RHS12 - tmp12) / m_A25; + double tmp11 = 0.0; + tmp11 += m_A24 * V[14]; + V[11] = (RHS11 - tmp11) / m_A23; + double tmp10 = 0.0; + tmp10 += m_A21 * V[20]; + tmp10 += m_A22 * V[23]; + V[10] = (RHS10 - tmp10) / m_A20; + double tmp9 = 0.0; + tmp9 += m_A19 * V[14]; + V[9] = (RHS9 - tmp9) / m_A18; + double tmp8 = 0.0; + tmp8 += m_A17 * V[23]; + V[8] = (RHS8 - tmp8) / m_A16; + double tmp7 = 0.0; + tmp7 += m_A15 * V[14]; + V[7] = (RHS7 - tmp7) / m_A14; + double tmp6 = 0.0; + tmp6 += m_A13 * V[14]; + V[6] = (RHS6 - tmp6) / m_A12; + double tmp5 = 0.0; + tmp5 += m_A11 * V[17]; + V[5] = (RHS5 - tmp5) / m_A10; + double tmp4 = 0.0; + tmp4 += m_A9 * V[14]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[16]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A6 * V[3]; - V[2] = (RHS2 - tmp2) / m_A5; - double tmp1 = 0.0; - tmp1 += m_A3 * V[3]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// tp1985 -static void nl_gcr_6480c7a1d69e9131_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A6 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; + tmp2 += m_A5 * V[18]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; + tmp1 += m_A3 * V[15]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; + tmp0 += m_A1 * V[21]; V[0] = (RHS0 - tmp0) / m_A0; } -// 280zzzap -static void nl_gcr_66a07f8f9d33245b_57_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// zac1b11142 +static void nl_gcr_60352d234249ea57_30_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38]; - m_A10 = gt[40] + gt[41]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A12 = gt[48] + gt[49]; - m_A14 = m_A14 + go[48]; - m_A13 = m_A13 + go[49]; - double RHS6 = Idr[48] + Idr[49]; - m_A15 = gt[56] + gt[57]; - m_A16 = m_A16 + go[56]; - double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57]; - m_A17 = gt[64] + gt[65]; - m_A18 = m_A18 + go[64]; - double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65]; - m_A20 = gt[72] + gt[73] + gt[74] + gt[75]; - m_A19 = m_A19 + go[72]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[73] * *cnV[73] - go[74] * *cnV[74] - go[75] * *cnV[75]; - m_A24 = gt[80] + gt[81]; - m_A23 = m_A23 + go[80]; - m_A22 = m_A22 + go[81]; - double RHS10 = Idr[80] + Idr[81]; - m_A27 = gt[88] + gt[89] + gt[90] + gt[91]; - m_A26 = m_A26 + go[88]; - m_A28 = m_A28 + go[89]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[90] * *cnV[90] - go[91] * *cnV[91]; - m_A31 = gt[96] + gt[97] + gt[98] + gt[99] + gt[100] + gt[101]; - m_A29 = m_A29 + go[96]; - m_A33 = m_A33 + go[97]; - m_A32 = m_A32 + go[98]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] + Idr[100] + Idr[101] - go[99] * *cnV[99] - go[100] * *cnV[100] - go[101] * *cnV[101]; - m_A36 = gt[104] + gt[105]; - m_A34 = m_A34 + go[104]; - double RHS13 = Idr[104] + Idr[105] - go[105] * *cnV[105]; - m_A39 = gt[112] + gt[113] + gt[114]; - m_A38 = m_A38 + go[112]; - m_A37 = m_A37 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114]; - m_A41 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A40 = m_A40 + go[120]; - m_A42 = m_A42 + go[121]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123]; - m_A49 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132]; - m_A44 = m_A44 + go[128]; - m_A47 = m_A47 + go[129]; - m_A46 = m_A46 + go[130]; - m_A43 = m_A43 + go[131]; - m_A45 = m_A45 + go[132]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132]; - m_A56 = gt[136] + gt[137] + gt[138] + gt[139]; - m_A54 = m_A54 + go[136]; - m_A53 = m_A53 + go[137]; - m_A51 = m_A51 + go[138]; - m_A52 = m_A52 + go[139]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139]; -const double f0 = 1.0 / m_A0; - const double f0_11 = -f0 * m_A26; - m_A28 += m_A1 * f0_11; - RHS11 += f0_11 * RHS0; - const double f0_16 = -f0 * m_A43; - m_A49 += m_A1 * f0_16; - RHS16 += f0_16 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_16 = -f1 * m_A44; - m_A49 += m_A3 * f1_16; - RHS16 += f1_16 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_12 = -f2 * m_A29; - m_A30 += m_A5 * f2_12; - RHS12 += f2_12 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_15 = -f3 * m_A40; - m_A42 += m_A7 * f3_15; - RHS15 += f3_15 * RHS3; - const double f3_17 = -f3 * m_A51; - m_A56 += m_A7 * f3_17; - RHS17 += f3_17 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_9 = -f4 * m_A19; - m_A21 += m_A9 * f4_9; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A0 += gt[5]; + m_A0 += gt[6]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 += Idr[5]; + RHS0 += Idr[6]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + RHS0 -= go[5] * *cnV[5]; + RHS0 -= go[6] * *cnV[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A2 += gt[9]; + m_A3 += go[7]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[8] * *cnV[8]; + RHS1 -= go[9] * *cnV[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A5 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 -= go[11] * *cnV[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A7 += go[12]; + double RHS3 = Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A8 += gt[17]; + m_A9 += go[15]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 -= go[16] * *cnV[16]; + RHS4 -= go[17] * *cnV[17]; + m_A11 += gt[18]; + m_A11 += gt[19]; + m_A11 += gt[20]; + m_A11 += gt[21]; + m_A12 += go[18]; + m_A10 += go[19]; + double RHS5 = Idr[18]; + RHS5 += Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 -= go[20] * *cnV[20]; + RHS5 -= go[21] * *cnV[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A14 += gt[24]; + m_A14 += gt[25]; + m_A14 += gt[26]; + m_A14 += gt[27]; + m_A14 += gt[28]; + m_A13 += go[22]; + m_A16 += go[23]; + m_A16 += go[24]; + m_A16 += go[25]; + double RHS6 = Idr[22]; + RHS6 += Idr[23]; + RHS6 += Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 += Idr[27]; + RHS6 += Idr[28]; + RHS6 -= go[26] * *cnV[26]; + RHS6 -= go[27] * *cnV[27]; + RHS6 -= go[28] * *cnV[28]; + m_A19 += gt[29]; + m_A19 += gt[30]; + m_A18 += go[29]; + m_A17 += go[30]; + double RHS7 = Idr[29]; + RHS7 += Idr[30]; + m_A21 += gt[31]; + m_A21 += gt[32]; + m_A21 += gt[33]; + m_A21 += gt[34]; + m_A22 += go[31]; + m_A20 += go[32]; + double RHS8 = Idr[31]; + RHS8 += Idr[32]; + RHS8 += Idr[33]; + RHS8 += Idr[34]; + RHS8 -= go[33] * *cnV[33]; + RHS8 -= go[34] * *cnV[34]; + m_A29 += gt[35]; + m_A29 += gt[36]; + m_A29 += gt[37]; + m_A29 += gt[38]; + m_A29 += gt[39]; + m_A29 += gt[40]; + m_A29 += gt[41]; + m_A26 += go[35]; + m_A26 += go[36]; + m_A26 += go[37]; + m_A27 += go[38]; + m_A25 += go[39]; + m_A24 += go[40]; + m_A23 += go[41]; + double RHS9 = Idr[35]; + RHS9 += Idr[36]; + RHS9 += Idr[37]; + RHS9 += Idr[38]; + RHS9 += Idr[39]; + RHS9 += Idr[40]; + RHS9 += Idr[41]; + const double f0 = 1.0 / m_A0; + const double f0_6 = -f0 * m_A13; + m_A15 += m_A1 * f0_6; + RHS6 += f0_6 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_5 = -f1 * m_A10; + m_A11 += m_A3 * f1_5; + RHS5 += f1_5 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_7 = -f2 * m_A17; + m_A19 += m_A5 * f2_7; + RHS7 += f2_7 * RHS2; + const double f2_9 = -f2 * m_A23; + m_A27 += m_A5 * f2_9; + RHS9 += f2_9 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_8 = -f3 * m_A20; + m_A22 += m_A7 * f3_8; + RHS8 += f3_8 * RHS3; + const double f3_9 = -f3 * m_A24; + m_A29 += m_A7 * f3_9; + RHS9 += f3_9 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_9 = -f4 * m_A25; + m_A29 += m_A9 * f4_9; RHS9 += f4_9 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_10 = -f5 * m_A22; - m_A24 += m_A11 * f5_10; - RHS10 += f5_10 * RHS5; - const double f5_16 = -f5 * m_A45; - m_A46 += m_A11 * f5_16; - RHS16 += f5_16 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_10 = -f6 * m_A23; - m_A24 += m_A13 * f6_10; - m_A25 += m_A14 * f6_10; - RHS10 += f6_10 * RHS6; - const double f6_13 = -f6 * m_A34; - m_A35 += m_A13 * f6_13; - m_A36 += m_A14 * f6_13; - RHS13 += f6_13 * RHS6; -const double f7 = 1.0 / m_A15; - const double f7_14 = -f7 * m_A37; - m_A39 += m_A16 * f7_14; - RHS14 += f7_14 * RHS7; - const double f7_17 = -f7 * m_A52; - m_A54 += m_A16 * f7_17; - RHS17 += f7_17 * RHS7; -const double f8 = 1.0 / m_A17; - const double f8_14 = -f8 * m_A38; - m_A39 += m_A18 * f8_14; - RHS14 += f8_14 * RHS8; -const double f10 = 1.0 / m_A24; - const double f10_13 = -f10 * m_A35; - m_A36 += m_A25 * f10_13; - RHS13 += f10_13 * RHS10; - const double f10_16 = -f10 * m_A46; - m_A48 += m_A25 * f10_16; - RHS16 += f10_16 * RHS10; -const double f11 = 1.0 / m_A27; - const double f11_12 = -f11 * m_A30; - m_A32 += m_A28 * f11_12; - RHS12 += f11_12 * RHS11; -const double f12 = 1.0 / m_A31; - const double f12_16 = -f12 * m_A47; - m_A49 += m_A32 * f12_16; - m_A50 += m_A33 * f12_16; - RHS16 += f12_16 * RHS12; - const double f12_17 = -f12 * m_A53; - m_A55 += m_A32 * f12_17; - m_A56 += m_A33 * f12_17; - RHS17 += f12_17 * RHS12; -const double f13 = 1.0 / m_A36; - const double f13_16 = -f13 * m_A48; - RHS16 += f13_16 * RHS13; -const double f14 = 1.0 / m_A39; - const double f14_17 = -f14 * m_A54; - RHS17 += f14_17 * RHS14; -const double f16 = 1.0 / m_A49; - const double f16_17 = -f16 * m_A55; - m_A56 += m_A50 * f16_17; - RHS17 += f16_17 * RHS16; - V[17] = RHS17 / m_A56; - double tmp16 = 0.0; - tmp16 += m_A50 * V[17]; - V[16] = (RHS16 - tmp16) / m_A49; - double tmp15 = 0.0; - tmp15 += m_A42 * V[17]; - V[15] = (RHS15 - tmp15) / m_A41; - double tmp14 = 0.0; - V[14] = (RHS14 - tmp14) / m_A39; - double tmp13 = 0.0; - V[13] = (RHS13 - tmp13) / m_A36; - double tmp12 = 0.0; - tmp12 += m_A32 * V[16]; - tmp12 += m_A33 * V[17]; - V[12] = (RHS12 - tmp12) / m_A31; - double tmp11 = 0.0; - tmp11 += m_A28 * V[16]; - V[11] = (RHS11 - tmp11) / m_A27; - double tmp10 = 0.0; - tmp10 += m_A25 * V[13]; - V[10] = (RHS10 - tmp10) / m_A24; - double tmp9 = 0.0; - tmp9 += m_A21 * V[15]; - V[9] = (RHS9 - tmp9) / m_A20; + const double f5 = 1.0 / m_A11; + const double f5_7 = -f5 * m_A18; + m_A19 += m_A12 * f5_7; + RHS7 += f5_7 * RHS5; + const double f6 = 1.0 / m_A14; + const double f6_9 = -f6 * m_A26; + m_A28 += m_A15 * f6_9; + m_A29 += m_A16 * f6_9; + RHS9 += f6_9 * RHS6; + const double f7 = 1.0 / m_A19; + const double f7_9 = -f7 * m_A27; + RHS9 += f7_9 * RHS7; + const double f8 = 1.0 / m_A21; + const double f8_9 = -f8 * m_A28; + m_A29 += m_A22 * f8_9; + RHS9 += f8_9 * RHS8; + V[9] = RHS9 / m_A29; double tmp8 = 0.0; - tmp8 += m_A18 * V[14]; - V[8] = (RHS8 - tmp8) / m_A17; + tmp8 += m_A22 * V[9]; + V[8] = (RHS8 - tmp8) / m_A21; double tmp7 = 0.0; - tmp7 += m_A16 * V[14]; - V[7] = (RHS7 - tmp7) / m_A15; + V[7] = (RHS7 - tmp7) / m_A19; double tmp6 = 0.0; - tmp6 += m_A13 * V[10]; - tmp6 += m_A14 * V[13]; - V[6] = (RHS6 - tmp6) / m_A12; + tmp6 += m_A15 * V[8]; + tmp6 += m_A16 * V[9]; + V[6] = (RHS6 - tmp6) / m_A14; double tmp5 = 0.0; - tmp5 += m_A11 * V[10]; - V[5] = (RHS5 - tmp5) / m_A10; + tmp5 += m_A12 * V[7]; + V[5] = (RHS5 - tmp5) / m_A11; double tmp4 = 0.0; - tmp4 += m_A9 * V[15]; + tmp4 += m_A9 * V[9]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[17]; + tmp3 += m_A7 * V[9]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[11]; + tmp2 += m_A5 * V[7]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[16]; + tmp1 += m_A3 * V[5]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[16]; + tmp0 += m_A1 * V[8]; V[0] = (RHS0 - tmp0) / m_A0; } -// stuntcyc -static void nl_gcr_6c599fc01f5b084c_20_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// breakout +static void nl_gcr_655da76624809228_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20]; - m_A6 = m_A6 + go[16]; - m_A5 = m_A5 + go[17]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20]; - m_A8 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30]; - m_A10 = m_A10 + go[24]; - m_A9 = m_A9 + go[25]; - m_A7 = m_A7 + go[26]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30]; - m_A14 = gt[32] + gt[33] + gt[34] + gt[35]; - m_A12 = m_A12 + go[32]; - m_A11 = m_A11 + go[33]; - m_A13 = m_A13 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] - go[35] * *cnV[35]; - m_A19 = gt[40] + gt[41] + gt[42]; - m_A16 = m_A16 + go[40]; - m_A17 = m_A17 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[42] * *cnV[42]; -const double f0 = 1.0 / m_A0; - const double f0_3 = -f0 * m_A7; - m_A8 += m_A1 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_4 = -f1 * m_A11; - m_A14 += m_A3 * f1_4; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + m_A12 += gt[12]; + m_A12 += gt[13]; + m_A12 += gt[14]; + m_A12 += gt[15]; + m_A11 += go[12]; + m_A10 += go[13]; + m_A9 += go[14]; + m_A8 += go[15]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 += Idr[15]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A8; + m_A12 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A9; + m_A12 += m_A3 * f1_4; RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_4 = -f2 * m_A12; - m_A14 += m_A5 * f2_4; - m_A15 += m_A6 * f2_4; + const double f2 = 1.0 / m_A4; + const double f2_4 = -f2 * m_A10; + m_A12 += m_A5 * f2_4; RHS4 += f2_4 * RHS2; - const double f2_5 = -f2 * m_A16; - m_A18 += m_A5 * f2_5; - m_A19 += m_A6 * f2_5; - RHS5 += f2_5 * RHS2; -const double f3 = 1.0 / m_A8; - const double f3_4 = -f3 * m_A13; - m_A14 += m_A9 * f3_4; - m_A15 += m_A10 * f3_4; + const double f3 = 1.0 / m_A6; + const double f3_4 = -f3 * m_A11; + m_A12 += m_A7 * f3_4; RHS4 += f3_4 * RHS3; - const double f3_5 = -f3 * m_A17; - m_A18 += m_A9 * f3_5; - m_A19 += m_A10 * f3_5; - RHS5 += f3_5 * RHS3; -const double f4 = 1.0 / m_A14; - const double f4_5 = -f4 * m_A18; - m_A19 += m_A15 * f4_5; - RHS5 += f4_5 * RHS4; - V[5] = RHS5 / m_A19; - double tmp4 = 0.0; - tmp4 += m_A15 * V[5]; - V[4] = (RHS4 - tmp4) / m_A14; + V[4] = RHS4 / m_A12; double tmp3 = 0.0; - tmp3 += m_A9 * V[4]; - tmp3 += m_A10 * V[5]; - V[3] = (RHS3 - tmp3) / m_A8; + tmp3 += m_A7 * V[4]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; tmp2 += m_A5 * V[4]; - tmp2 += m_A6 * V[5]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; tmp1 += m_A3 * V[4]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[3]; + tmp0 += m_A1 * V[4]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// cheekyms +static void nl_gcr_6d03e64d09c956c3_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A1 += go[0]; + m_A1 += go[1]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[4]; + double RHS1 = Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A5 += go[6]; + m_A4 += go[7]; + m_A4 += go[8]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[9] * *cnV[9]; + RHS2 -= go[10] * *cnV[10]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; + RHS2 += f1_2 * RHS1; + V[2] = RHS2 / m_A6; + double tmp1 = 0.0; + tmp1 += m_A3 * V[2]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } -// breakout -static void nl_gcr_6d40bbc695987ef5_13_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// rebound +static void nl_gcr_6e17dfd7d26d8933_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[6] + gt[7] + gt[8]; - m_A3 = m_A3 + go[6]; - double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8]; - m_A4 = gt[12] + gt[13] + gt[14]; - m_A5 = m_A5 + go[12]; - double RHS2 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A6 = gt[18] + gt[19] + gt[20]; - m_A7 = m_A7 + go[18]; - double RHS3 = Idr[18] + Idr[19] + Idr[20] - go[19] * *cnV[19] - go[20] * *cnV[20]; - m_A12 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29]; - m_A11 = m_A11 + go[24]; - m_A10 = m_A10 + go[25]; - m_A9 = m_A9 + go[26]; - m_A8 = m_A8 + go[27]; - double RHS4 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] - go[28] * *cnV[28] - go[29] * *cnV[29]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + m_A12 += gt[12]; + m_A12 += gt[13]; + m_A12 += gt[14]; + m_A12 += gt[15]; + m_A12 += gt[16]; + m_A11 += go[12]; + m_A10 += go[13]; + m_A9 += go[14]; + m_A8 += go[15]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 += Idr[15]; + RHS4 += Idr[16]; + RHS4 -= go[16] * *cnV[16]; + const double f0 = 1.0 / m_A0; const double f0_4 = -f0 * m_A8; m_A12 += m_A1 * f0_4; RHS4 += f0_4 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_4 = -f1 * m_A9; m_A12 += m_A3 * f1_4; RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A4; + const double f2 = 1.0 / m_A4; const double f2_4 = -f2 * m_A10; m_A12 += m_A5 * f2_4; RHS4 += f2_4 * RHS2; -const double f3 = 1.0 / m_A6; + const double f3 = 1.0 / m_A6; const double f3_4 = -f3 * m_A11; m_A12 += m_A7 * f3_4; RHS4 += f3_4 * RHS3; @@ -4863,33 +7332,194 @@ const double f3 = 1.0 / m_A6; V[0] = (RHS0 - tmp0) / m_A0; } -// pongf -static void nl_gcr_70e1061a9deb37a4_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// gamemachine +static void nl_gcr_70c1124c705dd998_19_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + m_A8 += gt[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A9 += go[12]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 -= go[13] * *cnV[13]; + RHS4 -= go[14] * *cnV[14]; + m_A10 += gt[15]; + m_A10 += gt[16]; + m_A10 += gt[17]; + m_A11 += go[15]; + double RHS5 = Idr[15]; + RHS5 += Idr[16]; + RHS5 += Idr[17]; + RHS5 -= go[16] * *cnV[16]; + RHS5 -= go[17] * *cnV[17]; + m_A18 += gt[18]; + m_A18 += gt[19]; + m_A18 += gt[20]; + m_A18 += gt[21]; + m_A18 += gt[22]; + m_A18 += gt[23]; + m_A18 += gt[24]; + m_A17 += go[18]; + m_A16 += go[19]; + m_A15 += go[20]; + m_A14 += go[21]; + m_A13 += go[22]; + m_A12 += go[23]; + double RHS6 = Idr[18]; + RHS6 += Idr[19]; + RHS6 += Idr[20]; + RHS6 += Idr[21]; + RHS6 += Idr[22]; + RHS6 += Idr[23]; + RHS6 += Idr[24]; + RHS6 -= go[24] * *cnV[24]; + const double f0 = 1.0 / m_A0; + const double f0_6 = -f0 * m_A12; + m_A18 += m_A1 * f0_6; + RHS6 += f0_6 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_6 = -f1 * m_A13; + m_A18 += m_A3 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_6 = -f2 * m_A14; + m_A18 += m_A5 * f2_6; + RHS6 += f2_6 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_6 = -f3 * m_A15; + m_A18 += m_A7 * f3_6; + RHS6 += f3_6 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_6 = -f4 * m_A16; + m_A18 += m_A9 * f4_6; + RHS6 += f4_6 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_6 = -f5 * m_A17; + m_A18 += m_A11 * f5_6; + RHS6 += f5_6 * RHS5; + V[6] = RHS6 / m_A18; + double tmp5 = 0.0; + tmp5 += m_A11 * V[6]; + V[5] = (RHS5 - tmp5) / m_A10; + double tmp4 = 0.0; + tmp4 += m_A9 * V[6]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[6]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[6]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[6]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[6]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// cheekyms +static void nl_gcr_70f289d5486b9767_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A6 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A6 += gt[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A5 += go[5]; + m_A4 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + const double f0 = 1.0 / m_A0; const double f0_2 = -f0 * m_A4; m_A6 += m_A1 * f0_2; RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_2 = -f1 * m_A5; m_A6 += m_A3 * f1_2; RHS2 += f1_2 * RHS1; @@ -4902,1129 +7532,1480 @@ const double f1 = 1.0 / m_A2; V[0] = (RHS0 - tmp0) / m_A0; } -// breakout -static void nl_gcr_7421995adbfda1ad_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// zac1b11142 +static void nl_gcr_752680f8e0bc6a4a_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A4 = gt[8] + gt[9]; - m_A5 = m_A5 + go[8]; - double RHS2 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A9 = gt[12] + gt[13] + gt[14]; - m_A8 = m_A8 + go[12]; - m_A7 = m_A7 + go[13]; - m_A6 = m_A6 + go[14]; - double RHS3 = Idr[12] + Idr[13] + Idr[14]; -const double f0 = 1.0 / m_A0; - const double f0_3 = -f0 * m_A6; - m_A9 += m_A1 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_3 = -f1 * m_A7; - m_A9 += m_A3 * f1_3; - RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_3 = -f2 * m_A8; - m_A9 += m_A5 * f2_3; - RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A9; - double tmp2 = 0.0; - tmp2 += m_A5 * V[3]; - V[2] = (RHS2 - tmp2) / m_A4; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A3 += go[3]; + m_A3 += go[4]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A5 += go[7]; + m_A5 += go[8]; + m_A4 += go[9]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 += Idr[13]; + RHS2 -= go[10] * *cnV[10]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + RHS2 -= go[13] * *cnV[13]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; + RHS2 += f1_2 * RHS1; + V[2] = RHS2 / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[3]; + tmp1 += m_A3 * V[2]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[3]; + tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } -// zac1b11142 -static void nl_gcr_7572db25f250cf5a_71_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// mario +static void nl_gcr_7b9186d9ff77f7a1_29_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A2 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A8 = gt[32] + gt[33] + gt[34]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A10 = gt[40] + gt[41]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A12 = gt[48] + gt[49] + gt[50]; - m_A13 = m_A13 + go[48]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50]; - m_A14 = gt[56] + gt[57] + gt[58]; - m_A15 = m_A15 + go[56]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] - go[57] * *cnV[57] - go[58] * *cnV[58]; - m_A17 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69]; - m_A16 = m_A16 + go[64]; - m_A18 = m_A18 + go[65]; - m_A19 = m_A19 + go[66]; - m_A19 = m_A19 + go[67]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] - go[68] * *cnV[68] - go[69] * *cnV[69]; - m_A21 = gt[72] + gt[73] + gt[74]; - m_A22 = m_A22 + go[72]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] - go[73] * *cnV[73] - go[74] * *cnV[74]; - m_A23 = gt[80] + gt[81] + gt[82]; - m_A25 = m_A25 + go[80]; - m_A24 = m_A24 + go[81]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] - go[82] * *cnV[82]; - m_A27 = gt[88] + gt[89] + gt[90] + gt[91] + gt[92] + gt[93]; - m_A26 = m_A26 + go[88]; - m_A29 = m_A29 + go[89]; - m_A29 = m_A29 + go[90]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] + Idr[92] + Idr[93] - go[91] * *cnV[91] - go[92] * *cnV[92] - go[93] * *cnV[93]; - m_A31 = gt[96] + gt[97]; - m_A32 = m_A32 + go[96]; - m_A30 = m_A30 + go[97]; - double RHS12 = Idr[96] + Idr[97]; - m_A35 = gt[104] + gt[105]; - m_A34 = m_A34 + go[104]; - m_A33 = m_A33 + go[105]; - double RHS13 = Idr[104] + Idr[105]; - m_A38 = gt[112] + gt[113]; - m_A37 = m_A37 + go[112]; - m_A36 = m_A36 + go[113]; - double RHS14 = Idr[112] + Idr[113]; - m_A40 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A41 = m_A41 + go[120]; - m_A39 = m_A39 + go[121]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123]; - m_A44 = gt[128] + gt[129]; - m_A43 = m_A43 + go[128]; - m_A42 = m_A42 + go[129]; - double RHS16 = Idr[128] + Idr[129]; - m_A54 = gt[136] + gt[137] + gt[138] + gt[139] + gt[140] + gt[141]; - m_A52 = m_A52 + go[136]; - m_A50 = m_A50 + go[137]; - m_A50 = m_A50 + go[138]; - m_A51 = m_A51 + go[139]; - m_A49 = m_A49 + go[140]; - m_A48 = m_A48 + go[141]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] + Idr[140] + Idr[141]; - m_A65 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149]; - m_A61 = m_A61 + go[144]; - m_A60 = m_A60 + go[145]; - m_A60 = m_A60 + go[146]; - m_A59 = m_A59 + go[147]; - m_A58 = m_A58 + go[148]; - m_A57 = m_A57 + go[149]; - double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149]; - m_A70 = gt[152] + gt[153] + gt[154] + gt[155]; - m_A68 = m_A68 + go[152]; - m_A67 = m_A67 + go[153]; - double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] - go[154] * *cnV[154] - go[155] * *cnV[155]; -const double f0 = 1.0 / m_A0; - const double f0_8 = -f0 * m_A16; - m_A20 += m_A1 * f0_8; - RHS8 += f0_8 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_11 = -f1 * m_A26; - m_A28 += m_A3 * f1_11; - RHS11 += f1_11 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_12 = -f2 * m_A30; - m_A31 += m_A5 * f2_12; - RHS12 += f2_12 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_13 = -f3 * m_A33; - m_A35 += m_A7 * f3_13; - RHS13 += f3_13 * RHS3; - const double f3_17 = -f3 * m_A48; - m_A52 += m_A7 * f3_17; - RHS17 += f3_17 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_13 = -f4 * m_A34; - m_A35 += m_A9 * f4_13; - RHS13 += f4_13 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_14 = -f5 * m_A36; - m_A38 += m_A11 * f5_14; - RHS14 += f5_14 * RHS5; - const double f5_18 = -f5 * m_A57; - m_A61 += m_A11 * f5_18; - RHS18 += f5_18 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_14 = -f6 * m_A37; - m_A38 += m_A13 * f6_14; - RHS14 += f6_14 * RHS6; -const double f7 = 1.0 / m_A14; - const double f7_17 = -f7 * m_A49; - m_A54 += m_A15 * f7_17; - RHS17 += f7_17 * RHS7; - const double f7_19 = -f7 * m_A67; - m_A68 += m_A15 * f7_19; - RHS19 += f7_19 * RHS7; -const double f8 = 1.0 / m_A17; - const double f8_16 = -f8 * m_A42; - m_A44 += m_A18 * f8_16; - m_A45 += m_A19 * f8_16; - m_A47 += m_A20 * f8_16; - RHS16 += f8_16 * RHS8; - const double f8_17 = -f8 * m_A50; - m_A53 += m_A18 * f8_17; - m_A54 += m_A19 * f8_17; - m_A56 += m_A20 * f8_17; - RHS17 += f8_17 * RHS8; -const double f9 = 1.0 / m_A21; - const double f9_15 = -f9 * m_A39; - m_A41 += m_A22 * f9_15; - RHS15 += f9_15 * RHS9; - const double f9_18 = -f9 * m_A58; - m_A65 += m_A22 * f9_18; - RHS18 += f9_18 * RHS9; -const double f10 = 1.0 / m_A23; - const double f10_16 = -f10 * m_A43; - m_A44 += m_A24 * f10_16; - m_A46 += m_A25 * f10_16; - RHS16 += f10_16 * RHS10; - const double f10_18 = -f10 * m_A59; - m_A63 += m_A24 * f10_18; - m_A65 += m_A25 * f10_18; - RHS18 += f10_18 * RHS10; -const double f11 = 1.0 / m_A27; - const double f11_18 = -f11 * m_A60; - m_A62 += m_A28 * f11_18; - m_A65 += m_A29 * f11_18; - RHS18 += f11_18 * RHS11; -const double f12 = 1.0 / m_A31; - const double f12_17 = -f12 * m_A51; - m_A54 += m_A32 * f12_17; - RHS17 += f12_17 * RHS12; -const double f13 = 1.0 / m_A35; - const double f13_17 = -f13 * m_A52; - RHS17 += f13_17 * RHS13; -const double f14 = 1.0 / m_A38; - const double f14_18 = -f14 * m_A61; - RHS18 += f14_18 * RHS14; -const double f15 = 1.0 / m_A40; - const double f15_18 = -f15 * m_A62; - m_A65 += m_A41 * f15_18; - RHS18 += f15_18 * RHS15; -const double f16 = 1.0 / m_A44; - const double f16_17 = -f16 * m_A53; - m_A54 += m_A45 * f16_17; - m_A55 += m_A46 * f16_17; - m_A56 += m_A47 * f16_17; - RHS17 += f16_17 * RHS16; - const double f16_18 = -f16 * m_A63; - m_A64 += m_A45 * f16_18; - m_A65 += m_A46 * f16_18; - m_A66 += m_A47 * f16_18; - RHS18 += f16_18 * RHS16; -const double f17 = 1.0 / m_A54; - const double f17_18 = -f17 * m_A64; - m_A65 += m_A55 * f17_18; - m_A66 += m_A56 * f17_18; - RHS18 += f17_18 * RHS17; - const double f17_19 = -f17 * m_A68; - m_A69 += m_A55 * f17_19; - m_A70 += m_A56 * f17_19; - RHS19 += f17_19 * RHS17; -const double f18 = 1.0 / m_A65; - const double f18_19 = -f18 * m_A69; - m_A70 += m_A66 * f18_19; - RHS19 += f18_19 * RHS18; - V[19] = RHS19 / m_A70; - double tmp18 = 0.0; - tmp18 += m_A66 * V[19]; - V[18] = (RHS18 - tmp18) / m_A65; - double tmp17 = 0.0; - tmp17 += m_A55 * V[18]; - tmp17 += m_A56 * V[19]; - V[17] = (RHS17 - tmp17) / m_A54; - double tmp16 = 0.0; - tmp16 += m_A45 * V[17]; - tmp16 += m_A46 * V[18]; - tmp16 += m_A47 * V[19]; - V[16] = (RHS16 - tmp16) / m_A44; - double tmp15 = 0.0; - tmp15 += m_A41 * V[18]; - V[15] = (RHS15 - tmp15) / m_A40; - double tmp14 = 0.0; - V[14] = (RHS14 - tmp14) / m_A38; - double tmp13 = 0.0; - V[13] = (RHS13 - tmp13) / m_A35; - double tmp12 = 0.0; - tmp12 += m_A32 * V[17]; - V[12] = (RHS12 - tmp12) / m_A31; - double tmp11 = 0.0; - tmp11 += m_A28 * V[15]; - tmp11 += m_A29 * V[18]; - V[11] = (RHS11 - tmp11) / m_A27; - double tmp10 = 0.0; - tmp10 += m_A24 * V[16]; - tmp10 += m_A25 * V[18]; - V[10] = (RHS10 - tmp10) / m_A23; - double tmp9 = 0.0; - tmp9 += m_A22 * V[18]; - V[9] = (RHS9 - tmp9) / m_A21; - double tmp8 = 0.0; - tmp8 += m_A18 * V[16]; - tmp8 += m_A19 * V[17]; - tmp8 += m_A20 * V[19]; - V[8] = (RHS8 - tmp8) / m_A17; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A8 += go[9]; + m_A7 += go[10]; + m_A7 += go[11]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 -= go[12] * *cnV[12]; + m_A9 += gt[13]; + m_A9 += gt[14]; + m_A9 += gt[15]; + m_A10 += go[13]; + double RHS4 = Idr[13]; + RHS4 += Idr[14]; + RHS4 += Idr[15]; + RHS4 -= go[14] * *cnV[14]; + RHS4 -= go[15] * *cnV[15]; + m_A11 += gt[16]; + m_A11 += gt[17]; + m_A12 += go[16]; + double RHS5 = Idr[16]; + RHS5 += Idr[17]; + RHS5 -= go[17] * *cnV[17]; + m_A14 += gt[18]; + m_A14 += gt[19]; + m_A14 += gt[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A14 += gt[24]; + m_A16 += go[18]; + m_A16 += go[19]; + m_A13 += go[20]; + m_A13 += go[21]; + m_A15 += go[22]; + double RHS6 = Idr[18]; + RHS6 += Idr[19]; + RHS6 += Idr[20]; + RHS6 += Idr[21]; + RHS6 += Idr[22]; + RHS6 += Idr[23]; + RHS6 += Idr[24]; + RHS6 -= go[23] * *cnV[23]; + RHS6 -= go[24] * *cnV[24]; + m_A22 += gt[25]; + m_A22 += gt[26]; + m_A22 += gt[27]; + m_A22 += gt[28]; + m_A22 += gt[29]; + m_A22 += gt[30]; + m_A20 += go[25]; + m_A21 += go[26]; + m_A19 += go[27]; + m_A18 += go[28]; + m_A17 += go[29]; + double RHS7 = Idr[25]; + RHS7 += Idr[26]; + RHS7 += Idr[27]; + RHS7 += Idr[28]; + RHS7 += Idr[29]; + RHS7 += Idr[30]; + RHS7 -= go[30] * *cnV[30]; + m_A28 += gt[31]; + m_A28 += gt[32]; + m_A28 += gt[33]; + m_A28 += gt[34]; + m_A28 += gt[35]; + m_A28 += gt[36]; + m_A25 += go[31]; + m_A24 += go[32]; + m_A26 += go[33]; + m_A26 += go[34]; + double RHS8 = Idr[31]; + RHS8 += Idr[32]; + RHS8 += Idr[33]; + RHS8 += Idr[34]; + RHS8 += Idr[35]; + RHS8 += Idr[36]; + RHS8 -= go[35] * *cnV[35]; + RHS8 -= go[36] * *cnV[36]; + const double f0 = 1.0 / m_A0; + const double f0_7 = -f0 * m_A17; + m_A22 += m_A1 * f0_7; + RHS7 += f0_7 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_7 = -f1 * m_A18; + m_A22 += m_A3 * f1_7; + RHS7 += f1_7 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_7 = -f2 * m_A19; + m_A22 += m_A5 * f2_7; + RHS7 += f2_7 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_6 = -f3 * m_A13; + m_A14 += m_A7 * f3_6; + m_A16 += m_A8 * f3_6; + RHS6 += f3_6 * RHS3; + const double f3_8 = -f3 * m_A24; + m_A26 += m_A7 * f3_8; + m_A28 += m_A8 * f3_8; + RHS8 += f3_8 * RHS3; + const double f4 = 1.0 / m_A9; + const double f4_8 = -f4 * m_A25; + m_A28 += m_A10 * f4_8; + RHS8 += f4_8 * RHS4; + const double f5 = 1.0 / m_A11; + const double f5_7 = -f5 * m_A20; + m_A22 += m_A12 * f5_7; + RHS7 += f5_7 * RHS5; + const double f6 = 1.0 / m_A14; + const double f6_7 = -f6 * m_A21; + m_A22 += m_A15 * f6_7; + m_A23 += m_A16 * f6_7; + RHS7 += f6_7 * RHS6; + const double f6_8 = -f6 * m_A26; + m_A27 += m_A15 * f6_8; + m_A28 += m_A16 * f6_8; + RHS8 += f6_8 * RHS6; + const double f7 = 1.0 / m_A22; + const double f7_8 = -f7 * m_A27; + m_A28 += m_A23 * f7_8; + RHS8 += f7_8 * RHS7; + V[8] = RHS8 / m_A28; double tmp7 = 0.0; - tmp7 += m_A15 * V[17]; - V[7] = (RHS7 - tmp7) / m_A14; + tmp7 += m_A23 * V[8]; + V[7] = (RHS7 - tmp7) / m_A22; double tmp6 = 0.0; - tmp6 += m_A13 * V[14]; - V[6] = (RHS6 - tmp6) / m_A12; + tmp6 += m_A15 * V[7]; + tmp6 += m_A16 * V[8]; + V[6] = (RHS6 - tmp6) / m_A14; double tmp5 = 0.0; - tmp5 += m_A11 * V[14]; - V[5] = (RHS5 - tmp5) / m_A10; + tmp5 += m_A12 * V[7]; + V[5] = (RHS5 - tmp5) / m_A11; double tmp4 = 0.0; - tmp4 += m_A9 * V[13]; - V[4] = (RHS4 - tmp4) / m_A8; + tmp4 += m_A10 * V[8]; + V[4] = (RHS4 - tmp4) / m_A9; double tmp3 = 0.0; - tmp3 += m_A7 * V[13]; + tmp3 += m_A7 * V[6]; + tmp3 += m_A8 * V[8]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[12]; + tmp2 += m_A5 * V[7]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[15]; + tmp1 += m_A3 * V[7]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[19]; + tmp0 += m_A1 * V[7]; V[0] = (RHS0 - tmp0) / m_A0; } -// 280zzzap -static void nl_gcr_766cc932eebf25ec_104_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// cheekyms +static void nl_gcr_7e9498276980e5d1_12_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9] + gt[10] + gt[11]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - m_A3 = m_A3 + go[10]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[11] * *cnV[11]; - m_A6 = gt[16] + gt[17] + gt[18]; - m_A7 = m_A7 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A8 = gt[24] + gt[25]; - m_A9 = m_A9 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A10 = gt[32] + gt[33] + gt[34]; - m_A12 = m_A12 + go[32]; - m_A11 = m_A11 + go[33]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[34] * *cnV[34]; - m_A13 = gt[40] + gt[41]; - m_A14 = m_A14 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A15 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54]; - m_A19 = m_A19 + go[48]; - m_A18 = m_A18 + go[49]; - m_A17 = m_A17 + go[50]; - m_A16 = m_A16 + go[51]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[52] * *cnV[52] - go[53] * *cnV[53] - go[54] * *cnV[54]; - m_A20 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61] + gt[62]; - m_A24 = m_A24 + go[56]; - m_A23 = m_A23 + go[57]; - m_A22 = m_A22 + go[58]; - m_A21 = m_A21 + go[59]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61] + Idr[62] - go[60] * *cnV[60] - go[61] * *cnV[61] - go[62] * *cnV[62]; - m_A25 = gt[64] + gt[65] + gt[66]; - m_A26 = m_A26 + go[64]; - m_A27 = m_A27 + go[65]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] - go[66] * *cnV[66]; - m_A28 = gt[72] + gt[73]; - m_A29 = m_A29 + go[72]; - double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73]; - m_A30 = gt[80] + gt[81] + gt[82] + gt[83]; - m_A31 = m_A31 + go[80]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] - go[81] * *cnV[81] - go[82] * *cnV[82] - go[83] * *cnV[83]; - m_A32 = gt[88] + gt[89]; - m_A33 = m_A33 + go[88]; - double RHS11 = Idr[88] + Idr[89] - go[89] * *cnV[89]; - m_A36 = gt[96] + gt[97] + gt[98] + gt[99]; - m_A35 = m_A35 + go[96]; - m_A34 = m_A34 + go[97]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] - go[98] * *cnV[98] - go[99] * *cnV[99]; - m_A42 = gt[104] + gt[105] + gt[106] + gt[107]; - m_A40 = m_A40 + go[104]; - m_A41 = m_A41 + go[105]; - m_A43 = m_A43 + go[106]; - m_A39 = m_A39 + go[107]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107]; - m_A45 = gt[112] + gt[113] + gt[114] + gt[115]; - m_A44 = m_A44 + go[112]; - m_A46 = m_A46 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] - go[114] * *cnV[114] - go[115] * *cnV[115]; - m_A50 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A48 = m_A48 + go[120]; - m_A47 = m_A47 + go[121]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123]; - m_A57 = gt[128] + gt[129] + gt[130] + gt[131]; - m_A56 = m_A56 + go[128]; - m_A55 = m_A55 + go[129]; - m_A58 = m_A58 + go[130]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[131] * *cnV[131]; - m_A63 = gt[136] + gt[137] + gt[138] + gt[139]; - m_A66 = m_A66 + go[136]; - m_A60 = m_A60 + go[137]; - m_A59 = m_A59 + go[138]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] - go[139] * *cnV[139]; - m_A74 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149]; - m_A77 = m_A77 + go[144]; - m_A70 = m_A70 + go[145]; - m_A69 = m_A69 + go[146]; - m_A68 = m_A68 + go[147]; - m_A71 = m_A71 + go[148]; - double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149] - go[149] * *cnV[149]; - m_A85 = gt[152] + gt[153] + gt[154] + gt[155] + gt[156] + gt[157]; - m_A82 = m_A82 + go[152]; - m_A87 = m_A87 + go[153]; - m_A79 = m_A79 + go[154]; - m_A80 = m_A80 + go[155]; - m_A78 = m_A78 + go[156]; - double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] + Idr[156] + Idr[157] - go[157] * *cnV[157]; - m_A93 = gt[160] + gt[161] + gt[162] + gt[163] + gt[164]; - m_A89 = m_A89 + go[160]; - m_A88 = m_A88 + go[161]; - m_A90 = m_A90 + go[162]; - double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] + Idr[164] - go[163] * *cnV[163] - go[164] * *cnV[164]; - m_A103 = gt[168] + gt[169] + gt[170] + gt[171] + gt[172] + gt[173] + gt[174]; - m_A97 = m_A97 + go[168]; - m_A96 = m_A96 + go[169]; - m_A101 = m_A101 + go[170]; - m_A95 = m_A95 + go[171]; - m_A100 = m_A100 + go[172]; - double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] + Idr[172] + Idr[173] + Idr[174] - go[173] * *cnV[173] - go[174] * *cnV[174]; -const double f0 = 1.0 / m_A0; - const double f0_12 = -f0 * m_A34; - m_A36 += m_A1 * f0_12; - RHS12 += f0_12 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_12 = -f1 * m_A35; - m_A36 += m_A3 * f1_12; - m_A37 += m_A4 * f1_12; - m_A38 += m_A5 * f1_12; - RHS12 += f1_12 * RHS1; - const double f1_15 = -f1 * m_A47; - m_A49 += m_A3 * f1_15; - m_A50 += m_A4 * f1_15; - m_A51 += m_A5 * f1_15; - RHS15 += f1_15 * RHS1; - const double f1_17 = -f1 * m_A59; - m_A61 += m_A3 * f1_17; - m_A62 += m_A4 * f1_17; - m_A63 += m_A5 * f1_17; - RHS17 += f1_17 * RHS1; -const double f2 = 1.0 / m_A6; - const double f2_13 = -f2 * m_A39; - m_A42 += m_A7 * f2_13; - RHS13 += f2_13 * RHS2; -const double f3 = 1.0 / m_A8; - const double f3_13 = -f3 * m_A40; - m_A42 += m_A9 * f3_13; - RHS13 += f3_13 * RHS3; -const double f4 = 1.0 / m_A10; - const double f4_13 = -f4 * m_A41; - m_A42 += m_A11 * f4_13; - m_A43 += m_A12 * f4_13; - RHS13 += f4_13 * RHS4; - const double f4_18 = -f4 * m_A68; - m_A71 += m_A11 * f4_18; - m_A74 += m_A12 * f4_18; - RHS18 += f4_18 * RHS4; -const double f5 = 1.0 / m_A13; - const double f5_14 = -f5 * m_A44; - m_A45 += m_A14 * f5_14; - RHS14 += f5_14 * RHS5; -const double f6 = 1.0 / m_A15; - const double f6_15 = -f6 * m_A48; - m_A50 += m_A16 * f6_15; - m_A52 += m_A17 * f6_15; - m_A53 += m_A18 * f6_15; - m_A54 += m_A19 * f6_15; - RHS15 += f6_15 * RHS6; - const double f6_18 = -f6 * m_A69; - m_A72 += m_A16 * f6_18; - m_A74 += m_A17 * f6_18; - m_A75 += m_A18 * f6_18; - m_A77 += m_A19 * f6_18; - RHS18 += f6_18 * RHS6; - const double f6_19 = -f6 * m_A78; - m_A81 += m_A16 * f6_19; - m_A84 += m_A17 * f6_19; - m_A85 += m_A18 * f6_19; - m_A87 += m_A19 * f6_19; - RHS19 += f6_19 * RHS6; - const double f6_21 = -f6 * m_A95; - m_A98 += m_A16 * f6_21; - m_A100 += m_A17 * f6_21; - m_A101 += m_A18 * f6_21; - m_A103 += m_A19 * f6_21; - RHS21 += f6_21 * RHS6; -const double f7 = 1.0 / m_A20; - const double f7_17 = -f7 * m_A60; - m_A63 += m_A21 * f7_17; - m_A64 += m_A22 * f7_17; - m_A65 += m_A23 * f7_17; - m_A67 += m_A24 * f7_17; - RHS17 += f7_17 * RHS7; - const double f7_18 = -f7 * m_A70; - m_A73 += m_A21 * f7_18; - m_A74 += m_A22 * f7_18; - m_A75 += m_A23 * f7_18; - m_A77 += m_A24 * f7_18; - RHS18 += f7_18 * RHS7; - const double f7_19 = -f7 * m_A79; - m_A83 += m_A21 * f7_19; - m_A84 += m_A22 * f7_19; - m_A85 += m_A23 * f7_19; - m_A87 += m_A24 * f7_19; - RHS19 += f7_19 * RHS7; - const double f7_21 = -f7 * m_A96; - m_A99 += m_A21 * f7_21; - m_A100 += m_A22 * f7_21; - m_A101 += m_A23 * f7_21; - m_A103 += m_A24 * f7_21; - RHS21 += f7_21 * RHS7; -const double f8 = 1.0 / m_A25; - const double f8_16 = -f8 * m_A55; - m_A57 += m_A26 * f8_16; - m_A58 += m_A27 * f8_16; - RHS16 += f8_16 * RHS8; - const double f8_19 = -f8 * m_A80; - m_A82 += m_A26 * f8_19; - m_A85 += m_A27 * f8_19; - RHS19 += f8_19 * RHS8; -const double f9 = 1.0 / m_A28; - const double f9_16 = -f9 * m_A56; - m_A57 += m_A29 * f9_16; - RHS16 += f9_16 * RHS9; -const double f10 = 1.0 / m_A30; - const double f10_20 = -f10 * m_A88; - m_A93 += m_A31 * f10_20; - RHS20 += f10_20 * RHS10; -const double f11 = 1.0 / m_A32; - const double f11_20 = -f11 * m_A89; - m_A93 += m_A33 * f11_20; - RHS20 += f11_20 * RHS11; -const double f12 = 1.0 / m_A36; - const double f12_15 = -f12 * m_A49; - m_A50 += m_A37 * f12_15; - m_A51 += m_A38 * f12_15; - RHS15 += f12_15 * RHS12; - const double f12_17 = -f12 * m_A61; - m_A62 += m_A37 * f12_17; - m_A63 += m_A38 * f12_17; - RHS17 += f12_17 * RHS12; -const double f13 = 1.0 / m_A42; - const double f13_18 = -f13 * m_A71; - m_A74 += m_A43 * f13_18; - RHS18 += f13_18 * RHS13; -const double f14 = 1.0 / m_A45; - const double f14_21 = -f14 * m_A97; - m_A103 += m_A46 * f14_21; - RHS21 += f14_21 * RHS14; -const double f15 = 1.0 / m_A50; - const double f15_17 = -f15 * m_A62; - m_A63 += m_A51 * f15_17; - m_A64 += m_A52 * f15_17; - m_A65 += m_A53 * f15_17; - m_A67 += m_A54 * f15_17; - RHS17 += f15_17 * RHS15; - const double f15_18 = -f15 * m_A72; - m_A73 += m_A51 * f15_18; - m_A74 += m_A52 * f15_18; - m_A75 += m_A53 * f15_18; - m_A77 += m_A54 * f15_18; - RHS18 += f15_18 * RHS15; - const double f15_19 = -f15 * m_A81; - m_A83 += m_A51 * f15_19; - m_A84 += m_A52 * f15_19; - m_A85 += m_A53 * f15_19; - m_A87 += m_A54 * f15_19; - RHS19 += f15_19 * RHS15; - const double f15_21 = -f15 * m_A98; - m_A99 += m_A51 * f15_21; - m_A100 += m_A52 * f15_21; - m_A101 += m_A53 * f15_21; - m_A103 += m_A54 * f15_21; - RHS21 += f15_21 * RHS15; -const double f16 = 1.0 / m_A57; - const double f16_19 = -f16 * m_A82; - m_A85 += m_A58 * f16_19; - RHS19 += f16_19 * RHS16; -const double f17 = 1.0 / m_A63; - const double f17_18 = -f17 * m_A73; - m_A74 += m_A64 * f17_18; - m_A75 += m_A65 * f17_18; - m_A76 += m_A66 * f17_18; - m_A77 += m_A67 * f17_18; - RHS18 += f17_18 * RHS17; - const double f17_19 = -f17 * m_A83; - m_A84 += m_A64 * f17_19; - m_A85 += m_A65 * f17_19; - m_A86 += m_A66 * f17_19; - m_A87 += m_A67 * f17_19; - RHS19 += f17_19 * RHS17; - const double f17_20 = -f17 * m_A90; - m_A91 += m_A64 * f17_20; - m_A92 += m_A65 * f17_20; - m_A93 += m_A66 * f17_20; - m_A94 += m_A67 * f17_20; - RHS20 += f17_20 * RHS17; - const double f17_21 = -f17 * m_A99; - m_A100 += m_A64 * f17_21; - m_A101 += m_A65 * f17_21; - m_A102 += m_A66 * f17_21; - m_A103 += m_A67 * f17_21; - RHS21 += f17_21 * RHS17; -const double f18 = 1.0 / m_A74; - const double f18_19 = -f18 * m_A84; - m_A85 += m_A75 * f18_19; - m_A86 += m_A76 * f18_19; - m_A87 += m_A77 * f18_19; - RHS19 += f18_19 * RHS18; - const double f18_20 = -f18 * m_A91; - m_A92 += m_A75 * f18_20; - m_A93 += m_A76 * f18_20; - m_A94 += m_A77 * f18_20; - RHS20 += f18_20 * RHS18; - const double f18_21 = -f18 * m_A100; - m_A101 += m_A75 * f18_21; - m_A102 += m_A76 * f18_21; - m_A103 += m_A77 * f18_21; - RHS21 += f18_21 * RHS18; -const double f19 = 1.0 / m_A85; - const double f19_20 = -f19 * m_A92; - m_A93 += m_A86 * f19_20; - m_A94 += m_A87 * f19_20; - RHS20 += f19_20 * RHS19; - const double f19_21 = -f19 * m_A101; - m_A102 += m_A86 * f19_21; - m_A103 += m_A87 * f19_21; - RHS21 += f19_21 * RHS19; -const double f20 = 1.0 / m_A93; - const double f20_21 = -f20 * m_A102; - m_A103 += m_A94 * f20_21; - RHS21 += f20_21 * RHS20; - V[21] = RHS21 / m_A103; - double tmp20 = 0.0; - tmp20 += m_A94 * V[21]; - V[20] = (RHS20 - tmp20) / m_A93; - double tmp19 = 0.0; - tmp19 += m_A86 * V[20]; - tmp19 += m_A87 * V[21]; - V[19] = (RHS19 - tmp19) / m_A85; - double tmp18 = 0.0; - tmp18 += m_A75 * V[19]; - tmp18 += m_A76 * V[20]; - tmp18 += m_A77 * V[21]; - V[18] = (RHS18 - tmp18) / m_A74; - double tmp17 = 0.0; - tmp17 += m_A64 * V[18]; - tmp17 += m_A65 * V[19]; - tmp17 += m_A66 * V[20]; - tmp17 += m_A67 * V[21]; - V[17] = (RHS17 - tmp17) / m_A63; - double tmp16 = 0.0; - tmp16 += m_A58 * V[19]; - V[16] = (RHS16 - tmp16) / m_A57; - double tmp15 = 0.0; - tmp15 += m_A51 * V[17]; - tmp15 += m_A52 * V[18]; - tmp15 += m_A53 * V[19]; - tmp15 += m_A54 * V[21]; - V[15] = (RHS15 - tmp15) / m_A50; - double tmp14 = 0.0; - tmp14 += m_A46 * V[21]; - V[14] = (RHS14 - tmp14) / m_A45; - double tmp13 = 0.0; - tmp13 += m_A43 * V[18]; - V[13] = (RHS13 - tmp13) / m_A42; - double tmp12 = 0.0; - tmp12 += m_A37 * V[15]; - tmp12 += m_A38 * V[17]; - V[12] = (RHS12 - tmp12) / m_A36; - double tmp11 = 0.0; - tmp11 += m_A33 * V[20]; - V[11] = (RHS11 - tmp11) / m_A32; - double tmp10 = 0.0; - tmp10 += m_A31 * V[20]; - V[10] = (RHS10 - tmp10) / m_A30; - double tmp9 = 0.0; - tmp9 += m_A29 * V[16]; - V[9] = (RHS9 - tmp9) / m_A28; - double tmp8 = 0.0; - tmp8 += m_A26 * V[16]; - tmp8 += m_A27 * V[19]; - V[8] = (RHS8 - tmp8) / m_A25; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A2 += go[0]; + m_A1 += go[1]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[2] * *cnV[2]; + m_A3 += gt[3]; + m_A3 += gt[4]; + m_A4 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A6 += gt[5]; + m_A6 += gt[6]; + m_A7 += go[5]; + m_A5 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + m_A11 += gt[7]; + m_A11 += gt[8]; + m_A11 += gt[9]; + m_A11 += gt[10]; + m_A11 += gt[11]; + m_A11 += gt[12]; + m_A9 += go[7]; + m_A10 += go[8]; + m_A8 += go[9]; + double RHS3 = Idr[7]; + RHS3 += Idr[8]; + RHS3 += Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + RHS3 -= go[12] * *cnV[12]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A5; + m_A6 += m_A1 * f0_2; + m_A7 += m_A2 * f0_2; + RHS2 += f0_2 * RHS0; + const double f0_3 = -f0 * m_A8; + m_A10 += m_A1 * f0_3; + m_A11 += m_A2 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A3; + const double f1_3 = -f1 * m_A9; + m_A11 += m_A4 * f1_3; + RHS3 += f1_3 * RHS1; + const double f2 = 1.0 / m_A6; + const double f2_3 = -f2 * m_A10; + m_A11 += m_A7 * f2_3; + RHS3 += f2_3 * RHS2; + V[3] = RHS3 / m_A11; + double tmp2 = 0.0; + tmp2 += m_A7 * V[3]; + V[2] = (RHS2 - tmp2) / m_A6; + double tmp1 = 0.0; + tmp1 += m_A4 * V[3]; + V[1] = (RHS1 - tmp1) / m_A3; + double tmp0 = 0.0; + tmp0 += m_A1 * V[2]; + tmp0 += m_A2 * V[3]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// kidniki +static void nl_gcr_80d7c219807268a_24_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A0 += gt[5]; + m_A0 += gt[6]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 += Idr[5]; + RHS0 += Idr[6]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + RHS0 -= go[5] * *cnV[5]; + RHS0 -= go[6] * *cnV[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A3 += go[7]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 -= go[8] * *cnV[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A5 += go[9]; + double RHS2 = Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[10] * *cnV[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A7 += go[11]; + double RHS3 = Idr[11]; + RHS3 += Idr[12]; + RHS3 -= go[12] * *cnV[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A8 += gt[15]; + m_A10 += go[13]; + m_A9 += go[14]; + double RHS4 = Idr[13]; + RHS4 += Idr[14]; + RHS4 += Idr[15]; + RHS4 -= go[15] * *cnV[15]; + m_A11 += gt[16]; + m_A11 += gt[17]; + m_A11 += gt[18]; + m_A12 += go[16]; + double RHS5 = Idr[16]; + RHS5 += Idr[17]; + RHS5 += Idr[18]; + RHS5 -= go[17] * *cnV[17]; + RHS5 -= go[18] * *cnV[18]; + m_A18 += gt[19]; + m_A18 += gt[20]; + m_A18 += gt[21]; + m_A18 += gt[22]; + m_A18 += gt[23]; + m_A16 += go[19]; + m_A15 += go[20]; + m_A14 += go[21]; + m_A17 += go[22]; + m_A13 += go[23]; + double RHS6 = Idr[19]; + RHS6 += Idr[20]; + RHS6 += Idr[21]; + RHS6 += Idr[22]; + RHS6 += Idr[23]; + m_A23 += gt[24]; + m_A23 += gt[25]; + m_A21 += go[24]; + m_A20 += go[25]; + double RHS7 = Idr[24]; + RHS7 += Idr[25]; + const double f0 = 1.0 / m_A0; + const double f0_6 = -f0 * m_A13; + m_A18 += m_A1 * f0_6; + RHS6 += f0_6 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_6 = -f1 * m_A14; + m_A18 += m_A3 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_6 = -f2 * m_A15; + m_A18 += m_A5 * f2_6; + RHS6 += f2_6 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_6 = -f3 * m_A16; + m_A18 += m_A7 * f3_6; + RHS6 += f3_6 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_6 = -f4 * m_A17; + m_A18 += m_A9 * f4_6; + m_A19 += m_A10 * f4_6; + RHS6 += f4_6 * RHS4; + const double f4_7 = -f4 * m_A20; + m_A22 += m_A9 * f4_7; + m_A23 += m_A10 * f4_7; + RHS7 += f4_7 * RHS4; + const double f5 = 1.0 / m_A11; + const double f5_7 = -f5 * m_A21; + m_A23 += m_A12 * f5_7; + RHS7 += f5_7 * RHS5; + const double f6 = 1.0 / m_A18; + const double f6_7 = -f6 * m_A22; + m_A23 += m_A19 * f6_7; + RHS7 += f6_7 * RHS6; + V[7] = RHS7 / m_A23; + double tmp6 = 0.0; + tmp6 += m_A19 * V[7]; + V[6] = (RHS6 - tmp6) / m_A18; + double tmp5 = 0.0; + tmp5 += m_A12 * V[7]; + V[5] = (RHS5 - tmp5) / m_A11; + double tmp4 = 0.0; + tmp4 += m_A9 * V[6]; + tmp4 += m_A10 * V[7]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[6]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[6]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[6]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[6]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// pongf +static void nl_gcr_81ae080c83dcf6a4_35_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A2 += gt[7]; + m_A3 += go[4]; + double RHS1 = Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A5 += go[8]; + double RHS2 = Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[9] * *cnV[9]; + RHS2 -= go[10] * *cnV[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A6 += gt[15]; + m_A9 += go[11]; + m_A7 += go[12]; + m_A7 += go[13]; + m_A7 += go[14]; + m_A8 += go[15]; + double RHS3 = Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + m_A11 += gt[16]; + m_A11 += gt[17]; + m_A11 += gt[18]; + m_A11 += gt[19]; + m_A11 += gt[20]; + m_A11 += gt[21]; + m_A11 += gt[22]; + m_A13 += go[16]; + m_A12 += go[17]; + m_A10 += go[18]; + double RHS4 = Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 += Idr[22]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + RHS4 -= go[22] * *cnV[22]; + m_A15 += gt[23]; + m_A15 += gt[24]; + m_A15 += gt[25]; + m_A15 += gt[26]; + m_A15 += gt[27]; + m_A17 += go[23]; + m_A14 += go[24]; + m_A14 += go[25]; + m_A14 += go[26]; + double RHS5 = Idr[23]; + RHS5 += Idr[24]; + RHS5 += Idr[25]; + RHS5 += Idr[26]; + RHS5 += Idr[27]; + RHS5 -= go[27] * *cnV[27]; + m_A22 += gt[28]; + m_A22 += gt[29]; + m_A22 += gt[30]; + m_A22 += gt[31]; + m_A19 += go[28]; + m_A20 += go[29]; + m_A18 += go[30]; + double RHS6 = Idr[28]; + RHS6 += Idr[29]; + RHS6 += Idr[30]; + RHS6 += Idr[31]; + RHS6 -= go[31] * *cnV[31]; + m_A28 += gt[32]; + m_A28 += gt[33]; + m_A28 += gt[34]; + m_A29 += go[32]; + m_A25 += go[33]; + m_A26 += go[34]; + double RHS7 = Idr[32]; + RHS7 += Idr[33]; + RHS7 += Idr[34]; + m_A34 += gt[35]; + m_A34 += gt[36]; + m_A34 += gt[37]; + m_A31 += go[35]; + m_A30 += go[36]; + m_A33 += go[37]; + double RHS8 = Idr[35]; + RHS8 += Idr[36]; + RHS8 += Idr[37]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A10; + m_A11 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_6 = -f1 * m_A18; + m_A22 += m_A3 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_7 = -f2 * m_A25; + m_A28 += m_A5 * f2_7; + RHS7 += f2_7 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_5 = -f3 * m_A14; + m_A15 += m_A7 * f3_5; + m_A16 += m_A8 * f3_5; + m_A17 += m_A9 * f3_5; + RHS5 += f3_5 * RHS3; + const double f3_6 = -f3 * m_A19; + m_A21 += m_A7 * f3_6; + m_A22 += m_A8 * f3_6; + m_A24 += m_A9 * f3_6; + RHS6 += f3_6 * RHS3; + const double f3_8 = -f3 * m_A30; + m_A31 += m_A7 * f3_8; + m_A32 += m_A8 * f3_8; + m_A34 += m_A9 * f3_8; + RHS8 += f3_8 * RHS3; + const double f4 = 1.0 / m_A11; + const double f4_6 = -f4 * m_A20; + m_A22 += m_A12 * f4_6; + m_A23 += m_A13 * f4_6; + RHS6 += f4_6 * RHS4; + const double f4_7 = -f4 * m_A26; + m_A27 += m_A12 * f4_7; + m_A28 += m_A13 * f4_7; + RHS7 += f4_7 * RHS4; + const double f5 = 1.0 / m_A15; + const double f5_6 = -f5 * m_A21; + m_A22 += m_A16 * f5_6; + m_A24 += m_A17 * f5_6; + RHS6 += f5_6 * RHS5; + const double f5_8 = -f5 * m_A31; + m_A32 += m_A16 * f5_8; + m_A34 += m_A17 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A22; + const double f6_7 = -f6 * m_A27; + m_A28 += m_A23 * f6_7; + m_A29 += m_A24 * f6_7; + RHS7 += f6_7 * RHS6; + const double f6_8 = -f6 * m_A32; + m_A33 += m_A23 * f6_8; + m_A34 += m_A24 * f6_8; + RHS8 += f6_8 * RHS6; + const double f7 = 1.0 / m_A28; + const double f7_8 = -f7 * m_A33; + m_A34 += m_A29 * f7_8; + RHS8 += f7_8 * RHS7; + V[8] = RHS8 / m_A34; + double tmp7 = 0.0; + tmp7 += m_A29 * V[8]; + V[7] = (RHS7 - tmp7) / m_A28; + double tmp6 = 0.0; + tmp6 += m_A23 * V[7]; + tmp6 += m_A24 * V[8]; + V[6] = (RHS6 - tmp6) / m_A22; + double tmp5 = 0.0; + tmp5 += m_A16 * V[6]; + tmp5 += m_A17 * V[8]; + V[5] = (RHS5 - tmp5) / m_A15; + double tmp4 = 0.0; + tmp4 += m_A12 * V[6]; + tmp4 += m_A13 * V[7]; + V[4] = (RHS4 - tmp4) / m_A11; + double tmp3 = 0.0; + tmp3 += m_A7 * V[5]; + tmp3 += m_A8 * V[6]; + tmp3 += m_A9 * V[8]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[7]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[6]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[4]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// tp1985 +static void nl_gcr_83fbe835263b28d3_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A5 += go[6]; + m_A4 += go[7]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[8] * *cnV[8]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; + RHS2 += f1_2 * RHS1; + V[2] = RHS2 / m_A6; + double tmp1 = 0.0; + tmp1 += m_A3 * V[2]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[2]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// pongf +static void nl_gcr_930be1d2f1a52598_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A9 += gt[11]; + m_A8 += go[9]; + m_A7 += go[10]; + m_A6 += go[11]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + const double f0 = 1.0 / m_A0; + const double f0_3 = -f0 * m_A6; + m_A9 += m_A1 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_3 = -f1 * m_A7; + m_A9 += m_A3 * f1_3; + RHS3 += f1_3 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_3 = -f2 * m_A8; + m_A9 += m_A5 * f2_3; + RHS3 += f2_3 * RHS2; + V[3] = RHS3 / m_A9; + double tmp2 = 0.0; + tmp2 += m_A5 * V[3]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[3]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[3]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// kidniki +static void nl_gcr_9701e2657a7f4ca3_37_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A2 += go[0]; + m_A2 += go[1]; + m_A1 += go[2]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[3] * *cnV[3]; + m_A3 += gt[4]; + m_A3 += gt[5]; + m_A3 += gt[6]; + m_A5 += go[4]; + m_A4 += go[5]; + double RHS1 = Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A7 += go[7]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + RHS2 -= go[10] * *cnV[10]; + m_A8 += gt[11]; + m_A8 += gt[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A11 += go[11]; + m_A9 += go[12]; + m_A10 += go[13]; + double RHS3 = Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[14] * *cnV[14]; + m_A14 += gt[15]; + m_A14 += gt[16]; + m_A14 += gt[17]; + m_A14 += gt[18]; + m_A14 += gt[19]; + m_A14 += gt[20]; + m_A14 += gt[21]; + m_A13 += go[15]; + m_A16 += go[16]; + m_A16 += go[17]; + m_A16 += go[18]; + m_A12 += go[19]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + m_A20 += gt[22]; + m_A20 += gt[23]; + m_A20 += gt[24]; + m_A17 += go[22]; + m_A18 += go[23]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 += Idr[24]; + RHS5 -= go[24] * *cnV[24]; + m_A24 += gt[25]; + m_A24 += gt[26]; + m_A24 += gt[27]; + m_A25 += go[25]; + m_A23 += go[26]; + double RHS6 = Idr[25]; + RHS6 += Idr[26]; + RHS6 += Idr[27]; + RHS6 -= go[27] * *cnV[27]; + m_A30 += gt[28]; + m_A30 += gt[29]; + m_A30 += gt[30]; + m_A30 += gt[31]; + m_A30 += gt[32]; + m_A30 += gt[33]; + m_A27 += go[28]; + m_A28 += go[29]; + m_A28 += go[30]; + m_A28 += go[31]; + m_A26 += go[32]; + m_A26 += go[33]; + double RHS7 = Idr[28]; + RHS7 += Idr[29]; + RHS7 += Idr[30]; + RHS7 += Idr[31]; + RHS7 += Idr[32]; + RHS7 += Idr[33]; + m_A36 += gt[34]; + m_A36 += gt[35]; + m_A34 += go[34]; + m_A32 += go[35]; + double RHS8 = Idr[34]; + RHS8 += Idr[35]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A12; + m_A14 += m_A1 * f0_4; + m_A16 += m_A2 * f0_4; + RHS4 += f0_4 * RHS0; + const double f0_7 = -f0 * m_A26; + m_A28 += m_A1 * f0_7; + m_A30 += m_A2 * f0_7; + RHS7 += f0_7 * RHS0; + const double f1 = 1.0 / m_A3; + const double f1_4 = -f1 * m_A13; + m_A14 += m_A4 * f1_4; + m_A15 += m_A5 * f1_4; + RHS4 += f1_4 * RHS1; + const double f1_5 = -f1 * m_A17; + m_A19 += m_A4 * f1_5; + m_A20 += m_A5 * f1_5; + RHS5 += f1_5 * RHS1; + const double f2 = 1.0 / m_A6; + const double f2_6 = -f2 * m_A23; + m_A24 += m_A7 * f2_6; + RHS6 += f2_6 * RHS2; + const double f3 = 1.0 / m_A8; + const double f3_5 = -f3 * m_A18; + m_A20 += m_A9 * f3_5; + m_A21 += m_A10 * f3_5; + m_A22 += m_A11 * f3_5; + RHS5 += f3_5 * RHS3; + const double f3_7 = -f3 * m_A27; + m_A29 += m_A9 * f3_7; + m_A30 += m_A10 * f3_7; + m_A31 += m_A11 * f3_7; + RHS7 += f3_7 * RHS3; + const double f3_8 = -f3 * m_A32; + m_A33 += m_A9 * f3_8; + m_A35 += m_A10 * f3_8; + m_A36 += m_A11 * f3_8; + RHS8 += f3_8 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_5 = -f4 * m_A19; + m_A20 += m_A15 * f4_5; + m_A21 += m_A16 * f4_5; + RHS5 += f4_5 * RHS4; + const double f4_7 = -f4 * m_A28; + m_A29 += m_A15 * f4_7; + m_A30 += m_A16 * f4_7; + RHS7 += f4_7 * RHS4; + const double f5 = 1.0 / m_A20; + const double f5_7 = -f5 * m_A29; + m_A30 += m_A21 * f5_7; + m_A31 += m_A22 * f5_7; + RHS7 += f5_7 * RHS5; + const double f5_8 = -f5 * m_A33; + m_A35 += m_A21 * f5_8; + m_A36 += m_A22 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A24; + const double f6_8 = -f6 * m_A34; + m_A36 += m_A25 * f6_8; + RHS8 += f6_8 * RHS6; + const double f7 = 1.0 / m_A30; + const double f7_8 = -f7 * m_A35; + m_A36 += m_A31 * f7_8; + RHS8 += f7_8 * RHS7; + V[8] = RHS8 / m_A36; double tmp7 = 0.0; - tmp7 += m_A21 * V[17]; - tmp7 += m_A22 * V[18]; - tmp7 += m_A23 * V[19]; - tmp7 += m_A24 * V[21]; - V[7] = (RHS7 - tmp7) / m_A20; + tmp7 += m_A31 * V[8]; + V[7] = (RHS7 - tmp7) / m_A30; double tmp6 = 0.0; - tmp6 += m_A16 * V[15]; - tmp6 += m_A17 * V[18]; - tmp6 += m_A18 * V[19]; - tmp6 += m_A19 * V[21]; - V[6] = (RHS6 - tmp6) / m_A15; + tmp6 += m_A25 * V[8]; + V[6] = (RHS6 - tmp6) / m_A24; double tmp5 = 0.0; - tmp5 += m_A14 * V[14]; - V[5] = (RHS5 - tmp5) / m_A13; + tmp5 += m_A21 * V[7]; + tmp5 += m_A22 * V[8]; + V[5] = (RHS5 - tmp5) / m_A20; double tmp4 = 0.0; - tmp4 += m_A11 * V[13]; - tmp4 += m_A12 * V[18]; - V[4] = (RHS4 - tmp4) / m_A10; + tmp4 += m_A15 * V[5]; + tmp4 += m_A16 * V[7]; + V[4] = (RHS4 - tmp4) / m_A14; double tmp3 = 0.0; - tmp3 += m_A9 * V[13]; + tmp3 += m_A9 * V[5]; + tmp3 += m_A10 * V[7]; + tmp3 += m_A11 * V[8]; V[3] = (RHS3 - tmp3) / m_A8; double tmp2 = 0.0; - tmp2 += m_A7 * V[13]; + tmp2 += m_A7 * V[6]; V[2] = (RHS2 - tmp2) / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[12]; - tmp1 += m_A4 * V[15]; - tmp1 += m_A5 * V[17]; + tmp1 += m_A4 * V[4]; + tmp1 += m_A5 * V[5]; + V[1] = (RHS1 - tmp1) / m_A3; + double tmp0 = 0.0; + tmp0 += m_A1 * V[4]; + tmp0 += m_A2 * V[7]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// cocoloco +static void nl_gcr_97d556b480d72ab7_16_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A7 += go[6]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + RHS3 -= go[7] * *cnV[7]; + m_A9 += gt[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A8 += go[8]; + m_A10 += go[9]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + RHS4 += Idr[10]; + RHS4 -= go[10] * *cnV[10]; + m_A15 += gt[11]; + m_A15 += gt[12]; + m_A15 += gt[13]; + m_A15 += gt[14]; + m_A14 += go[11]; + m_A13 += go[12]; + m_A12 += go[13]; + m_A11 += go[14]; + double RHS5 = Idr[11]; + RHS5 += Idr[12]; + RHS5 += Idr[13]; + RHS5 += Idr[14]; + const double f0 = 1.0 / m_A0; + const double f0_5 = -f0 * m_A11; + m_A15 += m_A1 * f0_5; + RHS5 += f0_5 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_5 = -f1 * m_A12; + m_A15 += m_A3 * f1_5; + RHS5 += f1_5 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_4 = -f2 * m_A8; + m_A9 += m_A5 * f2_4; + RHS4 += f2_4 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_5 = -f3 * m_A13; + m_A15 += m_A7 * f3_5; + RHS5 += f3_5 * RHS3; + const double f4 = 1.0 / m_A9; + const double f4_5 = -f4 * m_A14; + m_A15 += m_A10 * f4_5; + RHS5 += f4_5 * RHS4; + V[5] = RHS5 / m_A15; + double tmp4 = 0.0; + tmp4 += m_A10 * V[5]; + V[4] = (RHS4 - tmp4) / m_A9; + double tmp3 = 0.0; + tmp3 += m_A7 * V[5]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[4]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[5]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[12]; + tmp0 += m_A1 * V[5]; V[0] = (RHS0 - tmp0) / m_A0; } -// popeye -static void nl_gcr_794f14a13bda75f0_50_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// zac1b11142 +static void nl_gcr_988a81edfbe45655_30_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29]; - m_A10 = m_A10 + go[24]; - m_A7 = m_A7 + go[25]; - m_A8 = m_A8 + go[26]; - m_A9 = m_A9 + go[27]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] - go[28] * *cnV[28] - go[29] * *cnV[29]; - m_A11 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36]; - m_A13 = m_A13 + go[32]; - m_A13 = m_A13 + go[33]; - m_A12 = m_A12 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[35] * *cnV[35] - go[36] * *cnV[36]; - m_A14 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44]; - m_A16 = m_A16 + go[40]; - m_A15 = m_A15 + go[41]; - m_A15 = m_A15 + go[42]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] - go[43] * *cnV[43] - go[44] * *cnV[44]; - m_A19 = gt[48] + gt[49] + gt[50]; - m_A18 = m_A18 + go[48]; - m_A17 = m_A17 + go[49]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[50] * *cnV[50]; - m_A26 = gt[56] + gt[57] + gt[58]; - m_A24 = m_A24 + go[56]; - m_A23 = m_A23 + go[57]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] - go[58] * *cnV[58]; - m_A33 = gt[64] + gt[65] + gt[66]; - m_A30 = m_A30 + go[64]; - m_A29 = m_A29 + go[65]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] - go[66] * *cnV[66]; - m_A40 = gt[72] + gt[73] + gt[74] + gt[75]; - m_A36 = m_A36 + go[72]; - m_A35 = m_A35 + go[73]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75]; - m_A45 = gt[80] + gt[81] + gt[82] + gt[83] + gt[84] + gt[85] + gt[86] + gt[87]; - m_A43 = m_A43 + go[80]; - m_A43 = m_A43 + go[81]; - m_A42 = m_A42 + go[82]; - m_A42 = m_A42 + go[83]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] + Idr[84] + Idr[85] + Idr[86] + Idr[87] - go[84] * *cnV[84] - go[85] * *cnV[85] - go[86] * *cnV[86] - go[87] * *cnV[87]; - m_A49 = gt[88] + gt[89]; - m_A47 = m_A47 + go[88]; - double RHS11 = Idr[88] + Idr[89] - go[89] * *cnV[89]; -const double f0 = 1.0 / m_A0; - const double f0_8 = -f0 * m_A29; - m_A33 += m_A1 * f0_8; - RHS8 += f0_8 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_7 = -f1 * m_A23; - m_A26 += m_A3 * f1_7; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A0 += gt[5]; + m_A0 += gt[6]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 += Idr[5]; + RHS0 += Idr[6]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + RHS0 -= go[5] * *cnV[5]; + RHS0 -= go[6] * *cnV[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A2 += gt[9]; + m_A3 += go[7]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[8] * *cnV[8]; + RHS1 -= go[9] * *cnV[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A5 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 -= go[11] * *cnV[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A7 += go[12]; + double RHS3 = Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A8 += gt[17]; + m_A9 += go[15]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 -= go[16] * *cnV[16]; + RHS4 -= go[17] * *cnV[17]; + m_A11 += gt[18]; + m_A11 += gt[19]; + m_A11 += gt[20]; + m_A11 += gt[21]; + m_A11 += gt[22]; + m_A11 += gt[23]; + m_A10 += go[18]; + m_A12 += go[19]; + m_A12 += go[20]; + double RHS5 = Idr[18]; + RHS5 += Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[21] * *cnV[21]; + RHS5 -= go[22] * *cnV[22]; + RHS5 -= go[23] * *cnV[23]; + m_A16 += gt[24]; + m_A16 += gt[25]; + m_A15 += go[24]; + m_A14 += go[25]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + m_A18 += gt[26]; + m_A18 += gt[27]; + m_A19 += go[26]; + m_A17 += go[27]; + double RHS7 = Idr[26]; + RHS7 += Idr[27]; + m_A25 += gt[28]; + m_A25 += gt[29]; + m_A25 += gt[30]; + m_A25 += gt[31]; + m_A25 += gt[32]; + m_A25 += gt[33]; + m_A23 += go[28]; + m_A22 += go[29]; + m_A22 += go[30]; + m_A24 += go[31]; + m_A21 += go[32]; + m_A20 += go[33]; + double RHS8 = Idr[28]; + RHS8 += Idr[29]; + RHS8 += Idr[30]; + RHS8 += Idr[31]; + RHS8 += Idr[32]; + RHS8 += Idr[33]; + m_A29 += gt[34]; + m_A29 += gt[35]; + m_A29 += gt[36]; + m_A29 += gt[37]; + m_A28 += go[34]; + m_A27 += go[35]; + double RHS9 = Idr[34]; + RHS9 += Idr[35]; + RHS9 += Idr[36]; + RHS9 += Idr[37]; + RHS9 -= go[36] * *cnV[36]; + RHS9 -= go[37] * *cnV[37]; + const double f0 = 1.0 / m_A0; + const double f0_5 = -f0 * m_A10; + m_A13 += m_A1 * f0_5; + RHS5 += f0_5 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_7 = -f1 * m_A17; + m_A18 += m_A3 * f1_7; RHS7 += f1_7 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_6 = -f2 * m_A17; - m_A19 += m_A5 * f2_6; + const double f2 = 1.0 / m_A4; + const double f2_6 = -f2 * m_A14; + m_A16 += m_A5 * f2_6; RHS6 += f2_6 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_6 = -f3 * m_A18; - m_A19 += m_A7 * f3_6; - m_A20 += m_A8 * f3_6; - m_A21 += m_A9 * f3_6; - m_A22 += m_A10 * f3_6; + const double f2_8 = -f2 * m_A20; + m_A23 += m_A5 * f2_8; + RHS8 += f2_8 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_6 = -f3 * m_A15; + m_A16 += m_A7 * f3_6; RHS6 += f3_6 * RHS3; - const double f3_7 = -f3 * m_A24; - m_A25 += m_A7 * f3_7; - m_A26 += m_A8 * f3_7; - m_A27 += m_A9 * f3_7; - m_A28 += m_A10 * f3_7; - RHS7 += f3_7 * RHS3; - const double f3_8 = -f3 * m_A30; - m_A31 += m_A7 * f3_8; - m_A32 += m_A8 * f3_8; - m_A33 += m_A9 * f3_8; - m_A34 += m_A10 * f3_8; - RHS8 += f3_8 * RHS3; - const double f3_9 = -f3 * m_A35; - m_A37 += m_A7 * f3_9; - m_A38 += m_A8 * f3_9; - m_A39 += m_A9 * f3_9; - m_A40 += m_A10 * f3_9; - RHS9 += f3_9 * RHS3; -const double f4 = 1.0 / m_A11; - const double f4_9 = -f4 * m_A36; - m_A40 += m_A12 * f4_9; - m_A41 += m_A13 * f4_9; + const double f4 = 1.0 / m_A8; + const double f4_8 = -f4 * m_A21; + m_A25 += m_A9 * f4_8; + RHS8 += f4_8 * RHS4; + const double f4_9 = -f4 * m_A27; + m_A28 += m_A9 * f4_9; RHS9 += f4_9 * RHS4; - const double f4_10 = -f4 * m_A42; - m_A44 += m_A12 * f4_10; - m_A45 += m_A13 * f4_10; - RHS10 += f4_10 * RHS4; -const double f5 = 1.0 / m_A14; - const double f5_10 = -f5 * m_A43; - m_A45 += m_A15 * f5_10; - m_A46 += m_A16 * f5_10; - RHS10 += f5_10 * RHS5; - const double f5_11 = -f5 * m_A47; - m_A48 += m_A15 * f5_11; - m_A49 += m_A16 * f5_11; - RHS11 += f5_11 * RHS5; -const double f6 = 1.0 / m_A19; - const double f6_7 = -f6 * m_A25; - m_A26 += m_A20 * f6_7; - m_A27 += m_A21 * f6_7; - m_A28 += m_A22 * f6_7; - RHS7 += f6_7 * RHS6; - const double f6_8 = -f6 * m_A31; - m_A32 += m_A20 * f6_8; - m_A33 += m_A21 * f6_8; - m_A34 += m_A22 * f6_8; + const double f5 = 1.0 / m_A11; + const double f5_8 = -f5 * m_A22; + m_A25 += m_A12 * f5_8; + m_A26 += m_A13 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A16; + const double f6_8 = -f6 * m_A23; RHS8 += f6_8 * RHS6; - const double f6_9 = -f6 * m_A37; - m_A38 += m_A20 * f6_9; - m_A39 += m_A21 * f6_9; - m_A40 += m_A22 * f6_9; - RHS9 += f6_9 * RHS6; -const double f7 = 1.0 / m_A26; - const double f7_8 = -f7 * m_A32; - m_A33 += m_A27 * f7_8; - m_A34 += m_A28 * f7_8; + const double f7 = 1.0 / m_A18; + const double f7_8 = -f7 * m_A24; + m_A25 += m_A19 * f7_8; RHS8 += f7_8 * RHS7; - const double f7_9 = -f7 * m_A38; - m_A39 += m_A27 * f7_9; - m_A40 += m_A28 * f7_9; - RHS9 += f7_9 * RHS7; -const double f8 = 1.0 / m_A33; - const double f8_9 = -f8 * m_A39; - m_A40 += m_A34 * f8_9; + const double f8 = 1.0 / m_A25; + const double f8_9 = -f8 * m_A28; + m_A29 += m_A26 * f8_9; RHS9 += f8_9 * RHS8; -const double f9 = 1.0 / m_A40; - const double f9_10 = -f9 * m_A44; - m_A45 += m_A41 * f9_10; - RHS10 += f9_10 * RHS9; -const double f10 = 1.0 / m_A45; - const double f10_11 = -f10 * m_A48; - m_A49 += m_A46 * f10_11; - RHS11 += f10_11 * RHS10; - V[11] = RHS11 / m_A49; - double tmp10 = 0.0; - tmp10 += m_A46 * V[11]; - V[10] = (RHS10 - tmp10) / m_A45; - double tmp9 = 0.0; - tmp9 += m_A41 * V[10]; - V[9] = (RHS9 - tmp9) / m_A40; + V[9] = RHS9 / m_A29; double tmp8 = 0.0; - tmp8 += m_A34 * V[9]; - V[8] = (RHS8 - tmp8) / m_A33; + tmp8 += m_A26 * V[9]; + V[8] = (RHS8 - tmp8) / m_A25; double tmp7 = 0.0; - tmp7 += m_A27 * V[8]; - tmp7 += m_A28 * V[9]; - V[7] = (RHS7 - tmp7) / m_A26; + tmp7 += m_A19 * V[8]; + V[7] = (RHS7 - tmp7) / m_A18; double tmp6 = 0.0; - tmp6 += m_A20 * V[7]; - tmp6 += m_A21 * V[8]; - tmp6 += m_A22 * V[9]; - V[6] = (RHS6 - tmp6) / m_A19; + V[6] = (RHS6 - tmp6) / m_A16; double tmp5 = 0.0; - tmp5 += m_A15 * V[10]; - tmp5 += m_A16 * V[11]; - V[5] = (RHS5 - tmp5) / m_A14; + tmp5 += m_A12 * V[8]; + tmp5 += m_A13 * V[9]; + V[5] = (RHS5 - tmp5) / m_A11; double tmp4 = 0.0; - tmp4 += m_A12 * V[9]; - tmp4 += m_A13 * V[10]; - V[4] = (RHS4 - tmp4) / m_A11; + tmp4 += m_A9 * V[8]; + V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; tmp3 += m_A7 * V[6]; - tmp3 += m_A8 * V[7]; - tmp3 += m_A9 * V[8]; - tmp3 += m_A10 * V[9]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; tmp2 += m_A5 * V[6]; @@ -6033,907 +9014,949 @@ const double f10 = 1.0 / m_A45; tmp1 += m_A3 * V[7]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[8]; + tmp0 += m_A1 * V[9]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// tp1985 +static void nl_gcr_99e69c1880e516a7_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A5 += gt[6]; + m_A5 += gt[7]; + m_A6 += go[6]; + m_A4 += go[7]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + m_A9 += gt[8]; + m_A9 += gt[9]; + m_A7 += go[8]; + m_A8 += go[9]; + double RHS3 = Idr[8]; + RHS3 += Idr[9]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A5 += m_A1 * f0_2; + RHS2 += f0_2 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_3 = -f1 * m_A7; + m_A9 += m_A3 * f1_3; + RHS3 += f1_3 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_3 = -f2 * m_A8; + m_A9 += m_A6 * f2_3; + RHS3 += f2_3 * RHS2; + V[3] = RHS3 / m_A9; + double tmp2 = 0.0; + tmp2 += m_A6 * V[3]; + V[2] = (RHS2 - tmp2) / m_A5; + double tmp1 = 0.0; + tmp1 += m_A3 * V[3]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } -// breakout -static void nl_gcr_7a4e8b4f388d66d7_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// tp1985 +static void nl_gcr_a1806410e32baeb_26_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A6 = gt[8] + gt[9]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + m_A2 += go[1]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + m_A3 += gt[2]; + m_A3 += gt[3]; + m_A3 += gt[4]; + m_A4 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[3] * *cnV[3]; + RHS1 -= go[4] * *cnV[4]; + m_A5 += gt[5]; + m_A5 += gt[6]; + m_A5 += gt[7]; + m_A6 += go[5]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 -= go[6] * *cnV[6]; + RHS2 -= go[7] * *cnV[7]; + m_A7 += gt[8]; + m_A7 += gt[9]; + m_A8 += go[8]; + double RHS3 = Idr[8]; + RHS3 += Idr[9]; + RHS3 -= go[9] * *cnV[9]; + m_A10 += gt[10]; + m_A10 += gt[11]; + m_A10 += gt[12]; + m_A10 += gt[13]; + m_A11 += go[10]; + m_A9 += go[11]; + double RHS4 = Idr[10]; + RHS4 += Idr[11]; + RHS4 += Idr[12]; + RHS4 += Idr[13]; + RHS4 -= go[12] * *cnV[12]; + RHS4 -= go[13] * *cnV[13]; + m_A14 += gt[14]; + m_A14 += gt[15]; + m_A13 += go[14]; + m_A15 += go[15]; + double RHS5 = Idr[14]; + RHS5 += Idr[15]; + m_A19 += gt[16]; + m_A19 += gt[17]; + m_A19 += gt[18]; + m_A19 += gt[19]; + m_A17 += go[16]; + m_A16 += go[17]; + m_A18 += go[18]; + m_A20 += go[19]; + double RHS6 = Idr[16]; + RHS6 += Idr[17]; + RHS6 += Idr[18]; + RHS6 += Idr[19]; + m_A25 += gt[20]; + m_A25 += gt[21]; + m_A25 += gt[22]; + m_A25 += gt[23]; + m_A25 += gt[24]; + m_A23 += go[20]; + m_A24 += go[21]; + m_A21 += go[22]; + double RHS7 = Idr[20]; + RHS7 += Idr[21]; + RHS7 += Idr[22]; + RHS7 += Idr[23]; + RHS7 += Idr[24]; + RHS7 -= go[23] * *cnV[23]; + RHS7 -= go[24] * *cnV[24]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A9; + m_A10 += m_A1 * f0_4; + m_A12 += m_A2 * f0_4; + RHS4 += f0_4 * RHS0; + const double f0_7 = -f0 * m_A21; + m_A22 += m_A1 * f0_7; + m_A25 += m_A2 * f0_7; + RHS7 += f0_7 * RHS0; + const double f1 = 1.0 / m_A3; + const double f1_6 = -f1 * m_A16; + m_A19 += m_A4 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_6 = -f2 * m_A17; + m_A19 += m_A6 * f2_6; + RHS6 += f2_6 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_5 = -f3 * m_A13; + m_A14 += m_A8 * f3_5; + RHS5 += f3_5 * RHS3; + const double f4 = 1.0 / m_A10; + const double f4_6 = -f4 * m_A18; + m_A19 += m_A11 * f4_6; + m_A20 += m_A12 * f4_6; + RHS6 += f4_6 * RHS4; + const double f4_7 = -f4 * m_A22; + m_A24 += m_A11 * f4_7; + m_A25 += m_A12 * f4_7; + RHS7 += f4_7 * RHS4; + const double f5 = 1.0 / m_A14; + const double f5_7 = -f5 * m_A23; + m_A25 += m_A15 * f5_7; + RHS7 += f5_7 * RHS5; + const double f6 = 1.0 / m_A19; + const double f6_7 = -f6 * m_A24; + m_A25 += m_A20 * f6_7; + RHS7 += f6_7 * RHS6; + V[7] = RHS7 / m_A25; + double tmp6 = 0.0; + tmp6 += m_A20 * V[7]; + V[6] = (RHS6 - tmp6) / m_A19; + double tmp5 = 0.0; + tmp5 += m_A15 * V[7]; + V[5] = (RHS5 - tmp5) / m_A14; + double tmp4 = 0.0; + tmp4 += m_A11 * V[6]; + tmp4 += m_A12 * V[7]; + V[4] = (RHS4 - tmp4) / m_A10; + double tmp3 = 0.0; + tmp3 += m_A8 * V[5]; + V[3] = (RHS3 - tmp3) / m_A7; + double tmp2 = 0.0; + tmp2 += m_A6 * V[6]; + V[2] = (RHS2 - tmp2) / m_A5; double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; - V[1] = (RHS1 - tmp1) / m_A2; + tmp1 += m_A4 * V[6]; + V[1] = (RHS1 - tmp1) / m_A3; double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; + tmp0 += m_A1 * V[4]; + tmp0 += m_A2 * V[7]; V[0] = (RHS0 - tmp0) / m_A0; } -// 280zzzap -static void nl_gcr_7af598c34aca424d_135_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// gunfight +static void nl_gcr_a479712c277f2ba4_108_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); -double m_A111(0.0); -double m_A112(0.0); -double m_A113(0.0); -double m_A114(0.0); -double m_A115(0.0); -double m_A116(0.0); -double m_A117(0.0); -double m_A118(0.0); -double m_A119(0.0); -double m_A120(0.0); -double m_A121(0.0); -double m_A122(0.0); -double m_A123(0.0); -double m_A124(0.0); -double m_A125(0.0); -double m_A126(0.0); -double m_A127(0.0); -double m_A128(0.0); -double m_A129(0.0); -double m_A130(0.0); -double m_A131(0.0); -double m_A132(0.0); -double m_A133(0.0); -double m_A134(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[10] + gt[11]; - m_A3 = m_A3 + go[10]; - double RHS1 = Idr[10] + Idr[11] - go[11] * *cnV[11]; - m_A4 = gt[20] + gt[21] + gt[22]; - m_A5 = m_A5 + go[20]; - double RHS2 = Idr[20] + Idr[21] + Idr[22] - go[21] * *cnV[21] - go[22] * *cnV[22]; - m_A6 = gt[30] + gt[31] + gt[32] + gt[33] + gt[34] + gt[35] + gt[36]; - m_A7 = m_A7 + go[30]; - double RHS3 = Idr[30] + Idr[31] + Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[31] * *cnV[31] - go[32] * *cnV[32] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36]; - m_A8 = gt[40] + gt[41]; - m_A9 = m_A9 + go[40]; - double RHS4 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A10 = gt[50] + gt[51] + gt[52] + gt[53]; - m_A12 = m_A12 + go[50]; - m_A13 = m_A13 + go[51]; - m_A11 = m_A11 + go[52]; - double RHS5 = Idr[50] + Idr[51] + Idr[52] + Idr[53] - go[53] * *cnV[53]; - m_A14 = gt[60] + gt[61] + gt[62] + gt[63] + gt[64] + gt[65] + gt[66]; - m_A15 = m_A15 + go[60]; - double RHS6 = Idr[60] + Idr[61] + Idr[62] + Idr[63] + Idr[64] + Idr[65] + Idr[66] - go[61] * *cnV[61] - go[62] * *cnV[62] - go[63] * *cnV[63] - go[64] * *cnV[64] - go[65] * *cnV[65] - go[66] * *cnV[66]; - m_A16 = gt[70] + gt[71]; - m_A17 = m_A17 + go[70]; - m_A18 = m_A18 + go[71]; - double RHS7 = Idr[70] + Idr[71]; - m_A19 = gt[80] + gt[81] + gt[82]; - m_A20 = m_A20 + go[80]; - double RHS8 = Idr[80] + Idr[81] + Idr[82] - go[81] * *cnV[81] - go[82] * *cnV[82]; - m_A21 = gt[90] + gt[91]; - m_A22 = m_A22 + go[90]; - double RHS9 = Idr[90] + Idr[91] - go[91] * *cnV[91]; - m_A23 = gt[100] + gt[101]; - m_A24 = m_A24 + go[100]; - double RHS10 = Idr[100] + Idr[101] - go[101] * *cnV[101]; - m_A25 = gt[110] + gt[111] + gt[112]; - m_A27 = m_A27 + go[110]; - m_A26 = m_A26 + go[111]; - m_A26 = m_A26 + go[112]; - double RHS11 = Idr[110] + Idr[111] + Idr[112]; - m_A28 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124] + gt[125] + gt[126]; - m_A29 = m_A29 + go[120]; - double RHS12 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124] + Idr[125] + Idr[126] - go[121] * *cnV[121] - go[122] * *cnV[122] - go[123] * *cnV[123] - go[124] * *cnV[124] - go[125] * *cnV[125] - go[126] * *cnV[126]; - m_A30 = gt[130] + gt[131] + gt[132]; - m_A31 = m_A31 + go[130]; - double RHS13 = Idr[130] + Idr[131] + Idr[132] - go[131] * *cnV[131] - go[132] * *cnV[132]; - m_A32 = gt[140] + gt[141] + gt[142] + gt[143]; - m_A34 = m_A34 + go[140]; - m_A33 = m_A33 + go[141]; - m_A35 = m_A35 + go[142]; - double RHS14 = Idr[140] + Idr[141] + Idr[142] + Idr[143] - go[143] * *cnV[143]; - m_A37 = gt[150] + gt[151]; - m_A36 = m_A36 + go[150]; - double RHS15 = Idr[150] + Idr[151] - go[151] * *cnV[151]; - m_A39 = gt[160] + gt[161] + gt[162] + gt[163]; - m_A38 = m_A38 + go[160]; - m_A40 = m_A40 + go[161]; - double RHS16 = Idr[160] + Idr[161] + Idr[162] + Idr[163] - go[162] * *cnV[162] - go[163] * *cnV[163]; - m_A42 = gt[170] + gt[171]; - m_A41 = m_A41 + go[170]; - double RHS17 = Idr[170] + Idr[171] - go[171] * *cnV[171]; - m_A45 = gt[180] + gt[181]; - m_A43 = m_A43 + go[180]; - m_A44 = m_A44 + go[181]; - double RHS18 = Idr[180] + Idr[181]; - m_A49 = gt[190] + gt[191]; - m_A48 = m_A48 + go[190]; - double RHS19 = Idr[190] + Idr[191] - go[191] * *cnV[191]; - m_A51 = gt[200] + gt[201] + gt[202] + gt[203]; - m_A53 = m_A53 + go[200]; - m_A50 = m_A50 + go[201]; - m_A54 = m_A54 + go[202]; - double RHS20 = Idr[200] + Idr[201] + Idr[202] + Idr[203] - go[203] * *cnV[203]; - m_A62 = gt[210] + gt[211] + gt[212] + gt[213] + gt[214] + gt[215] + gt[216] + gt[217] + gt[218]; - m_A55 = m_A55 + go[210]; - m_A58 = m_A58 + go[211]; - m_A58 = m_A58 + go[212]; - m_A57 = m_A57 + go[213]; - m_A56 = m_A56 + go[214]; - m_A65 = m_A65 + go[215]; - double RHS21 = Idr[210] + Idr[211] + Idr[212] + Idr[213] + Idr[214] + Idr[215] + Idr[216] + Idr[217] + Idr[218] - go[216] * *cnV[216] - go[217] * *cnV[217] - go[218] * *cnV[218]; - m_A70 = gt[220] + gt[221]; - m_A68 = m_A68 + go[220]; - m_A67 = m_A67 + go[221]; - double RHS22 = Idr[220] + Idr[221]; - m_A77 = gt[230] + gt[231] + gt[232] + gt[233]; - m_A76 = m_A76 + go[230]; - m_A78 = m_A78 + go[231]; - double RHS23 = Idr[230] + Idr[231] + Idr[232] + Idr[233] - go[232] * *cnV[232] - go[233] * *cnV[233]; - m_A83 = gt[240] + gt[241] + gt[242] + gt[243] + gt[244] + gt[245]; - m_A79 = m_A79 + go[240]; - m_A80 = m_A80 + go[241]; - m_A86 = m_A86 + go[242]; - double RHS24 = Idr[240] + Idr[241] + Idr[242] + Idr[243] + Idr[244] + Idr[245] - go[243] * *cnV[243] - go[244] * *cnV[244] - go[245] * *cnV[245]; - m_A89 = gt[250] + gt[251] + gt[252] + gt[253]; - m_A88 = m_A88 + go[250]; - m_A90 = m_A90 + go[251]; - double RHS25 = Idr[250] + Idr[251] + Idr[252] + Idr[253] - go[252] * *cnV[252] - go[253] * *cnV[253]; - m_A98 = gt[260] + gt[261] + gt[262] + gt[263] + gt[264] + gt[265]; - m_A91 = m_A91 + go[260]; - m_A92 = m_A92 + go[261]; - m_A93 = m_A93 + go[262]; - m_A101 = m_A101 + go[263]; - double RHS26 = Idr[260] + Idr[261] + Idr[262] + Idr[263] + Idr[264] + Idr[265] - go[264] * *cnV[264] - go[265] * *cnV[265]; - m_A111 = gt[270] + gt[271] + gt[272] + gt[273] + gt[274]; - m_A107 = m_A107 + go[270]; - m_A105 = m_A105 + go[271]; - m_A104 = m_A104 + go[272]; - m_A103 = m_A103 + go[273]; - m_A102 = m_A102 + go[274]; - double RHS27 = Idr[270] + Idr[271] + Idr[272] + Idr[273] + Idr[274]; - m_A122 = gt[280] + gt[281] + gt[282] + gt[283] + gt[284]; - m_A119 = m_A119 + go[280]; - m_A117 = m_A117 + go[281]; - m_A116 = m_A116 + go[282]; - m_A115 = m_A115 + go[283]; - m_A114 = m_A114 + go[284]; - double RHS28 = Idr[280] + Idr[281] + Idr[282] + Idr[283] + Idr[284]; - m_A134 = gt[290] + gt[291] + gt[292] + gt[293] + gt[294]; - m_A131 = m_A131 + go[290]; - m_A126 = m_A126 + go[291]; - m_A127 = m_A127 + go[292]; - m_A125 = m_A125 + go[293]; - m_A124 = m_A124 + go[294]; - double RHS29 = Idr[290] + Idr[291] + Idr[292] + Idr[293] + Idr[294]; -const double f0 = 1.0 / m_A0; - const double f0_18 = -f0 * m_A43; - m_A45 += m_A1 * f0_18; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A7 += go[6]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + RHS3 -= go[7] * *cnV[7]; + m_A8 += gt[8]; + m_A8 += gt[9]; + m_A9 += go[8]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + RHS4 -= go[9] * *cnV[9]; + m_A10 += gt[10]; + m_A10 += gt[11]; + m_A10 += gt[12]; + m_A10 += gt[13]; + m_A11 += go[10]; + m_A12 += go[11]; + double RHS5 = Idr[10]; + RHS5 += Idr[11]; + RHS5 += Idr[12]; + RHS5 += Idr[13]; + RHS5 -= go[12] * *cnV[12]; + RHS5 -= go[13] * *cnV[13]; + m_A13 += gt[14]; + m_A13 += gt[15]; + m_A15 += go[14]; + m_A14 += go[15]; + double RHS6 = Idr[14]; + RHS6 += Idr[15]; + m_A16 += gt[16]; + m_A16 += gt[17]; + m_A18 += go[16]; + m_A17 += go[17]; + double RHS7 = Idr[16]; + RHS7 += Idr[17]; + m_A20 += gt[18]; + m_A20 += gt[19]; + m_A20 += gt[20]; + m_A19 += go[18]; + m_A21 += go[19]; + double RHS8 = Idr[18]; + RHS8 += Idr[19]; + RHS8 += Idr[20]; + RHS8 -= go[20] * *cnV[20]; + m_A24 += gt[21]; + m_A24 += gt[22]; + m_A24 += gt[23]; + m_A23 += go[21]; + m_A25 += go[22]; + double RHS9 = Idr[21]; + RHS9 += Idr[22]; + RHS9 += Idr[23]; + RHS9 -= go[23] * *cnV[23]; + m_A28 += gt[24]; + m_A28 += gt[25]; + m_A28 += gt[26]; + m_A27 += go[24]; + m_A30 += go[25]; + double RHS10 = Idr[24]; + RHS10 += Idr[25]; + RHS10 += Idr[26]; + RHS10 -= go[26] * *cnV[26]; + m_A32 += gt[27]; + m_A32 += gt[28]; + m_A32 += gt[29]; + m_A31 += go[27]; + m_A33 += go[28]; + double RHS11 = Idr[27]; + RHS11 += Idr[28]; + RHS11 += Idr[29]; + RHS11 -= go[29] * *cnV[29]; + m_A35 += gt[30]; + m_A35 += gt[31]; + m_A35 += gt[32]; + m_A35 += gt[33]; + m_A37 += go[30]; + m_A36 += go[31]; + double RHS12 = Idr[30]; + RHS12 += Idr[31]; + RHS12 += Idr[32]; + RHS12 += Idr[33]; + RHS12 -= go[32] * *cnV[32]; + RHS12 -= go[33] * *cnV[33]; + m_A38 += gt[34]; + m_A38 += gt[35]; + m_A38 += gt[36]; + m_A40 += go[34]; + m_A39 += go[35]; + double RHS13 = Idr[34]; + RHS13 += Idr[35]; + RHS13 += Idr[36]; + RHS13 -= go[36] * *cnV[36]; + m_A41 += gt[37]; + m_A41 += gt[38]; + m_A41 += gt[39]; + m_A43 += go[37]; + m_A42 += go[38]; + double RHS14 = Idr[37]; + RHS14 += Idr[38]; + RHS14 += Idr[39]; + RHS14 -= go[39] * *cnV[39]; + m_A44 += gt[40]; + m_A44 += gt[41]; + m_A44 += gt[42]; + m_A46 += go[40]; + m_A45 += go[41]; + double RHS15 = Idr[40]; + RHS15 += Idr[41]; + RHS15 += Idr[42]; + RHS15 -= go[42] * *cnV[42]; + m_A49 += gt[43]; + m_A49 += gt[44]; + m_A47 += go[43]; + m_A48 += go[44]; + double RHS16 = Idr[43]; + RHS16 += Idr[44]; + m_A53 += gt[45]; + m_A53 += gt[46]; + m_A51 += go[45]; + m_A52 += go[46]; + double RHS17 = Idr[45]; + RHS17 += Idr[46]; + m_A56 += gt[47]; + m_A56 += gt[48]; + m_A56 += gt[49]; + m_A55 += go[47]; + m_A57 += go[48]; + double RHS18 = Idr[47]; + RHS18 += Idr[48]; + RHS18 += Idr[49]; + RHS18 -= go[49] * *cnV[49]; + m_A59 += gt[50]; + m_A59 += gt[51]; + m_A58 += go[50]; + m_A60 += go[51]; + double RHS19 = Idr[50]; + RHS19 += Idr[51]; + m_A62 += gt[52]; + m_A62 += gt[53]; + m_A62 += gt[54]; + m_A62 += gt[55]; + m_A64 += go[52]; + m_A63 += go[53]; + m_A61 += go[54]; + double RHS20 = Idr[52]; + RHS20 += Idr[53]; + RHS20 += Idr[54]; + RHS20 += Idr[55]; + RHS20 -= go[55] * *cnV[55]; + m_A67 += gt[56]; + m_A67 += gt[57]; + m_A67 += gt[58]; + m_A67 += gt[59]; + m_A66 += go[56]; + m_A65 += go[57]; + m_A68 += go[58]; + double RHS21 = Idr[56]; + RHS21 += Idr[57]; + RHS21 += Idr[58]; + RHS21 += Idr[59]; + RHS21 -= go[59] * *cnV[59]; + m_A70 += gt[60]; + m_A70 += gt[61]; + m_A70 += gt[62]; + m_A70 += gt[63]; + m_A72 += go[60]; + m_A71 += go[61]; + m_A69 += go[62]; + double RHS22 = Idr[60]; + RHS22 += Idr[61]; + RHS22 += Idr[62]; + RHS22 += Idr[63]; + RHS22 -= go[63] * *cnV[63]; + m_A77 += gt[64]; + m_A77 += gt[65]; + m_A77 += gt[66]; + m_A77 += gt[67]; + m_A77 += gt[68]; + m_A77 += gt[69]; + m_A78 += go[64]; + m_A73 += go[65]; + m_A74 += go[66]; + m_A76 += go[67]; + double RHS23 = Idr[64]; + RHS23 += Idr[65]; + RHS23 += Idr[66]; + RHS23 += Idr[67]; + RHS23 += Idr[68]; + RHS23 += Idr[69]; + RHS23 -= go[68] * *cnV[68]; + RHS23 -= go[69] * *cnV[69]; + m_A83 += gt[70]; + m_A83 += gt[71]; + m_A83 += gt[72]; + m_A83 += gt[73]; + m_A83 += gt[74]; + m_A83 += gt[75]; + m_A84 += go[70]; + m_A79 += go[71]; + m_A80 += go[72]; + m_A82 += go[73]; + double RHS24 = Idr[70]; + RHS24 += Idr[71]; + RHS24 += Idr[72]; + RHS24 += Idr[73]; + RHS24 += Idr[74]; + RHS24 += Idr[75]; + RHS24 -= go[74] * *cnV[74]; + RHS24 -= go[75] * *cnV[75]; + m_A89 += gt[76]; + m_A89 += gt[77]; + m_A89 += gt[78]; + m_A89 += gt[79]; + m_A85 += go[76]; + m_A86 += go[77]; + m_A88 += go[78]; + m_A87 += go[79]; + double RHS25 = Idr[76]; + RHS25 += Idr[77]; + RHS25 += Idr[78]; + RHS25 += Idr[79]; + m_A100 += gt[80]; + m_A100 += gt[81]; + m_A100 += gt[82]; + m_A100 += gt[83]; + m_A100 += gt[84]; + m_A100 += gt[85]; + m_A98 += go[80]; + m_A91 += go[81]; + m_A92 += go[82]; + m_A93 += go[83]; + double RHS26 = Idr[80]; + RHS26 += Idr[81]; + RHS26 += Idr[82]; + RHS26 += Idr[83]; + RHS26 += Idr[84]; + RHS26 += Idr[85]; + RHS26 -= go[84] * *cnV[84]; + RHS26 -= go[85] * *cnV[85]; + m_A107 += gt[86]; + m_A107 += gt[87]; + m_A107 += gt[88]; + m_A107 += gt[89]; + m_A102 += go[86]; + m_A103 += go[87]; + m_A105 += go[88]; + m_A104 += go[89]; + double RHS27 = Idr[86]; + RHS27 += Idr[87]; + RHS27 += Idr[88]; + RHS27 += Idr[89]; + const double f0 = 1.0 / m_A0; + const double f0_18 = -f0 * m_A55; + m_A56 += m_A1 * f0_18; RHS18 += f0_18 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_15 = -f1 * m_A36; - m_A37 += m_A3 * f1_15; - RHS15 += f1_15 * RHS1; - const double f1_27 = -f1 * m_A102; - m_A105 += m_A3 * f1_27; - RHS27 += f1_27 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_16 = -f2 * m_A38; - m_A40 += m_A5 * f2_16; - RHS16 += f2_16 * RHS2; - const double f2_27 = -f2 * m_A103; - m_A111 += m_A5 * f2_27; - RHS27 += f2_27 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_21 = -f3 * m_A55; - m_A59 += m_A7 * f3_21; - RHS21 += f3_21 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_17 = -f4 * m_A41; - m_A42 += m_A9 * f4_17; - RHS17 += f4_17 * RHS4; - const double f4_29 = -f4 * m_A124; - m_A126 += m_A9 * f4_29; - RHS29 += f4_29 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_18 = -f5 * m_A44; - m_A45 += m_A11 * f5_18; - m_A46 += m_A12 * f5_18; - m_A47 += m_A13 * f5_18; - RHS18 += f5_18 * RHS5; - const double f5_21 = -f5 * m_A56; - m_A60 += m_A11 * f5_21; - m_A62 += m_A12 * f5_21; - m_A65 += m_A13 * f5_21; + const double f1 = 1.0 / m_A2; + const double f1_16 = -f1 * m_A47; + m_A49 += m_A3 * f1_16; + RHS16 += f1_16 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_17 = -f2 * m_A51; + m_A53 += m_A5 * f2_17; + RHS17 += f2_17 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_22 = -f3 * m_A69; + m_A70 += m_A7 * f3_22; + RHS22 += f3_22 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_20 = -f4 * m_A61; + m_A62 += m_A9 * f4_20; + RHS20 += f4_20 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_21 = -f5 * m_A65; + m_A67 += m_A11 * f5_21; + m_A68 += m_A12 * f5_21; RHS21 += f5_21 * RHS5; - const double f5_27 = -f5 * m_A104; - m_A106 += m_A11 * f5_27; - m_A107 += m_A12 * f5_27; - m_A111 += m_A13 * f5_27; - RHS27 += f5_27 * RHS5; -const double f6 = 1.0 / m_A14; - const double f6_26 = -f6 * m_A91; - m_A97 += m_A15 * f6_26; + const double f5_26 = -f5 * m_A91; + m_A98 += m_A11 * f5_26; + m_A100 += m_A12 * f5_26; + RHS26 += f5_26 * RHS5; + const double f6 = 1.0 / m_A13; + const double f6_8 = -f6 * m_A19; + m_A20 += m_A14 * f6_8; + m_A22 += m_A15 * f6_8; + RHS8 += f6_8 * RHS6; + const double f6_26 = -f6 * m_A92; + m_A94 += m_A14 * f6_26; + m_A100 += m_A15 * f6_26; RHS26 += f6_26 * RHS6; -const double f7 = 1.0 / m_A16; - const double f7_20 = -f7 * m_A50; - m_A51 += m_A17 * f7_20; - m_A52 += m_A18 * f7_20; - RHS20 += f7_20 * RHS7; - const double f7_21 = -f7 * m_A57; - m_A61 += m_A17 * f7_21; - m_A62 += m_A18 * f7_21; - RHS21 += f7_21 * RHS7; -const double f8 = 1.0 / m_A19; - const double f8_25 = -f8 * m_A88; - m_A90 += m_A20 * f8_25; - RHS25 += f8_25 * RHS8; - const double f8_29 = -f8 * m_A125; - m_A134 += m_A20 * f8_29; - RHS29 += f8_29 * RHS8; -const double f9 = 1.0 / m_A21; - const double f9_19 = -f9 * m_A48; - m_A49 += m_A22 * f9_19; - RHS19 += f9_19 * RHS9; - const double f9_28 = -f9 * m_A114; - m_A117 += m_A22 * f9_28; - RHS28 += f9_28 * RHS9; -const double f10 = 1.0 / m_A23; - const double f10_26 = -f10 * m_A92; - m_A98 += m_A24 * f10_26; - RHS26 += f10_26 * RHS10; -const double f11 = 1.0 / m_A25; - const double f11_21 = -f11 * m_A58; - m_A62 += m_A26 * f11_21; - m_A63 += m_A27 * f11_21; - RHS21 += f11_21 * RHS11; - const double f11_22 = -f11 * m_A67; - m_A69 += m_A26 * f11_22; - m_A70 += m_A27 * f11_22; - RHS22 += f11_22 * RHS11; -const double f12 = 1.0 / m_A28; - const double f12_24 = -f12 * m_A79; - m_A82 += m_A29 * f12_24; - RHS24 += f12_24 * RHS12; -const double f13 = 1.0 / m_A30; - const double f13_23 = -f13 * m_A76; - m_A78 += m_A31 * f13_23; - RHS23 += f13_23 * RHS13; - const double f13_28 = -f13 * m_A115; - m_A122 += m_A31 * f13_28; - RHS28 += f13_28 * RHS13; -const double f14 = 1.0 / m_A32; - const double f14_22 = -f14 * m_A68; - m_A70 += m_A33 * f14_22; - m_A71 += m_A34 * f14_22; - m_A74 += m_A35 * f14_22; - RHS22 += f14_22 * RHS14; - const double f14_24 = -f14 * m_A80; - m_A81 += m_A33 * f14_24; - m_A83 += m_A34 * f14_24; - m_A86 += m_A35 * f14_24; - RHS24 += f14_24 * RHS14; - const double f14_28 = -f14 * m_A116; - m_A118 += m_A33 * f14_28; - m_A119 += m_A34 * f14_28; - m_A122 += m_A35 * f14_28; - RHS28 += f14_28 * RHS14; -const double f15 = 1.0 / m_A37; - const double f15_27 = -f15 * m_A105; - RHS27 += f15_27 * RHS15; -const double f16 = 1.0 / m_A39; - const double f16_21 = -f16 * m_A59; - m_A65 += m_A40 * f16_21; - RHS21 += f16_21 * RHS16; -const double f17 = 1.0 / m_A42; - const double f17_29 = -f17 * m_A126; - RHS29 += f17_29 * RHS17; -const double f18 = 1.0 / m_A45; - const double f18_21 = -f18 * m_A60; - m_A62 += m_A46 * f18_21; - m_A65 += m_A47 * f18_21; - RHS21 += f18_21 * RHS18; - const double f18_27 = -f18 * m_A106; - m_A107 += m_A46 * f18_27; - m_A111 += m_A47 * f18_27; - RHS27 += f18_27 * RHS18; -const double f19 = 1.0 / m_A49; - const double f19_28 = -f19 * m_A117; - RHS28 += f19_28 * RHS19; -const double f20 = 1.0 / m_A51; - const double f20_21 = -f20 * m_A61; - m_A62 += m_A52 * f20_21; - m_A64 += m_A53 * f20_21; - m_A66 += m_A54 * f20_21; - RHS21 += f20_21 * RHS20; - const double f20_26 = -f20 * m_A93; - m_A94 += m_A52 * f20_26; - m_A98 += m_A53 * f20_26; - m_A101 += m_A54 * f20_26; - RHS26 += f20_26 * RHS20; - const double f20_29 = -f20 * m_A127; - m_A128 += m_A52 * f20_29; - m_A131 += m_A53 * f20_29; - m_A134 += m_A54 * f20_29; - RHS29 += f20_29 * RHS20; -const double f21 = 1.0 / m_A62; - const double f21_22 = -f21 * m_A69; - m_A70 += m_A63 * f21_22; - m_A72 += m_A64 * f21_22; - m_A73 += m_A65 * f21_22; - m_A75 += m_A66 * f21_22; - RHS22 += f21_22 * RHS21; - const double f21_26 = -f21 * m_A94; - m_A95 += m_A63 * f21_26; - m_A98 += m_A64 * f21_26; - m_A99 += m_A65 * f21_26; - m_A101 += m_A66 * f21_26; + const double f7 = 1.0 / m_A16; + const double f7_9 = -f7 * m_A23; + m_A24 += m_A17 * f7_9; + m_A26 += m_A18 * f7_9; + RHS9 += f7_9 * RHS7; + const double f7_26 = -f7 * m_A93; + m_A95 += m_A17 * f7_26; + m_A100 += m_A18 * f7_26; + RHS26 += f7_26 * RHS7; + const double f8 = 1.0 / m_A20; + const double f8_10 = -f8 * m_A27; + m_A28 += m_A21 * f8_10; + m_A29 += m_A22 * f8_10; + RHS10 += f8_10 * RHS8; + const double f8_26 = -f8 * m_A94; + m_A96 += m_A21 * f8_26; + m_A100 += m_A22 * f8_26; + RHS26 += f8_26 * RHS8; + const double f9 = 1.0 / m_A24; + const double f9_11 = -f9 * m_A31; + m_A32 += m_A25 * f9_11; + m_A34 += m_A26 * f9_11; + RHS11 += f9_11 * RHS9; + const double f9_26 = -f9 * m_A95; + m_A97 += m_A25 * f9_26; + m_A100 += m_A26 * f9_26; + RHS26 += f9_26 * RHS9; + const double f10 = 1.0 / m_A28; + const double f10_26 = -f10 * m_A96; + m_A100 += m_A29 * f10_26; + m_A101 += m_A30 * f10_26; + RHS26 += f10_26 * RHS10; + const double f10_27 = -f10 * m_A102; + m_A106 += m_A29 * f10_27; + m_A107 += m_A30 * f10_27; + RHS27 += f10_27 * RHS10; + const double f11 = 1.0 / m_A32; + const double f11_25 = -f11 * m_A85; + m_A89 += m_A33 * f11_25; + m_A90 += m_A34 * f11_25; + RHS25 += f11_25 * RHS11; + const double f11_26 = -f11 * m_A97; + m_A99 += m_A33 * f11_26; + m_A100 += m_A34 * f11_26; + RHS26 += f11_26 * RHS11; + const double f12 = 1.0 / m_A35; + const double f12_23 = -f12 * m_A73; + m_A77 += m_A36 * f12_23; + m_A78 += m_A37 * f12_23; + RHS23 += f12_23 * RHS12; + const double f12_27 = -f12 * m_A103; + m_A105 += m_A36 * f12_27; + m_A107 += m_A37 * f12_27; + RHS27 += f12_27 * RHS12; + const double f13 = 1.0 / m_A38; + const double f13_24 = -f13 * m_A79; + m_A83 += m_A39 * f13_24; + m_A84 += m_A40 * f13_24; + RHS24 += f13_24 * RHS13; + const double f13_25 = -f13 * m_A86; + m_A88 += m_A39 * f13_25; + m_A89 += m_A40 * f13_25; + RHS25 += f13_25 * RHS13; + const double f14 = 1.0 / m_A41; + const double f14_16 = -f14 * m_A48; + m_A49 += m_A42 * f14_16; + m_A50 += m_A43 * f14_16; + RHS16 += f14_16 * RHS14; + const double f14_23 = -f14 * m_A74; + m_A75 += m_A42 * f14_23; + m_A77 += m_A43 * f14_23; + RHS23 += f14_23 * RHS14; + const double f15 = 1.0 / m_A44; + const double f15_17 = -f15 * m_A52; + m_A53 += m_A45 * f15_17; + m_A54 += m_A46 * f15_17; + RHS17 += f15_17 * RHS15; + const double f15_24 = -f15 * m_A80; + m_A81 += m_A45 * f15_24; + m_A83 += m_A46 * f15_24; + RHS24 += f15_24 * RHS15; + const double f16 = 1.0 / m_A49; + const double f16_23 = -f16 * m_A75; + m_A77 += m_A50 * f16_23; + RHS23 += f16_23 * RHS16; + const double f17 = 1.0 / m_A53; + const double f17_24 = -f17 * m_A81; + m_A83 += m_A54 * f17_24; + RHS24 += f17_24 * RHS17; + const double f18 = 1.0 / m_A56; + const double f18_19 = -f18 * m_A58; + m_A59 += m_A57 * f18_19; + RHS19 += f18_19 * RHS18; + const double f19 = 1.0 / m_A59; + const double f19_21 = -f19 * m_A66; + m_A67 += m_A60 * f19_21; + RHS21 += f19_21 * RHS19; + const double f20 = 1.0 / m_A62; + const double f20_24 = -f20 * m_A82; + m_A83 += m_A63 * f20_24; + m_A84 += m_A64 * f20_24; + RHS24 += f20_24 * RHS20; + const double f20_25 = -f20 * m_A87; + m_A88 += m_A63 * f20_25; + m_A89 += m_A64 * f20_25; + RHS25 += f20_25 * RHS20; + const double f21 = 1.0 / m_A67; + const double f21_26 = -f21 * m_A98; + m_A100 += m_A68 * f21_26; RHS26 += f21_26 * RHS21; - const double f21_27 = -f21 * m_A107; - m_A108 += m_A63 * f21_27; - m_A110 += m_A64 * f21_27; - m_A111 += m_A65 * f21_27; - m_A113 += m_A66 * f21_27; - RHS27 += f21_27 * RHS21; - const double f21_29 = -f21 * m_A128; - m_A129 += m_A63 * f21_29; - m_A131 += m_A64 * f21_29; - m_A132 += m_A65 * f21_29; - m_A134 += m_A66 * f21_29; - RHS29 += f21_29 * RHS21; -const double f22 = 1.0 / m_A70; - const double f22_24 = -f22 * m_A81; - m_A83 += m_A71 * f22_24; - m_A84 += m_A72 * f22_24; - m_A85 += m_A73 * f22_24; - m_A86 += m_A74 * f22_24; - m_A87 += m_A75 * f22_24; - RHS24 += f22_24 * RHS22; - const double f22_26 = -f22 * m_A95; - m_A96 += m_A71 * f22_26; - m_A98 += m_A72 * f22_26; - m_A99 += m_A73 * f22_26; - m_A100 += m_A74 * f22_26; - m_A101 += m_A75 * f22_26; - RHS26 += f22_26 * RHS22; - const double f22_27 = -f22 * m_A108; - m_A109 += m_A71 * f22_27; - m_A110 += m_A72 * f22_27; - m_A111 += m_A73 * f22_27; - m_A112 += m_A74 * f22_27; - m_A113 += m_A75 * f22_27; + const double f22 = 1.0 / m_A70; + const double f22_23 = -f22 * m_A76; + m_A77 += m_A71 * f22_23; + m_A78 += m_A72 * f22_23; + RHS23 += f22_23 * RHS22; + const double f22_27 = -f22 * m_A104; + m_A105 += m_A71 * f22_27; + m_A107 += m_A72 * f22_27; RHS27 += f22_27 * RHS22; - const double f22_28 = -f22 * m_A118; - m_A119 += m_A71 * f22_28; - m_A120 += m_A72 * f22_28; - m_A121 += m_A73 * f22_28; - m_A122 += m_A74 * f22_28; - m_A123 += m_A75 * f22_28; - RHS28 += f22_28 * RHS22; - const double f22_29 = -f22 * m_A129; - m_A130 += m_A71 * f22_29; - m_A131 += m_A72 * f22_29; - m_A132 += m_A73 * f22_29; - m_A133 += m_A74 * f22_29; - m_A134 += m_A75 * f22_29; - RHS29 += f22_29 * RHS22; -const double f23 = 1.0 / m_A77; - const double f23_24 = -f23 * m_A82; - m_A86 += m_A78 * f23_24; - RHS24 += f23_24 * RHS23; -const double f24 = 1.0 / m_A83; - const double f24_26 = -f24 * m_A96; - m_A98 += m_A84 * f24_26; - m_A99 += m_A85 * f24_26; - m_A100 += m_A86 * f24_26; - m_A101 += m_A87 * f24_26; - RHS26 += f24_26 * RHS24; - const double f24_27 = -f24 * m_A109; - m_A110 += m_A84 * f24_27; - m_A111 += m_A85 * f24_27; - m_A112 += m_A86 * f24_27; - m_A113 += m_A87 * f24_27; - RHS27 += f24_27 * RHS24; - const double f24_28 = -f24 * m_A119; - m_A120 += m_A84 * f24_28; - m_A121 += m_A85 * f24_28; - m_A122 += m_A86 * f24_28; - m_A123 += m_A87 * f24_28; - RHS28 += f24_28 * RHS24; - const double f24_29 = -f24 * m_A130; - m_A131 += m_A84 * f24_29; - m_A132 += m_A85 * f24_29; - m_A133 += m_A86 * f24_29; - m_A134 += m_A87 * f24_29; - RHS29 += f24_29 * RHS24; -const double f25 = 1.0 / m_A89; - const double f25_26 = -f25 * m_A97; - m_A101 += m_A90 * f25_26; + const double f23 = 1.0 / m_A77; + const double f23_27 = -f23 * m_A105; + m_A107 += m_A78 * f23_27; + RHS27 += f23_27 * RHS23; + const double f24 = 1.0 / m_A83; + const double f24_25 = -f24 * m_A88; + m_A89 += m_A84 * f24_25; + RHS25 += f24_25 * RHS24; + const double f25 = 1.0 / m_A89; + const double f25_26 = -f25 * m_A99; + m_A100 += m_A90 * f25_26; RHS26 += f25_26 * RHS25; -const double f26 = 1.0 / m_A98; - const double f26_27 = -f26 * m_A110; - m_A111 += m_A99 * f26_27; - m_A112 += m_A100 * f26_27; - m_A113 += m_A101 * f26_27; + const double f26 = 1.0 / m_A100; + const double f26_27 = -f26 * m_A106; + m_A107 += m_A101 * f26_27; RHS27 += f26_27 * RHS26; - const double f26_28 = -f26 * m_A120; - m_A121 += m_A99 * f26_28; - m_A122 += m_A100 * f26_28; - m_A123 += m_A101 * f26_28; - RHS28 += f26_28 * RHS26; - const double f26_29 = -f26 * m_A131; - m_A132 += m_A99 * f26_29; - m_A133 += m_A100 * f26_29; - m_A134 += m_A101 * f26_29; - RHS29 += f26_29 * RHS26; -const double f27 = 1.0 / m_A111; - const double f27_28 = -f27 * m_A121; - m_A122 += m_A112 * f27_28; - m_A123 += m_A113 * f27_28; - RHS28 += f27_28 * RHS27; - const double f27_29 = -f27 * m_A132; - m_A133 += m_A112 * f27_29; - m_A134 += m_A113 * f27_29; - RHS29 += f27_29 * RHS27; -const double f28 = 1.0 / m_A122; - const double f28_29 = -f28 * m_A133; - m_A134 += m_A123 * f28_29; - RHS29 += f28_29 * RHS28; - V[29] = RHS29 / m_A134; - double tmp28 = 0.0; - tmp28 += m_A123 * V[29]; - V[28] = (RHS28 - tmp28) / m_A122; - double tmp27 = 0.0; - tmp27 += m_A112 * V[28]; - tmp27 += m_A113 * V[29]; - V[27] = (RHS27 - tmp27) / m_A111; + V[27] = RHS27 / m_A107; double tmp26 = 0.0; - tmp26 += m_A99 * V[27]; - tmp26 += m_A100 * V[28]; - tmp26 += m_A101 * V[29]; - V[26] = (RHS26 - tmp26) / m_A98; + tmp26 += m_A101 * V[27]; + V[26] = (RHS26 - tmp26) / m_A100; double tmp25 = 0.0; - tmp25 += m_A90 * V[29]; + tmp25 += m_A90 * V[26]; V[25] = (RHS25 - tmp25) / m_A89; double tmp24 = 0.0; - tmp24 += m_A84 * V[26]; - tmp24 += m_A85 * V[27]; - tmp24 += m_A86 * V[28]; - tmp24 += m_A87 * V[29]; + tmp24 += m_A84 * V[25]; V[24] = (RHS24 - tmp24) / m_A83; double tmp23 = 0.0; - tmp23 += m_A78 * V[28]; + tmp23 += m_A78 * V[27]; V[23] = (RHS23 - tmp23) / m_A77; double tmp22 = 0.0; - tmp22 += m_A71 * V[24]; - tmp22 += m_A72 * V[26]; - tmp22 += m_A73 * V[27]; - tmp22 += m_A74 * V[28]; - tmp22 += m_A75 * V[29]; + tmp22 += m_A71 * V[23]; + tmp22 += m_A72 * V[27]; V[22] = (RHS22 - tmp22) / m_A70; double tmp21 = 0.0; - tmp21 += m_A63 * V[22]; - tmp21 += m_A64 * V[26]; - tmp21 += m_A65 * V[27]; - tmp21 += m_A66 * V[29]; - V[21] = (RHS21 - tmp21) / m_A62; + tmp21 += m_A68 * V[26]; + V[21] = (RHS21 - tmp21) / m_A67; double tmp20 = 0.0; - tmp20 += m_A52 * V[21]; - tmp20 += m_A53 * V[26]; - tmp20 += m_A54 * V[29]; - V[20] = (RHS20 - tmp20) / m_A51; + tmp20 += m_A63 * V[24]; + tmp20 += m_A64 * V[25]; + V[20] = (RHS20 - tmp20) / m_A62; double tmp19 = 0.0; - V[19] = (RHS19 - tmp19) / m_A49; + tmp19 += m_A60 * V[21]; + V[19] = (RHS19 - tmp19) / m_A59; double tmp18 = 0.0; - tmp18 += m_A46 * V[21]; - tmp18 += m_A47 * V[27]; - V[18] = (RHS18 - tmp18) / m_A45; + tmp18 += m_A57 * V[19]; + V[18] = (RHS18 - tmp18) / m_A56; double tmp17 = 0.0; - V[17] = (RHS17 - tmp17) / m_A42; + tmp17 += m_A54 * V[24]; + V[17] = (RHS17 - tmp17) / m_A53; double tmp16 = 0.0; - tmp16 += m_A40 * V[27]; - V[16] = (RHS16 - tmp16) / m_A39; + tmp16 += m_A50 * V[23]; + V[16] = (RHS16 - tmp16) / m_A49; double tmp15 = 0.0; - V[15] = (RHS15 - tmp15) / m_A37; + tmp15 += m_A45 * V[17]; + tmp15 += m_A46 * V[24]; + V[15] = (RHS15 - tmp15) / m_A44; double tmp14 = 0.0; - tmp14 += m_A33 * V[22]; - tmp14 += m_A34 * V[24]; - tmp14 += m_A35 * V[28]; - V[14] = (RHS14 - tmp14) / m_A32; + tmp14 += m_A42 * V[16]; + tmp14 += m_A43 * V[23]; + V[14] = (RHS14 - tmp14) / m_A41; double tmp13 = 0.0; - tmp13 += m_A31 * V[28]; - V[13] = (RHS13 - tmp13) / m_A30; + tmp13 += m_A39 * V[24]; + tmp13 += m_A40 * V[25]; + V[13] = (RHS13 - tmp13) / m_A38; double tmp12 = 0.0; - tmp12 += m_A29 * V[23]; - V[12] = (RHS12 - tmp12) / m_A28; + tmp12 += m_A36 * V[23]; + tmp12 += m_A37 * V[27]; + V[12] = (RHS12 - tmp12) / m_A35; double tmp11 = 0.0; - tmp11 += m_A26 * V[21]; - tmp11 += m_A27 * V[22]; - V[11] = (RHS11 - tmp11) / m_A25; + tmp11 += m_A33 * V[25]; + tmp11 += m_A34 * V[26]; + V[11] = (RHS11 - tmp11) / m_A32; double tmp10 = 0.0; - tmp10 += m_A24 * V[26]; - V[10] = (RHS10 - tmp10) / m_A23; + tmp10 += m_A29 * V[26]; + tmp10 += m_A30 * V[27]; + V[10] = (RHS10 - tmp10) / m_A28; double tmp9 = 0.0; - tmp9 += m_A22 * V[19]; - V[9] = (RHS9 - tmp9) / m_A21; + tmp9 += m_A25 * V[11]; + tmp9 += m_A26 * V[26]; + V[9] = (RHS9 - tmp9) / m_A24; double tmp8 = 0.0; - tmp8 += m_A20 * V[29]; - V[8] = (RHS8 - tmp8) / m_A19; + tmp8 += m_A21 * V[10]; + tmp8 += m_A22 * V[26]; + V[8] = (RHS8 - tmp8) / m_A20; double tmp7 = 0.0; - tmp7 += m_A17 * V[20]; - tmp7 += m_A18 * V[21]; + tmp7 += m_A17 * V[9]; + tmp7 += m_A18 * V[26]; V[7] = (RHS7 - tmp7) / m_A16; double tmp6 = 0.0; - tmp6 += m_A15 * V[25]; - V[6] = (RHS6 - tmp6) / m_A14; + tmp6 += m_A14 * V[8]; + tmp6 += m_A15 * V[26]; + V[6] = (RHS6 - tmp6) / m_A13; double tmp5 = 0.0; - tmp5 += m_A11 * V[18]; - tmp5 += m_A12 * V[21]; - tmp5 += m_A13 * V[27]; + tmp5 += m_A11 * V[21]; + tmp5 += m_A12 * V[26]; V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A9 * V[17]; + tmp4 += m_A9 * V[20]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[16]; + tmp3 += m_A7 * V[22]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[27]; + tmp2 += m_A5 * V[17]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[15]; + tmp1 += m_A3 * V[16]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; tmp0 += m_A1 * V[18]; V[0] = (RHS0 - tmp0) / m_A0; } -// kidniki -static void nl_gcr_7b1592d23e41ce56_37_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A2 = m_A2 + go[0]; - m_A2 = m_A2 + go[1]; - m_A1 = m_A1 + go[2]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[3] * *cnV[3]; - m_A3 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10]; - m_A6 = gt[16] + gt[17] + gt[18] + gt[19]; - m_A7 = m_A7 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19]; - m_A8 = gt[24] + gt[25] + gt[26] + gt[27]; - m_A11 = m_A11 + go[24]; - m_A9 = m_A9 + go[25]; - m_A10 = m_A10 + go[26]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] - go[27] * *cnV[27]; - m_A14 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38]; - m_A13 = m_A13 + go[32]; - m_A16 = m_A16 + go[33]; - m_A16 = m_A16 + go[34]; - m_A16 = m_A16 + go[35]; - m_A12 = m_A12 + go[36]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[37] * *cnV[37] - go[38] * *cnV[38]; - m_A20 = gt[40] + gt[41] + gt[42]; - m_A17 = m_A17 + go[40]; - m_A18 = m_A18 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[42] * *cnV[42]; - m_A24 = gt[48] + gt[49] + gt[50]; - m_A25 = m_A25 + go[48]; - m_A23 = m_A23 + go[49]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[50] * *cnV[50]; - m_A30 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61]; - m_A27 = m_A27 + go[56]; - m_A28 = m_A28 + go[57]; - m_A28 = m_A28 + go[58]; - m_A28 = m_A28 + go[59]; - m_A26 = m_A26 + go[60]; - m_A26 = m_A26 + go[61]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61]; - m_A36 = gt[64] + gt[65]; - m_A34 = m_A34 + go[64]; - m_A32 = m_A32 + go[65]; - double RHS8 = Idr[64] + Idr[65]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A12; - m_A14 += m_A1 * f0_4; - m_A16 += m_A2 * f0_4; - RHS4 += f0_4 * RHS0; - const double f0_7 = -f0 * m_A26; - m_A28 += m_A1 * f0_7; - m_A30 += m_A2 * f0_7; - RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A3; - const double f1_4 = -f1 * m_A13; - m_A14 += m_A4 * f1_4; - m_A15 += m_A5 * f1_4; - RHS4 += f1_4 * RHS1; - const double f1_5 = -f1 * m_A17; - m_A19 += m_A4 * f1_5; - m_A20 += m_A5 * f1_5; - RHS5 += f1_5 * RHS1; -const double f2 = 1.0 / m_A6; - const double f2_6 = -f2 * m_A23; - m_A24 += m_A7 * f2_6; - RHS6 += f2_6 * RHS2; -const double f3 = 1.0 / m_A8; - const double f3_5 = -f3 * m_A18; - m_A20 += m_A9 * f3_5; - m_A21 += m_A10 * f3_5; - m_A22 += m_A11 * f3_5; - RHS5 += f3_5 * RHS3; - const double f3_7 = -f3 * m_A27; - m_A29 += m_A9 * f3_7; - m_A30 += m_A10 * f3_7; - m_A31 += m_A11 * f3_7; - RHS7 += f3_7 * RHS3; - const double f3_8 = -f3 * m_A32; - m_A33 += m_A9 * f3_8; - m_A35 += m_A10 * f3_8; - m_A36 += m_A11 * f3_8; - RHS8 += f3_8 * RHS3; -const double f4 = 1.0 / m_A14; - const double f4_5 = -f4 * m_A19; - m_A20 += m_A15 * f4_5; - m_A21 += m_A16 * f4_5; - RHS5 += f4_5 * RHS4; - const double f4_7 = -f4 * m_A28; - m_A29 += m_A15 * f4_7; - m_A30 += m_A16 * f4_7; - RHS7 += f4_7 * RHS4; -const double f5 = 1.0 / m_A20; - const double f5_7 = -f5 * m_A29; - m_A30 += m_A21 * f5_7; - m_A31 += m_A22 * f5_7; - RHS7 += f5_7 * RHS5; - const double f5_8 = -f5 * m_A33; - m_A35 += m_A21 * f5_8; - m_A36 += m_A22 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A24; - const double f6_8 = -f6 * m_A34; - m_A36 += m_A25 * f6_8; - RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A30; - const double f7_8 = -f7 * m_A35; - m_A36 += m_A31 * f7_8; - RHS8 += f7_8 * RHS7; - V[8] = RHS8 / m_A36; - double tmp7 = 0.0; - tmp7 += m_A31 * V[8]; - V[7] = (RHS7 - tmp7) / m_A30; - double tmp6 = 0.0; - tmp6 += m_A25 * V[8]; - V[6] = (RHS6 - tmp6) / m_A24; - double tmp5 = 0.0; - tmp5 += m_A21 * V[7]; - tmp5 += m_A22 * V[8]; - V[5] = (RHS5 - tmp5) / m_A20; - double tmp4 = 0.0; - tmp4 += m_A15 * V[5]; - tmp4 += m_A16 * V[7]; - V[4] = (RHS4 - tmp4) / m_A14; - double tmp3 = 0.0; - tmp3 += m_A9 * V[5]; - tmp3 += m_A10 * V[7]; - tmp3 += m_A11 * V[8]; - V[3] = (RHS3 - tmp3) / m_A8; - double tmp2 = 0.0; - tmp2 += m_A7 * V[6]; - V[2] = (RHS2 - tmp2) / m_A6; - double tmp1 = 0.0; - tmp1 += m_A4 * V[4]; - tmp1 += m_A5 * V[5]; - V[1] = (RHS1 - tmp1) / m_A3; - double tmp0 = 0.0; - tmp0 += m_A1 * V[4]; - tmp0 += m_A2 * V[7]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// rebound -static void nl_gcr_7c58698d6a68f4a0_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// breakout +static void nl_gcr_a59b19805d7e4461_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A6 = gt[8] + gt[9] + gt[10] + gt[11]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A5 += go[7]; + m_A4 += go[8]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 -= go[9] * *cnV[9]; + const double f0 = 1.0 / m_A0; const double f0_2 = -f0 * m_A4; m_A6 += m_A1 * f0_2; RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_2 = -f1 * m_A5; m_A6 += m_A3 * f1_2; RHS2 += f1_2 * RHS1; @@ -6946,1772 +9969,2655 @@ const double f1 = 1.0 / m_A2; V[0] = (RHS0 - tmp0) / m_A0; } -// gunfight -static void nl_gcr_7dbbdf7feecfa9bd_108_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// 280zzzap +static void nl_gcr_a716c0b150a52aeb_135_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[6] + gt[7]; - m_A3 = m_A3 + go[6]; - double RHS1 = Idr[6] + Idr[7] - go[7] * *cnV[7]; - m_A4 = gt[12] + gt[13]; - m_A5 = m_A5 + go[12]; - double RHS2 = Idr[12] + Idr[13] - go[13] * *cnV[13]; - m_A6 = gt[18] + gt[19]; - m_A7 = m_A7 + go[18]; - double RHS3 = Idr[18] + Idr[19] - go[19] * *cnV[19]; - m_A8 = gt[24] + gt[25]; - m_A9 = m_A9 + go[24]; - double RHS4 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A10 = gt[30] + gt[31] + gt[32] + gt[33]; - m_A11 = m_A11 + go[30]; - m_A12 = m_A12 + go[31]; - double RHS5 = Idr[30] + Idr[31] + Idr[32] + Idr[33] - go[32] * *cnV[32] - go[33] * *cnV[33]; - m_A13 = gt[36] + gt[37]; - m_A15 = m_A15 + go[36]; - m_A14 = m_A14 + go[37]; - double RHS6 = Idr[36] + Idr[37]; - m_A16 = gt[42] + gt[43]; - m_A18 = m_A18 + go[42]; - m_A17 = m_A17 + go[43]; - double RHS7 = Idr[42] + Idr[43]; - m_A20 = gt[48] + gt[49] + gt[50]; - m_A19 = m_A19 + go[48]; - m_A21 = m_A21 + go[49]; - double RHS8 = Idr[48] + Idr[49] + Idr[50] - go[50] * *cnV[50]; - m_A24 = gt[54] + gt[55] + gt[56]; - m_A23 = m_A23 + go[54]; - m_A25 = m_A25 + go[55]; - double RHS9 = Idr[54] + Idr[55] + Idr[56] - go[56] * *cnV[56]; - m_A28 = gt[60] + gt[61] + gt[62]; - m_A27 = m_A27 + go[60]; - m_A30 = m_A30 + go[61]; - double RHS10 = Idr[60] + Idr[61] + Idr[62] - go[62] * *cnV[62]; - m_A32 = gt[66] + gt[67] + gt[68]; - m_A31 = m_A31 + go[66]; - m_A33 = m_A33 + go[67]; - double RHS11 = Idr[66] + Idr[67] + Idr[68] - go[68] * *cnV[68]; - m_A35 = gt[72] + gt[73] + gt[74] + gt[75]; - m_A37 = m_A37 + go[72]; - m_A36 = m_A36 + go[73]; - double RHS12 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75]; - m_A38 = gt[78] + gt[79] + gt[80]; - m_A40 = m_A40 + go[78]; - m_A39 = m_A39 + go[79]; - double RHS13 = Idr[78] + Idr[79] + Idr[80] - go[80] * *cnV[80]; - m_A41 = gt[84] + gt[85] + gt[86]; - m_A43 = m_A43 + go[84]; - m_A42 = m_A42 + go[85]; - double RHS14 = Idr[84] + Idr[85] + Idr[86] - go[86] * *cnV[86]; - m_A44 = gt[90] + gt[91] + gt[92]; - m_A46 = m_A46 + go[90]; - m_A45 = m_A45 + go[91]; - double RHS15 = Idr[90] + Idr[91] + Idr[92] - go[92] * *cnV[92]; - m_A49 = gt[96] + gt[97]; - m_A47 = m_A47 + go[96]; - m_A48 = m_A48 + go[97]; - double RHS16 = Idr[96] + Idr[97]; - m_A53 = gt[102] + gt[103]; - m_A51 = m_A51 + go[102]; - m_A52 = m_A52 + go[103]; - double RHS17 = Idr[102] + Idr[103]; - m_A56 = gt[108] + gt[109] + gt[110]; - m_A55 = m_A55 + go[108]; - m_A57 = m_A57 + go[109]; - double RHS18 = Idr[108] + Idr[109] + Idr[110] - go[110] * *cnV[110]; - m_A59 = gt[114] + gt[115]; - m_A58 = m_A58 + go[114]; - m_A60 = m_A60 + go[115]; - double RHS19 = Idr[114] + Idr[115]; - m_A62 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A64 = m_A64 + go[120]; - m_A63 = m_A63 + go[121]; - m_A61 = m_A61 + go[122]; - double RHS20 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[123] * *cnV[123]; - m_A67 = gt[126] + gt[127] + gt[128] + gt[129]; - m_A66 = m_A66 + go[126]; - m_A65 = m_A65 + go[127]; - m_A68 = m_A68 + go[128]; - double RHS21 = Idr[126] + Idr[127] + Idr[128] + Idr[129] - go[129] * *cnV[129]; - m_A70 = gt[132] + gt[133] + gt[134] + gt[135]; - m_A72 = m_A72 + go[132]; - m_A71 = m_A71 + go[133]; - m_A69 = m_A69 + go[134]; - double RHS22 = Idr[132] + Idr[133] + Idr[134] + Idr[135] - go[135] * *cnV[135]; - m_A77 = gt[138] + gt[139] + gt[140] + gt[141] + gt[142] + gt[143]; - m_A78 = m_A78 + go[138]; - m_A73 = m_A73 + go[139]; - m_A74 = m_A74 + go[140]; - m_A76 = m_A76 + go[141]; - double RHS23 = Idr[138] + Idr[139] + Idr[140] + Idr[141] + Idr[142] + Idr[143] - go[142] * *cnV[142] - go[143] * *cnV[143]; - m_A83 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149]; - m_A84 = m_A84 + go[144]; - m_A79 = m_A79 + go[145]; - m_A80 = m_A80 + go[146]; - m_A82 = m_A82 + go[147]; - double RHS24 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149] - go[148] * *cnV[148] - go[149] * *cnV[149]; - m_A89 = gt[150] + gt[151] + gt[152] + gt[153]; - m_A85 = m_A85 + go[150]; - m_A86 = m_A86 + go[151]; - m_A88 = m_A88 + go[152]; - m_A87 = m_A87 + go[153]; - double RHS25 = Idr[150] + Idr[151] + Idr[152] + Idr[153]; - m_A100 = gt[156] + gt[157] + gt[158] + gt[159] + gt[160] + gt[161]; - m_A98 = m_A98 + go[156]; - m_A91 = m_A91 + go[157]; - m_A92 = m_A92 + go[158]; - m_A93 = m_A93 + go[159]; - double RHS26 = Idr[156] + Idr[157] + Idr[158] + Idr[159] + Idr[160] + Idr[161] - go[160] * *cnV[160] - go[161] * *cnV[161]; - m_A107 = gt[162] + gt[163] + gt[164] + gt[165]; - m_A102 = m_A102 + go[162]; - m_A103 = m_A103 + go[163]; - m_A105 = m_A105 + go[164]; - m_A104 = m_A104 + go[165]; - double RHS27 = Idr[162] + Idr[163] + Idr[164] + Idr[165]; -const double f0 = 1.0 / m_A0; - const double f0_18 = -f0 * m_A55; - m_A56 += m_A1 * f0_18; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + double m_A116(0.0); + double m_A117(0.0); + double m_A118(0.0); + double m_A119(0.0); + double m_A120(0.0); + double m_A121(0.0); + double m_A122(0.0); + double m_A123(0.0); + double m_A124(0.0); + double m_A125(0.0); + double m_A126(0.0); + double m_A127(0.0); + double m_A128(0.0); + double m_A129(0.0); + double m_A130(0.0); + double m_A131(0.0); + double m_A132(0.0); + double m_A133(0.0); + double m_A134(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 += Idr[6]; + RHS2 -= go[5] * *cnV[5]; + RHS2 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A7 += go[7]; + double RHS3 = Idr[7]; + RHS3 += Idr[8]; + RHS3 += Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 -= go[8] * *cnV[8]; + RHS3 -= go[9] * *cnV[9]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + m_A8 += gt[14]; + m_A8 += gt[15]; + m_A9 += go[14]; + double RHS4 = Idr[14]; + RHS4 += Idr[15]; + RHS4 -= go[15] * *cnV[15]; + m_A10 += gt[16]; + m_A10 += gt[17]; + m_A10 += gt[18]; + m_A10 += gt[19]; + m_A12 += go[16]; + m_A13 += go[17]; + m_A11 += go[18]; + double RHS5 = Idr[16]; + RHS5 += Idr[17]; + RHS5 += Idr[18]; + RHS5 += Idr[19]; + RHS5 -= go[19] * *cnV[19]; + m_A14 += gt[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A14 += gt[24]; + m_A14 += gt[25]; + m_A14 += gt[26]; + m_A15 += go[20]; + double RHS6 = Idr[20]; + RHS6 += Idr[21]; + RHS6 += Idr[22]; + RHS6 += Idr[23]; + RHS6 += Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 -= go[21] * *cnV[21]; + RHS6 -= go[22] * *cnV[22]; + RHS6 -= go[23] * *cnV[23]; + RHS6 -= go[24] * *cnV[24]; + RHS6 -= go[25] * *cnV[25]; + RHS6 -= go[26] * *cnV[26]; + m_A16 += gt[27]; + m_A16 += gt[28]; + m_A17 += go[27]; + m_A18 += go[28]; + double RHS7 = Idr[27]; + RHS7 += Idr[28]; + m_A19 += gt[29]; + m_A19 += gt[30]; + m_A19 += gt[31]; + m_A20 += go[29]; + double RHS8 = Idr[29]; + RHS8 += Idr[30]; + RHS8 += Idr[31]; + RHS8 -= go[30] * *cnV[30]; + RHS8 -= go[31] * *cnV[31]; + m_A21 += gt[32]; + m_A21 += gt[33]; + m_A22 += go[32]; + double RHS9 = Idr[32]; + RHS9 += Idr[33]; + RHS9 -= go[33] * *cnV[33]; + m_A23 += gt[34]; + m_A23 += gt[35]; + m_A24 += go[34]; + double RHS10 = Idr[34]; + RHS10 += Idr[35]; + RHS10 -= go[35] * *cnV[35]; + m_A25 += gt[36]; + m_A25 += gt[37]; + m_A25 += gt[38]; + m_A27 += go[36]; + m_A26 += go[37]; + m_A26 += go[38]; + double RHS11 = Idr[36]; + RHS11 += Idr[37]; + RHS11 += Idr[38]; + m_A28 += gt[39]; + m_A28 += gt[40]; + m_A28 += gt[41]; + m_A28 += gt[42]; + m_A28 += gt[43]; + m_A28 += gt[44]; + m_A28 += gt[45]; + m_A29 += go[39]; + double RHS12 = Idr[39]; + RHS12 += Idr[40]; + RHS12 += Idr[41]; + RHS12 += Idr[42]; + RHS12 += Idr[43]; + RHS12 += Idr[44]; + RHS12 += Idr[45]; + RHS12 -= go[40] * *cnV[40]; + RHS12 -= go[41] * *cnV[41]; + RHS12 -= go[42] * *cnV[42]; + RHS12 -= go[43] * *cnV[43]; + RHS12 -= go[44] * *cnV[44]; + RHS12 -= go[45] * *cnV[45]; + m_A30 += gt[46]; + m_A30 += gt[47]; + m_A30 += gt[48]; + m_A31 += go[46]; + double RHS13 = Idr[46]; + RHS13 += Idr[47]; + RHS13 += Idr[48]; + RHS13 -= go[47] * *cnV[47]; + RHS13 -= go[48] * *cnV[48]; + m_A32 += gt[49]; + m_A32 += gt[50]; + m_A32 += gt[51]; + m_A32 += gt[52]; + m_A34 += go[49]; + m_A33 += go[50]; + m_A35 += go[51]; + double RHS14 = Idr[49]; + RHS14 += Idr[50]; + RHS14 += Idr[51]; + RHS14 += Idr[52]; + RHS14 -= go[52] * *cnV[52]; + m_A37 += gt[53]; + m_A37 += gt[54]; + m_A36 += go[53]; + double RHS15 = Idr[53]; + RHS15 += Idr[54]; + RHS15 -= go[54] * *cnV[54]; + m_A39 += gt[55]; + m_A39 += gt[56]; + m_A39 += gt[57]; + m_A39 += gt[58]; + m_A38 += go[55]; + m_A40 += go[56]; + double RHS16 = Idr[55]; + RHS16 += Idr[56]; + RHS16 += Idr[57]; + RHS16 += Idr[58]; + RHS16 -= go[57] * *cnV[57]; + RHS16 -= go[58] * *cnV[58]; + m_A42 += gt[59]; + m_A42 += gt[60]; + m_A41 += go[59]; + double RHS17 = Idr[59]; + RHS17 += Idr[60]; + RHS17 -= go[60] * *cnV[60]; + m_A45 += gt[61]; + m_A45 += gt[62]; + m_A43 += go[61]; + m_A44 += go[62]; + double RHS18 = Idr[61]; + RHS18 += Idr[62]; + m_A49 += gt[63]; + m_A49 += gt[64]; + m_A48 += go[63]; + double RHS19 = Idr[63]; + RHS19 += Idr[64]; + RHS19 -= go[64] * *cnV[64]; + m_A51 += gt[65]; + m_A51 += gt[66]; + m_A51 += gt[67]; + m_A51 += gt[68]; + m_A53 += go[65]; + m_A50 += go[66]; + m_A54 += go[67]; + double RHS20 = Idr[65]; + RHS20 += Idr[66]; + RHS20 += Idr[67]; + RHS20 += Idr[68]; + RHS20 -= go[68] * *cnV[68]; + m_A62 += gt[69]; + m_A62 += gt[70]; + m_A62 += gt[71]; + m_A62 += gt[72]; + m_A62 += gt[73]; + m_A62 += gt[74]; + m_A62 += gt[75]; + m_A62 += gt[76]; + m_A62 += gt[77]; + m_A55 += go[69]; + m_A58 += go[70]; + m_A58 += go[71]; + m_A57 += go[72]; + m_A56 += go[73]; + m_A65 += go[74]; + double RHS21 = Idr[69]; + RHS21 += Idr[70]; + RHS21 += Idr[71]; + RHS21 += Idr[72]; + RHS21 += Idr[73]; + RHS21 += Idr[74]; + RHS21 += Idr[75]; + RHS21 += Idr[76]; + RHS21 += Idr[77]; + RHS21 -= go[75] * *cnV[75]; + RHS21 -= go[76] * *cnV[76]; + RHS21 -= go[77] * *cnV[77]; + m_A70 += gt[78]; + m_A70 += gt[79]; + m_A68 += go[78]; + m_A67 += go[79]; + double RHS22 = Idr[78]; + RHS22 += Idr[79]; + m_A77 += gt[80]; + m_A77 += gt[81]; + m_A77 += gt[82]; + m_A77 += gt[83]; + m_A76 += go[80]; + m_A78 += go[81]; + double RHS23 = Idr[80]; + RHS23 += Idr[81]; + RHS23 += Idr[82]; + RHS23 += Idr[83]; + RHS23 -= go[82] * *cnV[82]; + RHS23 -= go[83] * *cnV[83]; + m_A83 += gt[84]; + m_A83 += gt[85]; + m_A83 += gt[86]; + m_A83 += gt[87]; + m_A83 += gt[88]; + m_A83 += gt[89]; + m_A79 += go[84]; + m_A80 += go[85]; + m_A86 += go[86]; + double RHS24 = Idr[84]; + RHS24 += Idr[85]; + RHS24 += Idr[86]; + RHS24 += Idr[87]; + RHS24 += Idr[88]; + RHS24 += Idr[89]; + RHS24 -= go[87] * *cnV[87]; + RHS24 -= go[88] * *cnV[88]; + RHS24 -= go[89] * *cnV[89]; + m_A89 += gt[90]; + m_A89 += gt[91]; + m_A89 += gt[92]; + m_A89 += gt[93]; + m_A88 += go[90]; + m_A90 += go[91]; + double RHS25 = Idr[90]; + RHS25 += Idr[91]; + RHS25 += Idr[92]; + RHS25 += Idr[93]; + RHS25 -= go[92] * *cnV[92]; + RHS25 -= go[93] * *cnV[93]; + m_A98 += gt[94]; + m_A98 += gt[95]; + m_A98 += gt[96]; + m_A98 += gt[97]; + m_A98 += gt[98]; + m_A98 += gt[99]; + m_A91 += go[94]; + m_A92 += go[95]; + m_A93 += go[96]; + m_A101 += go[97]; + double RHS26 = Idr[94]; + RHS26 += Idr[95]; + RHS26 += Idr[96]; + RHS26 += Idr[97]; + RHS26 += Idr[98]; + RHS26 += Idr[99]; + RHS26 -= go[98] * *cnV[98]; + RHS26 -= go[99] * *cnV[99]; + m_A111 += gt[100]; + m_A111 += gt[101]; + m_A111 += gt[102]; + m_A111 += gt[103]; + m_A111 += gt[104]; + m_A107 += go[100]; + m_A105 += go[101]; + m_A104 += go[102]; + m_A103 += go[103]; + m_A102 += go[104]; + double RHS27 = Idr[100]; + RHS27 += Idr[101]; + RHS27 += Idr[102]; + RHS27 += Idr[103]; + RHS27 += Idr[104]; + m_A122 += gt[105]; + m_A122 += gt[106]; + m_A122 += gt[107]; + m_A122 += gt[108]; + m_A122 += gt[109]; + m_A119 += go[105]; + m_A117 += go[106]; + m_A116 += go[107]; + m_A115 += go[108]; + m_A114 += go[109]; + double RHS28 = Idr[105]; + RHS28 += Idr[106]; + RHS28 += Idr[107]; + RHS28 += Idr[108]; + RHS28 += Idr[109]; + m_A134 += gt[110]; + m_A134 += gt[111]; + m_A134 += gt[112]; + m_A134 += gt[113]; + m_A134 += gt[114]; + m_A131 += go[110]; + m_A126 += go[111]; + m_A127 += go[112]; + m_A125 += go[113]; + m_A124 += go[114]; + double RHS29 = Idr[110]; + RHS29 += Idr[111]; + RHS29 += Idr[112]; + RHS29 += Idr[113]; + RHS29 += Idr[114]; + const double f0 = 1.0 / m_A0; + const double f0_18 = -f0 * m_A43; + m_A45 += m_A1 * f0_18; RHS18 += f0_18 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_16 = -f1 * m_A47; - m_A49 += m_A3 * f1_16; - RHS16 += f1_16 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_17 = -f2 * m_A51; - m_A53 += m_A5 * f2_17; - RHS17 += f2_17 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_22 = -f3 * m_A69; - m_A70 += m_A7 * f3_22; - RHS22 += f3_22 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_20 = -f4 * m_A61; - m_A62 += m_A9 * f4_20; - RHS20 += f4_20 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_21 = -f5 * m_A65; - m_A67 += m_A11 * f5_21; - m_A68 += m_A12 * f5_21; + const double f1 = 1.0 / m_A2; + const double f1_15 = -f1 * m_A36; + m_A37 += m_A3 * f1_15; + RHS15 += f1_15 * RHS1; + const double f1_27 = -f1 * m_A102; + m_A105 += m_A3 * f1_27; + RHS27 += f1_27 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_16 = -f2 * m_A38; + m_A40 += m_A5 * f2_16; + RHS16 += f2_16 * RHS2; + const double f2_27 = -f2 * m_A103; + m_A111 += m_A5 * f2_27; + RHS27 += f2_27 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_21 = -f3 * m_A55; + m_A59 += m_A7 * f3_21; + RHS21 += f3_21 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_17 = -f4 * m_A41; + m_A42 += m_A9 * f4_17; + RHS17 += f4_17 * RHS4; + const double f4_29 = -f4 * m_A124; + m_A126 += m_A9 * f4_29; + RHS29 += f4_29 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_18 = -f5 * m_A44; + m_A45 += m_A11 * f5_18; + m_A46 += m_A12 * f5_18; + m_A47 += m_A13 * f5_18; + RHS18 += f5_18 * RHS5; + const double f5_21 = -f5 * m_A56; + m_A60 += m_A11 * f5_21; + m_A62 += m_A12 * f5_21; + m_A65 += m_A13 * f5_21; RHS21 += f5_21 * RHS5; - const double f5_26 = -f5 * m_A91; - m_A98 += m_A11 * f5_26; - m_A100 += m_A12 * f5_26; - RHS26 += f5_26 * RHS5; -const double f6 = 1.0 / m_A13; - const double f6_8 = -f6 * m_A19; - m_A20 += m_A14 * f6_8; - m_A22 += m_A15 * f6_8; - RHS8 += f6_8 * RHS6; - const double f6_26 = -f6 * m_A92; - m_A94 += m_A14 * f6_26; - m_A100 += m_A15 * f6_26; + const double f5_27 = -f5 * m_A104; + m_A106 += m_A11 * f5_27; + m_A107 += m_A12 * f5_27; + m_A111 += m_A13 * f5_27; + RHS27 += f5_27 * RHS5; + const double f6 = 1.0 / m_A14; + const double f6_26 = -f6 * m_A91; + m_A97 += m_A15 * f6_26; RHS26 += f6_26 * RHS6; -const double f7 = 1.0 / m_A16; - const double f7_9 = -f7 * m_A23; - m_A24 += m_A17 * f7_9; - m_A26 += m_A18 * f7_9; - RHS9 += f7_9 * RHS7; - const double f7_26 = -f7 * m_A93; - m_A95 += m_A17 * f7_26; - m_A100 += m_A18 * f7_26; - RHS26 += f7_26 * RHS7; -const double f8 = 1.0 / m_A20; - const double f8_10 = -f8 * m_A27; - m_A28 += m_A21 * f8_10; - m_A29 += m_A22 * f8_10; - RHS10 += f8_10 * RHS8; - const double f8_26 = -f8 * m_A94; - m_A96 += m_A21 * f8_26; - m_A100 += m_A22 * f8_26; - RHS26 += f8_26 * RHS8; -const double f9 = 1.0 / m_A24; - const double f9_11 = -f9 * m_A31; - m_A32 += m_A25 * f9_11; - m_A34 += m_A26 * f9_11; - RHS11 += f9_11 * RHS9; - const double f9_26 = -f9 * m_A95; - m_A97 += m_A25 * f9_26; - m_A100 += m_A26 * f9_26; - RHS26 += f9_26 * RHS9; -const double f10 = 1.0 / m_A28; - const double f10_26 = -f10 * m_A96; - m_A100 += m_A29 * f10_26; - m_A101 += m_A30 * f10_26; + const double f7 = 1.0 / m_A16; + const double f7_20 = -f7 * m_A50; + m_A51 += m_A17 * f7_20; + m_A52 += m_A18 * f7_20; + RHS20 += f7_20 * RHS7; + const double f7_21 = -f7 * m_A57; + m_A61 += m_A17 * f7_21; + m_A62 += m_A18 * f7_21; + RHS21 += f7_21 * RHS7; + const double f8 = 1.0 / m_A19; + const double f8_25 = -f8 * m_A88; + m_A90 += m_A20 * f8_25; + RHS25 += f8_25 * RHS8; + const double f8_29 = -f8 * m_A125; + m_A134 += m_A20 * f8_29; + RHS29 += f8_29 * RHS8; + const double f9 = 1.0 / m_A21; + const double f9_19 = -f9 * m_A48; + m_A49 += m_A22 * f9_19; + RHS19 += f9_19 * RHS9; + const double f9_28 = -f9 * m_A114; + m_A117 += m_A22 * f9_28; + RHS28 += f9_28 * RHS9; + const double f10 = 1.0 / m_A23; + const double f10_26 = -f10 * m_A92; + m_A98 += m_A24 * f10_26; RHS26 += f10_26 * RHS10; - const double f10_27 = -f10 * m_A102; - m_A106 += m_A29 * f10_27; - m_A107 += m_A30 * f10_27; - RHS27 += f10_27 * RHS10; -const double f11 = 1.0 / m_A32; - const double f11_25 = -f11 * m_A85; - m_A89 += m_A33 * f11_25; - m_A90 += m_A34 * f11_25; - RHS25 += f11_25 * RHS11; - const double f11_26 = -f11 * m_A97; - m_A99 += m_A33 * f11_26; - m_A100 += m_A34 * f11_26; - RHS26 += f11_26 * RHS11; -const double f12 = 1.0 / m_A35; - const double f12_23 = -f12 * m_A73; - m_A77 += m_A36 * f12_23; - m_A78 += m_A37 * f12_23; - RHS23 += f12_23 * RHS12; - const double f12_27 = -f12 * m_A103; - m_A105 += m_A36 * f12_27; - m_A107 += m_A37 * f12_27; - RHS27 += f12_27 * RHS12; -const double f13 = 1.0 / m_A38; - const double f13_24 = -f13 * m_A79; - m_A83 += m_A39 * f13_24; - m_A84 += m_A40 * f13_24; - RHS24 += f13_24 * RHS13; - const double f13_25 = -f13 * m_A86; - m_A88 += m_A39 * f13_25; - m_A89 += m_A40 * f13_25; - RHS25 += f13_25 * RHS13; -const double f14 = 1.0 / m_A41; - const double f14_16 = -f14 * m_A48; - m_A49 += m_A42 * f14_16; - m_A50 += m_A43 * f14_16; - RHS16 += f14_16 * RHS14; - const double f14_23 = -f14 * m_A74; - m_A75 += m_A42 * f14_23; - m_A77 += m_A43 * f14_23; - RHS23 += f14_23 * RHS14; -const double f15 = 1.0 / m_A44; - const double f15_17 = -f15 * m_A52; - m_A53 += m_A45 * f15_17; - m_A54 += m_A46 * f15_17; - RHS17 += f15_17 * RHS15; - const double f15_24 = -f15 * m_A80; - m_A81 += m_A45 * f15_24; - m_A83 += m_A46 * f15_24; - RHS24 += f15_24 * RHS15; -const double f16 = 1.0 / m_A49; - const double f16_23 = -f16 * m_A75; - m_A77 += m_A50 * f16_23; - RHS23 += f16_23 * RHS16; -const double f17 = 1.0 / m_A53; - const double f17_24 = -f17 * m_A81; - m_A83 += m_A54 * f17_24; - RHS24 += f17_24 * RHS17; -const double f18 = 1.0 / m_A56; - const double f18_19 = -f18 * m_A58; - m_A59 += m_A57 * f18_19; - RHS19 += f18_19 * RHS18; -const double f19 = 1.0 / m_A59; - const double f19_21 = -f19 * m_A66; - m_A67 += m_A60 * f19_21; - RHS21 += f19_21 * RHS19; -const double f20 = 1.0 / m_A62; - const double f20_24 = -f20 * m_A82; - m_A83 += m_A63 * f20_24; - m_A84 += m_A64 * f20_24; - RHS24 += f20_24 * RHS20; - const double f20_25 = -f20 * m_A87; - m_A88 += m_A63 * f20_25; - m_A89 += m_A64 * f20_25; - RHS25 += f20_25 * RHS20; -const double f21 = 1.0 / m_A67; - const double f21_26 = -f21 * m_A98; - m_A100 += m_A68 * f21_26; + const double f11 = 1.0 / m_A25; + const double f11_21 = -f11 * m_A58; + m_A62 += m_A26 * f11_21; + m_A63 += m_A27 * f11_21; + RHS21 += f11_21 * RHS11; + const double f11_22 = -f11 * m_A67; + m_A69 += m_A26 * f11_22; + m_A70 += m_A27 * f11_22; + RHS22 += f11_22 * RHS11; + const double f12 = 1.0 / m_A28; + const double f12_24 = -f12 * m_A79; + m_A82 += m_A29 * f12_24; + RHS24 += f12_24 * RHS12; + const double f13 = 1.0 / m_A30; + const double f13_23 = -f13 * m_A76; + m_A78 += m_A31 * f13_23; + RHS23 += f13_23 * RHS13; + const double f13_28 = -f13 * m_A115; + m_A122 += m_A31 * f13_28; + RHS28 += f13_28 * RHS13; + const double f14 = 1.0 / m_A32; + const double f14_22 = -f14 * m_A68; + m_A70 += m_A33 * f14_22; + m_A71 += m_A34 * f14_22; + m_A74 += m_A35 * f14_22; + RHS22 += f14_22 * RHS14; + const double f14_24 = -f14 * m_A80; + m_A81 += m_A33 * f14_24; + m_A83 += m_A34 * f14_24; + m_A86 += m_A35 * f14_24; + RHS24 += f14_24 * RHS14; + const double f14_28 = -f14 * m_A116; + m_A118 += m_A33 * f14_28; + m_A119 += m_A34 * f14_28; + m_A122 += m_A35 * f14_28; + RHS28 += f14_28 * RHS14; + const double f15 = 1.0 / m_A37; + const double f15_27 = -f15 * m_A105; + RHS27 += f15_27 * RHS15; + const double f16 = 1.0 / m_A39; + const double f16_21 = -f16 * m_A59; + m_A65 += m_A40 * f16_21; + RHS21 += f16_21 * RHS16; + const double f17 = 1.0 / m_A42; + const double f17_29 = -f17 * m_A126; + RHS29 += f17_29 * RHS17; + const double f18 = 1.0 / m_A45; + const double f18_21 = -f18 * m_A60; + m_A62 += m_A46 * f18_21; + m_A65 += m_A47 * f18_21; + RHS21 += f18_21 * RHS18; + const double f18_27 = -f18 * m_A106; + m_A107 += m_A46 * f18_27; + m_A111 += m_A47 * f18_27; + RHS27 += f18_27 * RHS18; + const double f19 = 1.0 / m_A49; + const double f19_28 = -f19 * m_A117; + RHS28 += f19_28 * RHS19; + const double f20 = 1.0 / m_A51; + const double f20_21 = -f20 * m_A61; + m_A62 += m_A52 * f20_21; + m_A64 += m_A53 * f20_21; + m_A66 += m_A54 * f20_21; + RHS21 += f20_21 * RHS20; + const double f20_26 = -f20 * m_A93; + m_A94 += m_A52 * f20_26; + m_A98 += m_A53 * f20_26; + m_A101 += m_A54 * f20_26; + RHS26 += f20_26 * RHS20; + const double f20_29 = -f20 * m_A127; + m_A128 += m_A52 * f20_29; + m_A131 += m_A53 * f20_29; + m_A134 += m_A54 * f20_29; + RHS29 += f20_29 * RHS20; + const double f21 = 1.0 / m_A62; + const double f21_22 = -f21 * m_A69; + m_A70 += m_A63 * f21_22; + m_A72 += m_A64 * f21_22; + m_A73 += m_A65 * f21_22; + m_A75 += m_A66 * f21_22; + RHS22 += f21_22 * RHS21; + const double f21_26 = -f21 * m_A94; + m_A95 += m_A63 * f21_26; + m_A98 += m_A64 * f21_26; + m_A99 += m_A65 * f21_26; + m_A101 += m_A66 * f21_26; RHS26 += f21_26 * RHS21; -const double f22 = 1.0 / m_A70; - const double f22_23 = -f22 * m_A76; - m_A77 += m_A71 * f22_23; - m_A78 += m_A72 * f22_23; - RHS23 += f22_23 * RHS22; - const double f22_27 = -f22 * m_A104; - m_A105 += m_A71 * f22_27; - m_A107 += m_A72 * f22_27; + const double f21_27 = -f21 * m_A107; + m_A108 += m_A63 * f21_27; + m_A110 += m_A64 * f21_27; + m_A111 += m_A65 * f21_27; + m_A113 += m_A66 * f21_27; + RHS27 += f21_27 * RHS21; + const double f21_29 = -f21 * m_A128; + m_A129 += m_A63 * f21_29; + m_A131 += m_A64 * f21_29; + m_A132 += m_A65 * f21_29; + m_A134 += m_A66 * f21_29; + RHS29 += f21_29 * RHS21; + const double f22 = 1.0 / m_A70; + const double f22_24 = -f22 * m_A81; + m_A83 += m_A71 * f22_24; + m_A84 += m_A72 * f22_24; + m_A85 += m_A73 * f22_24; + m_A86 += m_A74 * f22_24; + m_A87 += m_A75 * f22_24; + RHS24 += f22_24 * RHS22; + const double f22_26 = -f22 * m_A95; + m_A96 += m_A71 * f22_26; + m_A98 += m_A72 * f22_26; + m_A99 += m_A73 * f22_26; + m_A100 += m_A74 * f22_26; + m_A101 += m_A75 * f22_26; + RHS26 += f22_26 * RHS22; + const double f22_27 = -f22 * m_A108; + m_A109 += m_A71 * f22_27; + m_A110 += m_A72 * f22_27; + m_A111 += m_A73 * f22_27; + m_A112 += m_A74 * f22_27; + m_A113 += m_A75 * f22_27; RHS27 += f22_27 * RHS22; -const double f23 = 1.0 / m_A77; - const double f23_27 = -f23 * m_A105; - m_A107 += m_A78 * f23_27; - RHS27 += f23_27 * RHS23; -const double f24 = 1.0 / m_A83; - const double f24_25 = -f24 * m_A88; - m_A89 += m_A84 * f24_25; - RHS25 += f24_25 * RHS24; -const double f25 = 1.0 / m_A89; - const double f25_26 = -f25 * m_A99; - m_A100 += m_A90 * f25_26; + const double f22_28 = -f22 * m_A118; + m_A119 += m_A71 * f22_28; + m_A120 += m_A72 * f22_28; + m_A121 += m_A73 * f22_28; + m_A122 += m_A74 * f22_28; + m_A123 += m_A75 * f22_28; + RHS28 += f22_28 * RHS22; + const double f22_29 = -f22 * m_A129; + m_A130 += m_A71 * f22_29; + m_A131 += m_A72 * f22_29; + m_A132 += m_A73 * f22_29; + m_A133 += m_A74 * f22_29; + m_A134 += m_A75 * f22_29; + RHS29 += f22_29 * RHS22; + const double f23 = 1.0 / m_A77; + const double f23_24 = -f23 * m_A82; + m_A86 += m_A78 * f23_24; + RHS24 += f23_24 * RHS23; + const double f24 = 1.0 / m_A83; + const double f24_26 = -f24 * m_A96; + m_A98 += m_A84 * f24_26; + m_A99 += m_A85 * f24_26; + m_A100 += m_A86 * f24_26; + m_A101 += m_A87 * f24_26; + RHS26 += f24_26 * RHS24; + const double f24_27 = -f24 * m_A109; + m_A110 += m_A84 * f24_27; + m_A111 += m_A85 * f24_27; + m_A112 += m_A86 * f24_27; + m_A113 += m_A87 * f24_27; + RHS27 += f24_27 * RHS24; + const double f24_28 = -f24 * m_A119; + m_A120 += m_A84 * f24_28; + m_A121 += m_A85 * f24_28; + m_A122 += m_A86 * f24_28; + m_A123 += m_A87 * f24_28; + RHS28 += f24_28 * RHS24; + const double f24_29 = -f24 * m_A130; + m_A131 += m_A84 * f24_29; + m_A132 += m_A85 * f24_29; + m_A133 += m_A86 * f24_29; + m_A134 += m_A87 * f24_29; + RHS29 += f24_29 * RHS24; + const double f25 = 1.0 / m_A89; + const double f25_26 = -f25 * m_A97; + m_A101 += m_A90 * f25_26; RHS26 += f25_26 * RHS25; -const double f26 = 1.0 / m_A100; - const double f26_27 = -f26 * m_A106; - m_A107 += m_A101 * f26_27; + const double f26 = 1.0 / m_A98; + const double f26_27 = -f26 * m_A110; + m_A111 += m_A99 * f26_27; + m_A112 += m_A100 * f26_27; + m_A113 += m_A101 * f26_27; RHS27 += f26_27 * RHS26; - V[27] = RHS27 / m_A107; + const double f26_28 = -f26 * m_A120; + m_A121 += m_A99 * f26_28; + m_A122 += m_A100 * f26_28; + m_A123 += m_A101 * f26_28; + RHS28 += f26_28 * RHS26; + const double f26_29 = -f26 * m_A131; + m_A132 += m_A99 * f26_29; + m_A133 += m_A100 * f26_29; + m_A134 += m_A101 * f26_29; + RHS29 += f26_29 * RHS26; + const double f27 = 1.0 / m_A111; + const double f27_28 = -f27 * m_A121; + m_A122 += m_A112 * f27_28; + m_A123 += m_A113 * f27_28; + RHS28 += f27_28 * RHS27; + const double f27_29 = -f27 * m_A132; + m_A133 += m_A112 * f27_29; + m_A134 += m_A113 * f27_29; + RHS29 += f27_29 * RHS27; + const double f28 = 1.0 / m_A122; + const double f28_29 = -f28 * m_A133; + m_A134 += m_A123 * f28_29; + RHS29 += f28_29 * RHS28; + V[29] = RHS29 / m_A134; + double tmp28 = 0.0; + tmp28 += m_A123 * V[29]; + V[28] = (RHS28 - tmp28) / m_A122; + double tmp27 = 0.0; + tmp27 += m_A112 * V[28]; + tmp27 += m_A113 * V[29]; + V[27] = (RHS27 - tmp27) / m_A111; double tmp26 = 0.0; - tmp26 += m_A101 * V[27]; - V[26] = (RHS26 - tmp26) / m_A100; + tmp26 += m_A99 * V[27]; + tmp26 += m_A100 * V[28]; + tmp26 += m_A101 * V[29]; + V[26] = (RHS26 - tmp26) / m_A98; double tmp25 = 0.0; - tmp25 += m_A90 * V[26]; + tmp25 += m_A90 * V[29]; V[25] = (RHS25 - tmp25) / m_A89; double tmp24 = 0.0; - tmp24 += m_A84 * V[25]; + tmp24 += m_A84 * V[26]; + tmp24 += m_A85 * V[27]; + tmp24 += m_A86 * V[28]; + tmp24 += m_A87 * V[29]; V[24] = (RHS24 - tmp24) / m_A83; double tmp23 = 0.0; - tmp23 += m_A78 * V[27]; + tmp23 += m_A78 * V[28]; V[23] = (RHS23 - tmp23) / m_A77; double tmp22 = 0.0; - tmp22 += m_A71 * V[23]; - tmp22 += m_A72 * V[27]; + tmp22 += m_A71 * V[24]; + tmp22 += m_A72 * V[26]; + tmp22 += m_A73 * V[27]; + tmp22 += m_A74 * V[28]; + tmp22 += m_A75 * V[29]; V[22] = (RHS22 - tmp22) / m_A70; double tmp21 = 0.0; - tmp21 += m_A68 * V[26]; - V[21] = (RHS21 - tmp21) / m_A67; + tmp21 += m_A63 * V[22]; + tmp21 += m_A64 * V[26]; + tmp21 += m_A65 * V[27]; + tmp21 += m_A66 * V[29]; + V[21] = (RHS21 - tmp21) / m_A62; double tmp20 = 0.0; - tmp20 += m_A63 * V[24]; - tmp20 += m_A64 * V[25]; - V[20] = (RHS20 - tmp20) / m_A62; + tmp20 += m_A52 * V[21]; + tmp20 += m_A53 * V[26]; + tmp20 += m_A54 * V[29]; + V[20] = (RHS20 - tmp20) / m_A51; double tmp19 = 0.0; - tmp19 += m_A60 * V[21]; - V[19] = (RHS19 - tmp19) / m_A59; + V[19] = (RHS19 - tmp19) / m_A49; double tmp18 = 0.0; - tmp18 += m_A57 * V[19]; - V[18] = (RHS18 - tmp18) / m_A56; + tmp18 += m_A46 * V[21]; + tmp18 += m_A47 * V[27]; + V[18] = (RHS18 - tmp18) / m_A45; double tmp17 = 0.0; - tmp17 += m_A54 * V[24]; - V[17] = (RHS17 - tmp17) / m_A53; + V[17] = (RHS17 - tmp17) / m_A42; double tmp16 = 0.0; - tmp16 += m_A50 * V[23]; - V[16] = (RHS16 - tmp16) / m_A49; + tmp16 += m_A40 * V[27]; + V[16] = (RHS16 - tmp16) / m_A39; double tmp15 = 0.0; - tmp15 += m_A45 * V[17]; - tmp15 += m_A46 * V[24]; - V[15] = (RHS15 - tmp15) / m_A44; + V[15] = (RHS15 - tmp15) / m_A37; double tmp14 = 0.0; - tmp14 += m_A42 * V[16]; - tmp14 += m_A43 * V[23]; - V[14] = (RHS14 - tmp14) / m_A41; + tmp14 += m_A33 * V[22]; + tmp14 += m_A34 * V[24]; + tmp14 += m_A35 * V[28]; + V[14] = (RHS14 - tmp14) / m_A32; double tmp13 = 0.0; - tmp13 += m_A39 * V[24]; - tmp13 += m_A40 * V[25]; - V[13] = (RHS13 - tmp13) / m_A38; + tmp13 += m_A31 * V[28]; + V[13] = (RHS13 - tmp13) / m_A30; double tmp12 = 0.0; - tmp12 += m_A36 * V[23]; - tmp12 += m_A37 * V[27]; - V[12] = (RHS12 - tmp12) / m_A35; + tmp12 += m_A29 * V[23]; + V[12] = (RHS12 - tmp12) / m_A28; double tmp11 = 0.0; - tmp11 += m_A33 * V[25]; - tmp11 += m_A34 * V[26]; - V[11] = (RHS11 - tmp11) / m_A32; + tmp11 += m_A26 * V[21]; + tmp11 += m_A27 * V[22]; + V[11] = (RHS11 - tmp11) / m_A25; double tmp10 = 0.0; - tmp10 += m_A29 * V[26]; - tmp10 += m_A30 * V[27]; - V[10] = (RHS10 - tmp10) / m_A28; + tmp10 += m_A24 * V[26]; + V[10] = (RHS10 - tmp10) / m_A23; double tmp9 = 0.0; - tmp9 += m_A25 * V[11]; - tmp9 += m_A26 * V[26]; - V[9] = (RHS9 - tmp9) / m_A24; + tmp9 += m_A22 * V[19]; + V[9] = (RHS9 - tmp9) / m_A21; double tmp8 = 0.0; - tmp8 += m_A21 * V[10]; - tmp8 += m_A22 * V[26]; - V[8] = (RHS8 - tmp8) / m_A20; + tmp8 += m_A20 * V[29]; + V[8] = (RHS8 - tmp8) / m_A19; double tmp7 = 0.0; - tmp7 += m_A17 * V[9]; - tmp7 += m_A18 * V[26]; + tmp7 += m_A17 * V[20]; + tmp7 += m_A18 * V[21]; V[7] = (RHS7 - tmp7) / m_A16; double tmp6 = 0.0; - tmp6 += m_A14 * V[8]; - tmp6 += m_A15 * V[26]; - V[6] = (RHS6 - tmp6) / m_A13; + tmp6 += m_A15 * V[25]; + V[6] = (RHS6 - tmp6) / m_A14; double tmp5 = 0.0; - tmp5 += m_A11 * V[21]; - tmp5 += m_A12 * V[26]; + tmp5 += m_A11 * V[18]; + tmp5 += m_A12 * V[21]; + tmp5 += m_A13 * V[27]; V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A9 * V[20]; + tmp4 += m_A9 * V[17]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[22]; + tmp3 += m_A7 * V[16]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[17]; + tmp2 += m_A5 * V[27]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[16]; + tmp1 += m_A3 * V[15]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; tmp0 += m_A1 * V[18]; V[0] = (RHS0 - tmp0) / m_A0; } -// konami1x -static void nl_gcr_7f2f6447ea71d31e_49_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// 1942 +static void nl_gcr_b20cee3516465509_90_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A8 = gt[32] + gt[33]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33]; - m_A10 = gt[40] + gt[41]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A12 = gt[48] + gt[49]; - m_A13 = m_A13 + go[48]; - double RHS6 = Idr[48] + Idr[49] - go[49] * *cnV[49]; - m_A14 = gt[56] + gt[57]; - m_A15 = m_A15 + go[56]; - double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57]; - m_A16 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69] + gt[70]; - m_A17 = m_A17 + go[64]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] + Idr[70] - go[65] * *cnV[65] - go[66] * *cnV[66] - go[67] * *cnV[67] - go[68] * *cnV[68] - go[69] * *cnV[69] - go[70] * *cnV[70]; - m_A18 = gt[72] + gt[73]; - m_A19 = m_A19 + go[72]; - double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73]; - m_A20 = gt[80] + gt[81]; - m_A21 = m_A21 + go[80]; - double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81]; - m_A25 = gt[88] + gt[89] + gt[90] + gt[91]; - m_A26 = m_A26 + go[88]; - m_A24 = m_A24 + go[89]; - m_A23 = m_A23 + go[90]; - m_A22 = m_A22 + go[91]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91]; - m_A30 = gt[96] + gt[97] + gt[98] + gt[99]; - m_A31 = m_A31 + go[96]; - m_A29 = m_A29 + go[97]; - m_A28 = m_A28 + go[98]; - m_A27 = m_A27 + go[99]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99]; - m_A35 = gt[104] + gt[105] + gt[106] + gt[107]; - m_A36 = m_A36 + go[104]; - m_A34 = m_A34 + go[105]; - m_A33 = m_A33 + go[106]; - m_A32 = m_A32 + go[107]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107]; - m_A38 = gt[112] + gt[113] + gt[114]; - m_A37 = m_A37 + go[112]; - m_A39 = m_A39 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114]; - m_A43 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124]; - m_A44 = m_A44 + go[120]; - m_A42 = m_A42 + go[121]; - m_A41 = m_A41 + go[122]; - m_A40 = m_A40 + go[123]; - double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124] - go[124] * *cnV[124]; - m_A48 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132]; - m_A45 = m_A45 + go[128]; - m_A46 = m_A46 + go[129]; - m_A47 = m_A47 + go[130]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132] - go[131] * *cnV[131] - go[132] * *cnV[132]; -const double f0 = 1.0 / m_A0; - const double f0_11 = -f0 * m_A22; - m_A25 += m_A1 * f0_11; - RHS11 += f0_11 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_11 = -f1 * m_A23; - m_A25 += m_A3 * f1_11; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A7 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + m_A8 += gt[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A9 += go[12]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 -= go[13] * *cnV[13]; + RHS4 -= go[14] * *cnV[14]; + m_A10 += gt[15]; + m_A10 += gt[16]; + m_A10 += gt[17]; + m_A11 += go[15]; + double RHS5 = Idr[15]; + RHS5 += Idr[16]; + RHS5 += Idr[17]; + RHS5 -= go[16] * *cnV[16]; + RHS5 -= go[17] * *cnV[17]; + m_A12 += gt[18]; + m_A12 += gt[19]; + m_A12 += gt[20]; + m_A12 += gt[21]; + m_A12 += gt[22]; + m_A12 += gt[23]; + m_A12 += gt[24]; + m_A19 += go[18]; + m_A13 += go[19]; + m_A15 += go[20]; + m_A17 += go[21]; + m_A18 += go[22]; + m_A16 += go[23]; + m_A14 += go[24]; + double RHS6 = Idr[18]; + RHS6 += Idr[19]; + RHS6 += Idr[20]; + RHS6 += Idr[21]; + RHS6 += Idr[22]; + RHS6 += Idr[23]; + RHS6 += Idr[24]; + m_A20 += gt[25]; + m_A20 += gt[26]; + m_A22 += go[25]; + m_A21 += go[26]; + double RHS7 = Idr[25]; + RHS7 += Idr[26]; + m_A25 += gt[27]; + m_A25 += gt[28]; + m_A24 += go[27]; + m_A23 += go[28]; + double RHS8 = Idr[27]; + RHS8 += Idr[28]; + m_A35 += gt[29]; + m_A35 += gt[30]; + m_A33 += go[29]; + m_A32 += go[30]; + double RHS9 = Idr[29]; + RHS9 += Idr[30]; + m_A45 += gt[31]; + m_A45 += gt[32]; + m_A42 += go[31]; + m_A41 += go[32]; + double RHS10 = Idr[31]; + RHS10 += Idr[32]; + m_A55 += gt[33]; + m_A55 += gt[34]; + m_A51 += go[33]; + m_A50 += go[34]; + double RHS11 = Idr[33]; + RHS11 += Idr[34]; + m_A65 += gt[35]; + m_A65 += gt[36]; + m_A60 += go[35]; + m_A59 += go[36]; + double RHS12 = Idr[35]; + RHS12 += Idr[36]; + m_A75 += gt[37]; + m_A75 += gt[38]; + m_A69 += go[37]; + m_A68 += go[38]; + double RHS13 = Idr[37]; + RHS13 += Idr[38]; + m_A85 += gt[39]; + m_A85 += gt[40]; + m_A85 += gt[41]; + m_A78 += go[39]; + m_A77 += go[40]; + double RHS14 = Idr[39]; + RHS14 += Idr[40]; + RHS14 += Idr[41]; + RHS14 -= go[41] * *cnV[41]; + m_A89 += gt[42]; + m_A89 += gt[43]; + m_A87 += go[42]; + double RHS15 = Idr[42]; + RHS15 += Idr[43]; + RHS15 -= go[43] * *cnV[43]; + const double f0 = 1.0 / m_A0; + const double f0_9 = -f0 * m_A32; + m_A35 += m_A1 * f0_9; + RHS9 += f0_9 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_11 = -f1 * m_A50; + m_A55 += m_A3 * f1_11; RHS11 += f1_11 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_11 = -f2 * m_A24; - m_A25 += m_A5 * f2_11; - RHS11 += f2_11 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_12 = -f3 * m_A27; - m_A30 += m_A7 * f3_12; + const double f2 = 1.0 / m_A4; + const double f2_13 = -f2 * m_A68; + m_A75 += m_A5 * f2_13; + RHS13 += f2_13 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_12 = -f3 * m_A59; + m_A65 += m_A7 * f3_12; RHS12 += f3_12 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_12 = -f4 * m_A28; - m_A30 += m_A9 * f4_12; - RHS12 += f4_12 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_12 = -f5 * m_A29; - m_A30 += m_A11 * f5_12; - RHS12 += f5_12 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_13 = -f6 * m_A32; - m_A35 += m_A13 * f6_13; + const double f4 = 1.0 / m_A8; + const double f4_10 = -f4 * m_A41; + m_A45 += m_A9 * f4_10; + RHS10 += f4_10 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_8 = -f5 * m_A23; + m_A25 += m_A11 * f5_8; + RHS8 += f5_8 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_8 = -f6 * m_A24; + m_A25 += m_A13 * f6_8; + m_A26 += m_A14 * f6_8; + m_A27 += m_A15 * f6_8; + m_A28 += m_A16 * f6_8; + m_A29 += m_A17 * f6_8; + m_A30 += m_A18 * f6_8; + m_A31 += m_A19 * f6_8; + RHS8 += f6_8 * RHS6; + const double f6_9 = -f6 * m_A33; + m_A34 += m_A13 * f6_9; + m_A35 += m_A14 * f6_9; + m_A36 += m_A15 * f6_9; + m_A37 += m_A16 * f6_9; + m_A38 += m_A17 * f6_9; + m_A39 += m_A18 * f6_9; + m_A40 += m_A19 * f6_9; + RHS9 += f6_9 * RHS6; + const double f6_10 = -f6 * m_A42; + m_A43 += m_A13 * f6_10; + m_A44 += m_A14 * f6_10; + m_A45 += m_A15 * f6_10; + m_A46 += m_A16 * f6_10; + m_A47 += m_A17 * f6_10; + m_A48 += m_A18 * f6_10; + m_A49 += m_A19 * f6_10; + RHS10 += f6_10 * RHS6; + const double f6_11 = -f6 * m_A51; + m_A52 += m_A13 * f6_11; + m_A53 += m_A14 * f6_11; + m_A54 += m_A15 * f6_11; + m_A55 += m_A16 * f6_11; + m_A56 += m_A17 * f6_11; + m_A57 += m_A18 * f6_11; + m_A58 += m_A19 * f6_11; + RHS11 += f6_11 * RHS6; + const double f6_12 = -f6 * m_A60; + m_A61 += m_A13 * f6_12; + m_A62 += m_A14 * f6_12; + m_A63 += m_A15 * f6_12; + m_A64 += m_A16 * f6_12; + m_A65 += m_A17 * f6_12; + m_A66 += m_A18 * f6_12; + m_A67 += m_A19 * f6_12; + RHS12 += f6_12 * RHS6; + const double f6_13 = -f6 * m_A69; + m_A70 += m_A13 * f6_13; + m_A71 += m_A14 * f6_13; + m_A72 += m_A15 * f6_13; + m_A73 += m_A16 * f6_13; + m_A74 += m_A17 * f6_13; + m_A75 += m_A18 * f6_13; + m_A76 += m_A19 * f6_13; RHS13 += f6_13 * RHS6; -const double f7 = 1.0 / m_A14; - const double f7_13 = -f7 * m_A33; - m_A35 += m_A15 * f7_13; - RHS13 += f7_13 * RHS7; -const double f8 = 1.0 / m_A16; - const double f8_16 = -f8 * m_A45; - m_A47 += m_A17 * f8_16; - RHS16 += f8_16 * RHS8; -const double f9 = 1.0 / m_A18; - const double f9_13 = -f9 * m_A34; - m_A35 += m_A19 * f9_13; + const double f6_14 = -f6 * m_A77; + m_A79 += m_A13 * f6_14; + m_A80 += m_A14 * f6_14; + m_A81 += m_A15 * f6_14; + m_A82 += m_A16 * f6_14; + m_A83 += m_A17 * f6_14; + m_A84 += m_A18 * f6_14; + m_A85 += m_A19 * f6_14; + RHS14 += f6_14 * RHS6; + const double f7 = 1.0 / m_A20; + const double f7_14 = -f7 * m_A78; + m_A85 += m_A21 * f7_14; + m_A86 += m_A22 * f7_14; + RHS14 += f7_14 * RHS7; + const double f7_15 = -f7 * m_A87; + m_A88 += m_A21 * f7_15; + m_A89 += m_A22 * f7_15; + RHS15 += f7_15 * RHS7; + const double f8 = 1.0 / m_A25; + const double f8_9 = -f8 * m_A34; + m_A35 += m_A26 * f8_9; + m_A36 += m_A27 * f8_9; + m_A37 += m_A28 * f8_9; + m_A38 += m_A29 * f8_9; + m_A39 += m_A30 * f8_9; + m_A40 += m_A31 * f8_9; + RHS9 += f8_9 * RHS8; + const double f8_10 = -f8 * m_A43; + m_A44 += m_A26 * f8_10; + m_A45 += m_A27 * f8_10; + m_A46 += m_A28 * f8_10; + m_A47 += m_A29 * f8_10; + m_A48 += m_A30 * f8_10; + m_A49 += m_A31 * f8_10; + RHS10 += f8_10 * RHS8; + const double f8_11 = -f8 * m_A52; + m_A53 += m_A26 * f8_11; + m_A54 += m_A27 * f8_11; + m_A55 += m_A28 * f8_11; + m_A56 += m_A29 * f8_11; + m_A57 += m_A30 * f8_11; + m_A58 += m_A31 * f8_11; + RHS11 += f8_11 * RHS8; + const double f8_12 = -f8 * m_A61; + m_A62 += m_A26 * f8_12; + m_A63 += m_A27 * f8_12; + m_A64 += m_A28 * f8_12; + m_A65 += m_A29 * f8_12; + m_A66 += m_A30 * f8_12; + m_A67 += m_A31 * f8_12; + RHS12 += f8_12 * RHS8; + const double f8_13 = -f8 * m_A70; + m_A71 += m_A26 * f8_13; + m_A72 += m_A27 * f8_13; + m_A73 += m_A28 * f8_13; + m_A74 += m_A29 * f8_13; + m_A75 += m_A30 * f8_13; + m_A76 += m_A31 * f8_13; + RHS13 += f8_13 * RHS8; + const double f8_14 = -f8 * m_A79; + m_A80 += m_A26 * f8_14; + m_A81 += m_A27 * f8_14; + m_A82 += m_A28 * f8_14; + m_A83 += m_A29 * f8_14; + m_A84 += m_A30 * f8_14; + m_A85 += m_A31 * f8_14; + RHS14 += f8_14 * RHS8; + const double f9 = 1.0 / m_A35; + const double f9_10 = -f9 * m_A44; + m_A45 += m_A36 * f9_10; + m_A46 += m_A37 * f9_10; + m_A47 += m_A38 * f9_10; + m_A48 += m_A39 * f9_10; + m_A49 += m_A40 * f9_10; + RHS10 += f9_10 * RHS9; + const double f9_11 = -f9 * m_A53; + m_A54 += m_A36 * f9_11; + m_A55 += m_A37 * f9_11; + m_A56 += m_A38 * f9_11; + m_A57 += m_A39 * f9_11; + m_A58 += m_A40 * f9_11; + RHS11 += f9_11 * RHS9; + const double f9_12 = -f9 * m_A62; + m_A63 += m_A36 * f9_12; + m_A64 += m_A37 * f9_12; + m_A65 += m_A38 * f9_12; + m_A66 += m_A39 * f9_12; + m_A67 += m_A40 * f9_12; + RHS12 += f9_12 * RHS9; + const double f9_13 = -f9 * m_A71; + m_A72 += m_A36 * f9_13; + m_A73 += m_A37 * f9_13; + m_A74 += m_A38 * f9_13; + m_A75 += m_A39 * f9_13; + m_A76 += m_A40 * f9_13; RHS13 += f9_13 * RHS9; -const double f10 = 1.0 / m_A20; - const double f10_14 = -f10 * m_A37; - m_A38 += m_A21 * f10_14; + const double f9_14 = -f9 * m_A80; + m_A81 += m_A36 * f9_14; + m_A82 += m_A37 * f9_14; + m_A83 += m_A38 * f9_14; + m_A84 += m_A39 * f9_14; + m_A85 += m_A40 * f9_14; + RHS14 += f9_14 * RHS9; + const double f10 = 1.0 / m_A45; + const double f10_11 = -f10 * m_A54; + m_A55 += m_A46 * f10_11; + m_A56 += m_A47 * f10_11; + m_A57 += m_A48 * f10_11; + m_A58 += m_A49 * f10_11; + RHS11 += f10_11 * RHS10; + const double f10_12 = -f10 * m_A63; + m_A64 += m_A46 * f10_12; + m_A65 += m_A47 * f10_12; + m_A66 += m_A48 * f10_12; + m_A67 += m_A49 * f10_12; + RHS12 += f10_12 * RHS10; + const double f10_13 = -f10 * m_A72; + m_A73 += m_A46 * f10_13; + m_A74 += m_A47 * f10_13; + m_A75 += m_A48 * f10_13; + m_A76 += m_A49 * f10_13; + RHS13 += f10_13 * RHS10; + const double f10_14 = -f10 * m_A81; + m_A82 += m_A46 * f10_14; + m_A83 += m_A47 * f10_14; + m_A84 += m_A48 * f10_14; + m_A85 += m_A49 * f10_14; RHS14 += f10_14 * RHS10; -const double f11 = 1.0 / m_A25; - const double f11_15 = -f11 * m_A40; - m_A43 += m_A26 * f11_15; - RHS15 += f11_15 * RHS11; -const double f12 = 1.0 / m_A30; - const double f12_15 = -f12 * m_A41; - m_A43 += m_A31 * f12_15; - RHS15 += f12_15 * RHS12; -const double f13 = 1.0 / m_A35; - const double f13_15 = -f13 * m_A42; - m_A43 += m_A36 * f13_15; - RHS15 += f13_15 * RHS13; -const double f14 = 1.0 / m_A38; - const double f14_16 = -f14 * m_A46; - m_A48 += m_A39 * f14_16; - RHS16 += f14_16 * RHS14; -const double f15 = 1.0 / m_A43; - const double f15_16 = -f15 * m_A47; - m_A48 += m_A44 * f15_16; - RHS16 += f15_16 * RHS15; - V[16] = RHS16 / m_A48; - double tmp15 = 0.0; - tmp15 += m_A44 * V[16]; - V[15] = (RHS15 - tmp15) / m_A43; + const double f11 = 1.0 / m_A55; + const double f11_12 = -f11 * m_A64; + m_A65 += m_A56 * f11_12; + m_A66 += m_A57 * f11_12; + m_A67 += m_A58 * f11_12; + RHS12 += f11_12 * RHS11; + const double f11_13 = -f11 * m_A73; + m_A74 += m_A56 * f11_13; + m_A75 += m_A57 * f11_13; + m_A76 += m_A58 * f11_13; + RHS13 += f11_13 * RHS11; + const double f11_14 = -f11 * m_A82; + m_A83 += m_A56 * f11_14; + m_A84 += m_A57 * f11_14; + m_A85 += m_A58 * f11_14; + RHS14 += f11_14 * RHS11; + const double f12 = 1.0 / m_A65; + const double f12_13 = -f12 * m_A74; + m_A75 += m_A66 * f12_13; + m_A76 += m_A67 * f12_13; + RHS13 += f12_13 * RHS12; + const double f12_14 = -f12 * m_A83; + m_A84 += m_A66 * f12_14; + m_A85 += m_A67 * f12_14; + RHS14 += f12_14 * RHS12; + const double f13 = 1.0 / m_A75; + const double f13_14 = -f13 * m_A84; + m_A85 += m_A76 * f13_14; + RHS14 += f13_14 * RHS13; + const double f14 = 1.0 / m_A85; + const double f14_15 = -f14 * m_A88; + m_A89 += m_A86 * f14_15; + RHS15 += f14_15 * RHS14; + V[15] = RHS15 / m_A89; double tmp14 = 0.0; - tmp14 += m_A39 * V[16]; - V[14] = (RHS14 - tmp14) / m_A38; + tmp14 += m_A86 * V[15]; + V[14] = (RHS14 - tmp14) / m_A85; double tmp13 = 0.0; - tmp13 += m_A36 * V[15]; - V[13] = (RHS13 - tmp13) / m_A35; + tmp13 += m_A76 * V[14]; + V[13] = (RHS13 - tmp13) / m_A75; double tmp12 = 0.0; - tmp12 += m_A31 * V[15]; - V[12] = (RHS12 - tmp12) / m_A30; + tmp12 += m_A66 * V[13]; + tmp12 += m_A67 * V[14]; + V[12] = (RHS12 - tmp12) / m_A65; double tmp11 = 0.0; - tmp11 += m_A26 * V[15]; - V[11] = (RHS11 - tmp11) / m_A25; + tmp11 += m_A56 * V[12]; + tmp11 += m_A57 * V[13]; + tmp11 += m_A58 * V[14]; + V[11] = (RHS11 - tmp11) / m_A55; double tmp10 = 0.0; - tmp10 += m_A21 * V[14]; - V[10] = (RHS10 - tmp10) / m_A20; + tmp10 += m_A46 * V[11]; + tmp10 += m_A47 * V[12]; + tmp10 += m_A48 * V[13]; + tmp10 += m_A49 * V[14]; + V[10] = (RHS10 - tmp10) / m_A45; double tmp9 = 0.0; - tmp9 += m_A19 * V[13]; - V[9] = (RHS9 - tmp9) / m_A18; + tmp9 += m_A36 * V[10]; + tmp9 += m_A37 * V[11]; + tmp9 += m_A38 * V[12]; + tmp9 += m_A39 * V[13]; + tmp9 += m_A40 * V[14]; + V[9] = (RHS9 - tmp9) / m_A35; double tmp8 = 0.0; - tmp8 += m_A17 * V[15]; - V[8] = (RHS8 - tmp8) / m_A16; - double tmp7 = 0.0; - tmp7 += m_A15 * V[13]; - V[7] = (RHS7 - tmp7) / m_A14; - double tmp6 = 0.0; - tmp6 += m_A13 * V[13]; - V[6] = (RHS6 - tmp6) / m_A12; - double tmp5 = 0.0; - tmp5 += m_A11 * V[12]; - V[5] = (RHS5 - tmp5) / m_A10; - double tmp4 = 0.0; - tmp4 += m_A9 * V[12]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[12]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[11]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[11]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[11]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// dpatrol -static void nl_gcr_81bfac76b696d9f3_22_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[6] + gt[7] + gt[8] + gt[9]; - m_A4 = m_A4 + go[6]; - m_A3 = m_A3 + go[7]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[6] + Idr[7] + Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A5 = gt[12] + gt[13] + gt[14] + gt[15]; - m_A7 = m_A7 + go[12]; - m_A6 = m_A6 + go[13]; - m_A6 = m_A6 + go[14]; - double RHS2 = Idr[12] + Idr[13] + Idr[14] + Idr[15] - go[15] * *cnV[15]; - m_A10 = gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A12 = m_A12 + go[18]; - m_A9 = m_A9 + go[19]; - m_A9 = m_A9 + go[20]; - m_A8 = m_A8 + go[21]; - m_A8 = m_A8 + go[22]; - double RHS3 = Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22]; - m_A16 = gt[24] + gt[25] + gt[26]; - m_A17 = m_A17 + go[24]; - m_A14 = m_A14 + go[25]; - m_A13 = m_A13 + go[26]; - double RHS4 = Idr[24] + Idr[25] + Idr[26]; - m_A21 = gt[30] + gt[31] + gt[32]; - m_A20 = m_A20 + go[30]; - m_A19 = m_A19 + go[31]; - m_A18 = m_A18 + go[32]; - double RHS5 = Idr[30] + Idr[31] + Idr[32]; -const double f0 = 1.0 / m_A0; - const double f0_5 = -f0 * m_A18; - m_A21 += m_A1 * f0_5; - RHS5 += f0_5 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_3 = -f1 * m_A8; - m_A10 += m_A3 * f1_3; - m_A11 += m_A4 * f1_3; - RHS3 += f1_3 * RHS1; - const double f1_4 = -f1 * m_A13; - m_A15 += m_A3 * f1_4; - m_A16 += m_A4 * f1_4; - RHS4 += f1_4 * RHS1; -const double f2 = 1.0 / m_A5; - const double f2_3 = -f2 * m_A9; - m_A10 += m_A6 * f2_3; - m_A11 += m_A7 * f2_3; - RHS3 += f2_3 * RHS2; - const double f2_4 = -f2 * m_A14; - m_A15 += m_A6 * f2_4; - m_A16 += m_A7 * f2_4; - RHS4 += f2_4 * RHS2; -const double f3 = 1.0 / m_A10; - const double f3_4 = -f3 * m_A15; - m_A16 += m_A11 * f3_4; - m_A17 += m_A12 * f3_4; - RHS4 += f3_4 * RHS3; - const double f3_5 = -f3 * m_A19; - m_A20 += m_A11 * f3_5; - m_A21 += m_A12 * f3_5; - RHS5 += f3_5 * RHS3; -const double f4 = 1.0 / m_A16; - const double f4_5 = -f4 * m_A20; - m_A21 += m_A17 * f4_5; - RHS5 += f4_5 * RHS4; - V[5] = RHS5 / m_A21; + tmp8 += m_A26 * V[9]; + tmp8 += m_A27 * V[10]; + tmp8 += m_A28 * V[11]; + tmp8 += m_A29 * V[12]; + tmp8 += m_A30 * V[13]; + tmp8 += m_A31 * V[14]; + V[8] = (RHS8 - tmp8) / m_A25; + double tmp7 = 0.0; + tmp7 += m_A21 * V[14]; + tmp7 += m_A22 * V[15]; + V[7] = (RHS7 - tmp7) / m_A20; + double tmp6 = 0.0; + tmp6 += m_A13 * V[8]; + tmp6 += m_A14 * V[9]; + tmp6 += m_A15 * V[10]; + tmp6 += m_A16 * V[11]; + tmp6 += m_A17 * V[12]; + tmp6 += m_A18 * V[13]; + tmp6 += m_A19 * V[14]; + V[6] = (RHS6 - tmp6) / m_A12; + double tmp5 = 0.0; + tmp5 += m_A11 * V[8]; + V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A17 * V[5]; - V[4] = (RHS4 - tmp4) / m_A16; + tmp4 += m_A9 * V[10]; + V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A11 * V[4]; - tmp3 += m_A12 * V[5]; - V[3] = (RHS3 - tmp3) / m_A10; + tmp3 += m_A7 * V[12]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A6 * V[3]; - tmp2 += m_A7 * V[4]; - V[2] = (RHS2 - tmp2) / m_A5; - double tmp1 = 0.0; - tmp1 += m_A3 * V[3]; - tmp1 += m_A4 * V[4]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[5]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// breakout -static void nl_gcr_876240e48d904d1f_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5] + gt[6] + gt[7]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] + Idr[6] + Idr[7] - go[5] * *cnV[5] - go[6] * *cnV[6] - go[7] * *cnV[7]; - m_A6 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; + tmp2 += m_A5 * V[13]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; + tmp1 += m_A3 * V[11]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; + tmp0 += m_A1 * V[9]; V[0] = (RHS0 - tmp0) / m_A0; } -// konami2x -static void nl_gcr_8e55e5f9e065890e_85_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// segas16b_audio +static void nl_gcr_b71f53c9e7a6b4a9_111_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A8 = gt[32] + gt[33]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33]; - m_A10 = gt[40] + gt[41]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A12 = gt[48] + gt[49]; - m_A13 = m_A13 + go[48]; - double RHS6 = Idr[48] + Idr[49] - go[49] * *cnV[49]; - m_A14 = gt[56] + gt[57]; - m_A15 = m_A15 + go[56]; - double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57]; - m_A16 = gt[64] + gt[65]; - m_A17 = m_A17 + go[64]; - double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65]; - m_A18 = gt[72] + gt[73]; - m_A19 = m_A19 + go[72]; - double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73]; - m_A20 = gt[80] + gt[81]; - m_A21 = m_A21 + go[80]; - double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81]; - m_A22 = gt[88] + gt[89]; - m_A23 = m_A23 + go[88]; - double RHS11 = Idr[88] + Idr[89] - go[89] * *cnV[89]; - m_A24 = gt[96] + gt[97]; - m_A25 = m_A25 + go[96]; - double RHS12 = Idr[96] + Idr[97] - go[97] * *cnV[97]; - m_A26 = gt[104] + gt[105] + gt[106] + gt[107] + gt[108] + gt[109] + gt[110]; - m_A27 = m_A27 + go[104]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107] + Idr[108] + Idr[109] + Idr[110] - go[105] * *cnV[105] - go[106] * *cnV[106] - go[107] * *cnV[107] - go[108] * *cnV[108] - go[109] * *cnV[109] - go[110] * *cnV[110]; - m_A28 = gt[112] + gt[113]; - m_A29 = m_A29 + go[112]; - double RHS14 = Idr[112] + Idr[113] - go[113] * *cnV[113]; - m_A30 = gt[120] + gt[121]; - m_A31 = m_A31 + go[120]; - double RHS15 = Idr[120] + Idr[121] - go[121] * *cnV[121]; - m_A35 = gt[128] + gt[129] + gt[130] + gt[131]; - m_A36 = m_A36 + go[128]; - m_A34 = m_A34 + go[129]; - m_A33 = m_A33 + go[130]; - m_A32 = m_A32 + go[131]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131]; - m_A37 = gt[136] + gt[137]; - m_A38 = m_A38 + go[136]; - double RHS17 = Idr[136] + Idr[137] - go[137] * *cnV[137]; - m_A39 = gt[144] + gt[145]; - m_A40 = m_A40 + go[144]; - double RHS18 = Idr[144] + Idr[145] - go[145] * *cnV[145]; - m_A41 = gt[152] + gt[153]; - m_A42 = m_A42 + go[152]; - double RHS19 = Idr[152] + Idr[153] - go[153] * *cnV[153]; - m_A43 = gt[160] + gt[161]; - m_A44 = m_A44 + go[160]; - double RHS20 = Idr[160] + Idr[161] - go[161] * *cnV[161]; - m_A46 = gt[168] + gt[169] + gt[170]; - m_A45 = m_A45 + go[168]; - m_A47 = m_A47 + go[169]; - double RHS21 = Idr[168] + Idr[169] + Idr[170] - go[170] * *cnV[170]; - m_A51 = gt[176] + gt[177] + gt[178] + gt[179]; - m_A52 = m_A52 + go[176]; - m_A50 = m_A50 + go[177]; - m_A49 = m_A49 + go[178]; - m_A48 = m_A48 + go[179]; - double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179]; - m_A56 = gt[184] + gt[185] + gt[186] + gt[187]; - m_A57 = m_A57 + go[184]; - m_A55 = m_A55 + go[185]; - m_A54 = m_A54 + go[186]; - m_A53 = m_A53 + go[187]; - double RHS23 = Idr[184] + Idr[185] + Idr[186] + Idr[187]; - m_A61 = gt[192] + gt[193] + gt[194] + gt[195]; - m_A62 = m_A62 + go[192]; - m_A60 = m_A60 + go[193]; - m_A59 = m_A59 + go[194]; - m_A58 = m_A58 + go[195]; - double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195]; - m_A66 = gt[200] + gt[201] + gt[202] + gt[203]; - m_A67 = m_A67 + go[200]; - m_A65 = m_A65 + go[201]; - m_A64 = m_A64 + go[202]; - m_A63 = m_A63 + go[203]; - double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203]; - m_A71 = gt[208] + gt[209] + gt[210] + gt[211]; - m_A72 = m_A72 + go[208]; - m_A70 = m_A70 + go[209]; - m_A69 = m_A69 + go[210]; - m_A68 = m_A68 + go[211]; - double RHS26 = Idr[208] + Idr[209] + Idr[210] + Idr[211]; - m_A75 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220]; - m_A73 = m_A73 + go[216]; - m_A74 = m_A74 + go[217]; - m_A76 = m_A76 + go[218]; - double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] - go[219] * *cnV[219] - go[220] * *cnV[220]; - m_A84 = gt[224] + gt[225] + gt[226] + gt[227] + gt[228] + gt[229] + gt[230] + gt[231]; - m_A83 = m_A83 + go[224]; - m_A80 = m_A80 + go[225]; - m_A82 = m_A82 + go[226]; - m_A81 = m_A81 + go[227]; - m_A79 = m_A79 + go[228]; - m_A78 = m_A78 + go[229]; - m_A77 = m_A77 + go[230]; - double RHS28 = Idr[224] + Idr[225] + Idr[226] + Idr[227] + Idr[228] + Idr[229] + Idr[230] + Idr[231] - go[231] * *cnV[231]; -const double f0 = 1.0 / m_A0; - const double f0_16 = -f0 * m_A32; - m_A35 += m_A1 * f0_16; - RHS16 += f0_16 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_16 = -f1 * m_A33; - m_A35 += m_A3 * f1_16; - RHS16 += f1_16 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_16 = -f2 * m_A34; - m_A35 += m_A5 * f2_16; - RHS16 += f2_16 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_22 = -f3 * m_A48; - m_A51 += m_A7 * f3_22; - RHS22 += f3_22 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_22 = -f4 * m_A49; - m_A51 += m_A9 * f4_22; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A8 += go[9]; + m_A7 += go[10]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 -= go[11] * *cnV[11]; + m_A9 += gt[12]; + m_A9 += gt[13]; + m_A9 += gt[14]; + m_A12 += go[12]; + m_A10 += go[13]; + m_A11 += go[14]; + double RHS4 = Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + m_A13 += gt[15]; + m_A13 += gt[16]; + m_A13 += gt[17]; + m_A13 += gt[18]; + m_A13 += gt[19]; + m_A13 += gt[20]; + m_A13 += gt[21]; + m_A15 += go[15]; + m_A14 += go[16]; + double RHS5 = Idr[15]; + RHS5 += Idr[16]; + RHS5 += Idr[17]; + RHS5 += Idr[18]; + RHS5 += Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 -= go[17] * *cnV[17]; + RHS5 -= go[18] * *cnV[18]; + RHS5 -= go[19] * *cnV[19]; + RHS5 -= go[20] * *cnV[20]; + RHS5 -= go[21] * *cnV[21]; + m_A16 += gt[22]; + m_A16 += gt[23]; + m_A17 += go[22]; + m_A18 += go[23]; + double RHS6 = Idr[22]; + RHS6 += Idr[23]; + m_A19 += gt[24]; + m_A19 += gt[25]; + m_A20 += go[24]; + m_A21 += go[25]; + double RHS7 = Idr[24]; + RHS7 += Idr[25]; + m_A22 += gt[26]; + m_A22 += gt[27]; + m_A23 += go[26]; + m_A24 += go[27]; + double RHS8 = Idr[26]; + RHS8 += Idr[27]; + m_A25 += gt[28]; + m_A25 += gt[29]; + m_A26 += go[28]; + m_A27 += go[29]; + double RHS9 = Idr[28]; + RHS9 += Idr[29]; + m_A28 += gt[30]; + m_A28 += gt[31]; + m_A29 += go[30]; + double RHS10 = Idr[30]; + RHS10 += Idr[31]; + RHS10 -= go[31] * *cnV[31]; + m_A30 += gt[32]; + m_A30 += gt[33]; + m_A30 += gt[34]; + m_A30 += gt[35]; + m_A31 += go[32]; + double RHS11 = Idr[32]; + RHS11 += Idr[33]; + RHS11 += Idr[34]; + RHS11 += Idr[35]; + RHS11 -= go[33] * *cnV[33]; + RHS11 -= go[34] * *cnV[34]; + RHS11 -= go[35] * *cnV[35]; + m_A34 += gt[36]; + m_A34 += gt[37]; + m_A34 += gt[38]; + m_A33 += go[36]; + m_A32 += go[37]; + double RHS12 = Idr[36]; + RHS12 += Idr[37]; + RHS12 += Idr[38]; + RHS12 -= go[38] * *cnV[38]; + m_A37 += gt[39]; + m_A37 += gt[40]; + m_A37 += gt[41]; + m_A37 += gt[42]; + m_A37 += gt[43]; + m_A37 += gt[44]; + m_A37 += gt[45]; + m_A38 += go[39]; + m_A36 += go[40]; + double RHS13 = Idr[39]; + RHS13 += Idr[40]; + RHS13 += Idr[41]; + RHS13 += Idr[42]; + RHS13 += Idr[43]; + RHS13 += Idr[44]; + RHS13 += Idr[45]; + RHS13 -= go[41] * *cnV[41]; + RHS13 -= go[42] * *cnV[42]; + RHS13 -= go[43] * *cnV[43]; + RHS13 -= go[44] * *cnV[44]; + RHS13 -= go[45] * *cnV[45]; + m_A40 += gt[46]; + m_A40 += gt[47]; + m_A40 += gt[48]; + m_A40 += gt[49]; + m_A40 += gt[50]; + m_A40 += gt[51]; + m_A40 += gt[52]; + m_A41 += go[46]; + m_A39 += go[47]; + double RHS14 = Idr[46]; + RHS14 += Idr[47]; + RHS14 += Idr[48]; + RHS14 += Idr[49]; + RHS14 += Idr[50]; + RHS14 += Idr[51]; + RHS14 += Idr[52]; + RHS14 -= go[48] * *cnV[48]; + RHS14 -= go[49] * *cnV[49]; + RHS14 -= go[50] * *cnV[50]; + RHS14 -= go[51] * *cnV[51]; + RHS14 -= go[52] * *cnV[52]; + m_A44 += gt[53]; + m_A44 += gt[54]; + m_A44 += gt[55]; + m_A44 += gt[56]; + m_A45 += go[53]; + m_A43 += go[54]; + m_A42 += go[55]; + double RHS15 = Idr[53]; + RHS15 += Idr[54]; + RHS15 += Idr[55]; + RHS15 += Idr[56]; + RHS15 -= go[56] * *cnV[56]; + m_A48 += gt[57]; + m_A48 += gt[58]; + m_A48 += gt[59]; + m_A48 += gt[60]; + m_A48 += gt[61]; + m_A48 += gt[62]; + m_A48 += gt[63]; + m_A49 += go[57]; + m_A46 += go[58]; + double RHS16 = Idr[57]; + RHS16 += Idr[58]; + RHS16 += Idr[59]; + RHS16 += Idr[60]; + RHS16 += Idr[61]; + RHS16 += Idr[62]; + RHS16 += Idr[63]; + RHS16 -= go[59] * *cnV[59]; + RHS16 -= go[60] * *cnV[60]; + RHS16 -= go[61] * *cnV[61]; + RHS16 -= go[62] * *cnV[62]; + RHS16 -= go[63] * *cnV[63]; + m_A51 += gt[64]; + m_A51 += gt[65]; + m_A51 += gt[66]; + m_A53 += go[64]; + m_A50 += go[65]; + double RHS17 = Idr[64]; + RHS17 += Idr[65]; + RHS17 += Idr[66]; + RHS17 -= go[66] * *cnV[66]; + m_A58 += gt[67]; + m_A58 += gt[68]; + m_A58 += gt[69]; + m_A58 += gt[70]; + m_A58 += gt[71]; + m_A58 += gt[72]; + m_A57 += go[67]; + m_A62 += go[68]; + m_A62 += go[69]; + m_A56 += go[70]; + m_A55 += go[71]; + m_A54 += go[72]; + double RHS18 = Idr[67]; + RHS18 += Idr[68]; + RHS18 += Idr[69]; + RHS18 += Idr[70]; + RHS18 += Idr[71]; + RHS18 += Idr[72]; + m_A67 += gt[73]; + m_A67 += gt[74]; + m_A67 += gt[75]; + m_A67 += gt[76]; + m_A67 += gt[77]; + m_A65 += go[73]; + m_A64 += go[74]; + m_A63 += go[75]; + double RHS19 = Idr[73]; + RHS19 += Idr[74]; + RHS19 += Idr[75]; + RHS19 += Idr[76]; + RHS19 += Idr[77]; + RHS19 -= go[76] * *cnV[76]; + RHS19 -= go[77] * *cnV[77]; + m_A76 += gt[78]; + m_A76 += gt[79]; + m_A76 += gt[80]; + m_A76 += gt[81]; + m_A76 += gt[82]; + m_A73 += go[78]; + m_A72 += go[79]; + m_A71 += go[80]; + double RHS20 = Idr[78]; + RHS20 += Idr[79]; + RHS20 += Idr[80]; + RHS20 += Idr[81]; + RHS20 += Idr[82]; + RHS20 -= go[81] * *cnV[81]; + RHS20 -= go[82] * *cnV[82]; + m_A84 += gt[83]; + m_A84 += gt[84]; + m_A84 += gt[85]; + m_A84 += gt[86]; + m_A84 += gt[87]; + m_A84 += gt[88]; + m_A82 += go[83]; + m_A80 += go[84]; + m_A79 += go[85]; + m_A81 += go[86]; + double RHS21 = Idr[83]; + RHS21 += Idr[84]; + RHS21 += Idr[85]; + RHS21 += Idr[86]; + RHS21 += Idr[87]; + RHS21 += Idr[88]; + RHS21 -= go[87] * *cnV[87]; + RHS21 -= go[88] * *cnV[88]; + m_A94 += gt[89]; + m_A94 += gt[90]; + m_A94 += gt[91]; + m_A94 += gt[92]; + m_A94 += gt[93]; + m_A94 += gt[94]; + m_A87 += go[89]; + m_A88 += go[90]; + m_A89 += go[91]; + m_A86 += go[92]; + double RHS22 = Idr[89]; + RHS22 += Idr[90]; + RHS22 += Idr[91]; + RHS22 += Idr[92]; + RHS22 += Idr[93]; + RHS22 += Idr[94]; + RHS22 -= go[93] * *cnV[93]; + RHS22 -= go[94] * *cnV[94]; + m_A101 += gt[95]; + m_A101 += gt[96]; + m_A101 += gt[97]; + m_A101 += gt[98]; + m_A101 += gt[99]; + m_A101 += gt[100]; + m_A101 += gt[101]; + m_A96 += go[95]; + m_A97 += go[96]; + double RHS23 = Idr[95]; + RHS23 += Idr[96]; + RHS23 += Idr[97]; + RHS23 += Idr[98]; + RHS23 += Idr[99]; + RHS23 += Idr[100]; + RHS23 += Idr[101]; + RHS23 -= go[97] * *cnV[97]; + RHS23 -= go[98] * *cnV[98]; + RHS23 -= go[99] * *cnV[99]; + RHS23 -= go[100] * *cnV[100]; + RHS23 -= go[101] * *cnV[101]; + m_A110 += gt[102]; + m_A110 += gt[103]; + m_A110 += gt[104]; + m_A110 += gt[105]; + m_A110 += gt[106]; + m_A110 += gt[107]; + m_A109 += go[102]; + m_A103 += go[103]; + m_A105 += go[104]; + m_A105 += go[105]; + double RHS24 = Idr[102]; + RHS24 += Idr[103]; + RHS24 += Idr[104]; + RHS24 += Idr[105]; + RHS24 += Idr[106]; + RHS24 += Idr[107]; + RHS24 -= go[106] * *cnV[106]; + RHS24 -= go[107] * *cnV[107]; + const double f0 = 1.0 / m_A0; + const double f0_13 = -f0 * m_A36; + m_A38 += m_A1 * f0_13; + RHS13 += f0_13 * RHS0; + const double f0_19 = -f0 * m_A63; + m_A67 += m_A1 * f0_19; + RHS19 += f0_19 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_14 = -f1 * m_A39; + m_A41 += m_A3 * f1_14; + RHS14 += f1_14 * RHS1; + const double f1_20 = -f1 * m_A71; + m_A76 += m_A3 * f1_20; + RHS20 += f1_20 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_15 = -f2 * m_A42; + m_A44 += m_A5 * f2_15; + RHS15 += f2_15 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_15 = -f3 * m_A43; + m_A44 += m_A7 * f3_15; + m_A45 += m_A8 * f3_15; + RHS15 += f3_15 * RHS3; + const double f3_16 = -f3 * m_A46; + m_A47 += m_A7 * f3_16; + m_A49 += m_A8 * f3_16; + RHS16 += f3_16 * RHS3; + const double f3_21 = -f3 * m_A79; + m_A81 += m_A7 * f3_21; + m_A84 += m_A8 * f3_21; + RHS21 += f3_21 * RHS3; + const double f4 = 1.0 / m_A9; + const double f4_17 = -f4 * m_A50; + m_A51 += m_A10 * f4_17; + m_A52 += m_A11 * f4_17; + m_A53 += m_A12 * f4_17; + RHS17 += f4_17 * RHS4; + const double f4_21 = -f4 * m_A80; + m_A83 += m_A10 * f4_21; + m_A84 += m_A11 * f4_21; + m_A85 += m_A12 * f4_21; + RHS21 += f4_21 * RHS4; + const double f4_22 = -f4 * m_A86; + m_A89 += m_A10 * f4_22; + m_A93 += m_A11 * f4_22; + m_A94 += m_A12 * f4_22; RHS22 += f4_22 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_22 = -f5 * m_A50; - m_A51 += m_A11 * f5_22; + const double f5 = 1.0 / m_A13; + const double f5_22 = -f5 * m_A87; + m_A89 += m_A14 * f5_22; + m_A94 += m_A15 * f5_22; RHS22 += f5_22 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_23 = -f6 * m_A53; - m_A56 += m_A13 * f6_23; - RHS23 += f6_23 * RHS6; -const double f7 = 1.0 / m_A14; - const double f7_23 = -f7 * m_A54; - m_A56 += m_A15 * f7_23; - RHS23 += f7_23 * RHS7; -const double f8 = 1.0 / m_A16; - const double f8_23 = -f8 * m_A55; - m_A56 += m_A17 * f8_23; - RHS23 += f8_23 * RHS8; -const double f9 = 1.0 / m_A18; - const double f9_25 = -f9 * m_A63; - m_A66 += m_A19 * f9_25; - RHS25 += f9_25 * RHS9; -const double f10 = 1.0 / m_A20; - const double f10_26 = -f10 * m_A68; - m_A71 += m_A21 * f10_26; - RHS26 += f10_26 * RHS10; -const double f11 = 1.0 / m_A22; - const double f11_24 = -f11 * m_A58; - m_A61 += m_A23 * f11_24; - RHS24 += f11_24 * RHS11; -const double f12 = 1.0 / m_A24; - const double f12_24 = -f12 * m_A59; - m_A61 += m_A25 * f12_24; + const double f6 = 1.0 / m_A16; + const double f6_18 = -f6 * m_A54; + m_A58 += m_A17 * f6_18; + m_A61 += m_A18 * f6_18; + RHS18 += f6_18 * RHS6; + const double f6_22 = -f6 * m_A88; + m_A90 += m_A17 * f6_22; + m_A94 += m_A18 * f6_22; + RHS22 += f6_22 * RHS6; + const double f7 = 1.0 / m_A19; + const double f7_18 = -f7 * m_A55; + m_A58 += m_A20 * f7_18; + m_A59 += m_A21 * f7_18; + RHS18 += f7_18 * RHS7; + const double f7_19 = -f7 * m_A64; + m_A66 += m_A20 * f7_19; + m_A67 += m_A21 * f7_19; + RHS19 += f7_19 * RHS7; + const double f8 = 1.0 / m_A22; + const double f8_18 = -f8 * m_A56; + m_A58 += m_A23 * f8_18; + m_A60 += m_A24 * f8_18; + RHS18 += f8_18 * RHS8; + const double f8_20 = -f8 * m_A72; + m_A74 += m_A23 * f8_20; + m_A76 += m_A24 * f8_20; + RHS20 += f8_20 * RHS8; + const double f9 = 1.0 / m_A25; + const double f9_12 = -f9 * m_A32; + m_A34 += m_A26 * f9_12; + m_A35 += m_A27 * f9_12; + RHS12 += f9_12 * RHS9; + const double f9_24 = -f9 * m_A103; + m_A104 += m_A26 * f9_24; + m_A110 += m_A27 * f9_24; + RHS24 += f9_24 * RHS9; + const double f10 = 1.0 / m_A28; + const double f10_12 = -f10 * m_A33; + m_A34 += m_A29 * f10_12; + RHS12 += f10_12 * RHS10; + const double f11 = 1.0 / m_A30; + const double f11_18 = -f11 * m_A57; + m_A58 += m_A31 * f11_18; + RHS18 += f11_18 * RHS11; + const double f11_23 = -f11 * m_A96; + m_A97 += m_A31 * f11_23; + RHS23 += f11_23 * RHS11; + const double f12 = 1.0 / m_A34; + const double f12_24 = -f12 * m_A104; + m_A110 += m_A35 * f12_24; RHS24 += f12_24 * RHS12; -const double f13 = 1.0 / m_A26; - const double f13_27 = -f13 * m_A73; - m_A76 += m_A27 * f13_27; - RHS27 += f13_27 * RHS13; -const double f14 = 1.0 / m_A28; - const double f14_24 = -f14 * m_A60; - m_A61 += m_A29 * f14_24; - RHS24 += f14_24 * RHS14; -const double f15 = 1.0 / m_A30; - const double f15_21 = -f15 * m_A45; - m_A46 += m_A31 * f15_21; + const double f13 = 1.0 / m_A37; + const double f13_19 = -f13 * m_A65; + m_A67 += m_A38 * f13_19; + RHS19 += f13_19 * RHS13; + const double f14 = 1.0 / m_A40; + const double f14_20 = -f14 * m_A73; + m_A76 += m_A41 * f14_20; + RHS20 += f14_20 * RHS14; + const double f15 = 1.0 / m_A44; + const double f15_16 = -f15 * m_A47; + m_A49 += m_A45 * f15_16; + RHS16 += f15_16 * RHS15; + const double f15_21 = -f15 * m_A81; + m_A84 += m_A45 * f15_21; RHS21 += f15_21 * RHS15; -const double f16 = 1.0 / m_A35; - const double f16_28 = -f16 * m_A77; - m_A84 += m_A36 * f16_28; - RHS28 += f16_28 * RHS16; -const double f17 = 1.0 / m_A37; - const double f17_25 = -f17 * m_A64; - m_A66 += m_A38 * f17_25; - RHS25 += f17_25 * RHS17; -const double f18 = 1.0 / m_A39; - const double f18_25 = -f18 * m_A65; - m_A66 += m_A40 * f18_25; - RHS25 += f18_25 * RHS18; -const double f19 = 1.0 / m_A41; - const double f19_26 = -f19 * m_A69; - m_A71 += m_A42 * f19_26; - RHS26 += f19_26 * RHS19; -const double f20 = 1.0 / m_A43; - const double f20_26 = -f20 * m_A70; - m_A71 += m_A44 * f20_26; - RHS26 += f20_26 * RHS20; -const double f21 = 1.0 / m_A46; - const double f21_27 = -f21 * m_A74; - m_A75 += m_A47 * f21_27; - RHS27 += f21_27 * RHS21; -const double f22 = 1.0 / m_A51; - const double f22_28 = -f22 * m_A78; - m_A84 += m_A52 * f22_28; - RHS28 += f22_28 * RHS22; -const double f23 = 1.0 / m_A56; - const double f23_28 = -f23 * m_A79; - m_A84 += m_A57 * f23_28; - RHS28 += f23_28 * RHS23; -const double f24 = 1.0 / m_A61; - const double f24_28 = -f24 * m_A80; - m_A84 += m_A62 * f24_28; - RHS28 += f24_28 * RHS24; -const double f25 = 1.0 / m_A66; - const double f25_28 = -f25 * m_A81; - m_A84 += m_A67 * f25_28; - RHS28 += f25_28 * RHS25; -const double f26 = 1.0 / m_A71; - const double f26_28 = -f26 * m_A82; - m_A84 += m_A72 * f26_28; - RHS28 += f26_28 * RHS26; -const double f27 = 1.0 / m_A75; - const double f27_28 = -f27 * m_A83; - m_A84 += m_A76 * f27_28; - RHS28 += f27_28 * RHS27; - V[28] = RHS28 / m_A84; - double tmp27 = 0.0; - tmp27 += m_A76 * V[28]; - V[27] = (RHS27 - tmp27) / m_A75; - double tmp26 = 0.0; - tmp26 += m_A72 * V[28]; - V[26] = (RHS26 - tmp26) / m_A71; - double tmp25 = 0.0; - tmp25 += m_A67 * V[28]; - V[25] = (RHS25 - tmp25) / m_A66; - double tmp24 = 0.0; - tmp24 += m_A62 * V[28]; - V[24] = (RHS24 - tmp24) / m_A61; + const double f16 = 1.0 / m_A48; + const double f16_21 = -f16 * m_A82; + m_A84 += m_A49 * f16_21; + RHS21 += f16_21 * RHS16; + const double f17 = 1.0 / m_A51; + const double f17_21 = -f17 * m_A83; + m_A84 += m_A52 * f17_21; + m_A85 += m_A53 * f17_21; + RHS21 += f17_21 * RHS17; + const double f17_22 = -f17 * m_A89; + m_A93 += m_A52 * f17_22; + m_A94 += m_A53 * f17_22; + RHS22 += f17_22 * RHS17; + const double f18 = 1.0 / m_A58; + const double f18_19 = -f18 * m_A66; + m_A67 += m_A59 * f18_19; + m_A68 += m_A60 * f18_19; + m_A69 += m_A61 * f18_19; + m_A70 += m_A62 * f18_19; + RHS19 += f18_19 * RHS18; + const double f18_20 = -f18 * m_A74; + m_A75 += m_A59 * f18_20; + m_A76 += m_A60 * f18_20; + m_A77 += m_A61 * f18_20; + m_A78 += m_A62 * f18_20; + RHS20 += f18_20 * RHS18; + const double f18_22 = -f18 * m_A90; + m_A91 += m_A59 * f18_22; + m_A92 += m_A60 * f18_22; + m_A94 += m_A61 * f18_22; + m_A95 += m_A62 * f18_22; + RHS22 += f18_22 * RHS18; + const double f18_23 = -f18 * m_A97; + m_A98 += m_A59 * f18_23; + m_A99 += m_A60 * f18_23; + m_A100 += m_A61 * f18_23; + m_A102 += m_A62 * f18_23; + RHS23 += f18_23 * RHS18; + const double f18_24 = -f18 * m_A105; + m_A106 += m_A59 * f18_24; + m_A107 += m_A60 * f18_24; + m_A108 += m_A61 * f18_24; + m_A110 += m_A62 * f18_24; + RHS24 += f18_24 * RHS18; + const double f19 = 1.0 / m_A67; + const double f19_20 = -f19 * m_A75; + m_A76 += m_A68 * f19_20; + m_A77 += m_A69 * f19_20; + m_A78 += m_A70 * f19_20; + RHS20 += f19_20 * RHS19; + const double f19_22 = -f19 * m_A91; + m_A92 += m_A68 * f19_22; + m_A94 += m_A69 * f19_22; + m_A95 += m_A70 * f19_22; + RHS22 += f19_22 * RHS19; + const double f19_23 = -f19 * m_A98; + m_A99 += m_A68 * f19_23; + m_A100 += m_A69 * f19_23; + m_A102 += m_A70 * f19_23; + RHS23 += f19_23 * RHS19; + const double f19_24 = -f19 * m_A106; + m_A107 += m_A68 * f19_24; + m_A108 += m_A69 * f19_24; + m_A110 += m_A70 * f19_24; + RHS24 += f19_24 * RHS19; + const double f20 = 1.0 / m_A76; + const double f20_22 = -f20 * m_A92; + m_A94 += m_A77 * f20_22; + m_A95 += m_A78 * f20_22; + RHS22 += f20_22 * RHS20; + const double f20_23 = -f20 * m_A99; + m_A100 += m_A77 * f20_23; + m_A102 += m_A78 * f20_23; + RHS23 += f20_23 * RHS20; + const double f20_24 = -f20 * m_A107; + m_A108 += m_A77 * f20_24; + m_A110 += m_A78 * f20_24; + RHS24 += f20_24 * RHS20; + const double f21 = 1.0 / m_A84; + const double f21_22 = -f21 * m_A93; + m_A94 += m_A85 * f21_22; + RHS22 += f21_22 * RHS21; + const double f22 = 1.0 / m_A94; + const double f22_23 = -f22 * m_A100; + m_A102 += m_A95 * f22_23; + RHS23 += f22_23 * RHS22; + const double f22_24 = -f22 * m_A108; + m_A110 += m_A95 * f22_24; + RHS24 += f22_24 * RHS22; + const double f23 = 1.0 / m_A101; + const double f23_24 = -f23 * m_A109; + m_A110 += m_A102 * f23_24; + RHS24 += f23_24 * RHS23; + V[24] = RHS24 / m_A110; double tmp23 = 0.0; - tmp23 += m_A57 * V[28]; - V[23] = (RHS23 - tmp23) / m_A56; + tmp23 += m_A102 * V[24]; + V[23] = (RHS23 - tmp23) / m_A101; double tmp22 = 0.0; - tmp22 += m_A52 * V[28]; - V[22] = (RHS22 - tmp22) / m_A51; + tmp22 += m_A95 * V[24]; + V[22] = (RHS22 - tmp22) / m_A94; double tmp21 = 0.0; - tmp21 += m_A47 * V[27]; - V[21] = (RHS21 - tmp21) / m_A46; + tmp21 += m_A85 * V[22]; + V[21] = (RHS21 - tmp21) / m_A84; double tmp20 = 0.0; - tmp20 += m_A44 * V[26]; - V[20] = (RHS20 - tmp20) / m_A43; + tmp20 += m_A77 * V[22]; + tmp20 += m_A78 * V[24]; + V[20] = (RHS20 - tmp20) / m_A76; double tmp19 = 0.0; - tmp19 += m_A42 * V[26]; - V[19] = (RHS19 - tmp19) / m_A41; + tmp19 += m_A68 * V[20]; + tmp19 += m_A69 * V[22]; + tmp19 += m_A70 * V[24]; + V[19] = (RHS19 - tmp19) / m_A67; double tmp18 = 0.0; - tmp18 += m_A40 * V[25]; - V[18] = (RHS18 - tmp18) / m_A39; + tmp18 += m_A59 * V[19]; + tmp18 += m_A60 * V[20]; + tmp18 += m_A61 * V[22]; + tmp18 += m_A62 * V[24]; + V[18] = (RHS18 - tmp18) / m_A58; double tmp17 = 0.0; - tmp17 += m_A38 * V[25]; - V[17] = (RHS17 - tmp17) / m_A37; + tmp17 += m_A52 * V[21]; + tmp17 += m_A53 * V[22]; + V[17] = (RHS17 - tmp17) / m_A51; double tmp16 = 0.0; - tmp16 += m_A36 * V[28]; - V[16] = (RHS16 - tmp16) / m_A35; + tmp16 += m_A49 * V[21]; + V[16] = (RHS16 - tmp16) / m_A48; double tmp15 = 0.0; - tmp15 += m_A31 * V[21]; - V[15] = (RHS15 - tmp15) / m_A30; + tmp15 += m_A45 * V[21]; + V[15] = (RHS15 - tmp15) / m_A44; double tmp14 = 0.0; - tmp14 += m_A29 * V[24]; - V[14] = (RHS14 - tmp14) / m_A28; + tmp14 += m_A41 * V[20]; + V[14] = (RHS14 - tmp14) / m_A40; double tmp13 = 0.0; - tmp13 += m_A27 * V[28]; - V[13] = (RHS13 - tmp13) / m_A26; + tmp13 += m_A38 * V[19]; + V[13] = (RHS13 - tmp13) / m_A37; double tmp12 = 0.0; - tmp12 += m_A25 * V[24]; - V[12] = (RHS12 - tmp12) / m_A24; + tmp12 += m_A35 * V[24]; + V[12] = (RHS12 - tmp12) / m_A34; double tmp11 = 0.0; - tmp11 += m_A23 * V[24]; - V[11] = (RHS11 - tmp11) / m_A22; + tmp11 += m_A31 * V[18]; + V[11] = (RHS11 - tmp11) / m_A30; double tmp10 = 0.0; - tmp10 += m_A21 * V[26]; - V[10] = (RHS10 - tmp10) / m_A20; + tmp10 += m_A29 * V[12]; + V[10] = (RHS10 - tmp10) / m_A28; double tmp9 = 0.0; - tmp9 += m_A19 * V[25]; - V[9] = (RHS9 - tmp9) / m_A18; + tmp9 += m_A26 * V[12]; + tmp9 += m_A27 * V[24]; + V[9] = (RHS9 - tmp9) / m_A25; double tmp8 = 0.0; - tmp8 += m_A17 * V[23]; - V[8] = (RHS8 - tmp8) / m_A16; - double tmp7 = 0.0; - tmp7 += m_A15 * V[23]; - V[7] = (RHS7 - tmp7) / m_A14; - double tmp6 = 0.0; - tmp6 += m_A13 * V[23]; - V[6] = (RHS6 - tmp6) / m_A12; - double tmp5 = 0.0; - tmp5 += m_A11 * V[22]; - V[5] = (RHS5 - tmp5) / m_A10; - double tmp4 = 0.0; - tmp4 += m_A9 * V[22]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[22]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[16]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[16]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[16]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// kidniki -static void nl_gcr_933b3efec18faab_37_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A2 = m_A2 + go[0]; - m_A2 = m_A2 + go[1]; - m_A1 = m_A1 + go[2]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[3] * *cnV[3]; - m_A3 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10]; - m_A6 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A7 = m_A7 + go[16]; - m_A7 = m_A7 + go[17]; - m_A8 = m_A8 + go[18]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22]; - m_A9 = gt[24] + gt[25] + gt[26]; - m_A11 = m_A11 + go[24]; - m_A10 = m_A10 + go[25]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26]; - m_A14 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36]; - m_A13 = m_A13 + go[32]; - m_A12 = m_A12 + go[33]; - m_A12 = m_A12 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[35] * *cnV[35] - go[36] * *cnV[36]; - m_A18 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A20 = m_A20 + go[40]; - m_A19 = m_A19 + go[41]; - m_A19 = m_A19 + go[42]; - m_A19 = m_A19 + go[43]; - m_A17 = m_A17 + go[44]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[45] * *cnV[45] - go[46] * *cnV[46]; - m_A23 = gt[48] + gt[49] + gt[50] + gt[51]; - m_A21 = m_A21 + go[48]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] - go[49] * *cnV[49] - go[50] * *cnV[50] - go[51] * *cnV[51]; - m_A28 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61]; - m_A26 = m_A26 + go[56]; - m_A27 = m_A27 + go[57]; - m_A27 = m_A27 + go[58]; - m_A27 = m_A27 + go[59]; - m_A25 = m_A25 + go[60]; - m_A25 = m_A25 + go[61]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61]; - m_A36 = gt[64] + gt[65] + gt[66] + gt[67]; - m_A30 = m_A30 + go[64]; - m_A33 = m_A33 + go[65]; - m_A31 = m_A31 + go[66]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[67] * *cnV[67]; -const double f0 = 1.0 / m_A0; - const double f0_5 = -f0 * m_A17; - m_A18 += m_A1 * f0_5; - m_A19 += m_A2 * f0_5; - RHS5 += f0_5 * RHS0; - const double f0_7 = -f0 * m_A25; - m_A27 += m_A1 * f0_7; - m_A28 += m_A2 * f0_7; - RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A3; - const double f1_7 = -f1 * m_A26; - m_A28 += m_A4 * f1_7; - m_A29 += m_A5 * f1_7; - RHS7 += f1_7 * RHS1; - const double f1_8 = -f1 * m_A30; - m_A35 += m_A4 * f1_8; - m_A36 += m_A5 * f1_8; - RHS8 += f1_8 * RHS1; -const double f2 = 1.0 / m_A6; - const double f2_4 = -f2 * m_A12; - m_A14 += m_A7 * f2_4; - m_A16 += m_A8 * f2_4; - RHS4 += f2_4 * RHS2; - const double f2_8 = -f2 * m_A31; - m_A32 += m_A7 * f2_8; - m_A36 += m_A8 * f2_8; - RHS8 += f2_8 * RHS2; -const double f3 = 1.0 / m_A9; - const double f3_4 = -f3 * m_A13; - m_A14 += m_A10 * f3_4; - m_A15 += m_A11 * f3_4; - RHS4 += f3_4 * RHS3; - const double f3_6 = -f3 * m_A21; - m_A22 += m_A10 * f3_6; - m_A23 += m_A11 * f3_6; - RHS6 += f3_6 * RHS3; -const double f4 = 1.0 / m_A14; - const double f4_6 = -f4 * m_A22; - m_A23 += m_A15 * f4_6; - m_A24 += m_A16 * f4_6; - RHS6 += f4_6 * RHS4; - const double f4_8 = -f4 * m_A32; - m_A34 += m_A15 * f4_8; - m_A36 += m_A16 * f4_8; - RHS8 += f4_8 * RHS4; -const double f5 = 1.0 / m_A18; - const double f5_7 = -f5 * m_A27; - m_A28 += m_A19 * f5_7; - m_A29 += m_A20 * f5_7; - RHS7 += f5_7 * RHS5; - const double f5_8 = -f5 * m_A33; - m_A35 += m_A19 * f5_8; - m_A36 += m_A20 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A23; - const double f6_8 = -f6 * m_A34; - m_A36 += m_A24 * f6_8; - RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A28; - const double f7_8 = -f7 * m_A35; - m_A36 += m_A29 * f7_8; - RHS8 += f7_8 * RHS7; - V[8] = RHS8 / m_A36; + tmp8 += m_A23 * V[18]; + tmp8 += m_A24 * V[20]; + V[8] = (RHS8 - tmp8) / m_A22; double tmp7 = 0.0; - tmp7 += m_A29 * V[8]; - V[7] = (RHS7 - tmp7) / m_A28; + tmp7 += m_A20 * V[18]; + tmp7 += m_A21 * V[19]; + V[7] = (RHS7 - tmp7) / m_A19; double tmp6 = 0.0; - tmp6 += m_A24 * V[8]; - V[6] = (RHS6 - tmp6) / m_A23; + tmp6 += m_A17 * V[18]; + tmp6 += m_A18 * V[22]; + V[6] = (RHS6 - tmp6) / m_A16; double tmp5 = 0.0; - tmp5 += m_A19 * V[7]; - tmp5 += m_A20 * V[8]; - V[5] = (RHS5 - tmp5) / m_A18; + tmp5 += m_A14 * V[17]; + tmp5 += m_A15 * V[22]; + V[5] = (RHS5 - tmp5) / m_A13; double tmp4 = 0.0; - tmp4 += m_A15 * V[6]; - tmp4 += m_A16 * V[8]; - V[4] = (RHS4 - tmp4) / m_A14; + tmp4 += m_A10 * V[17]; + tmp4 += m_A11 * V[21]; + tmp4 += m_A12 * V[22]; + V[4] = (RHS4 - tmp4) / m_A9; double tmp3 = 0.0; - tmp3 += m_A10 * V[4]; - tmp3 += m_A11 * V[6]; - V[3] = (RHS3 - tmp3) / m_A9; + tmp3 += m_A7 * V[15]; + tmp3 += m_A8 * V[21]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A7 * V[4]; - tmp2 += m_A8 * V[8]; - V[2] = (RHS2 - tmp2) / m_A6; + tmp2 += m_A5 * V[15]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A4 * V[7]; - tmp1 += m_A5 * V[8]; - V[1] = (RHS1 - tmp1) / m_A3; + tmp1 += m_A3 * V[20]; + V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[5]; - tmp0 += m_A2 * V[7]; + tmp0 += m_A1 * V[19]; V[0] = (RHS0 - tmp0) / m_A0; } // 280zzzap -static void nl_gcr_9de29bb0cfe2c4b4_116_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +static void nl_gcr_bcf0e3af19330ca7_116_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); -double m_A111(0.0); -double m_A112(0.0); -double m_A113(0.0); -double m_A114(0.0); -double m_A115(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A8 = gt[32] + gt[33]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33]; - m_A10 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[41] * *cnV[41] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46]; - m_A12 = gt[48] + gt[49] + gt[50]; - m_A13 = m_A13 + go[48]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50]; - m_A14 = gt[56] + gt[57]; - m_A16 = m_A16 + go[56]; - m_A15 = m_A15 + go[57]; - double RHS7 = Idr[56] + Idr[57]; - m_A17 = gt[64] + gt[65]; - m_A18 = m_A18 + go[64]; - double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65]; - m_A19 = gt[72] + gt[73]; - m_A20 = m_A20 + go[72]; - double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73]; - m_A21 = gt[80] + gt[81]; - m_A22 = m_A22 + go[80]; - double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81]; - m_A23 = gt[88] + gt[89] + gt[90] + gt[91] + gt[92] + gt[93] + gt[94]; - m_A24 = m_A24 + go[88]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] + Idr[92] + Idr[93] + Idr[94] - go[89] * *cnV[89] - go[90] * *cnV[90] - go[91] * *cnV[91] - go[92] * *cnV[92] - go[93] * *cnV[93] - go[94] * *cnV[94]; - m_A25 = gt[96] + gt[97]; - m_A26 = m_A26 + go[96]; - double RHS12 = Idr[96] + Idr[97] - go[97] * *cnV[97]; - m_A27 = gt[104] + gt[105] + gt[106]; - m_A28 = m_A28 + go[104]; - double RHS13 = Idr[104] + Idr[105] + Idr[106] - go[105] * *cnV[105] - go[106] * *cnV[106]; - m_A29 = gt[112] + gt[113] + gt[114]; - m_A30 = m_A30 + go[112]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[113] * *cnV[113] - go[114] * *cnV[114]; - m_A31 = gt[120] + gt[121]; - m_A32 = m_A32 + go[120]; - m_A33 = m_A33 + go[121]; - double RHS15 = Idr[120] + Idr[121]; - m_A35 = gt[128] + gt[129]; - m_A34 = m_A34 + go[128]; - double RHS16 = Idr[128] + Idr[129] - go[129] * *cnV[129]; - m_A37 = gt[136] + gt[137]; - m_A36 = m_A36 + go[136]; - double RHS17 = Idr[136] + Idr[137] - go[137] * *cnV[137]; - m_A40 = gt[144] + gt[145]; - m_A39 = m_A39 + go[144]; - m_A38 = m_A38 + go[145]; - double RHS18 = Idr[144] + Idr[145]; - m_A42 = gt[152] + gt[153] + gt[154] + gt[155]; - m_A41 = m_A41 + go[152]; - m_A43 = m_A43 + go[153]; - double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] - go[154] * *cnV[154] - go[155] * *cnV[155]; - m_A46 = gt[160] + gt[161] + gt[162] + gt[163] + gt[164] + gt[165]; - m_A44 = m_A44 + go[160]; - m_A47 = m_A47 + go[161]; - m_A49 = m_A49 + go[162]; - m_A48 = m_A48 + go[163]; - double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] + Idr[164] + Idr[165] - go[164] * *cnV[164] - go[165] * *cnV[165]; - m_A51 = gt[168] + gt[169] + gt[170] + gt[171]; - m_A50 = m_A50 + go[168]; - m_A52 = m_A52 + go[169]; - double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] - go[170] * *cnV[170] - go[171] * *cnV[171]; - m_A56 = gt[176] + gt[177] + gt[178] + gt[179] + gt[180] + gt[181]; - m_A53 = m_A53 + go[176]; - m_A54 = m_A54 + go[177]; - m_A57 = m_A57 + go[178]; - m_A59 = m_A59 + go[179]; - double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179] + Idr[180] + Idr[181] - go[180] * *cnV[180] - go[181] * *cnV[181]; - m_A61 = gt[184] + gt[185]; - m_A60 = m_A60 + go[184]; - m_A62 = m_A62 + go[185]; - double RHS23 = Idr[184] + Idr[185]; - m_A68 = gt[192] + gt[193] + gt[194] + gt[195] + gt[196]; - m_A67 = m_A67 + go[192]; - m_A65 = m_A65 + go[193]; - m_A64 = m_A64 + go[194]; - m_A63 = m_A63 + go[195]; - m_A66 = m_A66 + go[196]; - double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] + Idr[196]; - m_A77 = gt[200] + gt[201] + gt[202] + gt[203]; - m_A74 = m_A74 + go[200]; - m_A73 = m_A73 + go[201]; - m_A78 = m_A78 + go[202]; - m_A72 = m_A72 + go[203]; - double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203]; - m_A82 = gt[208] + gt[209] + gt[210] + gt[211]; - m_A81 = m_A81 + go[208]; - m_A83 = m_A83 + go[209]; - double RHS26 = Idr[208] + Idr[209] + Idr[210] + Idr[211] - go[210] * *cnV[210] - go[211] * *cnV[211]; - m_A87 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220]; - m_A84 = m_A84 + go[216]; - m_A85 = m_A85 + go[217]; - m_A88 = m_A88 + go[218]; - double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] - go[219] * *cnV[219] - go[220] * *cnV[220]; - m_A96 = gt[224] + gt[225] + gt[226] + gt[227] + gt[228] + gt[229] + gt[230]; - m_A95 = m_A95 + go[224]; - m_A91 = m_A91 + go[225]; - m_A92 = m_A92 + go[226]; - m_A90 = m_A90 + go[227]; - m_A89 = m_A89 + go[228]; - m_A93 = m_A93 + go[229]; - m_A94 = m_A94 + go[230]; - double RHS28 = Idr[224] + Idr[225] + Idr[226] + Idr[227] + Idr[228] + Idr[229] + Idr[230]; - m_A106 = gt[232] + gt[233] + gt[234] + gt[235] + gt[236]; - m_A102 = m_A102 + go[232]; - m_A101 = m_A101 + go[233]; - m_A107 = m_A107 + go[234]; - m_A100 = m_A100 + go[235]; - m_A99 = m_A99 + go[236]; - double RHS29 = Idr[232] + Idr[233] + Idr[234] + Idr[235] + Idr[236]; - m_A115 = gt[240] + gt[241] + gt[242] + gt[243] + gt[244]; - m_A108 = m_A108 + go[240]; - m_A110 = m_A110 + go[241]; - m_A109 = m_A109 + go[242]; - m_A114 = m_A114 + go[243]; - double RHS30 = Idr[240] + Idr[241] + Idr[242] + Idr[243] + Idr[244] - go[244] * *cnV[244]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[3] * *cnV[3]; + RHS1 -= go[4] * *cnV[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A5 += go[5]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 -= go[6] * *cnV[6]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + RHS2 -= go[10] * *cnV[10]; + RHS2 -= go[11] * *cnV[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A7 += go[12]; + double RHS3 = Idr[12]; + RHS3 += Idr[13]; + RHS3 -= go[13] * *cnV[13]; + m_A8 += gt[14]; + m_A8 += gt[15]; + m_A9 += go[14]; + double RHS4 = Idr[14]; + RHS4 += Idr[15]; + RHS4 -= go[15] * *cnV[15]; + m_A10 += gt[16]; + m_A10 += gt[17]; + m_A10 += gt[18]; + m_A10 += gt[19]; + m_A10 += gt[20]; + m_A10 += gt[21]; + m_A10 += gt[22]; + m_A11 += go[16]; + double RHS5 = Idr[16]; + RHS5 += Idr[17]; + RHS5 += Idr[18]; + RHS5 += Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 -= go[17] * *cnV[17]; + RHS5 -= go[18] * *cnV[18]; + RHS5 -= go[19] * *cnV[19]; + RHS5 -= go[20] * *cnV[20]; + RHS5 -= go[21] * *cnV[21]; + RHS5 -= go[22] * *cnV[22]; + m_A12 += gt[23]; + m_A12 += gt[24]; + m_A12 += gt[25]; + m_A13 += go[23]; + double RHS6 = Idr[23]; + RHS6 += Idr[24]; + RHS6 += Idr[25]; + RHS6 -= go[24] * *cnV[24]; + RHS6 -= go[25] * *cnV[25]; + m_A14 += gt[26]; + m_A14 += gt[27]; + m_A16 += go[26]; + m_A15 += go[27]; + double RHS7 = Idr[26]; + RHS7 += Idr[27]; + m_A17 += gt[28]; + m_A17 += gt[29]; + m_A18 += go[28]; + double RHS8 = Idr[28]; + RHS8 += Idr[29]; + RHS8 -= go[29] * *cnV[29]; + m_A19 += gt[30]; + m_A19 += gt[31]; + m_A20 += go[30]; + double RHS9 = Idr[30]; + RHS9 += Idr[31]; + RHS9 -= go[31] * *cnV[31]; + m_A21 += gt[32]; + m_A21 += gt[33]; + m_A22 += go[32]; + double RHS10 = Idr[32]; + RHS10 += Idr[33]; + RHS10 -= go[33] * *cnV[33]; + m_A23 += gt[34]; + m_A23 += gt[35]; + m_A23 += gt[36]; + m_A23 += gt[37]; + m_A23 += gt[38]; + m_A23 += gt[39]; + m_A23 += gt[40]; + m_A24 += go[34]; + double RHS11 = Idr[34]; + RHS11 += Idr[35]; + RHS11 += Idr[36]; + RHS11 += Idr[37]; + RHS11 += Idr[38]; + RHS11 += Idr[39]; + RHS11 += Idr[40]; + RHS11 -= go[35] * *cnV[35]; + RHS11 -= go[36] * *cnV[36]; + RHS11 -= go[37] * *cnV[37]; + RHS11 -= go[38] * *cnV[38]; + RHS11 -= go[39] * *cnV[39]; + RHS11 -= go[40] * *cnV[40]; + m_A25 += gt[41]; + m_A25 += gt[42]; + m_A26 += go[41]; + double RHS12 = Idr[41]; + RHS12 += Idr[42]; + RHS12 -= go[42] * *cnV[42]; + m_A27 += gt[43]; + m_A27 += gt[44]; + m_A27 += gt[45]; + m_A28 += go[43]; + double RHS13 = Idr[43]; + RHS13 += Idr[44]; + RHS13 += Idr[45]; + RHS13 -= go[44] * *cnV[44]; + RHS13 -= go[45] * *cnV[45]; + m_A29 += gt[46]; + m_A29 += gt[47]; + m_A29 += gt[48]; + m_A30 += go[46]; + double RHS14 = Idr[46]; + RHS14 += Idr[47]; + RHS14 += Idr[48]; + RHS14 -= go[47] * *cnV[47]; + RHS14 -= go[48] * *cnV[48]; + m_A31 += gt[49]; + m_A31 += gt[50]; + m_A32 += go[49]; + m_A33 += go[50]; + double RHS15 = Idr[49]; + RHS15 += Idr[50]; + m_A35 += gt[51]; + m_A35 += gt[52]; + m_A34 += go[51]; + double RHS16 = Idr[51]; + RHS16 += Idr[52]; + RHS16 -= go[52] * *cnV[52]; + m_A37 += gt[53]; + m_A37 += gt[54]; + m_A36 += go[53]; + double RHS17 = Idr[53]; + RHS17 += Idr[54]; + RHS17 -= go[54] * *cnV[54]; + m_A40 += gt[55]; + m_A40 += gt[56]; + m_A39 += go[55]; + m_A38 += go[56]; + double RHS18 = Idr[55]; + RHS18 += Idr[56]; + m_A42 += gt[57]; + m_A42 += gt[58]; + m_A42 += gt[59]; + m_A42 += gt[60]; + m_A41 += go[57]; + m_A43 += go[58]; + double RHS19 = Idr[57]; + RHS19 += Idr[58]; + RHS19 += Idr[59]; + RHS19 += Idr[60]; + RHS19 -= go[59] * *cnV[59]; + RHS19 -= go[60] * *cnV[60]; + m_A46 += gt[61]; + m_A46 += gt[62]; + m_A46 += gt[63]; + m_A46 += gt[64]; + m_A46 += gt[65]; + m_A46 += gt[66]; + m_A44 += go[61]; + m_A47 += go[62]; + m_A49 += go[63]; + m_A48 += go[64]; + double RHS20 = Idr[61]; + RHS20 += Idr[62]; + RHS20 += Idr[63]; + RHS20 += Idr[64]; + RHS20 += Idr[65]; + RHS20 += Idr[66]; + RHS20 -= go[65] * *cnV[65]; + RHS20 -= go[66] * *cnV[66]; + m_A51 += gt[67]; + m_A51 += gt[68]; + m_A51 += gt[69]; + m_A51 += gt[70]; + m_A50 += go[67]; + m_A52 += go[68]; + double RHS21 = Idr[67]; + RHS21 += Idr[68]; + RHS21 += Idr[69]; + RHS21 += Idr[70]; + RHS21 -= go[69] * *cnV[69]; + RHS21 -= go[70] * *cnV[70]; + m_A56 += gt[71]; + m_A56 += gt[72]; + m_A56 += gt[73]; + m_A56 += gt[74]; + m_A56 += gt[75]; + m_A56 += gt[76]; + m_A53 += go[71]; + m_A54 += go[72]; + m_A57 += go[73]; + m_A59 += go[74]; + double RHS22 = Idr[71]; + RHS22 += Idr[72]; + RHS22 += Idr[73]; + RHS22 += Idr[74]; + RHS22 += Idr[75]; + RHS22 += Idr[76]; + RHS22 -= go[75] * *cnV[75]; + RHS22 -= go[76] * *cnV[76]; + m_A61 += gt[77]; + m_A61 += gt[78]; + m_A60 += go[77]; + m_A62 += go[78]; + double RHS23 = Idr[77]; + RHS23 += Idr[78]; + m_A68 += gt[79]; + m_A68 += gt[80]; + m_A68 += gt[81]; + m_A68 += gt[82]; + m_A68 += gt[83]; + m_A67 += go[79]; + m_A65 += go[80]; + m_A64 += go[81]; + m_A63 += go[82]; + m_A66 += go[83]; + double RHS24 = Idr[79]; + RHS24 += Idr[80]; + RHS24 += Idr[81]; + RHS24 += Idr[82]; + RHS24 += Idr[83]; + m_A77 += gt[84]; + m_A77 += gt[85]; + m_A77 += gt[86]; + m_A77 += gt[87]; + m_A74 += go[84]; + m_A73 += go[85]; + m_A78 += go[86]; + m_A72 += go[87]; + double RHS25 = Idr[84]; + RHS25 += Idr[85]; + RHS25 += Idr[86]; + RHS25 += Idr[87]; + m_A82 += gt[88]; + m_A82 += gt[89]; + m_A82 += gt[90]; + m_A82 += gt[91]; + m_A81 += go[88]; + m_A83 += go[89]; + double RHS26 = Idr[88]; + RHS26 += Idr[89]; + RHS26 += Idr[90]; + RHS26 += Idr[91]; + RHS26 -= go[90] * *cnV[90]; + RHS26 -= go[91] * *cnV[91]; + m_A87 += gt[92]; + m_A87 += gt[93]; + m_A87 += gt[94]; + m_A87 += gt[95]; + m_A87 += gt[96]; + m_A84 += go[92]; + m_A85 += go[93]; + m_A88 += go[94]; + double RHS27 = Idr[92]; + RHS27 += Idr[93]; + RHS27 += Idr[94]; + RHS27 += Idr[95]; + RHS27 += Idr[96]; + RHS27 -= go[95] * *cnV[95]; + RHS27 -= go[96] * *cnV[96]; + m_A96 += gt[97]; + m_A96 += gt[98]; + m_A96 += gt[99]; + m_A96 += gt[100]; + m_A96 += gt[101]; + m_A96 += gt[102]; + m_A96 += gt[103]; + m_A95 += go[97]; + m_A91 += go[98]; + m_A92 += go[99]; + m_A90 += go[100]; + m_A89 += go[101]; + m_A93 += go[102]; + m_A94 += go[103]; + double RHS28 = Idr[97]; + RHS28 += Idr[98]; + RHS28 += Idr[99]; + RHS28 += Idr[100]; + RHS28 += Idr[101]; + RHS28 += Idr[102]; + RHS28 += Idr[103]; + m_A106 += gt[104]; + m_A106 += gt[105]; + m_A106 += gt[106]; + m_A106 += gt[107]; + m_A106 += gt[108]; + m_A102 += go[104]; + m_A101 += go[105]; + m_A107 += go[106]; + m_A100 += go[107]; + m_A99 += go[108]; + double RHS29 = Idr[104]; + RHS29 += Idr[105]; + RHS29 += Idr[106]; + RHS29 += Idr[107]; + RHS29 += Idr[108]; + m_A115 += gt[109]; + m_A115 += gt[110]; + m_A115 += gt[111]; + m_A115 += gt[112]; + m_A115 += gt[113]; + m_A108 += go[109]; + m_A110 += go[110]; + m_A109 += go[111]; + m_A114 += go[112]; + double RHS30 = Idr[109]; + RHS30 += Idr[110]; + RHS30 += Idr[111]; + RHS30 += Idr[112]; + RHS30 += Idr[113]; + RHS30 -= go[113] * *cnV[113]; + const double f0 = 1.0 / m_A0; const double f0_16 = -f0 * m_A34; m_A35 += m_A1 * f0_16; RHS16 += f0_16 * RHS0; const double f0_29 = -f0 * m_A99; m_A101 += m_A1 * f0_29; RHS29 += f0_29 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_19 = -f1 * m_A41; m_A43 += m_A3 * f1_19; RHS19 += f1_19 * RHS1; const double f1_29 = -f1 * m_A100; m_A106 += m_A3 * f1_29; RHS29 += f1_29 * RHS1; -const double f2 = 1.0 / m_A4; + const double f2 = 1.0 / m_A4; const double f2_20 = -f2 * m_A44; m_A45 += m_A5 * f2_20; RHS20 += f2_20 * RHS2; -const double f3 = 1.0 / m_A6; + const double f3 = 1.0 / m_A6; const double f3_30 = -f3 * m_A108; m_A115 += m_A7 * f3_30; RHS30 += f3_30 * RHS3; -const double f4 = 1.0 / m_A8; + const double f4 = 1.0 / m_A8; const double f4_17 = -f4 * m_A36; m_A37 += m_A9 * f4_17; RHS17 += f4_17 * RHS4; const double f4_24 = -f4 * m_A63; m_A65 += m_A9 * f4_24; RHS24 += f4_24 * RHS4; -const double f5 = 1.0 / m_A10; + const double f5 = 1.0 / m_A10; const double f5_22 = -f5 * m_A53; m_A55 += m_A11 * f5_22; RHS22 += f5_22 * RHS5; -const double f6 = 1.0 / m_A12; + const double f6 = 1.0 / m_A12; const double f6_21 = -f6 * m_A50; m_A52 += m_A13 * f6_21; RHS21 += f6_21 * RHS6; const double f6_24 = -f6 * m_A64; m_A68 += m_A13 * f6_24; RHS24 += f6_24 * RHS6; -const double f7 = 1.0 / m_A14; + const double f7 = 1.0 / m_A14; const double f7_22 = -f7 * m_A54; m_A56 += m_A15 * f7_22; m_A58 += m_A16 * f7_22; @@ -8720,41 +12626,41 @@ const double f7 = 1.0 / m_A14; m_A75 += m_A15 * f7_25; m_A77 += m_A16 * f7_25; RHS25 += f7_25 * RHS7; -const double f8 = 1.0 / m_A17; + const double f8 = 1.0 / m_A17; const double f8_25 = -f8 * m_A73; m_A77 += m_A18 * f8_25; RHS25 += f8_25 * RHS8; -const double f9 = 1.0 / m_A19; + const double f9 = 1.0 / m_A19; const double f9_23 = -f9 * m_A60; m_A61 += m_A20 * f9_23; RHS23 += f9_23 * RHS9; -const double f10 = 1.0 / m_A21; + const double f10 = 1.0 / m_A21; const double f10_25 = -f10 * m_A74; m_A77 += m_A22 * f10_25; RHS25 += f10_25 * RHS10; -const double f11 = 1.0 / m_A23; + const double f11 = 1.0 / m_A23; const double f11_27 = -f11 * m_A84; m_A86 += m_A24 * f11_27; RHS27 += f11_27 * RHS11; -const double f12 = 1.0 / m_A25; + const double f12 = 1.0 / m_A25; const double f12_18 = -f12 * m_A38; m_A40 += m_A26 * f12_18; RHS18 += f12_18 * RHS12; const double f12_28 = -f12 * m_A89; m_A92 += m_A26 * f12_28; RHS28 += f12_28 * RHS12; -const double f13 = 1.0 / m_A27; + const double f13 = 1.0 / m_A27; const double f13_18 = -f13 * m_A39; m_A40 += m_A28 * f13_18; RHS18 += f13_18 * RHS13; -const double f14 = 1.0 / m_A29; + const double f14 = 1.0 / m_A29; const double f14_26 = -f14 * m_A81; m_A83 += m_A30 * f14_26; RHS26 += f14_26 * RHS14; const double f14_28 = -f14 * m_A90; m_A96 += m_A30 * f14_28; RHS28 += f14_28 * RHS14; -const double f15 = 1.0 / m_A31; + const double f15 = 1.0 / m_A31; const double f15_27 = -f15 * m_A85; m_A87 += m_A32 * f15_27; m_A88 += m_A33 * f15_27; @@ -8763,20 +12669,20 @@ const double f15 = 1.0 / m_A31; m_A95 += m_A32 * f15_28; m_A96 += m_A33 * f15_28; RHS28 += f15_28 * RHS15; -const double f16 = 1.0 / m_A35; + const double f16 = 1.0 / m_A35; const double f16_29 = -f16 * m_A101; RHS29 += f16_29 * RHS16; -const double f17 = 1.0 / m_A37; + const double f17 = 1.0 / m_A37; const double f17_24 = -f17 * m_A65; RHS24 += f17_24 * RHS17; -const double f18 = 1.0 / m_A40; + const double f18 = 1.0 / m_A40; const double f18_28 = -f18 * m_A92; RHS28 += f18_28 * RHS18; -const double f19 = 1.0 / m_A42; + const double f19 = 1.0 / m_A42; const double f19_20 = -f19 * m_A45; m_A48 += m_A43 * f19_20; RHS20 += f19_20 * RHS19; -const double f20 = 1.0 / m_A46; + const double f20 = 1.0 / m_A46; const double f20_24 = -f20 * m_A66; m_A68 += m_A47 * f20_24; m_A70 += m_A48 * f20_24; @@ -8792,11 +12698,11 @@ const double f20 = 1.0 / m_A46; m_A114 += m_A48 * f20_30; m_A115 += m_A49 * f20_30; RHS30 += f20_30 * RHS20; -const double f21 = 1.0 / m_A51; + const double f21 = 1.0 / m_A51; const double f21_22 = -f21 * m_A55; m_A57 += m_A52 * f21_22; RHS22 += f21_22 * RHS21; -const double f22 = 1.0 / m_A56; + const double f22 = 1.0 / m_A56; const double f22_24 = -f22 * m_A67; m_A68 += m_A57 * f22_24; m_A69 += m_A58 * f22_24; @@ -8812,11 +12718,11 @@ const double f22 = 1.0 / m_A56; m_A112 += m_A58 * f22_30; m_A115 += m_A59 * f22_30; RHS30 += f22_30 * RHS22; -const double f23 = 1.0 / m_A61; + const double f23 = 1.0 / m_A61; const double f23_28 = -f23 * m_A93; m_A96 += m_A62 * f23_28; RHS28 += f23_28 * RHS23; -const double f24 = 1.0 / m_A68; + const double f24 = 1.0 / m_A68; const double f24_25 = -f24 * m_A76; m_A77 += m_A69 * f24_25; m_A79 += m_A70 * f24_25; @@ -8832,7 +12738,7 @@ const double f24 = 1.0 / m_A68; m_A114 += m_A70 * f24_30; m_A115 += m_A71 * f24_30; RHS30 += f24_30 * RHS24; -const double f25 = 1.0 / m_A77; + const double f25 = 1.0 / m_A77; const double f25_28 = -f25 * m_A94; m_A96 += m_A78 * f25_28; m_A97 += m_A79 * f25_28; @@ -8848,15 +12754,15 @@ const double f25 = 1.0 / m_A77; m_A114 += m_A79 * f25_30; m_A115 += m_A80 * f25_30; RHS30 += f25_30 * RHS25; -const double f26 = 1.0 / m_A82; + const double f26 = 1.0 / m_A82; const double f26_27 = -f26 * m_A86; m_A88 += m_A83 * f26_27; RHS27 += f26_27 * RHS26; -const double f27 = 1.0 / m_A87; + const double f27 = 1.0 / m_A87; const double f27_28 = -f27 * m_A95; m_A96 += m_A88 * f27_28; RHS28 += f27_28 * RHS27; -const double f28 = 1.0 / m_A96; + const double f28 = 1.0 / m_A96; const double f28_29 = -f28 * m_A105; m_A106 += m_A97 * f28_29; m_A107 += m_A98 * f28_29; @@ -8865,7 +12771,7 @@ const double f28 = 1.0 / m_A96; m_A114 += m_A97 * f28_30; m_A115 += m_A98 * f28_30; RHS30 += f28_30 * RHS28; -const double f29 = 1.0 / m_A106; + const double f29 = 1.0 / m_A106; const double f29_30 = -f29 * m_A114; m_A115 += m_A107 * f29_30; RHS30 += f29_30 * RHS29; @@ -8939,1579 +12845,1891 @@ const double f29 = 1.0 / m_A106; V[10] = (RHS10 - tmp10) / m_A21; double tmp9 = 0.0; tmp9 += m_A20 * V[23]; - V[9] = (RHS9 - tmp9) / m_A19; - double tmp8 = 0.0; - tmp8 += m_A18 * V[25]; - V[8] = (RHS8 - tmp8) / m_A17; - double tmp7 = 0.0; - tmp7 += m_A15 * V[22]; - tmp7 += m_A16 * V[25]; - V[7] = (RHS7 - tmp7) / m_A14; - double tmp6 = 0.0; - tmp6 += m_A13 * V[24]; - V[6] = (RHS6 - tmp6) / m_A12; - double tmp5 = 0.0; - tmp5 += m_A11 * V[21]; - V[5] = (RHS5 - tmp5) / m_A10; - double tmp4 = 0.0; - tmp4 += m_A9 * V[17]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[30]; - V[3] = (RHS3 - tmp3) / m_A6; - double tmp2 = 0.0; - tmp2 += m_A5 * V[19]; - V[2] = (RHS2 - tmp2) / m_A4; - double tmp1 = 0.0; - tmp1 += m_A3 * V[29]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[16]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// 280zzzap -static void nl_gcr_9e7791458f751e0c_123_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); -double m_A111(0.0); -double m_A112(0.0); -double m_A113(0.0); -double m_A114(0.0); -double m_A115(0.0); -double m_A116(0.0); -double m_A117(0.0); -double m_A118(0.0); -double m_A119(0.0); -double m_A120(0.0); -double m_A121(0.0); -double m_A122(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38]; - m_A10 = gt[40] + gt[41]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A12 = gt[48] + gt[49]; - m_A14 = m_A14 + go[48]; - m_A13 = m_A13 + go[49]; - double RHS6 = Idr[48] + Idr[49]; - m_A15 = gt[56] + gt[57]; - m_A16 = m_A16 + go[56]; - double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57]; - m_A17 = gt[64] + gt[65]; - m_A18 = m_A18 + go[64]; - double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65]; - m_A19 = gt[72] + gt[73] + gt[74] + gt[75] + gt[76] + gt[77] + gt[78]; - m_A20 = m_A20 + go[72]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] + Idr[76] + Idr[77] + Idr[78] - go[73] * *cnV[73] - go[74] * *cnV[74] - go[75] * *cnV[75] - go[76] * *cnV[76] - go[77] * *cnV[77] - go[78] * *cnV[78]; - m_A21 = gt[80] + gt[81] + gt[82]; - m_A22 = m_A22 + go[80]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] - go[81] * *cnV[81] - go[82] * *cnV[82]; - m_A23 = gt[88] + gt[89] + gt[90] + gt[91]; - m_A24 = m_A24 + go[88]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[89] * *cnV[89] - go[90] * *cnV[90] - go[91] * *cnV[91]; - m_A25 = gt[96] + gt[97] + gt[98] + gt[99] + gt[100] + gt[101] + gt[102]; - m_A26 = m_A26 + go[96]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] + Idr[100] + Idr[101] + Idr[102] - go[97] * *cnV[97] - go[98] * *cnV[98] - go[99] * *cnV[99] - go[100] * *cnV[100] - go[101] * *cnV[101] - go[102] * *cnV[102]; - m_A27 = gt[104] + gt[105]; - m_A28 = m_A28 + go[104]; - double RHS13 = Idr[104] + Idr[105] - go[105] * *cnV[105]; - m_A29 = gt[112] + gt[113]; - m_A30 = m_A30 + go[112]; - double RHS14 = Idr[112] + Idr[113] - go[113] * *cnV[113]; - m_A31 = gt[120] + gt[121]; - m_A32 = m_A32 + go[120]; - double RHS15 = Idr[120] + Idr[121] - go[121] * *cnV[121]; - m_A33 = gt[128] + gt[129] + gt[130] + gt[131]; - m_A35 = m_A35 + go[128]; - m_A34 = m_A34 + go[129]; - double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[130] * *cnV[130] - go[131] * *cnV[131]; - m_A36 = gt[136] + gt[137] + gt[138]; - m_A37 = m_A37 + go[136]; - double RHS17 = Idr[136] + Idr[137] + Idr[138] - go[137] * *cnV[137] - go[138] * *cnV[138]; - m_A38 = gt[144] + gt[145]; - m_A39 = m_A39 + go[144]; - double RHS18 = Idr[144] + Idr[145] - go[145] * *cnV[145]; - m_A40 = gt[152] + gt[153]; - m_A41 = m_A41 + go[152]; - double RHS19 = Idr[152] + Idr[153] - go[153] * *cnV[153]; - m_A43 = gt[160] + gt[161] + gt[162] + gt[163]; - m_A42 = m_A42 + go[160]; - double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] - go[161] * *cnV[161] - go[162] * *cnV[162] - go[163] * *cnV[163]; - m_A47 = gt[168] + gt[169]; - m_A46 = m_A46 + go[168]; - m_A45 = m_A45 + go[169]; - double RHS21 = Idr[168] + Idr[169]; - m_A51 = gt[176] + gt[177]; - m_A49 = m_A49 + go[176]; - double RHS22 = Idr[176] + Idr[177] - go[177] * *cnV[177]; - m_A54 = gt[184] + gt[185] + gt[186]; - m_A53 = m_A53 + go[184]; - m_A52 = m_A52 + go[185]; - double RHS23 = Idr[184] + Idr[185] + Idr[186] - go[186] * *cnV[186]; - m_A56 = gt[192] + gt[193] + gt[194] + gt[195]; - m_A55 = m_A55 + go[192]; - m_A57 = m_A57 + go[193]; - double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[194] * *cnV[194] - go[195] * *cnV[195]; - m_A59 = gt[200] + gt[201] + gt[202] + gt[203]; - m_A58 = m_A58 + go[200]; - m_A60 = m_A60 + go[201]; - double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203] - go[202] * *cnV[202] - go[203] * *cnV[203]; - m_A62 = gt[208] + gt[209]; - m_A63 = m_A63 + go[208]; - m_A61 = m_A61 + go[209]; - double RHS26 = Idr[208] + Idr[209]; - m_A67 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220] + gt[221]; - m_A64 = m_A64 + go[216]; - m_A65 = m_A65 + go[217]; - m_A69 = m_A69 + go[218]; - m_A68 = m_A68 + go[219]; - double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] + Idr[221] - go[220] * *cnV[220] - go[221] * *cnV[221]; - m_A72 = gt[224] + gt[225] + gt[226] + gt[227]; - m_A71 = m_A71 + go[224]; - m_A73 = m_A73 + go[225]; - double RHS28 = Idr[224] + Idr[225] + Idr[226] + Idr[227] - go[226] * *cnV[226] - go[227] * *cnV[227]; - m_A76 = gt[232] + gt[233] + gt[234] + gt[235]; - m_A77 = m_A77 + go[232]; - m_A78 = m_A78 + go[233]; - m_A74 = m_A74 + go[234]; - m_A75 = m_A75 + go[235]; - double RHS29 = Idr[232] + Idr[233] + Idr[234] + Idr[235]; - m_A81 = gt[240] + gt[241] + gt[242]; - m_A80 = m_A80 + go[240]; - m_A79 = m_A79 + go[241]; - double RHS30 = Idr[240] + Idr[241] + Idr[242] - go[242] * *cnV[242]; - m_A84 = gt[248] + gt[249]; - m_A82 = m_A82 + go[248]; - m_A83 = m_A83 + go[249]; - double RHS31 = Idr[248] + Idr[249]; - m_A91 = gt[256] + gt[257] + gt[258] + gt[259] + gt[260]; - m_A86 = m_A86 + go[256]; - m_A90 = m_A90 + go[257]; - m_A88 = m_A88 + go[258]; - m_A85 = m_A85 + go[259]; - m_A87 = m_A87 + go[260]; - double RHS32 = Idr[256] + Idr[257] + Idr[258] + Idr[259] + Idr[260]; - m_A99 = gt[264] + gt[265] + gt[266] + gt[267] + gt[268]; - m_A96 = m_A96 + go[264]; - m_A100 = m_A100 + go[265]; - m_A97 = m_A97 + go[266]; - m_A94 = m_A94 + go[267]; - m_A95 = m_A95 + go[268]; - double RHS33 = Idr[264] + Idr[265] + Idr[266] + Idr[267] + Idr[268]; - m_A106 = gt[272] + gt[273] + gt[274] + gt[275]; - m_A103 = m_A103 + go[272]; - m_A104 = m_A104 + go[273]; - m_A101 = m_A101 + go[274]; - m_A102 = m_A102 + go[275]; - double RHS34 = Idr[272] + Idr[273] + Idr[274] + Idr[275]; - m_A111 = gt[280] + gt[281] + gt[282] + gt[283]; - m_A108 = m_A108 + go[280]; - m_A109 = m_A109 + go[281]; - double RHS35 = Idr[280] + Idr[281] + Idr[282] + Idr[283] - go[282] * *cnV[282] - go[283] * *cnV[283]; - m_A122 = gt[288] + gt[289] + gt[290] + gt[291] + gt[292] + gt[293]; - m_A113 = m_A113 + go[288]; - m_A117 = m_A117 + go[289]; - m_A120 = m_A120 + go[290]; - m_A114 = m_A114 + go[291]; - double RHS36 = Idr[288] + Idr[289] + Idr[290] + Idr[291] + Idr[292] + Idr[293] - go[292] * *cnV[292] - go[293] * *cnV[293]; -const double f0 = 1.0 / m_A0; - const double f0_24 = -f0 * m_A55; - m_A57 += m_A1 * f0_24; - RHS24 += f0_24 * RHS0; - const double f0_32 = -f0 * m_A85; - m_A91 += m_A1 * f0_32; - RHS32 += f0_32 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_32 = -f1 * m_A86; - m_A91 += m_A3 * f1_32; - RHS32 += f1_32 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_27 = -f2 * m_A64; - m_A66 += m_A5 * f2_27; - RHS27 += f2_27 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_25 = -f3 * m_A58; - m_A60 += m_A7 * f3_25; - RHS25 += f3_25 * RHS3; - const double f3_34 = -f3 * m_A101; - m_A106 += m_A7 * f3_34; - RHS34 += f3_34 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_20 = -f4 * m_A42; - m_A44 += m_A9 * f4_20; - RHS20 += f4_20 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_21 = -f5 * m_A45; - m_A47 += m_A11 * f5_21; - RHS21 += f5_21 * RHS5; - const double f5_32 = -f5 * m_A87; - m_A88 += m_A11 * f5_32; - RHS32 += f5_32 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_21 = -f6 * m_A46; - m_A47 += m_A13 * f6_21; - m_A48 += m_A14 * f6_21; - RHS21 += f6_21 * RHS6; - const double f6_22 = -f6 * m_A49; - m_A50 += m_A13 * f6_22; - m_A51 += m_A14 * f6_22; - RHS22 += f6_22 * RHS6; -const double f7 = 1.0 / m_A15; - const double f7_23 = -f7 * m_A52; - m_A54 += m_A16 * f7_23; - RHS23 += f7_23 * RHS7; - const double f7_34 = -f7 * m_A102; - m_A103 += m_A16 * f7_34; - RHS34 += f7_34 * RHS7; -const double f8 = 1.0 / m_A17; - const double f8_23 = -f8 * m_A53; - m_A54 += m_A18 * f8_23; - RHS23 += f8_23 * RHS8; -const double f9 = 1.0 / m_A19; - const double f9_36 = -f9 * m_A113; - m_A116 += m_A20 * f9_36; - RHS36 += f9_36 * RHS9; -const double f10 = 1.0 / m_A21; - const double f10_28 = -f10 * m_A71; - m_A73 += m_A22 * f10_28; - RHS28 += f10_28 * RHS10; - const double f10_33 = -f10 * m_A94; - m_A99 += m_A22 * f10_33; - RHS33 += f10_33 * RHS10; -const double f13 = 1.0 / m_A27; - const double f13_26 = -f13 * m_A61; - m_A62 += m_A28 * f13_26; - RHS26 += f13_26 * RHS13; - const double f13_33 = -f13 * m_A95; - m_A97 += m_A28 * f13_33; - RHS33 += f13_33 * RHS13; -const double f14 = 1.0 / m_A29; - const double f14_33 = -f14 * m_A96; - m_A99 += m_A30 * f14_33; - RHS33 += f14_33 * RHS14; -const double f15 = 1.0 / m_A31; - const double f15_31 = -f15 * m_A82; - m_A84 += m_A32 * f15_31; - RHS31 += f15_31 * RHS15; -const double f16 = 1.0 / m_A33; - const double f16_27 = -f16 * m_A65; - m_A67 += m_A34 * f16_27; - m_A70 += m_A35 * f16_27; - RHS27 += f16_27 * RHS16; - const double f16_36 = -f16 * m_A114; - m_A115 += m_A34 * f16_36; - m_A122 += m_A35 * f16_36; - RHS36 += f16_36 * RHS16; -const double f17 = 1.0 / m_A36; - const double f17_29 = -f17 * m_A74; - m_A76 += m_A37 * f17_29; - RHS29 += f17_29 * RHS17; - const double f17_35 = -f17 * m_A108; - m_A109 += m_A37 * f17_35; - RHS35 += f17_35 * RHS17; -const double f18 = 1.0 / m_A38; - const double f18_29 = -f18 * m_A75; - m_A77 += m_A39 * f18_29; - RHS29 += f18_29 * RHS18; - const double f18_30 = -f18 * m_A79; - m_A81 += m_A39 * f18_30; - RHS30 += f18_30 * RHS18; -const double f19 = 1.0 / m_A40; - const double f19_30 = -f19 * m_A80; - m_A81 += m_A41 * f19_30; - RHS30 += f19_30 * RHS19; -const double f21 = 1.0 / m_A47; - const double f21_22 = -f21 * m_A50; - m_A51 += m_A48 * f21_22; - RHS22 += f21_22 * RHS21; - const double f21_32 = -f21 * m_A88; - m_A89 += m_A48 * f21_32; - RHS32 += f21_32 * RHS21; -const double f22 = 1.0 / m_A51; - const double f22_32 = -f22 * m_A89; - RHS32 += f22_32 * RHS22; -const double f23 = 1.0 / m_A54; - const double f23_34 = -f23 * m_A103; - RHS34 += f23_34 * RHS23; -const double f24 = 1.0 / m_A56; - const double f24_27 = -f24 * m_A66; - m_A68 += m_A57 * f24_27; - RHS27 += f24_27 * RHS24; -const double f26 = 1.0 / m_A62; - const double f26_31 = -f26 * m_A83; - m_A84 += m_A63 * f26_31; - RHS31 += f26_31 * RHS26; - const double f26_33 = -f26 * m_A97; - m_A98 += m_A63 * f26_33; - RHS33 += f26_33 * RHS26; -const double f27 = 1.0 / m_A67; - const double f27_32 = -f27 * m_A90; - m_A91 += m_A68 * f27_32; - m_A92 += m_A69 * f27_32; - m_A93 += m_A70 * f27_32; - RHS32 += f27_32 * RHS27; - const double f27_34 = -f27 * m_A104; - m_A105 += m_A68 * f27_34; - m_A106 += m_A69 * f27_34; - m_A107 += m_A70 * f27_34; - RHS34 += f27_34 * RHS27; - const double f27_36 = -f27 * m_A115; - m_A119 += m_A68 * f27_36; - m_A121 += m_A69 * f27_36; - m_A122 += m_A70 * f27_36; - RHS36 += f27_36 * RHS27; -const double f28 = 1.0 / m_A72; - const double f28_36 = -f28 * m_A116; - m_A120 += m_A73 * f28_36; - RHS36 += f28_36 * RHS28; -const double f29 = 1.0 / m_A76; - const double f29_35 = -f29 * m_A109; - m_A110 += m_A77 * f29_35; - m_A112 += m_A78 * f29_35; - RHS35 += f29_35 * RHS29; - const double f29_36 = -f29 * m_A117; - m_A118 += m_A77 * f29_36; - m_A122 += m_A78 * f29_36; - RHS36 += f29_36 * RHS29; -const double f30 = 1.0 / m_A81; - const double f30_35 = -f30 * m_A110; - RHS35 += f30_35 * RHS30; - const double f30_36 = -f30 * m_A118; - RHS36 += f30_36 * RHS30; -const double f31 = 1.0 / m_A84; - const double f31_33 = -f31 * m_A98; - RHS33 += f31_33 * RHS31; -const double f32 = 1.0 / m_A91; - const double f32_34 = -f32 * m_A105; - m_A106 += m_A92 * f32_34; - m_A107 += m_A93 * f32_34; - RHS34 += f32_34 * RHS32; - const double f32_36 = -f32 * m_A119; - m_A121 += m_A92 * f32_36; - m_A122 += m_A93 * f32_36; - RHS36 += f32_36 * RHS32; -const double f33 = 1.0 / m_A99; - const double f33_36 = -f33 * m_A120; - m_A122 += m_A100 * f33_36; - RHS36 += f33_36 * RHS33; -const double f34 = 1.0 / m_A106; - const double f34_36 = -f34 * m_A121; - m_A122 += m_A107 * f34_36; - RHS36 += f34_36 * RHS34; - V[36] = RHS36 / m_A122; - double tmp35 = 0.0; - tmp35 += m_A112 * V[36]; - V[35] = (RHS35 - tmp35) / m_A111; - double tmp34 = 0.0; - tmp34 += m_A107 * V[36]; - V[34] = (RHS34 - tmp34) / m_A106; - double tmp33 = 0.0; - tmp33 += m_A100 * V[36]; - V[33] = (RHS33 - tmp33) / m_A99; - double tmp32 = 0.0; - tmp32 += m_A92 * V[34]; - tmp32 += m_A93 * V[36]; - V[32] = (RHS32 - tmp32) / m_A91; - double tmp31 = 0.0; - V[31] = (RHS31 - tmp31) / m_A84; - double tmp30 = 0.0; - V[30] = (RHS30 - tmp30) / m_A81; - double tmp29 = 0.0; - tmp29 += m_A77 * V[30]; - tmp29 += m_A78 * V[36]; - V[29] = (RHS29 - tmp29) / m_A76; - double tmp28 = 0.0; - tmp28 += m_A73 * V[33]; - V[28] = (RHS28 - tmp28) / m_A72; - double tmp27 = 0.0; - tmp27 += m_A68 * V[32]; - tmp27 += m_A69 * V[34]; - tmp27 += m_A70 * V[36]; - V[27] = (RHS27 - tmp27) / m_A67; - double tmp26 = 0.0; - tmp26 += m_A63 * V[31]; - V[26] = (RHS26 - tmp26) / m_A62; - double tmp25 = 0.0; - tmp25 += m_A60 * V[34]; - V[25] = (RHS25 - tmp25) / m_A59; - double tmp24 = 0.0; - tmp24 += m_A57 * V[32]; - V[24] = (RHS24 - tmp24) / m_A56; - double tmp23 = 0.0; - V[23] = (RHS23 - tmp23) / m_A54; - double tmp22 = 0.0; - V[22] = (RHS22 - tmp22) / m_A51; - double tmp21 = 0.0; - tmp21 += m_A48 * V[22]; - V[21] = (RHS21 - tmp21) / m_A47; + V[9] = (RHS9 - tmp9) / m_A19; + double tmp8 = 0.0; + tmp8 += m_A18 * V[25]; + V[8] = (RHS8 - tmp8) / m_A17; + double tmp7 = 0.0; + tmp7 += m_A15 * V[22]; + tmp7 += m_A16 * V[25]; + V[7] = (RHS7 - tmp7) / m_A14; + double tmp6 = 0.0; + tmp6 += m_A13 * V[24]; + V[6] = (RHS6 - tmp6) / m_A12; + double tmp5 = 0.0; + tmp5 += m_A11 * V[21]; + V[5] = (RHS5 - tmp5) / m_A10; + double tmp4 = 0.0; + tmp4 += m_A9 * V[17]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[30]; + V[3] = (RHS3 - tmp3) / m_A6; + double tmp2 = 0.0; + tmp2 += m_A5 * V[19]; + V[2] = (RHS2 - tmp2) / m_A4; + double tmp1 = 0.0; + tmp1 += m_A3 * V[29]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[16]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// 280zzzap +static void nl_gcr_caa814c0740131f2_104_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A5 += go[2]; + m_A4 += go[3]; + m_A3 += go[4]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A7 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A8 += gt[9]; + m_A8 += gt[10]; + m_A9 += go[9]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 -= go[10] * *cnV[10]; + m_A10 += gt[11]; + m_A10 += gt[12]; + m_A10 += gt[13]; + m_A12 += go[11]; + m_A11 += go[12]; + double RHS4 = Idr[11]; + RHS4 += Idr[12]; + RHS4 += Idr[13]; + RHS4 -= go[13] * *cnV[13]; + m_A13 += gt[14]; + m_A13 += gt[15]; + m_A14 += go[14]; + double RHS5 = Idr[14]; + RHS5 += Idr[15]; + RHS5 -= go[15] * *cnV[15]; + m_A15 += gt[16]; + m_A15 += gt[17]; + m_A15 += gt[18]; + m_A15 += gt[19]; + m_A15 += gt[20]; + m_A15 += gt[21]; + m_A15 += gt[22]; + m_A19 += go[16]; + m_A18 += go[17]; + m_A17 += go[18]; + m_A16 += go[19]; + double RHS6 = Idr[16]; + RHS6 += Idr[17]; + RHS6 += Idr[18]; + RHS6 += Idr[19]; + RHS6 += Idr[20]; + RHS6 += Idr[21]; + RHS6 += Idr[22]; + RHS6 -= go[20] * *cnV[20]; + RHS6 -= go[21] * *cnV[21]; + RHS6 -= go[22] * *cnV[22]; + m_A20 += gt[23]; + m_A20 += gt[24]; + m_A20 += gt[25]; + m_A20 += gt[26]; + m_A20 += gt[27]; + m_A20 += gt[28]; + m_A20 += gt[29]; + m_A24 += go[23]; + m_A23 += go[24]; + m_A22 += go[25]; + m_A21 += go[26]; + double RHS7 = Idr[23]; + RHS7 += Idr[24]; + RHS7 += Idr[25]; + RHS7 += Idr[26]; + RHS7 += Idr[27]; + RHS7 += Idr[28]; + RHS7 += Idr[29]; + RHS7 -= go[27] * *cnV[27]; + RHS7 -= go[28] * *cnV[28]; + RHS7 -= go[29] * *cnV[29]; + m_A25 += gt[30]; + m_A25 += gt[31]; + m_A25 += gt[32]; + m_A26 += go[30]; + m_A27 += go[31]; + double RHS8 = Idr[30]; + RHS8 += Idr[31]; + RHS8 += Idr[32]; + RHS8 -= go[32] * *cnV[32]; + m_A28 += gt[33]; + m_A28 += gt[34]; + m_A29 += go[33]; + double RHS9 = Idr[33]; + RHS9 += Idr[34]; + RHS9 -= go[34] * *cnV[34]; + m_A30 += gt[35]; + m_A30 += gt[36]; + m_A30 += gt[37]; + m_A30 += gt[38]; + m_A31 += go[35]; + double RHS10 = Idr[35]; + RHS10 += Idr[36]; + RHS10 += Idr[37]; + RHS10 += Idr[38]; + RHS10 -= go[36] * *cnV[36]; + RHS10 -= go[37] * *cnV[37]; + RHS10 -= go[38] * *cnV[38]; + m_A32 += gt[39]; + m_A32 += gt[40]; + m_A33 += go[39]; + double RHS11 = Idr[39]; + RHS11 += Idr[40]; + RHS11 -= go[40] * *cnV[40]; + m_A36 += gt[41]; + m_A36 += gt[42]; + m_A36 += gt[43]; + m_A36 += gt[44]; + m_A35 += go[41]; + m_A34 += go[42]; + double RHS12 = Idr[41]; + RHS12 += Idr[42]; + RHS12 += Idr[43]; + RHS12 += Idr[44]; + RHS12 -= go[43] * *cnV[43]; + RHS12 -= go[44] * *cnV[44]; + m_A42 += gt[45]; + m_A42 += gt[46]; + m_A42 += gt[47]; + m_A42 += gt[48]; + m_A40 += go[45]; + m_A41 += go[46]; + m_A43 += go[47]; + m_A39 += go[48]; + double RHS13 = Idr[45]; + RHS13 += Idr[46]; + RHS13 += Idr[47]; + RHS13 += Idr[48]; + m_A45 += gt[49]; + m_A45 += gt[50]; + m_A45 += gt[51]; + m_A45 += gt[52]; + m_A44 += go[49]; + m_A46 += go[50]; + double RHS14 = Idr[49]; + RHS14 += Idr[50]; + RHS14 += Idr[51]; + RHS14 += Idr[52]; + RHS14 -= go[51] * *cnV[51]; + RHS14 -= go[52] * *cnV[52]; + m_A50 += gt[53]; + m_A50 += gt[54]; + m_A50 += gt[55]; + m_A50 += gt[56]; + m_A48 += go[53]; + m_A47 += go[54]; + double RHS15 = Idr[53]; + RHS15 += Idr[54]; + RHS15 += Idr[55]; + RHS15 += Idr[56]; + RHS15 -= go[55] * *cnV[55]; + RHS15 -= go[56] * *cnV[56]; + m_A57 += gt[57]; + m_A57 += gt[58]; + m_A57 += gt[59]; + m_A57 += gt[60]; + m_A56 += go[57]; + m_A55 += go[58]; + m_A58 += go[59]; + double RHS16 = Idr[57]; + RHS16 += Idr[58]; + RHS16 += Idr[59]; + RHS16 += Idr[60]; + RHS16 -= go[60] * *cnV[60]; + m_A63 += gt[61]; + m_A63 += gt[62]; + m_A63 += gt[63]; + m_A63 += gt[64]; + m_A66 += go[61]; + m_A60 += go[62]; + m_A59 += go[63]; + double RHS17 = Idr[61]; + RHS17 += Idr[62]; + RHS17 += Idr[63]; + RHS17 += Idr[64]; + RHS17 -= go[64] * *cnV[64]; + m_A74 += gt[65]; + m_A74 += gt[66]; + m_A74 += gt[67]; + m_A74 += gt[68]; + m_A74 += gt[69]; + m_A74 += gt[70]; + m_A77 += go[65]; + m_A70 += go[66]; + m_A69 += go[67]; + m_A68 += go[68]; + m_A71 += go[69]; + double RHS18 = Idr[65]; + RHS18 += Idr[66]; + RHS18 += Idr[67]; + RHS18 += Idr[68]; + RHS18 += Idr[69]; + RHS18 += Idr[70]; + RHS18 -= go[70] * *cnV[70]; + m_A85 += gt[71]; + m_A85 += gt[72]; + m_A85 += gt[73]; + m_A85 += gt[74]; + m_A85 += gt[75]; + m_A85 += gt[76]; + m_A82 += go[71]; + m_A87 += go[72]; + m_A79 += go[73]; + m_A80 += go[74]; + m_A78 += go[75]; + double RHS19 = Idr[71]; + RHS19 += Idr[72]; + RHS19 += Idr[73]; + RHS19 += Idr[74]; + RHS19 += Idr[75]; + RHS19 += Idr[76]; + RHS19 -= go[76] * *cnV[76]; + m_A93 += gt[77]; + m_A93 += gt[78]; + m_A93 += gt[79]; + m_A93 += gt[80]; + m_A93 += gt[81]; + m_A89 += go[77]; + m_A88 += go[78]; + m_A90 += go[79]; + double RHS20 = Idr[77]; + RHS20 += Idr[78]; + RHS20 += Idr[79]; + RHS20 += Idr[80]; + RHS20 += Idr[81]; + RHS20 -= go[80] * *cnV[80]; + RHS20 -= go[81] * *cnV[81]; + m_A103 += gt[82]; + m_A103 += gt[83]; + m_A103 += gt[84]; + m_A103 += gt[85]; + m_A103 += gt[86]; + m_A103 += gt[87]; + m_A103 += gt[88]; + m_A97 += go[82]; + m_A96 += go[83]; + m_A101 += go[84]; + m_A95 += go[85]; + m_A100 += go[86]; + double RHS21 = Idr[82]; + RHS21 += Idr[83]; + RHS21 += Idr[84]; + RHS21 += Idr[85]; + RHS21 += Idr[86]; + RHS21 += Idr[87]; + RHS21 += Idr[88]; + RHS21 -= go[87] * *cnV[87]; + RHS21 -= go[88] * *cnV[88]; + const double f0 = 1.0 / m_A0; + const double f0_12 = -f0 * m_A34; + m_A36 += m_A1 * f0_12; + RHS12 += f0_12 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_12 = -f1 * m_A35; + m_A36 += m_A3 * f1_12; + m_A37 += m_A4 * f1_12; + m_A38 += m_A5 * f1_12; + RHS12 += f1_12 * RHS1; + const double f1_15 = -f1 * m_A47; + m_A49 += m_A3 * f1_15; + m_A50 += m_A4 * f1_15; + m_A51 += m_A5 * f1_15; + RHS15 += f1_15 * RHS1; + const double f1_17 = -f1 * m_A59; + m_A61 += m_A3 * f1_17; + m_A62 += m_A4 * f1_17; + m_A63 += m_A5 * f1_17; + RHS17 += f1_17 * RHS1; + const double f2 = 1.0 / m_A6; + const double f2_13 = -f2 * m_A39; + m_A42 += m_A7 * f2_13; + RHS13 += f2_13 * RHS2; + const double f3 = 1.0 / m_A8; + const double f3_13 = -f3 * m_A40; + m_A42 += m_A9 * f3_13; + RHS13 += f3_13 * RHS3; + const double f4 = 1.0 / m_A10; + const double f4_13 = -f4 * m_A41; + m_A42 += m_A11 * f4_13; + m_A43 += m_A12 * f4_13; + RHS13 += f4_13 * RHS4; + const double f4_18 = -f4 * m_A68; + m_A71 += m_A11 * f4_18; + m_A74 += m_A12 * f4_18; + RHS18 += f4_18 * RHS4; + const double f5 = 1.0 / m_A13; + const double f5_14 = -f5 * m_A44; + m_A45 += m_A14 * f5_14; + RHS14 += f5_14 * RHS5; + const double f6 = 1.0 / m_A15; + const double f6_15 = -f6 * m_A48; + m_A50 += m_A16 * f6_15; + m_A52 += m_A17 * f6_15; + m_A53 += m_A18 * f6_15; + m_A54 += m_A19 * f6_15; + RHS15 += f6_15 * RHS6; + const double f6_18 = -f6 * m_A69; + m_A72 += m_A16 * f6_18; + m_A74 += m_A17 * f6_18; + m_A75 += m_A18 * f6_18; + m_A77 += m_A19 * f6_18; + RHS18 += f6_18 * RHS6; + const double f6_19 = -f6 * m_A78; + m_A81 += m_A16 * f6_19; + m_A84 += m_A17 * f6_19; + m_A85 += m_A18 * f6_19; + m_A87 += m_A19 * f6_19; + RHS19 += f6_19 * RHS6; + const double f6_21 = -f6 * m_A95; + m_A98 += m_A16 * f6_21; + m_A100 += m_A17 * f6_21; + m_A101 += m_A18 * f6_21; + m_A103 += m_A19 * f6_21; + RHS21 += f6_21 * RHS6; + const double f7 = 1.0 / m_A20; + const double f7_17 = -f7 * m_A60; + m_A63 += m_A21 * f7_17; + m_A64 += m_A22 * f7_17; + m_A65 += m_A23 * f7_17; + m_A67 += m_A24 * f7_17; + RHS17 += f7_17 * RHS7; + const double f7_18 = -f7 * m_A70; + m_A73 += m_A21 * f7_18; + m_A74 += m_A22 * f7_18; + m_A75 += m_A23 * f7_18; + m_A77 += m_A24 * f7_18; + RHS18 += f7_18 * RHS7; + const double f7_19 = -f7 * m_A79; + m_A83 += m_A21 * f7_19; + m_A84 += m_A22 * f7_19; + m_A85 += m_A23 * f7_19; + m_A87 += m_A24 * f7_19; + RHS19 += f7_19 * RHS7; + const double f7_21 = -f7 * m_A96; + m_A99 += m_A21 * f7_21; + m_A100 += m_A22 * f7_21; + m_A101 += m_A23 * f7_21; + m_A103 += m_A24 * f7_21; + RHS21 += f7_21 * RHS7; + const double f8 = 1.0 / m_A25; + const double f8_16 = -f8 * m_A55; + m_A57 += m_A26 * f8_16; + m_A58 += m_A27 * f8_16; + RHS16 += f8_16 * RHS8; + const double f8_19 = -f8 * m_A80; + m_A82 += m_A26 * f8_19; + m_A85 += m_A27 * f8_19; + RHS19 += f8_19 * RHS8; + const double f9 = 1.0 / m_A28; + const double f9_16 = -f9 * m_A56; + m_A57 += m_A29 * f9_16; + RHS16 += f9_16 * RHS9; + const double f10 = 1.0 / m_A30; + const double f10_20 = -f10 * m_A88; + m_A93 += m_A31 * f10_20; + RHS20 += f10_20 * RHS10; + const double f11 = 1.0 / m_A32; + const double f11_20 = -f11 * m_A89; + m_A93 += m_A33 * f11_20; + RHS20 += f11_20 * RHS11; + const double f12 = 1.0 / m_A36; + const double f12_15 = -f12 * m_A49; + m_A50 += m_A37 * f12_15; + m_A51 += m_A38 * f12_15; + RHS15 += f12_15 * RHS12; + const double f12_17 = -f12 * m_A61; + m_A62 += m_A37 * f12_17; + m_A63 += m_A38 * f12_17; + RHS17 += f12_17 * RHS12; + const double f13 = 1.0 / m_A42; + const double f13_18 = -f13 * m_A71; + m_A74 += m_A43 * f13_18; + RHS18 += f13_18 * RHS13; + const double f14 = 1.0 / m_A45; + const double f14_21 = -f14 * m_A97; + m_A103 += m_A46 * f14_21; + RHS21 += f14_21 * RHS14; + const double f15 = 1.0 / m_A50; + const double f15_17 = -f15 * m_A62; + m_A63 += m_A51 * f15_17; + m_A64 += m_A52 * f15_17; + m_A65 += m_A53 * f15_17; + m_A67 += m_A54 * f15_17; + RHS17 += f15_17 * RHS15; + const double f15_18 = -f15 * m_A72; + m_A73 += m_A51 * f15_18; + m_A74 += m_A52 * f15_18; + m_A75 += m_A53 * f15_18; + m_A77 += m_A54 * f15_18; + RHS18 += f15_18 * RHS15; + const double f15_19 = -f15 * m_A81; + m_A83 += m_A51 * f15_19; + m_A84 += m_A52 * f15_19; + m_A85 += m_A53 * f15_19; + m_A87 += m_A54 * f15_19; + RHS19 += f15_19 * RHS15; + const double f15_21 = -f15 * m_A98; + m_A99 += m_A51 * f15_21; + m_A100 += m_A52 * f15_21; + m_A101 += m_A53 * f15_21; + m_A103 += m_A54 * f15_21; + RHS21 += f15_21 * RHS15; + const double f16 = 1.0 / m_A57; + const double f16_19 = -f16 * m_A82; + m_A85 += m_A58 * f16_19; + RHS19 += f16_19 * RHS16; + const double f17 = 1.0 / m_A63; + const double f17_18 = -f17 * m_A73; + m_A74 += m_A64 * f17_18; + m_A75 += m_A65 * f17_18; + m_A76 += m_A66 * f17_18; + m_A77 += m_A67 * f17_18; + RHS18 += f17_18 * RHS17; + const double f17_19 = -f17 * m_A83; + m_A84 += m_A64 * f17_19; + m_A85 += m_A65 * f17_19; + m_A86 += m_A66 * f17_19; + m_A87 += m_A67 * f17_19; + RHS19 += f17_19 * RHS17; + const double f17_20 = -f17 * m_A90; + m_A91 += m_A64 * f17_20; + m_A92 += m_A65 * f17_20; + m_A93 += m_A66 * f17_20; + m_A94 += m_A67 * f17_20; + RHS20 += f17_20 * RHS17; + const double f17_21 = -f17 * m_A99; + m_A100 += m_A64 * f17_21; + m_A101 += m_A65 * f17_21; + m_A102 += m_A66 * f17_21; + m_A103 += m_A67 * f17_21; + RHS21 += f17_21 * RHS17; + const double f18 = 1.0 / m_A74; + const double f18_19 = -f18 * m_A84; + m_A85 += m_A75 * f18_19; + m_A86 += m_A76 * f18_19; + m_A87 += m_A77 * f18_19; + RHS19 += f18_19 * RHS18; + const double f18_20 = -f18 * m_A91; + m_A92 += m_A75 * f18_20; + m_A93 += m_A76 * f18_20; + m_A94 += m_A77 * f18_20; + RHS20 += f18_20 * RHS18; + const double f18_21 = -f18 * m_A100; + m_A101 += m_A75 * f18_21; + m_A102 += m_A76 * f18_21; + m_A103 += m_A77 * f18_21; + RHS21 += f18_21 * RHS18; + const double f19 = 1.0 / m_A85; + const double f19_20 = -f19 * m_A92; + m_A93 += m_A86 * f19_20; + m_A94 += m_A87 * f19_20; + RHS20 += f19_20 * RHS19; + const double f19_21 = -f19 * m_A101; + m_A102 += m_A86 * f19_21; + m_A103 += m_A87 * f19_21; + RHS21 += f19_21 * RHS19; + const double f20 = 1.0 / m_A93; + const double f20_21 = -f20 * m_A102; + m_A103 += m_A94 * f20_21; + RHS21 += f20_21 * RHS20; + V[21] = RHS21 / m_A103; double tmp20 = 0.0; - tmp20 += m_A44 * V[25]; - V[20] = (RHS20 - tmp20) / m_A43; + tmp20 += m_A94 * V[21]; + V[20] = (RHS20 - tmp20) / m_A93; double tmp19 = 0.0; - tmp19 += m_A41 * V[30]; - V[19] = (RHS19 - tmp19) / m_A40; + tmp19 += m_A86 * V[20]; + tmp19 += m_A87 * V[21]; + V[19] = (RHS19 - tmp19) / m_A85; double tmp18 = 0.0; - tmp18 += m_A39 * V[30]; - V[18] = (RHS18 - tmp18) / m_A38; + tmp18 += m_A75 * V[19]; + tmp18 += m_A76 * V[20]; + tmp18 += m_A77 * V[21]; + V[18] = (RHS18 - tmp18) / m_A74; double tmp17 = 0.0; - tmp17 += m_A37 * V[29]; - V[17] = (RHS17 - tmp17) / m_A36; + tmp17 += m_A64 * V[18]; + tmp17 += m_A65 * V[19]; + tmp17 += m_A66 * V[20]; + tmp17 += m_A67 * V[21]; + V[17] = (RHS17 - tmp17) / m_A63; double tmp16 = 0.0; - tmp16 += m_A34 * V[27]; - tmp16 += m_A35 * V[36]; - V[16] = (RHS16 - tmp16) / m_A33; + tmp16 += m_A58 * V[19]; + V[16] = (RHS16 - tmp16) / m_A57; double tmp15 = 0.0; - tmp15 += m_A32 * V[31]; - V[15] = (RHS15 - tmp15) / m_A31; + tmp15 += m_A51 * V[17]; + tmp15 += m_A52 * V[18]; + tmp15 += m_A53 * V[19]; + tmp15 += m_A54 * V[21]; + V[15] = (RHS15 - tmp15) / m_A50; double tmp14 = 0.0; - tmp14 += m_A30 * V[33]; - V[14] = (RHS14 - tmp14) / m_A29; + tmp14 += m_A46 * V[21]; + V[14] = (RHS14 - tmp14) / m_A45; double tmp13 = 0.0; - tmp13 += m_A28 * V[26]; - V[13] = (RHS13 - tmp13) / m_A27; + tmp13 += m_A43 * V[18]; + V[13] = (RHS13 - tmp13) / m_A42; double tmp12 = 0.0; - tmp12 += m_A26 * V[35]; - V[12] = (RHS12 - tmp12) / m_A25; + tmp12 += m_A37 * V[15]; + tmp12 += m_A38 * V[17]; + V[12] = (RHS12 - tmp12) / m_A36; double tmp11 = 0.0; - tmp11 += m_A24 * V[12]; - V[11] = (RHS11 - tmp11) / m_A23; + tmp11 += m_A33 * V[20]; + V[11] = (RHS11 - tmp11) / m_A32; double tmp10 = 0.0; - tmp10 += m_A22 * V[33]; - V[10] = (RHS10 - tmp10) / m_A21; + tmp10 += m_A31 * V[20]; + V[10] = (RHS10 - tmp10) / m_A30; double tmp9 = 0.0; - tmp9 += m_A20 * V[28]; - V[9] = (RHS9 - tmp9) / m_A19; + tmp9 += m_A29 * V[16]; + V[9] = (RHS9 - tmp9) / m_A28; double tmp8 = 0.0; - tmp8 += m_A18 * V[23]; - V[8] = (RHS8 - tmp8) / m_A17; + tmp8 += m_A26 * V[16]; + tmp8 += m_A27 * V[19]; + V[8] = (RHS8 - tmp8) / m_A25; double tmp7 = 0.0; - tmp7 += m_A16 * V[23]; - V[7] = (RHS7 - tmp7) / m_A15; + tmp7 += m_A21 * V[17]; + tmp7 += m_A22 * V[18]; + tmp7 += m_A23 * V[19]; + tmp7 += m_A24 * V[21]; + V[7] = (RHS7 - tmp7) / m_A20; double tmp6 = 0.0; - tmp6 += m_A13 * V[21]; - tmp6 += m_A14 * V[22]; - V[6] = (RHS6 - tmp6) / m_A12; + tmp6 += m_A16 * V[15]; + tmp6 += m_A17 * V[18]; + tmp6 += m_A18 * V[19]; + tmp6 += m_A19 * V[21]; + V[6] = (RHS6 - tmp6) / m_A15; double tmp5 = 0.0; - tmp5 += m_A11 * V[21]; - V[5] = (RHS5 - tmp5) / m_A10; + tmp5 += m_A14 * V[14]; + V[5] = (RHS5 - tmp5) / m_A13; double tmp4 = 0.0; - tmp4 += m_A9 * V[25]; - V[4] = (RHS4 - tmp4) / m_A8; + tmp4 += m_A11 * V[13]; + tmp4 += m_A12 * V[18]; + V[4] = (RHS4 - tmp4) / m_A10; double tmp3 = 0.0; - tmp3 += m_A7 * V[34]; - V[3] = (RHS3 - tmp3) / m_A6; + tmp3 += m_A9 * V[13]; + V[3] = (RHS3 - tmp3) / m_A8; double tmp2 = 0.0; - tmp2 += m_A5 * V[24]; - V[2] = (RHS2 - tmp2) / m_A4; + tmp2 += m_A7 * V[13]; + V[2] = (RHS2 - tmp2) / m_A6; double tmp1 = 0.0; - tmp1 += m_A3 * V[32]; + tmp1 += m_A3 * V[12]; + tmp1 += m_A4 * V[15]; + tmp1 += m_A5 * V[17]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[32]; + tmp0 += m_A1 * V[12]; V[0] = (RHS0 - tmp0) / m_A0; } -// 1942 -static void nl_gcr_a1b753ac9c408940_90_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// rebound +static void nl_gcr_cb1d3c28ba315ca6_28_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A8 = gt[32] + gt[33] + gt[34]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A10 = gt[40] + gt[41] + gt[42]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[41] * *cnV[41] - go[42] * *cnV[42]; - m_A12 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54]; - m_A19 = m_A19 + go[48]; - m_A13 = m_A13 + go[49]; - m_A15 = m_A15 + go[50]; - m_A17 = m_A17 + go[51]; - m_A18 = m_A18 + go[52]; - m_A16 = m_A16 + go[53]; - m_A14 = m_A14 + go[54]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54]; - m_A20 = gt[56] + gt[57]; - m_A22 = m_A22 + go[56]; - m_A21 = m_A21 + go[57]; - double RHS7 = Idr[56] + Idr[57]; - m_A25 = gt[64] + gt[65]; - m_A24 = m_A24 + go[64]; - m_A23 = m_A23 + go[65]; - double RHS8 = Idr[64] + Idr[65]; - m_A35 = gt[72] + gt[73]; - m_A33 = m_A33 + go[72]; - m_A32 = m_A32 + go[73]; - double RHS9 = Idr[72] + Idr[73]; - m_A45 = gt[80] + gt[81]; - m_A42 = m_A42 + go[80]; - m_A41 = m_A41 + go[81]; - double RHS10 = Idr[80] + Idr[81]; - m_A55 = gt[88] + gt[89]; - m_A51 = m_A51 + go[88]; - m_A50 = m_A50 + go[89]; - double RHS11 = Idr[88] + Idr[89]; - m_A65 = gt[96] + gt[97]; - m_A60 = m_A60 + go[96]; - m_A59 = m_A59 + go[97]; - double RHS12 = Idr[96] + Idr[97]; - m_A75 = gt[104] + gt[105]; - m_A69 = m_A69 + go[104]; - m_A68 = m_A68 + go[105]; - double RHS13 = Idr[104] + Idr[105]; - m_A85 = gt[112] + gt[113] + gt[114]; - m_A78 = m_A78 + go[112]; - m_A77 = m_A77 + go[113]; - double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114]; - m_A89 = gt[120] + gt[121]; - m_A87 = m_A87 + go[120]; - double RHS15 = Idr[120] + Idr[121] - go[121] * *cnV[121]; -const double f0 = 1.0 / m_A0; - const double f0_9 = -f0 * m_A32; - m_A35 += m_A1 * f0_9; - RHS9 += f0_9 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_11 = -f1 * m_A50; - m_A55 += m_A3 * f1_11; - RHS11 += f1_11 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_13 = -f2 * m_A68; - m_A75 += m_A5 * f2_13; - RHS13 += f2_13 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_12 = -f3 * m_A59; - m_A65 += m_A7 * f3_12; - RHS12 += f3_12 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_10 = -f4 * m_A41; - m_A45 += m_A9 * f4_10; - RHS10 += f4_10 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_8 = -f5 * m_A23; - m_A25 += m_A11 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_8 = -f6 * m_A24; - m_A25 += m_A13 * f6_8; - m_A26 += m_A14 * f6_8; - m_A27 += m_A15 * f6_8; - m_A28 += m_A16 * f6_8; - m_A29 += m_A17 * f6_8; - m_A30 += m_A18 * f6_8; - m_A31 += m_A19 * f6_8; - RHS8 += f6_8 * RHS6; - const double f6_9 = -f6 * m_A33; - m_A34 += m_A13 * f6_9; - m_A35 += m_A14 * f6_9; - m_A36 += m_A15 * f6_9; - m_A37 += m_A16 * f6_9; - m_A38 += m_A17 * f6_9; - m_A39 += m_A18 * f6_9; - m_A40 += m_A19 * f6_9; - RHS9 += f6_9 * RHS6; - const double f6_10 = -f6 * m_A42; - m_A43 += m_A13 * f6_10; - m_A44 += m_A14 * f6_10; - m_A45 += m_A15 * f6_10; - m_A46 += m_A16 * f6_10; - m_A47 += m_A17 * f6_10; - m_A48 += m_A18 * f6_10; - m_A49 += m_A19 * f6_10; - RHS10 += f6_10 * RHS6; - const double f6_11 = -f6 * m_A51; - m_A52 += m_A13 * f6_11; - m_A53 += m_A14 * f6_11; - m_A54 += m_A15 * f6_11; - m_A55 += m_A16 * f6_11; - m_A56 += m_A17 * f6_11; - m_A57 += m_A18 * f6_11; - m_A58 += m_A19 * f6_11; - RHS11 += f6_11 * RHS6; - const double f6_12 = -f6 * m_A60; - m_A61 += m_A13 * f6_12; - m_A62 += m_A14 * f6_12; - m_A63 += m_A15 * f6_12; - m_A64 += m_A16 * f6_12; - m_A65 += m_A17 * f6_12; - m_A66 += m_A18 * f6_12; - m_A67 += m_A19 * f6_12; - RHS12 += f6_12 * RHS6; - const double f6_13 = -f6 * m_A69; - m_A70 += m_A13 * f6_13; - m_A71 += m_A14 * f6_13; - m_A72 += m_A15 * f6_13; - m_A73 += m_A16 * f6_13; - m_A74 += m_A17 * f6_13; - m_A75 += m_A18 * f6_13; - m_A76 += m_A19 * f6_13; - RHS13 += f6_13 * RHS6; - const double f6_14 = -f6 * m_A77; - m_A79 += m_A13 * f6_14; - m_A80 += m_A14 * f6_14; - m_A81 += m_A15 * f6_14; - m_A82 += m_A16 * f6_14; - m_A83 += m_A17 * f6_14; - m_A84 += m_A18 * f6_14; - m_A85 += m_A19 * f6_14; - RHS14 += f6_14 * RHS6; -const double f7 = 1.0 / m_A20; - const double f7_14 = -f7 * m_A78; - m_A85 += m_A21 * f7_14; - m_A86 += m_A22 * f7_14; - RHS14 += f7_14 * RHS7; - const double f7_15 = -f7 * m_A87; - m_A88 += m_A21 * f7_15; - m_A89 += m_A22 * f7_15; - RHS15 += f7_15 * RHS7; -const double f8 = 1.0 / m_A25; - const double f8_9 = -f8 * m_A34; - m_A35 += m_A26 * f8_9; - m_A36 += m_A27 * f8_9; - m_A37 += m_A28 * f8_9; - m_A38 += m_A29 * f8_9; - m_A39 += m_A30 * f8_9; - m_A40 += m_A31 * f8_9; - RHS9 += f8_9 * RHS8; - const double f8_10 = -f8 * m_A43; - m_A44 += m_A26 * f8_10; - m_A45 += m_A27 * f8_10; - m_A46 += m_A28 * f8_10; - m_A47 += m_A29 * f8_10; - m_A48 += m_A30 * f8_10; - m_A49 += m_A31 * f8_10; - RHS10 += f8_10 * RHS8; - const double f8_11 = -f8 * m_A52; - m_A53 += m_A26 * f8_11; - m_A54 += m_A27 * f8_11; - m_A55 += m_A28 * f8_11; - m_A56 += m_A29 * f8_11; - m_A57 += m_A30 * f8_11; - m_A58 += m_A31 * f8_11; - RHS11 += f8_11 * RHS8; - const double f8_12 = -f8 * m_A61; - m_A62 += m_A26 * f8_12; - m_A63 += m_A27 * f8_12; - m_A64 += m_A28 * f8_12; - m_A65 += m_A29 * f8_12; - m_A66 += m_A30 * f8_12; - m_A67 += m_A31 * f8_12; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A4 += go[3]; + m_A4 += go[4]; + m_A3 += go[5]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[6] * *cnV[6]; + m_A5 += gt[7]; + m_A5 += gt[8]; + m_A5 += gt[9]; + m_A6 += go[7]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + m_A7 += gt[10]; + m_A7 += gt[11]; + m_A7 += gt[12]; + m_A7 += gt[13]; + m_A7 += gt[14]; + m_A7 += gt[15]; + m_A7 += gt[16]; + m_A8 += go[10]; + m_A8 += go[11]; + double RHS3 = Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + RHS3 += Idr[16]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + RHS3 -= go[15] * *cnV[15]; + RHS3 -= go[16] * *cnV[16]; + m_A11 += gt[17]; + m_A11 += gt[18]; + m_A11 += gt[19]; + m_A13 += go[17]; + m_A10 += go[18]; + m_A9 += go[19]; + double RHS4 = Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + m_A16 += gt[20]; + m_A16 += gt[21]; + m_A16 += gt[22]; + m_A16 += gt[23]; + m_A16 += gt[24]; + m_A16 += gt[25]; + m_A16 += gt[26]; + m_A18 += go[20]; + m_A14 += go[21]; + m_A14 += go[22]; + double RHS5 = Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 += Idr[24]; + RHS5 += Idr[25]; + RHS5 += Idr[26]; + RHS5 -= go[23] * *cnV[23]; + RHS5 -= go[24] * *cnV[24]; + RHS5 -= go[25] * *cnV[25]; + RHS5 -= go[26] * *cnV[26]; + m_A22 += gt[27]; + m_A22 += gt[28]; + m_A22 += gt[29]; + m_A22 += gt[30]; + m_A22 += gt[31]; + m_A22 += gt[32]; + m_A22 += gt[33]; + m_A22 += gt[34]; + m_A22 += gt[35]; + m_A22 += gt[36]; + m_A23 += go[27]; + m_A23 += go[28]; + m_A20 += go[29]; + m_A19 += go[30]; + m_A19 += go[31]; + double RHS6 = Idr[27]; + RHS6 += Idr[28]; + RHS6 += Idr[29]; + RHS6 += Idr[30]; + RHS6 += Idr[31]; + RHS6 += Idr[32]; + RHS6 += Idr[33]; + RHS6 += Idr[34]; + RHS6 += Idr[35]; + RHS6 += Idr[36]; + RHS6 -= go[32] * *cnV[32]; + RHS6 -= go[33] * *cnV[33]; + RHS6 -= go[34] * *cnV[34]; + RHS6 -= go[35] * *cnV[35]; + RHS6 -= go[36] * *cnV[36]; + m_A27 += gt[37]; + m_A27 += gt[38]; + m_A27 += gt[39]; + m_A27 += gt[40]; + m_A27 += gt[41]; + m_A26 += go[37]; + m_A26 += go[38]; + m_A25 += go[39]; + m_A24 += go[40]; + double RHS7 = Idr[37]; + RHS7 += Idr[38]; + RHS7 += Idr[39]; + RHS7 += Idr[40]; + RHS7 += Idr[41]; + RHS7 -= go[41] * *cnV[41]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A9; + m_A11 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A10; + m_A11 += m_A3 * f1_4; + m_A12 += m_A4 * f1_4; + RHS4 += f1_4 * RHS1; + const double f1_5 = -f1 * m_A14; + m_A15 += m_A3 * f1_5; + m_A16 += m_A4 * f1_5; + RHS5 += f1_5 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_7 = -f2 * m_A24; + m_A27 += m_A6 * f2_7; + RHS7 += f2_7 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_6 = -f3 * m_A19; + m_A22 += m_A8 * f3_6; + RHS6 += f3_6 * RHS3; + const double f4 = 1.0 / m_A11; + const double f4_5 = -f4 * m_A15; + m_A16 += m_A12 * f4_5; + m_A17 += m_A13 * f4_5; + RHS5 += f4_5 * RHS4; + const double f4_6 = -f4 * m_A20; + m_A21 += m_A12 * f4_6; + m_A22 += m_A13 * f4_6; + RHS6 += f4_6 * RHS4; + const double f5 = 1.0 / m_A16; + const double f5_6 = -f5 * m_A21; + m_A22 += m_A17 * f5_6; + m_A23 += m_A18 * f5_6; + RHS6 += f5_6 * RHS5; + const double f5_7 = -f5 * m_A25; + m_A26 += m_A17 * f5_7; + m_A27 += m_A18 * f5_7; + RHS7 += f5_7 * RHS5; + const double f6 = 1.0 / m_A22; + const double f6_7 = -f6 * m_A26; + m_A27 += m_A23 * f6_7; + RHS7 += f6_7 * RHS6; + V[7] = RHS7 / m_A27; + double tmp6 = 0.0; + tmp6 += m_A23 * V[7]; + V[6] = (RHS6 - tmp6) / m_A22; + double tmp5 = 0.0; + tmp5 += m_A17 * V[6]; + tmp5 += m_A18 * V[7]; + V[5] = (RHS5 - tmp5) / m_A16; + double tmp4 = 0.0; + tmp4 += m_A12 * V[5]; + tmp4 += m_A13 * V[6]; + V[4] = (RHS4 - tmp4) / m_A11; + double tmp3 = 0.0; + tmp3 += m_A8 * V[6]; + V[3] = (RHS3 - tmp3) / m_A7; + double tmp2 = 0.0; + tmp2 += m_A6 * V[7]; + V[2] = (RHS2 - tmp2) / m_A5; + double tmp1 = 0.0; + tmp1 += m_A3 * V[4]; + tmp1 += m_A4 * V[5]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[4]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// mario +static void nl_gcr_cc367a3c6e2f7ec9_62_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[3] * *cnV[3]; + RHS1 -= go[4] * *cnV[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A5 += go[5]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A7 += go[7]; + double RHS3 = Idr[7]; + RHS3 += Idr[8]; + RHS3 += Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 -= go[8] * *cnV[8]; + RHS3 -= go[9] * *cnV[9]; + RHS3 -= go[10] * *cnV[10]; + RHS3 -= go[11] * *cnV[11]; + RHS3 -= go[12] * *cnV[12]; + RHS3 -= go[13] * *cnV[13]; + m_A8 += gt[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A8 += gt[17]; + m_A8 += gt[18]; + m_A8 += gt[19]; + m_A8 += gt[20]; + m_A9 += go[14]; + double RHS4 = Idr[14]; + RHS4 += Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 -= go[15] * *cnV[15]; + RHS4 -= go[16] * *cnV[16]; + RHS4 -= go[17] * *cnV[17]; + RHS4 -= go[18] * *cnV[18]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + m_A10 += gt[21]; + m_A10 += gt[22]; + m_A12 += go[21]; + m_A11 += go[22]; + double RHS5 = Idr[21]; + RHS5 += Idr[22]; + m_A13 += gt[23]; + m_A13 += gt[24]; + m_A13 += gt[25]; + m_A14 += go[23]; + double RHS6 = Idr[23]; + RHS6 += Idr[24]; + RHS6 += Idr[25]; + RHS6 -= go[24] * *cnV[24]; + RHS6 -= go[25] * *cnV[25]; + m_A15 += gt[26]; + m_A15 += gt[27]; + m_A16 += go[26]; + double RHS7 = Idr[26]; + RHS7 += Idr[27]; + RHS7 -= go[27] * *cnV[27]; + m_A17 += gt[28]; + m_A17 += gt[29]; + m_A17 += gt[30]; + m_A17 += gt[31]; + m_A18 += go[28]; + double RHS8 = Idr[28]; + RHS8 += Idr[29]; + RHS8 += Idr[30]; + RHS8 += Idr[31]; + RHS8 -= go[29] * *cnV[29]; + RHS8 -= go[30] * *cnV[30]; + RHS8 -= go[31] * *cnV[31]; + m_A20 += gt[32]; + m_A20 += gt[33]; + m_A19 += go[32]; + double RHS9 = Idr[32]; + RHS9 += Idr[33]; + RHS9 -= go[33] * *cnV[33]; + m_A22 += gt[34]; + m_A22 += gt[35]; + m_A22 += gt[36]; + m_A22 += gt[37]; + m_A21 += go[34]; + m_A23 += go[35]; + double RHS10 = Idr[34]; + RHS10 += Idr[35]; + RHS10 += Idr[36]; + RHS10 += Idr[37]; + RHS10 -= go[36] * *cnV[36]; + RHS10 -= go[37] * *cnV[37]; + m_A27 += gt[38]; + m_A27 += gt[39]; + m_A27 += gt[40]; + m_A27 += gt[41]; + m_A27 += gt[42]; + m_A24 += go[38]; + m_A25 += go[39]; + m_A28 += go[40]; + double RHS11 = Idr[38]; + RHS11 += Idr[39]; + RHS11 += Idr[40]; + RHS11 += Idr[41]; + RHS11 += Idr[42]; + RHS11 -= go[41] * *cnV[41]; + RHS11 -= go[42] * *cnV[42]; + m_A32 += gt[43]; + m_A32 += gt[44]; + m_A31 += go[43]; + m_A30 += go[44]; + double RHS12 = Idr[43]; + RHS12 += Idr[44]; + m_A34 += gt[45]; + m_A34 += gt[46]; + m_A34 += gt[47]; + m_A34 += gt[48]; + m_A34 += gt[49]; + m_A34 += gt[50]; + m_A33 += go[45]; + m_A37 += go[46]; + m_A36 += go[47]; + double RHS13 = Idr[45]; + RHS13 += Idr[46]; + RHS13 += Idr[47]; + RHS13 += Idr[48]; + RHS13 += Idr[49]; + RHS13 += Idr[50]; + RHS13 -= go[48] * *cnV[48]; + RHS13 -= go[49] * *cnV[49]; + RHS13 -= go[50] * *cnV[50]; + m_A39 += gt[51]; + m_A39 += gt[52]; + m_A39 += gt[53]; + m_A39 += gt[54]; + m_A40 += go[51]; + m_A38 += go[52]; + double RHS14 = Idr[51]; + RHS14 += Idr[52]; + RHS14 += Idr[53]; + RHS14 += Idr[54]; + RHS14 -= go[53] * *cnV[53]; + RHS14 -= go[54] * *cnV[54]; + m_A46 += gt[55]; + m_A46 += gt[56]; + m_A46 += gt[57]; + m_A46 += gt[58]; + m_A46 += gt[59]; + m_A44 += go[55]; + m_A45 += go[56]; + m_A43 += go[57]; + m_A42 += go[58]; + m_A41 += go[59]; + double RHS15 = Idr[55]; + RHS15 += Idr[56]; + RHS15 += Idr[57]; + RHS15 += Idr[58]; + RHS15 += Idr[59]; + m_A53 += gt[60]; + m_A53 += gt[61]; + m_A53 += gt[62]; + m_A53 += gt[63]; + m_A50 += go[60]; + m_A54 += go[61]; + m_A48 += go[62]; + double RHS16 = Idr[60]; + RHS16 += Idr[61]; + RHS16 += Idr[62]; + RHS16 += Idr[63]; + RHS16 -= go[63] * *cnV[63]; + m_A61 += gt[64]; + m_A61 += gt[65]; + m_A61 += gt[66]; + m_A61 += gt[67]; + m_A61 += gt[68]; + m_A57 += go[64]; + m_A58 += go[65]; + m_A60 += go[66]; + m_A55 += go[67]; + m_A56 += go[68]; + double RHS17 = Idr[64]; + RHS17 += Idr[65]; + RHS17 += Idr[66]; + RHS17 += Idr[67]; + RHS17 += Idr[68]; + const double f0 = 1.0 / m_A0; + const double f0_9 = -f0 * m_A19; + m_A20 += m_A1 * f0_9; + RHS9 += f0_9 * RHS0; + const double f0_15 = -f0 * m_A41; + m_A44 += m_A1 * f0_15; + RHS15 += f0_15 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_10 = -f1 * m_A21; + m_A23 += m_A3 * f1_10; + RHS10 += f1_10 * RHS1; + const double f1_15 = -f1 * m_A42; + m_A46 += m_A3 * f1_15; + RHS15 += f1_15 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_15 = -f2 * m_A43; + m_A46 += m_A5 * f2_15; + RHS15 += f2_15 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_11 = -f3 * m_A24; + m_A26 += m_A7 * f3_11; + RHS11 += f3_11 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_13 = -f4 * m_A33; + m_A35 += m_A9 * f4_13; + RHS13 += f4_13 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_11 = -f5 * m_A25; + m_A27 += m_A11 * f5_11; + m_A29 += m_A12 * f5_11; + RHS11 += f5_11 * RHS5; + const double f5_16 = -f5 * m_A48; + m_A49 += m_A11 * f5_16; + m_A53 += m_A12 * f5_16; + RHS16 += f5_16 * RHS5; + const double f6 = 1.0 / m_A13; + const double f6_14 = -f6 * m_A38; + m_A40 += m_A14 * f6_14; + RHS14 += f6_14 * RHS6; + const double f6_17 = -f6 * m_A55; + m_A61 += m_A14 * f6_17; + RHS17 += f6_17 * RHS6; + const double f7 = 1.0 / m_A15; + const double f7_12 = -f7 * m_A30; + m_A32 += m_A16 * f7_12; + RHS12 += f7_12 * RHS7; + const double f7_17 = -f7 * m_A56; + m_A57 += m_A16 * f7_17; + RHS17 += f7_17 * RHS7; + const double f8 = 1.0 / m_A17; + const double f8_12 = -f8 * m_A31; + m_A32 += m_A18 * f8_12; RHS12 += f8_12 * RHS8; - const double f8_13 = -f8 * m_A70; - m_A71 += m_A26 * f8_13; - m_A72 += m_A27 * f8_13; - m_A73 += m_A28 * f8_13; - m_A74 += m_A29 * f8_13; - m_A75 += m_A30 * f8_13; - m_A76 += m_A31 * f8_13; - RHS13 += f8_13 * RHS8; - const double f8_14 = -f8 * m_A79; - m_A80 += m_A26 * f8_14; - m_A81 += m_A27 * f8_14; - m_A82 += m_A28 * f8_14; - m_A83 += m_A29 * f8_14; - m_A84 += m_A30 * f8_14; - m_A85 += m_A31 * f8_14; - RHS14 += f8_14 * RHS8; -const double f9 = 1.0 / m_A35; - const double f9_10 = -f9 * m_A44; - m_A45 += m_A36 * f9_10; - m_A46 += m_A37 * f9_10; - m_A47 += m_A38 * f9_10; - m_A48 += m_A39 * f9_10; - m_A49 += m_A40 * f9_10; - RHS10 += f9_10 * RHS9; - const double f9_11 = -f9 * m_A53; - m_A54 += m_A36 * f9_11; - m_A55 += m_A37 * f9_11; - m_A56 += m_A38 * f9_11; - m_A57 += m_A39 * f9_11; - m_A58 += m_A40 * f9_11; - RHS11 += f9_11 * RHS9; - const double f9_12 = -f9 * m_A62; - m_A63 += m_A36 * f9_12; - m_A64 += m_A37 * f9_12; - m_A65 += m_A38 * f9_12; - m_A66 += m_A39 * f9_12; - m_A67 += m_A40 * f9_12; - RHS12 += f9_12 * RHS9; - const double f9_13 = -f9 * m_A71; - m_A72 += m_A36 * f9_13; - m_A73 += m_A37 * f9_13; - m_A74 += m_A38 * f9_13; - m_A75 += m_A39 * f9_13; - m_A76 += m_A40 * f9_13; - RHS13 += f9_13 * RHS9; - const double f9_14 = -f9 * m_A80; - m_A81 += m_A36 * f9_14; - m_A82 += m_A37 * f9_14; - m_A83 += m_A38 * f9_14; - m_A84 += m_A39 * f9_14; - m_A85 += m_A40 * f9_14; - RHS14 += f9_14 * RHS9; -const double f10 = 1.0 / m_A45; - const double f10_11 = -f10 * m_A54; - m_A55 += m_A46 * f10_11; - m_A56 += m_A47 * f10_11; - m_A57 += m_A48 * f10_11; - m_A58 += m_A49 * f10_11; + const double f9 = 1.0 / m_A20; + const double f9_15 = -f9 * m_A44; + RHS15 += f9_15 * RHS9; + const double f10 = 1.0 / m_A22; + const double f10_11 = -f10 * m_A26; + m_A28 += m_A23 * f10_11; RHS11 += f10_11 * RHS10; - const double f10_12 = -f10 * m_A63; - m_A64 += m_A46 * f10_12; - m_A65 += m_A47 * f10_12; - m_A66 += m_A48 * f10_12; - m_A67 += m_A49 * f10_12; - RHS12 += f10_12 * RHS10; - const double f10_13 = -f10 * m_A72; - m_A73 += m_A46 * f10_13; - m_A74 += m_A47 * f10_13; - m_A75 += m_A48 * f10_13; - m_A76 += m_A49 * f10_13; - RHS13 += f10_13 * RHS10; - const double f10_14 = -f10 * m_A81; - m_A82 += m_A46 * f10_14; - m_A83 += m_A47 * f10_14; - m_A84 += m_A48 * f10_14; - m_A85 += m_A49 * f10_14; - RHS14 += f10_14 * RHS10; -const double f11 = 1.0 / m_A55; - const double f11_12 = -f11 * m_A64; - m_A65 += m_A56 * f11_12; - m_A66 += m_A57 * f11_12; - m_A67 += m_A58 * f11_12; - RHS12 += f11_12 * RHS11; - const double f11_13 = -f11 * m_A73; - m_A74 += m_A56 * f11_13; - m_A75 += m_A57 * f11_13; - m_A76 += m_A58 * f11_13; - RHS13 += f11_13 * RHS11; - const double f11_14 = -f11 * m_A82; - m_A83 += m_A56 * f11_14; - m_A84 += m_A57 * f11_14; - m_A85 += m_A58 * f11_14; - RHS14 += f11_14 * RHS11; -const double f12 = 1.0 / m_A65; - const double f12_13 = -f12 * m_A74; - m_A75 += m_A66 * f12_13; - m_A76 += m_A67 * f12_13; - RHS13 += f12_13 * RHS12; - const double f12_14 = -f12 * m_A83; - m_A84 += m_A66 * f12_14; - m_A85 += m_A67 * f12_14; - RHS14 += f12_14 * RHS12; -const double f13 = 1.0 / m_A75; - const double f13_14 = -f13 * m_A84; - m_A85 += m_A76 * f13_14; - RHS14 += f13_14 * RHS13; -const double f14 = 1.0 / m_A85; - const double f14_15 = -f14 * m_A88; - m_A89 += m_A86 * f14_15; - RHS15 += f14_15 * RHS14; - V[15] = RHS15 / m_A89; + const double f11 = 1.0 / m_A27; + const double f11_15 = -f11 * m_A45; + m_A46 += m_A28 * f11_15; + m_A47 += m_A29 * f11_15; + RHS15 += f11_15 * RHS11; + const double f11_16 = -f11 * m_A49; + m_A52 += m_A28 * f11_16; + m_A53 += m_A29 * f11_16; + RHS16 += f11_16 * RHS11; + const double f12 = 1.0 / m_A32; + const double f12_17 = -f12 * m_A57; + RHS17 += f12_17 * RHS12; + const double f13 = 1.0 / m_A34; + const double f13_16 = -f13 * m_A50; + m_A51 += m_A35 * f13_16; + m_A53 += m_A36 * f13_16; + m_A54 += m_A37 * f13_16; + RHS16 += f13_16 * RHS13; + const double f13_17 = -f13 * m_A58; + m_A59 += m_A35 * f13_17; + m_A60 += m_A36 * f13_17; + m_A61 += m_A37 * f13_17; + RHS17 += f13_17 * RHS13; + const double f14 = 1.0 / m_A39; + const double f14_16 = -f14 * m_A51; + m_A54 += m_A40 * f14_16; + RHS16 += f14_16 * RHS14; + const double f14_17 = -f14 * m_A59; + m_A61 += m_A40 * f14_17; + RHS17 += f14_17 * RHS14; + const double f15 = 1.0 / m_A46; + const double f15_16 = -f15 * m_A52; + m_A53 += m_A47 * f15_16; + RHS16 += f15_16 * RHS15; + const double f16 = 1.0 / m_A53; + const double f16_17 = -f16 * m_A60; + m_A61 += m_A54 * f16_17; + RHS17 += f16_17 * RHS16; + V[17] = RHS17 / m_A61; + double tmp16 = 0.0; + tmp16 += m_A54 * V[17]; + V[16] = (RHS16 - tmp16) / m_A53; + double tmp15 = 0.0; + tmp15 += m_A47 * V[16]; + V[15] = (RHS15 - tmp15) / m_A46; double tmp14 = 0.0; - tmp14 += m_A86 * V[15]; - V[14] = (RHS14 - tmp14) / m_A85; + tmp14 += m_A40 * V[17]; + V[14] = (RHS14 - tmp14) / m_A39; double tmp13 = 0.0; - tmp13 += m_A76 * V[14]; - V[13] = (RHS13 - tmp13) / m_A75; + tmp13 += m_A35 * V[14]; + tmp13 += m_A36 * V[16]; + tmp13 += m_A37 * V[17]; + V[13] = (RHS13 - tmp13) / m_A34; double tmp12 = 0.0; - tmp12 += m_A66 * V[13]; - tmp12 += m_A67 * V[14]; - V[12] = (RHS12 - tmp12) / m_A65; + V[12] = (RHS12 - tmp12) / m_A32; double tmp11 = 0.0; - tmp11 += m_A56 * V[12]; - tmp11 += m_A57 * V[13]; - tmp11 += m_A58 * V[14]; - V[11] = (RHS11 - tmp11) / m_A55; + tmp11 += m_A28 * V[15]; + tmp11 += m_A29 * V[16]; + V[11] = (RHS11 - tmp11) / m_A27; double tmp10 = 0.0; - tmp10 += m_A46 * V[11]; - tmp10 += m_A47 * V[12]; - tmp10 += m_A48 * V[13]; - tmp10 += m_A49 * V[14]; - V[10] = (RHS10 - tmp10) / m_A45; + tmp10 += m_A23 * V[15]; + V[10] = (RHS10 - tmp10) / m_A22; double tmp9 = 0.0; - tmp9 += m_A36 * V[10]; - tmp9 += m_A37 * V[11]; - tmp9 += m_A38 * V[12]; - tmp9 += m_A39 * V[13]; - tmp9 += m_A40 * V[14]; - V[9] = (RHS9 - tmp9) / m_A35; + V[9] = (RHS9 - tmp9) / m_A20; double tmp8 = 0.0; - tmp8 += m_A26 * V[9]; - tmp8 += m_A27 * V[10]; - tmp8 += m_A28 * V[11]; - tmp8 += m_A29 * V[12]; - tmp8 += m_A30 * V[13]; - tmp8 += m_A31 * V[14]; - V[8] = (RHS8 - tmp8) / m_A25; + tmp8 += m_A18 * V[12]; + V[8] = (RHS8 - tmp8) / m_A17; double tmp7 = 0.0; - tmp7 += m_A21 * V[14]; - tmp7 += m_A22 * V[15]; - V[7] = (RHS7 - tmp7) / m_A20; + tmp7 += m_A16 * V[12]; + V[7] = (RHS7 - tmp7) / m_A15; double tmp6 = 0.0; - tmp6 += m_A13 * V[8]; - tmp6 += m_A14 * V[9]; - tmp6 += m_A15 * V[10]; - tmp6 += m_A16 * V[11]; - tmp6 += m_A17 * V[12]; - tmp6 += m_A18 * V[13]; - tmp6 += m_A19 * V[14]; - V[6] = (RHS6 - tmp6) / m_A12; + tmp6 += m_A14 * V[17]; + V[6] = (RHS6 - tmp6) / m_A13; double tmp5 = 0.0; - tmp5 += m_A11 * V[8]; + tmp5 += m_A11 * V[11]; + tmp5 += m_A12 * V[16]; V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A9 * V[10]; + tmp4 += m_A9 * V[14]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[12]; + tmp3 += m_A7 * V[10]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[13]; + tmp2 += m_A5 * V[15]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[11]; + tmp1 += m_A3 * V[15]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; tmp0 += m_A1 * V[9]; V[0] = (RHS0 - tmp0) / m_A0; } -// zac1b11142 -static void nl_gcr_a26cb0ca00cdeba6_12_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// pongf +static void nl_gcr_cd4de579d34fc1d9_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5]; - m_A4 = m_A4 + go[4]; - m_A3 = m_A3 + go[5]; - double RHS1 = Idr[4] + Idr[5]; - m_A7 = gt[8] + gt[9]; - m_A6 = m_A6 + go[8]; - m_A5 = m_A5 + go[9]; - double RHS2 = Idr[8] + Idr[9]; - m_A11 = gt[12] + gt[13]; - m_A9 = m_A9 + go[12]; - double RHS3 = Idr[12] + Idr[13] - go[13] * *cnV[13]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A5; - m_A7 += m_A1 * f0_2; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A6 += gt[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A5 += go[5]; + m_A4 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 -= go[7] * *cnV[7]; + const double f0 = 1.0 / m_A0; + const double f0_2 = -f0 * m_A4; + m_A6 += m_A1 * f0_2; RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A6; - m_A7 += m_A3 * f1_2; - m_A8 += m_A4 * f1_2; + const double f1 = 1.0 / m_A2; + const double f1_2 = -f1 * m_A5; + m_A6 += m_A3 * f1_2; RHS2 += f1_2 * RHS1; - const double f1_3 = -f1 * m_A9; - m_A10 += m_A3 * f1_3; - m_A11 += m_A4 * f1_3; - RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A7; - const double f2_3 = -f2 * m_A10; - m_A11 += m_A8 * f2_3; - RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A11; - double tmp2 = 0.0; - tmp2 += m_A8 * V[3]; - V[2] = (RHS2 - tmp2) / m_A7; + V[2] = RHS2 / m_A6; double tmp1 = 0.0; tmp1 += m_A3 * V[2]; - tmp1 += m_A4 * V[3]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; tmp0 += m_A1 * V[2]; V[0] = (RHS0 - tmp0) / m_A0; } -// kidniki -static void nl_gcr_a2b9e1d13f95c2d3_34_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// dpatrol +static void nl_gcr_cffc52225ebcec8f_20_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - m_A2 = m_A2 + go[1]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[2] * *cnV[2]; - m_A3 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14]; - m_A7 = gt[16] + gt[17] + gt[18]; - m_A6 = m_A6 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A9 = gt[24] + gt[25] + gt[26]; - m_A11 = m_A11 + go[24]; - m_A10 = m_A10 + go[25]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26]; - m_A12 = gt[32] + gt[33] + gt[34]; - m_A14 = m_A14 + go[32]; - m_A13 = m_A13 + go[33]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[34] * *cnV[34]; - m_A17 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A15 = m_A15 + go[40]; - m_A18 = m_A18 + go[41]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46]; - m_A21 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53]; - m_A19 = m_A19 + go[48]; - m_A22 = m_A22 + go[49]; - m_A20 = m_A20 + go[50]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] - go[51] * *cnV[51] - go[52] * *cnV[52] - go[53] * *cnV[53]; - m_A27 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60]; - m_A26 = m_A26 + go[56]; - m_A25 = m_A25 + go[57]; - m_A23 = m_A23 + go[58]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] - go[59] * *cnV[59] - go[60] * *cnV[60]; - m_A33 = gt[64] + gt[65] + gt[66]; - m_A30 = m_A30 + go[64]; - m_A31 = m_A31 + go[65]; - m_A29 = m_A29 + go[66]; - double RHS8 = Idr[64] + Idr[65] + Idr[66]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A6; - m_A7 += m_A1 * f0_2; - m_A8 += m_A2 * f0_2; - RHS2 += f0_2 * RHS0; - const double f0_5 = -f0 * m_A15; - m_A16 += m_A1 * f0_5; - m_A18 += m_A2 * f0_5; - RHS5 += f0_5 * RHS0; - const double f0_7 = -f0 * m_A23; - m_A24 += m_A1 * f0_7; - m_A27 += m_A2 * f0_7; - RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A3; - const double f1_6 = -f1 * m_A19; - m_A20 += m_A4 * f1_6; - m_A21 += m_A5 * f1_6; - RHS6 += f1_6 * RHS1; -const double f2 = 1.0 / m_A7; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + m_A2 += gt[4]; + m_A3 += go[4]; + double RHS1 = Idr[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A6 += go[5]; + m_A5 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + m_A8 += gt[10]; + m_A8 += gt[11]; + m_A8 += gt[12]; + m_A8 += gt[13]; + m_A8 += gt[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A10 += go[10]; + m_A9 += go[11]; + m_A7 += go[12]; + double RHS3 = Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + RHS3 += Idr[16]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + RHS3 -= go[15] * *cnV[15]; + RHS3 -= go[16] * *cnV[16]; + m_A14 += gt[17]; + m_A14 += gt[18]; + m_A14 += gt[19]; + m_A14 += gt[20]; + m_A11 += go[17]; + m_A12 += go[18]; + m_A13 += go[19]; + double RHS4 = Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 -= go[20] * *cnV[20]; + m_A19 += gt[21]; + m_A19 += gt[22]; + m_A19 += gt[23]; + m_A16 += go[21]; + m_A17 += go[22]; + double RHS5 = Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[23] * *cnV[23]; + const double f0 = 1.0 / m_A0; + const double f0_3 = -f0 * m_A7; + m_A8 += m_A1 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A11; + m_A14 += m_A3 * f1_4; + RHS4 += f1_4 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_4 = -f2 * m_A12; + m_A14 += m_A5 * f2_4; + m_A15 += m_A6 * f2_4; + RHS4 += f2_4 * RHS2; const double f2_5 = -f2 * m_A16; - m_A18 += m_A8 * f2_5; + m_A18 += m_A5 * f2_5; + m_A19 += m_A6 * f2_5; RHS5 += f2_5 * RHS2; - const double f2_7 = -f2 * m_A24; - m_A27 += m_A8 * f2_7; - RHS7 += f2_7 * RHS2; -const double f3 = 1.0 / m_A9; - const double f3_6 = -f3 * m_A20; - m_A21 += m_A10 * f3_6; - m_A22 += m_A11 * f3_6; - RHS6 += f3_6 * RHS3; - const double f3_8 = -f3 * m_A29; - m_A31 += m_A10 * f3_8; - m_A33 += m_A11 * f3_8; - RHS8 += f3_8 * RHS3; -const double f4 = 1.0 / m_A12; - const double f4_7 = -f4 * m_A25; - m_A27 += m_A13 * f4_7; - m_A28 += m_A14 * f4_7; - RHS7 += f4_7 * RHS4; - const double f4_8 = -f4 * m_A30; - m_A32 += m_A13 * f4_8; - m_A33 += m_A14 * f4_8; - RHS8 += f4_8 * RHS4; -const double f5 = 1.0 / m_A17; - const double f5_7 = -f5 * m_A26; - m_A27 += m_A18 * f5_7; - RHS7 += f5_7 * RHS5; -const double f6 = 1.0 / m_A21; - const double f6_8 = -f6 * m_A31; - m_A33 += m_A22 * f6_8; - RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A27; - const double f7_8 = -f7 * m_A32; - m_A33 += m_A28 * f7_8; - RHS8 += f7_8 * RHS7; - V[8] = RHS8 / m_A33; - double tmp7 = 0.0; - tmp7 += m_A28 * V[8]; - V[7] = (RHS7 - tmp7) / m_A27; - double tmp6 = 0.0; - tmp6 += m_A22 * V[8]; - V[6] = (RHS6 - tmp6) / m_A21; - double tmp5 = 0.0; - tmp5 += m_A18 * V[7]; - V[5] = (RHS5 - tmp5) / m_A17; - double tmp4 = 0.0; - tmp4 += m_A13 * V[7]; - tmp4 += m_A14 * V[8]; - V[4] = (RHS4 - tmp4) / m_A12; - double tmp3 = 0.0; - tmp3 += m_A10 * V[6]; - tmp3 += m_A11 * V[8]; - V[3] = (RHS3 - tmp3) / m_A9; - double tmp2 = 0.0; - tmp2 += m_A8 * V[7]; - V[2] = (RHS2 - tmp2) / m_A7; - double tmp1 = 0.0; - tmp1 += m_A4 * V[3]; - tmp1 += m_A5 * V[6]; - V[1] = (RHS1 - tmp1) / m_A3; - double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; - tmp0 += m_A2 * V[7]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// breakout -static void nl_gcr_a5e9537117c3969a_31_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - m_A6 = m_A6 + go[17]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[18] * *cnV[18]; - m_A7 = gt[24] + gt[25] + gt[26]; - m_A8 = m_A8 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A9 = gt[32] + gt[33] + gt[34]; - m_A10 = m_A10 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A12 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A14 = m_A14 + go[40]; - m_A13 = m_A13 + go[41]; - m_A11 = m_A11 + go[42]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46]; - m_A16 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52]; - m_A18 = m_A18 + go[48]; - m_A15 = m_A15 + go[49]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] - go[50] * *cnV[50] - go[51] * *cnV[51] - go[52] * *cnV[52]; - m_A23 = gt[56] + gt[57] + gt[58]; - m_A19 = m_A19 + go[56]; - m_A20 = m_A20 + go[57]; - m_A21 = m_A21 + go[58]; - double RHS7 = Idr[56] + Idr[57] + Idr[58]; - m_A30 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68]; - m_A26 = m_A26 + go[64]; - m_A25 = m_A25 + go[65]; - m_A28 = m_A28 + go[66]; - m_A27 = m_A27 + go[67]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] - go[68] * *cnV[68]; -const double f0 = 1.0 / m_A0; - const double f0_5 = -f0 * m_A11; - m_A12 += m_A1 * f0_5; - RHS5 += f0_5 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_7 = -f1 * m_A19; - m_A23 += m_A3 * f1_7; - RHS7 += f1_7 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_6 = -f2 * m_A15; - m_A16 += m_A5 * f2_6; - m_A17 += m_A6 * f2_6; - RHS6 += f2_6 * RHS2; - const double f2_7 = -f2 * m_A20; - m_A22 += m_A5 * f2_7; - m_A23 += m_A6 * f2_7; - RHS7 += f2_7 * RHS2; -const double f3 = 1.0 / m_A7; - const double f3_8 = -f3 * m_A25; - m_A30 += m_A8 * f3_8; - RHS8 += f3_8 * RHS3; -const double f4 = 1.0 / m_A9; - const double f4_8 = -f4 * m_A26; - m_A30 += m_A10 * f4_8; - RHS8 += f4_8 * RHS4; -const double f5 = 1.0 / m_A12; - const double f5_7 = -f5 * m_A21; - m_A23 += m_A13 * f5_7; - m_A24 += m_A14 * f5_7; - RHS7 += f5_7 * RHS5; - const double f5_8 = -f5 * m_A27; - m_A29 += m_A13 * f5_8; - m_A30 += m_A14 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A16; - const double f6_7 = -f6 * m_A22; - m_A23 += m_A17 * f6_7; - m_A24 += m_A18 * f6_7; - RHS7 += f6_7 * RHS6; - const double f6_8 = -f6 * m_A28; - m_A29 += m_A17 * f6_8; - m_A30 += m_A18 * f6_8; - RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A23; - const double f7_8 = -f7 * m_A29; - m_A30 += m_A24 * f7_8; - RHS8 += f7_8 * RHS7; - V[8] = RHS8 / m_A30; - double tmp7 = 0.0; - tmp7 += m_A24 * V[8]; - V[7] = (RHS7 - tmp7) / m_A23; - double tmp6 = 0.0; - tmp6 += m_A17 * V[7]; - tmp6 += m_A18 * V[8]; - V[6] = (RHS6 - tmp6) / m_A16; - double tmp5 = 0.0; - tmp5 += m_A13 * V[7]; - tmp5 += m_A14 * V[8]; - V[5] = (RHS5 - tmp5) / m_A12; + const double f3 = 1.0 / m_A8; + const double f3_4 = -f3 * m_A13; + m_A14 += m_A9 * f3_4; + m_A15 += m_A10 * f3_4; + RHS4 += f3_4 * RHS3; + const double f3_5 = -f3 * m_A17; + m_A18 += m_A9 * f3_5; + m_A19 += m_A10 * f3_5; + RHS5 += f3_5 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_5 = -f4 * m_A18; + m_A19 += m_A15 * f4_5; + RHS5 += f4_5 * RHS4; + V[5] = RHS5 / m_A19; double tmp4 = 0.0; - tmp4 += m_A10 * V[8]; - V[4] = (RHS4 - tmp4) / m_A9; + tmp4 += m_A15 * V[5]; + V[4] = (RHS4 - tmp4) / m_A14; double tmp3 = 0.0; - tmp3 += m_A8 * V[8]; - V[3] = (RHS3 - tmp3) / m_A7; + tmp3 += m_A9 * V[4]; + tmp3 += m_A10 * V[5]; + V[3] = (RHS3 - tmp3) / m_A8; double tmp2 = 0.0; - tmp2 += m_A5 * V[6]; - tmp2 += m_A6 * V[7]; + tmp2 += m_A5 * V[4]; + tmp2 += m_A6 * V[5]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[7]; + tmp1 += m_A3 * V[4]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[5]; + tmp0 += m_A1 * V[3]; V[0] = (RHS0 - tmp0) / m_A0; } -// zac1b11142 -static void nl_gcr_a88b481713b08b7b_30_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// popeye +static void nl_gcr_d153cd8a3df26761_50_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A2 = gt[8] + gt[9] + gt[10]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25] + gt[26]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A8 = gt[32] + gt[33] + gt[34]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34]; - m_A11 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45]; - m_A10 = m_A10 + go[40]; - m_A12 = m_A12 + go[41]; - m_A12 = m_A12 + go[42]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45]; - m_A16 = gt[48] + gt[49]; - m_A15 = m_A15 + go[48]; - m_A14 = m_A14 + go[49]; - double RHS6 = Idr[48] + Idr[49]; - m_A18 = gt[56] + gt[57]; - m_A19 = m_A19 + go[56]; - m_A17 = m_A17 + go[57]; - double RHS7 = Idr[56] + Idr[57]; - m_A25 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69]; - m_A23 = m_A23 + go[64]; - m_A22 = m_A22 + go[65]; - m_A22 = m_A22 + go[66]; - m_A24 = m_A24 + go[67]; - m_A21 = m_A21 + go[68]; - m_A20 = m_A20 + go[69]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69]; - m_A29 = gt[72] + gt[73] + gt[74] + gt[75]; - m_A28 = m_A28 + go[72]; - m_A27 = m_A27 + go[73]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75]; -const double f0 = 1.0 / m_A0; - const double f0_5 = -f0 * m_A10; - m_A13 += m_A1 * f0_5; - RHS5 += f0_5 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_7 = -f1 * m_A17; - m_A18 += m_A3 * f1_7; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A10 += go[9]; + m_A7 += go[10]; + m_A8 += go[11]; + m_A9 += go[12]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + m_A11 += gt[15]; + m_A11 += gt[16]; + m_A11 += gt[17]; + m_A11 += gt[18]; + m_A11 += gt[19]; + m_A13 += go[15]; + m_A13 += go[16]; + m_A12 += go[17]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 -= go[18] * *cnV[18]; + RHS4 -= go[19] * *cnV[19]; + m_A14 += gt[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A14 += gt[24]; + m_A16 += go[20]; + m_A15 += go[21]; + m_A15 += go[22]; + double RHS5 = Idr[20]; + RHS5 += Idr[21]; + RHS5 += Idr[22]; + RHS5 += Idr[23]; + RHS5 += Idr[24]; + RHS5 -= go[23] * *cnV[23]; + RHS5 -= go[24] * *cnV[24]; + m_A19 += gt[25]; + m_A19 += gt[26]; + m_A19 += gt[27]; + m_A18 += go[25]; + m_A17 += go[26]; + double RHS6 = Idr[25]; + RHS6 += Idr[26]; + RHS6 += Idr[27]; + RHS6 -= go[27] * *cnV[27]; + m_A26 += gt[28]; + m_A26 += gt[29]; + m_A26 += gt[30]; + m_A24 += go[28]; + m_A23 += go[29]; + double RHS7 = Idr[28]; + RHS7 += Idr[29]; + RHS7 += Idr[30]; + RHS7 -= go[30] * *cnV[30]; + m_A33 += gt[31]; + m_A33 += gt[32]; + m_A33 += gt[33]; + m_A30 += go[31]; + m_A29 += go[32]; + double RHS8 = Idr[31]; + RHS8 += Idr[32]; + RHS8 += Idr[33]; + RHS8 -= go[33] * *cnV[33]; + m_A40 += gt[34]; + m_A40 += gt[35]; + m_A40 += gt[36]; + m_A40 += gt[37]; + m_A36 += go[34]; + m_A35 += go[35]; + double RHS9 = Idr[34]; + RHS9 += Idr[35]; + RHS9 += Idr[36]; + RHS9 += Idr[37]; + RHS9 -= go[36] * *cnV[36]; + RHS9 -= go[37] * *cnV[37]; + m_A45 += gt[38]; + m_A45 += gt[39]; + m_A45 += gt[40]; + m_A45 += gt[41]; + m_A45 += gt[42]; + m_A45 += gt[43]; + m_A45 += gt[44]; + m_A45 += gt[45]; + m_A43 += go[38]; + m_A43 += go[39]; + m_A42 += go[40]; + m_A42 += go[41]; + double RHS10 = Idr[38]; + RHS10 += Idr[39]; + RHS10 += Idr[40]; + RHS10 += Idr[41]; + RHS10 += Idr[42]; + RHS10 += Idr[43]; + RHS10 += Idr[44]; + RHS10 += Idr[45]; + RHS10 -= go[42] * *cnV[42]; + RHS10 -= go[43] * *cnV[43]; + RHS10 -= go[44] * *cnV[44]; + RHS10 -= go[45] * *cnV[45]; + m_A49 += gt[46]; + m_A49 += gt[47]; + m_A47 += go[46]; + double RHS11 = Idr[46]; + RHS11 += Idr[47]; + RHS11 -= go[47] * *cnV[47]; + const double f0 = 1.0 / m_A0; + const double f0_8 = -f0 * m_A29; + m_A33 += m_A1 * f0_8; + RHS8 += f0_8 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_7 = -f1 * m_A23; + m_A26 += m_A3 * f1_7; RHS7 += f1_7 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_6 = -f2 * m_A14; - m_A16 += m_A5 * f2_6; + const double f2 = 1.0 / m_A4; + const double f2_6 = -f2 * m_A17; + m_A19 += m_A5 * f2_6; RHS6 += f2_6 * RHS2; - const double f2_8 = -f2 * m_A20; - m_A23 += m_A5 * f2_8; - RHS8 += f2_8 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_6 = -f3 * m_A15; - m_A16 += m_A7 * f3_6; + const double f3 = 1.0 / m_A6; + const double f3_6 = -f3 * m_A18; + m_A19 += m_A7 * f3_6; + m_A20 += m_A8 * f3_6; + m_A21 += m_A9 * f3_6; + m_A22 += m_A10 * f3_6; RHS6 += f3_6 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_8 = -f4 * m_A21; - m_A25 += m_A9 * f4_8; - RHS8 += f4_8 * RHS4; - const double f4_9 = -f4 * m_A27; - m_A28 += m_A9 * f4_9; + const double f3_7 = -f3 * m_A24; + m_A25 += m_A7 * f3_7; + m_A26 += m_A8 * f3_7; + m_A27 += m_A9 * f3_7; + m_A28 += m_A10 * f3_7; + RHS7 += f3_7 * RHS3; + const double f3_8 = -f3 * m_A30; + m_A31 += m_A7 * f3_8; + m_A32 += m_A8 * f3_8; + m_A33 += m_A9 * f3_8; + m_A34 += m_A10 * f3_8; + RHS8 += f3_8 * RHS3; + const double f3_9 = -f3 * m_A35; + m_A37 += m_A7 * f3_9; + m_A38 += m_A8 * f3_9; + m_A39 += m_A9 * f3_9; + m_A40 += m_A10 * f3_9; + RHS9 += f3_9 * RHS3; + const double f4 = 1.0 / m_A11; + const double f4_9 = -f4 * m_A36; + m_A40 += m_A12 * f4_9; + m_A41 += m_A13 * f4_9; RHS9 += f4_9 * RHS4; -const double f5 = 1.0 / m_A11; - const double f5_8 = -f5 * m_A22; - m_A25 += m_A12 * f5_8; - m_A26 += m_A13 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A16; - const double f6_8 = -f6 * m_A23; + const double f4_10 = -f4 * m_A42; + m_A44 += m_A12 * f4_10; + m_A45 += m_A13 * f4_10; + RHS10 += f4_10 * RHS4; + const double f5 = 1.0 / m_A14; + const double f5_10 = -f5 * m_A43; + m_A45 += m_A15 * f5_10; + m_A46 += m_A16 * f5_10; + RHS10 += f5_10 * RHS5; + const double f5_11 = -f5 * m_A47; + m_A48 += m_A15 * f5_11; + m_A49 += m_A16 * f5_11; + RHS11 += f5_11 * RHS5; + const double f6 = 1.0 / m_A19; + const double f6_7 = -f6 * m_A25; + m_A26 += m_A20 * f6_7; + m_A27 += m_A21 * f6_7; + m_A28 += m_A22 * f6_7; + RHS7 += f6_7 * RHS6; + const double f6_8 = -f6 * m_A31; + m_A32 += m_A20 * f6_8; + m_A33 += m_A21 * f6_8; + m_A34 += m_A22 * f6_8; RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A18; - const double f7_8 = -f7 * m_A24; - m_A25 += m_A19 * f7_8; + const double f6_9 = -f6 * m_A37; + m_A38 += m_A20 * f6_9; + m_A39 += m_A21 * f6_9; + m_A40 += m_A22 * f6_9; + RHS9 += f6_9 * RHS6; + const double f7 = 1.0 / m_A26; + const double f7_8 = -f7 * m_A32; + m_A33 += m_A27 * f7_8; + m_A34 += m_A28 * f7_8; RHS8 += f7_8 * RHS7; -const double f8 = 1.0 / m_A25; - const double f8_9 = -f8 * m_A28; - m_A29 += m_A26 * f8_9; + const double f7_9 = -f7 * m_A38; + m_A39 += m_A27 * f7_9; + m_A40 += m_A28 * f7_9; + RHS9 += f7_9 * RHS7; + const double f8 = 1.0 / m_A33; + const double f8_9 = -f8 * m_A39; + m_A40 += m_A34 * f8_9; RHS9 += f8_9 * RHS8; - V[9] = RHS9 / m_A29; + const double f9 = 1.0 / m_A40; + const double f9_10 = -f9 * m_A44; + m_A45 += m_A41 * f9_10; + RHS10 += f9_10 * RHS9; + const double f10 = 1.0 / m_A45; + const double f10_11 = -f10 * m_A48; + m_A49 += m_A46 * f10_11; + RHS11 += f10_11 * RHS10; + V[11] = RHS11 / m_A49; + double tmp10 = 0.0; + tmp10 += m_A46 * V[11]; + V[10] = (RHS10 - tmp10) / m_A45; + double tmp9 = 0.0; + tmp9 += m_A41 * V[10]; + V[9] = (RHS9 - tmp9) / m_A40; double tmp8 = 0.0; - tmp8 += m_A26 * V[9]; - V[8] = (RHS8 - tmp8) / m_A25; + tmp8 += m_A34 * V[9]; + V[8] = (RHS8 - tmp8) / m_A33; double tmp7 = 0.0; - tmp7 += m_A19 * V[8]; - V[7] = (RHS7 - tmp7) / m_A18; + tmp7 += m_A27 * V[8]; + tmp7 += m_A28 * V[9]; + V[7] = (RHS7 - tmp7) / m_A26; double tmp6 = 0.0; - V[6] = (RHS6 - tmp6) / m_A16; + tmp6 += m_A20 * V[7]; + tmp6 += m_A21 * V[8]; + tmp6 += m_A22 * V[9]; + V[6] = (RHS6 - tmp6) / m_A19; double tmp5 = 0.0; - tmp5 += m_A12 * V[8]; - tmp5 += m_A13 * V[9]; - V[5] = (RHS5 - tmp5) / m_A11; + tmp5 += m_A15 * V[10]; + tmp5 += m_A16 * V[11]; + V[5] = (RHS5 - tmp5) / m_A14; double tmp4 = 0.0; - tmp4 += m_A9 * V[8]; - V[4] = (RHS4 - tmp4) / m_A8; + tmp4 += m_A12 * V[9]; + tmp4 += m_A13 * V[10]; + V[4] = (RHS4 - tmp4) / m_A11; double tmp3 = 0.0; tmp3 += m_A7 * V[6]; + tmp3 += m_A8 * V[7]; + tmp3 += m_A9 * V[8]; + tmp3 += m_A10 * V[9]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; tmp2 += m_A5 * V[6]; @@ -10520,526 +14738,440 @@ const double f8 = 1.0 / m_A25; tmp1 += m_A3 * V[7]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[9]; + tmp0 += m_A1 * V[8]; V[0] = (RHS0 - tmp0) / m_A0; } -// kidniki -static void nl_gcr_b42f307001315373_21_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// dpatrol +static void nl_gcr_d229cf0026955cd3_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6]; - m_A1 = m_A1 + go[0]; - m_A2 = m_A2 + go[1]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6]; - m_A3 = gt[8] + gt[9] + gt[10]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10]; - m_A6 = gt[16] + gt[17]; - m_A7 = m_A7 + go[16]; - m_A8 = m_A8 + go[17]; - double RHS2 = Idr[16] + Idr[17]; - m_A10 = gt[24] + gt[25] + gt[26]; - m_A9 = m_A9 + go[24]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A14 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37]; - m_A12 = m_A12 + go[32]; - m_A15 = m_A15 + go[33]; - m_A13 = m_A13 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37]; - m_A20 = gt[40] + gt[41] + gt[42]; - m_A17 = m_A17 + go[40]; - m_A16 = m_A16 + go[41]; - m_A19 = m_A19 + go[42]; - double RHS5 = Idr[40] + Idr[41] + Idr[42]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A12; - m_A13 += m_A1 * f0_4; - m_A14 += m_A2 * f0_4; - RHS4 += f0_4 * RHS0; -const double f1 = 1.0 / m_A3; - const double f1_4 = -f1 * m_A13; - m_A14 += m_A4 * f1_4; - m_A15 += m_A5 * f1_4; - RHS4 += f1_4 * RHS1; - const double f1_5 = -f1 * m_A16; - m_A19 += m_A4 * f1_5; - m_A20 += m_A5 * f1_5; - RHS5 += f1_5 * RHS1; -const double f2 = 1.0 / m_A6; - const double f2_3 = -f2 * m_A9; - m_A10 += m_A7 * f2_3; - m_A11 += m_A8 * f2_3; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A9 += gt[11]; + m_A9 += gt[12]; + m_A8 += go[9]; + m_A7 += go[10]; + m_A6 += go[11]; + double RHS3 = Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 -= go[12] * *cnV[12]; + const double f0 = 1.0 / m_A0; + const double f0_3 = -f0 * m_A6; + m_A9 += m_A1 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_3 = -f1 * m_A7; + m_A9 += m_A3 * f1_3; + RHS3 += f1_3 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_3 = -f2 * m_A8; + m_A9 += m_A5 * f2_3; RHS3 += f2_3 * RHS2; - const double f2_5 = -f2 * m_A17; - m_A18 += m_A7 * f2_5; - m_A20 += m_A8 * f2_5; - RHS5 += f2_5 * RHS2; -const double f3 = 1.0 / m_A10; - const double f3_5 = -f3 * m_A18; - m_A20 += m_A11 * f3_5; - RHS5 += f3_5 * RHS3; -const double f4 = 1.0 / m_A14; - const double f4_5 = -f4 * m_A19; - m_A20 += m_A15 * f4_5; - RHS5 += f4_5 * RHS4; - V[5] = RHS5 / m_A20; - double tmp4 = 0.0; - tmp4 += m_A15 * V[5]; - V[4] = (RHS4 - tmp4) / m_A14; - double tmp3 = 0.0; - tmp3 += m_A11 * V[5]; - V[3] = (RHS3 - tmp3) / m_A10; + V[3] = RHS3 / m_A9; double tmp2 = 0.0; - tmp2 += m_A7 * V[3]; - tmp2 += m_A8 * V[5]; - V[2] = (RHS2 - tmp2) / m_A6; + tmp2 += m_A5 * V[3]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A4 * V[4]; - tmp1 += m_A5 * V[5]; - V[1] = (RHS1 - tmp1) / m_A3; + tmp1 += m_A3 * V[3]; + V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[1]; - tmp0 += m_A2 * V[4]; + tmp0 += m_A1 * V[3]; V[0] = (RHS0 - tmp0) / m_A0; } -// pongf -static void nl_gcr_b8e1f7dd43c1da70_35_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// 280zzzap +static void nl_gcr_d5f69adb177fea36_31_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3]; - m_A2 = gt[8] + gt[9] + gt[10] + gt[11]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11]; - m_A4 = gt[16] + gt[17] + gt[18]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28]; - m_A9 = m_A9 + go[24]; - m_A7 = m_A7 + go[25]; - m_A7 = m_A7 + go[26]; - m_A7 = m_A7 + go[27]; - m_A8 = m_A8 + go[28]; - double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28]; - m_A11 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38]; - m_A13 = m_A13 + go[32]; - m_A12 = m_A12 + go[33]; - m_A10 = m_A10 + go[34]; - double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38]; - m_A15 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44]; - m_A17 = m_A17 + go[40]; - m_A14 = m_A14 + go[41]; - m_A14 = m_A14 + go[42]; - m_A14 = m_A14 + go[43]; - double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] - go[44] * *cnV[44]; - m_A22 = gt[48] + gt[49] + gt[50] + gt[51]; - m_A19 = m_A19 + go[48]; - m_A20 = m_A20 + go[49]; - m_A18 = m_A18 + go[50]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] - go[51] * *cnV[51]; - m_A28 = gt[56] + gt[57] + gt[58]; - m_A29 = m_A29 + go[56]; - m_A25 = m_A25 + go[57]; - m_A26 = m_A26 + go[58]; - double RHS7 = Idr[56] + Idr[57] + Idr[58]; - m_A34 = gt[64] + gt[65] + gt[66]; - m_A31 = m_A31 + go[64]; - m_A30 = m_A30 + go[65]; - m_A33 = m_A33 + go[66]; - double RHS8 = Idr[64] + Idr[65] + Idr[66]; -const double f0 = 1.0 / m_A0; - const double f0_4 = -f0 * m_A10; - m_A11 += m_A1 * f0_4; - RHS4 += f0_4 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_6 = -f1 * m_A18; - m_A22 += m_A3 * f1_6; - RHS6 += f1_6 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_7 = -f2 * m_A25; - m_A28 += m_A5 * f2_7; - RHS7 += f2_7 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_5 = -f3 * m_A14; - m_A15 += m_A7 * f3_5; - m_A16 += m_A8 * f3_5; - m_A17 += m_A9 * f3_5; - RHS5 += f3_5 * RHS3; - const double f3_6 = -f3 * m_A19; - m_A21 += m_A7 * f3_6; - m_A22 += m_A8 * f3_6; - m_A24 += m_A9 * f3_6; - RHS6 += f3_6 * RHS3; - const double f3_8 = -f3 * m_A30; - m_A31 += m_A7 * f3_8; - m_A32 += m_A8 * f3_8; - m_A34 += m_A9 * f3_8; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A2 += gt[9]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 += Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + RHS1 -= go[7] * *cnV[7]; + RHS1 -= go[8] * *cnV[8]; + RHS1 -= go[9] * *cnV[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A4 += gt[12]; + m_A5 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A7 += go[13]; + double RHS3 = Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[14] * *cnV[14]; + m_A9 += gt[15]; + m_A9 += gt[16]; + m_A9 += gt[17]; + m_A9 += gt[18]; + m_A9 += gt[19]; + m_A9 += gt[20]; + m_A8 += go[15]; + m_A11 += go[16]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 -= go[17] * *cnV[17]; + RHS4 -= go[18] * *cnV[18]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + m_A13 += gt[21]; + m_A13 += gt[22]; + m_A14 += go[21]; + m_A12 += go[22]; + double RHS5 = Idr[21]; + RHS5 += Idr[22]; + m_A16 += gt[23]; + m_A16 += gt[24]; + m_A16 += gt[25]; + m_A16 += gt[26]; + m_A15 += go[23]; + m_A17 += go[24]; + double RHS6 = Idr[23]; + RHS6 += Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 -= go[25] * *cnV[25]; + RHS6 -= go[26] * *cnV[26]; + m_A20 += gt[27]; + m_A20 += gt[28]; + m_A20 += gt[29]; + m_A20 += gt[30]; + m_A21 += go[27]; + m_A22 += go[28]; + m_A18 += go[29]; + m_A19 += go[30]; + double RHS7 = Idr[27]; + RHS7 += Idr[28]; + RHS7 += Idr[29]; + RHS7 += Idr[30]; + m_A25 += gt[31]; + m_A25 += gt[32]; + m_A24 += go[31]; + m_A23 += go[32]; + double RHS8 = Idr[31]; + RHS8 += Idr[32]; + m_A30 += gt[33]; + m_A30 += gt[34]; + m_A30 += gt[35]; + m_A26 += go[33]; + m_A28 += go[34]; + double RHS9 = Idr[33]; + RHS9 += Idr[34]; + RHS9 += Idr[35]; + RHS9 -= go[35] * *cnV[35]; + const double f0 = 1.0 / m_A0; + const double f0_6 = -f0 * m_A15; + m_A17 += m_A1 * f0_6; + RHS6 += f0_6 * RHS0; + const double f0_7 = -f0 * m_A18; + m_A20 += m_A1 * f0_7; + RHS7 += f0_7 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A8; + m_A10 += m_A3 * f1_4; + RHS4 += f1_4 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_5 = -f2 * m_A12; + m_A13 += m_A5 * f2_5; + RHS5 += f2_5 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_7 = -f3 * m_A19; + m_A21 += m_A7 * f3_7; + RHS7 += f3_7 * RHS3; + const double f3_8 = -f3 * m_A23; + m_A25 += m_A7 * f3_8; RHS8 += f3_8 * RHS3; -const double f4 = 1.0 / m_A11; - const double f4_6 = -f4 * m_A20; - m_A22 += m_A12 * f4_6; - m_A23 += m_A13 * f4_6; - RHS6 += f4_6 * RHS4; - const double f4_7 = -f4 * m_A26; - m_A27 += m_A12 * f4_7; - m_A28 += m_A13 * f4_7; - RHS7 += f4_7 * RHS4; -const double f5 = 1.0 / m_A15; - const double f5_6 = -f5 * m_A21; - m_A22 += m_A16 * f5_6; - m_A24 += m_A17 * f5_6; - RHS6 += f5_6 * RHS5; - const double f5_8 = -f5 * m_A31; - m_A32 += m_A16 * f5_8; - m_A34 += m_A17 * f5_8; + const double f4 = 1.0 / m_A9; + const double f4_9 = -f4 * m_A26; + m_A27 += m_A10 * f4_9; + m_A30 += m_A11 * f4_9; + RHS9 += f4_9 * RHS4; + const double f5 = 1.0 / m_A13; + const double f5_8 = -f5 * m_A24; + m_A25 += m_A14 * f5_8; RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A22; - const double f6_7 = -f6 * m_A27; - m_A28 += m_A23 * f6_7; - m_A29 += m_A24 * f6_7; - RHS7 += f6_7 * RHS6; - const double f6_8 = -f6 * m_A32; - m_A33 += m_A23 * f6_8; - m_A34 += m_A24 * f6_8; - RHS8 += f6_8 * RHS6; -const double f7 = 1.0 / m_A28; - const double f7_8 = -f7 * m_A33; - m_A34 += m_A29 * f7_8; - RHS8 += f7_8 * RHS7; - V[8] = RHS8 / m_A34; + const double f6 = 1.0 / m_A16; + const double f6_9 = -f6 * m_A27; + m_A28 += m_A17 * f6_9; + RHS9 += f6_9 * RHS6; + const double f7 = 1.0 / m_A20; + const double f7_9 = -f7 * m_A28; + m_A29 += m_A21 * f7_9; + m_A30 += m_A22 * f7_9; + RHS9 += f7_9 * RHS7; + const double f8 = 1.0 / m_A25; + const double f8_9 = -f8 * m_A29; + RHS9 += f8_9 * RHS8; + V[9] = RHS9 / m_A30; + double tmp8 = 0.0; + V[8] = (RHS8 - tmp8) / m_A25; double tmp7 = 0.0; - tmp7 += m_A29 * V[8]; - V[7] = (RHS7 - tmp7) / m_A28; + tmp7 += m_A21 * V[8]; + tmp7 += m_A22 * V[9]; + V[7] = (RHS7 - tmp7) / m_A20; double tmp6 = 0.0; - tmp6 += m_A23 * V[7]; - tmp6 += m_A24 * V[8]; - V[6] = (RHS6 - tmp6) / m_A22; + tmp6 += m_A17 * V[7]; + V[6] = (RHS6 - tmp6) / m_A16; double tmp5 = 0.0; - tmp5 += m_A16 * V[6]; - tmp5 += m_A17 * V[8]; - V[5] = (RHS5 - tmp5) / m_A15; + tmp5 += m_A14 * V[8]; + V[5] = (RHS5 - tmp5) / m_A13; double tmp4 = 0.0; - tmp4 += m_A12 * V[6]; - tmp4 += m_A13 * V[7]; - V[4] = (RHS4 - tmp4) / m_A11; + tmp4 += m_A10 * V[6]; + tmp4 += m_A11 * V[9]; + V[4] = (RHS4 - tmp4) / m_A9; double tmp3 = 0.0; - tmp3 += m_A7 * V[5]; - tmp3 += m_A8 * V[6]; - tmp3 += m_A9 * V[8]; + tmp3 += m_A7 * V[8]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[7]; + tmp2 += m_A5 * V[5]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; tmp1 += m_A3 * V[6]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[4]; + tmp0 += m_A1 * V[7]; V[0] = (RHS0 - tmp0) / m_A0; } -// gtrak10 -static void nl_gcr_b9ccfa3d1681baf3_43_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// gamemachine +static void nl_gcr_ddffc2781d05acf_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[14] + gt[15] + gt[16]; - m_A3 = m_A3 + go[14]; - double RHS1 = Idr[14] + Idr[15] + Idr[16] - go[15] * *cnV[15] - go[16] * *cnV[16]; - m_A4 = gt[28] + gt[29] + gt[30]; - m_A5 = m_A5 + go[28]; - double RHS2 = Idr[28] + Idr[29] + Idr[30] - go[29] * *cnV[29] - go[30] * *cnV[30]; - m_A6 = gt[42] + gt[43] + gt[44]; - m_A7 = m_A7 + go[42]; - double RHS3 = Idr[42] + Idr[43] + Idr[44] - go[43] * *cnV[43] - go[44] * *cnV[44]; - m_A8 = gt[56] + gt[57] + gt[58]; - m_A9 = m_A9 + go[56]; - double RHS4 = Idr[56] + Idr[57] + Idr[58] - go[57] * *cnV[57] - go[58] * *cnV[58]; - m_A10 = gt[70] + gt[71] + gt[72]; - m_A11 = m_A11 + go[70]; - double RHS5 = Idr[70] + Idr[71] + Idr[72] - go[71] * *cnV[71] - go[72] * *cnV[72]; - m_A12 = gt[84] + gt[85] + gt[86]; - m_A13 = m_A13 + go[84]; - double RHS6 = Idr[84] + Idr[85] + Idr[86] - go[85] * *cnV[85] - go[86] * *cnV[86]; - m_A14 = gt[98] + gt[99] + gt[100]; - m_A15 = m_A15 + go[98]; - double RHS7 = Idr[98] + Idr[99] + Idr[100] - go[99] * *cnV[99] - go[100] * *cnV[100]; - m_A16 = gt[112] + gt[113] + gt[114]; - m_A17 = m_A17 + go[112]; - double RHS8 = Idr[112] + Idr[113] + Idr[114] - go[113] * *cnV[113] - go[114] * *cnV[114]; - m_A18 = gt[126] + gt[127] + gt[128]; - m_A19 = m_A19 + go[126]; - double RHS9 = Idr[126] + Idr[127] + Idr[128] - go[127] * *cnV[127] - go[128] * *cnV[128]; - m_A20 = gt[140] + gt[141] + gt[142]; - m_A21 = m_A21 + go[140]; - double RHS10 = Idr[140] + Idr[141] + Idr[142] - go[141] * *cnV[141] - go[142] * *cnV[142]; - m_A22 = gt[154] + gt[155] + gt[156]; - m_A23 = m_A23 + go[154]; - double RHS11 = Idr[154] + Idr[155] + Idr[156] - go[155] * *cnV[155] - go[156] * *cnV[156]; - m_A25 = gt[168] + gt[169] + gt[170]; - m_A26 = m_A26 + go[168]; - m_A24 = m_A24 + go[169]; - double RHS12 = Idr[168] + Idr[169] + Idr[170] - go[170] * *cnV[170]; - m_A30 = gt[182] + gt[183] + gt[184] + gt[185] + gt[186] + gt[187] + gt[188]; - m_A29 = m_A29 + go[182]; - m_A28 = m_A28 + go[183]; - m_A27 = m_A27 + go[184]; - m_A31 = m_A31 + go[185]; - m_A31 = m_A31 + go[186]; - double RHS13 = Idr[182] + Idr[183] + Idr[184] + Idr[185] + Idr[186] + Idr[187] + Idr[188] - go[187] * *cnV[187] - go[188] * *cnV[188]; - m_A42 = gt[196] + gt[197] + gt[198] + gt[199] + gt[200] + gt[201] + gt[202] + gt[203] + gt[204] + gt[205] + gt[206] + gt[207] + gt[208]; - m_A41 = m_A41 + go[196]; - m_A41 = m_A41 + go[197]; - m_A39 = m_A39 + go[198]; - m_A38 = m_A38 + go[199]; - m_A37 = m_A37 + go[200]; - m_A36 = m_A36 + go[201]; - m_A35 = m_A35 + go[202]; - m_A34 = m_A34 + go[203]; - m_A33 = m_A33 + go[204]; - m_A32 = m_A32 + go[205]; - m_A40 = m_A40 + go[206]; - double RHS14 = Idr[196] + Idr[197] + Idr[198] + Idr[199] + Idr[200] + Idr[201] + Idr[202] + Idr[203] + Idr[204] + Idr[205] + Idr[206] + Idr[207] + Idr[208] - go[207] * *cnV[207] - go[208] * *cnV[208]; -const double f0 = 1.0 / m_A0; - const double f0_12 = -f0 * m_A24; - m_A25 += m_A1 * f0_12; - RHS12 += f0_12 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_14 = -f1 * m_A32; - m_A42 += m_A3 * f1_14; - RHS14 += f1_14 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_14 = -f2 * m_A33; - m_A42 += m_A5 * f2_14; - RHS14 += f2_14 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_14 = -f3 * m_A34; - m_A42 += m_A7 * f3_14; - RHS14 += f3_14 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_14 = -f4 * m_A35; - m_A42 += m_A9 * f4_14; - RHS14 += f4_14 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_14 = -f5 * m_A36; - m_A42 += m_A11 * f5_14; - RHS14 += f5_14 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_14 = -f6 * m_A37; - m_A42 += m_A13 * f6_14; - RHS14 += f6_14 * RHS6; -const double f7 = 1.0 / m_A14; - const double f7_14 = -f7 * m_A38; - m_A42 += m_A15 * f7_14; - RHS14 += f7_14 * RHS7; -const double f8 = 1.0 / m_A16; - const double f8_14 = -f8 * m_A39; - m_A42 += m_A17 * f8_14; - RHS14 += f8_14 * RHS8; -const double f9 = 1.0 / m_A18; - const double f9_13 = -f9 * m_A27; - m_A30 += m_A19 * f9_13; - RHS13 += f9_13 * RHS9; -const double f10 = 1.0 / m_A20; - const double f10_13 = -f10 * m_A28; - m_A30 += m_A21 * f10_13; - RHS13 += f10_13 * RHS10; -const double f11 = 1.0 / m_A22; - const double f11_13 = -f11 * m_A29; - m_A30 += m_A23 * f11_13; - RHS13 += f11_13 * RHS11; -const double f12 = 1.0 / m_A25; - const double f12_14 = -f12 * m_A40; - m_A42 += m_A26 * f12_14; - RHS14 += f12_14 * RHS12; -const double f13 = 1.0 / m_A30; - const double f13_14 = -f13 * m_A41; - m_A42 += m_A31 * f13_14; - RHS14 += f13_14 * RHS13; - V[14] = RHS14 / m_A42; - double tmp13 = 0.0; - tmp13 += m_A31 * V[14]; - V[13] = (RHS13 - tmp13) / m_A30; - double tmp12 = 0.0; - tmp12 += m_A26 * V[14]; - V[12] = (RHS12 - tmp12) / m_A25; - double tmp11 = 0.0; - tmp11 += m_A23 * V[13]; - V[11] = (RHS11 - tmp11) / m_A22; - double tmp10 = 0.0; - tmp10 += m_A21 * V[13]; - V[10] = (RHS10 - tmp10) / m_A20; - double tmp9 = 0.0; - tmp9 += m_A19 * V[13]; - V[9] = (RHS9 - tmp9) / m_A18; - double tmp8 = 0.0; - tmp8 += m_A17 * V[14]; - V[8] = (RHS8 - tmp8) / m_A16; - double tmp7 = 0.0; - tmp7 += m_A15 * V[14]; - V[7] = (RHS7 - tmp7) / m_A14; - double tmp6 = 0.0; - tmp6 += m_A13 * V[14]; - V[6] = (RHS6 - tmp6) / m_A12; - double tmp5 = 0.0; - tmp5 += m_A11 * V[14]; - V[5] = (RHS5 - tmp5) / m_A10; - double tmp4 = 0.0; - tmp4 += m_A9 * V[14]; - V[4] = (RHS4 - tmp4) / m_A8; - double tmp3 = 0.0; - tmp3 += m_A7 * V[14]; - V[3] = (RHS3 - tmp3) / m_A6; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 -= go[4] * *cnV[4]; + RHS1 -= go[5] * *cnV[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A5 += go[6]; + double RHS2 = Idr[6]; + RHS2 += Idr[7]; + RHS2 -= go[7] * *cnV[7]; + m_A9 += gt[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A9 += gt[11]; + m_A9 += gt[12]; + m_A8 += go[8]; + m_A7 += go[9]; + m_A6 += go[10]; + double RHS3 = Idr[8]; + RHS3 += Idr[9]; + RHS3 += Idr[10]; + RHS3 += Idr[11]; + RHS3 += Idr[12]; + RHS3 -= go[11] * *cnV[11]; + RHS3 -= go[12] * *cnV[12]; + const double f0 = 1.0 / m_A0; + const double f0_3 = -f0 * m_A6; + m_A9 += m_A1 * f0_3; + RHS3 += f0_3 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_3 = -f1 * m_A7; + m_A9 += m_A3 * f1_3; + RHS3 += f1_3 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_3 = -f2 * m_A8; + m_A9 += m_A5 * f2_3; + RHS3 += f2_3 * RHS2; + V[3] = RHS3 / m_A9; double tmp2 = 0.0; - tmp2 += m_A5 * V[14]; + tmp2 += m_A5 * V[3]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[14]; + tmp1 += m_A3 * V[3]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[12]; + tmp0 += m_A1 * V[3]; V[0] = (RHS0 - tmp0) / m_A0; } // gamemachine -static void nl_gcr_d028b2a263a6b4a7_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +static void nl_gcr_df3a545642cc0a22_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - m_A1 = m_A1 + go[1]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[2] * *cnV[2]; - m_A2 = gt[6] + gt[7] + gt[8] + gt[9]; - m_A3 = m_A3 + go[6]; - m_A3 = m_A3 + go[7]; - double RHS1 = Idr[6] + Idr[7] + Idr[8] + Idr[9] - go[8] * *cnV[8] - go[9] * *cnV[9]; - m_A6 = gt[12] + gt[13] + gt[14] + gt[15] + gt[16] + gt[17]; - m_A5 = m_A5 + go[12]; - m_A5 = m_A5 + go[13]; - m_A4 = m_A4 + go[14]; - m_A4 = m_A4 + go[15]; - double RHS2 = Idr[12] + Idr[13] + Idr[14] + Idr[15] + Idr[16] + Idr[17] - go[16] * *cnV[16] - go[17] * *cnV[17]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + m_A1 += go[1]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A3 += go[3]; + m_A3 += go[4]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[5] * *cnV[5]; + RHS1 -= go[6] * *cnV[6]; + m_A6 += gt[7]; + m_A6 += gt[8]; + m_A6 += gt[9]; + m_A6 += gt[10]; + m_A6 += gt[11]; + m_A6 += gt[12]; + m_A5 += go[7]; + m_A5 += go[8]; + m_A4 += go[9]; + m_A4 += go[10]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + const double f0 = 1.0 / m_A0; const double f0_2 = -f0 * m_A4; m_A6 += m_A1 * f0_2; RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_2 = -f1 * m_A5; m_A6 += m_A3 * f1_2; RHS2 += f1_2 * RHS1; @@ -11053,409 +15185,731 @@ const double f1 = 1.0 / m_A2; } // zac1b11142 -static void nl_gcr_dded752996a524fc_178_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +static void nl_gcr_e3e057bb1961a530_178_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); -double m_A95(0.0); -double m_A96(0.0); -double m_A97(0.0); -double m_A98(0.0); -double m_A99(0.0); -double m_A100(0.0); -double m_A101(0.0); -double m_A102(0.0); -double m_A103(0.0); -double m_A104(0.0); -double m_A105(0.0); -double m_A106(0.0); -double m_A107(0.0); -double m_A108(0.0); -double m_A109(0.0); -double m_A110(0.0); -double m_A111(0.0); -double m_A112(0.0); -double m_A113(0.0); -double m_A114(0.0); -double m_A115(0.0); -double m_A116(0.0); -double m_A117(0.0); -double m_A118(0.0); -double m_A119(0.0); -double m_A120(0.0); -double m_A121(0.0); -double m_A122(0.0); -double m_A123(0.0); -double m_A124(0.0); -double m_A125(0.0); -double m_A126(0.0); -double m_A127(0.0); -double m_A128(0.0); -double m_A129(0.0); -double m_A130(0.0); -double m_A131(0.0); -double m_A132(0.0); -double m_A133(0.0); -double m_A134(0.0); -double m_A135(0.0); -double m_A136(0.0); -double m_A137(0.0); -double m_A138(0.0); -double m_A139(0.0); -double m_A140(0.0); -double m_A141(0.0); -double m_A142(0.0); -double m_A143(0.0); -double m_A144(0.0); -double m_A145(0.0); -double m_A146(0.0); -double m_A147(0.0); -double m_A148(0.0); -double m_A149(0.0); -double m_A150(0.0); -double m_A151(0.0); -double m_A152(0.0); -double m_A153(0.0); -double m_A154(0.0); -double m_A155(0.0); -double m_A156(0.0); -double m_A157(0.0); -double m_A158(0.0); -double m_A159(0.0); -double m_A160(0.0); -double m_A161(0.0); -double m_A162(0.0); -double m_A163(0.0); -double m_A164(0.0); -double m_A165(0.0); -double m_A166(0.0); -double m_A167(0.0); -double m_A168(0.0); -double m_A169(0.0); -double m_A170(0.0); -double m_A171(0.0); -double m_A172(0.0); -double m_A173(0.0); -double m_A174(0.0); -double m_A175(0.0); -double m_A176(0.0); -double m_A177(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[10] + gt[11]; - m_A3 = m_A3 + go[10]; - double RHS1 = Idr[10] + Idr[11] - go[11] * *cnV[11]; - m_A4 = gt[20] + gt[21]; - m_A6 = m_A6 + go[20]; - m_A5 = m_A5 + go[21]; - double RHS2 = Idr[20] + Idr[21]; - m_A7 = gt[30] + gt[31]; - m_A8 = m_A8 + go[30]; - double RHS3 = Idr[30] + Idr[31] - go[31] * *cnV[31]; - m_A9 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46]; - m_A10 = m_A10 + go[40]; - double RHS4 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[41] * *cnV[41] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46]; - m_A11 = gt[50] + gt[51]; - m_A12 = m_A12 + go[50]; - double RHS5 = Idr[50] + Idr[51] - go[51] * *cnV[51]; - m_A13 = gt[60] + gt[61]; - m_A14 = m_A14 + go[60]; - double RHS6 = Idr[60] + Idr[61] - go[61] * *cnV[61]; - m_A15 = gt[70] + gt[71]; - m_A16 = m_A16 + go[70]; - double RHS7 = Idr[70] + Idr[71] - go[71] * *cnV[71]; - m_A17 = gt[80] + gt[81]; - m_A18 = m_A18 + go[80]; - double RHS8 = Idr[80] + Idr[81] - go[81] * *cnV[81]; - m_A19 = gt[90] + gt[91]; - m_A20 = m_A20 + go[90]; - m_A21 = m_A21 + go[91]; - double RHS9 = Idr[90] + Idr[91]; - m_A22 = gt[100] + gt[101] + gt[102] + gt[103]; - m_A23 = m_A23 + go[100]; - m_A23 = m_A23 + go[101]; - double RHS10 = Idr[100] + Idr[101] + Idr[102] + Idr[103] - go[102] * *cnV[102] - go[103] * *cnV[103]; - m_A24 = gt[110] + gt[111] + gt[112] + gt[113]; - m_A25 = m_A25 + go[110]; - m_A25 = m_A25 + go[111]; - double RHS11 = Idr[110] + Idr[111] + Idr[112] + Idr[113] - go[112] * *cnV[112] - go[113] * *cnV[113]; - m_A26 = gt[120] + gt[121] + gt[122] + gt[123]; - m_A27 = m_A27 + go[120]; - m_A27 = m_A27 + go[121]; - double RHS12 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123]; - m_A28 = gt[130] + gt[131]; - m_A29 = m_A29 + go[130]; - double RHS13 = Idr[130] + Idr[131] - go[131] * *cnV[131]; - m_A30 = gt[140] + gt[141] + gt[142]; - m_A31 = m_A31 + go[140]; - double RHS14 = Idr[140] + Idr[141] + Idr[142] - go[141] * *cnV[141] - go[142] * *cnV[142]; - m_A32 = gt[150] + gt[151] + gt[152]; - m_A33 = m_A33 + go[150]; - double RHS15 = Idr[150] + Idr[151] + Idr[152] - go[151] * *cnV[151] - go[152] * *cnV[152]; - m_A34 = gt[160] + gt[161] + gt[162]; - m_A35 = m_A35 + go[160]; - double RHS16 = Idr[160] + Idr[161] + Idr[162] - go[161] * *cnV[161] - go[162] * *cnV[162]; - m_A36 = gt[170] + gt[171]; - m_A37 = m_A37 + go[170]; - double RHS17 = Idr[170] + Idr[171] - go[171] * *cnV[171]; - m_A38 = gt[180] + gt[181] + gt[182] + gt[183]; - m_A39 = m_A39 + go[180]; - double RHS18 = Idr[180] + Idr[181] + Idr[182] + Idr[183] - go[181] * *cnV[181] - go[182] * *cnV[182] - go[183] * *cnV[183]; - m_A40 = gt[190] + gt[191] + gt[192] + gt[193] + gt[194]; - m_A41 = m_A41 + go[190]; - double RHS19 = Idr[190] + Idr[191] + Idr[192] + Idr[193] + Idr[194] - go[191] * *cnV[191] - go[192] * *cnV[192] - go[193] * *cnV[193] - go[194] * *cnV[194]; - m_A42 = gt[200] + gt[201] + gt[202] + gt[203] + gt[204] + gt[205] + gt[206]; - m_A43 = m_A43 + go[200]; - double RHS20 = Idr[200] + Idr[201] + Idr[202] + Idr[203] + Idr[204] + Idr[205] + Idr[206] - go[201] * *cnV[201] - go[202] * *cnV[202] - go[203] * *cnV[203] - go[204] * *cnV[204] - go[205] * *cnV[205] - go[206] * *cnV[206]; - m_A44 = gt[210] + gt[211] + gt[212]; - m_A45 = m_A45 + go[210]; - double RHS21 = Idr[210] + Idr[211] + Idr[212] - go[211] * *cnV[211] - go[212] * *cnV[212]; - m_A46 = gt[220] + gt[221]; - m_A48 = m_A48 + go[220]; - m_A47 = m_A47 + go[221]; - double RHS22 = Idr[220] + Idr[221]; - m_A49 = gt[230] + gt[231] + gt[232]; - m_A51 = m_A51 + go[230]; - m_A50 = m_A50 + go[231]; - double RHS23 = Idr[230] + Idr[231] + Idr[232] - go[232] * *cnV[232]; - m_A52 = gt[240] + gt[241] + gt[242]; - m_A53 = m_A53 + go[240]; - double RHS24 = Idr[240] + Idr[241] + Idr[242] - go[241] * *cnV[241] - go[242] * *cnV[242]; - m_A54 = gt[250] + gt[251] + gt[252] + gt[253]; - m_A55 = m_A55 + go[250]; - m_A55 = m_A55 + go[251]; - m_A56 = m_A56 + go[252]; - double RHS25 = Idr[250] + Idr[251] + Idr[252] + Idr[253] - go[253] * *cnV[253]; - m_A60 = gt[260] + gt[261] + gt[262]; - m_A59 = m_A59 + go[260]; - m_A58 = m_A58 + go[261]; - m_A57 = m_A57 + go[262]; - double RHS26 = Idr[260] + Idr[261] + Idr[262]; - m_A62 = gt[270] + gt[271]; - m_A63 = m_A63 + go[270]; - m_A64 = m_A64 + go[271]; - double RHS27 = Idr[270] + Idr[271]; - m_A65 = gt[280] + gt[281] + gt[282]; - m_A66 = m_A66 + go[280]; - double RHS28 = Idr[280] + Idr[281] + Idr[282] - go[281] * *cnV[281] - go[282] * *cnV[282]; - m_A67 = gt[290] + gt[291] + gt[292]; - m_A69 = m_A69 + go[290]; - m_A68 = m_A68 + go[291]; - double RHS29 = Idr[290] + Idr[291] + Idr[292] - go[292] * *cnV[292]; - m_A70 = gt[300] + gt[301]; - m_A72 = m_A72 + go[300]; - m_A71 = m_A71 + go[301]; - double RHS30 = Idr[300] + Idr[301]; - m_A74 = gt[310] + gt[311]; - m_A73 = m_A73 + go[310]; - double RHS31 = Idr[310] + Idr[311] - go[311] * *cnV[311]; - m_A82 = gt[320] + gt[321] + gt[322] + gt[323] + gt[324] + gt[325] + gt[326] + gt[327] + gt[328] + gt[329]; - m_A81 = m_A81 + go[320]; - m_A80 = m_A80 + go[321]; - m_A79 = m_A79 + go[322]; - m_A78 = m_A78 + go[323]; - m_A78 = m_A78 + go[324]; - m_A77 = m_A77 + go[325]; - m_A77 = m_A77 + go[326]; - m_A76 = m_A76 + go[327]; - m_A76 = m_A76 + go[328]; - m_A75 = m_A75 + go[329]; - double RHS32 = Idr[320] + Idr[321] + Idr[322] + Idr[323] + Idr[324] + Idr[325] + Idr[326] + Idr[327] + Idr[328] + Idr[329]; - m_A86 = gt[330] + gt[331] + gt[332] + gt[333] + gt[334] + gt[335] + gt[336]; - m_A85 = m_A85 + go[330]; - m_A84 = m_A84 + go[331]; - double RHS33 = Idr[330] + Idr[331] + Idr[332] + Idr[333] + Idr[334] + Idr[335] + Idr[336] - go[332] * *cnV[332] - go[333] * *cnV[333] - go[334] * *cnV[334] - go[335] * *cnV[335] - go[336] * *cnV[336]; - m_A90 = gt[340] + gt[341]; - m_A91 = m_A91 + go[340]; - m_A88 = m_A88 + go[341]; - double RHS34 = Idr[340] + Idr[341]; - m_A94 = gt[350] + gt[351] + gt[352] + gt[353] + gt[354]; - m_A92 = m_A92 + go[350]; - m_A93 = m_A93 + go[351]; - m_A93 = m_A93 + go[352]; - double RHS35 = Idr[350] + Idr[351] + Idr[352] + Idr[353] + Idr[354] - go[353] * *cnV[353] - go[354] * *cnV[354]; - m_A97 = gt[360] + gt[361]; - m_A98 = m_A98 + go[360]; - m_A96 = m_A96 + go[361]; - double RHS36 = Idr[360] + Idr[361]; - m_A100 = gt[370] + gt[371]; - m_A99 = m_A99 + go[370]; - m_A102 = m_A102 + go[371]; - double RHS37 = Idr[370] + Idr[371]; - m_A105 = gt[380] + gt[381]; - m_A107 = m_A107 + go[380]; - m_A103 = m_A103 + go[381]; - double RHS38 = Idr[380] + Idr[381]; - m_A111 = gt[390] + gt[391] + gt[392]; - m_A109 = m_A109 + go[390]; - m_A108 = m_A108 + go[391]; - double RHS39 = Idr[390] + Idr[391] + Idr[392] - go[392] * *cnV[392]; - m_A116 = gt[400] + gt[401] + gt[402]; - m_A114 = m_A114 + go[400]; - m_A113 = m_A113 + go[401]; - m_A118 = m_A118 + go[402]; - double RHS40 = Idr[400] + Idr[401] + Idr[402]; - m_A120 = gt[410] + gt[411] + gt[412] + gt[413]; - m_A121 = m_A121 + go[410]; - m_A119 = m_A119 + go[411]; - double RHS41 = Idr[410] + Idr[411] + Idr[412] + Idr[413] - go[412] * *cnV[412] - go[413] * *cnV[413]; - m_A124 = gt[420] + gt[421]; - m_A123 = m_A123 + go[420]; - m_A122 = m_A122 + go[421]; - double RHS42 = Idr[420] + Idr[421]; - m_A131 = gt[430] + gt[431] + gt[432] + gt[433] + gt[434] + gt[435]; - m_A132 = m_A132 + go[430]; - m_A132 = m_A132 + go[431]; - m_A129 = m_A129 + go[432]; - m_A128 = m_A128 + go[433]; - m_A127 = m_A127 + go[434]; - m_A126 = m_A126 + go[435]; - double RHS43 = Idr[430] + Idr[431] + Idr[432] + Idr[433] + Idr[434] + Idr[435]; - m_A141 = gt[440] + gt[441] + gt[442] + gt[443] + gt[444] + gt[445] + gt[446]; - m_A136 = m_A136 + go[440]; - m_A135 = m_A135 + go[441]; - m_A134 = m_A134 + go[442]; - m_A133 = m_A133 + go[443]; - m_A140 = m_A140 + go[444]; - m_A137 = m_A137 + go[445]; - m_A139 = m_A139 + go[446]; - double RHS44 = Idr[440] + Idr[441] + Idr[442] + Idr[443] + Idr[444] + Idr[445] + Idr[446]; - m_A143 = gt[450] + gt[451] + gt[452] + gt[453]; - m_A144 = m_A144 + go[450]; - m_A142 = m_A142 + go[451]; - double RHS45 = Idr[450] + Idr[451] + Idr[452] + Idr[453] - go[452] * *cnV[452] - go[453] * *cnV[453]; - m_A147 = gt[460] + gt[461]; - m_A145 = m_A145 + go[460]; - m_A148 = m_A148 + go[461]; - double RHS46 = Idr[460] + Idr[461]; - m_A155 = gt[470] + gt[471] + gt[472] + gt[473] + gt[474] + gt[475]; - m_A150 = m_A150 + go[470]; - m_A151 = m_A151 + go[471]; - m_A154 = m_A154 + go[472]; - m_A154 = m_A154 + go[473]; - double RHS47 = Idr[470] + Idr[471] + Idr[472] + Idr[473] + Idr[474] + Idr[475] - go[474] * *cnV[474] - go[475] * *cnV[475]; - m_A162 = gt[480] + gt[481] + gt[482] + gt[483] + gt[484]; - m_A163 = m_A163 + go[480]; - m_A159 = m_A159 + go[481]; - m_A160 = m_A160 + go[482]; - m_A158 = m_A158 + go[483]; - m_A157 = m_A157 + go[484]; - double RHS48 = Idr[480] + Idr[481] + Idr[482] + Idr[483] + Idr[484]; - m_A169 = gt[490] + gt[491] + gt[492] + gt[493]; - m_A167 = m_A167 + go[490]; - m_A164 = m_A164 + go[491]; - m_A165 = m_A165 + go[492]; - double RHS49 = Idr[490] + Idr[491] + Idr[492] + Idr[493] - go[493] * *cnV[493]; - m_A177 = gt[500] + gt[501] + gt[502] + gt[503] + gt[504]; - m_A171 = m_A171 + go[500]; - m_A172 = m_A172 + go[501]; - m_A175 = m_A175 + go[502]; - double RHS50 = Idr[500] + Idr[501] + Idr[502] + Idr[503] + Idr[504] - go[503] * *cnV[503] - go[504] * *cnV[504]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + double m_A85(0.0); + double m_A86(0.0); + double m_A87(0.0); + double m_A88(0.0); + double m_A89(0.0); + double m_A90(0.0); + double m_A91(0.0); + double m_A92(0.0); + double m_A93(0.0); + double m_A94(0.0); + double m_A95(0.0); + double m_A96(0.0); + double m_A97(0.0); + double m_A98(0.0); + double m_A99(0.0); + double m_A100(0.0); + double m_A101(0.0); + double m_A102(0.0); + double m_A103(0.0); + double m_A104(0.0); + double m_A105(0.0); + double m_A106(0.0); + double m_A107(0.0); + double m_A108(0.0); + double m_A109(0.0); + double m_A110(0.0); + double m_A111(0.0); + double m_A112(0.0); + double m_A113(0.0); + double m_A114(0.0); + double m_A115(0.0); + double m_A116(0.0); + double m_A117(0.0); + double m_A118(0.0); + double m_A119(0.0); + double m_A120(0.0); + double m_A121(0.0); + double m_A122(0.0); + double m_A123(0.0); + double m_A124(0.0); + double m_A125(0.0); + double m_A126(0.0); + double m_A127(0.0); + double m_A128(0.0); + double m_A129(0.0); + double m_A130(0.0); + double m_A131(0.0); + double m_A132(0.0); + double m_A133(0.0); + double m_A134(0.0); + double m_A135(0.0); + double m_A136(0.0); + double m_A137(0.0); + double m_A138(0.0); + double m_A139(0.0); + double m_A140(0.0); + double m_A141(0.0); + double m_A142(0.0); + double m_A143(0.0); + double m_A144(0.0); + double m_A145(0.0); + double m_A146(0.0); + double m_A147(0.0); + double m_A148(0.0); + double m_A149(0.0); + double m_A150(0.0); + double m_A151(0.0); + double m_A152(0.0); + double m_A153(0.0); + double m_A154(0.0); + double m_A155(0.0); + double m_A156(0.0); + double m_A157(0.0); + double m_A158(0.0); + double m_A159(0.0); + double m_A160(0.0); + double m_A161(0.0); + double m_A162(0.0); + double m_A163(0.0); + double m_A164(0.0); + double m_A165(0.0); + double m_A166(0.0); + double m_A167(0.0); + double m_A168(0.0); + double m_A169(0.0); + double m_A170(0.0); + double m_A171(0.0); + double m_A172(0.0); + double m_A173(0.0); + double m_A174(0.0); + double m_A175(0.0); + double m_A176(0.0); + double m_A177(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A6 += go[5]; + m_A5 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + m_A7 += gt[7]; + m_A7 += gt[8]; + m_A8 += go[7]; + double RHS3 = Idr[7]; + RHS3 += Idr[8]; + RHS3 -= go[8] * *cnV[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A9 += gt[11]; + m_A9 += gt[12]; + m_A9 += gt[13]; + m_A9 += gt[14]; + m_A9 += gt[15]; + m_A10 += go[9]; + double RHS4 = Idr[9]; + RHS4 += Idr[10]; + RHS4 += Idr[11]; + RHS4 += Idr[12]; + RHS4 += Idr[13]; + RHS4 += Idr[14]; + RHS4 += Idr[15]; + RHS4 -= go[10] * *cnV[10]; + RHS4 -= go[11] * *cnV[11]; + RHS4 -= go[12] * *cnV[12]; + RHS4 -= go[13] * *cnV[13]; + RHS4 -= go[14] * *cnV[14]; + RHS4 -= go[15] * *cnV[15]; + m_A11 += gt[16]; + m_A11 += gt[17]; + m_A12 += go[16]; + double RHS5 = Idr[16]; + RHS5 += Idr[17]; + RHS5 -= go[17] * *cnV[17]; + m_A13 += gt[18]; + m_A13 += gt[19]; + m_A14 += go[18]; + double RHS6 = Idr[18]; + RHS6 += Idr[19]; + RHS6 -= go[19] * *cnV[19]; + m_A15 += gt[20]; + m_A15 += gt[21]; + m_A16 += go[20]; + double RHS7 = Idr[20]; + RHS7 += Idr[21]; + RHS7 -= go[21] * *cnV[21]; + m_A17 += gt[22]; + m_A17 += gt[23]; + m_A18 += go[22]; + double RHS8 = Idr[22]; + RHS8 += Idr[23]; + RHS8 -= go[23] * *cnV[23]; + m_A19 += gt[24]; + m_A19 += gt[25]; + m_A20 += go[24]; + m_A21 += go[25]; + double RHS9 = Idr[24]; + RHS9 += Idr[25]; + m_A22 += gt[26]; + m_A22 += gt[27]; + m_A22 += gt[28]; + m_A22 += gt[29]; + m_A23 += go[26]; + m_A23 += go[27]; + double RHS10 = Idr[26]; + RHS10 += Idr[27]; + RHS10 += Idr[28]; + RHS10 += Idr[29]; + RHS10 -= go[28] * *cnV[28]; + RHS10 -= go[29] * *cnV[29]; + m_A24 += gt[30]; + m_A24 += gt[31]; + m_A24 += gt[32]; + m_A24 += gt[33]; + m_A25 += go[30]; + m_A25 += go[31]; + double RHS11 = Idr[30]; + RHS11 += Idr[31]; + RHS11 += Idr[32]; + RHS11 += Idr[33]; + RHS11 -= go[32] * *cnV[32]; + RHS11 -= go[33] * *cnV[33]; + m_A26 += gt[34]; + m_A26 += gt[35]; + m_A26 += gt[36]; + m_A26 += gt[37]; + m_A27 += go[34]; + m_A27 += go[35]; + double RHS12 = Idr[34]; + RHS12 += Idr[35]; + RHS12 += Idr[36]; + RHS12 += Idr[37]; + RHS12 -= go[36] * *cnV[36]; + RHS12 -= go[37] * *cnV[37]; + m_A28 += gt[38]; + m_A28 += gt[39]; + m_A29 += go[38]; + double RHS13 = Idr[38]; + RHS13 += Idr[39]; + RHS13 -= go[39] * *cnV[39]; + m_A30 += gt[40]; + m_A30 += gt[41]; + m_A30 += gt[42]; + m_A31 += go[40]; + double RHS14 = Idr[40]; + RHS14 += Idr[41]; + RHS14 += Idr[42]; + RHS14 -= go[41] * *cnV[41]; + RHS14 -= go[42] * *cnV[42]; + m_A32 += gt[43]; + m_A32 += gt[44]; + m_A32 += gt[45]; + m_A33 += go[43]; + double RHS15 = Idr[43]; + RHS15 += Idr[44]; + RHS15 += Idr[45]; + RHS15 -= go[44] * *cnV[44]; + RHS15 -= go[45] * *cnV[45]; + m_A34 += gt[46]; + m_A34 += gt[47]; + m_A34 += gt[48]; + m_A35 += go[46]; + double RHS16 = Idr[46]; + RHS16 += Idr[47]; + RHS16 += Idr[48]; + RHS16 -= go[47] * *cnV[47]; + RHS16 -= go[48] * *cnV[48]; + m_A36 += gt[49]; + m_A36 += gt[50]; + m_A37 += go[49]; + double RHS17 = Idr[49]; + RHS17 += Idr[50]; + RHS17 -= go[50] * *cnV[50]; + m_A38 += gt[51]; + m_A38 += gt[52]; + m_A38 += gt[53]; + m_A38 += gt[54]; + m_A39 += go[51]; + double RHS18 = Idr[51]; + RHS18 += Idr[52]; + RHS18 += Idr[53]; + RHS18 += Idr[54]; + RHS18 -= go[52] * *cnV[52]; + RHS18 -= go[53] * *cnV[53]; + RHS18 -= go[54] * *cnV[54]; + m_A40 += gt[55]; + m_A40 += gt[56]; + m_A40 += gt[57]; + m_A40 += gt[58]; + m_A40 += gt[59]; + m_A41 += go[55]; + double RHS19 = Idr[55]; + RHS19 += Idr[56]; + RHS19 += Idr[57]; + RHS19 += Idr[58]; + RHS19 += Idr[59]; + RHS19 -= go[56] * *cnV[56]; + RHS19 -= go[57] * *cnV[57]; + RHS19 -= go[58] * *cnV[58]; + RHS19 -= go[59] * *cnV[59]; + m_A42 += gt[60]; + m_A42 += gt[61]; + m_A42 += gt[62]; + m_A42 += gt[63]; + m_A42 += gt[64]; + m_A42 += gt[65]; + m_A42 += gt[66]; + m_A43 += go[60]; + double RHS20 = Idr[60]; + RHS20 += Idr[61]; + RHS20 += Idr[62]; + RHS20 += Idr[63]; + RHS20 += Idr[64]; + RHS20 += Idr[65]; + RHS20 += Idr[66]; + RHS20 -= go[61] * *cnV[61]; + RHS20 -= go[62] * *cnV[62]; + RHS20 -= go[63] * *cnV[63]; + RHS20 -= go[64] * *cnV[64]; + RHS20 -= go[65] * *cnV[65]; + RHS20 -= go[66] * *cnV[66]; + m_A44 += gt[67]; + m_A44 += gt[68]; + m_A44 += gt[69]; + m_A45 += go[67]; + double RHS21 = Idr[67]; + RHS21 += Idr[68]; + RHS21 += Idr[69]; + RHS21 -= go[68] * *cnV[68]; + RHS21 -= go[69] * *cnV[69]; + m_A46 += gt[70]; + m_A46 += gt[71]; + m_A48 += go[70]; + m_A47 += go[71]; + double RHS22 = Idr[70]; + RHS22 += Idr[71]; + m_A49 += gt[72]; + m_A49 += gt[73]; + m_A49 += gt[74]; + m_A51 += go[72]; + m_A50 += go[73]; + double RHS23 = Idr[72]; + RHS23 += Idr[73]; + RHS23 += Idr[74]; + RHS23 -= go[74] * *cnV[74]; + m_A52 += gt[75]; + m_A52 += gt[76]; + m_A52 += gt[77]; + m_A53 += go[75]; + double RHS24 = Idr[75]; + RHS24 += Idr[76]; + RHS24 += Idr[77]; + RHS24 -= go[76] * *cnV[76]; + RHS24 -= go[77] * *cnV[77]; + m_A54 += gt[78]; + m_A54 += gt[79]; + m_A54 += gt[80]; + m_A54 += gt[81]; + m_A55 += go[78]; + m_A55 += go[79]; + m_A56 += go[80]; + double RHS25 = Idr[78]; + RHS25 += Idr[79]; + RHS25 += Idr[80]; + RHS25 += Idr[81]; + RHS25 -= go[81] * *cnV[81]; + m_A60 += gt[82]; + m_A60 += gt[83]; + m_A60 += gt[84]; + m_A59 += go[82]; + m_A58 += go[83]; + m_A57 += go[84]; + double RHS26 = Idr[82]; + RHS26 += Idr[83]; + RHS26 += Idr[84]; + m_A62 += gt[85]; + m_A62 += gt[86]; + m_A63 += go[85]; + m_A64 += go[86]; + double RHS27 = Idr[85]; + RHS27 += Idr[86]; + m_A65 += gt[87]; + m_A65 += gt[88]; + m_A65 += gt[89]; + m_A66 += go[87]; + double RHS28 = Idr[87]; + RHS28 += Idr[88]; + RHS28 += Idr[89]; + RHS28 -= go[88] * *cnV[88]; + RHS28 -= go[89] * *cnV[89]; + m_A67 += gt[90]; + m_A67 += gt[91]; + m_A67 += gt[92]; + m_A69 += go[90]; + m_A68 += go[91]; + double RHS29 = Idr[90]; + RHS29 += Idr[91]; + RHS29 += Idr[92]; + RHS29 -= go[92] * *cnV[92]; + m_A70 += gt[93]; + m_A70 += gt[94]; + m_A72 += go[93]; + m_A71 += go[94]; + double RHS30 = Idr[93]; + RHS30 += Idr[94]; + m_A74 += gt[95]; + m_A74 += gt[96]; + m_A73 += go[95]; + double RHS31 = Idr[95]; + RHS31 += Idr[96]; + RHS31 -= go[96] * *cnV[96]; + m_A82 += gt[97]; + m_A82 += gt[98]; + m_A82 += gt[99]; + m_A82 += gt[100]; + m_A82 += gt[101]; + m_A82 += gt[102]; + m_A82 += gt[103]; + m_A82 += gt[104]; + m_A82 += gt[105]; + m_A82 += gt[106]; + m_A81 += go[97]; + m_A80 += go[98]; + m_A79 += go[99]; + m_A78 += go[100]; + m_A78 += go[101]; + m_A77 += go[102]; + m_A77 += go[103]; + m_A76 += go[104]; + m_A76 += go[105]; + m_A75 += go[106]; + double RHS32 = Idr[97]; + RHS32 += Idr[98]; + RHS32 += Idr[99]; + RHS32 += Idr[100]; + RHS32 += Idr[101]; + RHS32 += Idr[102]; + RHS32 += Idr[103]; + RHS32 += Idr[104]; + RHS32 += Idr[105]; + RHS32 += Idr[106]; + m_A86 += gt[107]; + m_A86 += gt[108]; + m_A86 += gt[109]; + m_A86 += gt[110]; + m_A86 += gt[111]; + m_A86 += gt[112]; + m_A86 += gt[113]; + m_A85 += go[107]; + m_A84 += go[108]; + double RHS33 = Idr[107]; + RHS33 += Idr[108]; + RHS33 += Idr[109]; + RHS33 += Idr[110]; + RHS33 += Idr[111]; + RHS33 += Idr[112]; + RHS33 += Idr[113]; + RHS33 -= go[109] * *cnV[109]; + RHS33 -= go[110] * *cnV[110]; + RHS33 -= go[111] * *cnV[111]; + RHS33 -= go[112] * *cnV[112]; + RHS33 -= go[113] * *cnV[113]; + m_A90 += gt[114]; + m_A90 += gt[115]; + m_A91 += go[114]; + m_A88 += go[115]; + double RHS34 = Idr[114]; + RHS34 += Idr[115]; + m_A94 += gt[116]; + m_A94 += gt[117]; + m_A94 += gt[118]; + m_A94 += gt[119]; + m_A94 += gt[120]; + m_A92 += go[116]; + m_A93 += go[117]; + m_A93 += go[118]; + double RHS35 = Idr[116]; + RHS35 += Idr[117]; + RHS35 += Idr[118]; + RHS35 += Idr[119]; + RHS35 += Idr[120]; + RHS35 -= go[119] * *cnV[119]; + RHS35 -= go[120] * *cnV[120]; + m_A97 += gt[121]; + m_A97 += gt[122]; + m_A98 += go[121]; + m_A96 += go[122]; + double RHS36 = Idr[121]; + RHS36 += Idr[122]; + m_A100 += gt[123]; + m_A100 += gt[124]; + m_A99 += go[123]; + m_A102 += go[124]; + double RHS37 = Idr[123]; + RHS37 += Idr[124]; + m_A105 += gt[125]; + m_A105 += gt[126]; + m_A107 += go[125]; + m_A103 += go[126]; + double RHS38 = Idr[125]; + RHS38 += Idr[126]; + m_A111 += gt[127]; + m_A111 += gt[128]; + m_A111 += gt[129]; + m_A109 += go[127]; + m_A108 += go[128]; + double RHS39 = Idr[127]; + RHS39 += Idr[128]; + RHS39 += Idr[129]; + RHS39 -= go[129] * *cnV[129]; + m_A116 += gt[130]; + m_A116 += gt[131]; + m_A116 += gt[132]; + m_A114 += go[130]; + m_A113 += go[131]; + m_A118 += go[132]; + double RHS40 = Idr[130]; + RHS40 += Idr[131]; + RHS40 += Idr[132]; + m_A120 += gt[133]; + m_A120 += gt[134]; + m_A120 += gt[135]; + m_A120 += gt[136]; + m_A121 += go[133]; + m_A119 += go[134]; + double RHS41 = Idr[133]; + RHS41 += Idr[134]; + RHS41 += Idr[135]; + RHS41 += Idr[136]; + RHS41 -= go[135] * *cnV[135]; + RHS41 -= go[136] * *cnV[136]; + m_A124 += gt[137]; + m_A124 += gt[138]; + m_A123 += go[137]; + m_A122 += go[138]; + double RHS42 = Idr[137]; + RHS42 += Idr[138]; + m_A131 += gt[139]; + m_A131 += gt[140]; + m_A131 += gt[141]; + m_A131 += gt[142]; + m_A131 += gt[143]; + m_A131 += gt[144]; + m_A132 += go[139]; + m_A132 += go[140]; + m_A129 += go[141]; + m_A128 += go[142]; + m_A127 += go[143]; + m_A126 += go[144]; + double RHS43 = Idr[139]; + RHS43 += Idr[140]; + RHS43 += Idr[141]; + RHS43 += Idr[142]; + RHS43 += Idr[143]; + RHS43 += Idr[144]; + m_A141 += gt[145]; + m_A141 += gt[146]; + m_A141 += gt[147]; + m_A141 += gt[148]; + m_A141 += gt[149]; + m_A141 += gt[150]; + m_A141 += gt[151]; + m_A136 += go[145]; + m_A135 += go[146]; + m_A134 += go[147]; + m_A133 += go[148]; + m_A140 += go[149]; + m_A137 += go[150]; + m_A139 += go[151]; + double RHS44 = Idr[145]; + RHS44 += Idr[146]; + RHS44 += Idr[147]; + RHS44 += Idr[148]; + RHS44 += Idr[149]; + RHS44 += Idr[150]; + RHS44 += Idr[151]; + m_A143 += gt[152]; + m_A143 += gt[153]; + m_A143 += gt[154]; + m_A143 += gt[155]; + m_A144 += go[152]; + m_A142 += go[153]; + double RHS45 = Idr[152]; + RHS45 += Idr[153]; + RHS45 += Idr[154]; + RHS45 += Idr[155]; + RHS45 -= go[154] * *cnV[154]; + RHS45 -= go[155] * *cnV[155]; + m_A147 += gt[156]; + m_A147 += gt[157]; + m_A145 += go[156]; + m_A148 += go[157]; + double RHS46 = Idr[156]; + RHS46 += Idr[157]; + m_A155 += gt[158]; + m_A155 += gt[159]; + m_A155 += gt[160]; + m_A155 += gt[161]; + m_A155 += gt[162]; + m_A155 += gt[163]; + m_A150 += go[158]; + m_A151 += go[159]; + m_A154 += go[160]; + m_A154 += go[161]; + double RHS47 = Idr[158]; + RHS47 += Idr[159]; + RHS47 += Idr[160]; + RHS47 += Idr[161]; + RHS47 += Idr[162]; + RHS47 += Idr[163]; + RHS47 -= go[162] * *cnV[162]; + RHS47 -= go[163] * *cnV[163]; + m_A162 += gt[164]; + m_A162 += gt[165]; + m_A162 += gt[166]; + m_A162 += gt[167]; + m_A162 += gt[168]; + m_A163 += go[164]; + m_A159 += go[165]; + m_A160 += go[166]; + m_A158 += go[167]; + m_A157 += go[168]; + double RHS48 = Idr[164]; + RHS48 += Idr[165]; + RHS48 += Idr[166]; + RHS48 += Idr[167]; + RHS48 += Idr[168]; + m_A169 += gt[169]; + m_A169 += gt[170]; + m_A169 += gt[171]; + m_A169 += gt[172]; + m_A167 += go[169]; + m_A164 += go[170]; + m_A165 += go[171]; + double RHS49 = Idr[169]; + RHS49 += Idr[170]; + RHS49 += Idr[171]; + RHS49 += Idr[172]; + RHS49 -= go[172] * *cnV[172]; + m_A177 += gt[173]; + m_A177 += gt[174]; + m_A177 += gt[175]; + m_A177 += gt[176]; + m_A177 += gt[177]; + m_A171 += go[173]; + m_A172 += go[174]; + m_A175 += go[175]; + double RHS50 = Idr[173]; + RHS50 += Idr[174]; + RHS50 += Idr[175]; + RHS50 += Idr[176]; + RHS50 += Idr[177]; + RHS50 -= go[176] * *cnV[176]; + RHS50 -= go[177] * *cnV[177]; + const double f0 = 1.0 / m_A0; const double f0_26 = -f0 * m_A57; m_A60 += m_A1 * f0_26; RHS26 += f0_26 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_26 = -f1 * m_A58; m_A60 += m_A3 * f1_26; RHS26 += f1_26 * RHS1; -const double f2 = 1.0 / m_A4; + const double f2 = 1.0 / m_A4; const double f2_26 = -f2 * m_A59; m_A60 += m_A5 * f2_26; m_A61 += m_A6 * f2_26; @@ -11464,34 +15918,34 @@ const double f2 = 1.0 / m_A4; m_A89 += m_A5 * f2_34; m_A90 += m_A6 * f2_34; RHS34 += f2_34 * RHS2; -const double f3 = 1.0 / m_A7; + const double f3 = 1.0 / m_A7; const double f3_36 = -f3 * m_A96; m_A97 += m_A8 * f3_36; RHS36 += f3_36 * RHS3; const double f3_48 = -f3 * m_A157; m_A160 += m_A8 * f3_48; RHS48 += f3_48 * RHS3; -const double f4 = 1.0 / m_A9; + const double f4 = 1.0 / m_A9; const double f4_50 = -f4 * m_A171; m_A173 += m_A10 * f4_50; RHS50 += f4_50 * RHS4; -const double f5 = 1.0 / m_A11; + const double f5 = 1.0 / m_A11; const double f5_44 = -f5 * m_A133; m_A141 += m_A12 * f5_44; RHS44 += f5_44 * RHS5; -const double f6 = 1.0 / m_A13; + const double f6 = 1.0 / m_A13; const double f6_44 = -f6 * m_A134; m_A141 += m_A14 * f6_44; RHS44 += f6_44 * RHS6; -const double f7 = 1.0 / m_A15; + const double f7 = 1.0 / m_A15; const double f7_44 = -f7 * m_A135; m_A141 += m_A16 * f7_44; RHS44 += f7_44 * RHS7; -const double f8 = 1.0 / m_A17; + const double f8 = 1.0 / m_A17; const double f8_44 = -f8 * m_A136; m_A141 += m_A18 * f8_44; RHS44 += f8_44 * RHS8; -const double f9 = 1.0 / m_A19; + const double f9 = 1.0 / m_A19; const double f9_32 = -f9 * m_A75; m_A82 += m_A20 * f9_32; m_A83 += m_A21 * f9_32; @@ -11500,61 +15954,61 @@ const double f9 = 1.0 / m_A19; m_A138 += m_A20 * f9_44; m_A141 += m_A21 * f9_44; RHS44 += f9_44 * RHS9; -const double f10 = 1.0 / m_A22; + const double f10 = 1.0 / m_A22; const double f10_32 = -f10 * m_A76; m_A82 += m_A23 * f10_32; RHS32 += f10_32 * RHS10; -const double f11 = 1.0 / m_A24; + const double f11 = 1.0 / m_A24; const double f11_32 = -f11 * m_A77; m_A82 += m_A25 * f11_32; RHS32 += f11_32 * RHS11; -const double f12 = 1.0 / m_A26; + const double f12 = 1.0 / m_A26; const double f12_32 = -f12 * m_A78; m_A82 += m_A27 * f12_32; RHS32 += f12_32 * RHS12; -const double f13 = 1.0 / m_A28; + const double f13 = 1.0 / m_A28; const double f13_31 = -f13 * m_A73; m_A74 += m_A29 * f13_31; RHS31 += f13_31 * RHS13; const double f13_43 = -f13 * m_A126; m_A129 += m_A29 * f13_43; RHS43 += f13_43 * RHS13; -const double f14 = 1.0 / m_A30; + const double f14 = 1.0 / m_A30; const double f14_32 = -f14 * m_A79; m_A82 += m_A31 * f14_32; RHS32 += f14_32 * RHS14; -const double f15 = 1.0 / m_A32; + const double f15 = 1.0 / m_A32; const double f15_35 = -f15 * m_A92; m_A94 += m_A33 * f15_35; RHS35 += f15_35 * RHS15; -const double f16 = 1.0 / m_A34; + const double f16 = 1.0 / m_A34; const double f16_32 = -f16 * m_A80; m_A82 += m_A35 * f16_32; RHS32 += f16_32 * RHS16; -const double f17 = 1.0 / m_A36; + const double f17 = 1.0 / m_A36; const double f17_32 = -f17 * m_A81; m_A82 += m_A37 * f17_32; RHS32 += f17_32 * RHS17; -const double f18 = 1.0 / m_A38; + const double f18 = 1.0 / m_A38; const double f18_42 = -f18 * m_A122; m_A124 += m_A39 * f18_42; RHS42 += f18_42 * RHS18; -const double f19 = 1.0 / m_A40; + const double f19 = 1.0 / m_A40; const double f19_33 = -f19 * m_A84; m_A86 += m_A41 * f19_33; RHS33 += f19_33 * RHS19; -const double f20 = 1.0 / m_A42; + const double f20 = 1.0 / m_A42; const double f20_47 = -f20 * m_A150; m_A153 += m_A43 * f20_47; RHS47 += f20_47 * RHS20; -const double f21 = 1.0 / m_A44; + const double f21 = 1.0 / m_A44; const double f21_45 = -f21 * m_A142; m_A144 += m_A45 * f21_45; RHS45 += f21_45 * RHS21; const double f21_48 = -f21 * m_A158; m_A162 += m_A45 * f21_48; RHS48 += f21_48 * RHS21; -const double f22 = 1.0 / m_A46; + const double f22 = 1.0 / m_A46; const double f22_33 = -f22 * m_A85; m_A86 += m_A47 * f22_33; m_A87 += m_A48 * f22_33; @@ -11563,7 +16017,7 @@ const double f22 = 1.0 / m_A46; m_A110 += m_A47 * f22_39; m_A111 += m_A48 * f22_39; RHS39 += f22_39 * RHS22; -const double f23 = 1.0 / m_A49; + const double f23 = 1.0 / m_A49; const double f23_37 = -f23 * m_A99; m_A100 += m_A50 * f23_37; m_A101 += m_A51 * f23_37; @@ -11572,11 +16026,11 @@ const double f23 = 1.0 / m_A49; m_A104 += m_A50 * f23_38; m_A105 += m_A51 * f23_38; RHS38 += f23_38 * RHS23; -const double f24 = 1.0 / m_A52; + const double f24 = 1.0 / m_A52; const double f24_48 = -f24 * m_A159; m_A162 += m_A53 * f24_48; RHS48 += f24_48 * RHS24; -const double f25 = 1.0 / m_A54; + const double f25 = 1.0 / m_A54; const double f25_35 = -f25 * m_A93; m_A94 += m_A55 * f25_35; m_A95 += m_A56 * f25_35; @@ -11585,11 +16039,11 @@ const double f25 = 1.0 / m_A54; m_A115 += m_A55 * f25_40; m_A116 += m_A56 * f25_40; RHS40 += f25_40 * RHS25; -const double f26 = 1.0 / m_A60; + const double f26 = 1.0 / m_A60; const double f26_34 = -f26 * m_A89; m_A90 += m_A61 * f26_34; RHS34 += f26_34 * RHS26; -const double f27 = 1.0 / m_A62; + const double f27 = 1.0 / m_A62; const double f27_39 = -f27 * m_A109; m_A111 += m_A63 * f27_39; m_A112 += m_A64 * f27_39; @@ -11598,14 +16052,14 @@ const double f27 = 1.0 / m_A62; m_A166 += m_A63 * f27_49; m_A169 += m_A64 * f27_49; RHS49 += f27_49 * RHS27; -const double f28 = 1.0 / m_A65; + const double f28 = 1.0 / m_A65; const double f28_41 = -f28 * m_A119; m_A121 += m_A66 * f28_41; RHS41 += f28_41 * RHS28; const double f28_43 = -f28 * m_A127; m_A131 += m_A66 * f28_43; RHS43 += f28_43 * RHS28; -const double f29 = 1.0 / m_A67; + const double f29 = 1.0 / m_A67; const double f29_40 = -f29 * m_A114; m_A116 += m_A68 * f29_40; m_A117 += m_A69 * f29_40; @@ -11614,7 +16068,7 @@ const double f29 = 1.0 / m_A67; m_A146 += m_A68 * f29_46; m_A147 += m_A69 * f29_46; RHS46 += f29_46 * RHS29; -const double f30 = 1.0 / m_A70; + const double f30 = 1.0 / m_A70; const double f30_42 = -f30 * m_A123; m_A124 += m_A71 * f30_42; m_A125 += m_A72 * f30_42; @@ -11623,33 +16077,33 @@ const double f30 = 1.0 / m_A70; m_A130 += m_A71 * f30_43; m_A131 += m_A72 * f30_43; RHS43 += f30_43 * RHS30; -const double f31 = 1.0 / m_A74; + const double f31 = 1.0 / m_A74; const double f31_43 = -f31 * m_A129; RHS43 += f31_43 * RHS31; -const double f32 = 1.0 / m_A82; + const double f32 = 1.0 / m_A82; const double f32_44 = -f32 * m_A138; m_A141 += m_A83 * f32_44; RHS44 += f32_44 * RHS32; -const double f33 = 1.0 / m_A86; + const double f33 = 1.0 / m_A86; const double f33_39 = -f33 * m_A110; m_A111 += m_A87 * f33_39; RHS39 += f33_39 * RHS33; -const double f34 = 1.0 / m_A90; + const double f34 = 1.0 / m_A90; const double f34_44 = -f34 * m_A139; m_A141 += m_A91 * f34_44; RHS44 += f34_44 * RHS34; -const double f35 = 1.0 / m_A94; + const double f35 = 1.0 / m_A94; const double f35_40 = -f35 * m_A115; m_A116 += m_A95 * f35_40; RHS40 += f35_40 * RHS35; -const double f36 = 1.0 / m_A97; + const double f36 = 1.0 / m_A97; const double f36_44 = -f36 * m_A140; m_A141 += m_A98 * f36_44; RHS44 += f36_44 * RHS36; const double f36_48 = -f36 * m_A160; m_A161 += m_A98 * f36_48; RHS48 += f36_48 * RHS36; -const double f37 = 1.0 / m_A100; + const double f37 = 1.0 / m_A100; const double f37_38 = -f37 * m_A104; m_A105 += m_A101 * f37_38; m_A106 += m_A102 * f37_38; @@ -11658,7 +16112,7 @@ const double f37 = 1.0 / m_A100; m_A152 += m_A101 * f37_47; m_A155 += m_A102 * f37_47; RHS47 += f37_47 * RHS37; -const double f38 = 1.0 / m_A105; + const double f38 = 1.0 / m_A105; const double f38_47 = -f38 * m_A152; m_A155 += m_A106 * f38_47; m_A156 += m_A107 * f38_47; @@ -11667,11 +16121,11 @@ const double f38 = 1.0 / m_A105; m_A168 += m_A106 * f38_49; m_A169 += m_A107 * f38_49; RHS49 += f38_49 * RHS38; -const double f39 = 1.0 / m_A111; + const double f39 = 1.0 / m_A111; const double f39_49 = -f39 * m_A166; m_A169 += m_A112 * f39_49; RHS49 += f39_49 * RHS39; -const double f40 = 1.0 / m_A116; + const double f40 = 1.0 / m_A116; const double f40_46 = -f40 * m_A146; m_A147 += m_A117 * f40_46; m_A149 += m_A118 * f40_46; @@ -11680,26 +16134,26 @@ const double f40 = 1.0 / m_A116; m_A174 += m_A117 * f40_50; m_A177 += m_A118 * f40_50; RHS50 += f40_50 * RHS40; -const double f41 = 1.0 / m_A120; + const double f41 = 1.0 / m_A120; const double f41_47 = -f41 * m_A153; m_A154 += m_A121 * f41_47; RHS47 += f41_47 * RHS41; -const double f42 = 1.0 / m_A124; + const double f42 = 1.0 / m_A124; const double f42_43 = -f42 * m_A130; m_A131 += m_A125 * f42_43; RHS43 += f42_43 * RHS42; -const double f43 = 1.0 / m_A131; + const double f43 = 1.0 / m_A131; const double f43_47 = -f43 * m_A154; m_A155 += m_A132 * f43_47; RHS47 += f43_47 * RHS43; -const double f44 = 1.0 / m_A141; + const double f44 = 1.0 / m_A141; const double f44_48 = -f44 * m_A161; RHS48 += f44_48 * RHS44; -const double f45 = 1.0 / m_A143; + const double f45 = 1.0 / m_A143; const double f45_50 = -f45 * m_A173; m_A175 += m_A144 * f45_50; RHS50 += f45_50 * RHS45; -const double f46 = 1.0 / m_A147; + const double f46 = 1.0 / m_A147; const double f46_49 = -f46 * m_A167; m_A169 += m_A148 * f46_49; m_A170 += m_A149 * f46_49; @@ -11708,15 +16162,15 @@ const double f46 = 1.0 / m_A147; m_A176 += m_A148 * f46_50; m_A177 += m_A149 * f46_50; RHS50 += f46_50 * RHS46; -const double f47 = 1.0 / m_A155; + const double f47 = 1.0 / m_A155; const double f47_49 = -f47 * m_A168; m_A169 += m_A156 * f47_49; RHS49 += f47_49 * RHS47; -const double f48 = 1.0 / m_A162; + const double f48 = 1.0 / m_A162; const double f48_50 = -f48 * m_A175; m_A177 += m_A163 * f48_50; RHS50 += f48_50 * RHS48; -const double f49 = 1.0 / m_A169; + const double f49 = 1.0 / m_A169; const double f49_50 = -f49 * m_A176; m_A177 += m_A170 * f49_50; RHS50 += f49_50 * RHS49; @@ -11883,976 +16337,1608 @@ const double f49 = 1.0 / m_A169; V[0] = (RHS0 - tmp0) / m_A0; } -// cheekyms -static void nl_gcr_e67e623b6c100b4e_12_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// konami2x +static void nl_gcr_e4c54910436826d1_85_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A2 = m_A2 + go[0]; - m_A1 = m_A1 + go[1]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[2] * *cnV[2]; - m_A3 = gt[6] + gt[7]; - m_A4 = m_A4 + go[6]; - double RHS1 = Idr[6] + Idr[7] - go[7] * *cnV[7]; - m_A6 = gt[12] + gt[13]; - m_A7 = m_A7 + go[12]; - m_A5 = m_A5 + go[13]; - double RHS2 = Idr[12] + Idr[13]; - m_A11 = gt[18] + gt[19] + gt[20] + gt[21] + gt[22] + gt[23]; - m_A9 = m_A9 + go[18]; - m_A10 = m_A10 + go[19]; - m_A8 = m_A8 + go[20]; - double RHS3 = Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] + Idr[23] - go[21] * *cnV[21] - go[22] * *cnV[22] - go[23] * *cnV[23]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A5; - m_A6 += m_A1 * f0_2; - m_A7 += m_A2 * f0_2; - RHS2 += f0_2 * RHS0; - const double f0_3 = -f0 * m_A8; - m_A10 += m_A1 * f0_3; - m_A11 += m_A2 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A3; - const double f1_3 = -f1 * m_A9; - m_A11 += m_A4 * f1_3; - RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A6; - const double f2_3 = -f2 * m_A10; - m_A11 += m_A7 * f2_3; - RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A11; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + double m_A71(0.0); + double m_A72(0.0); + double m_A73(0.0); + double m_A74(0.0); + double m_A75(0.0); + double m_A76(0.0); + double m_A77(0.0); + double m_A78(0.0); + double m_A79(0.0); + double m_A80(0.0); + double m_A81(0.0); + double m_A82(0.0); + double m_A83(0.0); + double m_A84(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 -= go[1] * *cnV[1]; + m_A2 += gt[2]; + m_A2 += gt[3]; + m_A3 += go[2]; + double RHS1 = Idr[2]; + RHS1 += Idr[3]; + RHS1 -= go[3] * *cnV[3]; + m_A4 += gt[4]; + m_A4 += gt[5]; + m_A5 += go[4]; + double RHS2 = Idr[4]; + RHS2 += Idr[5]; + RHS2 -= go[5] * *cnV[5]; + m_A6 += gt[6]; + m_A6 += gt[7]; + m_A7 += go[6]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + RHS3 -= go[7] * *cnV[7]; + m_A8 += gt[8]; + m_A8 += gt[9]; + m_A9 += go[8]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + RHS4 -= go[9] * *cnV[9]; + m_A10 += gt[10]; + m_A10 += gt[11]; + m_A11 += go[10]; + double RHS5 = Idr[10]; + RHS5 += Idr[11]; + RHS5 -= go[11] * *cnV[11]; + m_A12 += gt[12]; + m_A12 += gt[13]; + m_A13 += go[12]; + double RHS6 = Idr[12]; + RHS6 += Idr[13]; + RHS6 -= go[13] * *cnV[13]; + m_A14 += gt[14]; + m_A14 += gt[15]; + m_A15 += go[14]; + double RHS7 = Idr[14]; + RHS7 += Idr[15]; + RHS7 -= go[15] * *cnV[15]; + m_A16 += gt[16]; + m_A16 += gt[17]; + m_A17 += go[16]; + double RHS8 = Idr[16]; + RHS8 += Idr[17]; + RHS8 -= go[17] * *cnV[17]; + m_A18 += gt[18]; + m_A18 += gt[19]; + m_A19 += go[18]; + double RHS9 = Idr[18]; + RHS9 += Idr[19]; + RHS9 -= go[19] * *cnV[19]; + m_A20 += gt[20]; + m_A20 += gt[21]; + m_A21 += go[20]; + double RHS10 = Idr[20]; + RHS10 += Idr[21]; + RHS10 -= go[21] * *cnV[21]; + m_A22 += gt[22]; + m_A22 += gt[23]; + m_A23 += go[22]; + double RHS11 = Idr[22]; + RHS11 += Idr[23]; + RHS11 -= go[23] * *cnV[23]; + m_A24 += gt[24]; + m_A24 += gt[25]; + m_A25 += go[24]; + double RHS12 = Idr[24]; + RHS12 += Idr[25]; + RHS12 -= go[25] * *cnV[25]; + m_A26 += gt[26]; + m_A26 += gt[27]; + m_A26 += gt[28]; + m_A26 += gt[29]; + m_A26 += gt[30]; + m_A26 += gt[31]; + m_A26 += gt[32]; + m_A27 += go[26]; + double RHS13 = Idr[26]; + RHS13 += Idr[27]; + RHS13 += Idr[28]; + RHS13 += Idr[29]; + RHS13 += Idr[30]; + RHS13 += Idr[31]; + RHS13 += Idr[32]; + RHS13 -= go[27] * *cnV[27]; + RHS13 -= go[28] * *cnV[28]; + RHS13 -= go[29] * *cnV[29]; + RHS13 -= go[30] * *cnV[30]; + RHS13 -= go[31] * *cnV[31]; + RHS13 -= go[32] * *cnV[32]; + m_A28 += gt[33]; + m_A28 += gt[34]; + m_A29 += go[33]; + double RHS14 = Idr[33]; + RHS14 += Idr[34]; + RHS14 -= go[34] * *cnV[34]; + m_A30 += gt[35]; + m_A30 += gt[36]; + m_A31 += go[35]; + double RHS15 = Idr[35]; + RHS15 += Idr[36]; + RHS15 -= go[36] * *cnV[36]; + m_A35 += gt[37]; + m_A35 += gt[38]; + m_A35 += gt[39]; + m_A35 += gt[40]; + m_A36 += go[37]; + m_A34 += go[38]; + m_A33 += go[39]; + m_A32 += go[40]; + double RHS16 = Idr[37]; + RHS16 += Idr[38]; + RHS16 += Idr[39]; + RHS16 += Idr[40]; + m_A37 += gt[41]; + m_A37 += gt[42]; + m_A38 += go[41]; + double RHS17 = Idr[41]; + RHS17 += Idr[42]; + RHS17 -= go[42] * *cnV[42]; + m_A39 += gt[43]; + m_A39 += gt[44]; + m_A40 += go[43]; + double RHS18 = Idr[43]; + RHS18 += Idr[44]; + RHS18 -= go[44] * *cnV[44]; + m_A41 += gt[45]; + m_A41 += gt[46]; + m_A42 += go[45]; + double RHS19 = Idr[45]; + RHS19 += Idr[46]; + RHS19 -= go[46] * *cnV[46]; + m_A43 += gt[47]; + m_A43 += gt[48]; + m_A44 += go[47]; + double RHS20 = Idr[47]; + RHS20 += Idr[48]; + RHS20 -= go[48] * *cnV[48]; + m_A46 += gt[49]; + m_A46 += gt[50]; + m_A46 += gt[51]; + m_A45 += go[49]; + m_A47 += go[50]; + double RHS21 = Idr[49]; + RHS21 += Idr[50]; + RHS21 += Idr[51]; + RHS21 -= go[51] * *cnV[51]; + m_A51 += gt[52]; + m_A51 += gt[53]; + m_A51 += gt[54]; + m_A51 += gt[55]; + m_A52 += go[52]; + m_A50 += go[53]; + m_A49 += go[54]; + m_A48 += go[55]; + double RHS22 = Idr[52]; + RHS22 += Idr[53]; + RHS22 += Idr[54]; + RHS22 += Idr[55]; + m_A56 += gt[56]; + m_A56 += gt[57]; + m_A56 += gt[58]; + m_A56 += gt[59]; + m_A57 += go[56]; + m_A55 += go[57]; + m_A54 += go[58]; + m_A53 += go[59]; + double RHS23 = Idr[56]; + RHS23 += Idr[57]; + RHS23 += Idr[58]; + RHS23 += Idr[59]; + m_A61 += gt[60]; + m_A61 += gt[61]; + m_A61 += gt[62]; + m_A61 += gt[63]; + m_A62 += go[60]; + m_A60 += go[61]; + m_A59 += go[62]; + m_A58 += go[63]; + double RHS24 = Idr[60]; + RHS24 += Idr[61]; + RHS24 += Idr[62]; + RHS24 += Idr[63]; + m_A66 += gt[64]; + m_A66 += gt[65]; + m_A66 += gt[66]; + m_A66 += gt[67]; + m_A67 += go[64]; + m_A65 += go[65]; + m_A64 += go[66]; + m_A63 += go[67]; + double RHS25 = Idr[64]; + RHS25 += Idr[65]; + RHS25 += Idr[66]; + RHS25 += Idr[67]; + m_A71 += gt[68]; + m_A71 += gt[69]; + m_A71 += gt[70]; + m_A71 += gt[71]; + m_A72 += go[68]; + m_A70 += go[69]; + m_A69 += go[70]; + m_A68 += go[71]; + double RHS26 = Idr[68]; + RHS26 += Idr[69]; + RHS26 += Idr[70]; + RHS26 += Idr[71]; + m_A75 += gt[72]; + m_A75 += gt[73]; + m_A75 += gt[74]; + m_A75 += gt[75]; + m_A75 += gt[76]; + m_A73 += go[72]; + m_A74 += go[73]; + m_A76 += go[74]; + double RHS27 = Idr[72]; + RHS27 += Idr[73]; + RHS27 += Idr[74]; + RHS27 += Idr[75]; + RHS27 += Idr[76]; + RHS27 -= go[75] * *cnV[75]; + RHS27 -= go[76] * *cnV[76]; + m_A84 += gt[77]; + m_A84 += gt[78]; + m_A84 += gt[79]; + m_A84 += gt[80]; + m_A84 += gt[81]; + m_A84 += gt[82]; + m_A84 += gt[83]; + m_A84 += gt[84]; + m_A83 += go[77]; + m_A80 += go[78]; + m_A82 += go[79]; + m_A81 += go[80]; + m_A79 += go[81]; + m_A78 += go[82]; + m_A77 += go[83]; + double RHS28 = Idr[77]; + RHS28 += Idr[78]; + RHS28 += Idr[79]; + RHS28 += Idr[80]; + RHS28 += Idr[81]; + RHS28 += Idr[82]; + RHS28 += Idr[83]; + RHS28 += Idr[84]; + RHS28 -= go[84] * *cnV[84]; + const double f0 = 1.0 / m_A0; + const double f0_16 = -f0 * m_A32; + m_A35 += m_A1 * f0_16; + RHS16 += f0_16 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_16 = -f1 * m_A33; + m_A35 += m_A3 * f1_16; + RHS16 += f1_16 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_16 = -f2 * m_A34; + m_A35 += m_A5 * f2_16; + RHS16 += f2_16 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_22 = -f3 * m_A48; + m_A51 += m_A7 * f3_22; + RHS22 += f3_22 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_22 = -f4 * m_A49; + m_A51 += m_A9 * f4_22; + RHS22 += f4_22 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_22 = -f5 * m_A50; + m_A51 += m_A11 * f5_22; + RHS22 += f5_22 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_23 = -f6 * m_A53; + m_A56 += m_A13 * f6_23; + RHS23 += f6_23 * RHS6; + const double f7 = 1.0 / m_A14; + const double f7_23 = -f7 * m_A54; + m_A56 += m_A15 * f7_23; + RHS23 += f7_23 * RHS7; + const double f8 = 1.0 / m_A16; + const double f8_23 = -f8 * m_A55; + m_A56 += m_A17 * f8_23; + RHS23 += f8_23 * RHS8; + const double f9 = 1.0 / m_A18; + const double f9_25 = -f9 * m_A63; + m_A66 += m_A19 * f9_25; + RHS25 += f9_25 * RHS9; + const double f10 = 1.0 / m_A20; + const double f10_26 = -f10 * m_A68; + m_A71 += m_A21 * f10_26; + RHS26 += f10_26 * RHS10; + const double f11 = 1.0 / m_A22; + const double f11_24 = -f11 * m_A58; + m_A61 += m_A23 * f11_24; + RHS24 += f11_24 * RHS11; + const double f12 = 1.0 / m_A24; + const double f12_24 = -f12 * m_A59; + m_A61 += m_A25 * f12_24; + RHS24 += f12_24 * RHS12; + const double f13 = 1.0 / m_A26; + const double f13_27 = -f13 * m_A73; + m_A76 += m_A27 * f13_27; + RHS27 += f13_27 * RHS13; + const double f14 = 1.0 / m_A28; + const double f14_24 = -f14 * m_A60; + m_A61 += m_A29 * f14_24; + RHS24 += f14_24 * RHS14; + const double f15 = 1.0 / m_A30; + const double f15_21 = -f15 * m_A45; + m_A46 += m_A31 * f15_21; + RHS21 += f15_21 * RHS15; + const double f16 = 1.0 / m_A35; + const double f16_28 = -f16 * m_A77; + m_A84 += m_A36 * f16_28; + RHS28 += f16_28 * RHS16; + const double f17 = 1.0 / m_A37; + const double f17_25 = -f17 * m_A64; + m_A66 += m_A38 * f17_25; + RHS25 += f17_25 * RHS17; + const double f18 = 1.0 / m_A39; + const double f18_25 = -f18 * m_A65; + m_A66 += m_A40 * f18_25; + RHS25 += f18_25 * RHS18; + const double f19 = 1.0 / m_A41; + const double f19_26 = -f19 * m_A69; + m_A71 += m_A42 * f19_26; + RHS26 += f19_26 * RHS19; + const double f20 = 1.0 / m_A43; + const double f20_26 = -f20 * m_A70; + m_A71 += m_A44 * f20_26; + RHS26 += f20_26 * RHS20; + const double f21 = 1.0 / m_A46; + const double f21_27 = -f21 * m_A74; + m_A75 += m_A47 * f21_27; + RHS27 += f21_27 * RHS21; + const double f22 = 1.0 / m_A51; + const double f22_28 = -f22 * m_A78; + m_A84 += m_A52 * f22_28; + RHS28 += f22_28 * RHS22; + const double f23 = 1.0 / m_A56; + const double f23_28 = -f23 * m_A79; + m_A84 += m_A57 * f23_28; + RHS28 += f23_28 * RHS23; + const double f24 = 1.0 / m_A61; + const double f24_28 = -f24 * m_A80; + m_A84 += m_A62 * f24_28; + RHS28 += f24_28 * RHS24; + const double f25 = 1.0 / m_A66; + const double f25_28 = -f25 * m_A81; + m_A84 += m_A67 * f25_28; + RHS28 += f25_28 * RHS25; + const double f26 = 1.0 / m_A71; + const double f26_28 = -f26 * m_A82; + m_A84 += m_A72 * f26_28; + RHS28 += f26_28 * RHS26; + const double f27 = 1.0 / m_A75; + const double f27_28 = -f27 * m_A83; + m_A84 += m_A76 * f27_28; + RHS28 += f27_28 * RHS27; + V[28] = RHS28 / m_A84; + double tmp27 = 0.0; + tmp27 += m_A76 * V[28]; + V[27] = (RHS27 - tmp27) / m_A75; + double tmp26 = 0.0; + tmp26 += m_A72 * V[28]; + V[26] = (RHS26 - tmp26) / m_A71; + double tmp25 = 0.0; + tmp25 += m_A67 * V[28]; + V[25] = (RHS25 - tmp25) / m_A66; + double tmp24 = 0.0; + tmp24 += m_A62 * V[28]; + V[24] = (RHS24 - tmp24) / m_A61; + double tmp23 = 0.0; + tmp23 += m_A57 * V[28]; + V[23] = (RHS23 - tmp23) / m_A56; + double tmp22 = 0.0; + tmp22 += m_A52 * V[28]; + V[22] = (RHS22 - tmp22) / m_A51; + double tmp21 = 0.0; + tmp21 += m_A47 * V[27]; + V[21] = (RHS21 - tmp21) / m_A46; + double tmp20 = 0.0; + tmp20 += m_A44 * V[26]; + V[20] = (RHS20 - tmp20) / m_A43; + double tmp19 = 0.0; + tmp19 += m_A42 * V[26]; + V[19] = (RHS19 - tmp19) / m_A41; + double tmp18 = 0.0; + tmp18 += m_A40 * V[25]; + V[18] = (RHS18 - tmp18) / m_A39; + double tmp17 = 0.0; + tmp17 += m_A38 * V[25]; + V[17] = (RHS17 - tmp17) / m_A37; + double tmp16 = 0.0; + tmp16 += m_A36 * V[28]; + V[16] = (RHS16 - tmp16) / m_A35; + double tmp15 = 0.0; + tmp15 += m_A31 * V[21]; + V[15] = (RHS15 - tmp15) / m_A30; + double tmp14 = 0.0; + tmp14 += m_A29 * V[24]; + V[14] = (RHS14 - tmp14) / m_A28; + double tmp13 = 0.0; + tmp13 += m_A27 * V[28]; + V[13] = (RHS13 - tmp13) / m_A26; + double tmp12 = 0.0; + tmp12 += m_A25 * V[24]; + V[12] = (RHS12 - tmp12) / m_A24; + double tmp11 = 0.0; + tmp11 += m_A23 * V[24]; + V[11] = (RHS11 - tmp11) / m_A22; + double tmp10 = 0.0; + tmp10 += m_A21 * V[26]; + V[10] = (RHS10 - tmp10) / m_A20; + double tmp9 = 0.0; + tmp9 += m_A19 * V[25]; + V[9] = (RHS9 - tmp9) / m_A18; + double tmp8 = 0.0; + tmp8 += m_A17 * V[23]; + V[8] = (RHS8 - tmp8) / m_A16; + double tmp7 = 0.0; + tmp7 += m_A15 * V[23]; + V[7] = (RHS7 - tmp7) / m_A14; + double tmp6 = 0.0; + tmp6 += m_A13 * V[23]; + V[6] = (RHS6 - tmp6) / m_A12; + double tmp5 = 0.0; + tmp5 += m_A11 * V[22]; + V[5] = (RHS5 - tmp5) / m_A10; + double tmp4 = 0.0; + tmp4 += m_A9 * V[22]; + V[4] = (RHS4 - tmp4) / m_A8; + double tmp3 = 0.0; + tmp3 += m_A7 * V[22]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A7 * V[3]; - V[2] = (RHS2 - tmp2) / m_A6; + tmp2 += m_A5 * V[16]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A4 * V[3]; - V[1] = (RHS1 - tmp1) / m_A3; + tmp1 += m_A3 * V[16]; + V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; - tmp0 += m_A2 * V[3]; + tmp0 += m_A1 * V[16]; V[0] = (RHS0 - tmp0) / m_A0; } -// kidniki -static void nl_gcr_e7e5566e352b80c1_67_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// 280zzzap +static void nl_gcr_eb8f99b7d033585a_57_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); - m_A0 = gt[0] + gt[1]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1]; - m_A2 = gt[8] + gt[9]; - m_A3 = m_A3 + go[8]; - double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9]; - m_A4 = gt[16] + gt[17]; - m_A5 = m_A5 + go[16]; - double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17]; - m_A6 = gt[24] + gt[25]; - m_A7 = m_A7 + go[24]; - double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25]; - m_A8 = gt[32] + gt[33]; - m_A9 = m_A9 + go[32]; - double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33]; - m_A10 = gt[40] + gt[41]; - m_A11 = m_A11 + go[40]; - double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41]; - m_A12 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54] + gt[55]; - m_A14 = m_A14 + go[48]; - m_A15 = m_A15 + go[49]; - m_A17 = m_A17 + go[50]; - m_A18 = m_A18 + go[51]; - m_A16 = m_A16 + go[52]; - m_A13 = m_A13 + go[53]; - double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] + Idr[55] - go[54] * *cnV[54] - go[55] * *cnV[55]; - m_A21 = gt[56] + gt[57] + gt[58] + gt[59]; - m_A20 = m_A20 + go[56]; - m_A19 = m_A19 + go[57]; - double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] - go[58] * *cnV[58] - go[59] * *cnV[59]; - m_A30 = gt[64] + gt[65] + gt[66] + gt[67]; - m_A28 = m_A28 + go[64]; - m_A27 = m_A27 + go[65]; - double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[66] * *cnV[66] - go[67] * *cnV[67]; - m_A39 = gt[72] + gt[73] + gt[74] + gt[75]; - m_A36 = m_A36 + go[72]; - m_A35 = m_A35 + go[73]; - double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75]; - m_A48 = gt[80] + gt[81] + gt[82] + gt[83]; - m_A44 = m_A44 + go[80]; - m_A43 = m_A43 + go[81]; - double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] - go[82] * *cnV[82] - go[83] * *cnV[83]; - m_A57 = gt[88] + gt[89] + gt[90] + gt[91]; - m_A52 = m_A52 + go[88]; - m_A51 = m_A51 + go[89]; - double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[90] * *cnV[90] - go[91] * *cnV[91]; - m_A66 = gt[96] + gt[97] + gt[98] + gt[99]; - m_A60 = m_A60 + go[96]; - m_A59 = m_A59 + go[97]; - double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] - go[98] * *cnV[98] - go[99] * *cnV[99]; -const double f0 = 1.0 / m_A0; - const double f0_7 = -f0 * m_A19; - m_A21 += m_A1 * f0_7; - RHS7 += f0_7 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_10 = -f1 * m_A43; - m_A48 += m_A3 * f1_10; - RHS10 += f1_10 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_12 = -f2 * m_A59; - m_A66 += m_A5 * f2_12; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A4 += gt[5]; + m_A4 += gt[6]; + m_A4 += gt[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A5 += go[5]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + RHS2 += Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 += Idr[11]; + RHS2 -= go[6] * *cnV[6]; + RHS2 -= go[7] * *cnV[7]; + RHS2 -= go[8] * *cnV[8]; + RHS2 -= go[9] * *cnV[9]; + RHS2 -= go[10] * *cnV[10]; + RHS2 -= go[11] * *cnV[11]; + m_A6 += gt[12]; + m_A6 += gt[13]; + m_A6 += gt[14]; + m_A7 += go[12]; + double RHS3 = Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 -= go[13] * *cnV[13]; + RHS3 -= go[14] * *cnV[14]; + m_A8 += gt[15]; + m_A8 += gt[16]; + m_A8 += gt[17]; + m_A8 += gt[18]; + m_A8 += gt[19]; + m_A8 += gt[20]; + m_A8 += gt[21]; + m_A9 += go[15]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 -= go[16] * *cnV[16]; + RHS4 -= go[17] * *cnV[17]; + RHS4 -= go[18] * *cnV[18]; + RHS4 -= go[19] * *cnV[19]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + m_A10 += gt[22]; + m_A10 += gt[23]; + m_A11 += go[22]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[23] * *cnV[23]; + m_A12 += gt[24]; + m_A12 += gt[25]; + m_A14 += go[24]; + m_A13 += go[25]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + m_A15 += gt[26]; + m_A15 += gt[27]; + m_A16 += go[26]; + double RHS7 = Idr[26]; + RHS7 += Idr[27]; + RHS7 -= go[27] * *cnV[27]; + m_A17 += gt[28]; + m_A17 += gt[29]; + m_A18 += go[28]; + double RHS8 = Idr[28]; + RHS8 += Idr[29]; + RHS8 -= go[29] * *cnV[29]; + m_A20 += gt[30]; + m_A20 += gt[31]; + m_A20 += gt[32]; + m_A20 += gt[33]; + m_A19 += go[30]; + double RHS9 = Idr[30]; + RHS9 += Idr[31]; + RHS9 += Idr[32]; + RHS9 += Idr[33]; + RHS9 -= go[31] * *cnV[31]; + RHS9 -= go[32] * *cnV[32]; + RHS9 -= go[33] * *cnV[33]; + m_A24 += gt[34]; + m_A24 += gt[35]; + m_A23 += go[34]; + m_A22 += go[35]; + double RHS10 = Idr[34]; + RHS10 += Idr[35]; + m_A27 += gt[36]; + m_A27 += gt[37]; + m_A27 += gt[38]; + m_A27 += gt[39]; + m_A26 += go[36]; + m_A28 += go[37]; + double RHS11 = Idr[36]; + RHS11 += Idr[37]; + RHS11 += Idr[38]; + RHS11 += Idr[39]; + RHS11 -= go[38] * *cnV[38]; + RHS11 -= go[39] * *cnV[39]; + m_A31 += gt[40]; + m_A31 += gt[41]; + m_A31 += gt[42]; + m_A31 += gt[43]; + m_A31 += gt[44]; + m_A31 += gt[45]; + m_A29 += go[40]; + m_A33 += go[41]; + m_A32 += go[42]; + double RHS12 = Idr[40]; + RHS12 += Idr[41]; + RHS12 += Idr[42]; + RHS12 += Idr[43]; + RHS12 += Idr[44]; + RHS12 += Idr[45]; + RHS12 -= go[43] * *cnV[43]; + RHS12 -= go[44] * *cnV[44]; + RHS12 -= go[45] * *cnV[45]; + m_A36 += gt[46]; + m_A36 += gt[47]; + m_A34 += go[46]; + double RHS13 = Idr[46]; + RHS13 += Idr[47]; + RHS13 -= go[47] * *cnV[47]; + m_A39 += gt[48]; + m_A39 += gt[49]; + m_A39 += gt[50]; + m_A38 += go[48]; + m_A37 += go[49]; + double RHS14 = Idr[48]; + RHS14 += Idr[49]; + RHS14 += Idr[50]; + RHS14 -= go[50] * *cnV[50]; + m_A41 += gt[51]; + m_A41 += gt[52]; + m_A41 += gt[53]; + m_A41 += gt[54]; + m_A40 += go[51]; + m_A42 += go[52]; + double RHS15 = Idr[51]; + RHS15 += Idr[52]; + RHS15 += Idr[53]; + RHS15 += Idr[54]; + RHS15 -= go[53] * *cnV[53]; + RHS15 -= go[54] * *cnV[54]; + m_A49 += gt[55]; + m_A49 += gt[56]; + m_A49 += gt[57]; + m_A49 += gt[58]; + m_A49 += gt[59]; + m_A44 += go[55]; + m_A47 += go[56]; + m_A46 += go[57]; + m_A43 += go[58]; + m_A45 += go[59]; + double RHS16 = Idr[55]; + RHS16 += Idr[56]; + RHS16 += Idr[57]; + RHS16 += Idr[58]; + RHS16 += Idr[59]; + m_A56 += gt[60]; + m_A56 += gt[61]; + m_A56 += gt[62]; + m_A56 += gt[63]; + m_A54 += go[60]; + m_A53 += go[61]; + m_A51 += go[62]; + m_A52 += go[63]; + double RHS17 = Idr[60]; + RHS17 += Idr[61]; + RHS17 += Idr[62]; + RHS17 += Idr[63]; + const double f0 = 1.0 / m_A0; + const double f0_11 = -f0 * m_A26; + m_A28 += m_A1 * f0_11; + RHS11 += f0_11 * RHS0; + const double f0_16 = -f0 * m_A43; + m_A49 += m_A1 * f0_16; + RHS16 += f0_16 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_16 = -f1 * m_A44; + m_A49 += m_A3 * f1_16; + RHS16 += f1_16 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_12 = -f2 * m_A29; + m_A30 += m_A5 * f2_12; RHS12 += f2_12 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_11 = -f3 * m_A51; - m_A57 += m_A7 * f3_11; - RHS11 += f3_11 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_9 = -f4 * m_A35; - m_A39 += m_A9 * f4_9; + const double f3 = 1.0 / m_A6; + const double f3_15 = -f3 * m_A40; + m_A42 += m_A7 * f3_15; + RHS15 += f3_15 * RHS3; + const double f3_17 = -f3 * m_A51; + m_A56 += m_A7 * f3_17; + RHS17 += f3_17 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_9 = -f4 * m_A19; + m_A21 += m_A9 * f4_9; RHS9 += f4_9 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_8 = -f5 * m_A27; - m_A30 += m_A11 * f5_8; - RHS8 += f5_8 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_7 = -f6 * m_A20; - m_A21 += m_A13 * f6_7; - m_A22 += m_A14 * f6_7; - m_A23 += m_A15 * f6_7; - m_A24 += m_A16 * f6_7; - m_A25 += m_A17 * f6_7; - m_A26 += m_A18 * f6_7; - RHS7 += f6_7 * RHS6; - const double f6_8 = -f6 * m_A28; - m_A29 += m_A13 * f6_8; - m_A30 += m_A14 * f6_8; - m_A31 += m_A15 * f6_8; - m_A32 += m_A16 * f6_8; - m_A33 += m_A17 * f6_8; - m_A34 += m_A18 * f6_8; - RHS8 += f6_8 * RHS6; - const double f6_9 = -f6 * m_A36; - m_A37 += m_A13 * f6_9; - m_A38 += m_A14 * f6_9; - m_A39 += m_A15 * f6_9; - m_A40 += m_A16 * f6_9; - m_A41 += m_A17 * f6_9; - m_A42 += m_A18 * f6_9; - RHS9 += f6_9 * RHS6; - const double f6_10 = -f6 * m_A44; - m_A45 += m_A13 * f6_10; - m_A46 += m_A14 * f6_10; - m_A47 += m_A15 * f6_10; - m_A48 += m_A16 * f6_10; - m_A49 += m_A17 * f6_10; - m_A50 += m_A18 * f6_10; + const double f5 = 1.0 / m_A10; + const double f5_10 = -f5 * m_A22; + m_A24 += m_A11 * f5_10; + RHS10 += f5_10 * RHS5; + const double f5_16 = -f5 * m_A45; + m_A46 += m_A11 * f5_16; + RHS16 += f5_16 * RHS5; + const double f6 = 1.0 / m_A12; + const double f6_10 = -f6 * m_A23; + m_A24 += m_A13 * f6_10; + m_A25 += m_A14 * f6_10; RHS10 += f6_10 * RHS6; - const double f6_11 = -f6 * m_A52; - m_A53 += m_A13 * f6_11; - m_A54 += m_A14 * f6_11; - m_A55 += m_A15 * f6_11; - m_A56 += m_A16 * f6_11; - m_A57 += m_A17 * f6_11; - m_A58 += m_A18 * f6_11; - RHS11 += f6_11 * RHS6; - const double f6_12 = -f6 * m_A60; - m_A61 += m_A13 * f6_12; - m_A62 += m_A14 * f6_12; - m_A63 += m_A15 * f6_12; - m_A64 += m_A16 * f6_12; - m_A65 += m_A17 * f6_12; - m_A66 += m_A18 * f6_12; - RHS12 += f6_12 * RHS6; -const double f7 = 1.0 / m_A21; - const double f7_8 = -f7 * m_A29; - m_A30 += m_A22 * f7_8; - m_A31 += m_A23 * f7_8; - m_A32 += m_A24 * f7_8; - m_A33 += m_A25 * f7_8; - m_A34 += m_A26 * f7_8; - RHS8 += f7_8 * RHS7; - const double f7_9 = -f7 * m_A37; - m_A38 += m_A22 * f7_9; - m_A39 += m_A23 * f7_9; - m_A40 += m_A24 * f7_9; - m_A41 += m_A25 * f7_9; - m_A42 += m_A26 * f7_9; - RHS9 += f7_9 * RHS7; - const double f7_10 = -f7 * m_A45; - m_A46 += m_A22 * f7_10; - m_A47 += m_A23 * f7_10; - m_A48 += m_A24 * f7_10; - m_A49 += m_A25 * f7_10; - m_A50 += m_A26 * f7_10; - RHS10 += f7_10 * RHS7; - const double f7_11 = -f7 * m_A53; - m_A54 += m_A22 * f7_11; - m_A55 += m_A23 * f7_11; - m_A56 += m_A24 * f7_11; - m_A57 += m_A25 * f7_11; - m_A58 += m_A26 * f7_11; - RHS11 += f7_11 * RHS7; - const double f7_12 = -f7 * m_A61; - m_A62 += m_A22 * f7_12; - m_A63 += m_A23 * f7_12; - m_A64 += m_A24 * f7_12; - m_A65 += m_A25 * f7_12; - m_A66 += m_A26 * f7_12; - RHS12 += f7_12 * RHS7; -const double f8 = 1.0 / m_A30; - const double f8_9 = -f8 * m_A38; - m_A39 += m_A31 * f8_9; - m_A40 += m_A32 * f8_9; - m_A41 += m_A33 * f8_9; - m_A42 += m_A34 * f8_9; - RHS9 += f8_9 * RHS8; - const double f8_10 = -f8 * m_A46; - m_A47 += m_A31 * f8_10; - m_A48 += m_A32 * f8_10; - m_A49 += m_A33 * f8_10; - m_A50 += m_A34 * f8_10; - RHS10 += f8_10 * RHS8; - const double f8_11 = -f8 * m_A54; - m_A55 += m_A31 * f8_11; - m_A56 += m_A32 * f8_11; - m_A57 += m_A33 * f8_11; - m_A58 += m_A34 * f8_11; - RHS11 += f8_11 * RHS8; - const double f8_12 = -f8 * m_A62; - m_A63 += m_A31 * f8_12; - m_A64 += m_A32 * f8_12; - m_A65 += m_A33 * f8_12; - m_A66 += m_A34 * f8_12; - RHS12 += f8_12 * RHS8; -const double f9 = 1.0 / m_A39; - const double f9_10 = -f9 * m_A47; - m_A48 += m_A40 * f9_10; - m_A49 += m_A41 * f9_10; - m_A50 += m_A42 * f9_10; - RHS10 += f9_10 * RHS9; - const double f9_11 = -f9 * m_A55; - m_A56 += m_A40 * f9_11; - m_A57 += m_A41 * f9_11; - m_A58 += m_A42 * f9_11; - RHS11 += f9_11 * RHS9; - const double f9_12 = -f9 * m_A63; - m_A64 += m_A40 * f9_12; - m_A65 += m_A41 * f9_12; - m_A66 += m_A42 * f9_12; - RHS12 += f9_12 * RHS9; -const double f10 = 1.0 / m_A48; - const double f10_11 = -f10 * m_A56; - m_A57 += m_A49 * f10_11; - m_A58 += m_A50 * f10_11; - RHS11 += f10_11 * RHS10; - const double f10_12 = -f10 * m_A64; - m_A65 += m_A49 * f10_12; - m_A66 += m_A50 * f10_12; - RHS12 += f10_12 * RHS10; -const double f11 = 1.0 / m_A57; - const double f11_12 = -f11 * m_A65; - m_A66 += m_A58 * f11_12; + const double f6_13 = -f6 * m_A34; + m_A35 += m_A13 * f6_13; + m_A36 += m_A14 * f6_13; + RHS13 += f6_13 * RHS6; + const double f7 = 1.0 / m_A15; + const double f7_14 = -f7 * m_A37; + m_A39 += m_A16 * f7_14; + RHS14 += f7_14 * RHS7; + const double f7_17 = -f7 * m_A52; + m_A54 += m_A16 * f7_17; + RHS17 += f7_17 * RHS7; + const double f8 = 1.0 / m_A17; + const double f8_14 = -f8 * m_A38; + m_A39 += m_A18 * f8_14; + RHS14 += f8_14 * RHS8; + const double f10 = 1.0 / m_A24; + const double f10_13 = -f10 * m_A35; + m_A36 += m_A25 * f10_13; + RHS13 += f10_13 * RHS10; + const double f10_16 = -f10 * m_A46; + m_A48 += m_A25 * f10_16; + RHS16 += f10_16 * RHS10; + const double f11 = 1.0 / m_A27; + const double f11_12 = -f11 * m_A30; + m_A32 += m_A28 * f11_12; RHS12 += f11_12 * RHS11; - V[12] = RHS12 / m_A66; + const double f12 = 1.0 / m_A31; + const double f12_16 = -f12 * m_A47; + m_A49 += m_A32 * f12_16; + m_A50 += m_A33 * f12_16; + RHS16 += f12_16 * RHS12; + const double f12_17 = -f12 * m_A53; + m_A55 += m_A32 * f12_17; + m_A56 += m_A33 * f12_17; + RHS17 += f12_17 * RHS12; + const double f13 = 1.0 / m_A36; + const double f13_16 = -f13 * m_A48; + RHS16 += f13_16 * RHS13; + const double f14 = 1.0 / m_A39; + const double f14_17 = -f14 * m_A54; + RHS17 += f14_17 * RHS14; + const double f16 = 1.0 / m_A49; + const double f16_17 = -f16 * m_A55; + m_A56 += m_A50 * f16_17; + RHS17 += f16_17 * RHS16; + V[17] = RHS17 / m_A56; + double tmp16 = 0.0; + tmp16 += m_A50 * V[17]; + V[16] = (RHS16 - tmp16) / m_A49; + double tmp15 = 0.0; + tmp15 += m_A42 * V[17]; + V[15] = (RHS15 - tmp15) / m_A41; + double tmp14 = 0.0; + V[14] = (RHS14 - tmp14) / m_A39; + double tmp13 = 0.0; + V[13] = (RHS13 - tmp13) / m_A36; + double tmp12 = 0.0; + tmp12 += m_A32 * V[16]; + tmp12 += m_A33 * V[17]; + V[12] = (RHS12 - tmp12) / m_A31; double tmp11 = 0.0; - tmp11 += m_A58 * V[12]; - V[11] = (RHS11 - tmp11) / m_A57; + tmp11 += m_A28 * V[16]; + V[11] = (RHS11 - tmp11) / m_A27; double tmp10 = 0.0; - tmp10 += m_A49 * V[11]; - tmp10 += m_A50 * V[12]; - V[10] = (RHS10 - tmp10) / m_A48; + tmp10 += m_A25 * V[13]; + V[10] = (RHS10 - tmp10) / m_A24; double tmp9 = 0.0; - tmp9 += m_A40 * V[10]; - tmp9 += m_A41 * V[11]; - tmp9 += m_A42 * V[12]; - V[9] = (RHS9 - tmp9) / m_A39; + tmp9 += m_A21 * V[15]; + V[9] = (RHS9 - tmp9) / m_A20; double tmp8 = 0.0; - tmp8 += m_A31 * V[9]; - tmp8 += m_A32 * V[10]; - tmp8 += m_A33 * V[11]; - tmp8 += m_A34 * V[12]; - V[8] = (RHS8 - tmp8) / m_A30; + tmp8 += m_A18 * V[14]; + V[8] = (RHS8 - tmp8) / m_A17; double tmp7 = 0.0; - tmp7 += m_A22 * V[8]; - tmp7 += m_A23 * V[9]; - tmp7 += m_A24 * V[10]; - tmp7 += m_A25 * V[11]; - tmp7 += m_A26 * V[12]; - V[7] = (RHS7 - tmp7) / m_A21; + tmp7 += m_A16 * V[14]; + V[7] = (RHS7 - tmp7) / m_A15; double tmp6 = 0.0; - tmp6 += m_A13 * V[7]; - tmp6 += m_A14 * V[8]; - tmp6 += m_A15 * V[9]; - tmp6 += m_A16 * V[10]; - tmp6 += m_A17 * V[11]; - tmp6 += m_A18 * V[12]; + tmp6 += m_A13 * V[10]; + tmp6 += m_A14 * V[13]; V[6] = (RHS6 - tmp6) / m_A12; double tmp5 = 0.0; - tmp5 += m_A11 * V[8]; + tmp5 += m_A11 * V[10]; V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A9 * V[9]; + tmp4 += m_A9 * V[15]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[11]; + tmp3 += m_A7 * V[17]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[12]; + tmp2 += m_A5 * V[11]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[10]; + tmp1 += m_A3 * V[16]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[7]; + tmp0 += m_A1 * V[16]; V[0] = (RHS0 - tmp0) / m_A0; } -// gamemachine -static void nl_gcr_ec17a9dbc8cd78fd_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// dpatrol +static void nl_gcr_ef9b40abd2bf582c_22_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[6] + gt[7] + gt[8]; - m_A3 = m_A3 + go[6]; - double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8]; - m_A4 = gt[12] + gt[13]; - m_A5 = m_A5 + go[12]; - double RHS2 = Idr[12] + Idr[13] - go[13] * *cnV[13]; - m_A9 = gt[18] + gt[19] + gt[20] + gt[21] + gt[22]; - m_A8 = m_A8 + go[18]; - m_A7 = m_A7 + go[19]; - m_A6 = m_A6 + go[20]; - double RHS3 = Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[21] * *cnV[21] - go[22] * *cnV[22]; -const double f0 = 1.0 / m_A0; - const double f0_3 = -f0 * m_A6; - m_A9 += m_A1 * f0_3; - RHS3 += f0_3 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_3 = -f1 * m_A7; - m_A9 += m_A3 * f1_3; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A2 += gt[5]; + m_A2 += gt[6]; + m_A4 += go[3]; + m_A3 += go[4]; + m_A3 += go[5]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 += Idr[5]; + RHS1 += Idr[6]; + RHS1 -= go[6] * *cnV[6]; + m_A5 += gt[7]; + m_A5 += gt[8]; + m_A5 += gt[9]; + m_A5 += gt[10]; + m_A7 += go[7]; + m_A6 += go[8]; + m_A6 += go[9]; + double RHS2 = Idr[7]; + RHS2 += Idr[8]; + RHS2 += Idr[9]; + RHS2 += Idr[10]; + RHS2 -= go[10] * *cnV[10]; + m_A10 += gt[11]; + m_A10 += gt[12]; + m_A10 += gt[13]; + m_A10 += gt[14]; + m_A10 += gt[15]; + m_A12 += go[11]; + m_A9 += go[12]; + m_A9 += go[13]; + m_A8 += go[14]; + m_A8 += go[15]; + double RHS3 = Idr[11]; + RHS3 += Idr[12]; + RHS3 += Idr[13]; + RHS3 += Idr[14]; + RHS3 += Idr[15]; + m_A16 += gt[16]; + m_A16 += gt[17]; + m_A16 += gt[18]; + m_A17 += go[16]; + m_A14 += go[17]; + m_A13 += go[18]; + double RHS4 = Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + m_A21 += gt[19]; + m_A21 += gt[20]; + m_A21 += gt[21]; + m_A20 += go[19]; + m_A19 += go[20]; + m_A18 += go[21]; + double RHS5 = Idr[19]; + RHS5 += Idr[20]; + RHS5 += Idr[21]; + const double f0 = 1.0 / m_A0; + const double f0_5 = -f0 * m_A18; + m_A21 += m_A1 * f0_5; + RHS5 += f0_5 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_3 = -f1 * m_A8; + m_A10 += m_A3 * f1_3; + m_A11 += m_A4 * f1_3; RHS3 += f1_3 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_3 = -f2 * m_A8; - m_A9 += m_A5 * f2_3; + const double f1_4 = -f1 * m_A13; + m_A15 += m_A3 * f1_4; + m_A16 += m_A4 * f1_4; + RHS4 += f1_4 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_3 = -f2 * m_A9; + m_A10 += m_A6 * f2_3; + m_A11 += m_A7 * f2_3; RHS3 += f2_3 * RHS2; - V[3] = RHS3 / m_A9; + const double f2_4 = -f2 * m_A14; + m_A15 += m_A6 * f2_4; + m_A16 += m_A7 * f2_4; + RHS4 += f2_4 * RHS2; + const double f3 = 1.0 / m_A10; + const double f3_4 = -f3 * m_A15; + m_A16 += m_A11 * f3_4; + m_A17 += m_A12 * f3_4; + RHS4 += f3_4 * RHS3; + const double f3_5 = -f3 * m_A19; + m_A20 += m_A11 * f3_5; + m_A21 += m_A12 * f3_5; + RHS5 += f3_5 * RHS3; + const double f4 = 1.0 / m_A16; + const double f4_5 = -f4 * m_A20; + m_A21 += m_A17 * f4_5; + RHS5 += f4_5 * RHS4; + V[5] = RHS5 / m_A21; + double tmp4 = 0.0; + tmp4 += m_A17 * V[5]; + V[4] = (RHS4 - tmp4) / m_A16; + double tmp3 = 0.0; + tmp3 += m_A11 * V[4]; + tmp3 += m_A12 * V[5]; + V[3] = (RHS3 - tmp3) / m_A10; double tmp2 = 0.0; - tmp2 += m_A5 * V[3]; - V[2] = (RHS2 - tmp2) / m_A4; + tmp2 += m_A6 * V[3]; + tmp2 += m_A7 * V[4]; + V[2] = (RHS2 - tmp2) / m_A5; double tmp1 = 0.0; tmp1 += m_A3 * V[3]; + tmp1 += m_A4 * V[4]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[3]; + tmp0 += m_A1 * V[5]; V[0] = (RHS0 - tmp0) / m_A0; } -// 280zzzap -static void nl_gcr_f1804fa5ede37373_95_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +// zac1b11142 +static void nl_gcr_f0a19b84f91ff24f_71_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); -double m_A7(0.0); -double m_A8(0.0); -double m_A9(0.0); -double m_A10(0.0); -double m_A11(0.0); -double m_A12(0.0); -double m_A13(0.0); -double m_A14(0.0); -double m_A15(0.0); -double m_A16(0.0); -double m_A17(0.0); -double m_A18(0.0); -double m_A19(0.0); -double m_A20(0.0); -double m_A21(0.0); -double m_A22(0.0); -double m_A23(0.0); -double m_A24(0.0); -double m_A25(0.0); -double m_A26(0.0); -double m_A27(0.0); -double m_A28(0.0); -double m_A29(0.0); -double m_A30(0.0); -double m_A31(0.0); -double m_A32(0.0); -double m_A33(0.0); -double m_A34(0.0); -double m_A35(0.0); -double m_A36(0.0); -double m_A37(0.0); -double m_A38(0.0); -double m_A39(0.0); -double m_A40(0.0); -double m_A41(0.0); -double m_A42(0.0); -double m_A43(0.0); -double m_A44(0.0); -double m_A45(0.0); -double m_A46(0.0); -double m_A47(0.0); -double m_A48(0.0); -double m_A49(0.0); -double m_A50(0.0); -double m_A51(0.0); -double m_A52(0.0); -double m_A53(0.0); -double m_A54(0.0); -double m_A55(0.0); -double m_A56(0.0); -double m_A57(0.0); -double m_A58(0.0); -double m_A59(0.0); -double m_A60(0.0); -double m_A61(0.0); -double m_A62(0.0); -double m_A63(0.0); -double m_A64(0.0); -double m_A65(0.0); -double m_A66(0.0); -double m_A67(0.0); -double m_A68(0.0); -double m_A69(0.0); -double m_A70(0.0); -double m_A71(0.0); -double m_A72(0.0); -double m_A73(0.0); -double m_A74(0.0); -double m_A75(0.0); -double m_A76(0.0); -double m_A77(0.0); -double m_A78(0.0); -double m_A79(0.0); -double m_A80(0.0); -double m_A81(0.0); -double m_A82(0.0); -double m_A83(0.0); -double m_A84(0.0); -double m_A85(0.0); -double m_A86(0.0); -double m_A87(0.0); -double m_A88(0.0); -double m_A89(0.0); -double m_A90(0.0); -double m_A91(0.0); -double m_A92(0.0); -double m_A93(0.0); -double m_A94(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[12] + gt[13] + gt[14] + gt[15] + gt[16] + gt[17] + gt[18]; - m_A3 = m_A3 + go[12]; - double RHS1 = Idr[12] + Idr[13] + Idr[14] + Idr[15] + Idr[16] + Idr[17] + Idr[18] - go[13] * *cnV[13] - go[14] * *cnV[14] - go[15] * *cnV[15] - go[16] * *cnV[16] - go[17] * *cnV[17] - go[18] * *cnV[18]; - m_A4 = gt[24] + gt[25] + gt[26]; - m_A5 = m_A5 + go[24]; - double RHS2 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26]; - m_A6 = gt[36] + gt[37] + gt[38] + gt[39] + gt[40] + gt[41] + gt[42]; - m_A7 = m_A7 + go[36]; - double RHS3 = Idr[36] + Idr[37] + Idr[38] + Idr[39] + Idr[40] + Idr[41] + Idr[42] - go[37] * *cnV[37] - go[38] * *cnV[38] - go[39] * *cnV[39] - go[40] * *cnV[40] - go[41] * *cnV[41] - go[42] * *cnV[42]; - m_A8 = gt[48] + gt[49]; - m_A9 = m_A9 + go[48]; - double RHS4 = Idr[48] + Idr[49] - go[49] * *cnV[49]; - m_A10 = gt[60] + gt[61]; - m_A11 = m_A11 + go[60]; - double RHS5 = Idr[60] + Idr[61] - go[61] * *cnV[61]; - m_A12 = gt[72] + gt[73] + gt[74] + gt[75]; - m_A13 = m_A13 + go[72]; - double RHS6 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[73] * *cnV[73] - go[74] * *cnV[74] - go[75] * *cnV[75]; - m_A14 = gt[84] + gt[85] + gt[86] + gt[87]; - m_A15 = m_A15 + go[84]; - double RHS7 = Idr[84] + Idr[85] + Idr[86] + Idr[87] - go[85] * *cnV[85] - go[86] * *cnV[86] - go[87] * *cnV[87]; - m_A16 = gt[96] + gt[97]; - m_A17 = m_A17 + go[96]; - double RHS8 = Idr[96] + Idr[97] - go[97] * *cnV[97]; - m_A18 = gt[108] + gt[109] + gt[110] + gt[111]; - m_A19 = m_A19 + go[108]; - double RHS9 = Idr[108] + Idr[109] + Idr[110] + Idr[111] - go[109] * *cnV[109] - go[110] * *cnV[110] - go[111] * *cnV[111]; - m_A20 = gt[120] + gt[121]; - m_A22 = m_A22 + go[120]; - m_A21 = m_A21 + go[121]; - double RHS10 = Idr[120] + Idr[121]; - m_A23 = gt[132] + gt[133] + gt[134] + gt[135]; - m_A24 = m_A24 + go[132]; - double RHS11 = Idr[132] + Idr[133] + Idr[134] + Idr[135] - go[133] * *cnV[133] - go[134] * *cnV[134] - go[135] * *cnV[135]; - m_A25 = gt[144] + gt[145] + gt[146]; - m_A27 = m_A27 + go[144]; - m_A28 = m_A28 + go[145]; - m_A26 = m_A26 + go[146]; - double RHS12 = Idr[144] + Idr[145] + Idr[146]; - m_A29 = gt[156] + gt[157]; - m_A31 = m_A31 + go[156]; - m_A30 = m_A30 + go[157]; - double RHS13 = Idr[156] + Idr[157]; - m_A37 = gt[168] + gt[169] + gt[170] + gt[171] + gt[172] + gt[173]; - m_A36 = m_A36 + go[168]; - m_A35 = m_A35 + go[169]; - m_A34 = m_A34 + go[170]; - m_A33 = m_A33 + go[171]; - m_A32 = m_A32 + go[172]; - double RHS14 = Idr[168] + Idr[169] + Idr[170] + Idr[171] + Idr[172] + Idr[173] - go[173] * *cnV[173]; - m_A39 = gt[180] + gt[181] + gt[182] + gt[183]; - m_A38 = m_A38 + go[180]; - m_A40 = m_A40 + go[181]; - double RHS15 = Idr[180] + Idr[181] + Idr[182] + Idr[183] - go[182] * *cnV[182] - go[183] * *cnV[183]; - m_A42 = gt[192] + gt[193] + gt[194] + gt[195]; - m_A41 = m_A41 + go[192]; - m_A43 = m_A43 + go[193]; - double RHS16 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[194] * *cnV[194] - go[195] * *cnV[195]; - m_A45 = gt[204] + gt[205] + gt[206]; - m_A46 = m_A46 + go[204]; - m_A44 = m_A44 + go[205]; - double RHS17 = Idr[204] + Idr[205] + Idr[206] - go[206] * *cnV[206]; - m_A52 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220] + gt[221]; - m_A49 = m_A49 + go[216]; - m_A50 = m_A50 + go[217]; - m_A51 = m_A51 + go[218]; - m_A47 = m_A47 + go[219]; - m_A48 = m_A48 + go[220]; - double RHS18 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] + Idr[221] - go[221] * *cnV[221]; - m_A59 = gt[228] + gt[229]; - m_A57 = m_A57 + go[228]; - m_A62 = m_A62 + go[229]; - double RHS19 = Idr[228] + Idr[229]; - m_A66 = gt[240] + gt[241] + gt[242] + gt[243] + gt[244] + gt[245]; - m_A63 = m_A63 + go[240]; - m_A64 = m_A64 + go[241]; - m_A68 = m_A68 + go[242]; - m_A67 = m_A67 + go[243]; - double RHS20 = Idr[240] + Idr[241] + Idr[242] + Idr[243] + Idr[244] + Idr[245] - go[244] * *cnV[244] - go[245] * *cnV[245]; - m_A73 = gt[252] + gt[253] + gt[254] + gt[255]; - m_A72 = m_A72 + go[252]; - m_A71 = m_A71 + go[253]; - m_A69 = m_A69 + go[254]; - m_A70 = m_A70 + go[255]; - double RHS21 = Idr[252] + Idr[253] + Idr[254] + Idr[255]; - m_A80 = gt[264] + gt[265] + gt[266] + gt[267] + gt[268] + gt[269] + gt[270] + gt[271] + gt[272] + gt[273] + gt[274]; - m_A75 = m_A75 + go[264]; - m_A82 = m_A82 + go[265]; - m_A76 = m_A76 + go[266]; - double RHS22 = Idr[264] + Idr[265] + Idr[266] + Idr[267] + Idr[268] + Idr[269] + Idr[270] + Idr[271] + Idr[272] + Idr[273] + Idr[274] - go[267] * *cnV[267] - go[268] * *cnV[268] - go[269] * *cnV[269] - go[270] * *cnV[270] - go[271] * *cnV[271] - go[272] * *cnV[272] - go[273] * *cnV[273] - go[274] * *cnV[274]; - m_A88 = gt[276] + gt[277] + gt[278] + gt[279] + gt[280]; - m_A83 = m_A83 + go[276]; - m_A85 = m_A85 + go[277]; - m_A84 = m_A84 + go[278]; - m_A86 = m_A86 + go[279]; - double RHS23 = Idr[276] + Idr[277] + Idr[278] + Idr[279] + Idr[280] - go[280] * *cnV[280]; - m_A94 = gt[288] + gt[289] + gt[290]; - m_A91 = m_A91 + go[288]; - m_A89 = m_A89 + go[289]; - m_A92 = m_A92 + go[290]; - double RHS24 = Idr[288] + Idr[289] + Idr[290]; -const double f0 = 1.0 / m_A0; - const double f0_15 = -f0 * m_A38; - m_A40 += m_A1 * f0_15; - RHS15 += f0_15 * RHS0; - const double f0_21 = -f0 * m_A69; - m_A73 += m_A1 * f0_21; - RHS21 += f0_21 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_20 = -f1 * m_A63; - m_A65 += m_A3 * f1_20; - RHS20 += f1_20 * RHS1; -const double f2 = 1.0 / m_A4; - const double f2_16 = -f2 * m_A41; - m_A43 += m_A5 * f2_16; - RHS16 += f2_16 * RHS2; - const double f2_18 = -f2 * m_A47; - m_A52 += m_A5 * f2_18; - RHS18 += f2_18 * RHS2; -const double f3 = 1.0 / m_A6; - const double f3_22 = -f3 * m_A75; - m_A77 += m_A7 * f3_22; - RHS22 += f3_22 * RHS3; -const double f4 = 1.0 / m_A8; - const double f4_14 = -f4 * m_A32; - m_A37 += m_A9 * f4_14; - RHS14 += f4_14 * RHS4; - const double f4_21 = -f4 * m_A70; - m_A71 += m_A9 * f4_21; - RHS21 += f4_21 * RHS4; -const double f5 = 1.0 / m_A10; - const double f5_17 = -f5 * m_A44; - m_A45 += m_A11 * f5_17; - RHS17 += f5_17 * RHS5; - const double f5_18 = -f5 * m_A48; - m_A51 += m_A11 * f5_18; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + double m_A7(0.0); + double m_A8(0.0); + double m_A9(0.0); + double m_A10(0.0); + double m_A11(0.0); + double m_A12(0.0); + double m_A13(0.0); + double m_A14(0.0); + double m_A15(0.0); + double m_A16(0.0); + double m_A17(0.0); + double m_A18(0.0); + double m_A19(0.0); + double m_A20(0.0); + double m_A21(0.0); + double m_A22(0.0); + double m_A23(0.0); + double m_A24(0.0); + double m_A25(0.0); + double m_A26(0.0); + double m_A27(0.0); + double m_A28(0.0); + double m_A29(0.0); + double m_A30(0.0); + double m_A31(0.0); + double m_A32(0.0); + double m_A33(0.0); + double m_A34(0.0); + double m_A35(0.0); + double m_A36(0.0); + double m_A37(0.0); + double m_A38(0.0); + double m_A39(0.0); + double m_A40(0.0); + double m_A41(0.0); + double m_A42(0.0); + double m_A43(0.0); + double m_A44(0.0); + double m_A45(0.0); + double m_A46(0.0); + double m_A47(0.0); + double m_A48(0.0); + double m_A49(0.0); + double m_A50(0.0); + double m_A51(0.0); + double m_A52(0.0); + double m_A53(0.0); + double m_A54(0.0); + double m_A55(0.0); + double m_A56(0.0); + double m_A57(0.0); + double m_A58(0.0); + double m_A59(0.0); + double m_A60(0.0); + double m_A61(0.0); + double m_A62(0.0); + double m_A63(0.0); + double m_A64(0.0); + double m_A65(0.0); + double m_A66(0.0); + double m_A67(0.0); + double m_A68(0.0); + double m_A69(0.0); + double m_A70(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A0 += gt[3]; + m_A0 += gt[4]; + m_A0 += gt[5]; + m_A0 += gt[6]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 += Idr[3]; + RHS0 += Idr[4]; + RHS0 += Idr[5]; + RHS0 += Idr[6]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + RHS0 -= go[3] * *cnV[3]; + RHS0 -= go[4] * *cnV[4]; + RHS0 -= go[5] * *cnV[5]; + RHS0 -= go[6] * *cnV[6]; + m_A2 += gt[7]; + m_A2 += gt[8]; + m_A2 += gt[9]; + m_A2 += gt[10]; + m_A2 += gt[11]; + m_A2 += gt[12]; + m_A2 += gt[13]; + m_A3 += go[7]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 += Idr[10]; + RHS1 += Idr[11]; + RHS1 += Idr[12]; + RHS1 += Idr[13]; + RHS1 -= go[8] * *cnV[8]; + RHS1 -= go[9] * *cnV[9]; + RHS1 -= go[10] * *cnV[10]; + RHS1 -= go[11] * *cnV[11]; + RHS1 -= go[12] * *cnV[12]; + RHS1 -= go[13] * *cnV[13]; + m_A4 += gt[14]; + m_A4 += gt[15]; + m_A4 += gt[16]; + m_A5 += go[14]; + double RHS2 = Idr[14]; + RHS2 += Idr[15]; + RHS2 += Idr[16]; + RHS2 -= go[15] * *cnV[15]; + RHS2 -= go[16] * *cnV[16]; + m_A6 += gt[17]; + m_A6 += gt[18]; + m_A7 += go[17]; + double RHS3 = Idr[17]; + RHS3 += Idr[18]; + RHS3 -= go[18] * *cnV[18]; + m_A8 += gt[19]; + m_A8 += gt[20]; + m_A8 += gt[21]; + m_A9 += go[19]; + double RHS4 = Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + RHS4 -= go[20] * *cnV[20]; + RHS4 -= go[21] * *cnV[21]; + m_A10 += gt[22]; + m_A10 += gt[23]; + m_A11 += go[22]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 -= go[23] * *cnV[23]; + m_A12 += gt[24]; + m_A12 += gt[25]; + m_A12 += gt[26]; + m_A13 += go[24]; + double RHS6 = Idr[24]; + RHS6 += Idr[25]; + RHS6 += Idr[26]; + RHS6 -= go[25] * *cnV[25]; + RHS6 -= go[26] * *cnV[26]; + m_A14 += gt[27]; + m_A14 += gt[28]; + m_A14 += gt[29]; + m_A15 += go[27]; + double RHS7 = Idr[27]; + RHS7 += Idr[28]; + RHS7 += Idr[29]; + RHS7 -= go[28] * *cnV[28]; + RHS7 -= go[29] * *cnV[29]; + m_A17 += gt[30]; + m_A17 += gt[31]; + m_A17 += gt[32]; + m_A17 += gt[33]; + m_A17 += gt[34]; + m_A17 += gt[35]; + m_A16 += go[30]; + m_A18 += go[31]; + m_A19 += go[32]; + m_A19 += go[33]; + double RHS8 = Idr[30]; + RHS8 += Idr[31]; + RHS8 += Idr[32]; + RHS8 += Idr[33]; + RHS8 += Idr[34]; + RHS8 += Idr[35]; + RHS8 -= go[34] * *cnV[34]; + RHS8 -= go[35] * *cnV[35]; + m_A21 += gt[36]; + m_A21 += gt[37]; + m_A21 += gt[38]; + m_A22 += go[36]; + double RHS9 = Idr[36]; + RHS9 += Idr[37]; + RHS9 += Idr[38]; + RHS9 -= go[37] * *cnV[37]; + RHS9 -= go[38] * *cnV[38]; + m_A23 += gt[39]; + m_A23 += gt[40]; + m_A23 += gt[41]; + m_A25 += go[39]; + m_A24 += go[40]; + double RHS10 = Idr[39]; + RHS10 += Idr[40]; + RHS10 += Idr[41]; + RHS10 -= go[41] * *cnV[41]; + m_A27 += gt[42]; + m_A27 += gt[43]; + m_A27 += gt[44]; + m_A27 += gt[45]; + m_A27 += gt[46]; + m_A27 += gt[47]; + m_A26 += go[42]; + m_A29 += go[43]; + m_A29 += go[44]; + double RHS11 = Idr[42]; + RHS11 += Idr[43]; + RHS11 += Idr[44]; + RHS11 += Idr[45]; + RHS11 += Idr[46]; + RHS11 += Idr[47]; + RHS11 -= go[45] * *cnV[45]; + RHS11 -= go[46] * *cnV[46]; + RHS11 -= go[47] * *cnV[47]; + m_A31 += gt[48]; + m_A31 += gt[49]; + m_A32 += go[48]; + m_A30 += go[49]; + double RHS12 = Idr[48]; + RHS12 += Idr[49]; + m_A35 += gt[50]; + m_A35 += gt[51]; + m_A34 += go[50]; + m_A33 += go[51]; + double RHS13 = Idr[50]; + RHS13 += Idr[51]; + m_A38 += gt[52]; + m_A38 += gt[53]; + m_A37 += go[52]; + m_A36 += go[53]; + double RHS14 = Idr[52]; + RHS14 += Idr[53]; + m_A40 += gt[54]; + m_A40 += gt[55]; + m_A40 += gt[56]; + m_A40 += gt[57]; + m_A41 += go[54]; + m_A39 += go[55]; + double RHS15 = Idr[54]; + RHS15 += Idr[55]; + RHS15 += Idr[56]; + RHS15 += Idr[57]; + RHS15 -= go[56] * *cnV[56]; + RHS15 -= go[57] * *cnV[57]; + m_A44 += gt[58]; + m_A44 += gt[59]; + m_A43 += go[58]; + m_A42 += go[59]; + double RHS16 = Idr[58]; + RHS16 += Idr[59]; + m_A54 += gt[60]; + m_A54 += gt[61]; + m_A54 += gt[62]; + m_A54 += gt[63]; + m_A54 += gt[64]; + m_A54 += gt[65]; + m_A52 += go[60]; + m_A50 += go[61]; + m_A50 += go[62]; + m_A51 += go[63]; + m_A49 += go[64]; + m_A48 += go[65]; + double RHS17 = Idr[60]; + RHS17 += Idr[61]; + RHS17 += Idr[62]; + RHS17 += Idr[63]; + RHS17 += Idr[64]; + RHS17 += Idr[65]; + m_A65 += gt[66]; + m_A65 += gt[67]; + m_A65 += gt[68]; + m_A65 += gt[69]; + m_A65 += gt[70]; + m_A65 += gt[71]; + m_A61 += go[66]; + m_A60 += go[67]; + m_A60 += go[68]; + m_A59 += go[69]; + m_A58 += go[70]; + m_A57 += go[71]; + double RHS18 = Idr[66]; + RHS18 += Idr[67]; + RHS18 += Idr[68]; + RHS18 += Idr[69]; + RHS18 += Idr[70]; + RHS18 += Idr[71]; + m_A70 += gt[72]; + m_A70 += gt[73]; + m_A70 += gt[74]; + m_A70 += gt[75]; + m_A68 += go[72]; + m_A67 += go[73]; + double RHS19 = Idr[72]; + RHS19 += Idr[73]; + RHS19 += Idr[74]; + RHS19 += Idr[75]; + RHS19 -= go[74] * *cnV[74]; + RHS19 -= go[75] * *cnV[75]; + const double f0 = 1.0 / m_A0; + const double f0_8 = -f0 * m_A16; + m_A20 += m_A1 * f0_8; + RHS8 += f0_8 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_11 = -f1 * m_A26; + m_A28 += m_A3 * f1_11; + RHS11 += f1_11 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_12 = -f2 * m_A30; + m_A31 += m_A5 * f2_12; + RHS12 += f2_12 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_13 = -f3 * m_A33; + m_A35 += m_A7 * f3_13; + RHS13 += f3_13 * RHS3; + const double f3_17 = -f3 * m_A48; + m_A52 += m_A7 * f3_17; + RHS17 += f3_17 * RHS3; + const double f4 = 1.0 / m_A8; + const double f4_13 = -f4 * m_A34; + m_A35 += m_A9 * f4_13; + RHS13 += f4_13 * RHS4; + const double f5 = 1.0 / m_A10; + const double f5_14 = -f5 * m_A36; + m_A38 += m_A11 * f5_14; + RHS14 += f5_14 * RHS5; + const double f5_18 = -f5 * m_A57; + m_A61 += m_A11 * f5_18; RHS18 += f5_18 * RHS5; -const double f6 = 1.0 / m_A12; - const double f6_14 = -f6 * m_A33; - m_A37 += m_A13 * f6_14; + const double f6 = 1.0 / m_A12; + const double f6_14 = -f6 * m_A37; + m_A38 += m_A13 * f6_14; RHS14 += f6_14 * RHS6; -const double f7 = 1.0 / m_A14; - const double f7_14 = -f7 * m_A34; - m_A37 += m_A15 * f7_14; - RHS14 += f7_14 * RHS7; -const double f8 = 1.0 / m_A16; - const double f8_23 = -f8 * m_A83; - m_A88 += m_A17 * f8_23; - RHS23 += f8_23 * RHS8; -const double f9 = 1.0 / m_A18; - const double f9_14 = -f9 * m_A35; - m_A37 += m_A19 * f9_14; - RHS14 += f9_14 * RHS9; -const double f10 = 1.0 / m_A20; - const double f10_20 = -f10 * m_A64; - m_A66 += m_A21 * f10_20; - m_A68 += m_A22 * f10_20; - RHS20 += f10_20 * RHS10; - const double f10_23 = -f10 * m_A84; - m_A86 += m_A21 * f10_23; - m_A88 += m_A22 * f10_23; - RHS23 += f10_23 * RHS10; -const double f11 = 1.0 / m_A23; - const double f11_14 = -f11 * m_A36; - m_A37 += m_A24 * f11_14; - RHS14 += f11_14 * RHS11; -const double f12 = 1.0 / m_A25; - const double f12_18 = -f12 * m_A49; - m_A52 += m_A26 * f12_18; - m_A53 += m_A27 * f12_18; - m_A56 += m_A28 * f12_18; - RHS18 += f12_18 * RHS12; - const double f12_19 = -f12 * m_A57; - m_A58 += m_A26 * f12_19; - m_A59 += m_A27 * f12_19; - m_A62 += m_A28 * f12_19; - RHS19 += f12_19 * RHS12; - const double f12_24 = -f12 * m_A89; - m_A90 += m_A26 * f12_24; - m_A91 += m_A27 * f12_24; - m_A94 += m_A28 * f12_24; - RHS24 += f12_24 * RHS12; -const double f13 = 1.0 / m_A29; - const double f13_18 = -f13 * m_A50; - m_A52 += m_A30 * f13_18; - m_A54 += m_A31 * f13_18; - RHS18 += f13_18 * RHS13; - const double f13_22 = -f13 * m_A76; - m_A78 += m_A30 * f13_22; - m_A80 += m_A31 * f13_22; - RHS22 += f13_22 * RHS13; -const double f14 = 1.0 / m_A37; - const double f14_21 = -f14 * m_A71; - RHS21 += f14_21 * RHS14; -const double f15 = 1.0 / m_A39; - const double f15_20 = -f15 * m_A65; - m_A67 += m_A40 * f15_20; - RHS20 += f15_20 * RHS15; -const double f16 = 1.0 / m_A42; - const double f16_22 = -f16 * m_A77; - m_A78 += m_A43 * f16_22; - RHS22 += f16_22 * RHS16; -const double f17 = 1.0 / m_A45; - const double f17_18 = -f17 * m_A51; - m_A55 += m_A46 * f17_18; + const double f7 = 1.0 / m_A14; + const double f7_17 = -f7 * m_A49; + m_A54 += m_A15 * f7_17; + RHS17 += f7_17 * RHS7; + const double f7_19 = -f7 * m_A67; + m_A68 += m_A15 * f7_19; + RHS19 += f7_19 * RHS7; + const double f8 = 1.0 / m_A17; + const double f8_16 = -f8 * m_A42; + m_A44 += m_A18 * f8_16; + m_A45 += m_A19 * f8_16; + m_A47 += m_A20 * f8_16; + RHS16 += f8_16 * RHS8; + const double f8_17 = -f8 * m_A50; + m_A53 += m_A18 * f8_17; + m_A54 += m_A19 * f8_17; + m_A56 += m_A20 * f8_17; + RHS17 += f8_17 * RHS8; + const double f9 = 1.0 / m_A21; + const double f9_15 = -f9 * m_A39; + m_A41 += m_A22 * f9_15; + RHS15 += f9_15 * RHS9; + const double f9_18 = -f9 * m_A58; + m_A65 += m_A22 * f9_18; + RHS18 += f9_18 * RHS9; + const double f10 = 1.0 / m_A23; + const double f10_16 = -f10 * m_A43; + m_A44 += m_A24 * f10_16; + m_A46 += m_A25 * f10_16; + RHS16 += f10_16 * RHS10; + const double f10_18 = -f10 * m_A59; + m_A63 += m_A24 * f10_18; + m_A65 += m_A25 * f10_18; + RHS18 += f10_18 * RHS10; + const double f11 = 1.0 / m_A27; + const double f11_18 = -f11 * m_A60; + m_A62 += m_A28 * f11_18; + m_A65 += m_A29 * f11_18; + RHS18 += f11_18 * RHS11; + const double f12 = 1.0 / m_A31; + const double f12_17 = -f12 * m_A51; + m_A54 += m_A32 * f12_17; + RHS17 += f12_17 * RHS12; + const double f13 = 1.0 / m_A35; + const double f13_17 = -f13 * m_A52; + RHS17 += f13_17 * RHS13; + const double f14 = 1.0 / m_A38; + const double f14_18 = -f14 * m_A61; + RHS18 += f14_18 * RHS14; + const double f15 = 1.0 / m_A40; + const double f15_18 = -f15 * m_A62; + m_A65 += m_A41 * f15_18; + RHS18 += f15_18 * RHS15; + const double f16 = 1.0 / m_A44; + const double f16_17 = -f16 * m_A53; + m_A54 += m_A45 * f16_17; + m_A55 += m_A46 * f16_17; + m_A56 += m_A47 * f16_17; + RHS17 += f16_17 * RHS16; + const double f16_18 = -f16 * m_A63; + m_A64 += m_A45 * f16_18; + m_A65 += m_A46 * f16_18; + m_A66 += m_A47 * f16_18; + RHS18 += f16_18 * RHS16; + const double f17 = 1.0 / m_A54; + const double f17_18 = -f17 * m_A64; + m_A65 += m_A55 * f17_18; + m_A66 += m_A56 * f17_18; RHS18 += f17_18 * RHS17; - const double f17_23 = -f17 * m_A85; - m_A88 += m_A46 * f17_23; - RHS23 += f17_23 * RHS17; -const double f18 = 1.0 / m_A52; - const double f18_19 = -f18 * m_A58; - m_A59 += m_A53 * f18_19; - m_A60 += m_A54 * f18_19; - m_A61 += m_A55 * f18_19; - m_A62 += m_A56 * f18_19; + const double f17_19 = -f17 * m_A68; + m_A69 += m_A55 * f17_19; + m_A70 += m_A56 * f17_19; + RHS19 += f17_19 * RHS17; + const double f18 = 1.0 / m_A65; + const double f18_19 = -f18 * m_A69; + m_A70 += m_A66 * f18_19; RHS19 += f18_19 * RHS18; - const double f18_22 = -f18 * m_A78; - m_A79 += m_A53 * f18_22; - m_A80 += m_A54 * f18_22; - m_A81 += m_A55 * f18_22; - m_A82 += m_A56 * f18_22; - RHS22 += f18_22 * RHS18; - const double f18_24 = -f18 * m_A90; - m_A91 += m_A53 * f18_24; - m_A92 += m_A54 * f18_24; - m_A93 += m_A55 * f18_24; - m_A94 += m_A56 * f18_24; - RHS24 += f18_24 * RHS18; -const double f19 = 1.0 / m_A59; - const double f19_22 = -f19 * m_A79; - m_A80 += m_A60 * f19_22; - m_A81 += m_A61 * f19_22; - m_A82 += m_A62 * f19_22; - RHS22 += f19_22 * RHS19; - const double f19_24 = -f19 * m_A91; - m_A92 += m_A60 * f19_24; - m_A93 += m_A61 * f19_24; - m_A94 += m_A62 * f19_24; - RHS24 += f19_24 * RHS19; -const double f20 = 1.0 / m_A66; - const double f20_21 = -f20 * m_A72; - m_A73 += m_A67 * f20_21; - m_A74 += m_A68 * f20_21; - RHS21 += f20_21 * RHS20; - const double f20_23 = -f20 * m_A86; - m_A87 += m_A67 * f20_23; - m_A88 += m_A68 * f20_23; - RHS23 += f20_23 * RHS20; -const double f21 = 1.0 / m_A73; - const double f21_23 = -f21 * m_A87; - m_A88 += m_A74 * f21_23; - RHS23 += f21_23 * RHS21; -const double f22 = 1.0 / m_A80; - const double f22_24 = -f22 * m_A92; - m_A93 += m_A81 * f22_24; - m_A94 += m_A82 * f22_24; - RHS24 += f22_24 * RHS22; -const double f23 = 1.0 / m_A88; - const double f23_24 = -f23 * m_A93; - RHS24 += f23_24 * RHS23; - V[24] = RHS24 / m_A94; - double tmp23 = 0.0; - V[23] = (RHS23 - tmp23) / m_A88; - double tmp22 = 0.0; - tmp22 += m_A81 * V[23]; - tmp22 += m_A82 * V[24]; - V[22] = (RHS22 - tmp22) / m_A80; - double tmp21 = 0.0; - tmp21 += m_A74 * V[23]; - V[21] = (RHS21 - tmp21) / m_A73; - double tmp20 = 0.0; - tmp20 += m_A67 * V[21]; - tmp20 += m_A68 * V[23]; - V[20] = (RHS20 - tmp20) / m_A66; - double tmp19 = 0.0; - tmp19 += m_A60 * V[22]; - tmp19 += m_A61 * V[23]; - tmp19 += m_A62 * V[24]; - V[19] = (RHS19 - tmp19) / m_A59; + V[19] = RHS19 / m_A70; double tmp18 = 0.0; - tmp18 += m_A53 * V[19]; - tmp18 += m_A54 * V[22]; - tmp18 += m_A55 * V[23]; - tmp18 += m_A56 * V[24]; - V[18] = (RHS18 - tmp18) / m_A52; + tmp18 += m_A66 * V[19]; + V[18] = (RHS18 - tmp18) / m_A65; double tmp17 = 0.0; - tmp17 += m_A46 * V[23]; - V[17] = (RHS17 - tmp17) / m_A45; + tmp17 += m_A55 * V[18]; + tmp17 += m_A56 * V[19]; + V[17] = (RHS17 - tmp17) / m_A54; double tmp16 = 0.0; - tmp16 += m_A43 * V[18]; - V[16] = (RHS16 - tmp16) / m_A42; + tmp16 += m_A45 * V[17]; + tmp16 += m_A46 * V[18]; + tmp16 += m_A47 * V[19]; + V[16] = (RHS16 - tmp16) / m_A44; double tmp15 = 0.0; - tmp15 += m_A40 * V[21]; - V[15] = (RHS15 - tmp15) / m_A39; + tmp15 += m_A41 * V[18]; + V[15] = (RHS15 - tmp15) / m_A40; double tmp14 = 0.0; - V[14] = (RHS14 - tmp14) / m_A37; + V[14] = (RHS14 - tmp14) / m_A38; double tmp13 = 0.0; - tmp13 += m_A30 * V[18]; - tmp13 += m_A31 * V[22]; - V[13] = (RHS13 - tmp13) / m_A29; + V[13] = (RHS13 - tmp13) / m_A35; double tmp12 = 0.0; - tmp12 += m_A26 * V[18]; - tmp12 += m_A27 * V[19]; - tmp12 += m_A28 * V[24]; - V[12] = (RHS12 - tmp12) / m_A25; + tmp12 += m_A32 * V[17]; + V[12] = (RHS12 - tmp12) / m_A31; double tmp11 = 0.0; - tmp11 += m_A24 * V[14]; - V[11] = (RHS11 - tmp11) / m_A23; + tmp11 += m_A28 * V[15]; + tmp11 += m_A29 * V[18]; + V[11] = (RHS11 - tmp11) / m_A27; double tmp10 = 0.0; - tmp10 += m_A21 * V[20]; - tmp10 += m_A22 * V[23]; - V[10] = (RHS10 - tmp10) / m_A20; + tmp10 += m_A24 * V[16]; + tmp10 += m_A25 * V[18]; + V[10] = (RHS10 - tmp10) / m_A23; double tmp9 = 0.0; - tmp9 += m_A19 * V[14]; - V[9] = (RHS9 - tmp9) / m_A18; + tmp9 += m_A22 * V[18]; + V[9] = (RHS9 - tmp9) / m_A21; double tmp8 = 0.0; - tmp8 += m_A17 * V[23]; - V[8] = (RHS8 - tmp8) / m_A16; + tmp8 += m_A18 * V[16]; + tmp8 += m_A19 * V[17]; + tmp8 += m_A20 * V[19]; + V[8] = (RHS8 - tmp8) / m_A17; double tmp7 = 0.0; - tmp7 += m_A15 * V[14]; + tmp7 += m_A15 * V[17]; V[7] = (RHS7 - tmp7) / m_A14; double tmp6 = 0.0; tmp6 += m_A13 * V[14]; V[6] = (RHS6 - tmp6) / m_A12; double tmp5 = 0.0; - tmp5 += m_A11 * V[17]; + tmp5 += m_A11 * V[14]; V[5] = (RHS5 - tmp5) / m_A10; double tmp4 = 0.0; - tmp4 += m_A9 * V[14]; + tmp4 += m_A9 * V[13]; V[4] = (RHS4 - tmp4) / m_A8; double tmp3 = 0.0; - tmp3 += m_A7 * V[16]; + tmp3 += m_A7 * V[13]; V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A5 * V[18]; + tmp2 += m_A5 * V[12]; V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; tmp1 += m_A3 * V[15]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[21]; + tmp0 += m_A1 * V[19]; V[0] = (RHS0 - tmp0) / m_A0; } // breakout -static void nl_gcr_fbbf6eebb7621abc_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) - -{ - -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2]; - m_A1 = m_A1 + go[0]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2]; - m_A2 = gt[4] + gt[5]; - m_A3 = m_A3 + go[4]; - double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5]; - m_A6 = gt[8] + gt[9]; - m_A5 = m_A5 + go[8]; - m_A4 = m_A4 + go[9]; - double RHS2 = Idr[8] + Idr[9]; -const double f0 = 1.0 / m_A0; - const double f0_2 = -f0 * m_A4; - m_A6 += m_A1 * f0_2; - RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; - const double f1_2 = -f1 * m_A5; - m_A6 += m_A3 * f1_2; - RHS2 += f1_2 * RHS1; - V[2] = RHS2 / m_A6; - double tmp1 = 0.0; - tmp1 += m_A3 * V[2]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[2]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// cheekyms -static void nl_gcr_feb42362d28845e7_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV) +static void nl_gcr_f6a620d52ca4719f_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { -double m_A0(0.0); -double m_A1(0.0); -double m_A2(0.0); -double m_A3(0.0); -double m_A4(0.0); -double m_A5(0.0); -double m_A6(0.0); - m_A0 = gt[0] + gt[1] + gt[2] + gt[3]; - m_A1 = m_A1 + go[0]; - m_A1 = m_A1 + go[1]; - double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[2] * *cnV[2] - go[3] * *cnV[3]; - m_A2 = gt[6] + gt[7]; - m_A3 = m_A3 + go[6]; - double RHS1 = Idr[6] + Idr[7] - go[7] * *cnV[7]; - m_A6 = gt[12] + gt[13] + gt[14] + gt[15] + gt[16]; - m_A5 = m_A5 + go[12]; - m_A4 = m_A4 + go[13]; - m_A4 = m_A4 + go[14]; - double RHS2 = Idr[12] + Idr[13] + Idr[14] + Idr[15] + Idr[16] - go[15] * *cnV[15] - go[16] * *cnV[16]; -const double f0 = 1.0 / m_A0; + double m_A0(0.0); + double m_A1(0.0); + double m_A2(0.0); + double m_A3(0.0); + double m_A4(0.0); + double m_A5(0.0); + double m_A6(0.0); + m_A0 += gt[0]; + m_A0 += gt[1]; + m_A0 += gt[2]; + m_A1 += go[0]; + double RHS0 = Idr[0]; + RHS0 += Idr[1]; + RHS0 += Idr[2]; + RHS0 -= go[1] * *cnV[1]; + RHS0 -= go[2] * *cnV[2]; + m_A2 += gt[3]; + m_A2 += gt[4]; + m_A3 += go[3]; + double RHS1 = Idr[3]; + RHS1 += Idr[4]; + RHS1 -= go[4] * *cnV[4]; + m_A6 += gt[5]; + m_A6 += gt[6]; + m_A5 += go[5]; + m_A4 += go[6]; + double RHS2 = Idr[5]; + RHS2 += Idr[6]; + const double f0 = 1.0 / m_A0; const double f0_2 = -f0 * m_A4; m_A6 += m_A1 * f0_2; RHS2 += f0_2 * RHS0; -const double f1 = 1.0 / m_A2; + const double f1 = 1.0 / m_A2; const double f1_2 = -f1 * m_A5; m_A6 += m_A3 * f1_2; RHS2 += f1_2 * RHS1; @@ -12865,124 +17951,125 @@ const double f1 = 1.0 / m_A2; V[0] = (RHS0 - tmp0) / m_A0; } +extern plib::dynlib_static_sym nl_static_solver_syms[]; plib::dynlib_static_sym nl_static_solver_syms[] = { -// gamemachine - {"nl_gcr_111d6ad4781c136_19_double_double", reinterpret_cast(&nl_gcr_111d6ad4781c136_19_double_double)}, -// cheekyms - {"nl_gcr_11995a0d28843023_150_double_double", reinterpret_cast(&nl_gcr_11995a0d28843023_150_double_double)}, -// mario - {"nl_gcr_15fa1a3cf923c9fd_29_double_double", reinterpret_cast(&nl_gcr_15fa1a3cf923c9fd_29_double_double)}, +// konami1x + {"nl_gcr_105d3ecb773843b6_49_double_double", reinterpret_cast(&nl_gcr_105d3ecb773843b6_49_double_double)}, +// breakout + {"nl_gcr_15a4e7fbe5facb3a_7_double_double", reinterpret_cast(&nl_gcr_15a4e7fbe5facb3a_7_double_double)}, +// breakout + {"nl_gcr_1993cb957e80c097_10_double_double", reinterpret_cast(&nl_gcr_1993cb957e80c097_10_double_double)}, // kidniki - {"nl_gcr_169c14d438ffb621_198_double_double", reinterpret_cast(&nl_gcr_169c14d438ffb621_198_double_double)}, + {"nl_gcr_1cbd5d704f6e93c1_67_double_double", reinterpret_cast(&nl_gcr_1cbd5d704f6e93c1_67_double_double)}, +// 280zzzap + {"nl_gcr_20d478ed5597161_123_double_double", reinterpret_cast(&nl_gcr_20d478ed5597161_123_double_double)}, +// stuntcyc + {"nl_gcr_251e2a2e2c8d5b33_20_double_double", reinterpret_cast(&nl_gcr_251e2a2e2c8d5b33_20_double_double)}, // cheekyms - {"nl_gcr_19f6e9708f37ad65_7_double_double", reinterpret_cast(&nl_gcr_19f6e9708f37ad65_7_double_double)}, + {"nl_gcr_278f0b40e27b21fc_150_double_double", reinterpret_cast(&nl_gcr_278f0b40e27b21fc_150_double_double)}, // zac1b11142 - {"nl_gcr_1dd100c8f34cf889_96_double_double", reinterpret_cast(&nl_gcr_1dd100c8f34cf889_96_double_double)}, + {"nl_gcr_2b5c86f8653bcde7_12_double_double", reinterpret_cast(&nl_gcr_2b5c86f8653bcde7_12_double_double)}, // rebound - {"nl_gcr_1faccd91c85d3ab3_28_double_double", reinterpret_cast(&nl_gcr_1faccd91c85d3ab3_28_double_double)}, + {"nl_gcr_33a561080717d469_7_double_double", reinterpret_cast(&nl_gcr_33a561080717d469_7_double_double)}, +// dpatrol + {"nl_gcr_390fe6bd5468155d_7_double_double", reinterpret_cast(&nl_gcr_390fe6bd5468155d_7_double_double)}, +// kidniki + {"nl_gcr_445192d0ef3f62c6_21_double_double", reinterpret_cast(&nl_gcr_445192d0ef3f62c6_21_double_double)}, +// kidniki + {"nl_gcr_4a06f16ac700a832_198_double_double", reinterpret_cast(&nl_gcr_4a06f16ac700a832_198_double_double)}, +// gtrak10 + {"nl_gcr_4e48e9f6ef4bfdc4_43_double_double", reinterpret_cast(&nl_gcr_4e48e9f6ef4bfdc4_43_double_double)}, +// kidniki + {"nl_gcr_580e08d22698f60a_37_double_double", reinterpret_cast(&nl_gcr_580e08d22698f60a_37_double_double)}, +// kidniki + {"nl_gcr_58f8065842de37d4_34_double_double", reinterpret_cast(&nl_gcr_58f8065842de37d4_34_double_double)}, // breakout - {"nl_gcr_1fffb23aa506432d_13_double_double", reinterpret_cast(&nl_gcr_1fffb23aa506432d_13_double_double)}, -// pongf - {"nl_gcr_20615d28f46254cb_10_double_double", reinterpret_cast(&nl_gcr_20615d28f46254cb_10_double_double)}, + {"nl_gcr_59095cbc65117534_13_double_double", reinterpret_cast(&nl_gcr_59095cbc65117534_13_double_double)}, +// breakout + {"nl_gcr_593686d4c01bf991_31_double_double", reinterpret_cast(&nl_gcr_593686d4c01bf991_31_double_double)}, // zac1b11142 - {"nl_gcr_21d92b630d2e9a99_30_double_double", reinterpret_cast(&nl_gcr_21d92b630d2e9a99_30_double_double)}, -// dpatrol - {"nl_gcr_27a78682a9b70f8c_10_double_double", reinterpret_cast(&nl_gcr_27a78682a9b70f8c_10_double_double)}, + {"nl_gcr_5a632d4741241573_96_double_double", reinterpret_cast(&nl_gcr_5a632d4741241573_96_double_double)}, // 280zzzap - {"nl_gcr_2e7df52e4934b257_31_double_double", reinterpret_cast(&nl_gcr_2e7df52e4934b257_31_double_double)}, -// mario - {"nl_gcr_2eb3d95f720484d_62_double_double", reinterpret_cast(&nl_gcr_2eb3d95f720484d_62_double_double)}, -// segas16b_audio - {"nl_gcr_35947d349693c22_111_double_double", reinterpret_cast(&nl_gcr_35947d349693c22_111_double_double)}, -// cocoloco - {"nl_gcr_3641ac25e244c362_16_double_double", reinterpret_cast(&nl_gcr_3641ac25e244c362_16_double_double)}, + {"nl_gcr_5af09c93b5cf0788_95_double_double", reinterpret_cast(&nl_gcr_5af09c93b5cf0788_95_double_double)}, // zac1b11142 - {"nl_gcr_38a3ac18f52bf78a_7_double_double", reinterpret_cast(&nl_gcr_38a3ac18f52bf78a_7_double_double)}, -// dpatrol - {"nl_gcr_38f1806722626d7e_7_double_double", reinterpret_cast(&nl_gcr_38f1806722626d7e_7_double_double)}, -// kidniki - {"nl_gcr_3e4821cabc0aeb96_24_double_double", reinterpret_cast(&nl_gcr_3e4821cabc0aeb96_24_double_double)}, -// dpatrol - {"nl_gcr_57a832104e53c9a8_20_double_double", reinterpret_cast(&nl_gcr_57a832104e53c9a8_20_double_double)}, + {"nl_gcr_60352d234249ea57_30_double_double", reinterpret_cast(&nl_gcr_60352d234249ea57_30_double_double)}, +// breakout + {"nl_gcr_655da76624809228_13_double_double", reinterpret_cast(&nl_gcr_655da76624809228_13_double_double)}, +// cheekyms + {"nl_gcr_6d03e64d09c956c3_7_double_double", reinterpret_cast(&nl_gcr_6d03e64d09c956c3_7_double_double)}, // rebound - {"nl_gcr_5985dfb549280eeb_13_double_double", reinterpret_cast(&nl_gcr_5985dfb549280eeb_13_double_double)}, + {"nl_gcr_6e17dfd7d26d8933_13_double_double", reinterpret_cast(&nl_gcr_6e17dfd7d26d8933_13_double_double)}, +// gamemachine + {"nl_gcr_70c1124c705dd998_19_double_double", reinterpret_cast(&nl_gcr_70c1124c705dd998_19_double_double)}, +// cheekyms + {"nl_gcr_70f289d5486b9767_7_double_double", reinterpret_cast(&nl_gcr_70f289d5486b9767_7_double_double)}, +// zac1b11142 + {"nl_gcr_752680f8e0bc6a4a_7_double_double", reinterpret_cast(&nl_gcr_752680f8e0bc6a4a_7_double_double)}, +// mario + {"nl_gcr_7b9186d9ff77f7a1_29_double_double", reinterpret_cast(&nl_gcr_7b9186d9ff77f7a1_29_double_double)}, +// cheekyms + {"nl_gcr_7e9498276980e5d1_12_double_double", reinterpret_cast(&nl_gcr_7e9498276980e5d1_12_double_double)}, +// kidniki + {"nl_gcr_80d7c219807268a_24_double_double", reinterpret_cast(&nl_gcr_80d7c219807268a_24_double_double)}, +// pongf + {"nl_gcr_81ae080c83dcf6a4_35_double_double", reinterpret_cast(&nl_gcr_81ae080c83dcf6a4_35_double_double)}, // tp1985 - {"nl_gcr_5ca1779d1825c4c9_26_double_double", reinterpret_cast(&nl_gcr_5ca1779d1825c4c9_26_double_double)}, + {"nl_gcr_83fbe835263b28d3_7_double_double", reinterpret_cast(&nl_gcr_83fbe835263b28d3_7_double_double)}, +// pongf + {"nl_gcr_930be1d2f1a52598_10_double_double", reinterpret_cast(&nl_gcr_930be1d2f1a52598_10_double_double)}, +// kidniki + {"nl_gcr_9701e2657a7f4ca3_37_double_double", reinterpret_cast(&nl_gcr_9701e2657a7f4ca3_37_double_double)}, +// cocoloco + {"nl_gcr_97d556b480d72ab7_16_double_double", reinterpret_cast(&nl_gcr_97d556b480d72ab7_16_double_double)}, +// zac1b11142 + {"nl_gcr_988a81edfbe45655_30_double_double", reinterpret_cast(&nl_gcr_988a81edfbe45655_30_double_double)}, // tp1985 - {"nl_gcr_6148fa421800febb_10_double_double", reinterpret_cast(&nl_gcr_6148fa421800febb_10_double_double)}, + {"nl_gcr_99e69c1880e516a7_10_double_double", reinterpret_cast(&nl_gcr_99e69c1880e516a7_10_double_double)}, // tp1985 - {"nl_gcr_6480c7a1d69e9131_7_double_double", reinterpret_cast(&nl_gcr_6480c7a1d69e9131_7_double_double)}, -// 280zzzap - {"nl_gcr_66a07f8f9d33245b_57_double_double", reinterpret_cast(&nl_gcr_66a07f8f9d33245b_57_double_double)}, -// stuntcyc - {"nl_gcr_6c599fc01f5b084c_20_double_double", reinterpret_cast(&nl_gcr_6c599fc01f5b084c_20_double_double)}, -// breakout - {"nl_gcr_6d40bbc695987ef5_13_double_double", reinterpret_cast(&nl_gcr_6d40bbc695987ef5_13_double_double)}, -// pongf - {"nl_gcr_70e1061a9deb37a4_7_double_double", reinterpret_cast(&nl_gcr_70e1061a9deb37a4_7_double_double)}, + {"nl_gcr_a1806410e32baeb_26_double_double", reinterpret_cast(&nl_gcr_a1806410e32baeb_26_double_double)}, +// gunfight + {"nl_gcr_a479712c277f2ba4_108_double_double", reinterpret_cast(&nl_gcr_a479712c277f2ba4_108_double_double)}, // breakout - {"nl_gcr_7421995adbfda1ad_10_double_double", reinterpret_cast(&nl_gcr_7421995adbfda1ad_10_double_double)}, -// zac1b11142 - {"nl_gcr_7572db25f250cf5a_71_double_double", reinterpret_cast(&nl_gcr_7572db25f250cf5a_71_double_double)}, + {"nl_gcr_a59b19805d7e4461_7_double_double", reinterpret_cast(&nl_gcr_a59b19805d7e4461_7_double_double)}, // 280zzzap - {"nl_gcr_766cc932eebf25ec_104_double_double", reinterpret_cast(&nl_gcr_766cc932eebf25ec_104_double_double)}, -// popeye - {"nl_gcr_794f14a13bda75f0_50_double_double", reinterpret_cast(&nl_gcr_794f14a13bda75f0_50_double_double)}, -// breakout - {"nl_gcr_7a4e8b4f388d66d7_7_double_double", reinterpret_cast(&nl_gcr_7a4e8b4f388d66d7_7_double_double)}, + {"nl_gcr_a716c0b150a52aeb_135_double_double", reinterpret_cast(&nl_gcr_a716c0b150a52aeb_135_double_double)}, +// 1942 + {"nl_gcr_b20cee3516465509_90_double_double", reinterpret_cast(&nl_gcr_b20cee3516465509_90_double_double)}, +// segas16b_audio + {"nl_gcr_b71f53c9e7a6b4a9_111_double_double", reinterpret_cast(&nl_gcr_b71f53c9e7a6b4a9_111_double_double)}, // 280zzzap - {"nl_gcr_7af598c34aca424d_135_double_double", reinterpret_cast(&nl_gcr_7af598c34aca424d_135_double_double)}, -// kidniki - {"nl_gcr_7b1592d23e41ce56_37_double_double", reinterpret_cast(&nl_gcr_7b1592d23e41ce56_37_double_double)}, + {"nl_gcr_bcf0e3af19330ca7_116_double_double", reinterpret_cast(&nl_gcr_bcf0e3af19330ca7_116_double_double)}, +// 280zzzap + {"nl_gcr_caa814c0740131f2_104_double_double", reinterpret_cast(&nl_gcr_caa814c0740131f2_104_double_double)}, // rebound - {"nl_gcr_7c58698d6a68f4a0_7_double_double", reinterpret_cast(&nl_gcr_7c58698d6a68f4a0_7_double_double)}, -// gunfight - {"nl_gcr_7dbbdf7feecfa9bd_108_double_double", reinterpret_cast(&nl_gcr_7dbbdf7feecfa9bd_108_double_double)}, -// konami1x - {"nl_gcr_7f2f6447ea71d31e_49_double_double", reinterpret_cast(&nl_gcr_7f2f6447ea71d31e_49_double_double)}, + {"nl_gcr_cb1d3c28ba315ca6_28_double_double", reinterpret_cast(&nl_gcr_cb1d3c28ba315ca6_28_double_double)}, +// mario + {"nl_gcr_cc367a3c6e2f7ec9_62_double_double", reinterpret_cast(&nl_gcr_cc367a3c6e2f7ec9_62_double_double)}, +// pongf + {"nl_gcr_cd4de579d34fc1d9_7_double_double", reinterpret_cast(&nl_gcr_cd4de579d34fc1d9_7_double_double)}, // dpatrol - {"nl_gcr_81bfac76b696d9f3_22_double_double", reinterpret_cast(&nl_gcr_81bfac76b696d9f3_22_double_double)}, -// breakout - {"nl_gcr_876240e48d904d1f_7_double_double", reinterpret_cast(&nl_gcr_876240e48d904d1f_7_double_double)}, -// konami2x - {"nl_gcr_8e55e5f9e065890e_85_double_double", reinterpret_cast(&nl_gcr_8e55e5f9e065890e_85_double_double)}, -// kidniki - {"nl_gcr_933b3efec18faab_37_double_double", reinterpret_cast(&nl_gcr_933b3efec18faab_37_double_double)}, -// 280zzzap - {"nl_gcr_9de29bb0cfe2c4b4_116_double_double", reinterpret_cast(&nl_gcr_9de29bb0cfe2c4b4_116_double_double)}, + {"nl_gcr_cffc52225ebcec8f_20_double_double", reinterpret_cast(&nl_gcr_cffc52225ebcec8f_20_double_double)}, +// popeye + {"nl_gcr_d153cd8a3df26761_50_double_double", reinterpret_cast(&nl_gcr_d153cd8a3df26761_50_double_double)}, +// dpatrol + {"nl_gcr_d229cf0026955cd3_10_double_double", reinterpret_cast(&nl_gcr_d229cf0026955cd3_10_double_double)}, // 280zzzap - {"nl_gcr_9e7791458f751e0c_123_double_double", reinterpret_cast(&nl_gcr_9e7791458f751e0c_123_double_double)}, -// 1942 - {"nl_gcr_a1b753ac9c408940_90_double_double", reinterpret_cast(&nl_gcr_a1b753ac9c408940_90_double_double)}, -// zac1b11142 - {"nl_gcr_a26cb0ca00cdeba6_12_double_double", reinterpret_cast(&nl_gcr_a26cb0ca00cdeba6_12_double_double)}, -// kidniki - {"nl_gcr_a2b9e1d13f95c2d3_34_double_double", reinterpret_cast(&nl_gcr_a2b9e1d13f95c2d3_34_double_double)}, -// breakout - {"nl_gcr_a5e9537117c3969a_31_double_double", reinterpret_cast(&nl_gcr_a5e9537117c3969a_31_double_double)}, -// zac1b11142 - {"nl_gcr_a88b481713b08b7b_30_double_double", reinterpret_cast(&nl_gcr_a88b481713b08b7b_30_double_double)}, -// kidniki - {"nl_gcr_b42f307001315373_21_double_double", reinterpret_cast(&nl_gcr_b42f307001315373_21_double_double)}, -// pongf - {"nl_gcr_b8e1f7dd43c1da70_35_double_double", reinterpret_cast(&nl_gcr_b8e1f7dd43c1da70_35_double_double)}, -// gtrak10 - {"nl_gcr_b9ccfa3d1681baf3_43_double_double", reinterpret_cast(&nl_gcr_b9ccfa3d1681baf3_43_double_double)}, + {"nl_gcr_d5f69adb177fea36_31_double_double", reinterpret_cast(&nl_gcr_d5f69adb177fea36_31_double_double)}, // gamemachine - {"nl_gcr_d028b2a263a6b4a7_7_double_double", reinterpret_cast(&nl_gcr_d028b2a263a6b4a7_7_double_double)}, -// zac1b11142 - {"nl_gcr_dded752996a524fc_178_double_double", reinterpret_cast(&nl_gcr_dded752996a524fc_178_double_double)}, -// cheekyms - {"nl_gcr_e67e623b6c100b4e_12_double_double", reinterpret_cast(&nl_gcr_e67e623b6c100b4e_12_double_double)}, -// kidniki - {"nl_gcr_e7e5566e352b80c1_67_double_double", reinterpret_cast(&nl_gcr_e7e5566e352b80c1_67_double_double)}, + {"nl_gcr_ddffc2781d05acf_10_double_double", reinterpret_cast(&nl_gcr_ddffc2781d05acf_10_double_double)}, // gamemachine - {"nl_gcr_ec17a9dbc8cd78fd_10_double_double", reinterpret_cast(&nl_gcr_ec17a9dbc8cd78fd_10_double_double)}, + {"nl_gcr_df3a545642cc0a22_7_double_double", reinterpret_cast(&nl_gcr_df3a545642cc0a22_7_double_double)}, +// zac1b11142 + {"nl_gcr_e3e057bb1961a530_178_double_double", reinterpret_cast(&nl_gcr_e3e057bb1961a530_178_double_double)}, +// konami2x + {"nl_gcr_e4c54910436826d1_85_double_double", reinterpret_cast(&nl_gcr_e4c54910436826d1_85_double_double)}, // 280zzzap - {"nl_gcr_f1804fa5ede37373_95_double_double", reinterpret_cast(&nl_gcr_f1804fa5ede37373_95_double_double)}, + {"nl_gcr_eb8f99b7d033585a_57_double_double", reinterpret_cast(&nl_gcr_eb8f99b7d033585a_57_double_double)}, +// dpatrol + {"nl_gcr_ef9b40abd2bf582c_22_double_double", reinterpret_cast(&nl_gcr_ef9b40abd2bf582c_22_double_double)}, +// zac1b11142 + {"nl_gcr_f0a19b84f91ff24f_71_double_double", reinterpret_cast(&nl_gcr_f0a19b84f91ff24f_71_double_double)}, // breakout - {"nl_gcr_fbbf6eebb7621abc_7_double_double", reinterpret_cast(&nl_gcr_fbbf6eebb7621abc_7_double_double)}, -// cheekyms - {"nl_gcr_feb42362d28845e7_7_double_double", reinterpret_cast(&nl_gcr_feb42362d28845e7_7_double_double)}, + {"nl_gcr_f6a620d52ca4719f_7_double_double", reinterpret_cast(&nl_gcr_f6a620d52ca4719f_7_double_double)}, {"", nullptr} }; diff --git a/src/lib/netlist/plib/pmatrix2d.h b/src/lib/netlist/plib/pmatrix2d.h index b48c531a921..33e3169c64a 100644 --- a/src/lib/netlist/plib/pmatrix2d.h +++ b/src/lib/netlist/plib/pmatrix2d.h @@ -67,6 +67,12 @@ namespace plib return (*this)[r][c]; } + // for compatibility with vrl variant + void set(size_type r, size_type c, const T &v) noexcept + { + (*this)[r][c] = v; + } + T * data() noexcept { return m_v.data(); @@ -90,6 +96,99 @@ namespace plib std::vector m_v; }; + // variable row length matrix + template> + class pmatrix2d_vrl + { + public: + using size_type = std::size_t; + using value_type = T; + using allocator_type = A; + + static constexpr const size_type align_size = align_traits::align_size; + static constexpr const size_type stride_size = align_traits::stride_size; + pmatrix2d_vrl() noexcept + : m_N(0), m_M(0), m_v() + { + } + + pmatrix2d_vrl(size_type N, size_type M) + : m_N(N), m_M(M), m_v() + { + m_row.resize(N + 1, 0); + m_v.resize(N); //FIXME + } + + void resize(size_type N, size_type M) + { + m_N = N; + m_M = M; + m_row.resize(N + 1); + for (std::size_t i = 0; i < m_N; i++) + m_row[i] = 0; + m_v.resize(N); //FIXME + } + + constexpr T * operator[] (size_type row) noexcept + { + return &(m_v[m_row[row]]); + } + + constexpr const T * operator[] (size_type row) const noexcept + { + return &(m_v[m_row[row]]); + } + +#if 0 + T & operator()(size_type r, size_type c) noexcept + { + return (*this)[r][c]; + } +#else + void set(size_type r, size_type c, const T &v) noexcept + { + if (c + m_row[r] >= m_row[r + 1]) + { + m_v.insert(m_v.begin() + m_row[r+1], v); + for (size_type i = r + 1; i <= m_N; i++) + m_row[i] = m_row[i] + 1; + } + else + (*this)[r][c] = v; + } +#endif + //FIXME: no check! + const T & operator()(size_type r, size_type c) const noexcept + { + return (*this)[r][c]; + } + + T * data() noexcept + { + return m_v.data(); + } + + const T * data() const noexcept + { + return m_v.data(); + } + + //FIXME: no check! + size_type didx(size_type r, size_type c) const noexcept + { + return m_row[r] + c; + } + + std::size_t tx() const { return m_v.size(); } + private: + + size_type m_N; + size_type m_M; + std::vector m_row; + std::vector m_v; + }; + + } // namespace plib #endif // PMATRIX2D_H_ diff --git a/src/lib/netlist/prg/nltool.cpp b/src/lib/netlist/prg/nltool.cpp index e267a19c60d..10a6f19a454 100644 --- a/src/lib/netlist/prg/nltool.cpp +++ b/src/lib/netlist/prg/nltool.cpp @@ -659,6 +659,8 @@ void tool_app_t::static_compile() } } plib::ofstream sout(opt_out()); + if (sout.fail()) + throw netlist::nl_exception(netlist::MF_FILE_OPEN_ERROR(opt_out())); sout << "#include \"plib/pdynlib.h\"\n\n"; for (auto &e : map) @@ -666,6 +668,7 @@ void tool_app_t::static_compile() sout << "// " << e.second.m_module << "\n"; sout << e.second.m_code; } + sout << "extern plib::dynlib_static_sym nl_static_solver_syms[];\n"; sout << "plib::dynlib_static_sym nl_static_solver_syms[] = {\n"; for (auto &e : map) { @@ -761,7 +764,7 @@ static doc_ext read_docsrc(const pstring &fname, const pstring &id) else if (n == "FunctionTable") ret.functiontable = v; else if (n == "Param") - ret.params.push_back(std::pair(v2, plib::trim(v.substr(v2.length())))); + ret.params.emplace_back(v2, plib::trim(v.substr(v2.length()))); else if (n == "Example") { ret.example = plib::psplit(plib::trim(v),",",true); diff --git a/src/lib/netlist/solver/nld_matrix_solver.cpp b/src/lib/netlist/solver/nld_matrix_solver.cpp index b5b2adf2245..aeb5d11055f 100644 --- a/src/lib/netlist/solver/nld_matrix_solver.cpp +++ b/src/lib/netlist/solver/nld_matrix_solver.cpp @@ -375,6 +375,17 @@ namespace solver m_Idrn.resize(iN, max_count); m_connected_net_Vn.resize(iN, max_count); + // Initialize arrays to 0 (in case the vrl one is used + for (std::size_t k = 0; k < iN; k++) + for (std::size_t j = 0; j < m_terms[k].count(); j++) + { + m_gtn.set(k,j, nlconst::zero()); + m_gonn.set(k,j, nlconst::zero()); + m_Idrn.set(k,j, nlconst::zero()); + m_connected_net_Vn.set(k, j, nullptr); + } + + for (std::size_t k = 0; k < iN; k++) { auto count = m_terms[k].count(); diff --git a/src/lib/netlist/solver/nld_matrix_solver.h b/src/lib/netlist/solver/nld_matrix_solver.h index fef3ec4a29b..606ccbb9ee2 100644 --- a/src/lib/netlist/solver/nld_matrix_solver.h +++ b/src/lib/netlist/solver/nld_matrix_solver.h @@ -274,10 +274,17 @@ namespace solver virtual bool check_err() = 0; virtual void store() = 0; +#if 0 plib::pmatrix2d> m_gonn; plib::pmatrix2d> m_gtn; plib::pmatrix2d> m_Idrn; plib::pmatrix2d> m_connected_net_Vn; +#else + plib::pmatrix2d_vrl> m_gonn; + plib::pmatrix2d_vrl> m_gtn; + plib::pmatrix2d_vrl> m_Idrn; + plib::pmatrix2d_vrl> m_connected_net_Vn; +#endif plib::aligned_vector m_terms; diff --git a/src/lib/netlist/solver/nld_ms_gcr.h b/src/lib/netlist/solver/nld_ms_gcr.h index 72e5c45f525..6c7f5d7e502 100644 --- a/src/lib/netlist/solver/nld_ms_gcr.h +++ b/src/lib/netlist/solver/nld_ms_gcr.h @@ -139,7 +139,7 @@ namespace solver pstring fpsuffix(fp_constants::suffix()); for (std::size_t i = 0; i < mat.nz_num; i++) - strm("{1} m_A{2}(0.0);\n", fptype, i, i); + strm("\t{1} m_A{2}(0.0);\n", fptype, i, i); for (std::size_t k = 0; k < iN; k++) { @@ -150,23 +150,27 @@ namespace solver //auto gtot_t = std::accumulate(gt, gt + term_count, plib::constants::zero()); //*tcr_r[railstart] = static_cast(gtot_t); //mat.A[mat.diag[k]] += gtot_t; auto pd = this->m_mat_ptr[k][net.railstart()] - &this->mat.A[0]; +#if 0 pstring terms = plib::pfmt("m_A{1} = gt[{2}]")(pd, this->m_gtn.didx(k,0)); for (std::size_t i=1; i < net.count(); i++) terms += plib::pfmt(" + gt[{1}]")(this->m_gtn.didx(k,i)); strm("\t{1};\n", terms); - +#else + for (std::size_t i=0; i < net.count(); i++) + strm("\tm_A{1} += gt[{2}];\n", pd, this->m_gtn.didx(k,i)); +#endif //for (std::size_t i = 0; i < railstart; i++) // *tcr_r[i] += static_cast(go[i]); for (std::size_t i = 0; i < net.railstart(); i++) { auto p = this->m_mat_ptr[k][i] - &this->mat.A[0]; - strm("\tm_A{1} = m_A{1} + go[{2}];\n", p, this->m_gonn.didx(k,i)); + strm("\tm_A{1} += go[{2}];\n", p, this->m_gonn.didx(k,i)); } +#if 0 //auto RHS_t(std::accumulate(Idr, Idr + term_count, plib::constants::zero())); - terms = plib::pfmt("{1} RHS{2} = Idr[{3}]")(fptype, k, this->m_Idrn.didx(k,0)); for (std::size_t i=1; i < net.count(); i++) terms += plib::pfmt(" + Idr[{1}]")(this->m_Idrn.didx(k,i)); @@ -174,9 +178,21 @@ namespace solver // RHS_t += (- go[i]) * *cnV[i]; for (std::size_t i = net.railstart(); i < net.count(); i++) - terms += plib::pfmt(" - go[{1}] * *cnV[{1}]")(this->m_gonn.didx(k,i), this->m_connected_net_Vn.didx(k,i)); + terms += plib::pfmt(" - go[{1}] * *cnV[{2}]")(this->m_gonn.didx(k,i), this->m_connected_net_Vn.didx(k,i)); strm("\t{1};\n", terms); +#else + //auto RHS_t(std::accumulate(Idr, Idr + term_count, plib::constants::zero())); + strm("\t{1} RHS{2} = Idr[{3}];\n", fptype, k, this->m_Idrn.didx(k,0)); + for (std::size_t i=1; i < net.count(); i++) + strm("\tRHS{1} += Idr[{2}];\n", k, this->m_Idrn.didx(k,i)); + //for (std::size_t i = railstart; i < term_count; i++) + // RHS_t += (- go[i]) * *cnV[i]; + + for (std::size_t i = net.railstart(); i < net.count(); i++) + strm("\tRHS{1} -= go[{2}] * *cnV[{3}];\n", k, this->m_gonn.didx(k,i), this->m_connected_net_Vn.didx(k,i)); + +#endif } for (std::size_t i = 0; i < iN - 1; i++) @@ -188,7 +204,7 @@ namespace solver std::size_t pi = mat.diag[i]; //const FT f = 1.0 / m_A[pi++]; - strm("const {1} f{2} = 1.0{3} / m_A{4};\n", fptype, i, fpsuffix, pi); + strm("\tconst {1} f{2} = 1.0{3} / m_A{4};\n", fptype, i, fpsuffix, pi); pi++; const std::size_t piie = mat.row_idx[i+1]; @@ -224,6 +240,7 @@ namespace solver strm("\tV[{1}] = RHS{2} / m_A{3};\n", iN - 1, iN - 1, mat.diag[iN - 1]); for (std::size_t j = iN - 1; j-- > 0;) { +#if 1 strm("\t{1} tmp{2} = 0.0{3};\n", fptype, j, fpsuffix); const std::size_t e = mat.row_idx[j+1]; for (std::size_t pk = mat.diag[j] + 1; pk < e; pk++) @@ -231,6 +248,24 @@ namespace solver strm("\ttmp{1} += m_A{2} * V[{3}];\n", j, pk, mat.col_idx[pk]); } strm("\tV[{1}] = (RHS{1} - tmp{1}) / m_A{4};\n", j, j, j, mat.diag[j]); +#else + pstring tmp; + const std::size_t e = mat.row_idx[j+1]; + for (std::size_t pk = mat.diag[j] + 1; pk < e; pk++) + { + tmp = tmp + plib::pfmt(" + m_A{2} * V[{3}]")(j, pk, mat.col_idx[pk]); + } + if (tmp.empty()) + { + strm("\tV[{1}] = RHS{1} / m_A{2};\n", j, mat.diag[j]); + } + else + { + //strm("\tconst {1} tmp{2} = {3};\n", fptype, j, tmp.substr(3)); + //strm("\tV[{1}] = (RHS{1} - tmp{1}) / m_A{2};\n", j, mat.diag[j]); + strm("\tV[{1}] = (RHS{1} - ({2})) / m_A{3};\n", j, tmp.substr(3), mat.diag[j]); + } +#endif } } @@ -263,8 +298,8 @@ namespace solver else if (target == CXX_STATIC) extqual = "static"; strm.writeline(plib::pfmt("{1} void {2}({3} * __restrict V, " - "{4} * __restrict go, {4} * __restrict gt, " - "{4} * __restrict Idr, {4} ** __restrict cnV)\n")(extqual, name, str_floattype, str_fptype)); + "const {4} * __restrict go, const {4} * __restrict gt, " + "const {4} * __restrict Idr, const {4} * const * __restrict cnV)\n")(extqual, name, str_floattype, str_fptype)); strm.writeline("{\n"); generate_code(strm); strm.writeline("}\n"); -- cgit v1.2.3 From 75681d760c478f772fdb1603222498f96a9b61e7 Mon Sep 17 00:00:00 2001 From: couriersud Date: Sat, 13 Jun 2020 15:48:54 +0200 Subject: netlist: Make fostrm actually write to file. (nw) Also fix typos and a tidy warning. --- src/lib/netlist/nl_base.cpp | 6 ++---- src/lib/netlist/nltypes.h | 2 +- src/lib/netlist/plib/penum.h | 1 - src/lib/netlist/plib/pstream.h | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp index b09c60b901a..42104458f7a 100644 --- a/src/lib/netlist/nl_base.cpp +++ b/src/lib/netlist/nl_base.cpp @@ -831,10 +831,8 @@ namespace netlist device.state().setup().register_param_t(*this); } - param_t::~param_t() noexcept - { - // placed here to avoid weak vtable warnings - } + // placed here to avoid weak vtable warnings + param_t::~param_t() noexcept = default; param_t::param_type_t param_t::param_type() const noexcept(false) { diff --git a/src/lib/netlist/nltypes.h b/src/lib/netlist/nltypes.h index 8ee9da300b2..17912a41d13 100644 --- a/src/lib/netlist/nltypes.h +++ b/src/lib/netlist/nltypes.h @@ -187,7 +187,7 @@ namespace netlist } }; - /// \brief: used define a constant in device description struct + /// \brief: used to define a constant in device description struct /// /// See the 74125 implementation /// diff --git a/src/lib/netlist/plib/penum.h b/src/lib/netlist/plib/penum.h index ff15c9252c0..2765e262773 100644 --- a/src/lib/netlist/plib/penum.h +++ b/src/lib/netlist/plib/penum.h @@ -34,7 +34,6 @@ namespace plib enum E { __VA_ARGS__ }; \ constexpr ename (const E &v) : m_v(v) { } \ template explicit constexpr ename(const T &val) { m_v = static_cast(val); } \ - template explicit constexpr ename(T && val) { m_v = static_cast(val); } \ bool set_from_string (const pstring &s) { \ int f = from_string_int(strings(), s); \ if (f>=0) { m_v = static_cast(f); return true; } \ diff --git a/src/lib/netlist/plib/pstream.h b/src/lib/netlist/plib/pstream.h index 87bb9240b64..c47bd71ab1e 100644 --- a/src/lib/netlist/plib/pstream.h +++ b/src/lib/netlist/plib/pstream.h @@ -289,7 +289,7 @@ public: pstring_t, pstring_t>::type; template - explicit ofstream(const pstring_t name, ios_base::openmode mode = ios_base::in) + explicit ofstream(const pstring_t name, ios_base::openmode mode = ios_base::out | ios_base::trunc) : std::ofstream(filename_type(name).c_str(), mode) { } -- cgit v1.2.3 From e949e9c29de82ee7c32692e7b65da05dd22bdc9d Mon Sep 17 00:00:00 2001 From: couriersud Date: Sat, 13 Jun 2020 15:49:35 +0200 Subject: netlist: Performance improvement and refactoring. [Couriersud] Kidniki now achieves up to 910% when run with static solvers and with nltool. That is significant better than the 860% we have seen previously. This increase is driven by using a global memory pool in the solver code. In addition the following refactoring and code maintenance work is included. Please excuse the large commit, some of this took interfered with other work and the detail development steps were ugly. - gsl support: This commit adds pgsl.h which implements a very limited number of the functionality of the gsl header described in the c++ core guidelines. - clang-tidy fixes - A significant refactoring of palloc.h. Aligned hints were removed, they added complexity without a significant performance gain. Vector operations should better be done on special spans/views. The code has been tested on linux with g++-7, g++-9, clang-11. On Windows mingw-10 and VS2019, OSX clang-11. --- scripts/src/netlist.lua | 1 + src/devices/machine/netlist.cpp | 9 +- src/lib/netlist/analog/nld_mosfet.cpp | 4 +- src/lib/netlist/analog/nld_opamps.cpp | 2 +- src/lib/netlist/analog/nlid_twoterm.h | 8 +- src/lib/netlist/build/makefile | 31 +- src/lib/netlist/devices/nlid_proxy.cpp | 13 +- src/lib/netlist/devices/nlid_system.h | 2 +- src/lib/netlist/devices/nlid_truthtable.cpp | 10 +- src/lib/netlist/nl_base.cpp | 24 +- src/lib/netlist/nl_base.h | 29 +- src/lib/netlist/nl_config.h | 6 + src/lib/netlist/nl_factory.cpp | 2 +- src/lib/netlist/nl_factory.h | 6 +- src/lib/netlist/nl_parser.cpp | 6 +- src/lib/netlist/nl_setup.cpp | 34 +- src/lib/netlist/nl_setup.h | 4 +- src/lib/netlist/nltypes.h | 4 +- src/lib/netlist/plib/gmres.h | 26 +- src/lib/netlist/plib/mat_cr.h | 12 +- src/lib/netlist/plib/palloc.h | 424 ++++++++++++++----------- src/lib/netlist/plib/parray.h | 39 +-- src/lib/netlist/plib/pchrono.h | 7 +- src/lib/netlist/plib/pconfig.h | 17 +- src/lib/netlist/plib/pdynlib.h | 1 + src/lib/netlist/plib/penum.h | 4 +- src/lib/netlist/plib/pexception.cpp | 2 +- src/lib/netlist/plib/pfmtlog.cpp | 4 +- src/lib/netlist/plib/pfmtlog.h | 6 +- src/lib/netlist/plib/pfunction.cpp | 50 +-- src/lib/netlist/plib/pgsl.h | 105 ++++++ src/lib/netlist/plib/plists.h | 8 + src/lib/netlist/plib/pmain.cpp | 8 +- src/lib/netlist/plib/pmath.h | 4 +- src/lib/netlist/plib/pmatrix2d.h | 93 ++++-- src/lib/netlist/plib/pmempool.h | 65 ++-- src/lib/netlist/plib/poptions.cpp | 17 +- src/lib/netlist/plib/poptions.h | 2 +- src/lib/netlist/plib/ppmf.h | 33 +- src/lib/netlist/plib/ppreprocessor.cpp | 6 +- src/lib/netlist/plib/ppreprocessor.h | 4 +- src/lib/netlist/plib/prandom.h | 11 +- src/lib/netlist/plib/pstonum.h | 13 +- src/lib/netlist/plib/pstream.h | 8 +- src/lib/netlist/plib/pstring.cpp | 6 +- src/lib/netlist/plib/pstrutil.h | 7 +- src/lib/netlist/plib/ptimed_queue.h | 2 +- src/lib/netlist/plib/ptypes.h | 6 +- src/lib/netlist/plib/putil.cpp | 20 +- src/lib/netlist/plib/putil.h | 10 +- src/lib/netlist/prg/nltool.cpp | 30 +- src/lib/netlist/prg/nlwav.cpp | 12 +- src/lib/netlist/solver/nld_matrix_solver.cpp | 22 +- src/lib/netlist/solver/nld_matrix_solver.h | 322 ++----------------- src/lib/netlist/solver/nld_matrix_solver_ext.h | 288 +++++++++++++++++ src/lib/netlist/solver/nld_ms_direct.h | 4 +- src/lib/netlist/solver/nld_ms_direct1.h | 1 + src/lib/netlist/solver/nld_ms_direct2.h | 1 + src/lib/netlist/solver/nld_ms_gcr.h | 15 +- src/lib/netlist/solver/nld_ms_gmres.h | 1 + src/lib/netlist/solver/nld_ms_sm.h | 1 + src/lib/netlist/solver/nld_ms_sor.h | 19 +- src/lib/netlist/solver/nld_ms_sor_mat.h | 3 +- src/lib/netlist/solver/nld_ms_w.h | 3 +- src/lib/netlist/solver/nld_solver.cpp | 31 +- src/lib/netlist/solver/nld_solver.h | 2 +- src/lib/netlist/tools/nl_convert.cpp | 15 +- 67 files changed, 1126 insertions(+), 859 deletions(-) create mode 100644 src/lib/netlist/plib/pgsl.h mode change 100644 => 100755 src/lib/netlist/plib/pmatrix2d.h create mode 100644 src/lib/netlist/solver/nld_matrix_solver_ext.h diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index b260e8e3dec..a2a309d4a18 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -53,6 +53,7 @@ project "netlist" MAME_DIR .. "src/lib/netlist/plib/pconfig.h", MAME_DIR .. "src/lib/netlist/plib/palloc.h", MAME_DIR .. "src/lib/netlist/plib/pchrono.h", + MAME_DIR .. "src/lib/netlist/plib/pgsl.h", MAME_DIR .. "src/lib/netlist/plib/penum.h", MAME_DIR .. "src/lib/netlist/plib/pexception.cpp", MAME_DIR .. "src/lib/netlist/plib/pexception.h", diff --git a/src/devices/machine/netlist.cpp b/src/devices/machine/netlist.cpp index a47d453762d..1dd17acd8b1 100644 --- a/src/devices/machine/netlist.cpp +++ b/src/devices/machine/netlist.cpp @@ -127,7 +127,7 @@ protected: netlist::host_arena::unique_ptr static_solver_lib() const noexcept override { //return plib::make_unique(nullptr); - return netlist::host_arena::make_unique(nl_static_solver_syms); + return plib::make_unique(nl_static_solver_syms); } private: @@ -169,7 +169,7 @@ protected: netlist::host_arena::unique_ptr static_solver_lib() const noexcept override { - return netlist::host_arena::make_unique(nullptr); + return plib::make_unique(nullptr); } private: @@ -181,7 +181,7 @@ class netlist_mame_device::netlist_mame_t : public netlist::netlist_state_t public: netlist_mame_t(netlist_mame_device &parent, const pstring &name) - : netlist::netlist_state_t(name, netlist::host_arena::make_unique(parent)) + : netlist::netlist_state_t(name, plib::make_unique(parent)) , m_parent(parent) { } @@ -978,7 +978,8 @@ netlist::host_arena::unique_ptr netlist_mame_device::b { try { - auto lnetlist = netlist::host_arena::make_unique("netlist", netlist::host_arena::make_unique()); + auto lnetlist = plib::make_unique("netlist", + plib::make_unique()); // enable validation mode lnetlist->set_extended_validation(true); common_dev_start(lnetlist.get()); diff --git a/src/lib/netlist/analog/nld_mosfet.cpp b/src/lib/netlist/analog/nld_mosfet.cpp index b285f099adb..846ba8f3ba1 100644 --- a/src/lib/netlist/analog/nld_mosfet.cpp +++ b/src/lib/netlist/analog/nld_mosfet.cpp @@ -415,8 +415,8 @@ namespace analog else { // linear - const auto Sqr1(static_cast(plib::pow(Vdsat - Vds, 2))); - const auto Sqr2(static_cast(plib::pow(nlconst::two() * Vdsat - Vds, 2))); + const auto Sqr1(plib::narrow_cast(plib::pow(Vdsat - Vds, 2))); + const auto Sqr2(plib::narrow_cast(plib::pow(nlconst::two() * Vdsat - Vds, 2))); Cgb = 0; Cgs = m_CoxWL * (nlconst::one() - Sqr1 / Sqr2) * nlconst::two_thirds(); Cgd = m_CoxWL * (nlconst::one() - Vdsat * Vdsat / Sqr2) * nlconst::two_thirds(); diff --git a/src/lib/netlist/analog/nld_opamps.cpp b/src/lib/netlist/analog/nld_opamps.cpp index 1890ba85826..7b5db6b2fb6 100644 --- a/src/lib/netlist/analog/nld_opamps.cpp +++ b/src/lib/netlist/analog/nld_opamps.cpp @@ -115,7 +115,7 @@ namespace netlist , m_VL(*this, "VL") , m_VREF(*this, "VREF") { - m_type = static_cast(m_modacc.m_TYPE); + m_type = plib::narrow_cast(m_modacc.m_TYPE); if (m_type < 1 || m_type > 3) { log().fatal(MF_OPAMP_UNKNOWN_TYPE(m_type)); diff --git a/src/lib/netlist/analog/nlid_twoterm.h b/src/lib/netlist/analog/nlid_twoterm.h index 87411ee8109..de2a69a23f7 100644 --- a/src/lib/netlist/analog/nlid_twoterm.h +++ b/src/lib/netlist/analog/nlid_twoterm.h @@ -561,11 +561,11 @@ namespace analog { register_subalias("P", P()); register_subalias("N", N()); - if (m_func() != "") + if (!m_func().empty()) m_compiled->compile(m_func(), std::vector({{pstring("T")}})); } - NETLIB_IS_TIMESTEP(m_func() != "") + NETLIB_IS_TIMESTEP(!m_func().empty()) NETLIB_TIMESTEPI() { @@ -609,11 +609,11 @@ namespace analog { register_subalias("P", P()); register_subalias("N", N()); - if (m_func() != "") + if (!m_func().empty()) m_compiled->compile(m_func(), std::vector({{pstring("T")}})); } - NETLIB_IS_TIMESTEP(m_func() != "") + NETLIB_IS_TIMESTEP(!m_func().empty()) NETLIB_TIMESTEPI() { m_t += step; diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile index 5f5352d0c69..1d442953fb6 100644 --- a/src/lib/netlist/build/makefile +++ b/src/lib/netlist/build/makefile @@ -25,11 +25,13 @@ VSBUILD = $(SRC)/buildVS DOC = $(SRC)/documentation TIDY_FLAGSX = -checks=*,-google*,-hicpp*,readability*,-fuchsia*,cert-*,-android-*, -TIDY_FLAGSX += -llvm-header-guard,-cppcoreguidelines-pro-type-reinterpret-cast, +TIDY_FLAGSX += -llvm-header-guard, +# TIDY_FLAGSX += -cppcoreguidelines-pro-type-reinterpret-cast, TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-pointer-arithmetic, #TIDY_FLAGSX += -cppcoreguidelines-owning-memory, TIDY_FLAGSX += -modernize-use-default-member-init,-cppcoreguidelines-pro-bounds-constant-array-index, -TIDY_FLAGSX += -modernize-pass-by-value,-cppcoreguidelines-pro-type-static-cast-downcast, +TIDY_FLAGSX += -modernize-pass-by-value, +#TIDY_FLAGSX += -cppcoreguidelines-pro-type-static-cast-downcast, TIDY_FLAGSX += -cppcoreguidelines-avoid-magic-numbers, TIDY_FLAGSX += -cppcoreguidelines-macro-usage, TIDY_FLAGSX += -cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes, @@ -37,7 +39,7 @@ TIDY_FLAGSX += -bugprone-macro-parentheses, #TIDY_FLAGSX += -misc-macro-parentheses, TIDY_FLAGSX += -bugprone-too-small-loop-variable, TIDY_FLAGSX += -modernize-use-trailing-return-type, -TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-array-to-pointer-decay, +#TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-array-to-pointer-decay, TIDY_FLAGSX += -readability-magic-numbers,-readability-braces-around-statements, TIDY_FLAGSX += -readability-implicit-bool-conversion, TIDY_FLAGSX += -readability-named-parameter,-readability-function-size, @@ -85,7 +87,7 @@ CC = g++ LD = @g++ MD = @mkdir RM = @rm -CLANG_TIDY = clang-tidy-10 +CLANG_TIDY = clang-tidy-11 DEPENDCC=$(CC) @@ -132,6 +134,8 @@ POBJS := \ PMAIN := $(POBJ)/pmain.o NLOBJS := \ + $(NLOBJ)/solver/nld_solver.o \ + $(NLOBJ)/solver/nld_matrix_solver.o \ $(NLOBJ)/nl_base.o \ $(NLOBJ)/nl_parser.o \ $(NLOBJ)/nl_setup.o \ @@ -142,8 +146,6 @@ NLOBJS := \ $(NLOBJ)/analog/nld_switches.o \ $(NLOBJ)/analog/nlid_twoterm.o \ $(NLOBJ)/analog/nld_opamps.o \ - $(NLOBJ)/solver/nld_solver.o \ - $(NLOBJ)/solver/nld_matrix_solver.o \ $(NLOBJ)/tools/nl_convert.o \ $(NLOBJ)/generated/static_solvers.o \ $(NLOBJ)/devices/nld_2102A.o \ @@ -287,27 +289,32 @@ native: $(MAKE) CEXTRAFLAGS="-march=native -msse4.2 -Wall -Wpedantic -Wsign-compare -Wextra " gcc9: - $(MAKE) CC=g++-9 LD=g++-9 CEXTRAFLAGS="-march=native -fext-numeric-literals -Wall -pedantic -Wpedantic -Wsign-compare -Wextra" EXTRALIBS="-lquadmath" + $(MAKE) CC=g++-9 LD=g++-9 CEXTRAFLAGS="-march=native -Wall -pedantic -Wpedantic -fext-numeric-literals -Wsign-compare -Wextra" EXTRALIBS="-lquadmath" clang: #$(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang CEXTRAFLAGS="-march=native -msse4.2 -Weverything -Wall -pedantic -Wpedantic -Wunused-private-field -Wno-padded -Wno-unused-template -Wno-missing-variable-declarations -Wno-float-equal -Wconversion -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral -Wno-exit-time-destructors" $(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang CEXTRAFLAGS="-march=native \ -mllvm -inline-threshold=2000 \ + -Wunknown-warning-option \ -Weverything -Wall -pedantic -Wpedantic -Wunused-private-field \ -Werror -Wno-padded -Wno-weak-vtables -Wno-weak-template-vtables -Wno-unused-template \ - -Wno-missing-variable-declarations -Wno-float-equal -Wconversion \ + -Wmissing-variable-declarations -Wno-float-equal -Wconversion \ -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral \ - -Wno-exit-time-destructors -Winconsistent-missing-destructor-override" + -Wno-exit-time-destructors -Winconsistent-missing-destructor-override \ + -Wno-return-std-move-in-c++11 -Wno-unreachable-code" clang-libc: + #clang-11 currently broken #$(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang CEXTRAFLAGS="-march=native -msse4.2 -Weverything -Wall -pedantic -Wpedantic -Wunused-private-field -Wno-padded -Wno-unused-template -Wno-missing-variable-declarations -Wno-float-equal -Wconversion -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral -Wno-exit-time-destructors" - $(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang-libc CEXTRAFLAGS="-march=native \ + $(MAKE) CC=clang++-10 LD=clang++-10 OBJ=obj/clang-libc CEXTRAFLAGS="-march=native \ -stdlib=libc++ -mllvm -inline-threshold=2000 \ + -Wunknown-warning-option \ -Weverything -Wall -pedantic -Wpedantic -Wunused-private-field \ -Werror -Wno-padded -Wno-weak-vtables -Wno-weak-template-vtables -Wno-unused-template \ - -Wno-missing-variable-declarations -Wno-float-equal -Wconversion \ + -Wmissing-variable-declarations -Wno-float-equal -Wconversion \ -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral \ - -Wno-exit-time-destructors -Winconsistent-missing-destructor-override" \ + -Wno-exit-time-destructors -Winconsistent-missing-destructor-override \ + -Wno-return-std-move-in-c++11 -Wno-unreachable-code" LDEXTRAFLAGS=-stdlib=libc++ clang-5: diff --git a/src/lib/netlist/devices/nlid_proxy.cpp b/src/lib/netlist/devices/nlid_proxy.cpp index d804988c6fd..585637fb5f9 100644 --- a/src/lib/netlist/devices/nlid_proxy.cpp +++ b/src/lib/netlist/devices/nlid_proxy.cpp @@ -9,6 +9,8 @@ #include "nl_errstr.h" #include "solver/nld_solver.h" +#include + namespace netlist { namespace devices @@ -18,6 +20,8 @@ namespace netlist // nld_base_proxy // ----------------------------------------------------------------------------- + static const std::array, 3> power_syms = {{ {"VCC", "VEE"}, {"VCC", "GND"}, {"VDD", "VSS"}}}; + nld_base_proxy::nld_base_proxy(netlist_state_t &anetlist, const pstring &name, const logic_t *inout_proxied) : device_t(anetlist, name, inout_proxied->logic_family()) @@ -29,16 +33,15 @@ namespace netlist throw nl_exception(MF_NULLPTR_FAMILY_NP("nld_base_proxy")); } - const std::vector> power_syms = { {"VCC", "VEE"}, {"VCC", "GND"}, {"VDD", "VSS"}}; bool f = false; for (const auto & pwr_sym : power_syms) { pstring devname = inout_proxied->device().name(); - auto *tp_ct(anetlist.setup().find_terminal(devname + "." + pwr_sym.first, + auto *tp_ct(anetlist.setup().find_terminal(devname + "." + pstring(pwr_sym.first), /*detail::terminal_type::INPUT,*/ false)); - auto *tp_cn(anetlist.setup().find_terminal(devname + "." + pwr_sym.second, + auto *tp_cn(anetlist.setup().find_terminal(devname + "." + pstring(pwr_sym.second), /*detail::terminal_type::INPUT,*/ false)); if ((tp_ct != nullptr) && (tp_cn != nullptr)) { @@ -47,8 +50,8 @@ namespace netlist if (!tp_cn->is_analog()) throw nl_exception(plib::pfmt("Not an analog terminal: {1}")(tp_cn->name())); - auto *tp_t = static_cast(tp_ct); - auto *tn_t = static_cast(tp_cn); + auto *tp_t = dynamic_cast(tp_ct); + auto *tn_t = dynamic_cast(tp_cn); if (f && (tp_t != nullptr && tn_t != nullptr)) log().warning(MI_MULTIPLE_POWER_TERMINALS_ON_DEVICE(inout_proxied->device().name(), m_tp->name(), m_tn->name(), diff --git a/src/lib/netlist/devices/nlid_system.h b/src/lib/netlist/devices/nlid_system.h index fc1bfefd84b..31a31c62d88 100644 --- a/src/lib/netlist/devices/nlid_system.h +++ b/src/lib/netlist/devices/nlid_system.h @@ -93,7 +93,7 @@ namespace devices , m_compiled(*this, "m_compiled") , m_funcparam({nlconst::zero()}) { - if (m_func() != "") + if (!m_func().empty()) m_compiled->compile(m_func(), std::vector({{pstring("T")}})); connect(m_feedback, m_Q); } diff --git a/src/lib/netlist/devices/nlid_truthtable.cpp b/src/lib/netlist/devices/nlid_truthtable.cpp index 1718f53560d..a1bcc26d035 100644 --- a/src/lib/netlist/devices/nlid_truthtable.cpp +++ b/src/lib/netlist/devices/nlid_truthtable.cpp @@ -440,7 +440,7 @@ namespace devices if (!m_ttbl) { - m_ttbl = pool.make_unique::truthtable_t>(); + m_ttbl = plib::make_unique::truthtable_t>(pool); truthtable_parser desc_s(m_NO, m_NI, packed_int(m_ttbl->m_out_state.data(), sizeof(m_ttbl->m_out_state[0]) * 8), m_ttbl->m_timing_index.data(), m_ttbl->m_timing_nt.data()); @@ -448,7 +448,7 @@ namespace devices desc_s.parse(m_desc); } - return pool.make_unique(anetlist, name, m_family_name, *m_ttbl, m_desc); + return plib::make_unique(pool, anetlist, name, m_family_name, *m_ttbl, m_desc); } private: device_arena::unique_ptr::truthtable_t> m_ttbl; @@ -578,7 +578,7 @@ void truthtable_parser::parse(const std::vector &truthtable) for (int j=0; j < 16; j++) m_timing_nt[j] = netlist_time::zero(); - while (!(ttline == "")) + while (!ttline.empty()) { std::vector io(plib::psplit(ttline,"|")); // checks @@ -670,7 +670,7 @@ namespace factory #define ENTRYY(n, m, s) case (n * 100 + m): \ { using xtype = devices::netlist_factory_truthtable_t; \ auto cs=s; \ - ret = host_arena::make_unique(desc.name, std::move(cs)); } \ + ret = plib::make_unique(desc.name, std::move(cs)); } \ break #define ENTRY(n, s) ENTRYY(n, 1, s); ENTRYY(n, 2, s); ENTRYY(n, 3, s); \ @@ -700,7 +700,7 @@ namespace factory nl_assert_always(false, msg.c_str()); } ret->m_desc = desc.desc; - ret->m_family_name = (desc.family != "" ? desc.family : pstring(config::DEFAULT_LOGIC_FAMILY())); + ret->m_family_name = (!desc.family.empty() ? desc.family : pstring(config::DEFAULT_LOGIC_FAMILY())); return ret; } diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp index 42104458f7a..a9ac57f620d 100644 --- a/src/lib/netlist/nl_base.cpp +++ b/src/lib/netlist/nl_base.cpp @@ -27,7 +27,7 @@ namespace netlist host_arena::unique_ptr callbacks_t:: static_solver_lib() const { - return host_arena::make_unique(nullptr); + return plib::make_unique(nullptr); } // ---------------------------------------------------------------------------------------- @@ -129,9 +129,9 @@ namespace netlist m_lib = m_callbacks->static_solver_lib(); - m_setup = host_arena::make_unique(*this); + m_setup = plib::make_unique(*this); // create the run interface - m_netlist = m_pool.make_unique(*this, name); + m_netlist = plib::make_unique(m_pool, *this, name); // Make sure save states are invalidated when a new version is deployed @@ -313,7 +313,7 @@ namespace netlist case 0: { std::vector d; - std::vector t; + std::vector t; log().verbose("Using default startup strategy"); for (auto &n : m_nets) for (auto & term : n->core_terms()) @@ -402,7 +402,7 @@ namespace netlist } log().verbose("Total calls : {1:12} {2:12} {3:12}", total_count, - total_time, total_time / static_cast((total_count > 0) ? total_count : 1)); + total_time, total_time / gsl::narrow((total_count > 0) ? total_count : 1)); log().verbose("Total loop {1:15}", si.m_stat_mainloop()); log().verbose("Total time {1:15}", total_time); @@ -424,8 +424,8 @@ namespace netlist } plib::pperftime_t::type total_overhead = overhead() - * static_cast::type>(total_count) - / static_cast::type>(200000); + * gsl::narrow::type>(total_count) + / gsl::narrow::type>(200000); log().verbose("Queue Pushes {1:15}", si.m_queue.m_prof_call()); log().verbose("Queue Moves {1:15}", si.m_queue.m_prof_sortmove()); @@ -436,7 +436,7 @@ namespace netlist log().verbose("Take the next lines with a grain of salt. They depend on the measurement implementation."); log().verbose("Total overhead {1:15}", total_overhead); plib::pperftime_t::type overhead_per_pop = (si.m_stat_mainloop()-2*total_overhead - (total_time - total_overhead)) - / static_cast::type>(si.m_queue.m_prof_call()); + / gsl::narrow::type>(si.m_queue.m_prof_call()); log().verbose("Overhead per pop {1:11}", overhead_per_pop ); log().verbose(""); } @@ -450,7 +450,7 @@ namespace netlist if (stats->m_stat_inc_active() > 3 * stats->m_stat_total_time.count() && stats->m_stat_inc_active() > trigger) log().verbose("HINT({}, NO_DEACTIVATE) // {} {} {}", ep->name(), - static_cast(stats->m_stat_inc_active()) / static_cast(stats->m_stat_total_time.count()), + gsl::narrow(stats->m_stat_inc_active()) / gsl::narrow(stats->m_stat_total_time.count()), stats->m_stat_inc_active(), stats->m_stat_total_time.count()); } log().verbose(""); @@ -856,14 +856,14 @@ namespace netlist pstring param_t::get_initial(const core_device_t *dev, bool *found) const { pstring res = dev->state().setup().get_initial_param_val(this->name(), ""); - *found = (res != ""); + *found = (!res.empty()); return res; } param_str_t::param_str_t(core_device_t &device, const pstring &name, const pstring &val) : param_t(device, name) { - m_param = host_arena::make_unique(val); + m_param = plib::make_unique(val); *m_param = device.state().setup().get_initial_param_val(this->name(),val); } @@ -871,7 +871,7 @@ namespace netlist : param_t(name) { // deviceless parameter, no registration, owner is responsible - m_param = host_arena::make_unique(val); + m_param = plib::make_unique(val); *m_param = state.setup().get_initial_param_val(this->name(),val); } diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h index 7597989d71b..97e3f404a36 100644 --- a/src/lib/netlist/nl_base.h +++ b/src/lib/netlist/nl_base.h @@ -708,9 +708,8 @@ namespace netlist #endif void set_delegate(const nldelegate &delegate) noexcept { m_delegate = delegate; } - nldelegate &delegate() noexcept { return m_delegate; } const nldelegate &delegate() const noexcept { return m_delegate; } - inline void run_delegate() noexcept { m_delegate(); } + inline void run_delegate() noexcept { return m_delegate(); } private: nldelegate m_delegate; net_t * m_net; @@ -997,7 +996,7 @@ namespace netlist { public: - using list_t = std::vector; + using list_t = plib::aligned_vector; analog_net_t(netlist_state_t &nl, const pstring &aname, detail::core_terminal_t *railterminal = nullptr); @@ -1209,7 +1208,7 @@ namespace netlist pstring valstr() const override { - return plib::pfmt("{}").e(static_cast(m_param)); + return plib::pfmt("{}").e(gsl::narrow(m_param)); } private: @@ -1309,7 +1308,7 @@ namespace netlist public: template ::value>> value_base_t(P ¶m, const pstring &name) - : m_value(static_cast(param.value(name))) + : m_value(gsl::narrow(param.value(name))) { } template ::value, int> = 0> @@ -1513,7 +1512,8 @@ namespace netlist ~device_t() noexcept override = default; - nldelegate default_delegate() { return nldelegate(&device_t::update, this); } + //nldelegate default_delegate() { return nldelegate(&device_t::update, this); } + nldelegate default_delegate() { return { &device_t::update, this }; } protected: NETLIB_UPDATEI() { } @@ -1757,7 +1757,7 @@ namespace netlist template device_arena::unique_ptr make_pool_object(Args&&... args) { - return m_pool.make_unique(std::forward(args)...); + return plib::make_unique(m_pool, std::forward(args)...); } // memory pool - still needed in some places device_arena &pool() noexcept { return m_pool; } @@ -2302,6 +2302,7 @@ namespace netlist inline void detail::net_t::remove_from_active_list(core_terminal_t &term) noexcept { + gsl_Expects(!m_list_active.empty()); m_list_active.remove(&term); if (m_list_active.empty()) railterminal().device().do_dec_active(); @@ -2309,24 +2310,24 @@ namespace netlist inline const analog_net_t & analog_t::net() const noexcept { - return static_cast(core_terminal_t::net()); + return plib::downcast(core_terminal_t::net()); } inline analog_net_t & analog_t::net() noexcept { - return static_cast(core_terminal_t::net()); + return plib::downcast(core_terminal_t::net()); } inline nl_fptype terminal_t::operator ()() const noexcept { return net().Q_Analog(); } inline logic_net_t & logic_t::net() noexcept { - return static_cast(core_terminal_t::net()); + return plib::downcast(core_terminal_t::net()); } inline const logic_net_t & logic_t::net() const noexcept { - return static_cast(core_terminal_t::net()); + return plib::downcast(core_terminal_t::net()); } inline netlist_sig_t logic_input_t::operator()() const noexcept @@ -2516,7 +2517,7 @@ namespace netlist if (plib::is_integral::value) if (plib::abs(valx - plib::trunc(valx)) > nlconst::magic(1e-6)) throw nl_exception(MF_INVALID_NUMBER_CONVERSION_1_2(device.name() + "." + name, p)); - m_param = static_cast(valx); + m_param = plib::narrow_cast(valx); } device.state().save(*this, m_param, this->name(), "m_param"); @@ -2599,7 +2600,7 @@ namespace netlist state_container::state_container(O &owner, const pstring &name, const state_container::value_type & value) { - owner.state().save(owner, *static_cast(this), owner.name(), name); + owner.state().save(owner, static_cast(*this), owner.name(), name); for (std::size_t i=0; i < this->size(); i++) (*this)[i] = value; } @@ -2610,7 +2611,7 @@ namespace netlist std::size_t n, const state_container::value_type & value) : C(n, value) { - owner.state().save(owner, *static_cast(this), owner.name(), name); + owner.state().save(owner, static_cast(*this), owner.name(), name); } extern template struct state_var; diff --git a/src/lib/netlist/nl_config.h b/src/lib/netlist/nl_config.h index 8740b5ddbd9..81e0c860aa9 100644 --- a/src/lib/netlist/nl_config.h +++ b/src/lib/netlist/nl_config.h @@ -200,6 +200,12 @@ namespace netlist /// using MAX_QUEUE_SIZE = std::integral_constant; // NOLINT + using use_float_matrix = std::integral_constant; + using use_long_double_matrix = std::integral_constant; + using use_float128_matrix = std::integral_constant; + + using use_mempool = std::integral_constant; + /// \brief Floating point types used /// /// nl_fptype is the floating point type used throughout the diff --git a/src/lib/netlist/nl_factory.cpp b/src/lib/netlist/nl_factory.cpp index 8ef9799101a..519c4ea029c 100644 --- a/src/lib/netlist/nl_factory.cpp +++ b/src/lib/netlist/nl_factory.cpp @@ -76,7 +76,7 @@ namespace factory { device_arena::unique_ptr library_element_t::make_device(device_arena &pool, netlist_state_t &anetlist, const pstring &name) { - return pool.make_unique(anetlist, name); + return plib::make_unique(pool, anetlist, name); } diff --git a/src/lib/netlist/nl_factory.h b/src/lib/netlist/nl_factory.h index 4c9a47cc749..5b3ee4bb3a6 100644 --- a/src/lib/netlist/nl_factory.h +++ b/src/lib/netlist/nl_factory.h @@ -129,7 +129,7 @@ namespace factory { netlist_state_t &anetlist, const pstring &name, std::tuple& args, std::index_sequence) { - return pool.make_unique(anetlist, name, std::forward(std::get(args))...); + return plib::make_unique(pool, anetlist, name, std::forward(std::get(args))...); } dev_uptr make_device(device_arena &pool, @@ -149,7 +149,7 @@ namespace factory { static uptr create(const pstring &name, properties &&props, Args&&... args) { - return host_arena::make_unique>(name, + return plib::make_unique, host_arena>(name, std::move(props), std::forward(args)...); } private: @@ -194,7 +194,7 @@ namespace factory { template element_t::uptr constructor_t(const pstring &name, properties &&props) { - return host_arena::make_unique>(name, std::move(props)); + return plib::make_unique, host_arena>(name, std::move(props)); } // ----------------------------------------------------------------------------- diff --git a/src/lib/netlist/nl_parser.cpp b/src/lib/netlist/nl_parser.cpp index 8e76538632a..e34683d5261 100644 --- a/src/lib/netlist/nl_parser.cpp +++ b/src/lib/netlist/nl_parser.cpp @@ -83,7 +83,7 @@ bool parser_t::parse(const pstring &nlname) require_token(m_tok_paren_left); token_t name = get_token(); require_token(m_tok_paren_right); - if (name.str() == nlname || nlname == "") + if (name.str() == nlname || nlname.empty()) { parse_netlist(name.str()); return true; @@ -164,8 +164,8 @@ void parser_t::net_truthtable_start(const pstring &nlname) netlist::tt_desc desc; desc.name = name; - desc.ni = static_cast(ni); - desc.no = static_cast(no); + desc.ni = gsl::narrow(ni); + desc.no = gsl::narrow(no); desc.family = ""; while (true) diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 1b63b002492..b6c466be6e7 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -200,7 +200,7 @@ namespace netlist || plib::abs(value) > nlconst::magic(1e9)) register_param(param, plib::pfmt("{1:.9}").e(value)); else - register_param(param, plib::pfmt("{1}")(static_cast(value))); + register_param(param, plib::pfmt("{1}")(gsl::narrow(value))); } void nlparse_t::register_param(const pstring ¶m, const pstring &value) @@ -248,7 +248,7 @@ namespace netlist void nlparse_t::register_lib_entry(const pstring &name, factory::properties &&props) { - m_factory.add(host_arena::make_unique(name, std::move(props))); + m_factory.add(plib::make_unique(name, std::move(props))); } void nlparse_t::register_frontier(const pstring &attach, const pstring &r_IN, @@ -508,7 +508,7 @@ pstring setup_t::resolve_alias(const pstring &name) const ret = temp; auto p = m_abstract.m_alias.find(ret); temp = (p != m_abstract.m_alias.end() ? p->second : ""); - } while (temp != "" && temp != ret); + } while (!temp.empty() && temp != ret); log().debug("{1}==>{2}\n", name, ret); return ret; @@ -532,7 +532,7 @@ pstring setup_t::de_alias(const pstring &alias) const break; } } - } while (temp != "" && temp != ret); + } while (!temp.empty() && temp != ret); log().debug("{1}==>{2}\n", alias, ret); return ret; @@ -650,7 +650,7 @@ devices::nld_base_proxy *setup_t::get_d_a_proxy(const detail::core_terminal_t &o { nl_assert(out.is_logic()); - const auto &out_cast = static_cast(out); + const auto &out_cast = dynamic_cast(out); auto iter_proxy(m_proxies.find(&out)); if (iter_proxy != m_proxies.end()) @@ -878,7 +878,7 @@ void setup_t::connect_terminals(detail::core_terminal_t &t1,detail::core_termina { log().debug("adding analog net ...\n"); // FIXME: Nets should have a unique name - auto anet = nlstate().pool().make_owned(m_nlstate,"net." + t1.name()); + auto anet = plib::make_owned(nlstate().pool(), m_nlstate,"net." + t1.name()); auto *anetp = anet.get(); m_nlstate.register_net(std::move(anet)); t1.set_net(anetp); @@ -1043,7 +1043,7 @@ void setup_t::resolve_inputs() detail::core_terminal_t *t1 = find_terminal(t1s); detail::core_terminal_t *t2 = find_terminal(t2s); if (connect(*t1, *t2)) - m_abstract.m_links.erase(m_abstract.m_links.begin() + static_cast(i)); + m_abstract.m_links.erase(m_abstract.m_links.begin() + plib::narrow_cast(i)); else i++; } @@ -1104,16 +1104,16 @@ void setup_t::resolve_inputs() detail::core_terminal_t *term = i.second; if (term->is_tristate_output()) { - const auto *tri(static_cast(term)); + const auto &tri(dynamic_cast(*term)); // check if we are connected to a proxy - const auto iter_proxy(m_proxies.find(tri)); + const auto iter_proxy(m_proxies.find(&tri)); - if (iter_proxy == m_proxies.end() && !tri->is_force_logic()) + if (iter_proxy == m_proxies.end() && !tri.is_force_logic()) { log().error(ME_TRISTATE_NO_PROXY_FOUND_2(term->name(), term->device().name())); err = true; } - else if (iter_proxy != m_proxies.end() && tri->is_force_logic()) + else if (iter_proxy != m_proxies.end() && tri.is_force_logic()) { log().error(ME_TRISTATE_PROXY_FOUND_2(term->name(), term->device().name())); err = true; @@ -1256,7 +1256,7 @@ nl_fptype models_t::model_t::value(const pstring &entity) const pstring tmp = value_str(entity); nl_fptype factor = nlconst::one(); - auto p = std::next(tmp.begin(), static_cast(tmp.size() - 1)); + auto p = std::next(tmp.begin(), plib::narrow_cast(tmp.size() - 1)); switch (*p) { case 'M': factor = nlconst::magic(1e6); break; // NOLINT @@ -1390,7 +1390,7 @@ const logic_family_desc_t *setup_t::family_from_model(const pstring &model) if (it != m_nlstate.family_cache().end()) return it->second.get(); - auto ret = host_arena::make_unique(ft); + auto ret = plib::make_unique(ft); ret->m_low_thresh_PCNT = modv.m_IVL(); ret->m_high_thresh_PCNT = modv.m_IVH(); @@ -1434,7 +1434,7 @@ void setup_t::prepare_to_run() { pstring envlog = plib::util::environment("NL_LOGS", ""); - if (envlog != "") + if (!envlog.empty()) { std::vector loglist(plib::psplit(envlog, ":")); m_parser.register_dynamic_log_devices(loglist); @@ -1444,7 +1444,7 @@ void setup_t::prepare_to_run() for (auto & e : m_abstract.m_defparams) { - auto param(host_arena::make_unique(nlstate(), e.first, e.second)); + auto param(plib::make_unique(nlstate(), e.first, e.second)); register_param_t(*param); m_defparam_lifetime.push_back(std::move(param)); } @@ -1597,7 +1597,7 @@ source_string_t::stream_ptr source_string_t::stream(const pstring &name) plib::unused_var(name); auto ret(std::make_unique(m_str)); ret->imbue(std::locale::classic()); - return std::move(ret); // FIXME: for c++11 clang builds + return ret; } source_mem_t::stream_ptr source_mem_t::stream(const pstring &name) @@ -1605,7 +1605,7 @@ source_mem_t::stream_ptr source_mem_t::stream(const pstring &name) plib::unused_var(name); auto ret(std::make_unique(m_str, std::ios_base::binary)); ret->imbue(std::locale::classic()); - return std::move(ret); // FIXME: for c++11 clang builds + return ret; } source_file_t::stream_ptr source_file_t::stream(const pstring &name) diff --git a/src/lib/netlist/nl_setup.h b/src/lib/netlist/nl_setup.h index 9e6714007f0..6d99f1ca183 100644 --- a/src/lib/netlist/nl_setup.h +++ b/src/lib/netlist/nl_setup.h @@ -307,10 +307,10 @@ namespace netlist void register_param(const pstring ¶m, nl_fptype value); template - std::enable_if_t::value || plib::is_integral::value> + std::enable_if_t::value> register_param_val(const pstring ¶m, T value) { - register_param(param, static_cast(value)); + register_param(param, plib::narrow_cast(value)); } void register_lib_entry(const pstring &name, factory::properties &&props); diff --git a/src/lib/netlist/nltypes.h b/src/lib/netlist/nltypes.h index 17912a41d13..98bfbb49a92 100644 --- a/src/lib/netlist/nltypes.h +++ b/src/lib/netlist/nltypes.h @@ -78,9 +78,9 @@ namespace netlist /// \note This is not the right location yet. /// - using device_arena = std::conditional, - plib::aligned_arena>::type; + plib::aligned_arena>; using host_arena = plib::aligned_arena; /// \brief Interface definition for netlist callbacks into calling code diff --git a/src/lib/netlist/plib/gmres.h b/src/lib/netlist/plib/gmres.h index c8ea1cad2f8..df0fc787c52 100644 --- a/src/lib/netlist/plib/gmres.h +++ b/src/lib/netlist/plib/gmres.h @@ -38,9 +38,9 @@ namespace plib mat_precondition_ILU(std::size_t size, std::size_t ilu_scale = 4 , std::size_t bw = plib::pmatrix_cr_t::FILL_INFINITY) - : m_mat(static_cast(size)) - , m_LU(static_cast(size)) - , m_ILU_scale(static_cast(ilu_scale)) + : m_mat(narrow_cast(size)) + , m_LU(narrow_cast(size)) + , m_ILU_scale(narrow_cast(ilu_scale)) , m_band_width(bw) { } @@ -103,7 +103,7 @@ namespace plib if (m_mat.col_idx[k] == i && k < m_mat.row_idx[j+1]) nzcol[i].push_back(k); } - nzcol[i].push_back(static_cast(-1)); + nzcol[i].push_back(narrow_cast(-1)); } } @@ -139,7 +139,7 @@ namespace plib const auto &nz = nzcol[i]; std::size_t j; - while ((j = nz[nzcolp++])!=static_cast(-1)) // NOLINT(bugprone-infinite-loop) + while ((j = nz[nzcolp++])!=narrow_cast(-1)) // NOLINT(bugprone-infinite-loop) { v += m_mat.A[j] * m_mat.A[j]; } @@ -209,14 +209,12 @@ namespace plib // FIXME: hardcoding RESTART to 20 becomes an issue on very large // systems. - template + template struct gmres_t { public: using float_type = FT; - // FIXME: dirty hack to make this compile - static constexpr const std::size_t storage_N = plib::sizeabs::ABS(); explicit gmres_t(std::size_t size) : residual(size) @@ -236,7 +234,7 @@ namespace plib g1 = s * g0_last + c * g1; } - std::size_t size() const { return (SIZE<=0) ? m_size : static_cast(SIZE); } + std::size_t size() const { return (SIZE<=0) ? m_size : narrow_cast(SIZE); } template bool do_k(OPS &ops, VT &x, std::size_t &itr_used, FT rho_delta, bool dummy) @@ -360,7 +358,7 @@ namespace plib rho_delta = accuracy * rho_to_accuracy; } else - rho_delta = accuracy * plib::sqrt(static_cast(n)); + rho_delta = accuracy * plib::sqrt(narrow_cast(n)); // // Using @@ -407,8 +405,6 @@ namespace plib private: - //typedef typename plib::mat_cr_t::index_type mattype; - plib::parray residual; plib::parray Ax; @@ -423,8 +419,6 @@ namespace plib std::size_t m_size; bool m_use_more_precise_stop_condition; - - }; @@ -454,7 +448,7 @@ namespace plib { } - std::size_t size() const { return (SIZE<=0) ? m_size : static_cast(SIZE); } + std::size_t size() const { return (SIZE<=0) ? m_size : narrow_cast(SIZE); } template std::size_t solve(OPS &ops, VT &x0, const VRHS & rhs, const std::size_t iter_max, float_type accuracy) @@ -478,7 +472,7 @@ namespace plib ops.calc_rhs(Ax, x); vec_sub(size(), rhs, Ax, residual); - FT rho_delta = accuracy * std::sqrt(static_cast(size())); + FT rho_delta = accuracy * std::sqrt(narrow_cast(size())); rho_delta = 1e-9; diff --git a/src/lib/netlist/plib/mat_cr.h b/src/lib/netlist/plib/mat_cr.h index 061e186d37f..2da661d39d7 100644 --- a/src/lib/netlist/plib/mat_cr.h +++ b/src/lib/netlist/plib/mat_cr.h @@ -73,7 +73,7 @@ namespace plib ~pmatrix_cr_t() = default; - constexpr std::size_t size() const noexcept { return (N>0) ? static_cast(N) : m_size; } + constexpr std::size_t size() const noexcept { return (N>0) ? narrow_cast(N) : m_size; } void clear() noexcept { @@ -132,9 +132,9 @@ namespace plib row_idx[k] = nz; for (std::size_t j=0; j < size(); j++) - if (f[k][j] <= max_fill && plib::abs(static_cast(k)-static_cast(j)) <= static_cast(band_width)) + if (f[k][j] <= max_fill && plib::abs(narrow_cast(k)-narrow_cast(j)) <= narrow_cast(band_width)) { - col_idx[nz] = static_cast(j); + col_idx[nz] = narrow_cast(j); if (j == k) diag[k] = nz; nz++; @@ -150,7 +150,7 @@ namespace plib { for (std::size_t j=k + 1; j < size(); j++) if (f[j][k] < FILL_INFINITY) - nzbd[k].push_back(static_cast(j)); + nzbd[k].push_back(narrow_cast(j)); nzbd[k].push_back(0); // end of sequence } @@ -343,7 +343,7 @@ namespace plib { for (std::size_t i = 0; i < m_ge_par.size(); i++) if (plib::container::contains( m_ge_par[i], k)) - return static_cast(i); + return narrow_cast(i); return -1; } @@ -525,7 +525,7 @@ namespace plib } } if (found) - ilu_rows[p++] = static_cast(i); + ilu_rows[p++] = narrow_cast(i); } ilu_rows[p] = 0; // end of array this->build_from_fill_mat(fill, ilup); //, m_band_width); // ILU(2) diff --git a/src/lib/netlist/plib/palloc.h b/src/lib/netlist/plib/palloc.h index 045461c8418..b3ebcbc52e5 100644 --- a/src/lib/netlist/plib/palloc.h +++ b/src/lib/netlist/plib/palloc.h @@ -9,6 +9,7 @@ /// #include "pconfig.h" +#include "pgsl.h" #include "pmath.h" #include "pstring.h" #include "ptypes.h" @@ -26,28 +27,52 @@ namespace plib { + //============================================================ + // aligned types + //============================================================ + +#if 0 +#if (PUSE_ALIGNED_HINTS) + template + using aligned_type __attribute__((aligned(A))) = T; +#else + template + using aligned_type = T; +#endif + + template + using aligned_pointer = aligned_type *; + + template + using const_aligned_pointer = const aligned_type *; + + template + using aligned_reference = aligned_type &; + + template + using const_aligned_reference = const aligned_type &; +#endif //============================================================ // Standard arena_deleter //============================================================ - template - struct arena_deleter + template + struct arena_deleter_base { - }; template - struct arena_deleter> + struct arena_deleter_base { using arena_storage_type = P; - constexpr arena_deleter(arena_storage_type *a = nullptr) noexcept + constexpr arena_deleter_base(arena_storage_type *a = nullptr) noexcept : m_a(a) { } template::value>> - arena_deleter(const arena_deleter &rhs) noexcept + arena_deleter_base(const arena_deleter_base &rhs) noexcept : m_a(rhs.m_a) { } void operator()(T *p) noexcept @@ -61,18 +86,18 @@ namespace plib { }; template - struct arena_deleter> + struct arena_deleter_base { using arena_storage_type = P; - constexpr arena_deleter(arena_storage_type *a = nullptr) noexcept + constexpr arena_deleter_base(arena_storage_type *a = nullptr) noexcept { plib::unused_var(a); } template::value>::type> - arena_deleter(const arena_deleter &rhs) noexcept + arena_deleter_base(const arena_deleter_base &rhs) noexcept { plib::unused_var(rhs); } @@ -85,6 +110,13 @@ namespace plib { } }; + template + struct arena_deleter : public arena_deleter_base + { + using base_type = arena_deleter_base; + using base_type::base_type; + }; + //============================================================ // owned_ptr: smart pointer with ownership information //============================================================ @@ -209,7 +241,8 @@ namespace plib { { public: using value_type = T; - static constexpr const std::size_t align_size = ALIGN; + using pointer = T *; + static /*constexpr*/ const std::size_t align_size = ALIGN; using arena_type = ARENA; static_assert(align_size >= alignof(T) && (align_size % alignof(T)) == 0, @@ -237,14 +270,14 @@ namespace plib { using other = arena_allocator; }; - T* allocate(std::size_t n) + pointer allocate(std::size_t n) { return reinterpret_cast(m_a.allocate(ALIGN, sizeof(T) * n)); //NOLINT } - void deallocate(T* p, std::size_t n) noexcept + void deallocate(pointer p, std::size_t n) noexcept { - m_a.deallocate(p, n); + m_a.deallocate(p, sizeof(T) * n); } template @@ -296,171 +329,88 @@ namespace plib { // The previous code compiled with gcc and clang on all platforms and // compilers apart from MSVC. - template + template + struct arena_base; + + template struct arena_core { static constexpr const bool has_static_deallocator = HSD; + static constexpr const bool has_static_allocator = HSA; using size_type = std::size_t; template using allocator_type = arena_allocator; + template + using deleter_type = arena_deleter; + + template + using unique_ptr = std::unique_ptr>; + + template + using owned_ptr = plib::owned_ptr>; + static inline P &instance() noexcept { static P s_arena; return s_arena; } - size_type cur_alloc() const noexcept { return m_stat_cur_alloc(); } // NOLINT(readability-convert-member-functions-to-static) - size_type max_alloc() const noexcept { return m_stat_max_alloc(); } // NOLINT(readability-convert-member-functions-to-static) - protected: - static size_t &m_stat_cur_alloc() noexcept { static size_t val = 0; return val; } - static size_t &m_stat_max_alloc() noexcept { static size_t val = 0; return val; } - - }; - - template - struct arena_hsd : public arena_core - { - template - inline void free(T *ptr) noexcept - { - ptr->~T(); - static_cast

(this)->deallocate(ptr, sizeof(T)); - } - }; + friend struct arena_base; + private: + size_t m_stat_cur_alloc = 0; + size_t m_stat_max_alloc = 0; - template - struct arena_hsd : public arena_core - { - template - static inline void free(T *ptr) noexcept - { - ptr->~T(); - P::deallocate(ptr, sizeof(T)); - } }; - template - struct arena_base : public arena_hsd + struct arena_base : public arena_core { - template - using deleter_type = arena_deleter; + using base_type = arena_core; + using size_type = typename base_type::size_type; - template - using unique_ptr = std::unique_ptr>; - - template - using owned_ptr = plib::owned_ptr>; + static size_type cur_alloc() noexcept { return base_type::instance().m_stat_cur_alloc; } + static size_type max_alloc() noexcept { return base_type::instance().m_stat_max_alloc; } - template - inline unique_ptr make_unique(Args&&... args) + static inline void inc_alloc_stat(size_type size) { - auto *mem = static_cast

(this)->allocate(alignof(T), sizeof(T)); - try - { - // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - auto *mema = new (mem) T(std::forward(args)...); - return unique_ptr(mema, deleter_type()); - } - catch (...) - { - static_cast

(this)->deallocate(mem, sizeof(T)); - throw; - } + auto &i = base_type::instance(); + i.m_stat_cur_alloc += size; + if (i.m_stat_max_alloc - inline owned_ptr make_owned(Args&&... args) + static inline void dec_alloc_stat(size_type size) { - auto *mem = static_cast

(this)->allocate(alignof(T), sizeof(T)); - try - { - // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - auto *mema = new (mem) T(std::forward(args)...); - return owned_ptr(mema, true, deleter_type()); - } - catch (...) - { - static_cast

(this)->deallocate(mem, sizeof(T)); - throw; - } + base_type::instance().m_stat_cur_alloc -= size; } - - template - inline T * alloc(Args&&... args) - { - auto *p = static_cast

(this)->allocate(alignof(T), sizeof(T)); - // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - return new(p) T(std::forward(args)...); - } - }; - template - struct arena_base : public arena_hsd + template + struct arena_base : public arena_core { - template - using deleter_type = arena_deleter; + using size_type = typename arena_core::size_type; - template - using unique_ptr = std::unique_ptr>; - - template - using owned_ptr = plib::owned_ptr>; + size_type cur_alloc() const noexcept { return this->m_stat_cur_alloc; } + size_type max_alloc() const noexcept { return this->m_stat_max_alloc; } - template - static inline unique_ptr make_unique(Args&&... args) + inline void inc_alloc_stat(size_type size) { - auto *mem = P::allocate(alignof(T), sizeof(T)); - try - { - // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - auto *mema = new (mem) T(std::forward(args)...); - return unique_ptr(mema, deleter_type()); - } - catch (...) - { - P::deallocate(mem, sizeof(T)); - throw; - } + this->m_stat_cur_alloc += size; + if (this->m_stat_max_alloc < this->m_stat_cur_alloc) + this->m_stat_max_alloc = this->m_stat_cur_alloc; } - - template - static inline owned_ptr make_owned(Args&&... args) + inline void dec_alloc_stat(size_type size) { - auto *mem = P::allocate(alignof(T), sizeof(T)); - try - { - // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - auto *mema = new (mem) T(std::forward(args)...); - return owned_ptr(mema, true, deleter_type()); - } - catch (...) - { - P::deallocate(mem, sizeof(T)); - throw; - } - } - - template - static inline T * alloc(Args&&... args) - { - auto *p = P::allocate(alignof(T), sizeof(T)); - // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - return new(p) T(std::forward(args)...); + this->m_stat_cur_alloc -= size; } }; - struct aligned_arena : public arena_base { - static inline void *allocate( size_t alignment, size_t size ) + static inline gsl::owner allocate( size_t alignment, size_t size ) { - m_stat_cur_alloc() += size; - if (m_stat_max_alloc() < m_stat_cur_alloc()) - m_stat_max_alloc() = m_stat_cur_alloc(); + inc_alloc_stat(size); #if (PUSE_ALIGNED_ALLOCATION) #if defined(_WIN32) || defined(_WIN64) || defined(_MSC_VER) @@ -472,7 +422,7 @@ namespace plib { } return p; #else - return aligned_alloc(alignment, size); + return static_cast>(aligned_alloc(alignment, size)); #endif #else unused_var(alignment); @@ -480,10 +430,10 @@ namespace plib { #endif } - static inline void deallocate( void *ptr, size_t size ) noexcept + static inline void deallocate(gsl::owner ptr, size_t size ) noexcept { //unused_var(size); - m_stat_cur_alloc() -= size; + dec_alloc_stat(size); #if (PUSE_ALIGNED_ALLOCATION) // NOLINTNEXTLINE(cppcoreguidelines-no-malloc) ::free(ptr); @@ -504,14 +454,14 @@ namespace plib { { static inline void *allocate( size_t alignment, size_t size ) { - m_stat_cur_alloc() += size; + inc_alloc_stat(size); unused_var(alignment); return ::operator new(size); } static inline void deallocate( void *ptr, size_t size ) noexcept { - m_stat_cur_alloc() -= size; + dec_alloc_stat(size); ::operator delete(ptr); } @@ -522,31 +472,116 @@ namespace plib { } }; - template - constexpr T *assume_aligned_ptr(T *p) noexcept + namespace detail { - static_assert(ALIGN >= alignof(T), "Alignment must be greater or equal to alignof(T)"); - static_assert(is_pow2(ALIGN), "Alignment must be a power of 2"); + template + static inline T * alloc(Args&&... args) + { + auto *mem = ARENA::allocate(alignof(T), sizeof(T)); + try + { + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) + return new (mem) T(std::forward(args)...); + } + catch (...) + { + ARENA::deallocate(mem, sizeof(T)); + throw; + } + } -#if (PUSE_ALIGNED_HINTS) - return reinterpret_cast(__builtin_assume_aligned(p, ALIGN)); -#else - return p; -#endif + template + static inline void free(T *ptr) noexcept + { + ptr->~T(); + ARENA::deallocate(ptr, sizeof(T)); + } + + template + static inline T * alloc(ARENA &arena, Args&&... args) + { + auto *mem = arena.allocate(alignof(T), sizeof(T)); + try + { + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) + return new (mem) T(std::forward(args)...); + } + catch (...) + { + arena.deallocate(mem, sizeof(T)); + throw; + } + } + + template + static inline void free(ARENA &arena, T *ptr) noexcept + { + ptr->~T(); + arena.deallocate(ptr, sizeof(T)); + } + } // namespace detail + + + + template + static inline + std::enable_if_t> + make_unique(Args&&... args) + { + using up_type = typename ARENA::template unique_ptr; + using deleter_type = typename ARENA::template deleter_type; + auto *mem = detail::alloc(std::forward(args)...); + return up_type(mem, deleter_type()); } - template - constexpr const T *assume_aligned_ptr(const T *p) noexcept + template + static inline + std::enable_if_t> + make_unique(Args&&... args) { - static_assert(ALIGN >= alignof(T), "Alignment must be greater or equal to alignof(T)"); - static_assert(is_pow2(ALIGN), "Alignment must be a power of 2"); -#if (PUSE_ALIGNED_HINTS) - return reinterpret_cast(__builtin_assume_aligned(p, ALIGN)); -#else - return p; -#endif + return make_unique(ARENA::instance(), std::forward(args)...); } + template + static inline + typename ARENA::template unique_ptr + make_unique(ARENA &arena, Args&&... args) + { + using up_type = typename ARENA::template unique_ptr; + using deleter_type = typename ARENA::template deleter_type; + auto *mem = detail::alloc(arena, std::forward(args)...); + return up_type(mem, deleter_type(&arena)); + } + + template + static inline + std::enable_if_t> + make_owned(Args&&... args) + { + using op_type = typename ARENA::template owned_ptr; + using deleter_type = typename ARENA::template deleter_type; + auto *mem = detail::alloc(std::forward(args)...); + return op_type(mem, true, deleter_type()); + } + + template + static inline + std::enable_if_t> + make_owned(Args&&... args) + { + return make_owned(ARENA::instance(), std::forward(args)...); + } + + template + static inline typename ARENA::template owned_ptr make_owned(ARENA &arena, Args&&... args) + { + using op_type = typename ARENA::template owned_ptr; + using deleter_type = typename ARENA::template deleter_type; + auto *mem = detail::alloc(arena, std::forward(args)...); + return op_type(mem, true, deleter_type(&arena)); + } + + template using aligned_allocator = aligned_arena::allocator_type; @@ -557,56 +592,71 @@ namespace plib { PDEFINE_HAS_MEMBER(has_align, align_size); - template - struct align_traits + template + struct align_traits_base { + static_assert(!has_align::value, "no align"); static constexpr const std::size_t align_size = alignof(std::max_align_t); static constexpr const std::size_t value_size = sizeof(typename T::value_type); static constexpr const std::size_t stride_size = lcm(align_size, value_size) / value_size; }; template - struct align_traits::value, void>> + struct align_traits_base { + static_assert(has_align::value, "no align"); static constexpr const std::size_t align_size = T::align_size; static constexpr const std::size_t value_size = sizeof(typename T::value_type); static constexpr const std::size_t stride_size = lcm(align_size, value_size) / value_size; }; - //============================================================ - // Aligned vector - //============================================================ + template + struct align_traits : public align_traits_base::value> + {}; - // FIXME: needs a separate file - template > - class aligned_vector : public std::vector + template + class paged_arena : public arena_base, true, true> { public: - using base = std::vector; - - using reference = typename base::reference; - using const_reference = typename base::const_reference; - using pointer = typename base::pointer; - using const_pointer = typename base::const_pointer; - using size_type = typename base::size_type; + paged_arena() + { + } - using base::base; + PCOPYASSIGNMOVE(paged_arena, delete) - base & as_base() noexcept { return *this; } - const base & as_base() const noexcept { return *this; } + ~paged_arena() = default; - constexpr reference operator[](size_type i) noexcept + static void *allocate(size_t align, size_t size) { - return assume_aligned_ptr(&(base::operator[](0)))[i]; + plib::unused_var(align); + //size = ((size + PAGESIZE - 1) / PAGESIZE) * PAGESIZE; + return arena().allocate(PAGESIZE, size); } - constexpr const_reference operator[](size_type i) const noexcept + static void deallocate(void *ptr, size_t size) noexcept { - return assume_aligned_ptr(&(base::operator[](0)))[i]; + //size = ((size + PAGESIZE - 1) / PAGESIZE) * PAGESIZE; + arena().deallocate(ptr, size); } - pointer data() noexcept { return assume_aligned_ptr(base::data()); } - const_pointer data() const noexcept { return assume_aligned_ptr(base::data()); } + bool operator ==(const paged_arena &rhs) const noexcept { return this == &rhs; } + + static BASEARENA &arena() noexcept { static BASEARENA m_arena; return m_arena; } + private: + }; + + //============================================================ + // Aligned vector + //============================================================ + + // FIXME: needs a separate file + template >//aligned_arena> + class aligned_vector : public std::vector> + { + public: + using base = std::vector>; + + using base::base; }; diff --git a/src/lib/netlist/plib/parray.h b/src/lib/netlist/plib/parray.h index 0d89a56195c..2c2b0fc4270 100644 --- a/src/lib/netlist/plib/parray.h +++ b/src/lib/netlist/plib/parray.h @@ -21,19 +21,20 @@ namespace plib { - template + template struct sizeabs { - static constexpr std::size_t ABS() noexcept { return (SIZE < 0) ? static_cast(0 - SIZE) : static_cast(SIZE); } + static constexpr std::size_t ABS() noexcept { return (SIZE < 0) ? narrow_cast(0 - SIZE) : narrow_cast(SIZE); } using container = typename std::array ; }; - template - struct sizeabs + template + struct sizeabs { static constexpr std::size_t ABS() noexcept { return 0; } + using allocator_type = typename ARENA::template allocator_type; //using container = typename std::vector>; - using container = typename std::vector>; + using container = typename std::vector; }; /// \brief Array with preallocated or dynamic allocation. @@ -51,17 +52,20 @@ namespace plib { /// I consider > 10% performance difference to be a use case. /// - template + template struct parray { public: - static constexpr std::size_t SIZEABS() noexcept { return sizeabs::ABS(); } + static constexpr std::size_t SIZEABS() noexcept { return sizeabs::ABS(); } - using base_type = typename sizeabs::container; + using base_type = typename sizeabs::container; using size_type = typename base_type::size_type; - using reference = typename base_type::reference; - using const_reference = typename base_type::const_reference; - using value_type = typename base_type::value_type; + using value_type = FT; + using reference = FT &; + using const_reference = const FT &; + + using pointer = FT *; + using const_pointer = const FT *; template parray(size_type size, std::enable_if_t<(X==0), int> = 0) @@ -70,7 +74,7 @@ namespace plib { } template - parray(size_type size, FT val, std::enable_if_t<(X==0), int> = 0) + parray(size_type size, const FT &val, std::enable_if_t<(X==0), int> = 0) : m_a(size, val), m_size(size) { } @@ -85,7 +89,7 @@ namespace plib { } template - parray(size_type size, FT val, std::enable_if_t<(X != 0), int> = 0) noexcept(false) + parray(size_type size, const FT &val, std::enable_if_t<(X != 0), int> = 0) noexcept(false) : m_size(size) { if ((SIZE < 0 && size > SIZEABS()) @@ -131,20 +135,19 @@ namespace plib { constexpr reference operator[](size_type i) noexcept { - return assume_aligned_ptr(&m_a[0])[i]; + return data()[i]; } constexpr const_reference operator[](size_type i) const noexcept { - return assume_aligned_ptr(&m_a[0])[i]; + return data()[i]; } - FT * data() noexcept { return assume_aligned_ptr(m_a.data()); } - const FT * data() const noexcept { return assume_aligned_ptr(m_a.data()); } + pointer data() noexcept { return m_a.data(); } + const_pointer data() const noexcept { return m_a.data(); } private: PALIGNAS_VECTOROPT() base_type m_a; - PALIGNAS_CACHELINE() size_type m_size; }; diff --git a/src/lib/netlist/plib/pchrono.h b/src/lib/netlist/plib/pchrono.h index feee8a30c3e..4a5e77d9ca2 100644 --- a/src/lib/netlist/plib/pchrono.h +++ b/src/lib/netlist/plib/pchrono.h @@ -9,6 +9,7 @@ /// #include "pconfig.h" +#include "pgsl.h" #include "ptypes.h" #include @@ -212,8 +213,8 @@ namespace plib { ctype count() const noexcept { return m_count; } template - S as_seconds() const noexcept { return static_cast(total()) - / static_cast(T::per_second()); } + S as_seconds() const noexcept { return narrow_cast(total()) + / narrow_cast(T::per_second()); } guard_t guard() noexcept { return guard_t(*this); } private: @@ -244,7 +245,7 @@ namespace plib { constexpr type total() const noexcept { return 0; } constexpr ctype count() const noexcept { return 0; } template - S as_seconds() const noexcept { return static_cast(0.0); } + S as_seconds() const noexcept { return narrow_cast(0); } constexpr static bool enabled = false; guard_t guard() { return guard_t(); } }; diff --git a/src/lib/netlist/plib/pconfig.h b/src/lib/netlist/plib/pconfig.h index b719139d73f..984ed944acb 100644 --- a/src/lib/netlist/plib/pconfig.h +++ b/src/lib/netlist/plib/pconfig.h @@ -72,10 +72,11 @@ #define PALIGNAS_CACHELINE() PALIGNAS(PALIGN_CACHELINE) #define PALIGNAS_VECTOROPT() PALIGNAS(PALIGN_VECTOROPT) -// FIXME: Breaks mame build on windows due to -Wattribute +// FIXME: Breaks mame build on windows mingw due to -Wattribute // also triggers -Wattribute on ARM +// This is fixed on mingw version 10 // FIXME: no error on cross-compile - need further checks -#if defined(__GNUC__) && (defined(_WIN32) || defined(__arm__) || defined(__ARMEL__)) +#if defined(__GNUC__) && ((defined(_WIN32) && __GNUC__ < 10) || defined(__arm__) || defined(__ARMEL__)) #define PALIGNAS(x) #else #define PALIGNAS(x) alignas(x) @@ -83,7 +84,7 @@ /// \brief nvcc build flag. /// -/// Set this to 1 if you are building with NVIDIA nvcc +/// Set this to 101 if you are building with NVIDIA nvcc 10.1 /// #ifndef NVCCBUILD #define NVCCBUILD (0) @@ -166,5 +167,15 @@ typedef __float128 FLOAT128; #endif #endif +#if (PUSE_FLOAT128) +#if defined(__has_include) +#if !__has_include() +//#pragma message "disabling PUSE_FLOAT128 due to missing quadmath.h" +#undef PUSE_FLOAT128 +#define PUSE_FLOAT128 (0) +#endif +#endif +#endif + #endif // PCONFIG_H_ diff --git a/src/lib/netlist/plib/pdynlib.h b/src/lib/netlist/plib/pdynlib.h index ffb3ae03b99..6fe91953529 100644 --- a/src/lib/netlist/plib/pdynlib.h +++ b/src/lib/netlist/plib/pdynlib.h @@ -31,6 +31,7 @@ namespace plib { template T getsym(const pstring &name) const noexcept { + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) return reinterpret_cast(getsym_p(name)); } diff --git a/src/lib/netlist/plib/penum.h b/src/lib/netlist/plib/penum.h index 2765e262773..f965411d546 100644 --- a/src/lib/netlist/plib/penum.h +++ b/src/lib/netlist/plib/penum.h @@ -24,7 +24,7 @@ namespace plib // Implementation in putil.cpp. // Putting the code here leads to a performance decrease. static int from_string_int(const pstring &str, const pstring &x); - static pstring nthstr(int n, const pstring &str); + static pstring nthstr(std::size_t n, const pstring &str); }; } // namespace plib @@ -43,7 +43,7 @@ namespace plib constexpr bool operator==(const ename &rhs) const noexcept {return m_v == rhs.m_v;} \ constexpr bool operator==(const E &rhs) const noexcept {return m_v == rhs;} \ pstring name() const { \ - return nthstr(static_cast(m_v), strings()); \ + return nthstr(m_v, strings()); \ } \ private: E m_v; \ static pstring strings() {\ diff --git a/src/lib/netlist/plib/pexception.cpp b/src/lib/netlist/plib/pexception.cpp index d332f989321..56ef7f93efb 100644 --- a/src/lib/netlist/plib/pexception.cpp +++ b/src/lib/netlist/plib/pexception.cpp @@ -5,8 +5,8 @@ #include "pfmtlog.h" #include -#include #include +#include #if (defined(__x86_64__) || defined(__i386__)) && defined(__linux__) #define HAS_FEENABLE_EXCEPT (1) diff --git a/src/lib/netlist/plib/pfmtlog.cpp b/src/lib/netlist/plib/pfmtlog.cpp index d776e0133da..ddb9b5dd2e5 100644 --- a/src/lib/netlist/plib/pfmtlog.cpp +++ b/src/lib/netlist/plib/pfmtlog.cpp @@ -92,7 +92,7 @@ pfmt::rtype pfmt::setfmt(std::stringstream &strm, char32_t cfmt_spec) // a.b format here ... char32_t pend(0); int width(0); - if (fmt != "" && pstring("duxofge").find(static_cast(cfmt_spec)) != pstring::npos) + if (!fmt.empty() && pstring("duxofge").find(static_cast(cfmt_spec)) != pstring::npos) { pend = static_cast(fmt.at(fmt.size() - 1)); if (pstring("duxofge").find(static_cast(pend)) == pstring::npos) @@ -113,7 +113,7 @@ pfmt::rtype pfmt::setfmt(std::stringstream &strm, char32_t cfmt_spec) strm << std::setprecision(pstonum_ne_def(fmt.substr(pdot + 1), 6)); width = pstonum_ne_def(left(fmt,pdot), 0); } - else if (fmt != "") + else if (!fmt.empty()) width = pstonum_ne_def(fmt, 0); auto aw(plib::abs(width)); diff --git a/src/lib/netlist/plib/pfmtlog.h b/src/lib/netlist/plib/pfmtlog.h index 793c59bf954..ac2a5e9a747 100644 --- a/src/lib/netlist/plib/pfmtlog.h +++ b/src/lib/netlist/plib/pfmtlog.h @@ -55,7 +55,7 @@ namespace plib { static char32_t fmt_spec() { return 'f'; } static inline void streamify(std::ostream &s, const FLOAT128 &v) { - s << static_cast(v); + s << narrow_cast(v); } }; #endif @@ -322,7 +322,7 @@ namespace plib { if (build_enabled && enabled && m_enabled) { pfmt pf(fmt); - static_cast(this)->vdowrite(xlog(pf, std::forward(args)...)); + dynamic_cast(*this).vdowrite(xlog(pf, std::forward(args)...)); } } @@ -332,7 +332,7 @@ namespace plib { if (build_enabled && m_enabled) { pfmt pf(fmt); - static_cast(this)->vdowrite(xlog(pf, std::forward(args)...)); + static_cast(*this).vdowrite(xlog(pf, std::forward(args)...)); } } diff --git a/src/lib/netlist/plib/pfunction.cpp b/src/lib/netlist/plib/pfunction.cpp index c5e011dfbb9..3a360c7a33f 100644 --- a/src/lib/netlist/plib/pfunction.cpp +++ b/src/lib/netlist/plib/pfunction.cpp @@ -25,26 +25,26 @@ namespace plib { { static std::map units_si_stat = { - //{ "Y", static_cast(1e24) }, // NOLINT: Yotta - //{ "Z", static_cast(1e21) }, // NOLINT: Zetta - //{ "E", static_cast(1e18) }, // NOLINT: Exa - { "P", static_cast(1e15) }, // NOLINT: Peta - { "T", static_cast(1e12) }, // NOLINT: Tera - { "G", static_cast( 1e9) }, // NOLINT: Giga - { "M", static_cast( 1e6) }, // NOLINT: Mega - { "k", static_cast( 1e3) }, // NOLINT: Kilo - { "h", static_cast( 1e2) }, // NOLINT: Hekto - //{ "da", static_cast(1e1) }, // NOLINT: Deka - { "d", static_cast(1e-1) }, // NOLINT: Dezi - { "c", static_cast(1e-2) }, // NOLINT: Zenti - { "m", static_cast(1e-3) }, // NOLINT: Milli - { "μ", static_cast(1e-6) }, // NOLINT: Mikro - { "n", static_cast(1e-9) }, // NOLINT: Nano - { "p", static_cast(1e-12) }, // NOLINT: Piko - { "f", static_cast(1e-15) }, // NOLINT: Femto - { "a", static_cast(1e-18) }, // NOLINT: Atto - { "z", static_cast(1e-21) }, // NOLINT: Zepto - { "y", static_cast(1e-24) }, // NOLINT: Yokto + //{ "Y", narrow_cast(1e24) }, // NOLINT: Yotta + //{ "Z", narrow_cast(1e21) }, // NOLINT: Zetta + //{ "E", narrow_cast(1e18) }, // NOLINT: Exa + { "P", narrow_cast(1e15) }, // NOLINT: Peta + { "T", narrow_cast(1e12) }, // NOLINT: Tera + { "G", narrow_cast( 1e9) }, // NOLINT: Giga + { "M", narrow_cast( 1e6) }, // NOLINT: Mega + { "k", narrow_cast( 1e3) }, // NOLINT: Kilo + { "h", narrow_cast( 1e2) }, // NOLINT: Hekto + //{ "da", narrow_cast(1e1) }, // NOLINT: Deka + { "d", narrow_cast(1e-1) }, // NOLINT: Dezi + { "c", narrow_cast(1e-2) }, // NOLINT: Zenti + { "m", narrow_cast(1e-3) }, // NOLINT: Milli + { "μ", narrow_cast(1e-6) }, // NOLINT: Mikro + { "n", narrow_cast(1e-9) }, // NOLINT: Nano + { "p", narrow_cast(1e-12) }, // NOLINT: Piko + { "f", narrow_cast(1e-15) }, // NOLINT: Femto + { "a", narrow_cast(1e-18) }, // NOLINT: Atto + { "z", narrow_cast(1e-21) }, // NOLINT: Zepto + { "y", narrow_cast(1e-24) }, // NOLINT: Yokto }; return units_si_stat; } @@ -105,7 +105,7 @@ namespace plib { if (inputs[i] == cmd) { rc.m_cmd = PUSH_INPUT; - rc.m_param = static_cast(i); + rc.m_param = narrow_cast(i); stk += 1; break; } @@ -128,7 +128,7 @@ namespace plib { } if (stk < 1) throw pexception(plib::pfmt("pfunction: stack underflow on token <{1}> in <{2}>")(cmd)(expr)); - if (stk >= static_cast(MAX_STACK)) + if (stk >= narrow_cast(MAX_STACK)) throw pexception(plib::pfmt("pfunction: stack overflow on token <{1}> in <{2}>")(cmd)(expr)); m_precompiled.push_back(rc); } @@ -286,7 +286,7 @@ namespace plib { lfsr >>= 1; if (lsb) lfsr ^= 0xB400U; // NOLINT: taps 15, 13, 12, 10 - return static_cast(lfsr) / static_cast(0xffffU); // NOLINT + return narrow_cast(lfsr) / narrow_cast(0xffffU); // NOLINT } template @@ -297,7 +297,7 @@ namespace plib { lfsr >>= 1; if (lsb) lfsr ^= 0xB400U; // NOLINT: taps 15, 13, 12, 10 - return static_cast(lfsr); + return narrow_cast(lfsr); } #define ST1 stack[ptr] @@ -333,7 +333,7 @@ namespace plib { stack[ptr++] = lfsr_random(m_lfsr); break; case PUSH_INPUT: - stack[ptr++] = values[static_cast(rc.m_param)]; + stack[ptr++] = values[narrow_cast(rc.m_param)]; break; case PUSH_CONST: stack[ptr++] = rc.m_param; diff --git a/src/lib/netlist/plib/pgsl.h b/src/lib/netlist/plib/pgsl.h new file mode 100644 index 00000000000..ab7798071a5 --- /dev/null +++ b/src/lib/netlist/plib/pgsl.h @@ -0,0 +1,105 @@ +// license:GPL-2.0+ +// copyright-holders:Couriersud + +#ifndef PGSL_H_ +#define PGSL_H_ + +/// +/// \file pgsl.h +/// +/// This core guidelines gsl implementation currently provides only enough +/// functionality to syntactically support a very limited number of the +/// gsl specification. +/// +/// Going forward this approach may be extended. +/// + +#include "pconfig.h" +#include "pexception.h" +#include "ptypes.h" + +#include +#include +#include + +#if defined(__has_builtin) // clang and gcc 10 + #if __has_builtin(__builtin_unreachable) + #define gsl_Expects(e) ((e) ? static_cast(0) : __builtin_unreachable()) + #endif +#elif defined(__GNUC__) && !(defined( __CUDACC__ ) && defined( __CUDA_ARCH__ )) + #define gsl_Expects(e) ((e) ? static_cast(0) : __builtin_unreachable()) +#elif defined(_MSC_VER) + #define gsl_Expects(e) __assume(e) +#else + #define gsl_Expects(e) ((e) ? static_cast(0) : static_cast(0)) +#endif + +#undef gsl_Expects +#define gsl_Expects(e) do {} while (0) +#define gsl_Ensures(e) gsl_Expects(e) + +namespace plib { + namespace pgsl { + + struct narrowing_error : public std::exception {}; + + template + using owner = T; + + template + using not_null = T; + + /// \brief perform a narrowing cast without checks + /// + template + inline constexpr T narrow_cast(O && v) noexcept + { + static_assert(plib::is_arithmetic::value && std::is_convertible, T>::value, "narrow cast expects conversion between arithmetic types"); + return static_cast(std::forward(v)); + } + + /// \brief perform a narrowing cast terminating if loss of precision + /// + /// The c++ core guidelines require the narrow function to raise an error + /// This will make narrow noexcept(false). This has shown to have a + /// measurable impact on performance and thus we deviate we deviate from + /// the standard here. + /// + template + inline T narrow(O && v) noexcept + { + static_assert(plib::is_arithmetic::value && std::is_convertible, T>::value, "narrow cast expects conversion between arithmetic types"); + + const auto val = static_cast(std::forward(v)); + if( v == static_cast>(val)) + { + return val; + } + + plib::terminate("narrowing_error"); + // throw narrowing_error(); + } + + } // namespace pgsl + + /// \brief downcast from base tpye to derived type + /// + /// The cpp core guidelines require a very careful use of static cast + /// for downcast operations. This template is used to identify these uses + /// and later for debug builds use dynamic_cast. + /// + template + inline constexpr D downcast(B && b) noexcept + { + static_assert(std::is_pointer::value || std::is_reference::value, "downcast only supports pointers or reference for derived"); + static_assert(std::is_pointer::value || std::is_reference::value, "downcast only supports pointers or reference for base"); + return static_cast(std::forward(b)); + } + + using pgsl::narrow_cast; +} // namespace plib + +//FIXME: This is the place to use more complete implementations +namespace gsl = plib::pgsl; + +#endif // PGSL_H_ diff --git a/src/lib/netlist/plib/plists.h b/src/lib/netlist/plib/plists.h index f5151b95011..4e3ddace57e 100644 --- a/src/lib/netlist/plib/plists.h +++ b/src/lib/netlist/plib/plists.h @@ -62,11 +62,13 @@ namespace plib { reference operator[](size_type index) noexcept { + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) return reinterpret_cast(m_buf[index]); } constexpr const_reference operator[](size_type index) const noexcept { + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) return reinterpret_cast(m_buf[index]); } @@ -78,13 +80,19 @@ namespace plib { new (&m_buf[index]) C(std::forward(args)...); } + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) iterator begin() const noexcept { return reinterpret_cast(&m_buf[0]); } + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) iterator end() const noexcept { return reinterpret_cast(&m_buf[N]); } + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) iterator begin() noexcept { return reinterpret_cast(&m_buf[0]); } + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) iterator end() noexcept { return reinterpret_cast(&m_buf[N]); } + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) const_iterator cbegin() const noexcept { return reinterpret_cast(&m_buf[0]); } + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) const_iterator cend() const noexcept { return reinterpret_cast(&m_buf[N]); } protected: diff --git a/src/lib/netlist/plib/pmain.cpp b/src/lib/netlist/plib/pmain.cpp index 1e4791adea8..fb428a179fa 100644 --- a/src/lib/netlist/plib/pmain.cpp +++ b/src/lib/netlist/plib/pmain.cpp @@ -29,8 +29,8 @@ namespace plib { int app::main_utfX(int argc, char *argv[]) { std::vector arg; - for (std::size_t i = 0; i < static_cast(argc); i++) - arg.push_back(putf8string(argv[i])); + for (std::size_t i = 0; i < narrow_cast(argc); i++) + arg.emplace_back(putf8string(argv[i])); return main_utfX(arg); } @@ -38,8 +38,8 @@ namespace plib { int app::main_utfX(int argc, wchar_t *argv[]) { std::vector arg; - for (std::size_t i = 0; i < static_cast(argc); i++) - arg.push_back(putf8string(pwstring(argv[i]))); + for (std::size_t i = 0; i < narrow_cast(argc); i++) + arg.emplace_back(putf8string(pwstring(argv[i]))); return main_utfX(arg); } diff --git a/src/lib/netlist/plib/pmath.h b/src/lib/netlist/plib/pmath.h index 652cff059d2..e70c8f7fd55 100644 --- a/src/lib/netlist/plib/pmath.h +++ b/src/lib/netlist/plib/pmath.h @@ -15,9 +15,7 @@ #include #include -#if (PUSE_FLOAT128) -#include -#endif +// quadmath.h included by ptypes.h namespace plib { diff --git a/src/lib/netlist/plib/pmatrix2d.h b/src/lib/netlist/plib/pmatrix2d.h old mode 100644 new mode 100755 index 33e3169c64a..b9a2ebee116 --- a/src/lib/netlist/plib/pmatrix2d.h +++ b/src/lib/netlist/plib/pmatrix2d.h @@ -17,70 +17,102 @@ namespace plib { - template> + template class pmatrix2d { public: using size_type = std::size_t; + using arena_type = A; + using allocator_type = typename A::template allocator_type; + + static constexpr const size_type align_size = align_traits::align_size; + static constexpr const size_type stride_size = align_traits::stride_size; + using value_type = T; - using allocator_type = A; + using reference = T &; + using const_reference = const T &; + + using pointer = T *; + using const_pointer = const T *; - static constexpr const size_type align_size = align_traits::align_size; - static constexpr const size_type stride_size = align_traits::stride_size; pmatrix2d() noexcept - : m_N(0), m_M(0), m_stride(8), m_v() + : m_N(0), m_M(0), m_stride(8), m_v(nullptr) { } pmatrix2d(size_type N, size_type M) : m_N(N), m_M(M), m_v() { + gsl_Expects(N>0); + gsl_Expects(M>0); m_stride = ((M + stride_size-1) / stride_size) * stride_size; - m_v.resize(N * m_stride); + m_v = m_a.allocate(N * m_stride); + for (std::size_t i = 0; i < N * m_stride; i++) + ::new(&m_v[i]) T(); + } + + ~pmatrix2d() + { + if (m_v != nullptr) + { + for (std::size_t i = 0; i < m_N * m_stride; i++) + (&m_v[i])->~T(); + m_a.deallocate(m_v, m_N * m_stride); + } } void resize(size_type N, size_type M) { + gsl_Expects(N>0); + gsl_Expects(M>0); + if (m_v != nullptr) + { + for (std::size_t i = 0; i < N * m_stride; i++) + (&m_v[i])->~T(); + m_a.deallocate(m_v, N * m_stride); + } m_N = N; m_M = M; m_stride = ((M + stride_size-1) / stride_size) * stride_size; - m_v.resize(N * m_stride); + m_v = m_a.allocate(N * m_stride); + for (std::size_t i = 0; i < N * m_stride; i++) + ::new(&m_v[i]) T(); } - constexpr T * operator[] (size_type row) noexcept + constexpr pointer operator[] (size_type row) noexcept { - return assume_aligned_ptr(&m_v[m_stride * row]); + return &m_v[m_stride * row]; } - constexpr const T * operator[] (size_type row) const noexcept + constexpr const_pointer operator[] (size_type row) const noexcept { - return assume_aligned_ptr(&m_v[m_stride * row]); + return &m_v[m_stride * row]; } - T & operator()(size_type r, size_type c) noexcept + reference operator()(size_type r, size_type c) noexcept { return (*this)[r][c]; } - const T & operator()(size_type r, size_type c) const noexcept + const_reference operator()(size_type r, size_type c) const noexcept { return (*this)[r][c]; } // for compatibility with vrl variant - void set(size_type r, size_type c, const T &v) noexcept + void set(size_type r, size_type c, const value_type &v) noexcept { (*this)[r][c] = v; } - T * data() noexcept + pointer data() noexcept { - return m_v.data(); + return m_v; } - const T * data() const noexcept + const_pointer data() const noexcept { - return m_v.data(); + return m_v; } size_type didx(size_type r, size_type c) const noexcept @@ -93,20 +125,23 @@ namespace plib size_type m_M; size_type m_stride; - std::vector m_v; + T * __restrict m_v; + + allocator_type m_a; }; // variable row length matrix - template> + template class pmatrix2d_vrl { public: using size_type = std::size_t; using value_type = T; - using allocator_type = A; + using arena_type = A; + using allocator_type = typename A::template allocator_type; - static constexpr const size_type align_size = align_traits::align_size; - static constexpr const size_type stride_size = align_traits::stride_size; + static constexpr const size_type align_size = align_traits::align_size; + static constexpr const size_type stride_size = align_traits::stride_size; pmatrix2d_vrl() noexcept : m_N(0), m_M(0), m_v() { @@ -139,24 +174,24 @@ namespace plib return &(m_v[m_row[row]]); } -#if 0 + //FIXME: no check! T & operator()(size_type r, size_type c) noexcept { return (*this)[r][c]; } -#else + void set(size_type r, size_type c, const T &v) noexcept { if (c + m_row[r] >= m_row[r + 1]) { - m_v.insert(m_v.begin() + m_row[r+1], v); + m_v.insert(m_v.begin() + narrow_cast(m_row[r+1]), v); for (size_type i = r + 1; i <= m_N; i++) m_row[i] = m_row[i] + 1; } else (*this)[r][c] = v; } -#endif + //FIXME: no check! const T & operator()(size_type r, size_type c) const noexcept { @@ -184,8 +219,8 @@ namespace plib size_type m_N; size_type m_M; - std::vector m_row; - std::vector m_v; + std::vector> m_row; + std::vector m_v; }; diff --git a/src/lib/netlist/plib/pmempool.h b/src/lib/netlist/plib/pmempool.h index 441595d9e58..ece0f117a8d 100644 --- a/src/lib/netlist/plib/pmempool.h +++ b/src/lib/netlist/plib/pmempool.h @@ -40,31 +40,26 @@ namespace plib { mempool_arena(size_t min_alloc = (1<<21), size_t min_align = PALIGN_CACHELINE) : m_min_alloc(min_alloc) , m_min_align(min_align) + , m_block_align(1024) , m_blocks(base_allocator_type(m_arena)) { - icount()++; } PCOPYASSIGNMOVE(mempool_arena, delete) ~mempool_arena() { - for (auto & b : m_blocks) { if (b->m_num_alloc != 0) { - plib::perrlogger("Found {} info blocks\n", sinfo().size()); + plib::perrlogger("Found {} info blocks\n", m_info.size()); plib::perrlogger("Found block with {} dangling allocations\n", b->m_num_alloc); } - m_arena.free(b); - //::operator delete(b->m_data); - } - if (icount()-- == 1) - { - if (!sinfo().empty()) - plib::perrlogger("Still found {} info blocks after last mempool deleted\n", sinfo().size()); + detail::free(m_arena, b); } + if (!m_info.empty()) + plib::perrlogger("Still found {} info blocks after mempool deleted\n", m_info.size()); } void *allocate(size_t align, size_t size) @@ -92,21 +87,18 @@ namespace plib { void *ret = reinterpret_cast(b->m_data + b->m_cur); auto capacity(rs); ret = std::align(align, size, ret, capacity); - sinfo().insert({ ret, info(b, b->m_cur)}); + m_info.insert({ ret, info(b, b->m_cur)}); rs -= (capacity - size); b->m_cur += rs; - base_type::m_stat_cur_alloc() += size; - if (base_type::m_stat_max_alloc() < base_type::m_stat_cur_alloc()) - base_type::m_stat_max_alloc() = base_type::m_stat_cur_alloc(); + this->inc_alloc_stat(size); return ret; } - /*static */ void deallocate(void *ptr, size_t size) noexcept + void deallocate(void *ptr, size_t size) noexcept { - - auto it = sinfo().find(ptr); - if (it == sinfo().end()) + auto it = m_info.find(ptr); + if (it == m_info.end()) plib::terminate("mempool::free - pointer not found"); block *b = it->second.m_block; if (b->m_num_alloc == 0) @@ -115,7 +107,7 @@ namespace plib { { mempool_arena &mp = b->m_mempool; b->m_num_alloc--; - mp.m_stat_cur_alloc() -= size; + mp.dec_alloc_stat(size); if (b->m_num_alloc == 0) { auto itb = std::find(mp.m_blocks.begin(), mp.m_blocks.end(), b); @@ -123,14 +115,15 @@ namespace plib { plib::terminate("mempool::free - block not found"); mp.m_blocks.erase(itb); - m_arena.free(b); + detail::free(mp.base_arena(), b); } - sinfo().erase(it); + m_info.erase(it); } } bool operator ==(const mempool_arena &rhs) const noexcept { return this == &rhs; } + BASEARENA &base_arena() noexcept { return m_arena; } private: struct block { @@ -142,17 +135,19 @@ namespace plib { { min_bytes = std::max(mp.m_min_alloc, min_bytes); m_free = min_bytes; - size_type alloc_bytes = (min_bytes + mp.m_min_align); // - 1); // & ~(mp.m_min_align - 1); + m_bytes_allocated = (min_bytes + mp.m_block_align); // - 1); // & ~(mp.m_min_align - 1); // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - m_data_allocated = new std::uint8_t[alloc_bytes]; + //m_data_allocated = new std::uint8_t[alloc_bytes]; + m_data_allocated = static_cast(mp.base_arena().allocate(mp.m_block_align, m_bytes_allocated)); void *r = m_data_allocated; - std::align(mp.m_min_align, min_bytes, r, alloc_bytes); + std::align(mp.m_block_align, min_bytes, r, m_bytes_allocated); m_data = reinterpret_cast(r); } ~block() { //::operator delete(m_data_allocated); - delete [] m_data_allocated; + //delete [] m_data_allocated; + m_mempool.base_arena().deallocate(m_data_allocated, m_bytes_allocated); } block(const block &) = delete; @@ -163,6 +158,7 @@ namespace plib { size_type m_num_alloc; size_type m_free; size_type m_cur; + size_type m_bytes_allocated; std::uint8_t *m_data; std::uint8_t *m_data_allocated; mempool_arena &m_mempool; @@ -180,27 +176,20 @@ namespace plib { block * new_block(size_type min_bytes) { - auto *b = m_arena.template alloc(*this, min_bytes); + auto *b = detail::alloc(m_arena, *this, min_bytes); m_blocks.push_back(b); return b; } - static std::unordered_map &sinfo() - { - static std::unordered_map spinfo; - return spinfo; - } - - static std::size_t &icount() - { - static std::size_t count = 0; - return count; - } - size_t m_min_alloc; size_t m_min_align; + size_t m_block_align; BASEARENA m_arena; + using base_allocator_typex = typename BASEARENA::template allocator_type>; + std::unordered_map, std::equal_to, + base_allocator_typex> m_info; +// std::unordered_map m_info; std::vector> m_blocks; }; diff --git a/src/lib/netlist/plib/poptions.cpp b/src/lib/netlist/plib/poptions.cpp index 690feb38c61..c22076f6d0c 100644 --- a/src/lib/netlist/plib/poptions.cpp +++ b/src/lib/netlist/plib/poptions.cpp @@ -68,7 +68,7 @@ namespace plib { auto *o = dynamic_cast