From 356613b82ee0cc764fbdfe930ac2b69aba3d53ac Mon Sep 17 00:00:00 2001 From: couriersud Date: Sat, 19 Sep 2020 13:04:37 +0200 Subject: astrob: significant performance increase * uses all 4 Sonar oscillators * uses randomized resistor values (5% range) * uses frontiers to separate oscillators * improves performance to 340% locally. --- src/lib/netlist/generated/static_solvers.cpp | 3559 +++++++++++++++----------- src/mame/audio/nl_astrob.cpp | 91 +- 2 files changed, 2090 insertions(+), 1560 deletions(-) diff --git a/src/lib/netlist/generated/static_solvers.cpp b/src/lib/netlist/generated/static_solvers.cpp index 367af35bbb9..f945088b84c 100644 --- a/src/lib/netlist/generated/static_solvers.cpp +++ b/src/lib/netlist/generated/static_solvers.cpp @@ -1176,6 +1176,218 @@ static void nl_gcr_144ed14e6bafdb_119_double_double(double * __restrict V, const V[0] = (RHS0 - tmp0) / m_A0; } +// astrob +static void nl_gcr_15b7648945a58fb_27_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + plib::unused_var(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); + 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_A4 += go[7]; + m_A3 += go[8]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[9] * *cnV[9]; + m_A5 += gt[10]; + m_A5 += gt[11]; + m_A5 += gt[12]; + m_A5 += gt[13]; + m_A5 += gt[14]; + m_A5 += gt[15]; + m_A5 += gt[16]; + m_A6 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 += Idr[13]; + RHS2 += Idr[14]; + RHS2 += Idr[15]; + RHS2 += Idr[16]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + RHS2 -= go[13] * *cnV[13]; + RHS2 -= go[14] * *cnV[14]; + RHS2 -= go[15] * *cnV[15]; + RHS2 -= go[16] * *cnV[16]; + m_A7 += gt[17]; + m_A7 += gt[18]; + m_A7 += gt[19]; + m_A7 += gt[20]; + m_A9 += go[17]; + m_A10 += go[18]; + m_A8 += go[19]; + double RHS3 = Idr[17]; + RHS3 += Idr[18]; + RHS3 += Idr[19]; + RHS3 += Idr[20]; + RHS3 -= go[20] * *cnV[20]; + m_A14 += gt[21]; + m_A14 += gt[22]; + m_A14 += gt[23]; + m_A14 += gt[24]; + m_A14 += gt[25]; + m_A11 += go[21]; + m_A13 += go[22]; + m_A12 += go[23]; + double RHS4 = Idr[21]; + RHS4 += Idr[22]; + RHS4 += Idr[23]; + RHS4 += Idr[24]; + RHS4 += Idr[25]; + RHS4 -= go[24] * *cnV[24]; + RHS4 -= go[25] * *cnV[25]; + m_A19 += gt[26]; + m_A19 += gt[27]; + m_A19 += gt[28]; + m_A20 += go[26]; + m_A17 += go[27]; + double RHS5 = Idr[26]; + RHS5 += Idr[27]; + RHS5 += Idr[28]; + RHS5 -= go[28] * *cnV[28]; + m_A26 += gt[29]; + m_A26 += gt[30]; + m_A26 += gt[31]; + m_A26 += gt[32]; + m_A26 += gt[33]; + m_A26 += gt[34]; + m_A26 += gt[35]; + m_A22 += go[29]; + m_A25 += go[30]; + m_A23 += go[31]; + m_A21 += go[32]; + double RHS6 = Idr[29]; + RHS6 += Idr[30]; + RHS6 += Idr[31]; + RHS6 += Idr[32]; + RHS6 += Idr[33]; + RHS6 += Idr[34]; + RHS6 += Idr[35]; + RHS6 -= go[33] * *cnV[33]; + RHS6 -= go[34] * *cnV[34]; + RHS6 -= go[35] * *cnV[35]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A11; + m_A12 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A12; + m_A14 += m_A3 * f1_4; + m_A16 += m_A4 * f1_4; + RHS4 += f1_4 * RHS1; + const double f1_6 = -f1 * m_A21; + m_A24 += m_A3 * f1_6; + m_A26 += m_A4 * f1_6; + RHS6 += f1_6 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_6 = -f2 * m_A22; + m_A25 += m_A6 * f2_6; + RHS6 += f2_6 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_4 = -f3 * m_A13; + m_A14 += m_A8 * f3_4; + m_A15 += m_A9 * f3_4; + m_A16 += m_A10 * f3_4; + RHS4 += f3_4 * RHS3; + const double f3_5 = -f3 * m_A17; + m_A18 += m_A8 * f3_5; + m_A19 += m_A9 * f3_5; + m_A20 += m_A10 * f3_5; + RHS5 += f3_5 * RHS3; + const double f3_6 = -f3 * m_A23; + m_A24 += m_A8 * f3_6; + m_A25 += m_A9 * f3_6; + m_A26 += m_A10 * f3_6; + RHS6 += f3_6 * RHS3; + const double f4 = 1.0 / m_A14; + const double f4_5 = -f4 * m_A18; + m_A19 += m_A15 * f4_5; + m_A20 += m_A16 * f4_5; + RHS5 += f4_5 * RHS4; + const double f4_6 = -f4 * m_A24; + m_A25 += m_A15 * f4_6; + m_A26 += m_A16 * f4_6; + RHS6 += f4_6 * RHS4; + const double f5 = 1.0 / m_A19; + const double f5_6 = -f5 * m_A25; + m_A26 += m_A20 * f5_6; + RHS6 += f5_6 * RHS5; + V[6] = RHS6 / m_A26; + double tmp5 = 0.0; + tmp5 += m_A20 * V[6]; + V[5] = (RHS5 - tmp5) / m_A19; + double tmp4 = 0.0; + tmp4 += m_A15 * V[5]; + tmp4 += m_A16 * V[6]; + V[4] = (RHS4 - tmp4) / m_A14; + double tmp3 = 0.0; + tmp3 += m_A8 * V[4]; + tmp3 += m_A9 * V[5]; + tmp3 += m_A10 * V[6]; + V[3] = (RHS3 - tmp3) / m_A7; + double tmp2 = 0.0; + tmp2 += m_A6 * V[5]; + V[2] = (RHS2 - tmp2) / m_A5; + double tmp1 = 0.0; + tmp1 += m_A3 * V[4]; + tmp1 += m_A4 * V[6]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[1]; + V[0] = (RHS0 - tmp0) / m_A0; +} + // spacewar static void nl_gcr_15e8f6fb021de0f9_28_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -5687,8 +5899,8 @@ static void nl_gcr_2f84bc98d737730b_22_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } -// astrob -static void nl_gcr_30fc51fe03b164cb_178_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) +// tankbatt +static void nl_gcr_328d886b444b586b_137_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) { @@ -5830,1358 +6042,172 @@ static void nl_gcr_30fc51fe03b164cb_178_double_double(double * __restrict V, con 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_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_A4 += go[7]; - m_A3 += go[8]; - double RHS1 = Idr[7]; - RHS1 += Idr[8]; - RHS1 += Idr[9]; - RHS1 -= go[9] * *cnV[9]; - m_A5 += gt[10]; - m_A5 += gt[11]; - m_A5 += gt[12]; - m_A5 += gt[13]; - m_A5 += gt[14]; - m_A5 += gt[15]; - m_A5 += gt[16]; - m_A6 += go[10]; - double RHS2 = Idr[10]; + 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_A4 += gt[7]; + m_A4 += gt[8]; + m_A4 += gt[9]; + m_A4 += gt[10]; + m_A4 += gt[11]; + m_A5 += go[7]; + m_A7 += go[8]; + m_A6 += 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 += Idr[14]; - RHS2 += Idr[15]; - RHS2 += Idr[16]; + RHS2 -= go[10] * *cnV[10]; RHS2 -= go[11] * *cnV[11]; - RHS2 -= go[12] * *cnV[12]; - RHS2 -= go[13] * *cnV[13]; - RHS2 -= go[14] * *cnV[14]; - RHS2 -= go[15] * *cnV[15]; - RHS2 -= go[16] * *cnV[16]; - m_A7 += gt[17]; - m_A7 += gt[18]; - m_A7 += gt[19]; - m_A7 += gt[20]; - m_A9 += go[17]; - m_A10 += go[18]; - m_A8 += go[19]; - double RHS3 = Idr[17]; - RHS3 += Idr[18]; - RHS3 += Idr[19]; - RHS3 += Idr[20]; - RHS3 -= go[20] * *cnV[20]; - m_A11 += gt[21]; - m_A11 += gt[22]; - m_A11 += gt[23]; - m_A11 += gt[24]; - m_A12 += go[21]; - m_A12 += go[22]; - m_A13 += go[23]; - double RHS4 = Idr[21]; - RHS4 += Idr[22]; - RHS4 += Idr[23]; - RHS4 += Idr[24]; - RHS4 -= go[24] * *cnV[24]; - m_A14 += gt[25]; - m_A14 += gt[26]; - m_A15 += go[25]; - m_A16 += go[26]; - double RHS5 = Idr[25]; - RHS5 += Idr[26]; - m_A17 += gt[27]; + m_A8 += gt[12]; + m_A8 += gt[13]; + m_A8 += 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_A10 += gt[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_A11 += go[15]; + m_A12 += go[16]; + double RHS4 = Idr[15]; + RHS4 += Idr[16]; + RHS4 += Idr[17]; + RHS4 += Idr[18]; + RHS4 += Idr[19]; + RHS4 += Idr[20]; + RHS4 += Idr[21]; + 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_A13 += gt[22]; + m_A13 += gt[23]; + m_A13 += gt[24]; + m_A14 += go[22]; + double RHS5 = Idr[22]; + RHS5 += Idr[23]; + RHS5 += Idr[24]; + RHS5 -= go[23] * *cnV[23]; + RHS5 -= go[24] * *cnV[24]; + m_A15 += gt[25]; + m_A15 += gt[26]; + m_A15 += gt[27]; + m_A16 += go[25]; + double RHS6 = Idr[25]; + RHS6 += Idr[26]; + RHS6 += Idr[27]; + RHS6 -= go[26] * *cnV[26]; + RHS6 -= go[27] * *cnV[27]; m_A17 += gt[28]; m_A17 += gt[29]; - m_A18 += go[27]; - double RHS6 = Idr[27]; - RHS6 += Idr[28]; - RHS6 += Idr[29]; - RHS6 -= go[28] * *cnV[28]; - RHS6 -= 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_A20 += go[30]; - m_A20 += go[31]; - m_A22 += go[32]; - m_A22 += go[33]; - m_A21 += go[34]; - double RHS7 = Idr[30]; - RHS7 += Idr[31]; - RHS7 += Idr[32]; - RHS7 += Idr[33]; - RHS7 += Idr[34]; - RHS7 += Idr[35]; - RHS7 -= go[35] * *cnV[35]; - m_A23 += gt[36]; - m_A23 += gt[37]; - m_A23 += gt[38]; - m_A23 += gt[39]; - m_A23 += gt[40]; - m_A23 += gt[41]; - m_A24 += go[36]; - m_A25 += go[37]; - double RHS8 = Idr[36]; - RHS8 += Idr[37]; - RHS8 += Idr[38]; - RHS8 += Idr[39]; - RHS8 += Idr[40]; - RHS8 += Idr[41]; - RHS8 -= go[38] * *cnV[38]; - RHS8 -= go[39] * *cnV[39]; - RHS8 -= go[40] * *cnV[40]; - RHS8 -= go[41] * *cnV[41]; - m_A26 += gt[42]; - m_A26 += gt[43]; - m_A26 += gt[44]; - m_A27 += go[42]; - double RHS9 = Idr[42]; - RHS9 += Idr[43]; - RHS9 += Idr[44]; - RHS9 -= go[43] * *cnV[43]; - RHS9 -= go[44] * *cnV[44]; + m_A17 += gt[30]; + m_A19 += go[28]; + m_A18 += go[29]; + double RHS7 = Idr[28]; + RHS7 += Idr[29]; + RHS7 += Idr[30]; + RHS7 -= go[30] * *cnV[30]; + m_A20 += gt[31]; + m_A20 += gt[32]; + m_A20 += gt[33]; + m_A21 += go[31]; + double RHS8 = Idr[31]; + RHS8 += Idr[32]; + RHS8 += Idr[33]; + RHS8 -= go[32] * *cnV[32]; + RHS8 -= go[33] * *cnV[33]; + m_A22 += gt[34]; + m_A22 += gt[35]; + m_A22 += gt[36]; + m_A24 += go[34]; + m_A23 += go[35]; + double RHS9 = Idr[34]; + RHS9 += Idr[35]; + RHS9 += Idr[36]; + RHS9 -= go[36] * *cnV[36]; + m_A25 += gt[37]; + m_A25 += gt[38]; + m_A25 += gt[39]; + m_A25 += gt[40]; + m_A25 += gt[41]; + m_A25 += gt[42]; + m_A25 += gt[43]; + m_A27 += go[37]; + m_A26 += go[38]; + double RHS10 = Idr[37]; + RHS10 += Idr[38]; + RHS10 += Idr[39]; + RHS10 += Idr[40]; + RHS10 += Idr[41]; + RHS10 += Idr[42]; + RHS10 += Idr[43]; + RHS10 -= go[39] * *cnV[39]; + RHS10 -= go[40] * *cnV[40]; + RHS10 -= go[41] * *cnV[41]; + RHS10 -= go[42] * *cnV[42]; + RHS10 -= go[43] * *cnV[43]; + m_A28 += gt[44]; m_A28 += gt[45]; m_A28 += gt[46]; m_A28 += gt[47]; - m_A29 += go[45]; - double RHS10 = Idr[45]; - RHS10 += Idr[46]; - RHS10 += Idr[47]; - RHS10 -= go[46] * *cnV[46]; - RHS10 -= go[47] * *cnV[47]; - m_A30 += gt[48]; - m_A30 += gt[49]; - m_A30 += gt[50]; - m_A31 += go[48]; - double RHS11 = Idr[48]; + m_A28 += gt[48]; + m_A28 += gt[49]; + m_A30 += go[44]; + m_A31 += go[45]; + m_A29 += go[46]; + double RHS11 = Idr[44]; + RHS11 += Idr[45]; + RHS11 += Idr[46]; + RHS11 += Idr[47]; + RHS11 += Idr[48]; RHS11 += Idr[49]; - RHS11 += Idr[50]; + RHS11 -= go[47] * *cnV[47]; + RHS11 -= go[48] * *cnV[48]; RHS11 -= go[49] * *cnV[49]; - RHS11 -= go[50] * *cnV[50]; + m_A32 += gt[50]; m_A32 += gt[51]; m_A32 += gt[52]; m_A32 += gt[53]; - m_A33 += go[51]; - double RHS12 = Idr[51]; + m_A35 += go[50]; + m_A34 += go[51]; + m_A33 += go[52]; + double RHS12 = Idr[50]; + RHS12 += Idr[51]; RHS12 += Idr[52]; RHS12 += Idr[53]; - RHS12 -= go[52] * *cnV[52]; RHS12 -= go[53] * *cnV[53]; - m_A34 += gt[54]; - m_A34 += gt[55]; - m_A34 += gt[56]; - m_A35 += go[54]; - double RHS13 = Idr[54]; - RHS13 += Idr[55]; - RHS13 += Idr[56]; - RHS13 -= go[55] * *cnV[55]; - RHS13 -= go[56] * *cnV[56]; - m_A36 += gt[57]; - m_A36 += gt[58]; - m_A37 += go[57]; - double RHS14 = Idr[57]; - RHS14 += Idr[58]; - RHS14 -= go[58] * *cnV[58]; - m_A38 += gt[59]; - m_A38 += gt[60]; - m_A38 += gt[61]; - m_A39 += go[59]; - double RHS15 = Idr[59]; - RHS15 += Idr[60]; - RHS15 += Idr[61]; - RHS15 -= go[60] * *cnV[60]; - RHS15 -= go[61] * *cnV[61]; - m_A40 += gt[62]; - m_A40 += gt[63]; - m_A41 += go[62]; - double RHS16 = Idr[62]; - RHS16 += Idr[63]; - RHS16 -= go[63] * *cnV[63]; - m_A42 += gt[64]; - m_A42 += gt[65]; - m_A43 += go[64]; - double RHS17 = Idr[64]; - RHS17 += Idr[65]; - RHS17 -= go[65] * *cnV[65]; - m_A44 += gt[66]; - m_A44 += gt[67]; - m_A45 += go[66]; - double RHS18 = Idr[66]; - RHS18 += Idr[67]; - RHS18 -= go[67] * *cnV[67]; - m_A46 += gt[68]; - m_A46 += gt[69]; - m_A47 += go[68]; - double RHS19 = Idr[68]; - RHS19 += Idr[69]; - RHS19 -= go[69] * *cnV[69]; - m_A48 += gt[70]; - m_A48 += gt[71]; - m_A49 += go[70]; - double RHS20 = Idr[70]; - RHS20 += Idr[71]; - RHS20 -= go[71] * *cnV[71]; - m_A50 += gt[72]; - m_A50 += gt[73]; - m_A51 += go[72]; - double RHS21 = Idr[72]; - RHS21 += Idr[73]; - RHS21 -= go[73] * *cnV[73]; - m_A52 += gt[74]; - m_A52 += gt[75]; - m_A52 += gt[76]; - m_A52 += gt[77]; - m_A52 += gt[78]; - m_A53 += go[74]; - m_A55 += go[75]; - m_A54 += go[76]; - double RHS22 = Idr[74]; - RHS22 += Idr[75]; - RHS22 += Idr[76]; - RHS22 += Idr[77]; - RHS22 += Idr[78]; - RHS22 -= go[77] * *cnV[77]; - RHS22 -= go[78] * *cnV[78]; - m_A56 += gt[79]; - m_A56 += gt[80]; - m_A58 += go[79]; - m_A57 += go[80]; - double RHS23 = Idr[79]; - RHS23 += Idr[80]; - m_A59 += gt[81]; - m_A59 += gt[82]; - m_A60 += go[81]; - double RHS24 = Idr[81]; - RHS24 += Idr[82]; - RHS24 -= go[82] * *cnV[82]; - m_A61 += gt[83]; - m_A61 += gt[84]; - m_A62 += go[83]; - double RHS25 = Idr[83]; - RHS25 += Idr[84]; - RHS25 -= go[84] * *cnV[84]; - m_A63 += gt[85]; - m_A63 += gt[86]; - m_A63 += gt[87]; - m_A64 += go[85]; - double RHS26 = Idr[85]; - RHS26 += Idr[86]; - RHS26 += Idr[87]; - RHS26 -= go[86] * *cnV[86]; - RHS26 -= go[87] * *cnV[87]; - m_A68 += gt[88]; - m_A68 += gt[89]; - m_A68 += gt[90]; - m_A68 += gt[91]; - m_A68 += gt[92]; - m_A65 += go[88]; - m_A67 += go[89]; - m_A66 += go[90]; - double RHS27 = Idr[88]; - RHS27 += Idr[89]; - RHS27 += Idr[90]; - RHS27 += Idr[91]; - RHS27 += Idr[92]; - RHS27 -= go[91] * *cnV[91]; - RHS27 -= go[92] * *cnV[92]; - m_A71 += gt[93]; - m_A71 += gt[94]; - m_A71 += gt[95]; - m_A72 += go[93]; - double RHS28 = Idr[93]; - RHS28 += Idr[94]; - RHS28 += Idr[95]; - RHS28 -= go[94] * *cnV[94]; - RHS28 -= go[95] * *cnV[95]; - m_A73 += gt[96]; - m_A73 += gt[97]; - m_A73 += gt[98]; - m_A74 += go[96]; - double RHS29 = Idr[96]; - RHS29 += Idr[97]; - RHS29 += Idr[98]; - RHS29 -= go[97] * *cnV[97]; - RHS29 -= go[98] * *cnV[98]; - m_A75 += gt[99]; - m_A75 += gt[100]; - m_A75 += gt[101]; - m_A76 += go[99]; - double RHS30 = Idr[99]; - RHS30 += Idr[100]; - RHS30 += Idr[101]; - RHS30 -= go[100] * *cnV[100]; - RHS30 -= go[101] * *cnV[101]; - m_A77 += gt[102]; - m_A77 += gt[103]; - m_A79 += go[102]; - m_A78 += go[103]; - double RHS31 = Idr[102]; - RHS31 += Idr[103]; - m_A80 += gt[104]; - m_A80 += gt[105]; - m_A82 += go[104]; - m_A81 += go[105]; - double RHS32 = Idr[104]; - RHS32 += Idr[105]; - m_A85 += gt[106]; - m_A85 += gt[107]; - m_A85 += gt[108]; - m_A85 += gt[109]; - m_A84 += go[106]; - m_A83 += go[107]; - double RHS33 = Idr[106]; - RHS33 += Idr[107]; - RHS33 += Idr[108]; - RHS33 += Idr[109]; - RHS33 -= go[108] * *cnV[108]; - RHS33 -= go[109] * *cnV[109]; - m_A93 += gt[110]; - m_A93 += gt[111]; - m_A93 += gt[112]; - m_A93 += gt[113]; - m_A93 += gt[114]; - m_A93 += gt[115]; - m_A92 += go[110]; - m_A91 += go[111]; - m_A90 += go[112]; - m_A89 += go[113]; - m_A88 += go[114]; - m_A87 += go[115]; - double RHS34 = Idr[110]; - RHS34 += Idr[111]; - RHS34 += Idr[112]; - RHS34 += Idr[113]; - RHS34 += Idr[114]; - RHS34 += Idr[115]; - m_A97 += gt[116]; - m_A97 += gt[117]; - m_A97 += gt[118]; - m_A98 += go[116]; - m_A95 += go[117]; - double RHS35 = Idr[116]; - RHS35 += Idr[117]; - RHS35 += Idr[118]; - RHS35 -= go[118] * *cnV[118]; - m_A102 += gt[119]; - m_A102 += gt[120]; - m_A102 += gt[121]; - m_A102 += gt[122]; - m_A102 += gt[123]; - m_A102 += gt[124]; - m_A102 += gt[125]; - m_A100 += go[119]; - m_A99 += go[120]; - m_A99 += go[121]; - m_A103 += go[122]; - m_A103 += go[123]; - double RHS36 = Idr[119]; - RHS36 += Idr[120]; - RHS36 += Idr[121]; - RHS36 += Idr[122]; - RHS36 += Idr[123]; - RHS36 += Idr[124]; - RHS36 += Idr[125]; - RHS36 -= go[124] * *cnV[124]; - RHS36 -= go[125] * *cnV[125]; - m_A105 += gt[126]; - m_A105 += gt[127]; - m_A105 += gt[128]; - m_A105 += gt[129]; - m_A105 += gt[130]; - m_A105 += gt[131]; - m_A105 += gt[132]; - m_A106 += go[126]; - m_A104 += go[127]; - double RHS37 = Idr[126]; - RHS37 += Idr[127]; - RHS37 += Idr[128]; - RHS37 += Idr[129]; - RHS37 += Idr[130]; - RHS37 += Idr[131]; - RHS37 += Idr[132]; - RHS37 -= go[128] * *cnV[128]; - RHS37 -= go[129] * *cnV[129]; - RHS37 -= go[130] * *cnV[130]; - RHS37 -= go[131] * *cnV[131]; - RHS37 -= go[132] * *cnV[132]; - m_A109 += gt[133]; - m_A109 += gt[134]; - m_A108 += go[133]; - m_A110 += go[134]; - double RHS38 = Idr[133]; - RHS38 += Idr[134]; - m_A117 += gt[135]; - m_A117 += gt[136]; - m_A117 += gt[137]; - m_A117 += gt[138]; - m_A117 += gt[139]; - m_A117 += gt[140]; - m_A116 += go[135]; - m_A115 += go[136]; - m_A114 += go[137]; - m_A113 += go[138]; - m_A112 += go[139]; - m_A111 += go[140]; - double RHS39 = Idr[135]; - RHS39 += Idr[136]; - RHS39 += Idr[137]; - RHS39 += Idr[138]; - RHS39 += Idr[139]; - RHS39 += Idr[140]; - m_A120 += gt[141]; - m_A120 += gt[142]; - m_A119 += go[141]; - m_A121 += go[142]; - double RHS40 = Idr[141]; - RHS40 += Idr[142]; - m_A126 += gt[143]; - m_A126 += gt[144]; - m_A126 += gt[145]; - m_A126 += gt[146]; - m_A126 += gt[147]; - m_A125 += go[143]; - m_A124 += go[144]; - m_A123 += go[145]; - m_A122 += go[146]; - m_A127 += go[147]; - double RHS41 = Idr[143]; - RHS41 += Idr[144]; - RHS41 += Idr[145]; - RHS41 += Idr[146]; - RHS41 += Idr[147]; - m_A131 += gt[148]; - m_A131 += gt[149]; - m_A131 += gt[150]; - m_A131 += gt[151]; - m_A131 += gt[152]; - m_A130 += go[148]; - m_A129 += go[149]; - m_A128 += go[150]; - double RHS42 = Idr[148]; - RHS42 += Idr[149]; - RHS42 += Idr[150]; - RHS42 += Idr[151]; - RHS42 += Idr[152]; - RHS42 -= go[151] * *cnV[151]; - RHS42 -= go[152] * *cnV[152]; - m_A137 += gt[153]; - m_A137 += gt[154]; - m_A137 += gt[155]; - m_A137 += gt[156]; - m_A137 += gt[157]; - m_A137 += gt[158]; - m_A135 += go[153]; - m_A134 += go[154]; - m_A139 += go[155]; - m_A133 += go[156]; - m_A133 += go[157]; - double RHS43 = Idr[153]; - RHS43 += Idr[154]; - RHS43 += Idr[155]; - RHS43 += Idr[156]; - RHS43 += Idr[157]; - RHS43 += Idr[158]; - RHS43 -= go[158] * *cnV[158]; - m_A148 += gt[159]; - m_A148 += gt[160]; - m_A148 += gt[161]; - m_A148 += gt[162]; - m_A148 += gt[163]; - m_A148 += gt[164]; - m_A148 += gt[165]; - m_A142 += go[159]; - m_A144 += go[160]; - m_A146 += go[161]; - m_A143 += go[162]; - m_A141 += go[163]; - double RHS44 = Idr[159]; - RHS44 += Idr[160]; - RHS44 += Idr[161]; - RHS44 += Idr[162]; - RHS44 += Idr[163]; - RHS44 += Idr[164]; - RHS44 += Idr[165]; - RHS44 -= go[164] * *cnV[164]; - RHS44 -= go[165] * *cnV[165]; - m_A157 += gt[166]; - m_A157 += gt[167]; - m_A157 += gt[168]; - m_A157 += gt[169]; - m_A157 += gt[170]; - m_A157 += gt[171]; - m_A157 += gt[172]; - m_A157 += gt[173]; - m_A157 += gt[174]; - m_A155 += go[166]; - m_A153 += go[167]; - m_A151 += go[168]; - m_A154 += go[169]; - m_A154 += go[170]; - m_A152 += go[171]; - m_A152 += go[172]; - double RHS45 = Idr[166]; - RHS45 += Idr[167]; - RHS45 += Idr[168]; - RHS45 += Idr[169]; - RHS45 += Idr[170]; - RHS45 += Idr[171]; - RHS45 += Idr[172]; - RHS45 += Idr[173]; - RHS45 += Idr[174]; - RHS45 -= go[173] * *cnV[173]; - RHS45 -= go[174] * *cnV[174]; - m_A160 += gt[175]; - m_A160 += gt[176]; - m_A159 += go[175]; - m_A161 += go[176]; - double RHS46 = Idr[175]; - RHS46 += Idr[176]; - m_A177 += gt[177]; - m_A177 += gt[178]; - m_A177 += gt[179]; - m_A177 += gt[180]; - m_A177 += gt[181]; - m_A177 += gt[182]; - m_A177 += gt[183]; - m_A177 += gt[184]; - m_A176 += go[177]; - m_A164 += go[178]; - m_A163 += go[179]; - m_A165 += go[180]; - m_A170 += go[181]; - m_A168 += go[182]; - m_A171 += go[183]; - m_A162 += go[184]; - double RHS47 = Idr[177]; - RHS47 += Idr[178]; - RHS47 += Idr[179]; - RHS47 += Idr[180]; - RHS47 += Idr[181]; - RHS47 += Idr[182]; - RHS47 += Idr[183]; - RHS47 += Idr[184]; - const double f0 = 1.0 / m_A0; - const double f0_27 = -f0 * m_A65; - m_A66 += m_A1 * f0_27; - RHS27 += f0_27 * RHS0; - const double f1 = 1.0 / m_A2; - const double f1_27 = -f1 * m_A66; - m_A68 += m_A3 * f1_27; - m_A70 += m_A4 * f1_27; - RHS27 += f1_27 * RHS1; - const double f1_44 = -f1 * m_A141; - m_A145 += m_A3 * f1_44; - m_A148 += m_A4 * f1_44; - RHS44 += f1_44 * RHS1; - const double f2 = 1.0 / m_A5; - const double f2_44 = -f2 * m_A142; - m_A146 += m_A6 * f2_44; - RHS44 += f2_44 * RHS2; - const double f3 = 1.0 / m_A7; - const double f3_27 = -f3 * m_A67; - m_A68 += m_A8 * f3_27; - m_A69 += m_A9 * f3_27; - m_A70 += m_A10 * f3_27; - RHS27 += f3_27 * RHS3; - const double f3_35 = -f3 * m_A95; - m_A96 += m_A8 * f3_35; - m_A97 += m_A9 * f3_35; - m_A98 += m_A10 * f3_35; - RHS35 += f3_35 * RHS3; - const double f3_44 = -f3 * m_A143; - m_A145 += m_A8 * f3_44; - m_A146 += m_A9 * f3_44; - m_A148 += m_A10 * f3_44; - RHS44 += f3_44 * RHS3; - const double f4 = 1.0 / m_A11; - const double f4_36 = -f4 * m_A99; - m_A102 += m_A12 * f4_36; - m_A103 += m_A13 * f4_36; - RHS36 += f4_36 * RHS4; - const double f4_45 = -f4 * m_A151; - m_A154 += m_A12 * f4_45; - m_A157 += m_A13 * f4_45; - RHS45 += f4_45 * RHS4; - const double f5 = 1.0 / m_A14; - const double f5_33 = -f5 * m_A83; - m_A85 += m_A15 * f5_33; - m_A86 += m_A16 * f5_33; - RHS33 += f5_33 * RHS5; - const double f5_36 = -f5 * m_A100; - m_A101 += m_A15 * f5_36; - m_A102 += m_A16 * f5_36; - RHS36 += f5_36 * RHS5; - const double f6 = 1.0 / m_A17; - const double f6_33 = -f6 * m_A84; - m_A85 += m_A18 * f6_33; - RHS33 += f6_33 * RHS6; - const double f7 = 1.0 / m_A19; - const double f7_43 = -f7 * m_A133; - m_A137 += m_A20 * f7_43; - m_A138 += m_A21 * f7_43; - m_A139 += m_A22 * f7_43; - RHS43 += f7_43 * RHS7; - const double f7_44 = -f7 * m_A144; - m_A147 += m_A20 * f7_44; - m_A148 += m_A21 * f7_44; - m_A149 += m_A22 * f7_44; - RHS44 += f7_44 * RHS7; - const double f7_45 = -f7 * m_A152; - m_A155 += m_A20 * f7_45; - m_A156 += m_A21 * f7_45; - m_A157 += m_A22 * f7_45; - RHS45 += f7_45 * RHS7; - const double f8 = 1.0 / m_A23; - const double f8_37 = -f8 * m_A104; - m_A106 += m_A24 * f8_37; - m_A107 += m_A25 * f8_37; - RHS37 += f8_37 * RHS8; - const double f8_43 = -f8 * m_A134; - m_A137 += m_A24 * f8_43; - m_A139 += m_A25 * f8_43; - RHS43 += f8_43 * RHS8; - const double f8_45 = -f8 * m_A153; - m_A155 += m_A24 * f8_45; - m_A157 += m_A25 * f8_45; - RHS45 += f8_45 * RHS8; - const double f9 = 1.0 / m_A26; - const double f9_34 = -f9 * m_A87; - m_A93 += m_A27 * f9_34; - RHS34 += f9_34 * RHS9; - const double f10 = 1.0 / m_A28; - const double f10_34 = -f10 * m_A88; - m_A93 += m_A29 * f10_34; - RHS34 += f10_34 * RHS10; - const double f11 = 1.0 / m_A30; - const double f11_34 = -f11 * m_A89; - m_A93 += m_A31 * f11_34; - RHS34 += f11_34 * RHS11; - const double f12 = 1.0 / m_A32; - const double f12_34 = -f12 * m_A90; - m_A93 += m_A33 * f12_34; - RHS34 += f12_34 * RHS12; - const double f13 = 1.0 / m_A34; - const double f13_34 = -f13 * m_A91; - m_A93 += m_A35 * f13_34; - RHS34 += f13_34 * RHS13; - const double f14 = 1.0 / m_A36; - const double f14_42 = -f14 * m_A128; - m_A131 += m_A37 * f14_42; - RHS42 += f14_42 * RHS14; - const double f15 = 1.0 / m_A38; - const double f15_39 = -f15 * m_A111; - m_A117 += m_A39 * f15_39; - RHS39 += f15_39 * RHS15; - const double f16 = 1.0 / m_A40; - const double f16_41 = -f16 * m_A122; - m_A126 += m_A41 * f16_41; - RHS41 += f16_41 * RHS16; - const double f17 = 1.0 / m_A42; - const double f17_38 = -f17 * m_A108; - m_A109 += m_A43 * f17_38; - RHS38 += f17_38 * RHS17; - const double f18 = 1.0 / m_A44; - const double f18_40 = -f18 * m_A119; - m_A120 += m_A45 * f18_40; - RHS40 += f18_40 * RHS18; - const double f19 = 1.0 / m_A46; - const double f19_41 = -f19 * m_A123; - m_A126 += m_A47 * f19_41; - RHS41 += f19_41 * RHS19; - const double f20 = 1.0 / m_A48; - const double f20_41 = -f20 * m_A124; - m_A126 += m_A49 * f20_41; - RHS41 += f20_41 * RHS20; - const double f21 = 1.0 / m_A50; - const double f21_41 = -f21 * m_A125; - m_A126 += m_A51 * f21_41; - RHS41 += f21_41 * RHS21; - const double f22 = 1.0 / m_A52; - const double f22_43 = -f22 * m_A135; - m_A136 += m_A53 * f22_43; - m_A137 += m_A54 * f22_43; - m_A140 += m_A55 * f22_43; - RHS43 += f22_43 * RHS22; - const double f22_47 = -f22 * m_A162; - m_A167 += m_A53 * f22_47; - m_A173 += m_A54 * f22_47; - m_A177 += m_A55 * f22_47; - RHS47 += f22_47 * RHS22; - const double f23 = 1.0 / m_A56; - const double f23_34 = -f23 * m_A92; - m_A93 += m_A57 * f23_34; - m_A94 += m_A58 * f23_34; - RHS34 += f23_34 * RHS23; - const double f23_47 = -f23 * m_A163; - m_A166 += m_A57 * f23_47; - m_A177 += m_A58 * f23_47; - RHS47 += f23_47 * RHS23; - const double f24 = 1.0 / m_A59; - const double f24_46 = -f24 * m_A159; - m_A160 += m_A60 * f24_46; - RHS46 += f24_46 * RHS24; - const double f25 = 1.0 / m_A61; - const double f25_42 = -f25 * m_A129; - m_A131 += m_A62 * f25_42; - RHS42 += f25_42 * RHS25; - const double f26 = 1.0 / m_A63; - const double f26_39 = -f26 * m_A112; - m_A117 += m_A64 * f26_39; - RHS39 += f26_39 * RHS26; - const double f27 = 1.0 / m_A68; - const double f27_35 = -f27 * m_A96; - m_A97 += m_A69 * f27_35; - m_A98 += m_A70 * f27_35; - RHS35 += f27_35 * RHS27; - const double f27_44 = -f27 * m_A145; - m_A146 += m_A69 * f27_44; - m_A148 += m_A70 * f27_44; - RHS44 += f27_44 * RHS27; - const double f28 = 1.0 / m_A71; - const double f28_39 = -f28 * m_A113; - m_A117 += m_A72 * f28_39; - RHS39 += f28_39 * RHS28; - const double f29 = 1.0 / m_A73; - const double f29_39 = -f29 * m_A114; - m_A117 += m_A74 * f29_39; - RHS39 += f29_39 * RHS29; - const double f30 = 1.0 / m_A75; - const double f30_39 = -f30 * m_A115; - m_A117 += m_A76 * f30_39; - RHS39 += f30_39 * RHS30; - const double f31 = 1.0 / m_A77; - const double f31_39 = -f31 * m_A116; - m_A117 += m_A78 * f31_39; - m_A118 += m_A79 * f31_39; - RHS39 += f31_39 * RHS31; - const double f31_47 = -f31 * m_A164; - m_A169 += m_A78 * f31_47; - m_A177 += m_A79 * f31_47; - RHS47 += f31_47 * RHS31; - const double f32 = 1.0 / m_A80; - const double f32_42 = -f32 * m_A130; - m_A131 += m_A81 * f32_42; - m_A132 += m_A82 * f32_42; - RHS42 += f32_42 * RHS32; - const double f32_47 = -f32 * m_A165; - m_A172 += m_A81 * f32_47; - m_A177 += m_A82 * f32_47; - RHS47 += f32_47 * RHS32; - const double f33 = 1.0 / m_A85; - const double f33_36 = -f33 * m_A101; - m_A102 += m_A86 * f33_36; - RHS36 += f33_36 * RHS33; - const double f34 = 1.0 / m_A93; - const double f34_47 = -f34 * m_A166; - m_A177 += m_A94 * f34_47; - RHS47 += f34_47 * RHS34; - const double f35 = 1.0 / m_A97; - const double f35_44 = -f35 * m_A146; - m_A148 += m_A98 * f35_44; - RHS44 += f35_44 * RHS35; - const double f36 = 1.0 / m_A102; - const double f36_45 = -f36 * m_A154; - m_A157 += m_A103 * f36_45; - RHS45 += f36_45 * RHS36; - const double f37 = 1.0 / m_A105; - const double f37_43 = -f37 * m_A136; - m_A137 += m_A106 * f37_43; - m_A139 += m_A107 * f37_43; - RHS43 += f37_43 * RHS37; - const double f37_47 = -f37 * m_A167; - m_A173 += m_A106 * f37_47; - m_A175 += m_A107 * f37_47; - RHS47 += f37_47 * RHS37; - const double f38 = 1.0 / m_A109; - const double f38_47 = -f38 * m_A168; - m_A177 += m_A110 * f38_47; - RHS47 += f38_47 * RHS38; - const double f39 = 1.0 / m_A117; - const double f39_47 = -f39 * m_A169; - m_A177 += m_A118 * f39_47; - RHS47 += f39_47 * RHS39; - const double f40 = 1.0 / m_A120; - const double f40_47 = -f40 * m_A170; - m_A177 += m_A121 * f40_47; - RHS47 += f40_47 * RHS40; - const double f41 = 1.0 / m_A126; - const double f41_47 = -f41 * m_A171; - m_A177 += m_A127 * f41_47; - RHS47 += f41_47 * RHS41; - const double f42 = 1.0 / m_A131; - const double f42_47 = -f42 * m_A172; - m_A177 += m_A132 * f42_47; - RHS47 += f42_47 * RHS42; - const double f43 = 1.0 / m_A137; - const double f43_44 = -f43 * m_A147; - m_A148 += m_A138 * f43_44; - m_A149 += m_A139 * f43_44; - m_A150 += m_A140 * f43_44; - RHS44 += f43_44 * RHS43; - const double f43_45 = -f43 * m_A155; - m_A156 += m_A138 * f43_45; - m_A157 += m_A139 * f43_45; - m_A158 += m_A140 * f43_45; - RHS45 += f43_45 * RHS43; - const double f43_47 = -f43 * m_A173; - m_A174 += m_A138 * f43_47; - m_A175 += m_A139 * f43_47; - m_A177 += m_A140 * f43_47; - RHS47 += f43_47 * RHS43; - const double f44 = 1.0 / m_A148; - const double f44_45 = -f44 * m_A156; - m_A157 += m_A149 * f44_45; - m_A158 += m_A150 * f44_45; - RHS45 += f44_45 * RHS44; - const double f44_47 = -f44 * m_A174; - m_A175 += m_A149 * f44_47; - m_A177 += m_A150 * f44_47; - RHS47 += f44_47 * RHS44; - const double f45 = 1.0 / m_A157; - const double f45_47 = -f45 * m_A175; - m_A177 += m_A158 * f45_47; - RHS47 += f45_47 * RHS45; - const double f46 = 1.0 / m_A160; - const double f46_47 = -f46 * m_A176; - m_A177 += m_A161 * f46_47; - RHS47 += f46_47 * RHS46; - V[47] = RHS47 / m_A177; - double tmp46 = 0.0; - tmp46 += m_A161 * V[47]; - V[46] = (RHS46 - tmp46) / m_A160; - double tmp45 = 0.0; - tmp45 += m_A158 * V[47]; - V[45] = (RHS45 - tmp45) / m_A157; - double tmp44 = 0.0; - tmp44 += m_A149 * V[45]; - tmp44 += m_A150 * V[47]; - V[44] = (RHS44 - tmp44) / m_A148; - double tmp43 = 0.0; - tmp43 += m_A138 * V[44]; - tmp43 += m_A139 * V[45]; - tmp43 += m_A140 * V[47]; - V[43] = (RHS43 - tmp43) / m_A137; - double tmp42 = 0.0; - tmp42 += m_A132 * V[47]; - V[42] = (RHS42 - tmp42) / m_A131; - double tmp41 = 0.0; - tmp41 += m_A127 * V[47]; - V[41] = (RHS41 - tmp41) / m_A126; - double tmp40 = 0.0; - tmp40 += m_A121 * V[47]; - V[40] = (RHS40 - tmp40) / m_A120; - double tmp39 = 0.0; - tmp39 += m_A118 * V[47]; - V[39] = (RHS39 - tmp39) / m_A117; - double tmp38 = 0.0; - tmp38 += m_A110 * V[47]; - V[38] = (RHS38 - tmp38) / m_A109; - double tmp37 = 0.0; - tmp37 += m_A106 * V[43]; - tmp37 += m_A107 * V[45]; - V[37] = (RHS37 - tmp37) / m_A105; - double tmp36 = 0.0; - tmp36 += m_A103 * V[45]; - V[36] = (RHS36 - tmp36) / m_A102; - double tmp35 = 0.0; - tmp35 += m_A98 * V[44]; - V[35] = (RHS35 - tmp35) / m_A97; - double tmp34 = 0.0; - tmp34 += m_A94 * V[47]; - V[34] = (RHS34 - tmp34) / m_A93; - double tmp33 = 0.0; - tmp33 += m_A86 * V[36]; - V[33] = (RHS33 - tmp33) / m_A85; - double tmp32 = 0.0; - tmp32 += m_A81 * V[42]; - tmp32 += m_A82 * V[47]; - V[32] = (RHS32 - tmp32) / m_A80; - double tmp31 = 0.0; - tmp31 += m_A78 * V[39]; - tmp31 += m_A79 * V[47]; - V[31] = (RHS31 - tmp31) / m_A77; - double tmp30 = 0.0; - tmp30 += m_A76 * V[39]; - V[30] = (RHS30 - tmp30) / m_A75; - double tmp29 = 0.0; - tmp29 += m_A74 * V[39]; - V[29] = (RHS29 - tmp29) / m_A73; - double tmp28 = 0.0; - tmp28 += m_A72 * V[39]; - V[28] = (RHS28 - tmp28) / m_A71; - double tmp27 = 0.0; - tmp27 += m_A69 * V[35]; - tmp27 += m_A70 * V[44]; - V[27] = (RHS27 - tmp27) / m_A68; - double tmp26 = 0.0; - tmp26 += m_A64 * V[39]; - V[26] = (RHS26 - tmp26) / m_A63; - double tmp25 = 0.0; - tmp25 += m_A62 * V[42]; - V[25] = (RHS25 - tmp25) / m_A61; - double tmp24 = 0.0; - tmp24 += m_A60 * V[46]; - V[24] = (RHS24 - tmp24) / m_A59; - double tmp23 = 0.0; - tmp23 += m_A57 * V[34]; - tmp23 += m_A58 * V[47]; - V[23] = (RHS23 - tmp23) / m_A56; - double tmp22 = 0.0; - tmp22 += m_A53 * V[37]; - tmp22 += m_A54 * V[43]; - tmp22 += m_A55 * V[47]; - V[22] = (RHS22 - tmp22) / m_A52; - double tmp21 = 0.0; - tmp21 += m_A51 * V[41]; - V[21] = (RHS21 - tmp21) / m_A50; - double tmp20 = 0.0; - tmp20 += m_A49 * V[41]; - V[20] = (RHS20 - tmp20) / m_A48; - double tmp19 = 0.0; - tmp19 += m_A47 * V[41]; - V[19] = (RHS19 - tmp19) / m_A46; - double tmp18 = 0.0; - tmp18 += m_A45 * V[40]; - V[18] = (RHS18 - tmp18) / m_A44; - double tmp17 = 0.0; - tmp17 += m_A43 * V[38]; - V[17] = (RHS17 - tmp17) / m_A42; - double tmp16 = 0.0; - tmp16 += m_A41 * V[41]; - V[16] = (RHS16 - tmp16) / m_A40; - double tmp15 = 0.0; - tmp15 += m_A39 * V[39]; - V[15] = (RHS15 - tmp15) / m_A38; - double tmp14 = 0.0; - tmp14 += m_A37 * V[42]; - V[14] = (RHS14 - tmp14) / m_A36; - double tmp13 = 0.0; - tmp13 += m_A35 * V[34]; - V[13] = (RHS13 - tmp13) / m_A34; - double tmp12 = 0.0; - tmp12 += m_A33 * V[34]; - V[12] = (RHS12 - tmp12) / m_A32; - double tmp11 = 0.0; - tmp11 += m_A31 * V[34]; - V[11] = (RHS11 - tmp11) / m_A30; - double tmp10 = 0.0; - tmp10 += m_A29 * V[34]; - V[10] = (RHS10 - tmp10) / m_A28; - double tmp9 = 0.0; - tmp9 += m_A27 * V[34]; - V[9] = (RHS9 - tmp9) / m_A26; - double tmp8 = 0.0; - tmp8 += m_A24 * V[43]; - tmp8 += m_A25 * V[45]; - V[8] = (RHS8 - tmp8) / m_A23; - double tmp7 = 0.0; - tmp7 += m_A20 * V[43]; - tmp7 += m_A21 * V[44]; - tmp7 += m_A22 * V[45]; - V[7] = (RHS7 - tmp7) / m_A19; - double tmp6 = 0.0; - tmp6 += m_A18 * V[33]; - V[6] = (RHS6 - tmp6) / m_A17; - double tmp5 = 0.0; - tmp5 += m_A15 * V[33]; - tmp5 += m_A16 * V[36]; - V[5] = (RHS5 - tmp5) / m_A14; - double tmp4 = 0.0; - tmp4 += m_A12 * V[36]; - tmp4 += m_A13 * V[45]; - V[4] = (RHS4 - tmp4) / m_A11; - double tmp3 = 0.0; - tmp3 += m_A8 * V[27]; - tmp3 += m_A9 * V[35]; - tmp3 += m_A10 * V[44]; - V[3] = (RHS3 - tmp3) / m_A7; - double tmp2 = 0.0; - tmp2 += m_A6 * V[35]; - V[2] = (RHS2 - tmp2) / m_A5; - double tmp1 = 0.0; - tmp1 += m_A3 * V[27]; - tmp1 += m_A4 * V[44]; - V[1] = (RHS1 - tmp1) / m_A2; - double tmp0 = 0.0; - tmp0 += m_A1 * V[1]; - V[0] = (RHS0 - tmp0) / m_A0; -} - -// tankbatt -static void nl_gcr_328d886b444b586b_137_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) - -{ - - plib::unused_var(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); - 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_A4 += gt[7]; - m_A4 += gt[8]; - m_A4 += gt[9]; - m_A4 += gt[10]; - m_A4 += gt[11]; - m_A5 += go[7]; - m_A7 += go[8]; - m_A6 += go[9]; - double RHS2 = Idr[7]; - RHS2 += Idr[8]; - RHS2 += Idr[9]; - RHS2 += Idr[10]; - RHS2 += Idr[11]; - RHS2 -= go[10] * *cnV[10]; - RHS2 -= go[11] * *cnV[11]; - m_A8 += gt[12]; - m_A8 += gt[13]; - m_A8 += 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_A10 += gt[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_A11 += go[15]; - m_A12 += go[16]; - double RHS4 = Idr[15]; - RHS4 += Idr[16]; - RHS4 += Idr[17]; - RHS4 += Idr[18]; - RHS4 += Idr[19]; - RHS4 += Idr[20]; - RHS4 += Idr[21]; - 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_A13 += gt[22]; - m_A13 += gt[23]; - m_A13 += gt[24]; - m_A14 += go[22]; - double RHS5 = Idr[22]; - RHS5 += Idr[23]; - RHS5 += Idr[24]; - RHS5 -= go[23] * *cnV[23]; - RHS5 -= go[24] * *cnV[24]; - m_A15 += gt[25]; - m_A15 += gt[26]; - m_A15 += gt[27]; - m_A16 += go[25]; - double RHS6 = Idr[25]; - RHS6 += Idr[26]; - RHS6 += Idr[27]; - RHS6 -= go[26] * *cnV[26]; - RHS6 -= go[27] * *cnV[27]; - m_A17 += gt[28]; - m_A17 += gt[29]; - m_A17 += gt[30]; - m_A19 += go[28]; - m_A18 += go[29]; - double RHS7 = Idr[28]; - RHS7 += Idr[29]; - RHS7 += Idr[30]; - RHS7 -= go[30] * *cnV[30]; - m_A20 += gt[31]; - m_A20 += gt[32]; - m_A20 += gt[33]; - m_A21 += go[31]; - double RHS8 = Idr[31]; - RHS8 += Idr[32]; - RHS8 += Idr[33]; - RHS8 -= go[32] * *cnV[32]; - RHS8 -= go[33] * *cnV[33]; - m_A22 += gt[34]; - m_A22 += gt[35]; - m_A22 += gt[36]; - m_A24 += go[34]; - m_A23 += go[35]; - double RHS9 = Idr[34]; - RHS9 += Idr[35]; - RHS9 += Idr[36]; - RHS9 -= go[36] * *cnV[36]; - m_A25 += gt[37]; - m_A25 += gt[38]; - m_A25 += gt[39]; - m_A25 += gt[40]; - m_A25 += gt[41]; - m_A25 += gt[42]; - m_A25 += gt[43]; - m_A27 += go[37]; - m_A26 += go[38]; - double RHS10 = Idr[37]; - RHS10 += Idr[38]; - RHS10 += Idr[39]; - RHS10 += Idr[40]; - RHS10 += Idr[41]; - RHS10 += Idr[42]; - RHS10 += Idr[43]; - RHS10 -= go[39] * *cnV[39]; - RHS10 -= go[40] * *cnV[40]; - RHS10 -= go[41] * *cnV[41]; - RHS10 -= go[42] * *cnV[42]; - RHS10 -= go[43] * *cnV[43]; - m_A28 += gt[44]; - m_A28 += gt[45]; - m_A28 += gt[46]; - m_A28 += gt[47]; - m_A28 += gt[48]; - m_A28 += gt[49]; - m_A30 += go[44]; - m_A31 += go[45]; - m_A29 += go[46]; - double RHS11 = Idr[44]; - RHS11 += Idr[45]; - RHS11 += Idr[46]; - RHS11 += Idr[47]; - RHS11 += Idr[48]; - RHS11 += Idr[49]; - RHS11 -= go[47] * *cnV[47]; - RHS11 -= go[48] * *cnV[48]; - RHS11 -= go[49] * *cnV[49]; - m_A32 += gt[50]; - m_A32 += gt[51]; - m_A32 += gt[52]; - m_A32 += gt[53]; - m_A35 += go[50]; - m_A34 += go[51]; - m_A33 += go[52]; - double RHS12 = Idr[50]; - RHS12 += Idr[51]; - RHS12 += Idr[52]; - RHS12 += Idr[53]; - RHS12 -= go[53] * *cnV[53]; - m_A36 += gt[54]; - m_A36 += gt[55]; - m_A36 += gt[56]; - m_A37 += go[54]; + m_A36 += gt[54]; + m_A36 += gt[55]; + m_A36 += gt[56]; + m_A37 += go[54]; double RHS13 = Idr[54]; RHS13 += Idr[55]; RHS13 += Idr[56]; @@ -9069,229 +8095,1244 @@ static void nl_gcr_34e910fc1896999f_76_double_double(double * __restrict V, cons RHS15 += Idr[82]; RHS15 -= go[82] * *cnV[82]; m_A68 += gt[83]; - m_A68 += gt[84]; - m_A68 += gt[85]; - m_A68 += gt[86]; - m_A64 += go[83]; - m_A66 += go[84]; - m_A66 += go[85]; - m_A63 += go[86]; - double RHS16 = Idr[83]; - RHS16 += Idr[84]; - RHS16 += Idr[85]; - RHS16 += Idr[86]; - m_A75 += gt[87]; - m_A75 += gt[88]; - m_A75 += gt[89]; - m_A75 += gt[90]; - m_A75 += gt[91]; - m_A72 += go[87]; - m_A72 += go[88]; - m_A70 += go[89]; - m_A73 += go[90]; - double RHS17 = Idr[87]; - RHS17 += Idr[88]; - RHS17 += Idr[89]; - RHS17 += Idr[90]; - RHS17 += Idr[91]; - RHS17 -= go[91] * *cnV[91]; + m_A68 += gt[84]; + m_A68 += gt[85]; + m_A68 += gt[86]; + m_A64 += go[83]; + m_A66 += go[84]; + m_A66 += go[85]; + m_A63 += go[86]; + double RHS16 = Idr[83]; + RHS16 += Idr[84]; + RHS16 += Idr[85]; + RHS16 += Idr[86]; + m_A75 += gt[87]; + m_A75 += gt[88]; + m_A75 += gt[89]; + m_A75 += gt[90]; + m_A75 += gt[91]; + m_A72 += go[87]; + m_A72 += go[88]; + m_A70 += go[89]; + m_A73 += go[90]; + double RHS17 = Idr[87]; + RHS17 += Idr[88]; + RHS17 += Idr[89]; + RHS17 += Idr[90]; + RHS17 += Idr[91]; + RHS17 -= go[91] * *cnV[91]; + const double f0 = 1.0 / m_A0; + const double f0_8 = -f0 * m_A24; + m_A26 += m_A1 * f0_8; + RHS8 += f0_8 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_8 = -f1 * m_A25; + m_A26 += m_A3 * f1_8; + m_A27 += m_A4 * f1_8; + m_A28 += m_A5 * f1_8; + RHS8 += f1_8 * RHS1; + const double f1_9 = -f1 * m_A29; + m_A30 += m_A3 * f1_9; + m_A31 += m_A4 * f1_9; + m_A32 += m_A5 * f1_9; + RHS9 += f1_9 * RHS1; + const double f1_17 = -f1 * m_A70; + m_A71 += m_A3 * f1_17; + m_A72 += m_A4 * f1_17; + m_A75 += m_A5 * f1_17; + RHS17 += f1_17 * RHS1; + const double f2 = 1.0 / m_A6; + const double f2_10 = -f2 * m_A33; + m_A35 += m_A7 * f2_10; + RHS10 += f2_10 * RHS2; + const double f3 = 1.0 / m_A8; + const double f3_10 = -f3 * m_A34; + m_A35 += m_A9 * f3_10; + m_A36 += m_A10 * f3_10; + m_A37 += m_A11 * f3_10; + RHS10 += f3_10 * RHS3; + const double f3_12 = -f3 * m_A43; + m_A44 += m_A9 * f3_12; + m_A45 += m_A10 * f3_12; + m_A46 += m_A11 * f3_12; + RHS12 += f3_12 * RHS3; + const double f3_14 = -f3 * m_A51; + m_A53 += m_A9 * f3_14; + m_A54 += m_A10 * f3_14; + m_A55 += m_A11 * f3_14; + RHS14 += f3_14 * RHS3; + const double f4 = 1.0 / m_A12; + const double f4_14 = -f4 * m_A52; + m_A55 += m_A13 * f4_14; + m_A56 += m_A14 * f4_14; + RHS14 += f4_14 * RHS4; + const double f4_15 = -f4 * m_A57; + m_A59 += m_A13 * f4_15; + m_A60 += m_A14 * f4_15; + RHS15 += f4_15 * RHS4; + const double f5 = 1.0 / m_A15; + const double f5_11 = -f5 * m_A38; + m_A40 += m_A16 * f5_11; + RHS11 += f5_11 * RHS5; + const double f6 = 1.0 / m_A17; + const double f6_11 = -f6 * m_A39; + m_A40 += m_A18 * f6_11; + m_A41 += m_A19 * f6_11; + m_A42 += m_A20 * f6_11; + RHS11 += f6_11 * RHS6; + const double f6_13 = -f6 * m_A47; + m_A48 += m_A18 * f6_13; + m_A49 += m_A19 * f6_13; + m_A50 += m_A20 * f6_13; + RHS13 += f6_13 * RHS6; + const double f6_16 = -f6 * m_A63; + m_A65 += m_A18 * f6_16; + m_A66 += m_A19 * f6_16; + m_A68 += m_A20 * f6_16; + RHS16 += f6_16 * RHS6; + const double f7 = 1.0 / m_A21; + const double f7_15 = -f7 * m_A58; + m_A60 += m_A22 * f7_15; + m_A61 += m_A23 * f7_15; + RHS15 += f7_15 * RHS7; + const double f7_16 = -f7 * m_A64; + m_A67 += m_A22 * f7_16; + m_A68 += m_A23 * f7_16; + RHS16 += f7_16 * RHS7; + const double f8 = 1.0 / m_A26; + const double f8_9 = -f8 * m_A30; + m_A31 += m_A27 * f8_9; + m_A32 += m_A28 * f8_9; + RHS9 += f8_9 * RHS8; + const double f8_17 = -f8 * m_A71; + m_A72 += m_A27 * f8_17; + m_A75 += m_A28 * f8_17; + RHS17 += f8_17 * RHS8; + const double f9 = 1.0 / m_A31; + const double f9_17 = -f9 * m_A72; + m_A75 += m_A32 * f9_17; + RHS17 += f9_17 * RHS9; + const double f10 = 1.0 / m_A35; + const double f10_12 = -f10 * m_A44; + m_A45 += m_A36 * f10_12; + m_A46 += m_A37 * f10_12; + RHS12 += f10_12 * RHS10; + const double f10_14 = -f10 * m_A53; + m_A54 += m_A36 * f10_14; + m_A55 += m_A37 * f10_14; + RHS14 += f10_14 * RHS10; + const double f11 = 1.0 / m_A40; + const double f11_13 = -f11 * m_A48; + m_A49 += m_A41 * f11_13; + m_A50 += m_A42 * f11_13; + RHS13 += f11_13 * RHS11; + const double f11_16 = -f11 * m_A65; + m_A66 += m_A41 * f11_16; + m_A68 += m_A42 * f11_16; + RHS16 += f11_16 * RHS11; + const double f12 = 1.0 / m_A45; + const double f12_14 = -f12 * m_A54; + m_A55 += m_A46 * f12_14; + RHS14 += f12_14 * RHS12; + const double f13 = 1.0 / m_A49; + const double f13_16 = -f13 * m_A66; + m_A68 += m_A50 * f13_16; + RHS16 += f13_16 * RHS13; + const double f14 = 1.0 / m_A55; + const double f14_15 = -f14 * m_A59; + m_A60 += m_A56 * f14_15; + RHS15 += f14_15 * RHS14; + const double f15 = 1.0 / m_A60; + const double f15_16 = -f15 * m_A67; + m_A68 += m_A61 * f15_16; + m_A69 += m_A62 * f15_16; + RHS16 += f15_16 * RHS15; + const double f15_17 = -f15 * m_A73; + m_A74 += m_A61 * f15_17; + m_A75 += m_A62 * f15_17; + RHS17 += f15_17 * RHS15; + const double f16 = 1.0 / m_A68; + const double f16_17 = -f16 * m_A74; + m_A75 += m_A69 * f16_17; + RHS17 += f16_17 * RHS16; + V[17] = RHS17 / m_A75; + double tmp16 = 0.0; + tmp16 += m_A69 * V[17]; + V[16] = (RHS16 - tmp16) / m_A68; + double tmp15 = 0.0; + tmp15 += m_A61 * V[16]; + tmp15 += m_A62 * V[17]; + V[15] = (RHS15 - tmp15) / m_A60; + double tmp14 = 0.0; + tmp14 += m_A56 * V[15]; + V[14] = (RHS14 - tmp14) / m_A55; + double tmp13 = 0.0; + tmp13 += m_A50 * V[16]; + V[13] = (RHS13 - tmp13) / m_A49; + double tmp12 = 0.0; + tmp12 += m_A46 * V[14]; + V[12] = (RHS12 - tmp12) / m_A45; + double tmp11 = 0.0; + tmp11 += m_A41 * V[13]; + tmp11 += m_A42 * V[16]; + V[11] = (RHS11 - tmp11) / m_A40; + double tmp10 = 0.0; + tmp10 += m_A36 * V[12]; + tmp10 += m_A37 * V[14]; + V[10] = (RHS10 - tmp10) / m_A35; + double tmp9 = 0.0; + tmp9 += m_A32 * V[17]; + V[9] = (RHS9 - tmp9) / m_A31; + double tmp8 = 0.0; + tmp8 += m_A27 * V[9]; + tmp8 += m_A28 * V[17]; + V[8] = (RHS8 - tmp8) / m_A26; + double tmp7 = 0.0; + tmp7 += m_A22 * V[15]; + tmp7 += m_A23 * V[16]; + V[7] = (RHS7 - tmp7) / m_A21; + double tmp6 = 0.0; + tmp6 += m_A18 * V[11]; + tmp6 += m_A19 * V[13]; + tmp6 += m_A20 * V[16]; + V[6] = (RHS6 - tmp6) / m_A17; + double tmp5 = 0.0; + tmp5 += m_A16 * V[11]; + V[5] = (RHS5 - tmp5) / m_A15; + double tmp4 = 0.0; + tmp4 += m_A13 * V[14]; + tmp4 += m_A14 * V[15]; + V[4] = (RHS4 - tmp4) / m_A12; + double tmp3 = 0.0; + tmp3 += m_A9 * V[10]; + tmp3 += m_A10 * V[12]; + tmp3 += m_A11 * V[14]; + V[3] = (RHS3 - tmp3) / m_A8; + double tmp2 = 0.0; + tmp2 += m_A7 * V[10]; + V[2] = (RHS2 - tmp2) / m_A6; + double tmp1 = 0.0; + tmp1 += m_A3 * V[8]; + tmp1 += m_A4 * V[9]; + tmp1 += m_A5 * V[17]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[8]; + V[0] = (RHS0 - tmp0) / m_A0; +} + +// astrob +static void nl_gcr_37b9bb3472eec580_154_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + plib::unused_var(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); + 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]; + m_A8 += go[7]; + double RHS3 = Idr[6]; + RHS3 += Idr[7]; + m_A9 += gt[8]; + m_A9 += gt[9]; + m_A9 += gt[10]; + m_A10 += go[8]; + double RHS4 = Idr[8]; + RHS4 += Idr[9]; + RHS4 += Idr[10]; + RHS4 -= go[9] * *cnV[9]; + RHS4 -= go[10] * *cnV[10]; + m_A11 += gt[11]; + m_A11 += gt[12]; + m_A11 += gt[13]; + m_A11 += gt[14]; + m_A12 += go[11]; + m_A12 += go[12]; + m_A13 += go[13]; + double RHS5 = Idr[11]; + RHS5 += Idr[12]; + RHS5 += Idr[13]; + RHS5 += Idr[14]; + RHS5 -= go[14] * *cnV[14]; + m_A14 += gt[15]; + m_A14 += gt[16]; + m_A15 += go[15]; + double RHS6 = Idr[15]; + RHS6 += Idr[16]; + RHS6 -= go[16] * *cnV[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_A18 += go[17]; + m_A17 += go[18]; + double RHS7 = Idr[17]; + RHS7 += Idr[18]; + RHS7 += Idr[19]; + RHS7 += Idr[20]; + RHS7 += Idr[21]; + RHS7 += Idr[22]; + RHS7 -= go[19] * *cnV[19]; + RHS7 -= go[20] * *cnV[20]; + RHS7 -= go[21] * *cnV[21]; + RHS7 -= go[22] * *cnV[22]; + m_A19 += gt[23]; + m_A19 += gt[24]; + m_A19 += gt[25]; + m_A20 += go[23]; + double RHS8 = Idr[23]; + RHS8 += Idr[24]; + RHS8 += Idr[25]; + RHS8 -= go[24] * *cnV[24]; + RHS8 -= go[25] * *cnV[25]; + m_A21 += gt[26]; + m_A21 += gt[27]; + m_A21 += gt[28]; + m_A22 += go[26]; + double RHS9 = Idr[26]; + RHS9 += Idr[27]; + RHS9 += Idr[28]; + RHS9 -= go[27] * *cnV[27]; + RHS9 -= go[28] * *cnV[28]; + m_A23 += gt[29]; + m_A23 += gt[30]; + m_A23 += gt[31]; + m_A24 += go[29]; + double RHS10 = Idr[29]; + RHS10 += Idr[30]; + RHS10 += Idr[31]; + RHS10 -= go[30] * *cnV[30]; + RHS10 -= go[31] * *cnV[31]; + m_A25 += gt[32]; + m_A25 += gt[33]; + m_A25 += gt[34]; + m_A26 += go[32]; + double RHS11 = Idr[32]; + RHS11 += Idr[33]; + RHS11 += Idr[34]; + RHS11 -= go[33] * *cnV[33]; + RHS11 -= go[34] * *cnV[34]; + m_A27 += gt[35]; + m_A27 += gt[36]; + m_A27 += gt[37]; + m_A28 += go[35]; + double RHS12 = Idr[35]; + RHS12 += Idr[36]; + RHS12 += Idr[37]; + RHS12 -= go[36] * *cnV[36]; + RHS12 -= go[37] * *cnV[37]; + m_A29 += gt[38]; + m_A29 += gt[39]; + m_A30 += go[38]; + double RHS13 = Idr[38]; + RHS13 += Idr[39]; + RHS13 -= go[39] * *cnV[39]; + m_A31 += gt[40]; + m_A31 += gt[41]; + m_A31 += gt[42]; + m_A32 += go[40]; + double RHS14 = Idr[40]; + RHS14 += Idr[41]; + RHS14 += Idr[42]; + RHS14 -= go[41] * *cnV[41]; + RHS14 -= go[42] * *cnV[42]; + m_A33 += gt[43]; + m_A33 += gt[44]; + m_A34 += go[43]; + double RHS15 = Idr[43]; + RHS15 += Idr[44]; + RHS15 -= go[44] * *cnV[44]; + m_A35 += gt[45]; + m_A35 += gt[46]; + m_A36 += go[45]; + double RHS16 = Idr[45]; + RHS16 += Idr[46]; + RHS16 -= go[46] * *cnV[46]; + m_A37 += gt[47]; + m_A37 += gt[48]; + m_A38 += go[47]; + double RHS17 = Idr[47]; + RHS17 += Idr[48]; + RHS17 -= go[48] * *cnV[48]; + m_A39 += gt[49]; + m_A39 += gt[50]; + m_A40 += go[49]; + double RHS18 = Idr[49]; + RHS18 += Idr[50]; + RHS18 -= go[50] * *cnV[50]; + m_A41 += gt[51]; + m_A41 += gt[52]; + m_A42 += go[51]; + double RHS19 = Idr[51]; + RHS19 += Idr[52]; + RHS19 -= go[52] * *cnV[52]; + m_A43 += gt[53]; + m_A43 += gt[54]; + m_A44 += go[53]; + double RHS20 = Idr[53]; + RHS20 += Idr[54]; + RHS20 -= go[54] * *cnV[54]; + m_A45 += gt[55]; + m_A45 += gt[56]; + m_A45 += gt[57]; + m_A45 += gt[58]; + m_A45 += gt[59]; + m_A46 += go[55]; + m_A48 += go[56]; + m_A47 += go[57]; + double RHS21 = Idr[55]; + RHS21 += Idr[56]; + RHS21 += Idr[57]; + RHS21 += Idr[58]; + RHS21 += Idr[59]; + RHS21 -= go[58] * *cnV[58]; + RHS21 -= go[59] * *cnV[59]; + m_A49 += gt[60]; + m_A49 += gt[61]; + m_A49 += gt[62]; + m_A50 += go[60]; + double RHS22 = Idr[60]; + RHS22 += Idr[61]; + RHS22 += Idr[62]; + RHS22 -= go[61] * *cnV[61]; + RHS22 -= go[62] * *cnV[62]; + m_A51 += gt[63]; + m_A51 += gt[64]; + m_A52 += go[63]; + double RHS23 = Idr[63]; + RHS23 += Idr[64]; + RHS23 -= go[64] * *cnV[64]; + m_A55 += gt[65]; + m_A55 += gt[66]; + m_A55 += gt[67]; + m_A55 += gt[68]; + m_A54 += go[65]; + m_A53 += go[66]; + double RHS24 = Idr[65]; + RHS24 += Idr[66]; + RHS24 += Idr[67]; + RHS24 += Idr[68]; + RHS24 -= go[67] * *cnV[67]; + RHS24 -= go[68] * *cnV[68]; + m_A57 += gt[69]; + m_A57 += gt[70]; + m_A58 += go[69]; + double RHS25 = Idr[69]; + RHS25 += Idr[70]; + RHS25 -= go[70] * *cnV[70]; + m_A59 += gt[71]; + m_A59 += gt[72]; + m_A59 += gt[73]; + m_A60 += go[71]; + double RHS26 = Idr[71]; + RHS26 += Idr[72]; + RHS26 += Idr[73]; + RHS26 -= go[72] * *cnV[72]; + RHS26 -= go[73] * *cnV[73]; + m_A61 += gt[74]; + m_A61 += gt[75]; + m_A61 += gt[76]; + m_A62 += go[74]; + double RHS27 = Idr[74]; + RHS27 += Idr[75]; + RHS27 += Idr[76]; + RHS27 -= go[75] * *cnV[75]; + RHS27 -= go[76] * *cnV[76]; + m_A63 += gt[77]; + m_A63 += gt[78]; + m_A63 += gt[79]; + m_A64 += go[77]; + double RHS28 = Idr[77]; + RHS28 += Idr[78]; + RHS28 += Idr[79]; + RHS28 -= go[78] * *cnV[78]; + RHS28 -= go[79] * *cnV[79]; + m_A65 += gt[80]; + m_A65 += gt[81]; + m_A67 += go[80]; + m_A66 += go[81]; + double RHS29 = Idr[80]; + RHS29 += Idr[81]; + m_A68 += gt[82]; + m_A68 += gt[83]; + m_A70 += go[82]; + m_A69 += go[83]; + double RHS30 = Idr[82]; + RHS30 += Idr[83]; + m_A71 += gt[84]; + m_A71 += gt[85]; + m_A73 += go[84]; + m_A72 += go[85]; + double RHS31 = Idr[84]; + RHS31 += Idr[85]; + m_A77 += gt[86]; + m_A77 += gt[87]; + m_A77 += gt[88]; + m_A77 += gt[89]; + m_A77 += gt[90]; + m_A77 += gt[91]; + m_A77 += gt[92]; + m_A74 += go[86]; + m_A75 += go[87]; + m_A75 += go[88]; + m_A78 += go[89]; + m_A78 += go[90]; + double RHS32 = Idr[86]; + RHS32 += Idr[87]; + RHS32 += Idr[88]; + RHS32 += Idr[89]; + RHS32 += Idr[90]; + RHS32 += Idr[91]; + RHS32 += Idr[92]; + RHS32 -= go[91] * *cnV[91]; + RHS32 -= go[92] * *cnV[92]; + m_A83 += gt[93]; + m_A83 += gt[94]; + m_A83 += gt[95]; + m_A83 += gt[96]; + m_A83 += gt[97]; + m_A83 += gt[98]; + m_A83 += gt[99]; + m_A83 += gt[100]; + m_A83 += gt[101]; + m_A85 += go[93]; + m_A85 += go[94]; + m_A84 += go[95]; + m_A84 += go[96]; + m_A82 += go[97]; + m_A81 += go[98]; + m_A80 += go[99]; + m_A79 += go[100]; + double RHS33 = Idr[93]; + RHS33 += Idr[94]; + RHS33 += Idr[95]; + RHS33 += Idr[96]; + RHS33 += Idr[97]; + RHS33 += Idr[98]; + RHS33 += Idr[99]; + RHS33 += Idr[100]; + RHS33 += Idr[101]; + RHS33 -= go[101] * *cnV[101]; + m_A92 += gt[102]; + m_A92 += gt[103]; + m_A92 += gt[104]; + m_A92 += gt[105]; + m_A92 += gt[106]; + m_A92 += gt[107]; + m_A91 += go[102]; + m_A90 += go[103]; + m_A89 += go[104]; + m_A88 += go[105]; + m_A87 += go[106]; + m_A86 += go[107]; + double RHS34 = Idr[102]; + RHS34 += Idr[103]; + RHS34 += Idr[104]; + RHS34 += Idr[105]; + RHS34 += Idr[106]; + RHS34 += Idr[107]; + m_A95 += gt[108]; + m_A95 += gt[109]; + m_A95 += gt[110]; + m_A95 += gt[111]; + m_A95 += gt[112]; + m_A95 += gt[113]; + m_A95 += gt[114]; + m_A97 += go[108]; + m_A94 += go[109]; + double RHS35 = Idr[108]; + RHS35 += Idr[109]; + RHS35 += Idr[110]; + RHS35 += Idr[111]; + RHS35 += Idr[112]; + RHS35 += Idr[113]; + RHS35 += Idr[114]; + RHS35 -= go[110] * *cnV[110]; + RHS35 -= go[111] * *cnV[111]; + RHS35 -= go[112] * *cnV[112]; + RHS35 -= go[113] * *cnV[113]; + RHS35 -= go[114] * *cnV[114]; + m_A99 += gt[115]; + m_A99 += gt[116]; + m_A98 += go[115]; + m_A100 += go[116]; + double RHS36 = Idr[115]; + RHS36 += Idr[116]; + m_A107 += gt[117]; + m_A107 += gt[118]; + m_A107 += gt[119]; + m_A107 += gt[120]; + m_A107 += gt[121]; + m_A107 += gt[122]; + m_A106 += go[117]; + m_A105 += go[118]; + m_A104 += go[119]; + m_A103 += go[120]; + m_A102 += go[121]; + m_A101 += go[122]; + double RHS37 = Idr[117]; + RHS37 += Idr[118]; + RHS37 += Idr[119]; + RHS37 += Idr[120]; + RHS37 += Idr[121]; + RHS37 += Idr[122]; + m_A112 += gt[123]; + m_A112 += gt[124]; + m_A112 += gt[125]; + m_A112 += gt[126]; + m_A112 += gt[127]; + m_A111 += go[123]; + m_A110 += go[124]; + m_A109 += go[125]; + double RHS38 = Idr[123]; + RHS38 += Idr[124]; + RHS38 += Idr[125]; + RHS38 += Idr[126]; + RHS38 += Idr[127]; + RHS38 -= go[126] * *cnV[126]; + RHS38 -= go[127] * *cnV[127]; + m_A118 += gt[128]; + m_A118 += gt[129]; + m_A118 += gt[130]; + m_A118 += gt[131]; + m_A118 += gt[132]; + m_A118 += gt[133]; + m_A118 += gt[134]; + m_A118 += gt[135]; + m_A118 += gt[136]; + m_A119 += go[128]; + m_A115 += go[129]; + m_A114 += go[130]; + m_A116 += go[131]; + m_A116 += go[132]; + m_A117 += go[133]; + m_A117 += go[134]; + double RHS39 = Idr[128]; + RHS39 += Idr[129]; + RHS39 += Idr[130]; + RHS39 += Idr[131]; + RHS39 += Idr[132]; + RHS39 += Idr[133]; + RHS39 += Idr[134]; + RHS39 += Idr[135]; + RHS39 += Idr[136]; + RHS39 -= go[135] * *cnV[135]; + RHS39 -= go[136] * *cnV[136]; + m_A121 += gt[137]; + m_A121 += gt[138]; + m_A120 += go[137]; + m_A122 += go[138]; + double RHS40 = Idr[137]; + RHS40 += Idr[138]; + m_A127 += gt[139]; + m_A127 += gt[140]; + m_A127 += gt[141]; + m_A127 += gt[142]; + m_A127 += gt[143]; + m_A126 += go[139]; + m_A125 += go[140]; + m_A124 += go[141]; + m_A123 += go[142]; + m_A128 += go[143]; + double RHS41 = Idr[139]; + RHS41 += Idr[140]; + RHS41 += Idr[141]; + RHS41 += Idr[142]; + RHS41 += Idr[143]; + m_A134 += gt[144]; + m_A134 += gt[145]; + m_A134 += gt[146]; + m_A134 += gt[147]; + m_A134 += gt[148]; + m_A134 += gt[149]; + m_A130 += go[144]; + m_A129 += go[145]; + m_A133 += go[146]; + m_A131 += go[147]; + m_A131 += go[148]; + double RHS42 = Idr[144]; + RHS42 += Idr[145]; + RHS42 += Idr[146]; + RHS42 += Idr[147]; + RHS42 += Idr[148]; + RHS42 += Idr[149]; + RHS42 -= go[149] * *cnV[149]; + m_A137 += gt[150]; + m_A137 += gt[151]; + m_A136 += go[150]; + m_A138 += go[151]; + double RHS43 = Idr[150]; + RHS43 += Idr[151]; + m_A153 += gt[152]; + m_A153 += gt[153]; + m_A153 += gt[154]; + m_A153 += gt[155]; + m_A153 += gt[156]; + m_A153 += gt[157]; + m_A153 += gt[158]; + m_A153 += gt[159]; + m_A152 += go[152]; + m_A140 += go[153]; + m_A141 += go[154]; + m_A142 += go[155]; + m_A149 += go[156]; + m_A145 += go[157]; + m_A150 += go[158]; + m_A139 += go[159]; + double RHS44 = Idr[152]; + RHS44 += Idr[153]; + RHS44 += Idr[154]; + RHS44 += Idr[155]; + RHS44 += Idr[156]; + RHS44 += Idr[157]; + RHS44 += Idr[158]; + RHS44 += Idr[159]; const double f0 = 1.0 / m_A0; - const double f0_8 = -f0 * m_A24; - m_A26 += m_A1 * f0_8; - RHS8 += f0_8 * RHS0; + const double f0_33 = -f0 * m_A79; + m_A83 += m_A1 * f0_33; + RHS33 += f0_33 * RHS0; const double f1 = 1.0 / m_A2; - const double f1_8 = -f1 * m_A25; - m_A26 += m_A3 * f1_8; - m_A27 += m_A4 * f1_8; - m_A28 += m_A5 * f1_8; - RHS8 += f1_8 * RHS1; - const double f1_9 = -f1 * m_A29; - m_A30 += m_A3 * f1_9; - m_A31 += m_A4 * f1_9; - m_A32 += m_A5 * f1_9; - RHS9 += f1_9 * RHS1; - const double f1_17 = -f1 * m_A70; - m_A71 += m_A3 * f1_17; - m_A72 += m_A4 * f1_17; - m_A75 += m_A5 * f1_17; - RHS17 += f1_17 * RHS1; - const double f2 = 1.0 / m_A6; - const double f2_10 = -f2 * m_A33; - m_A35 += m_A7 * f2_10; - RHS10 += f2_10 * RHS2; - const double f3 = 1.0 / m_A8; - const double f3_10 = -f3 * m_A34; - m_A35 += m_A9 * f3_10; - m_A36 += m_A10 * f3_10; - m_A37 += m_A11 * f3_10; - RHS10 += f3_10 * RHS3; - const double f3_12 = -f3 * m_A43; - m_A44 += m_A9 * f3_12; - m_A45 += m_A10 * f3_12; - m_A46 += m_A11 * f3_12; - RHS12 += f3_12 * RHS3; - const double f3_14 = -f3 * m_A51; - m_A53 += m_A9 * f3_14; - m_A54 += m_A10 * f3_14; - m_A55 += m_A11 * f3_14; - RHS14 += f3_14 * RHS3; - const double f4 = 1.0 / m_A12; - const double f4_14 = -f4 * m_A52; - m_A55 += m_A13 * f4_14; - m_A56 += m_A14 * f4_14; - RHS14 += f4_14 * RHS4; - const double f4_15 = -f4 * m_A57; - m_A59 += m_A13 * f4_15; - m_A60 += m_A14 * f4_15; - RHS15 += f4_15 * RHS4; - const double f5 = 1.0 / m_A15; - const double f5_11 = -f5 * m_A38; - m_A40 += m_A16 * f5_11; - RHS11 += f5_11 * RHS5; - const double f6 = 1.0 / m_A17; - const double f6_11 = -f6 * m_A39; - m_A40 += m_A18 * f6_11; - m_A41 += m_A19 * f6_11; - m_A42 += m_A20 * f6_11; - RHS11 += f6_11 * RHS6; - const double f6_13 = -f6 * m_A47; - m_A48 += m_A18 * f6_13; - m_A49 += m_A19 * f6_13; - m_A50 += m_A20 * f6_13; - RHS13 += f6_13 * RHS6; - const double f6_16 = -f6 * m_A63; - m_A65 += m_A18 * f6_16; - m_A66 += m_A19 * f6_16; - m_A68 += m_A20 * f6_16; - RHS16 += f6_16 * RHS6; - const double f7 = 1.0 / m_A21; - const double f7_15 = -f7 * m_A58; - m_A60 += m_A22 * f7_15; - m_A61 += m_A23 * f7_15; - RHS15 += f7_15 * RHS7; - const double f7_16 = -f7 * m_A64; - m_A67 += m_A22 * f7_16; - m_A68 += m_A23 * f7_16; - RHS16 += f7_16 * RHS7; - const double f8 = 1.0 / m_A26; - const double f8_9 = -f8 * m_A30; - m_A31 += m_A27 * f8_9; - m_A32 += m_A28 * f8_9; - RHS9 += f8_9 * RHS8; - const double f8_17 = -f8 * m_A71; - m_A72 += m_A27 * f8_17; - m_A75 += m_A28 * f8_17; - RHS17 += f8_17 * RHS8; - const double f9 = 1.0 / m_A31; - const double f9_17 = -f9 * m_A72; - m_A75 += m_A32 * f9_17; - RHS17 += f9_17 * RHS9; - const double f10 = 1.0 / m_A35; - const double f10_12 = -f10 * m_A44; - m_A45 += m_A36 * f10_12; - m_A46 += m_A37 * f10_12; - RHS12 += f10_12 * RHS10; - const double f10_14 = -f10 * m_A53; - m_A54 += m_A36 * f10_14; - m_A55 += m_A37 * f10_14; - RHS14 += f10_14 * RHS10; - const double f11 = 1.0 / m_A40; - const double f11_13 = -f11 * m_A48; - m_A49 += m_A41 * f11_13; - m_A50 += m_A42 * f11_13; - RHS13 += f11_13 * RHS11; - const double f11_16 = -f11 * m_A65; - m_A66 += m_A41 * f11_16; - m_A68 += m_A42 * f11_16; - RHS16 += f11_16 * RHS11; - const double f12 = 1.0 / m_A45; - const double f12_14 = -f12 * m_A54; - m_A55 += m_A46 * f12_14; - RHS14 += f12_14 * RHS12; - const double f13 = 1.0 / m_A49; - const double f13_16 = -f13 * m_A66; - m_A68 += m_A50 * f13_16; - RHS16 += f13_16 * RHS13; - const double f14 = 1.0 / m_A55; - const double f14_15 = -f14 * m_A59; - m_A60 += m_A56 * f14_15; - RHS15 += f14_15 * RHS14; - const double f15 = 1.0 / m_A60; - const double f15_16 = -f15 * m_A67; - m_A68 += m_A61 * f15_16; - m_A69 += m_A62 * f15_16; - RHS16 += f15_16 * RHS15; - const double f15_17 = -f15 * m_A73; - m_A74 += m_A61 * f15_17; - m_A75 += m_A62 * f15_17; - RHS17 += f15_17 * RHS15; - const double f16 = 1.0 / m_A68; - const double f16_17 = -f16 * m_A74; - m_A75 += m_A69 * f16_17; - RHS17 += f16_17 * RHS16; - V[17] = RHS17 / m_A75; + const double f1_33 = -f1 * m_A80; + m_A83 += m_A3 * f1_33; + RHS33 += f1_33 * RHS1; + const double f2 = 1.0 / m_A4; + const double f2_33 = -f2 * m_A81; + m_A83 += m_A5 * f2_33; + RHS33 += f2_33 * RHS2; + const double f3 = 1.0 / m_A6; + const double f3_24 = -f3 * m_A53; + m_A55 += m_A7 * f3_24; + m_A56 += m_A8 * f3_24; + RHS24 += f3_24 * RHS3; + const double f3_32 = -f3 * m_A74; + m_A76 += m_A7 * f3_32; + m_A77 += m_A8 * f3_32; + RHS32 += f3_32 * RHS3; + const double f4 = 1.0 / m_A9; + const double f4_24 = -f4 * m_A54; + m_A55 += m_A10 * f4_24; + RHS24 += f4_24 * RHS4; + const double f5 = 1.0 / m_A11; + const double f5_32 = -f5 * m_A75; + m_A77 += m_A12 * f5_32; + m_A78 += m_A13 * f5_32; + RHS32 += f5_32 * RHS5; + const double f5_39 = -f5 * m_A114; + m_A116 += m_A12 * f5_39; + m_A118 += m_A13 * f5_39; + RHS39 += f5_39 * RHS5; + const double f6 = 1.0 / m_A14; + const double f6_33 = -f6 * m_A82; + m_A83 += m_A15 * f6_33; + RHS33 += f6_33 * RHS6; + const double f7 = 1.0 / m_A16; + const double f7_35 = -f7 * m_A94; + m_A96 += m_A17 * f7_35; + m_A97 += m_A18 * f7_35; + RHS35 += f7_35 * RHS7; + const double f7_39 = -f7 * m_A115; + m_A118 += m_A17 * f7_39; + m_A119 += m_A18 * f7_39; + RHS39 += f7_39 * RHS7; + const double f7_42 = -f7 * m_A129; + m_A133 += m_A17 * f7_42; + m_A134 += m_A18 * f7_42; + RHS42 += f7_42 * RHS7; + const double f8 = 1.0 / m_A19; + const double f8_37 = -f8 * m_A101; + m_A107 += m_A20 * f8_37; + RHS37 += f8_37 * RHS8; + const double f9 = 1.0 / m_A21; + const double f9_37 = -f9 * m_A102; + m_A107 += m_A22 * f9_37; + RHS37 += f9_37 * RHS9; + const double f10 = 1.0 / m_A23; + const double f10_37 = -f10 * m_A103; + m_A107 += m_A24 * f10_37; + RHS37 += f10_37 * RHS10; + const double f11 = 1.0 / m_A25; + const double f11_37 = -f11 * m_A104; + m_A107 += m_A26 * f11_37; + RHS37 += f11_37 * RHS11; + const double f12 = 1.0 / m_A27; + const double f12_37 = -f12 * m_A105; + m_A107 += m_A28 * f12_37; + RHS37 += f12_37 * RHS12; + const double f13 = 1.0 / m_A29; + const double f13_38 = -f13 * m_A109; + m_A112 += m_A30 * f13_38; + RHS38 += f13_38 * RHS13; + const double f14 = 1.0 / m_A31; + const double f14_34 = -f14 * m_A86; + m_A92 += m_A32 * f14_34; + RHS34 += f14_34 * RHS14; + const double f15 = 1.0 / m_A33; + const double f15_41 = -f15 * m_A123; + m_A127 += m_A34 * f15_41; + RHS41 += f15_41 * RHS15; + const double f16 = 1.0 / m_A35; + const double f16_36 = -f16 * m_A98; + m_A99 += m_A36 * f16_36; + RHS36 += f16_36 * RHS16; + const double f17 = 1.0 / m_A37; + const double f17_40 = -f17 * m_A120; + m_A121 += m_A38 * f17_40; + RHS40 += f17_40 * RHS17; + const double f18 = 1.0 / m_A39; + const double f18_41 = -f18 * m_A124; + m_A127 += m_A40 * f18_41; + RHS41 += f18_41 * RHS18; + const double f19 = 1.0 / m_A41; + const double f19_41 = -f19 * m_A125; + m_A127 += m_A42 * f19_41; + RHS41 += f19_41 * RHS19; + const double f20 = 1.0 / m_A43; + const double f20_41 = -f20 * m_A126; + m_A127 += m_A44 * f20_41; + RHS41 += f20_41 * RHS20; + const double f21 = 1.0 / m_A45; + const double f21_42 = -f21 * m_A130; + m_A132 += m_A46 * f21_42; + m_A134 += m_A47 * f21_42; + m_A135 += m_A48 * f21_42; + RHS42 += f21_42 * RHS21; + const double f21_44 = -f21 * m_A139; + m_A144 += m_A46 * f21_44; + m_A151 += m_A47 * f21_44; + m_A153 += m_A48 * f21_44; + RHS44 += f21_44 * RHS21; + const double f22 = 1.0 / m_A49; + const double f22_34 = -f22 * m_A87; + m_A92 += m_A50 * f22_34; + RHS34 += f22_34 * RHS22; + const double f23 = 1.0 / m_A51; + const double f23_43 = -f23 * m_A136; + m_A137 += m_A52 * f23_43; + RHS43 += f23_43 * RHS23; + const double f24 = 1.0 / m_A55; + const double f24_32 = -f24 * m_A76; + m_A77 += m_A56 * f24_32; + RHS32 += f24_32 * RHS24; + const double f25 = 1.0 / m_A57; + const double f25_38 = -f25 * m_A110; + m_A112 += m_A58 * f25_38; + RHS38 += f25_38 * RHS25; + const double f26 = 1.0 / m_A59; + const double f26_34 = -f26 * m_A88; + m_A92 += m_A60 * f26_34; + RHS34 += f26_34 * RHS26; + const double f27 = 1.0 / m_A61; + const double f27_34 = -f27 * m_A89; + m_A92 += m_A62 * f27_34; + RHS34 += f27_34 * RHS27; + const double f28 = 1.0 / m_A63; + const double f28_34 = -f28 * m_A90; + m_A92 += m_A64 * f28_34; + RHS34 += f28_34 * RHS28; + const double f29 = 1.0 / m_A65; + const double f29_34 = -f29 * m_A91; + m_A92 += m_A66 * f29_34; + m_A93 += m_A67 * f29_34; + RHS34 += f29_34 * RHS29; + const double f29_44 = -f29 * m_A140; + m_A143 += m_A66 * f29_44; + m_A153 += m_A67 * f29_44; + RHS44 += f29_44 * RHS29; + const double f30 = 1.0 / m_A68; + const double f30_37 = -f30 * m_A106; + m_A107 += m_A69 * f30_37; + m_A108 += m_A70 * f30_37; + RHS37 += f30_37 * RHS30; + const double f30_44 = -f30 * m_A141; + m_A146 += m_A69 * f30_44; + m_A153 += m_A70 * f30_44; + RHS44 += f30_44 * RHS30; + const double f31 = 1.0 / m_A71; + const double f31_38 = -f31 * m_A111; + m_A112 += m_A72 * f31_38; + m_A113 += m_A73 * f31_38; + RHS38 += f31_38 * RHS31; + const double f31_44 = -f31 * m_A142; + m_A147 += m_A72 * f31_44; + m_A153 += m_A73 * f31_44; + RHS44 += f31_44 * RHS31; + const double f32 = 1.0 / m_A77; + const double f32_39 = -f32 * m_A116; + m_A118 += m_A78 * f32_39; + RHS39 += f32_39 * RHS32; + const double f33 = 1.0 / m_A83; + const double f33_39 = -f33 * m_A117; + m_A118 += m_A84 * f33_39; + m_A119 += m_A85 * f33_39; + RHS39 += f33_39 * RHS33; + const double f33_42 = -f33 * m_A131; + m_A133 += m_A84 * f33_42; + m_A134 += m_A85 * f33_42; + RHS42 += f33_42 * RHS33; + const double f34 = 1.0 / m_A92; + const double f34_44 = -f34 * m_A143; + m_A153 += m_A93 * f34_44; + RHS44 += f34_44 * RHS34; + const double f35 = 1.0 / m_A95; + const double f35_42 = -f35 * m_A132; + m_A133 += m_A96 * f35_42; + m_A134 += m_A97 * f35_42; + RHS42 += f35_42 * RHS35; + const double f35_44 = -f35 * m_A144; + m_A148 += m_A96 * f35_44; + m_A151 += m_A97 * f35_44; + RHS44 += f35_44 * RHS35; + const double f36 = 1.0 / m_A99; + const double f36_44 = -f36 * m_A145; + m_A153 += m_A100 * f36_44; + RHS44 += f36_44 * RHS36; + const double f37 = 1.0 / m_A107; + const double f37_44 = -f37 * m_A146; + m_A153 += m_A108 * f37_44; + RHS44 += f37_44 * RHS37; + const double f38 = 1.0 / m_A112; + const double f38_44 = -f38 * m_A147; + m_A153 += m_A113 * f38_44; + RHS44 += f38_44 * RHS38; + const double f39 = 1.0 / m_A118; + const double f39_42 = -f39 * m_A133; + m_A134 += m_A119 * f39_42; + RHS42 += f39_42 * RHS39; + const double f39_44 = -f39 * m_A148; + m_A151 += m_A119 * f39_44; + RHS44 += f39_44 * RHS39; + const double f40 = 1.0 / m_A121; + const double f40_44 = -f40 * m_A149; + m_A153 += m_A122 * f40_44; + RHS44 += f40_44 * RHS40; + const double f41 = 1.0 / m_A127; + const double f41_44 = -f41 * m_A150; + m_A153 += m_A128 * f41_44; + RHS44 += f41_44 * RHS41; + const double f42 = 1.0 / m_A134; + const double f42_44 = -f42 * m_A151; + m_A153 += m_A135 * f42_44; + RHS44 += f42_44 * RHS42; + const double f43 = 1.0 / m_A137; + const double f43_44 = -f43 * m_A152; + m_A153 += m_A138 * f43_44; + RHS44 += f43_44 * RHS43; + V[44] = RHS44 / m_A153; + double tmp43 = 0.0; + tmp43 += m_A138 * V[44]; + V[43] = (RHS43 - tmp43) / m_A137; + double tmp42 = 0.0; + tmp42 += m_A135 * V[44]; + V[42] = (RHS42 - tmp42) / m_A134; + double tmp41 = 0.0; + tmp41 += m_A128 * V[44]; + V[41] = (RHS41 - tmp41) / m_A127; + double tmp40 = 0.0; + tmp40 += m_A122 * V[44]; + V[40] = (RHS40 - tmp40) / m_A121; + double tmp39 = 0.0; + tmp39 += m_A119 * V[42]; + V[39] = (RHS39 - tmp39) / m_A118; + double tmp38 = 0.0; + tmp38 += m_A113 * V[44]; + V[38] = (RHS38 - tmp38) / m_A112; + double tmp37 = 0.0; + tmp37 += m_A108 * V[44]; + V[37] = (RHS37 - tmp37) / m_A107; + double tmp36 = 0.0; + tmp36 += m_A100 * V[44]; + V[36] = (RHS36 - tmp36) / m_A99; + double tmp35 = 0.0; + tmp35 += m_A96 * V[39]; + tmp35 += m_A97 * V[42]; + V[35] = (RHS35 - tmp35) / m_A95; + double tmp34 = 0.0; + tmp34 += m_A93 * V[44]; + V[34] = (RHS34 - tmp34) / m_A92; + double tmp33 = 0.0; + tmp33 += m_A84 * V[39]; + tmp33 += m_A85 * V[42]; + V[33] = (RHS33 - tmp33) / m_A83; + double tmp32 = 0.0; + tmp32 += m_A78 * V[39]; + V[32] = (RHS32 - tmp32) / m_A77; + double tmp31 = 0.0; + tmp31 += m_A72 * V[38]; + tmp31 += m_A73 * V[44]; + V[31] = (RHS31 - tmp31) / m_A71; + double tmp30 = 0.0; + tmp30 += m_A69 * V[37]; + tmp30 += m_A70 * V[44]; + V[30] = (RHS30 - tmp30) / m_A68; + double tmp29 = 0.0; + tmp29 += m_A66 * V[34]; + tmp29 += m_A67 * V[44]; + V[29] = (RHS29 - tmp29) / m_A65; + double tmp28 = 0.0; + tmp28 += m_A64 * V[34]; + V[28] = (RHS28 - tmp28) / m_A63; + double tmp27 = 0.0; + tmp27 += m_A62 * V[34]; + V[27] = (RHS27 - tmp27) / m_A61; + double tmp26 = 0.0; + tmp26 += m_A60 * V[34]; + V[26] = (RHS26 - tmp26) / m_A59; + double tmp25 = 0.0; + tmp25 += m_A58 * V[38]; + V[25] = (RHS25 - tmp25) / m_A57; + double tmp24 = 0.0; + tmp24 += m_A56 * V[32]; + V[24] = (RHS24 - tmp24) / m_A55; + double tmp23 = 0.0; + tmp23 += m_A52 * V[43]; + V[23] = (RHS23 - tmp23) / m_A51; + double tmp22 = 0.0; + tmp22 += m_A50 * V[34]; + V[22] = (RHS22 - tmp22) / m_A49; + double tmp21 = 0.0; + tmp21 += m_A46 * V[35]; + tmp21 += m_A47 * V[42]; + tmp21 += m_A48 * V[44]; + V[21] = (RHS21 - tmp21) / m_A45; + double tmp20 = 0.0; + tmp20 += m_A44 * V[41]; + V[20] = (RHS20 - tmp20) / m_A43; + double tmp19 = 0.0; + tmp19 += m_A42 * V[41]; + V[19] = (RHS19 - tmp19) / m_A41; + double tmp18 = 0.0; + tmp18 += m_A40 * V[41]; + V[18] = (RHS18 - tmp18) / m_A39; + double tmp17 = 0.0; + tmp17 += m_A38 * V[40]; + V[17] = (RHS17 - tmp17) / m_A37; double tmp16 = 0.0; - tmp16 += m_A69 * V[17]; - V[16] = (RHS16 - tmp16) / m_A68; + tmp16 += m_A36 * V[36]; + V[16] = (RHS16 - tmp16) / m_A35; double tmp15 = 0.0; - tmp15 += m_A61 * V[16]; - tmp15 += m_A62 * V[17]; - V[15] = (RHS15 - tmp15) / m_A60; + tmp15 += m_A34 * V[41]; + V[15] = (RHS15 - tmp15) / m_A33; double tmp14 = 0.0; - tmp14 += m_A56 * V[15]; - V[14] = (RHS14 - tmp14) / m_A55; + tmp14 += m_A32 * V[34]; + V[14] = (RHS14 - tmp14) / m_A31; double tmp13 = 0.0; - tmp13 += m_A50 * V[16]; - V[13] = (RHS13 - tmp13) / m_A49; + tmp13 += m_A30 * V[38]; + V[13] = (RHS13 - tmp13) / m_A29; double tmp12 = 0.0; - tmp12 += m_A46 * V[14]; - V[12] = (RHS12 - tmp12) / m_A45; + tmp12 += m_A28 * V[37]; + V[12] = (RHS12 - tmp12) / m_A27; double tmp11 = 0.0; - tmp11 += m_A41 * V[13]; - tmp11 += m_A42 * V[16]; - V[11] = (RHS11 - tmp11) / m_A40; + tmp11 += m_A26 * V[37]; + V[11] = (RHS11 - tmp11) / m_A25; double tmp10 = 0.0; - tmp10 += m_A36 * V[12]; - tmp10 += m_A37 * V[14]; - V[10] = (RHS10 - tmp10) / m_A35; + tmp10 += m_A24 * V[37]; + V[10] = (RHS10 - tmp10) / m_A23; double tmp9 = 0.0; - tmp9 += m_A32 * V[17]; - V[9] = (RHS9 - tmp9) / m_A31; + tmp9 += m_A22 * V[37]; + V[9] = (RHS9 - tmp9) / m_A21; double tmp8 = 0.0; - tmp8 += m_A27 * V[9]; - tmp8 += m_A28 * V[17]; - V[8] = (RHS8 - tmp8) / m_A26; + tmp8 += m_A20 * V[37]; + V[8] = (RHS8 - tmp8) / m_A19; double tmp7 = 0.0; - tmp7 += m_A22 * V[15]; - tmp7 += m_A23 * V[16]; - V[7] = (RHS7 - tmp7) / m_A21; + tmp7 += m_A17 * V[39]; + tmp7 += m_A18 * V[42]; + V[7] = (RHS7 - tmp7) / m_A16; double tmp6 = 0.0; - tmp6 += m_A18 * V[11]; - tmp6 += m_A19 * V[13]; - tmp6 += m_A20 * V[16]; - V[6] = (RHS6 - tmp6) / m_A17; + tmp6 += m_A15 * V[33]; + V[6] = (RHS6 - tmp6) / m_A14; double tmp5 = 0.0; - tmp5 += m_A16 * V[11]; - V[5] = (RHS5 - tmp5) / m_A15; + tmp5 += m_A12 * V[32]; + tmp5 += m_A13 * V[39]; + V[5] = (RHS5 - tmp5) / m_A11; double tmp4 = 0.0; - tmp4 += m_A13 * V[14]; - tmp4 += m_A14 * V[15]; - V[4] = (RHS4 - tmp4) / m_A12; + tmp4 += m_A10 * V[24]; + V[4] = (RHS4 - tmp4) / m_A9; double tmp3 = 0.0; - tmp3 += m_A9 * V[10]; - tmp3 += m_A10 * V[12]; - tmp3 += m_A11 * V[14]; - V[3] = (RHS3 - tmp3) / m_A8; + tmp3 += m_A7 * V[24]; + tmp3 += m_A8 * V[32]; + V[3] = (RHS3 - tmp3) / m_A6; double tmp2 = 0.0; - tmp2 += m_A7 * V[10]; - V[2] = (RHS2 - tmp2) / m_A6; + tmp2 += m_A5 * V[33]; + V[2] = (RHS2 - tmp2) / m_A4; double tmp1 = 0.0; - tmp1 += m_A3 * V[8]; - tmp1 += m_A4 * V[9]; - tmp1 += m_A5 * V[17]; + tmp1 += m_A3 * V[33]; V[1] = (RHS1 - tmp1) / m_A2; double tmp0 = 0.0; - tmp0 += m_A1 * V[8]; + tmp0 += m_A1 * V[33]; V[0] = (RHS0 - tmp0) / m_A0; } @@ -41126,6 +41167,450 @@ static void nl_gcr_a6f74be7f61e6db2_29_double_double(double * __restrict V, cons V[0] = (RHS0 - tmp0) / m_A0; } +// astrob +static void nl_gcr_a7f11a2ba7b1e0de_61_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) + +{ + + plib::unused_var(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); + 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_A4 += go[7]; + m_A3 += go[8]; + double RHS1 = Idr[7]; + RHS1 += Idr[8]; + RHS1 += Idr[9]; + RHS1 -= go[9] * *cnV[9]; + m_A5 += gt[10]; + m_A5 += gt[11]; + m_A5 += gt[12]; + m_A5 += gt[13]; + m_A5 += gt[14]; + m_A5 += gt[15]; + m_A5 += gt[16]; + m_A6 += go[10]; + double RHS2 = Idr[10]; + RHS2 += Idr[11]; + RHS2 += Idr[12]; + RHS2 += Idr[13]; + RHS2 += Idr[14]; + RHS2 += Idr[15]; + RHS2 += Idr[16]; + RHS2 -= go[11] * *cnV[11]; + RHS2 -= go[12] * *cnV[12]; + RHS2 -= go[13] * *cnV[13]; + RHS2 -= go[14] * *cnV[14]; + RHS2 -= go[15] * *cnV[15]; + RHS2 -= go[16] * *cnV[16]; + m_A7 += gt[17]; + m_A7 += gt[18]; + m_A7 += gt[19]; + m_A7 += gt[20]; + m_A8 += go[17]; + m_A10 += go[18]; + m_A9 += go[19]; + double RHS3 = Idr[17]; + RHS3 += Idr[18]; + RHS3 += Idr[19]; + RHS3 += Idr[20]; + RHS3 -= go[20] * *cnV[20]; + m_A13 += gt[21]; + m_A13 += gt[22]; + m_A13 += gt[23]; + m_A11 += go[21]; + double RHS4 = Idr[21]; + RHS4 += Idr[22]; + RHS4 += Idr[23]; + RHS4 -= go[22] * *cnV[22]; + RHS4 -= 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_A16 += gt[29]; + m_A16 += gt[30]; + m_A17 += go[24]; + double RHS5 = Idr[24]; + RHS5 += Idr[25]; + RHS5 += Idr[26]; + RHS5 += Idr[27]; + RHS5 += Idr[28]; + RHS5 += Idr[29]; + RHS5 += Idr[30]; + RHS5 -= go[25] * *cnV[25]; + RHS5 -= go[26] * *cnV[26]; + RHS5 -= go[27] * *cnV[27]; + RHS5 -= go[28] * *cnV[28]; + RHS5 -= go[29] * *cnV[29]; + RHS5 -= go[30] * *cnV[30]; + m_A18 += gt[31]; + m_A18 += gt[32]; + m_A18 += gt[33]; + m_A18 += gt[34]; + m_A18 += gt[35]; + m_A18 += gt[36]; + m_A18 += gt[37]; + m_A19 += go[31]; + double RHS6 = Idr[31]; + RHS6 += Idr[32]; + RHS6 += Idr[33]; + RHS6 += Idr[34]; + RHS6 += Idr[35]; + RHS6 += Idr[36]; + RHS6 += Idr[37]; + 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]; + RHS6 -= go[37] * *cnV[37]; + m_A20 += gt[38]; + m_A20 += gt[39]; + m_A20 += gt[40]; + m_A22 += go[38]; + m_A21 += go[39]; + double RHS7 = Idr[38]; + RHS7 += Idr[39]; + RHS7 += Idr[40]; + RHS7 -= go[40] * *cnV[40]; + m_A23 += gt[41]; + m_A23 += gt[42]; + m_A23 += gt[43]; + m_A23 += gt[44]; + m_A25 += go[41]; + m_A26 += go[42]; + m_A24 += go[43]; + double RHS8 = Idr[41]; + RHS8 += Idr[42]; + RHS8 += Idr[43]; + RHS8 += Idr[44]; + RHS8 -= go[44] * *cnV[44]; + m_A28 += gt[45]; + m_A28 += gt[46]; + m_A28 += gt[47]; + m_A30 += go[45]; + m_A27 += go[46]; + double RHS9 = Idr[45]; + RHS9 += Idr[46]; + RHS9 += Idr[47]; + RHS9 -= go[47] * *cnV[47]; + m_A37 += gt[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_A33 += go[48]; + m_A35 += go[49]; + m_A34 += go[50]; + m_A32 += go[51]; + m_A31 += go[52]; + double RHS10 = Idr[48]; + RHS10 += Idr[49]; + RHS10 += Idr[50]; + RHS10 += Idr[51]; + RHS10 += Idr[52]; + RHS10 += Idr[53]; + RHS10 += Idr[54]; + RHS10 -= go[53] * *cnV[53]; + RHS10 -= go[54] * *cnV[54]; + m_A43 += gt[55]; + m_A43 += gt[56]; + m_A43 += gt[57]; + m_A45 += go[55]; + m_A41 += go[56]; + double RHS11 = Idr[55]; + RHS11 += Idr[56]; + RHS11 += Idr[57]; + RHS11 -= go[57] * *cnV[57]; + m_A52 += gt[58]; + m_A52 += gt[59]; + m_A52 += gt[60]; + m_A52 += gt[61]; + m_A52 += gt[62]; + m_A52 += gt[63]; + m_A52 += gt[64]; + m_A47 += go[58]; + m_A49 += go[59]; + m_A48 += go[60]; + m_A46 += go[61]; + double RHS12 = Idr[58]; + RHS12 += Idr[59]; + RHS12 += Idr[60]; + RHS12 += Idr[61]; + RHS12 += Idr[62]; + RHS12 += Idr[63]; + RHS12 += Idr[64]; + RHS12 -= go[62] * *cnV[62]; + RHS12 -= go[63] * *cnV[63]; + RHS12 -= go[64] * *cnV[64]; + m_A60 += gt[65]; + m_A60 += gt[66]; + m_A60 += gt[67]; + m_A60 += gt[68]; + m_A60 += gt[69]; + m_A60 += gt[70]; + m_A60 += gt[71]; + m_A54 += go[65]; + m_A58 += go[66]; + m_A56 += go[67]; + m_A55 += go[68]; + double RHS13 = Idr[65]; + RHS13 += Idr[66]; + RHS13 += Idr[67]; + RHS13 += Idr[68]; + RHS13 += Idr[69]; + RHS13 += Idr[70]; + RHS13 += Idr[71]; + RHS13 -= go[69] * *cnV[69]; + RHS13 -= go[70] * *cnV[70]; + RHS13 -= go[71] * *cnV[71]; + const double f0 = 1.0 / m_A0; + const double f0_4 = -f0 * m_A11; + m_A12 += m_A1 * f0_4; + RHS4 += f0_4 * RHS0; + const double f1 = 1.0 / m_A2; + const double f1_4 = -f1 * m_A12; + m_A14 += m_A3 * f1_4; + m_A15 += m_A4 * f1_4; + RHS4 += f1_4 * RHS1; + const double f1_10 = -f1 * m_A31; + m_A37 += m_A3 * f1_10; + m_A39 += m_A4 * f1_10; + RHS10 += f1_10 * RHS1; + const double f1_12 = -f1 * m_A46; + m_A50 += m_A3 * f1_12; + m_A52 += m_A4 * f1_12; + RHS12 += f1_12 * RHS1; + const double f2 = 1.0 / m_A5; + const double f2_12 = -f2 * m_A47; + m_A49 += m_A6 * f2_12; + RHS12 += f2_12 * RHS2; + const double f3 = 1.0 / m_A7; + const double f3_9 = -f3 * m_A27; + m_A28 += m_A8 * f3_9; + m_A29 += m_A9 * f3_9; + m_A30 += m_A10 * f3_9; + RHS9 += f3_9 * RHS3; + const double f3_10 = -f3 * m_A32; + m_A36 += m_A8 * f3_10; + m_A37 += m_A9 * f3_10; + m_A39 += m_A10 * f3_10; + RHS10 += f3_10 * RHS3; + const double f3_12 = -f3 * m_A48; + m_A49 += m_A8 * f3_12; + m_A50 += m_A9 * f3_12; + m_A52 += m_A10 * f3_12; + RHS12 += f3_12 * RHS3; + const double f5 = 1.0 / m_A16; + const double f5_10 = -f5 * m_A33; + m_A34 += m_A17 * f5_10; + RHS10 += f5_10 * RHS5; + const double f6 = 1.0 / m_A18; + const double f6_13 = -f6 * m_A54; + m_A58 += m_A19 * f6_13; + RHS13 += f6_13 * RHS6; + const double f7 = 1.0 / m_A20; + const double f7_10 = -f7 * m_A34; + m_A37 += m_A21 * f7_10; + m_A40 += m_A22 * f7_10; + RHS10 += f7_10 * RHS7; + const double f7_13 = -f7 * m_A55; + m_A57 += m_A21 * f7_13; + m_A60 += m_A22 * f7_13; + RHS13 += f7_13 * RHS7; + const double f8 = 1.0 / m_A23; + const double f8_10 = -f8 * m_A35; + m_A37 += m_A24 * f8_10; + m_A38 += m_A25 * f8_10; + m_A40 += m_A26 * f8_10; + RHS10 += f8_10 * RHS8; + const double f8_11 = -f8 * m_A41; + m_A42 += m_A24 * f8_11; + m_A43 += m_A25 * f8_11; + m_A45 += m_A26 * f8_11; + RHS11 += f8_11 * RHS8; + const double f8_13 = -f8 * m_A56; + m_A57 += m_A24 * f8_13; + m_A58 += m_A25 * f8_13; + m_A60 += m_A26 * f8_13; + RHS13 += f8_13 * RHS8; + const double f9 = 1.0 / m_A28; + const double f9_10 = -f9 * m_A36; + m_A37 += m_A29 * f9_10; + m_A39 += m_A30 * f9_10; + RHS10 += f9_10 * RHS9; + const double f9_12 = -f9 * m_A49; + m_A50 += m_A29 * f9_12; + m_A52 += m_A30 * f9_12; + RHS12 += f9_12 * RHS9; + const double f10 = 1.0 / m_A37; + const double f10_11 = -f10 * m_A42; + m_A43 += m_A38 * f10_11; + m_A44 += m_A39 * f10_11; + m_A45 += m_A40 * f10_11; + RHS11 += f10_11 * RHS10; + const double f10_12 = -f10 * m_A50; + m_A51 += m_A38 * f10_12; + m_A52 += m_A39 * f10_12; + m_A53 += m_A40 * f10_12; + RHS12 += f10_12 * RHS10; + const double f10_13 = -f10 * m_A57; + m_A58 += m_A38 * f10_13; + m_A59 += m_A39 * f10_13; + m_A60 += m_A40 * f10_13; + RHS13 += f10_13 * RHS10; + const double f11 = 1.0 / m_A43; + const double f11_12 = -f11 * m_A51; + m_A52 += m_A44 * f11_12; + m_A53 += m_A45 * f11_12; + RHS12 += f11_12 * RHS11; + const double f11_13 = -f11 * m_A58; + m_A59 += m_A44 * f11_13; + m_A60 += m_A45 * f11_13; + RHS13 += f11_13 * RHS11; + const double f12 = 1.0 / m_A52; + const double f12_13 = -f12 * m_A59; + m_A60 += m_A53 * f12_13; + RHS13 += f12_13 * RHS12; + V[13] = RHS13 / m_A60; + double tmp12 = 0.0; + tmp12 += m_A53 * V[13]; + V[12] = (RHS12 - tmp12) / m_A52; + double tmp11 = 0.0; + tmp11 += m_A44 * V[12]; + tmp11 += m_A45 * V[13]; + V[11] = (RHS11 - tmp11) / m_A43; + double tmp10 = 0.0; + tmp10 += m_A38 * V[11]; + tmp10 += m_A39 * V[12]; + tmp10 += m_A40 * V[13]; + V[10] = (RHS10 - tmp10) / m_A37; + double tmp9 = 0.0; + tmp9 += m_A29 * V[10]; + tmp9 += m_A30 * V[12]; + V[9] = (RHS9 - tmp9) / m_A28; + double tmp8 = 0.0; + tmp8 += m_A24 * V[10]; + tmp8 += m_A25 * V[11]; + tmp8 += m_A26 * V[13]; + V[8] = (RHS8 - tmp8) / m_A23; + double tmp7 = 0.0; + tmp7 += m_A21 * V[10]; + tmp7 += m_A22 * V[13]; + V[7] = (RHS7 - tmp7) / m_A20; + double tmp6 = 0.0; + tmp6 += m_A19 * V[11]; + V[6] = (RHS6 - tmp6) / m_A18; + double tmp5 = 0.0; + tmp5 += m_A17 * V[7]; + V[5] = (RHS5 - tmp5) / m_A16; + double tmp4 = 0.0; + tmp4 += m_A14 * V[10]; + tmp4 += m_A15 * V[12]; + V[4] = (RHS4 - tmp4) / m_A13; + double tmp3 = 0.0; + tmp3 += m_A8 * V[9]; + tmp3 += m_A9 * V[10]; + tmp3 += m_A10 * V[12]; + V[3] = (RHS3 - tmp3) / m_A7; + double tmp2 = 0.0; + tmp2 += m_A6 * V[9]; + V[2] = (RHS2 - tmp2) / m_A5; + double tmp1 = 0.0; + tmp1 += m_A3 * V[10]; + tmp1 += m_A4 * V[12]; + V[1] = (RHS1 - tmp1) / m_A2; + double tmp0 = 0.0; + tmp0 += m_A1 * V[1]; + V[0] = (RHS0 - tmp0) / m_A0; +} + // carpolo static void nl_gcr_a8f1d076330f06b7_34_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV) @@ -72429,6 +72914,8 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_13e7b5ac1a260dbf_10_double_double", reinterpret_cast(&nl_gcr_13e7b5ac1a260dbf_10_double_double)}, // tailg {"nl_gcr_144ed14e6bafdb_119_double_double", reinterpret_cast(&nl_gcr_144ed14e6bafdb_119_double_double)}, +// astrob + {"nl_gcr_15b7648945a58fb_27_double_double", reinterpret_cast(&nl_gcr_15b7648945a58fb_27_double_double)}, // spacewar {"nl_gcr_15e8f6fb021de0f9_28_double_double", reinterpret_cast(&nl_gcr_15e8f6fb021de0f9_28_double_double)}, // armora @@ -72455,14 +72942,14 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_2a153513d3e8e2cc_53_double_double", reinterpret_cast(&nl_gcr_2a153513d3e8e2cc_53_double_double)}, // boxingb {"nl_gcr_2f84bc98d737730b_22_double_double", reinterpret_cast(&nl_gcr_2f84bc98d737730b_22_double_double)}, -// astrob - {"nl_gcr_30fc51fe03b164cb_178_double_double", reinterpret_cast(&nl_gcr_30fc51fe03b164cb_178_double_double)}, // tankbatt {"nl_gcr_328d886b444b586b_137_double_double", reinterpret_cast(&nl_gcr_328d886b444b586b_137_double_double)}, // astrob {"nl_gcr_339c6b457f339538_159_double_double", reinterpret_cast(&nl_gcr_339c6b457f339538_159_double_double)}, // solarq {"nl_gcr_34e910fc1896999f_76_double_double", reinterpret_cast(&nl_gcr_34e910fc1896999f_76_double_double)}, +// astrob + {"nl_gcr_37b9bb3472eec580_154_double_double", reinterpret_cast(&nl_gcr_37b9bb3472eec580_154_double_double)}, // sspeedr {"nl_gcr_3e833834e5ce5aee_13_double_double", reinterpret_cast(&nl_gcr_3e833834e5ce5aee_13_double_double)}, // astrob @@ -72639,6 +73126,8 @@ const plib::dynlib_static_sym nl_static_solver_syms[] = { {"nl_gcr_a6cfda6668b153c2_22_double_double", reinterpret_cast(&nl_gcr_a6cfda6668b153c2_22_double_double)}, // boxingb {"nl_gcr_a6f74be7f61e6db2_29_double_double", reinterpret_cast(&nl_gcr_a6f74be7f61e6db2_29_double_double)}, +// astrob + {"nl_gcr_a7f11a2ba7b1e0de_61_double_double", reinterpret_cast(&nl_gcr_a7f11a2ba7b1e0de_61_double_double)}, // carpolo {"nl_gcr_a8f1d076330f06b7_34_double_double", reinterpret_cast(&nl_gcr_a8f1d076330f06b7_34_double_double)}, // breakout diff --git a/src/mame/audio/nl_astrob.cpp b/src/mame/audio/nl_astrob.cpp index ee158301c29..d8fac90fa64 100644 --- a/src/mame/audio/nl_astrob.cpp +++ b/src/mame/audio/nl_astrob.cpp @@ -30,7 +30,8 @@ #define HLE_LASER_1_VCO (1) #define HLE_LASER_2_VCO (1) -#define SIMPLIFY_SONAR (1) +#define SIMPLIFY_SONAR (0) // only use one oscillator +#define ENABLE_SONAR_ALT (1) // use frontiers to separate oscillators, modify UGF #define ENABLE_FRONTIERS (1) #define UNDERCLOCK_NOISE_GEN (1) @@ -58,7 +59,28 @@ #define TTL_74LS00_DIP TTL_7400_DIP #define TTL_74LS04_DIP TTL_7404_DIP - +// Define some random factors (5%) + +#define FRND1 1.023 +#define FRND2 1.017 +#define FRND3 1.005 +#define FRND4 1.014 +#define FRND5 1.049 +#define FRND6 1.044 +#define FRND7 1.016 +#define FRND8 1.037 +#define FRND9 1.030 +#define FRND10 1.001 +#define FRND11 1.034 +#define FRND12 1.043 +#define FRND13 1.011 +#define FRND14 1.016 +#define FRND15 1.011 +#define FRND16 1.006 +#define FRND17 1.009 +#define FRND18 1.007 +#define FRND19 1.035 +#define FRND20 1.004 // // Main netlist @@ -71,9 +93,11 @@ NETLIST_START(astrob) PARAM(Solver.DYNAMIC_TS, 1) PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 4e-5) #if (SIMPLIFY_SONAR) - PARAM(Solver.Solver_54.DYNAMIC_MIN_TIMESTEP, 7e-6) // gets rid of NR loops failure + PARAM(Solver.Solver_54.DYNAMIC_MIN_TIMESTEP, 4e-6) // gets rid of NR loops failure #else - PARAM(Solver.Solver_40.DYNAMIC_MIN_TIMESTEP, 7e-6) // gets rid of NR loops failure +#if !(ENABLE_SONAR_ALT) + PARAM(Solver.Solver_42.DYNAMIC_MIN_TIMESTEP, 6e-6) // gets rid of NR loops failure +#endif #endif #else SOLVER(Solver, 48000) @@ -145,15 +169,15 @@ NETLIST_START(astrob) ANALOG_INPUT(I_V12, 12) ANALOG_INPUT(I_VM12, -12) - RES(R1, RES_K(100)) - RES(R2, RES_K(1.5)) - RES(R3, RES_K(330)) - RES(R4, RES_K(10)) + RES(R1, RES_K(100) * FRND1) // part of SONAR circuit that relies on subtle part differences + RES(R2, RES_K(1.5) * FRND2) // part of SONAR circuit that relies on subtle part differences + RES(R3, RES_K(330) * FRND3) // part of SONAR circuit that relies on subtle part differences + RES(R4, RES_K(10) * FRND4) // part of SONAR circuit that relies on subtle part differences #if (SIMPLIFY_SONAR) // use less resistance to account for only emulating 1/4 identical circuits - RES(R5, RES_K(17)) + RES(R5, RES_K(17)) // part of SONAR circuit that relies on subtle part differences #else - RES(R5, RES_K(68)) + RES(R5, RES_K(68) * FRND5) // part of SONAR circuit that relies on subtle part differences #endif RES(R6, RES_K(68)) RES(R7, RES_K(22)) @@ -185,11 +209,11 @@ NETLIST_START(astrob) RES(R33, RES_K(39)) RES(R34, RES_K(4.7)) RES(R35, RES_K(4.7)) - RES(R36, RES_K(100.1)) // part of SONAR circuit that relies on subtle part differences - RES(R37, RES_K(1.51)) // part of SONAR circuit that relies on subtle part differences - RES(R38, RES_K(330.1)) // part of SONAR circuit that relies on subtle part differences - RES(R39, RES_K(10.1)) // part of SONAR circuit that relies on subtle part differences - RES(R40, RES_K(68.1)) // part of SONAR circuit that relies on subtle part differences + RES(R36, RES_K(100) * FRND6) // part of SONAR circuit that relies on subtle part differences + RES(R37, RES_K(1.5) * FRND7) // part of SONAR circuit that relies on subtle part differences + RES(R38, RES_K(330) * FRND8) // part of SONAR circuit that relies on subtle part differences + RES(R39, RES_K(10) * FRND9) // part of SONAR circuit that relies on subtle part differences + RES(R40, RES_K(68) * FRND10) // part of SONAR circuit that relies on subtle part differences RES(R41, RES_K(10)) RES(R42, RES_K(100)) RES(R43, RES_K(470)) @@ -211,11 +235,11 @@ NETLIST_START(astrob) RES(R59, RES_K(100)) RES(R60, RES_K(10)) RES(R61, RES_K(100)) - RES(R62, RES_K(99.9)) // part of SONAR circuit that relies on subtle part differences - RES(R63, RES_K(1.49)) // part of SONAR circuit that relies on subtle part differences - RES(R64, RES_K(329.9)) // part of SONAR circuit that relies on subtle part differences - RES(R65, RES_K(9.9)) // part of SONAR circuit that relies on subtle part differences - RES(R66, RES_K(67.9)) // part of SONAR circuit that relies on subtle part differences + RES(R62, RES_K(100) * FRND11) // part of SONAR circuit that relies on subtle part differences + RES(R63, RES_K(1.5) * FRND12) // part of SONAR circuit that relies on subtle part differences + RES(R64, RES_K(330) * FRND13) // part of SONAR circuit that relies on subtle part differences + RES(R65, RES_K(10) * FRND14) // part of SONAR circuit that relies on subtle part differences + RES(R66, RES_K(68) * FRND15) // part of SONAR circuit that relies on subtle part differences RES(R67, RES_K(10)) RES(R68, RES_K(82)) RES(R69, RES_K(470)) @@ -240,11 +264,11 @@ NETLIST_START(astrob) RES(R88, RES_K(100)) RES(R89, RES_K(10)) RES(R90, RES_K(100)) - RES(R91, RES_K(100.2)) // part of SONAR circuit that relies on subtle part differences - RES(R92, RES_K(1.52)) // part of SONAR circuit that relies on subtle part differences - RES(R93, RES_K(330.2)) // part of SONAR circuit that relies on subtle part differences - RES(R94, RES_K(10.2)) // part of SONAR circuit that relies on subtle part differences - RES(R95, RES_K(68.2)) // part of SONAR circuit that relies on subtle part differences + RES(R91, RES_K(100) * FRND16) // part of SONAR circuit that relies on subtle part differences + RES(R92, RES_K(1.5) * FRND17) // part of SONAR circuit that relies on subtle part differences + RES(R93, RES_K(330) * FRND18) // part of SONAR circuit that relies on subtle part differences + RES(R94, RES_K(10) * FRND19) // part of SONAR circuit that relies on subtle part differences + RES(R95, RES_K(68) * FRND20) // part of SONAR circuit that relies on subtle part differences RES(R96, RES_K(10)) RES(R97, RES_K(4.7)) RES(R98, RES_M(1)) @@ -464,6 +488,17 @@ NETLIST_START(astrob) Q_2N4403(Q10) TL084_DIP(U1) // Op. Amp. +#if (ENABLE_SONAR_ALT) + // Oscillators are of order 1kHz. No need to to have UGF in MHz range + PARAM(U1.A.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U1.B.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U1.C.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U1.D.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U2.A.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U2.B.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U2.C.MODEL, "TL084(TYPE=3 UGF=10k)") + PARAM(U2.D.MODEL, "TL084(TYPE=3 UGF=10k)") +#endif NET_C(U1.4, I_V12) NET_C(U1.11, I_VM12) @@ -656,6 +691,12 @@ NETLIST_START(astrob) NET_C(C40.2, R93.1, U2.9) NET_C(U2.10, GND) +#if (ENABLE_SONAR_ALT) + OPTIMIZE_FRONTIER(R5.2, RES_K(68), 192) + OPTIMIZE_FRONTIER(R40.2, RES_K(68), 192) + OPTIMIZE_FRONTIER(R95.2, RES_K(68), 192) + OPTIMIZE_FRONTIER(R66.2, RES_K(68), 192) +#endif NET_C(R5.1, R40.1, R114.1, Q3.B, R95.1, R66.1) #endif -- cgit v1.2.3