summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--scripts/src/netlist.lua1
-rw-r--r--src/devices/machine/netlist.cpp9
-rw-r--r--src/lib/netlist/analog/nld_mosfet.cpp4
-rw-r--r--src/lib/netlist/analog/nld_opamps.cpp2
-rw-r--r--src/lib/netlist/analog/nlid_twoterm.h8
-rw-r--r--src/lib/netlist/build/makefile31
-rw-r--r--src/lib/netlist/devices/nlid_proxy.cpp13
-rw-r--r--src/lib/netlist/devices/nlid_system.h2
-rw-r--r--src/lib/netlist/devices/nlid_truthtable.cpp10
-rw-r--r--src/lib/netlist/generated/static_solvers.cpp25299
-rw-r--r--src/lib/netlist/nl_base.cpp30
-rw-r--r--src/lib/netlist/nl_base.h29
-rw-r--r--src/lib/netlist/nl_config.h6
-rw-r--r--src/lib/netlist/nl_factory.cpp2
-rw-r--r--src/lib/netlist/nl_factory.h6
-rw-r--r--src/lib/netlist/nl_parser.cpp6
-rw-r--r--src/lib/netlist/nl_setup.cpp34
-rw-r--r--src/lib/netlist/nl_setup.h4
-rw-r--r--src/lib/netlist/nltypes.h6
-rw-r--r--src/lib/netlist/plib/gmres.h26
-rw-r--r--src/lib/netlist/plib/mat_cr.h12
-rw-r--r--src/lib/netlist/plib/palloc.h424
-rw-r--r--src/lib/netlist/plib/parray.h39
-rw-r--r--src/lib/netlist/plib/pchrono.h7
-rw-r--r--src/lib/netlist/plib/pconfig.h17
-rw-r--r--src/lib/netlist/plib/pdynlib.h1
-rw-r--r--src/lib/netlist/plib/penum.h5
-rw-r--r--src/lib/netlist/plib/pexception.cpp2
-rw-r--r--src/lib/netlist/plib/pfmtlog.cpp4
-rw-r--r--src/lib/netlist/plib/pfmtlog.h6
-rw-r--r--src/lib/netlist/plib/pfunction.cpp50
-rw-r--r--src/lib/netlist/plib/pgsl.h105
-rw-r--r--src/lib/netlist/plib/plists.h8
-rw-r--r--src/lib/netlist/plib/pmain.cpp8
-rw-r--r--src/lib/netlist/plib/pmath.h4
-rwxr-xr-x[-rw-r--r--]src/lib/netlist/plib/pmatrix2d.h160
-rw-r--r--src/lib/netlist/plib/pmempool.h65
-rw-r--r--src/lib/netlist/plib/poptions.cpp17
-rw-r--r--src/lib/netlist/plib/poptions.h2
-rw-r--r--src/lib/netlist/plib/ppmf.h33
-rw-r--r--src/lib/netlist/plib/ppreprocessor.cpp6
-rw-r--r--src/lib/netlist/plib/ppreprocessor.h4
-rw-r--r--src/lib/netlist/plib/prandom.h11
-rw-r--r--src/lib/netlist/plib/pstonum.h13
-rw-r--r--src/lib/netlist/plib/pstream.h10
-rw-r--r--src/lib/netlist/plib/pstring.cpp6
-rw-r--r--src/lib/netlist/plib/pstrutil.h7
-rw-r--r--src/lib/netlist/plib/ptimed_queue.h2
-rw-r--r--src/lib/netlist/plib/ptypes.h6
-rw-r--r--src/lib/netlist/plib/putil.cpp20
-rw-r--r--src/lib/netlist/plib/putil.h10
-rw-r--r--src/lib/netlist/prg/nltool.cpp35
-rwxr-xr-xsrc/lib/netlist/prg/nlwav.cpp12
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver.cpp33
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver.h315
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver_ext.h288
-rw-r--r--src/lib/netlist/solver/nld_ms_direct.h4
-rw-r--r--src/lib/netlist/solver/nld_ms_direct1.h1
-rw-r--r--src/lib/netlist/solver/nld_ms_direct2.h1
-rw-r--r--src/lib/netlist/solver/nld_ms_gcr.h66
-rw-r--r--src/lib/netlist/solver/nld_ms_gmres.h1
-rw-r--r--src/lib/netlist/solver/nld_ms_sm.h1
-rw-r--r--src/lib/netlist/solver/nld_ms_sor.h19
-rw-r--r--src/lib/netlist/solver/nld_ms_sor_mat.h3
-rw-r--r--src/lib/netlist/solver/nld_ms_w.h3
-rw-r--r--src/lib/netlist/solver/nld_solver.cpp31
-rw-r--r--src/lib/netlist/solver/nld_solver.h2
-rw-r--r--src/lib/netlist/tools/nl_convert.cpp15
68 files changed, 16464 insertions, 10958 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index b260e8e3dec..a2a309d4a18 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -53,6 +53,7 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/plib/pconfig.h",
MAME_DIR .. "src/lib/netlist/plib/palloc.h",
MAME_DIR .. "src/lib/netlist/plib/pchrono.h",
+ MAME_DIR .. "src/lib/netlist/plib/pgsl.h",
MAME_DIR .. "src/lib/netlist/plib/penum.h",
MAME_DIR .. "src/lib/netlist/plib/pexception.cpp",
MAME_DIR .. "src/lib/netlist/plib/pexception.h",
diff --git a/src/devices/machine/netlist.cpp b/src/devices/machine/netlist.cpp
index a47d453762d..1dd17acd8b1 100644
--- a/src/devices/machine/netlist.cpp
+++ b/src/devices/machine/netlist.cpp
@@ -127,7 +127,7 @@ protected:
netlist::host_arena::unique_ptr<plib::dynlib_base> static_solver_lib() const noexcept override
{
//return plib::make_unique<plib::dynlib_static>(nullptr);
- return netlist::host_arena::make_unique<plib::dynlib_static>(nl_static_solver_syms);
+ return plib::make_unique<plib::dynlib_static, netlist::host_arena>(nl_static_solver_syms);
}
private:
@@ -169,7 +169,7 @@ protected:
netlist::host_arena::unique_ptr<plib::dynlib_base> static_solver_lib() const noexcept override
{
- return netlist::host_arena::make_unique<plib::dynlib_static>(nullptr);
+ return plib::make_unique<plib::dynlib_static, netlist::host_arena>(nullptr);
}
private:
@@ -181,7 +181,7 @@ class netlist_mame_device::netlist_mame_t : public netlist::netlist_state_t
public:
netlist_mame_t(netlist_mame_device &parent, const pstring &name)
- : netlist::netlist_state_t(name, netlist::host_arena::make_unique<netlist_mame_device::netlist_mame_callbacks_t>(parent))
+ : netlist::netlist_state_t(name, plib::make_unique<netlist_mame_device::netlist_mame_callbacks_t, netlist::host_arena>(parent))
, m_parent(parent)
{
}
@@ -978,7 +978,8 @@ netlist::host_arena::unique_ptr<netlist::netlist_state_t> netlist_mame_device::b
{
try
{
- auto lnetlist = netlist::host_arena::make_unique<netlist::netlist_state_t>("netlist", netlist::host_arena::make_unique<netlist_validate_callbacks_t>());
+ auto lnetlist = plib::make_unique<netlist::netlist_state_t, netlist::host_arena>("netlist",
+ plib::make_unique<netlist_validate_callbacks_t, netlist::host_arena>());
// enable validation mode
lnetlist->set_extended_validation(true);
common_dev_start(lnetlist.get());
diff --git a/src/lib/netlist/analog/nld_mosfet.cpp b/src/lib/netlist/analog/nld_mosfet.cpp
index b285f099adb..846ba8f3ba1 100644
--- a/src/lib/netlist/analog/nld_mosfet.cpp
+++ b/src/lib/netlist/analog/nld_mosfet.cpp
@@ -415,8 +415,8 @@ namespace analog
else
{
// linear
- const auto Sqr1(static_cast<nl_fptype>(plib::pow(Vdsat - Vds, 2)));
- const auto Sqr2(static_cast<nl_fptype>(plib::pow(nlconst::two() * Vdsat - Vds, 2)));
+ const auto Sqr1(plib::narrow_cast<nl_fptype>(plib::pow(Vdsat - Vds, 2)));
+ const auto Sqr2(plib::narrow_cast<nl_fptype>(plib::pow(nlconst::two() * Vdsat - Vds, 2)));
Cgb = 0;
Cgs = m_CoxWL * (nlconst::one() - Sqr1 / Sqr2) * nlconst::two_thirds();
Cgd = m_CoxWL * (nlconst::one() - Vdsat * Vdsat / Sqr2) * nlconst::two_thirds();
diff --git a/src/lib/netlist/analog/nld_opamps.cpp b/src/lib/netlist/analog/nld_opamps.cpp
index 1890ba85826..7b5db6b2fb6 100644
--- a/src/lib/netlist/analog/nld_opamps.cpp
+++ b/src/lib/netlist/analog/nld_opamps.cpp
@@ -115,7 +115,7 @@ namespace netlist
, m_VL(*this, "VL")
, m_VREF(*this, "VREF")
{
- m_type = static_cast<int>(m_modacc.m_TYPE);
+ m_type = plib::narrow_cast<int>(m_modacc.m_TYPE);
if (m_type < 1 || m_type > 3)
{
log().fatal(MF_OPAMP_UNKNOWN_TYPE(m_type));
diff --git a/src/lib/netlist/analog/nlid_twoterm.h b/src/lib/netlist/analog/nlid_twoterm.h
index 87411ee8109..de2a69a23f7 100644
--- a/src/lib/netlist/analog/nlid_twoterm.h
+++ b/src/lib/netlist/analog/nlid_twoterm.h
@@ -561,11 +561,11 @@ namespace analog
{
register_subalias("P", P());
register_subalias("N", N());
- if (m_func() != "")
+ if (!m_func().empty())
m_compiled->compile(m_func(), std::vector<pstring>({{pstring("T")}}));
}
- NETLIB_IS_TIMESTEP(m_func() != "")
+ NETLIB_IS_TIMESTEP(!m_func().empty())
NETLIB_TIMESTEPI()
{
@@ -609,11 +609,11 @@ namespace analog
{
register_subalias("P", P());
register_subalias("N", N());
- if (m_func() != "")
+ if (!m_func().empty())
m_compiled->compile(m_func(), std::vector<pstring>({{pstring("T")}}));
}
- NETLIB_IS_TIMESTEP(m_func() != "")
+ NETLIB_IS_TIMESTEP(!m_func().empty())
NETLIB_TIMESTEPI()
{
m_t += step;
diff --git a/src/lib/netlist/build/makefile b/src/lib/netlist/build/makefile
index 5f5352d0c69..1d442953fb6 100644
--- a/src/lib/netlist/build/makefile
+++ b/src/lib/netlist/build/makefile
@@ -25,11 +25,13 @@ VSBUILD = $(SRC)/buildVS
DOC = $(SRC)/documentation
TIDY_FLAGSX = -checks=*,-google*,-hicpp*,readability*,-fuchsia*,cert-*,-android-*,
-TIDY_FLAGSX += -llvm-header-guard,-cppcoreguidelines-pro-type-reinterpret-cast,
+TIDY_FLAGSX += -llvm-header-guard,
+# TIDY_FLAGSX += -cppcoreguidelines-pro-type-reinterpret-cast,
TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-pointer-arithmetic,
#TIDY_FLAGSX += -cppcoreguidelines-owning-memory,
TIDY_FLAGSX += -modernize-use-default-member-init,-cppcoreguidelines-pro-bounds-constant-array-index,
-TIDY_FLAGSX += -modernize-pass-by-value,-cppcoreguidelines-pro-type-static-cast-downcast,
+TIDY_FLAGSX += -modernize-pass-by-value,
+#TIDY_FLAGSX += -cppcoreguidelines-pro-type-static-cast-downcast,
TIDY_FLAGSX += -cppcoreguidelines-avoid-magic-numbers,
TIDY_FLAGSX += -cppcoreguidelines-macro-usage,
TIDY_FLAGSX += -cppcoreguidelines-non-private-member-variables-in-classes,-misc-non-private-member-variables-in-classes,
@@ -37,7 +39,7 @@ TIDY_FLAGSX += -bugprone-macro-parentheses,
#TIDY_FLAGSX += -misc-macro-parentheses,
TIDY_FLAGSX += -bugprone-too-small-loop-variable,
TIDY_FLAGSX += -modernize-use-trailing-return-type,
-TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
+#TIDY_FLAGSX += -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
TIDY_FLAGSX += -readability-magic-numbers,-readability-braces-around-statements,
TIDY_FLAGSX += -readability-implicit-bool-conversion,
TIDY_FLAGSX += -readability-named-parameter,-readability-function-size,
@@ -85,7 +87,7 @@ CC = g++
LD = @g++
MD = @mkdir
RM = @rm
-CLANG_TIDY = clang-tidy-10
+CLANG_TIDY = clang-tidy-11
DEPENDCC=$(CC)
@@ -132,6 +134,8 @@ POBJS := \
PMAIN := $(POBJ)/pmain.o
NLOBJS := \
+ $(NLOBJ)/solver/nld_solver.o \
+ $(NLOBJ)/solver/nld_matrix_solver.o \
$(NLOBJ)/nl_base.o \
$(NLOBJ)/nl_parser.o \
$(NLOBJ)/nl_setup.o \
@@ -142,8 +146,6 @@ NLOBJS := \
$(NLOBJ)/analog/nld_switches.o \
$(NLOBJ)/analog/nlid_twoterm.o \
$(NLOBJ)/analog/nld_opamps.o \
- $(NLOBJ)/solver/nld_solver.o \
- $(NLOBJ)/solver/nld_matrix_solver.o \
$(NLOBJ)/tools/nl_convert.o \
$(NLOBJ)/generated/static_solvers.o \
$(NLOBJ)/devices/nld_2102A.o \
@@ -287,27 +289,32 @@ native:
$(MAKE) CEXTRAFLAGS="-march=native -msse4.2 -Wall -Wpedantic -Wsign-compare -Wextra "
gcc9:
- $(MAKE) CC=g++-9 LD=g++-9 CEXTRAFLAGS="-march=native -fext-numeric-literals -Wall -pedantic -Wpedantic -Wsign-compare -Wextra" EXTRALIBS="-lquadmath"
+ $(MAKE) CC=g++-9 LD=g++-9 CEXTRAFLAGS="-march=native -Wall -pedantic -Wpedantic -fext-numeric-literals -Wsign-compare -Wextra" EXTRALIBS="-lquadmath"
clang:
#$(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang CEXTRAFLAGS="-march=native -msse4.2 -Weverything -Wall -pedantic -Wpedantic -Wunused-private-field -Wno-padded -Wno-unused-template -Wno-missing-variable-declarations -Wno-float-equal -Wconversion -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral -Wno-exit-time-destructors"
$(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang CEXTRAFLAGS="-march=native \
-mllvm -inline-threshold=2000 \
+ -Wunknown-warning-option \
-Weverything -Wall -pedantic -Wpedantic -Wunused-private-field \
-Werror -Wno-padded -Wno-weak-vtables -Wno-weak-template-vtables -Wno-unused-template \
- -Wno-missing-variable-declarations -Wno-float-equal -Wconversion \
+ -Wmissing-variable-declarations -Wno-float-equal -Wconversion \
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral \
- -Wno-exit-time-destructors -Winconsistent-missing-destructor-override"
+ -Wno-exit-time-destructors -Winconsistent-missing-destructor-override \
+ -Wno-return-std-move-in-c++11 -Wno-unreachable-code"
clang-libc:
+ #clang-11 currently broken
#$(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang CEXTRAFLAGS="-march=native -msse4.2 -Weverything -Wall -pedantic -Wpedantic -Wunused-private-field -Wno-padded -Wno-unused-template -Wno-missing-variable-declarations -Wno-float-equal -Wconversion -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral -Wno-exit-time-destructors"
- $(MAKE) CC=clang++-11 LD=clang++-11 OBJ=obj/clang-libc CEXTRAFLAGS="-march=native \
+ $(MAKE) CC=clang++-10 LD=clang++-10 OBJ=obj/clang-libc CEXTRAFLAGS="-march=native \
-stdlib=libc++ -mllvm -inline-threshold=2000 \
+ -Wunknown-warning-option \
-Weverything -Wall -pedantic -Wpedantic -Wunused-private-field \
-Werror -Wno-padded -Wno-weak-vtables -Wno-weak-template-vtables -Wno-unused-template \
- -Wno-missing-variable-declarations -Wno-float-equal -Wconversion \
+ -Wmissing-variable-declarations -Wno-float-equal -Wconversion \
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-format-nonliteral \
- -Wno-exit-time-destructors -Winconsistent-missing-destructor-override" \
+ -Wno-exit-time-destructors -Winconsistent-missing-destructor-override \
+ -Wno-return-std-move-in-c++11 -Wno-unreachable-code"
LDEXTRAFLAGS=-stdlib=libc++
clang-5:
diff --git a/src/lib/netlist/devices/nlid_proxy.cpp b/src/lib/netlist/devices/nlid_proxy.cpp
index d804988c6fd..585637fb5f9 100644
--- a/src/lib/netlist/devices/nlid_proxy.cpp
+++ b/src/lib/netlist/devices/nlid_proxy.cpp
@@ -9,6 +9,8 @@
#include "nl_errstr.h"
#include "solver/nld_solver.h"
+#include <array>
+
namespace netlist
{
namespace devices
@@ -18,6 +20,8 @@ namespace netlist
// nld_base_proxy
// -----------------------------------------------------------------------------
+ static const std::array<std::pair<const char *, const char *>, 3> power_syms = {{ {"VCC", "VEE"}, {"VCC", "GND"}, {"VDD", "VSS"}}};
+
nld_base_proxy::nld_base_proxy(netlist_state_t &anetlist, const pstring &name,
const logic_t *inout_proxied)
: device_t(anetlist, name, inout_proxied->logic_family())
@@ -29,16 +33,15 @@ namespace netlist
throw nl_exception(MF_NULLPTR_FAMILY_NP("nld_base_proxy"));
}
- const std::vector<std::pair<pstring, pstring>> power_syms = { {"VCC", "VEE"}, {"VCC", "GND"}, {"VDD", "VSS"}};
bool f = false;
for (const auto & pwr_sym : power_syms)
{
pstring devname = inout_proxied->device().name();
- auto *tp_ct(anetlist.setup().find_terminal(devname + "." + pwr_sym.first,
+ auto *tp_ct(anetlist.setup().find_terminal(devname + "." + pstring(pwr_sym.first),
/*detail::terminal_type::INPUT,*/ false));
- auto *tp_cn(anetlist.setup().find_terminal(devname + "." + pwr_sym.second,
+ auto *tp_cn(anetlist.setup().find_terminal(devname + "." + pstring(pwr_sym.second),
/*detail::terminal_type::INPUT,*/ false));
if ((tp_ct != nullptr) && (tp_cn != nullptr))
{
@@ -47,8 +50,8 @@ namespace netlist
if (!tp_cn->is_analog())
throw nl_exception(plib::pfmt("Not an analog terminal: {1}")(tp_cn->name()));
- auto *tp_t = static_cast<analog_t* >(tp_ct);
- auto *tn_t = static_cast<analog_t *>(tp_cn);
+ auto *tp_t = dynamic_cast<analog_t* >(tp_ct);
+ auto *tn_t = dynamic_cast<analog_t *>(tp_cn);
if (f && (tp_t != nullptr && tn_t != nullptr))
log().warning(MI_MULTIPLE_POWER_TERMINALS_ON_DEVICE(inout_proxied->device().name(),
m_tp->name(), m_tn->name(),
diff --git a/src/lib/netlist/devices/nlid_system.h b/src/lib/netlist/devices/nlid_system.h
index fc1bfefd84b..31a31c62d88 100644
--- a/src/lib/netlist/devices/nlid_system.h
+++ b/src/lib/netlist/devices/nlid_system.h
@@ -93,7 +93,7 @@ namespace devices
, m_compiled(*this, "m_compiled")
, m_funcparam({nlconst::zero()})
{
- if (m_func() != "")
+ if (!m_func().empty())
m_compiled->compile(m_func(), std::vector<pstring>({{pstring("T")}}));
connect(m_feedback, m_Q);
}
diff --git a/src/lib/netlist/devices/nlid_truthtable.cpp b/src/lib/netlist/devices/nlid_truthtable.cpp
index 1718f53560d..a1bcc26d035 100644
--- a/src/lib/netlist/devices/nlid_truthtable.cpp
+++ b/src/lib/netlist/devices/nlid_truthtable.cpp
@@ -440,7 +440,7 @@ namespace devices
if (!m_ttbl)
{
- m_ttbl = pool.make_unique<typename nld_truthtable_t<m_NI, m_NO>::truthtable_t>();
+ m_ttbl = plib::make_unique<typename nld_truthtable_t<m_NI, m_NO>::truthtable_t>(pool);
truthtable_parser desc_s(m_NO, m_NI,
packed_int(m_ttbl->m_out_state.data(), sizeof(m_ttbl->m_out_state[0]) * 8),
m_ttbl->m_timing_index.data(), m_ttbl->m_timing_nt.data());
@@ -448,7 +448,7 @@ namespace devices
desc_s.parse(m_desc);
}
- return pool.make_unique<tt_type>(anetlist, name, m_family_name, *m_ttbl, m_desc);
+ return plib::make_unique<tt_type>(pool, anetlist, name, m_family_name, *m_ttbl, m_desc);
}
private:
device_arena::unique_ptr<typename nld_truthtable_t<m_NI, m_NO>::truthtable_t> m_ttbl;
@@ -578,7 +578,7 @@ void truthtable_parser::parse(const std::vector<pstring> &truthtable)
for (int j=0; j < 16; j++)
m_timing_nt[j] = netlist_time::zero();
- while (!(ttline == ""))
+ while (!ttline.empty())
{
std::vector<pstring> io(plib::psplit(ttline,"|"));
// checks
@@ -670,7 +670,7 @@ namespace factory
#define ENTRYY(n, m, s) case (n * 100 + m): \
{ using xtype = devices::netlist_factory_truthtable_t<n, m>; \
auto cs=s; \
- ret = host_arena::make_unique<xtype>(desc.name, std::move(cs)); } \
+ ret = plib::make_unique<xtype, host_arena>(desc.name, std::move(cs)); } \
break
#define ENTRY(n, s) ENTRYY(n, 1, s); ENTRYY(n, 2, s); ENTRYY(n, 3, s); \
@@ -700,7 +700,7 @@ namespace factory
nl_assert_always(false, msg.c_str());
}
ret->m_desc = desc.desc;
- ret->m_family_name = (desc.family != "" ? desc.family : pstring(config::DEFAULT_LOGIC_FAMILY()));
+ ret->m_family_name = (!desc.family.empty() ? desc.family : pstring(config::DEFAULT_LOGIC_FAMILY()));
return ret;
}
diff --git a/src/lib/netlist/generated/static_solvers.cpp b/src/lib/netlist/generated/static_solvers.cpp
index 98987a2b086..54f87598b0d 100644
--- a/src/lib/netlist/generated/static_solvers.cpp
+++ b/src/lib/netlist/generated/static_solvers.cpp
@@ -1,420 +1,2437 @@
#include "plib/pdynlib.h"
-// gamemachine
-static void nl_gcr_111d6ad4781c136_19_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// konami1x
+static void nl_gcr_105d3ecb773843b6_49_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A8 = gt[32] + gt[33] + gt[34];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A10 = gt[40] + gt[41] + gt[42];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[41] * *cnV[41] - go[42] * *cnV[42];
- m_A18 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54];
- m_A17 = m_A17 + go[48];
- m_A16 = m_A16 + go[49];
- m_A15 = m_A15 + go[50];
- m_A14 = m_A14 + go[51];
- m_A13 = m_A13 + go[52];
- m_A12 = m_A12 + go[53];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[54] * *cnV[54];
-const double f0 = 1.0 / m_A0;
- const double f0_6 = -f0 * m_A12;
- m_A18 += m_A1 * f0_6;
- RHS6 += f0_6 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_6 = -f1 * m_A13;
- m_A18 += m_A3 * f1_6;
- RHS6 += f1_6 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_6 = -f2 * m_A14;
- m_A18 += m_A5 * f2_6;
- RHS6 += f2_6 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_6 = -f3 * m_A15;
- m_A18 += m_A7 * f3_6;
- RHS6 += f3_6 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_6 = -f4 * m_A16;
- m_A18 += m_A9 * f4_6;
- RHS6 += f4_6 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_6 = -f5 * m_A17;
- m_A18 += m_A11 * f5_6;
- RHS6 += f5_6 * RHS5;
- V[6] = RHS6 / m_A18;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A5 += go[4];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A7 += go[6];
+ double RHS3 = Idr[6];
+ RHS3 += Idr[7];
+ RHS3 -= go[7] * *cnV[7];
+ m_A8 += gt[8];
+ m_A8 += gt[9];
+ m_A9 += go[8];
+ double RHS4 = Idr[8];
+ RHS4 += Idr[9];
+ RHS4 -= go[9] * *cnV[9];
+ m_A10 += gt[10];
+ m_A10 += gt[11];
+ m_A11 += go[10];
+ double RHS5 = Idr[10];
+ RHS5 += Idr[11];
+ RHS5 -= go[11] * *cnV[11];
+ m_A12 += gt[12];
+ m_A12 += gt[13];
+ m_A13 += go[12];
+ double RHS6 = Idr[12];
+ RHS6 += Idr[13];
+ RHS6 -= go[13] * *cnV[13];
+ m_A14 += gt[14];
+ m_A14 += gt[15];
+ m_A15 += go[14];
+ double RHS7 = Idr[14];
+ RHS7 += Idr[15];
+ RHS7 -= go[15] * *cnV[15];
+ m_A16 += gt[16];
+ m_A16 += gt[17];
+ m_A16 += gt[18];
+ m_A16 += gt[19];
+ m_A16 += gt[20];
+ m_A16 += gt[21];
+ m_A16 += gt[22];
+ m_A17 += go[16];
+ double RHS8 = Idr[16];
+ RHS8 += Idr[17];
+ RHS8 += Idr[18];
+ RHS8 += Idr[19];
+ RHS8 += Idr[20];
+ RHS8 += Idr[21];
+ RHS8 += Idr[22];
+ RHS8 -= go[17] * *cnV[17];
+ RHS8 -= go[18] * *cnV[18];
+ RHS8 -= go[19] * *cnV[19];
+ RHS8 -= go[20] * *cnV[20];
+ RHS8 -= go[21] * *cnV[21];
+ RHS8 -= go[22] * *cnV[22];
+ m_A18 += gt[23];
+ m_A18 += gt[24];
+ m_A19 += go[23];
+ double RHS9 = Idr[23];
+ RHS9 += Idr[24];
+ RHS9 -= go[24] * *cnV[24];
+ m_A20 += gt[25];
+ m_A20 += gt[26];
+ m_A21 += go[25];
+ double RHS10 = Idr[25];
+ RHS10 += Idr[26];
+ RHS10 -= go[26] * *cnV[26];
+ m_A25 += gt[27];
+ m_A25 += gt[28];
+ m_A25 += gt[29];
+ m_A25 += gt[30];
+ m_A26 += go[27];
+ m_A24 += go[28];
+ m_A23 += go[29];
+ m_A22 += go[30];
+ double RHS11 = Idr[27];
+ RHS11 += Idr[28];
+ RHS11 += Idr[29];
+ RHS11 += Idr[30];
+ m_A30 += gt[31];
+ m_A30 += gt[32];
+ m_A30 += gt[33];
+ m_A30 += gt[34];
+ m_A31 += go[31];
+ m_A29 += go[32];
+ m_A28 += go[33];
+ m_A27 += go[34];
+ double RHS12 = Idr[31];
+ RHS12 += Idr[32];
+ RHS12 += Idr[33];
+ RHS12 += Idr[34];
+ m_A35 += gt[35];
+ m_A35 += gt[36];
+ m_A35 += gt[37];
+ m_A35 += gt[38];
+ m_A36 += go[35];
+ m_A34 += go[36];
+ m_A33 += go[37];
+ m_A32 += go[38];
+ double RHS13 = Idr[35];
+ RHS13 += Idr[36];
+ RHS13 += Idr[37];
+ RHS13 += Idr[38];
+ m_A38 += gt[39];
+ m_A38 += gt[40];
+ m_A38 += gt[41];
+ m_A37 += go[39];
+ m_A39 += go[40];
+ double RHS14 = Idr[39];
+ RHS14 += Idr[40];
+ RHS14 += Idr[41];
+ RHS14 -= go[41] * *cnV[41];
+ m_A43 += gt[42];
+ m_A43 += gt[43];
+ m_A43 += gt[44];
+ m_A43 += gt[45];
+ m_A43 += gt[46];
+ m_A44 += go[42];
+ m_A42 += go[43];
+ m_A41 += go[44];
+ m_A40 += go[45];
+ double RHS15 = Idr[42];
+ RHS15 += Idr[43];
+ RHS15 += Idr[44];
+ RHS15 += Idr[45];
+ RHS15 += Idr[46];
+ RHS15 -= go[46] * *cnV[46];
+ m_A48 += gt[47];
+ m_A48 += gt[48];
+ m_A48 += gt[49];
+ m_A48 += gt[50];
+ m_A48 += gt[51];
+ m_A45 += go[47];
+ m_A46 += go[48];
+ m_A47 += go[49];
+ double RHS16 = Idr[47];
+ RHS16 += Idr[48];
+ RHS16 += Idr[49];
+ RHS16 += Idr[50];
+ RHS16 += Idr[51];
+ RHS16 -= go[50] * *cnV[50];
+ RHS16 -= go[51] * *cnV[51];
+ const double f0 = 1.0 / m_A0;
+ const double f0_11 = -f0 * m_A22;
+ m_A25 += m_A1 * f0_11;
+ RHS11 += f0_11 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_11 = -f1 * m_A23;
+ m_A25 += m_A3 * f1_11;
+ RHS11 += f1_11 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_11 = -f2 * m_A24;
+ m_A25 += m_A5 * f2_11;
+ RHS11 += f2_11 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_12 = -f3 * m_A27;
+ m_A30 += m_A7 * f3_12;
+ RHS12 += f3_12 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_12 = -f4 * m_A28;
+ m_A30 += m_A9 * f4_12;
+ RHS12 += f4_12 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_12 = -f5 * m_A29;
+ m_A30 += m_A11 * f5_12;
+ RHS12 += f5_12 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_13 = -f6 * m_A32;
+ m_A35 += m_A13 * f6_13;
+ RHS13 += f6_13 * RHS6;
+ const double f7 = 1.0 / m_A14;
+ const double f7_13 = -f7 * m_A33;
+ m_A35 += m_A15 * f7_13;
+ RHS13 += f7_13 * RHS7;
+ const double f8 = 1.0 / m_A16;
+ const double f8_16 = -f8 * m_A45;
+ m_A47 += m_A17 * f8_16;
+ RHS16 += f8_16 * RHS8;
+ const double f9 = 1.0 / m_A18;
+ const double f9_13 = -f9 * m_A34;
+ m_A35 += m_A19 * f9_13;
+ RHS13 += f9_13 * RHS9;
+ const double f10 = 1.0 / m_A20;
+ const double f10_14 = -f10 * m_A37;
+ m_A38 += m_A21 * f10_14;
+ RHS14 += f10_14 * RHS10;
+ const double f11 = 1.0 / m_A25;
+ const double f11_15 = -f11 * m_A40;
+ m_A43 += m_A26 * f11_15;
+ RHS15 += f11_15 * RHS11;
+ const double f12 = 1.0 / m_A30;
+ const double f12_15 = -f12 * m_A41;
+ m_A43 += m_A31 * f12_15;
+ RHS15 += f12_15 * RHS12;
+ const double f13 = 1.0 / m_A35;
+ const double f13_15 = -f13 * m_A42;
+ m_A43 += m_A36 * f13_15;
+ RHS15 += f13_15 * RHS13;
+ const double f14 = 1.0 / m_A38;
+ const double f14_16 = -f14 * m_A46;
+ m_A48 += m_A39 * f14_16;
+ RHS16 += f14_16 * RHS14;
+ const double f15 = 1.0 / m_A43;
+ const double f15_16 = -f15 * m_A47;
+ m_A48 += m_A44 * f15_16;
+ RHS16 += f15_16 * RHS15;
+ V[16] = RHS16 / m_A48;
+ double tmp15 = 0.0;
+ tmp15 += m_A44 * V[16];
+ V[15] = (RHS15 - tmp15) / m_A43;
+ double tmp14 = 0.0;
+ tmp14 += m_A39 * V[16];
+ V[14] = (RHS14 - tmp14) / m_A38;
+ double tmp13 = 0.0;
+ tmp13 += m_A36 * V[15];
+ V[13] = (RHS13 - tmp13) / m_A35;
+ double tmp12 = 0.0;
+ tmp12 += m_A31 * V[15];
+ V[12] = (RHS12 - tmp12) / m_A30;
+ double tmp11 = 0.0;
+ tmp11 += m_A26 * V[15];
+ V[11] = (RHS11 - tmp11) / m_A25;
+ double tmp10 = 0.0;
+ tmp10 += m_A21 * V[14];
+ V[10] = (RHS10 - tmp10) / m_A20;
+ double tmp9 = 0.0;
+ tmp9 += m_A19 * V[13];
+ V[9] = (RHS9 - tmp9) / m_A18;
+ double tmp8 = 0.0;
+ tmp8 += m_A17 * V[15];
+ V[8] = (RHS8 - tmp8) / m_A16;
+ double tmp7 = 0.0;
+ tmp7 += m_A15 * V[13];
+ V[7] = (RHS7 - tmp7) / m_A14;
+ double tmp6 = 0.0;
+ tmp6 += m_A13 * V[13];
+ V[6] = (RHS6 - tmp6) / m_A12;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[6];
+ tmp5 += m_A11 * V[12];
V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[6];
+ tmp4 += m_A9 * V[12];
V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[6];
+ tmp3 += m_A7 * V[12];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[6];
+ tmp2 += m_A5 * V[11];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[6];
+ tmp1 += m_A3 * V[11];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[6];
+ tmp0 += m_A1 * V[11];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// breakout
+static void nl_gcr_15a4e7fbe5facb3a_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A5 += go[6];
+ m_A4 += go[7];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A6 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A5;
+ m_A6 += m_A3 * f1_2;
+ RHS2 += f1_2 * RHS1;
+ V[2] = RHS2 / m_A6;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[2];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[2];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// breakout
+static void nl_gcr_1993cb957e80c097_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[4];
+ double RHS1 = Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 -= go[7] * *cnV[7];
+ m_A9 += gt[8];
+ m_A9 += gt[9];
+ m_A9 += gt[10];
+ m_A8 += go[8];
+ m_A7 += go[9];
+ m_A6 += go[10];
+ double RHS3 = Idr[8];
+ RHS3 += Idr[9];
+ RHS3 += Idr[10];
+ const double f0 = 1.0 / m_A0;
+ const double f0_3 = -f0 * m_A6;
+ m_A9 += m_A1 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_3 = -f1 * m_A7;
+ m_A9 += m_A3 * f1_3;
+ RHS3 += f1_3 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_3 = -f2 * m_A8;
+ m_A9 += m_A5 * f2_3;
+ RHS3 += f2_3 * RHS2;
+ V[3] = RHS3 / m_A9;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[3];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[3];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[3];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// kidniki
+static void nl_gcr_1cbd5d704f6e93c1_67_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A5 += go[4];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A7 += go[6];
+ double RHS3 = Idr[6];
+ RHS3 += Idr[7];
+ RHS3 -= go[7] * *cnV[7];
+ m_A8 += gt[8];
+ m_A8 += gt[9];
+ m_A9 += go[8];
+ double RHS4 = Idr[8];
+ RHS4 += Idr[9];
+ RHS4 -= go[9] * *cnV[9];
+ m_A10 += gt[10];
+ m_A10 += gt[11];
+ m_A11 += go[10];
+ double RHS5 = Idr[10];
+ RHS5 += Idr[11];
+ RHS5 -= go[11] * *cnV[11];
+ m_A12 += gt[12];
+ m_A12 += gt[13];
+ m_A12 += gt[14];
+ m_A12 += gt[15];
+ m_A12 += gt[16];
+ m_A12 += gt[17];
+ m_A12 += gt[18];
+ m_A12 += gt[19];
+ m_A14 += go[12];
+ m_A15 += go[13];
+ m_A17 += go[14];
+ m_A18 += go[15];
+ m_A16 += go[16];
+ m_A13 += go[17];
+ double RHS6 = Idr[12];
+ RHS6 += Idr[13];
+ RHS6 += Idr[14];
+ RHS6 += Idr[15];
+ RHS6 += Idr[16];
+ RHS6 += Idr[17];
+ RHS6 += Idr[18];
+ RHS6 += Idr[19];
+ RHS6 -= go[18] * *cnV[18];
+ RHS6 -= go[19] * *cnV[19];
+ m_A21 += gt[20];
+ m_A21 += gt[21];
+ m_A21 += gt[22];
+ m_A21 += gt[23];
+ m_A20 += go[20];
+ m_A19 += go[21];
+ double RHS7 = Idr[20];
+ RHS7 += Idr[21];
+ RHS7 += Idr[22];
+ RHS7 += Idr[23];
+ RHS7 -= go[22] * *cnV[22];
+ RHS7 -= go[23] * *cnV[23];
+ m_A30 += gt[24];
+ m_A30 += gt[25];
+ m_A30 += gt[26];
+ m_A30 += gt[27];
+ m_A28 += go[24];
+ m_A27 += go[25];
+ double RHS8 = Idr[24];
+ RHS8 += Idr[25];
+ RHS8 += Idr[26];
+ RHS8 += Idr[27];
+ RHS8 -= go[26] * *cnV[26];
+ RHS8 -= go[27] * *cnV[27];
+ m_A39 += gt[28];
+ m_A39 += gt[29];
+ m_A39 += gt[30];
+ m_A39 += gt[31];
+ m_A36 += go[28];
+ m_A35 += go[29];
+ double RHS9 = Idr[28];
+ RHS9 += Idr[29];
+ RHS9 += Idr[30];
+ RHS9 += Idr[31];
+ RHS9 -= go[30] * *cnV[30];
+ RHS9 -= go[31] * *cnV[31];
+ m_A48 += gt[32];
+ m_A48 += gt[33];
+ m_A48 += gt[34];
+ m_A48 += gt[35];
+ m_A44 += go[32];
+ m_A43 += go[33];
+ double RHS10 = Idr[32];
+ RHS10 += Idr[33];
+ RHS10 += Idr[34];
+ RHS10 += Idr[35];
+ RHS10 -= go[34] * *cnV[34];
+ RHS10 -= go[35] * *cnV[35];
+ m_A57 += gt[36];
+ m_A57 += gt[37];
+ m_A57 += gt[38];
+ m_A57 += gt[39];
+ m_A52 += go[36];
+ m_A51 += go[37];
+ double RHS11 = Idr[36];
+ RHS11 += Idr[37];
+ RHS11 += Idr[38];
+ RHS11 += Idr[39];
+ RHS11 -= go[38] * *cnV[38];
+ RHS11 -= go[39] * *cnV[39];
+ m_A66 += gt[40];
+ m_A66 += gt[41];
+ m_A66 += gt[42];
+ m_A66 += gt[43];
+ m_A60 += go[40];
+ m_A59 += go[41];
+ double RHS12 = Idr[40];
+ RHS12 += Idr[41];
+ RHS12 += Idr[42];
+ RHS12 += Idr[43];
+ RHS12 -= go[42] * *cnV[42];
+ RHS12 -= go[43] * *cnV[43];
+ const double f0 = 1.0 / m_A0;
+ const double f0_7 = -f0 * m_A19;
+ m_A21 += m_A1 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_10 = -f1 * m_A43;
+ m_A48 += m_A3 * f1_10;
+ RHS10 += f1_10 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_12 = -f2 * m_A59;
+ m_A66 += m_A5 * f2_12;
+ RHS12 += f2_12 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_11 = -f3 * m_A51;
+ m_A57 += m_A7 * f3_11;
+ RHS11 += f3_11 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_9 = -f4 * m_A35;
+ m_A39 += m_A9 * f4_9;
+ RHS9 += f4_9 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_8 = -f5 * m_A27;
+ m_A30 += m_A11 * f5_8;
+ RHS8 += f5_8 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_7 = -f6 * m_A20;
+ m_A21 += m_A13 * f6_7;
+ m_A22 += m_A14 * f6_7;
+ m_A23 += m_A15 * f6_7;
+ m_A24 += m_A16 * f6_7;
+ m_A25 += m_A17 * f6_7;
+ m_A26 += m_A18 * f6_7;
+ RHS7 += f6_7 * RHS6;
+ const double f6_8 = -f6 * m_A28;
+ m_A29 += m_A13 * f6_8;
+ m_A30 += m_A14 * f6_8;
+ m_A31 += m_A15 * f6_8;
+ m_A32 += m_A16 * f6_8;
+ m_A33 += m_A17 * f6_8;
+ m_A34 += m_A18 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f6_9 = -f6 * m_A36;
+ m_A37 += m_A13 * f6_9;
+ m_A38 += m_A14 * f6_9;
+ m_A39 += m_A15 * f6_9;
+ m_A40 += m_A16 * f6_9;
+ m_A41 += m_A17 * f6_9;
+ m_A42 += m_A18 * f6_9;
+ RHS9 += f6_9 * RHS6;
+ const double f6_10 = -f6 * m_A44;
+ m_A45 += m_A13 * f6_10;
+ m_A46 += m_A14 * f6_10;
+ m_A47 += m_A15 * f6_10;
+ m_A48 += m_A16 * f6_10;
+ m_A49 += m_A17 * f6_10;
+ m_A50 += m_A18 * f6_10;
+ RHS10 += f6_10 * RHS6;
+ const double f6_11 = -f6 * m_A52;
+ m_A53 += m_A13 * f6_11;
+ m_A54 += m_A14 * f6_11;
+ m_A55 += m_A15 * f6_11;
+ m_A56 += m_A16 * f6_11;
+ m_A57 += m_A17 * f6_11;
+ m_A58 += m_A18 * f6_11;
+ RHS11 += f6_11 * RHS6;
+ const double f6_12 = -f6 * m_A60;
+ m_A61 += m_A13 * f6_12;
+ m_A62 += m_A14 * f6_12;
+ m_A63 += m_A15 * f6_12;
+ m_A64 += m_A16 * f6_12;
+ m_A65 += m_A17 * f6_12;
+ m_A66 += m_A18 * f6_12;
+ RHS12 += f6_12 * RHS6;
+ const double f7 = 1.0 / m_A21;
+ const double f7_8 = -f7 * m_A29;
+ m_A30 += m_A22 * f7_8;
+ m_A31 += m_A23 * f7_8;
+ m_A32 += m_A24 * f7_8;
+ m_A33 += m_A25 * f7_8;
+ m_A34 += m_A26 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ const double f7_9 = -f7 * m_A37;
+ m_A38 += m_A22 * f7_9;
+ m_A39 += m_A23 * f7_9;
+ m_A40 += m_A24 * f7_9;
+ m_A41 += m_A25 * f7_9;
+ m_A42 += m_A26 * f7_9;
+ RHS9 += f7_9 * RHS7;
+ const double f7_10 = -f7 * m_A45;
+ m_A46 += m_A22 * f7_10;
+ m_A47 += m_A23 * f7_10;
+ m_A48 += m_A24 * f7_10;
+ m_A49 += m_A25 * f7_10;
+ m_A50 += m_A26 * f7_10;
+ RHS10 += f7_10 * RHS7;
+ const double f7_11 = -f7 * m_A53;
+ m_A54 += m_A22 * f7_11;
+ m_A55 += m_A23 * f7_11;
+ m_A56 += m_A24 * f7_11;
+ m_A57 += m_A25 * f7_11;
+ m_A58 += m_A26 * f7_11;
+ RHS11 += f7_11 * RHS7;
+ const double f7_12 = -f7 * m_A61;
+ m_A62 += m_A22 * f7_12;
+ m_A63 += m_A23 * f7_12;
+ m_A64 += m_A24 * f7_12;
+ m_A65 += m_A25 * f7_12;
+ m_A66 += m_A26 * f7_12;
+ RHS12 += f7_12 * RHS7;
+ const double f8 = 1.0 / m_A30;
+ const double f8_9 = -f8 * m_A38;
+ m_A39 += m_A31 * f8_9;
+ m_A40 += m_A32 * f8_9;
+ m_A41 += m_A33 * f8_9;
+ m_A42 += m_A34 * f8_9;
+ RHS9 += f8_9 * RHS8;
+ const double f8_10 = -f8 * m_A46;
+ m_A47 += m_A31 * f8_10;
+ m_A48 += m_A32 * f8_10;
+ m_A49 += m_A33 * f8_10;
+ m_A50 += m_A34 * f8_10;
+ RHS10 += f8_10 * RHS8;
+ const double f8_11 = -f8 * m_A54;
+ m_A55 += m_A31 * f8_11;
+ m_A56 += m_A32 * f8_11;
+ m_A57 += m_A33 * f8_11;
+ m_A58 += m_A34 * f8_11;
+ RHS11 += f8_11 * RHS8;
+ const double f8_12 = -f8 * m_A62;
+ m_A63 += m_A31 * f8_12;
+ m_A64 += m_A32 * f8_12;
+ m_A65 += m_A33 * f8_12;
+ m_A66 += m_A34 * f8_12;
+ RHS12 += f8_12 * RHS8;
+ const double f9 = 1.0 / m_A39;
+ const double f9_10 = -f9 * m_A47;
+ m_A48 += m_A40 * f9_10;
+ m_A49 += m_A41 * f9_10;
+ m_A50 += m_A42 * f9_10;
+ RHS10 += f9_10 * RHS9;
+ const double f9_11 = -f9 * m_A55;
+ m_A56 += m_A40 * f9_11;
+ m_A57 += m_A41 * f9_11;
+ m_A58 += m_A42 * f9_11;
+ RHS11 += f9_11 * RHS9;
+ const double f9_12 = -f9 * m_A63;
+ m_A64 += m_A40 * f9_12;
+ m_A65 += m_A41 * f9_12;
+ m_A66 += m_A42 * f9_12;
+ RHS12 += f9_12 * RHS9;
+ const double f10 = 1.0 / m_A48;
+ const double f10_11 = -f10 * m_A56;
+ m_A57 += m_A49 * f10_11;
+ m_A58 += m_A50 * f10_11;
+ RHS11 += f10_11 * RHS10;
+ const double f10_12 = -f10 * m_A64;
+ m_A65 += m_A49 * f10_12;
+ m_A66 += m_A50 * f10_12;
+ RHS12 += f10_12 * RHS10;
+ const double f11 = 1.0 / m_A57;
+ const double f11_12 = -f11 * m_A65;
+ m_A66 += m_A58 * f11_12;
+ RHS12 += f11_12 * RHS11;
+ V[12] = RHS12 / m_A66;
+ double tmp11 = 0.0;
+ tmp11 += m_A58 * V[12];
+ V[11] = (RHS11 - tmp11) / m_A57;
+ double tmp10 = 0.0;
+ tmp10 += m_A49 * V[11];
+ tmp10 += m_A50 * V[12];
+ V[10] = (RHS10 - tmp10) / m_A48;
+ double tmp9 = 0.0;
+ tmp9 += m_A40 * V[10];
+ tmp9 += m_A41 * V[11];
+ tmp9 += m_A42 * V[12];
+ V[9] = (RHS9 - tmp9) / m_A39;
+ double tmp8 = 0.0;
+ tmp8 += m_A31 * V[9];
+ tmp8 += m_A32 * V[10];
+ tmp8 += m_A33 * V[11];
+ tmp8 += m_A34 * V[12];
+ V[8] = (RHS8 - tmp8) / m_A30;
+ double tmp7 = 0.0;
+ tmp7 += m_A22 * V[8];
+ tmp7 += m_A23 * V[9];
+ tmp7 += m_A24 * V[10];
+ tmp7 += m_A25 * V[11];
+ tmp7 += m_A26 * V[12];
+ V[7] = (RHS7 - tmp7) / m_A21;
+ double tmp6 = 0.0;
+ tmp6 += m_A13 * V[7];
+ tmp6 += m_A14 * V[8];
+ tmp6 += m_A15 * V[9];
+ tmp6 += m_A16 * V[10];
+ tmp6 += m_A17 * V[11];
+ tmp6 += m_A18 * V[12];
+ V[6] = (RHS6 - tmp6) / m_A12;
+ double tmp5 = 0.0;
+ tmp5 += m_A11 * V[8];
+ V[5] = (RHS5 - tmp5) / m_A10;
+ double tmp4 = 0.0;
+ tmp4 += m_A9 * V[9];
+ V[4] = (RHS4 - tmp4) / m_A8;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[11];
+ V[3] = (RHS3 - tmp3) / m_A6;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[12];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[10];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[7];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// 280zzzap
+static void nl_gcr_20d478ed5597161_123_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ double m_A111(0.0);
+ double m_A112(0.0);
+ double m_A113(0.0);
+ double m_A114(0.0);
+ double m_A115(0.0);
+ double m_A116(0.0);
+ double m_A117(0.0);
+ double m_A118(0.0);
+ double m_A119(0.0);
+ double m_A120(0.0);
+ double m_A121(0.0);
+ double m_A122(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A5 += go[5];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 -= go[6] * *cnV[6];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ RHS2 -= go[10] * *cnV[10];
+ RHS2 -= go[11] * *cnV[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A7 += go[12];
+ double RHS3 = Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A8 += gt[17];
+ m_A8 += gt[18];
+ m_A8 += gt[19];
+ m_A8 += gt[20];
+ m_A8 += gt[21];
+ m_A9 += go[15];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 -= go[16] * *cnV[16];
+ RHS4 -= go[17] * *cnV[17];
+ RHS4 -= go[18] * *cnV[18];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ m_A10 += gt[22];
+ m_A10 += gt[23];
+ m_A11 += go[22];
+ double RHS5 = Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[23] * *cnV[23];
+ m_A12 += gt[24];
+ m_A12 += gt[25];
+ m_A14 += go[24];
+ m_A13 += go[25];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ m_A15 += gt[26];
+ m_A15 += gt[27];
+ m_A16 += go[26];
+ double RHS7 = Idr[26];
+ RHS7 += Idr[27];
+ RHS7 -= go[27] * *cnV[27];
+ m_A17 += gt[28];
+ m_A17 += gt[29];
+ m_A18 += go[28];
+ double RHS8 = Idr[28];
+ RHS8 += Idr[29];
+ RHS8 -= go[29] * *cnV[29];
+ m_A19 += gt[30];
+ m_A19 += gt[31];
+ m_A19 += gt[32];
+ m_A19 += gt[33];
+ m_A19 += gt[34];
+ m_A19 += gt[35];
+ m_A19 += gt[36];
+ m_A20 += go[30];
+ double RHS9 = Idr[30];
+ RHS9 += Idr[31];
+ RHS9 += Idr[32];
+ RHS9 += Idr[33];
+ RHS9 += Idr[34];
+ RHS9 += Idr[35];
+ RHS9 += Idr[36];
+ RHS9 -= go[31] * *cnV[31];
+ RHS9 -= go[32] * *cnV[32];
+ RHS9 -= go[33] * *cnV[33];
+ RHS9 -= go[34] * *cnV[34];
+ RHS9 -= go[35] * *cnV[35];
+ RHS9 -= go[36] * *cnV[36];
+ m_A21 += gt[37];
+ m_A21 += gt[38];
+ m_A21 += gt[39];
+ m_A22 += go[37];
+ double RHS10 = Idr[37];
+ RHS10 += Idr[38];
+ RHS10 += Idr[39];
+ RHS10 -= go[38] * *cnV[38];
+ RHS10 -= go[39] * *cnV[39];
+ m_A23 += gt[40];
+ m_A23 += gt[41];
+ m_A23 += gt[42];
+ m_A23 += gt[43];
+ m_A24 += go[40];
+ double RHS11 = Idr[40];
+ RHS11 += Idr[41];
+ RHS11 += Idr[42];
+ RHS11 += Idr[43];
+ RHS11 -= go[41] * *cnV[41];
+ RHS11 -= go[42] * *cnV[42];
+ RHS11 -= go[43] * *cnV[43];
+ m_A25 += gt[44];
+ m_A25 += gt[45];
+ m_A25 += gt[46];
+ m_A25 += gt[47];
+ m_A25 += gt[48];
+ m_A25 += gt[49];
+ m_A25 += gt[50];
+ m_A26 += go[44];
+ double RHS12 = Idr[44];
+ RHS12 += Idr[45];
+ RHS12 += Idr[46];
+ RHS12 += Idr[47];
+ RHS12 += Idr[48];
+ RHS12 += Idr[49];
+ RHS12 += Idr[50];
+ RHS12 -= go[45] * *cnV[45];
+ RHS12 -= go[46] * *cnV[46];
+ RHS12 -= go[47] * *cnV[47];
+ RHS12 -= go[48] * *cnV[48];
+ RHS12 -= go[49] * *cnV[49];
+ RHS12 -= go[50] * *cnV[50];
+ m_A27 += gt[51];
+ m_A27 += gt[52];
+ m_A28 += go[51];
+ double RHS13 = Idr[51];
+ RHS13 += Idr[52];
+ RHS13 -= go[52] * *cnV[52];
+ m_A29 += gt[53];
+ m_A29 += gt[54];
+ m_A30 += go[53];
+ double RHS14 = Idr[53];
+ RHS14 += Idr[54];
+ RHS14 -= go[54] * *cnV[54];
+ m_A31 += gt[55];
+ m_A31 += gt[56];
+ m_A32 += go[55];
+ double RHS15 = Idr[55];
+ RHS15 += Idr[56];
+ RHS15 -= go[56] * *cnV[56];
+ m_A33 += gt[57];
+ m_A33 += gt[58];
+ m_A33 += gt[59];
+ m_A33 += gt[60];
+ m_A35 += go[57];
+ m_A34 += go[58];
+ double RHS16 = Idr[57];
+ RHS16 += Idr[58];
+ RHS16 += Idr[59];
+ RHS16 += Idr[60];
+ RHS16 -= go[59] * *cnV[59];
+ RHS16 -= go[60] * *cnV[60];
+ m_A36 += gt[61];
+ m_A36 += gt[62];
+ m_A36 += gt[63];
+ m_A37 += go[61];
+ double RHS17 = Idr[61];
+ RHS17 += Idr[62];
+ RHS17 += Idr[63];
+ RHS17 -= go[62] * *cnV[62];
+ RHS17 -= go[63] * *cnV[63];
+ m_A38 += gt[64];
+ m_A38 += gt[65];
+ m_A39 += go[64];
+ double RHS18 = Idr[64];
+ RHS18 += Idr[65];
+ RHS18 -= go[65] * *cnV[65];
+ m_A40 += gt[66];
+ m_A40 += gt[67];
+ m_A41 += go[66];
+ double RHS19 = Idr[66];
+ RHS19 += Idr[67];
+ RHS19 -= go[67] * *cnV[67];
+ m_A43 += gt[68];
+ m_A43 += gt[69];
+ m_A43 += gt[70];
+ m_A43 += gt[71];
+ m_A42 += go[68];
+ double RHS20 = Idr[68];
+ RHS20 += Idr[69];
+ RHS20 += Idr[70];
+ RHS20 += Idr[71];
+ RHS20 -= go[69] * *cnV[69];
+ RHS20 -= go[70] * *cnV[70];
+ RHS20 -= go[71] * *cnV[71];
+ m_A47 += gt[72];
+ m_A47 += gt[73];
+ m_A46 += go[72];
+ m_A45 += go[73];
+ double RHS21 = Idr[72];
+ RHS21 += Idr[73];
+ m_A51 += gt[74];
+ m_A51 += gt[75];
+ m_A49 += go[74];
+ double RHS22 = Idr[74];
+ RHS22 += Idr[75];
+ RHS22 -= go[75] * *cnV[75];
+ m_A54 += gt[76];
+ m_A54 += gt[77];
+ m_A54 += gt[78];
+ m_A53 += go[76];
+ m_A52 += go[77];
+ double RHS23 = Idr[76];
+ RHS23 += Idr[77];
+ RHS23 += Idr[78];
+ RHS23 -= go[78] * *cnV[78];
+ m_A56 += gt[79];
+ m_A56 += gt[80];
+ m_A56 += gt[81];
+ m_A56 += gt[82];
+ m_A55 += go[79];
+ m_A57 += go[80];
+ double RHS24 = Idr[79];
+ RHS24 += Idr[80];
+ RHS24 += Idr[81];
+ RHS24 += Idr[82];
+ RHS24 -= go[81] * *cnV[81];
+ RHS24 -= go[82] * *cnV[82];
+ m_A59 += gt[83];
+ m_A59 += gt[84];
+ m_A59 += gt[85];
+ m_A59 += gt[86];
+ m_A58 += go[83];
+ m_A60 += go[84];
+ double RHS25 = Idr[83];
+ RHS25 += Idr[84];
+ RHS25 += Idr[85];
+ RHS25 += Idr[86];
+ RHS25 -= go[85] * *cnV[85];
+ RHS25 -= go[86] * *cnV[86];
+ m_A62 += gt[87];
+ m_A62 += gt[88];
+ m_A63 += go[87];
+ m_A61 += go[88];
+ double RHS26 = Idr[87];
+ RHS26 += Idr[88];
+ m_A67 += gt[89];
+ m_A67 += gt[90];
+ m_A67 += gt[91];
+ m_A67 += gt[92];
+ m_A67 += gt[93];
+ m_A67 += gt[94];
+ m_A64 += go[89];
+ m_A65 += go[90];
+ m_A69 += go[91];
+ m_A68 += go[92];
+ double RHS27 = Idr[89];
+ RHS27 += Idr[90];
+ RHS27 += Idr[91];
+ RHS27 += Idr[92];
+ RHS27 += Idr[93];
+ RHS27 += Idr[94];
+ RHS27 -= go[93] * *cnV[93];
+ RHS27 -= go[94] * *cnV[94];
+ m_A72 += gt[95];
+ m_A72 += gt[96];
+ m_A72 += gt[97];
+ m_A72 += gt[98];
+ m_A71 += go[95];
+ m_A73 += go[96];
+ double RHS28 = Idr[95];
+ RHS28 += Idr[96];
+ RHS28 += Idr[97];
+ RHS28 += Idr[98];
+ RHS28 -= go[97] * *cnV[97];
+ RHS28 -= go[98] * *cnV[98];
+ m_A76 += gt[99];
+ m_A76 += gt[100];
+ m_A76 += gt[101];
+ m_A76 += gt[102];
+ m_A77 += go[99];
+ m_A78 += go[100];
+ m_A74 += go[101];
+ m_A75 += go[102];
+ double RHS29 = Idr[99];
+ RHS29 += Idr[100];
+ RHS29 += Idr[101];
+ RHS29 += Idr[102];
+ m_A81 += gt[103];
+ m_A81 += gt[104];
+ m_A81 += gt[105];
+ m_A80 += go[103];
+ m_A79 += go[104];
+ double RHS30 = Idr[103];
+ RHS30 += Idr[104];
+ RHS30 += Idr[105];
+ RHS30 -= go[105] * *cnV[105];
+ m_A84 += gt[106];
+ m_A84 += gt[107];
+ m_A82 += go[106];
+ m_A83 += go[107];
+ double RHS31 = Idr[106];
+ RHS31 += Idr[107];
+ m_A91 += gt[108];
+ m_A91 += gt[109];
+ m_A91 += gt[110];
+ m_A91 += gt[111];
+ m_A91 += gt[112];
+ m_A86 += go[108];
+ m_A90 += go[109];
+ m_A88 += go[110];
+ m_A85 += go[111];
+ m_A87 += go[112];
+ double RHS32 = Idr[108];
+ RHS32 += Idr[109];
+ RHS32 += Idr[110];
+ RHS32 += Idr[111];
+ RHS32 += Idr[112];
+ m_A99 += gt[113];
+ m_A99 += gt[114];
+ m_A99 += gt[115];
+ m_A99 += gt[116];
+ m_A99 += gt[117];
+ m_A96 += go[113];
+ m_A100 += go[114];
+ m_A97 += go[115];
+ m_A94 += go[116];
+ m_A95 += go[117];
+ double RHS33 = Idr[113];
+ RHS33 += Idr[114];
+ RHS33 += Idr[115];
+ RHS33 += Idr[116];
+ RHS33 += Idr[117];
+ m_A106 += gt[118];
+ m_A106 += gt[119];
+ m_A106 += gt[120];
+ m_A106 += gt[121];
+ m_A103 += go[118];
+ m_A104 += go[119];
+ m_A101 += go[120];
+ m_A102 += go[121];
+ double RHS34 = Idr[118];
+ RHS34 += Idr[119];
+ RHS34 += Idr[120];
+ RHS34 += Idr[121];
+ m_A111 += gt[122];
+ m_A111 += gt[123];
+ m_A111 += gt[124];
+ m_A111 += gt[125];
+ m_A108 += go[122];
+ m_A109 += go[123];
+ double RHS35 = Idr[122];
+ RHS35 += Idr[123];
+ RHS35 += Idr[124];
+ RHS35 += Idr[125];
+ RHS35 -= go[124] * *cnV[124];
+ RHS35 -= go[125] * *cnV[125];
+ m_A122 += gt[126];
+ m_A122 += gt[127];
+ m_A122 += gt[128];
+ m_A122 += gt[129];
+ m_A122 += gt[130];
+ m_A122 += gt[131];
+ m_A113 += go[126];
+ m_A117 += go[127];
+ m_A120 += go[128];
+ m_A114 += go[129];
+ double RHS36 = Idr[126];
+ RHS36 += Idr[127];
+ RHS36 += Idr[128];
+ RHS36 += Idr[129];
+ RHS36 += Idr[130];
+ RHS36 += Idr[131];
+ RHS36 -= go[130] * *cnV[130];
+ RHS36 -= go[131] * *cnV[131];
+ const double f0 = 1.0 / m_A0;
+ const double f0_24 = -f0 * m_A55;
+ m_A57 += m_A1 * f0_24;
+ RHS24 += f0_24 * RHS0;
+ const double f0_32 = -f0 * m_A85;
+ m_A91 += m_A1 * f0_32;
+ RHS32 += f0_32 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_32 = -f1 * m_A86;
+ m_A91 += m_A3 * f1_32;
+ RHS32 += f1_32 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_27 = -f2 * m_A64;
+ m_A66 += m_A5 * f2_27;
+ RHS27 += f2_27 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_25 = -f3 * m_A58;
+ m_A60 += m_A7 * f3_25;
+ RHS25 += f3_25 * RHS3;
+ const double f3_34 = -f3 * m_A101;
+ m_A106 += m_A7 * f3_34;
+ RHS34 += f3_34 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_20 = -f4 * m_A42;
+ m_A44 += m_A9 * f4_20;
+ RHS20 += f4_20 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_21 = -f5 * m_A45;
+ m_A47 += m_A11 * f5_21;
+ RHS21 += f5_21 * RHS5;
+ const double f5_32 = -f5 * m_A87;
+ m_A88 += m_A11 * f5_32;
+ RHS32 += f5_32 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_21 = -f6 * m_A46;
+ m_A47 += m_A13 * f6_21;
+ m_A48 += m_A14 * f6_21;
+ RHS21 += f6_21 * RHS6;
+ const double f6_22 = -f6 * m_A49;
+ m_A50 += m_A13 * f6_22;
+ m_A51 += m_A14 * f6_22;
+ RHS22 += f6_22 * RHS6;
+ const double f7 = 1.0 / m_A15;
+ const double f7_23 = -f7 * m_A52;
+ m_A54 += m_A16 * f7_23;
+ RHS23 += f7_23 * RHS7;
+ const double f7_34 = -f7 * m_A102;
+ m_A103 += m_A16 * f7_34;
+ RHS34 += f7_34 * RHS7;
+ const double f8 = 1.0 / m_A17;
+ const double f8_23 = -f8 * m_A53;
+ m_A54 += m_A18 * f8_23;
+ RHS23 += f8_23 * RHS8;
+ const double f9 = 1.0 / m_A19;
+ const double f9_36 = -f9 * m_A113;
+ m_A116 += m_A20 * f9_36;
+ RHS36 += f9_36 * RHS9;
+ const double f10 = 1.0 / m_A21;
+ const double f10_28 = -f10 * m_A71;
+ m_A73 += m_A22 * f10_28;
+ RHS28 += f10_28 * RHS10;
+ const double f10_33 = -f10 * m_A94;
+ m_A99 += m_A22 * f10_33;
+ RHS33 += f10_33 * RHS10;
+ const double f13 = 1.0 / m_A27;
+ const double f13_26 = -f13 * m_A61;
+ m_A62 += m_A28 * f13_26;
+ RHS26 += f13_26 * RHS13;
+ const double f13_33 = -f13 * m_A95;
+ m_A97 += m_A28 * f13_33;
+ RHS33 += f13_33 * RHS13;
+ const double f14 = 1.0 / m_A29;
+ const double f14_33 = -f14 * m_A96;
+ m_A99 += m_A30 * f14_33;
+ RHS33 += f14_33 * RHS14;
+ const double f15 = 1.0 / m_A31;
+ const double f15_31 = -f15 * m_A82;
+ m_A84 += m_A32 * f15_31;
+ RHS31 += f15_31 * RHS15;
+ const double f16 = 1.0 / m_A33;
+ const double f16_27 = -f16 * m_A65;
+ m_A67 += m_A34 * f16_27;
+ m_A70 += m_A35 * f16_27;
+ RHS27 += f16_27 * RHS16;
+ const double f16_36 = -f16 * m_A114;
+ m_A115 += m_A34 * f16_36;
+ m_A122 += m_A35 * f16_36;
+ RHS36 += f16_36 * RHS16;
+ const double f17 = 1.0 / m_A36;
+ const double f17_29 = -f17 * m_A74;
+ m_A76 += m_A37 * f17_29;
+ RHS29 += f17_29 * RHS17;
+ const double f17_35 = -f17 * m_A108;
+ m_A109 += m_A37 * f17_35;
+ RHS35 += f17_35 * RHS17;
+ const double f18 = 1.0 / m_A38;
+ const double f18_29 = -f18 * m_A75;
+ m_A77 += m_A39 * f18_29;
+ RHS29 += f18_29 * RHS18;
+ const double f18_30 = -f18 * m_A79;
+ m_A81 += m_A39 * f18_30;
+ RHS30 += f18_30 * RHS18;
+ const double f19 = 1.0 / m_A40;
+ const double f19_30 = -f19 * m_A80;
+ m_A81 += m_A41 * f19_30;
+ RHS30 += f19_30 * RHS19;
+ const double f21 = 1.0 / m_A47;
+ const double f21_22 = -f21 * m_A50;
+ m_A51 += m_A48 * f21_22;
+ RHS22 += f21_22 * RHS21;
+ const double f21_32 = -f21 * m_A88;
+ m_A89 += m_A48 * f21_32;
+ RHS32 += f21_32 * RHS21;
+ const double f22 = 1.0 / m_A51;
+ const double f22_32 = -f22 * m_A89;
+ RHS32 += f22_32 * RHS22;
+ const double f23 = 1.0 / m_A54;
+ const double f23_34 = -f23 * m_A103;
+ RHS34 += f23_34 * RHS23;
+ const double f24 = 1.0 / m_A56;
+ const double f24_27 = -f24 * m_A66;
+ m_A68 += m_A57 * f24_27;
+ RHS27 += f24_27 * RHS24;
+ const double f26 = 1.0 / m_A62;
+ const double f26_31 = -f26 * m_A83;
+ m_A84 += m_A63 * f26_31;
+ RHS31 += f26_31 * RHS26;
+ const double f26_33 = -f26 * m_A97;
+ m_A98 += m_A63 * f26_33;
+ RHS33 += f26_33 * RHS26;
+ const double f27 = 1.0 / m_A67;
+ const double f27_32 = -f27 * m_A90;
+ m_A91 += m_A68 * f27_32;
+ m_A92 += m_A69 * f27_32;
+ m_A93 += m_A70 * f27_32;
+ RHS32 += f27_32 * RHS27;
+ const double f27_34 = -f27 * m_A104;
+ m_A105 += m_A68 * f27_34;
+ m_A106 += m_A69 * f27_34;
+ m_A107 += m_A70 * f27_34;
+ RHS34 += f27_34 * RHS27;
+ const double f27_36 = -f27 * m_A115;
+ m_A119 += m_A68 * f27_36;
+ m_A121 += m_A69 * f27_36;
+ m_A122 += m_A70 * f27_36;
+ RHS36 += f27_36 * RHS27;
+ const double f28 = 1.0 / m_A72;
+ const double f28_36 = -f28 * m_A116;
+ m_A120 += m_A73 * f28_36;
+ RHS36 += f28_36 * RHS28;
+ const double f29 = 1.0 / m_A76;
+ const double f29_35 = -f29 * m_A109;
+ m_A110 += m_A77 * f29_35;
+ m_A112 += m_A78 * f29_35;
+ RHS35 += f29_35 * RHS29;
+ const double f29_36 = -f29 * m_A117;
+ m_A118 += m_A77 * f29_36;
+ m_A122 += m_A78 * f29_36;
+ RHS36 += f29_36 * RHS29;
+ const double f30 = 1.0 / m_A81;
+ const double f30_35 = -f30 * m_A110;
+ RHS35 += f30_35 * RHS30;
+ const double f30_36 = -f30 * m_A118;
+ RHS36 += f30_36 * RHS30;
+ const double f31 = 1.0 / m_A84;
+ const double f31_33 = -f31 * m_A98;
+ RHS33 += f31_33 * RHS31;
+ const double f32 = 1.0 / m_A91;
+ const double f32_34 = -f32 * m_A105;
+ m_A106 += m_A92 * f32_34;
+ m_A107 += m_A93 * f32_34;
+ RHS34 += f32_34 * RHS32;
+ const double f32_36 = -f32 * m_A119;
+ m_A121 += m_A92 * f32_36;
+ m_A122 += m_A93 * f32_36;
+ RHS36 += f32_36 * RHS32;
+ const double f33 = 1.0 / m_A99;
+ const double f33_36 = -f33 * m_A120;
+ m_A122 += m_A100 * f33_36;
+ RHS36 += f33_36 * RHS33;
+ const double f34 = 1.0 / m_A106;
+ const double f34_36 = -f34 * m_A121;
+ m_A122 += m_A107 * f34_36;
+ RHS36 += f34_36 * RHS34;
+ V[36] = RHS36 / m_A122;
+ double tmp35 = 0.0;
+ tmp35 += m_A112 * V[36];
+ V[35] = (RHS35 - tmp35) / m_A111;
+ double tmp34 = 0.0;
+ tmp34 += m_A107 * V[36];
+ V[34] = (RHS34 - tmp34) / m_A106;
+ double tmp33 = 0.0;
+ tmp33 += m_A100 * V[36];
+ V[33] = (RHS33 - tmp33) / m_A99;
+ double tmp32 = 0.0;
+ tmp32 += m_A92 * V[34];
+ tmp32 += m_A93 * V[36];
+ V[32] = (RHS32 - tmp32) / m_A91;
+ double tmp31 = 0.0;
+ V[31] = (RHS31 - tmp31) / m_A84;
+ double tmp30 = 0.0;
+ V[30] = (RHS30 - tmp30) / m_A81;
+ double tmp29 = 0.0;
+ tmp29 += m_A77 * V[30];
+ tmp29 += m_A78 * V[36];
+ V[29] = (RHS29 - tmp29) / m_A76;
+ double tmp28 = 0.0;
+ tmp28 += m_A73 * V[33];
+ V[28] = (RHS28 - tmp28) / m_A72;
+ double tmp27 = 0.0;
+ tmp27 += m_A68 * V[32];
+ tmp27 += m_A69 * V[34];
+ tmp27 += m_A70 * V[36];
+ V[27] = (RHS27 - tmp27) / m_A67;
+ double tmp26 = 0.0;
+ tmp26 += m_A63 * V[31];
+ V[26] = (RHS26 - tmp26) / m_A62;
+ double tmp25 = 0.0;
+ tmp25 += m_A60 * V[34];
+ V[25] = (RHS25 - tmp25) / m_A59;
+ double tmp24 = 0.0;
+ tmp24 += m_A57 * V[32];
+ V[24] = (RHS24 - tmp24) / m_A56;
+ double tmp23 = 0.0;
+ V[23] = (RHS23 - tmp23) / m_A54;
+ double tmp22 = 0.0;
+ V[22] = (RHS22 - tmp22) / m_A51;
+ double tmp21 = 0.0;
+ tmp21 += m_A48 * V[22];
+ V[21] = (RHS21 - tmp21) / m_A47;
+ double tmp20 = 0.0;
+ tmp20 += m_A44 * V[25];
+ V[20] = (RHS20 - tmp20) / m_A43;
+ double tmp19 = 0.0;
+ tmp19 += m_A41 * V[30];
+ V[19] = (RHS19 - tmp19) / m_A40;
+ double tmp18 = 0.0;
+ tmp18 += m_A39 * V[30];
+ V[18] = (RHS18 - tmp18) / m_A38;
+ double tmp17 = 0.0;
+ tmp17 += m_A37 * V[29];
+ V[17] = (RHS17 - tmp17) / m_A36;
+ double tmp16 = 0.0;
+ tmp16 += m_A34 * V[27];
+ tmp16 += m_A35 * V[36];
+ V[16] = (RHS16 - tmp16) / m_A33;
+ double tmp15 = 0.0;
+ tmp15 += m_A32 * V[31];
+ V[15] = (RHS15 - tmp15) / m_A31;
+ double tmp14 = 0.0;
+ tmp14 += m_A30 * V[33];
+ V[14] = (RHS14 - tmp14) / m_A29;
+ double tmp13 = 0.0;
+ tmp13 += m_A28 * V[26];
+ V[13] = (RHS13 - tmp13) / m_A27;
+ double tmp12 = 0.0;
+ tmp12 += m_A26 * V[35];
+ V[12] = (RHS12 - tmp12) / m_A25;
+ double tmp11 = 0.0;
+ tmp11 += m_A24 * V[12];
+ V[11] = (RHS11 - tmp11) / m_A23;
+ double tmp10 = 0.0;
+ tmp10 += m_A22 * V[33];
+ V[10] = (RHS10 - tmp10) / m_A21;
+ double tmp9 = 0.0;
+ tmp9 += m_A20 * V[28];
+ V[9] = (RHS9 - tmp9) / m_A19;
+ double tmp8 = 0.0;
+ tmp8 += m_A18 * V[23];
+ V[8] = (RHS8 - tmp8) / m_A17;
+ double tmp7 = 0.0;
+ tmp7 += m_A16 * V[23];
+ V[7] = (RHS7 - tmp7) / m_A15;
+ double tmp6 = 0.0;
+ tmp6 += m_A13 * V[21];
+ tmp6 += m_A14 * V[22];
+ V[6] = (RHS6 - tmp6) / m_A12;
+ double tmp5 = 0.0;
+ tmp5 += m_A11 * V[21];
+ V[5] = (RHS5 - tmp5) / m_A10;
+ double tmp4 = 0.0;
+ tmp4 += m_A9 * V[25];
+ V[4] = (RHS4 - tmp4) / m_A8;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[34];
+ V[3] = (RHS3 - tmp3) / m_A6;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[24];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[32];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[32];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// stuntcyc
+static void nl_gcr_251e2a2e2c8d5b33_20_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A2 += gt[7];
+ m_A3 += go[5];
+ double RHS1 = Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A4 += gt[12];
+ m_A6 += go[8];
+ m_A5 += go[9];
+ double RHS2 = Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 -= go[10] * *cnV[10];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A8 += gt[17];
+ m_A8 += gt[18];
+ m_A8 += gt[19];
+ m_A10 += go[13];
+ m_A9 += go[14];
+ m_A7 += go[15];
+ double RHS3 = Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ RHS3 += Idr[16];
+ RHS3 += Idr[17];
+ RHS3 += Idr[18];
+ RHS3 += Idr[19];
+ RHS3 -= go[16] * *cnV[16];
+ RHS3 -= go[17] * *cnV[17];
+ RHS3 -= go[18] * *cnV[18];
+ RHS3 -= go[19] * *cnV[19];
+ m_A14 += gt[20];
+ m_A14 += gt[21];
+ m_A14 += gt[22];
+ m_A14 += gt[23];
+ m_A12 += go[20];
+ m_A11 += go[21];
+ m_A13 += go[22];
+ double RHS4 = Idr[20];
+ RHS4 += Idr[21];
+ RHS4 += Idr[22];
+ RHS4 += Idr[23];
+ RHS4 -= go[23] * *cnV[23];
+ m_A19 += gt[24];
+ m_A19 += gt[25];
+ m_A19 += gt[26];
+ m_A16 += go[24];
+ m_A17 += go[25];
+ double RHS5 = Idr[24];
+ RHS5 += Idr[25];
+ RHS5 += Idr[26];
+ RHS5 -= go[26] * *cnV[26];
+ const double f0 = 1.0 / m_A0;
+ const double f0_3 = -f0 * m_A7;
+ m_A8 += m_A1 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A11;
+ m_A14 += m_A3 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_4 = -f2 * m_A12;
+ m_A14 += m_A5 * f2_4;
+ m_A15 += m_A6 * f2_4;
+ RHS4 += f2_4 * RHS2;
+ const double f2_5 = -f2 * m_A16;
+ m_A18 += m_A5 * f2_5;
+ m_A19 += m_A6 * f2_5;
+ RHS5 += f2_5 * RHS2;
+ const double f3 = 1.0 / m_A8;
+ const double f3_4 = -f3 * m_A13;
+ m_A14 += m_A9 * f3_4;
+ m_A15 += m_A10 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ const double f3_5 = -f3 * m_A17;
+ m_A18 += m_A9 * f3_5;
+ m_A19 += m_A10 * f3_5;
+ RHS5 += f3_5 * RHS3;
+ const double f4 = 1.0 / m_A14;
+ const double f4_5 = -f4 * m_A18;
+ m_A19 += m_A15 * f4_5;
+ RHS5 += f4_5 * RHS4;
+ V[5] = RHS5 / m_A19;
+ double tmp4 = 0.0;
+ tmp4 += m_A15 * V[5];
+ V[4] = (RHS4 - tmp4) / m_A14;
+ double tmp3 = 0.0;
+ tmp3 += m_A9 * V[4];
+ tmp3 += m_A10 * V[5];
+ V[3] = (RHS3 - tmp3) / m_A8;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[4];
+ tmp2 += m_A6 * V[5];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[4];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[3];
V[0] = (RHS0 - tmp0) / m_A0;
}
// cheekyms
-static void nl_gcr_11995a0d28843023_150_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_278f0b40e27b21fc_150_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
-double m_A111(0.0);
-double m_A112(0.0);
-double m_A113(0.0);
-double m_A114(0.0);
-double m_A115(0.0);
-double m_A116(0.0);
-double m_A117(0.0);
-double m_A118(0.0);
-double m_A119(0.0);
-double m_A120(0.0);
-double m_A121(0.0);
-double m_A122(0.0);
-double m_A123(0.0);
-double m_A124(0.0);
-double m_A125(0.0);
-double m_A126(0.0);
-double m_A127(0.0);
-double m_A128(0.0);
-double m_A129(0.0);
-double m_A130(0.0);
-double m_A131(0.0);
-double m_A132(0.0);
-double m_A133(0.0);
-double m_A134(0.0);
-double m_A135(0.0);
-double m_A136(0.0);
-double m_A137(0.0);
-double m_A138(0.0);
-double m_A139(0.0);
-double m_A140(0.0);
-double m_A141(0.0);
-double m_A142(0.0);
-double m_A143(0.0);
-double m_A144(0.0);
-double m_A145(0.0);
-double m_A146(0.0);
-double m_A147(0.0);
-double m_A148(0.0);
-double m_A149(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[12] + gt[13] + gt[14];
- m_A3 = m_A3 + go[12];
- double RHS1 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A4 = gt[24] + gt[25] + gt[26];
- m_A6 = m_A6 + go[24];
- m_A5 = m_A5 + go[25];
- double RHS2 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26];
- m_A7 = gt[36] + gt[37] + gt[38] + gt[39] + gt[40];
- m_A10 = m_A10 + go[36];
- m_A9 = m_A9 + go[37];
- m_A8 = m_A8 + go[38];
- double RHS3 = Idr[36] + Idr[37] + Idr[38] + Idr[39] + Idr[40] - go[39] * *cnV[39] - go[40] * *cnV[40];
- m_A11 = gt[48] + gt[49] + gt[50];
- m_A12 = m_A12 + go[48];
- double RHS4 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50];
- m_A13 = gt[60] + gt[61] + gt[62] + gt[63] + gt[64] + gt[65] + gt[66];
- m_A15 = m_A15 + go[60];
- m_A14 = m_A14 + go[61];
- double RHS5 = Idr[60] + Idr[61] + Idr[62] + Idr[63] + Idr[64] + Idr[65] + Idr[66] - go[62] * *cnV[62] - go[63] * *cnV[63] - go[64] * *cnV[64] - go[65] * *cnV[65] - go[66] * *cnV[66];
- m_A16 = gt[72] + gt[73] + gt[74];
- m_A17 = m_A17 + go[72];
- double RHS6 = Idr[72] + Idr[73] + Idr[74] - go[73] * *cnV[73] - go[74] * *cnV[74];
- m_A18 = gt[84] + gt[85];
- m_A19 = m_A19 + go[84];
- double RHS7 = Idr[84] + Idr[85] - go[85] * *cnV[85];
- m_A20 = gt[96] + gt[97] + gt[98];
- m_A21 = m_A21 + go[96];
- m_A23 = m_A23 + go[97];
- m_A22 = m_A22 + go[98];
- double RHS8 = Idr[96] + Idr[97] + Idr[98];
- m_A24 = gt[108] + gt[109] + gt[110];
- m_A25 = m_A25 + go[108];
- double RHS9 = Idr[108] + Idr[109] + Idr[110] - go[109] * *cnV[109] - go[110] * *cnV[110];
- m_A26 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A27 = m_A27 + go[120];
- m_A28 = m_A28 + go[121];
- double RHS10 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123];
- m_A29 = gt[132] + gt[133];
- m_A30 = m_A30 + go[132];
- double RHS11 = Idr[132] + Idr[133] - go[133] * *cnV[133];
- m_A31 = gt[144] + gt[145] + gt[146] + gt[147];
- m_A32 = m_A32 + go[144];
- m_A33 = m_A33 + go[145];
- double RHS12 = Idr[144] + Idr[145] + Idr[146] + Idr[147] - go[146] * *cnV[146] - go[147] * *cnV[147];
- m_A34 = gt[156] + gt[157] + gt[158];
- m_A36 = m_A36 + go[156];
- m_A35 = m_A35 + go[157];
- double RHS13 = Idr[156] + Idr[157] + Idr[158] - go[158] * *cnV[158];
- m_A37 = gt[168] + gt[169];
- m_A38 = m_A38 + go[168];
- double RHS14 = Idr[168] + Idr[169] - go[169] * *cnV[169];
- m_A39 = gt[180] + gt[181];
- m_A40 = m_A40 + go[180];
- double RHS15 = Idr[180] + Idr[181] - go[181] * *cnV[181];
- m_A41 = gt[192] + gt[193];
- m_A42 = m_A42 + go[192];
- double RHS16 = Idr[192] + Idr[193] - go[193] * *cnV[193];
- m_A43 = gt[204] + gt[205] + gt[206] + gt[207] + gt[208];
- m_A44 = m_A44 + go[204];
- m_A46 = m_A46 + go[205];
- m_A45 = m_A45 + go[206];
- double RHS17 = Idr[204] + Idr[205] + Idr[206] + Idr[207] + Idr[208] - go[207] * *cnV[207] - go[208] * *cnV[208];
- m_A47 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220];
- m_A48 = m_A48 + go[216];
- m_A50 = m_A50 + go[217];
- m_A49 = m_A49 + go[218];
- double RHS18 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] - go[219] * *cnV[219] - go[220] * *cnV[220];
- m_A51 = gt[228] + gt[229];
- m_A52 = m_A52 + go[228];
- double RHS19 = Idr[228] + Idr[229] - go[229] * *cnV[229];
- m_A55 = gt[240] + gt[241];
- m_A54 = m_A54 + go[240];
- m_A53 = m_A53 + go[241];
- double RHS20 = Idr[240] + Idr[241];
- m_A60 = gt[252] + gt[253] + gt[254];
- m_A58 = m_A58 + go[252];
- m_A57 = m_A57 + go[253];
- double RHS21 = Idr[252] + Idr[253] + Idr[254] - go[254] * *cnV[254];
- m_A63 = gt[264] + gt[265];
- m_A64 = m_A64 + go[264];
- double RHS22 = Idr[264] + Idr[265] - go[265] * *cnV[265];
- m_A65 = gt[276] + gt[277] + gt[278];
- m_A66 = m_A66 + go[276];
- double RHS23 = Idr[276] + Idr[277] + Idr[278] - go[277] * *cnV[277] - go[278] * *cnV[278];
- m_A69 = gt[288] + gt[289] + gt[290];
- m_A67 = m_A67 + go[288];
- m_A68 = m_A68 + go[289];
- double RHS24 = Idr[288] + Idr[289] + Idr[290] - go[290] * *cnV[290];
- m_A76 = gt[300] + gt[301];
- m_A73 = m_A73 + go[300];
- m_A72 = m_A72 + go[301];
- double RHS25 = Idr[300] + Idr[301];
- m_A81 = gt[312] + gt[313];
- m_A80 = m_A80 + go[312];
- m_A79 = m_A79 + go[313];
- double RHS26 = Idr[312] + Idr[313];
- m_A84 = gt[324] + gt[325] + gt[326];
- m_A85 = m_A85 + go[324];
- m_A83 = m_A83 + go[325];
- double RHS27 = Idr[324] + Idr[325] + Idr[326] - go[326] * *cnV[326];
- m_A88 = gt[336] + gt[337];
- m_A87 = m_A87 + go[336];
- m_A86 = m_A86 + go[337];
- double RHS28 = Idr[336] + Idr[337];
- m_A95 = gt[348] + gt[349] + gt[350] + gt[351] + gt[352];
- m_A90 = m_A90 + go[348];
- m_A92 = m_A92 + go[349];
- m_A91 = m_A91 + go[350];
- double RHS29 = Idr[348] + Idr[349] + Idr[350] + Idr[351] + Idr[352] - go[351] * *cnV[351] - go[352] * *cnV[352];
- m_A100 = gt[360] + gt[361] + gt[362] + gt[363] + gt[364] + gt[365] + gt[366];
- m_A98 = m_A98 + go[360];
- m_A101 = m_A101 + go[361];
- double RHS30 = Idr[360] + Idr[361] + Idr[362] + Idr[363] + Idr[364] + Idr[365] + Idr[366] - go[362] * *cnV[362] - go[363] * *cnV[363] - go[364] * *cnV[364] - go[365] * *cnV[365] - go[366] * *cnV[366];
- m_A103 = gt[372] + gt[373] + gt[374] + gt[375] + gt[376] + gt[377];
- m_A104 = m_A104 + go[372];
- m_A104 = m_A104 + go[373];
- m_A102 = m_A102 + go[374];
- double RHS31 = Idr[372] + Idr[373] + Idr[374] + Idr[375] + Idr[376] + Idr[377] - go[375] * *cnV[375] - go[376] * *cnV[376] - go[377] * *cnV[377];
- m_A110 = gt[384] + gt[385] + gt[386];
- m_A106 = m_A106 + go[384];
- m_A107 = m_A107 + go[385];
- m_A105 = m_A105 + go[386];
- double RHS32 = Idr[384] + Idr[385] + Idr[386];
- m_A114 = gt[396] + gt[397] + gt[398] + gt[399] + gt[400] + gt[401] + gt[402];
- m_A112 = m_A112 + go[396];
- m_A115 = m_A115 + go[397];
- double RHS33 = Idr[396] + Idr[397] + Idr[398] + Idr[399] + Idr[400] + Idr[401] + Idr[402] - go[398] * *cnV[398] - go[399] * *cnV[399] - go[400] * *cnV[400] - go[401] * *cnV[401] - go[402] * *cnV[402];
- m_A121 = gt[408] + gt[409] + gt[410] + gt[411] + gt[412] + gt[413] + gt[414];
- m_A118 = m_A118 + go[408];
- m_A116 = m_A116 + go[409];
- double RHS34 = Idr[408] + Idr[409] + Idr[410] + Idr[411] + Idr[412] + Idr[413] + Idr[414] - go[410] * *cnV[410] - go[411] * *cnV[411] - go[412] * *cnV[412] - go[413] * *cnV[413] - go[414] * *cnV[414];
- m_A125 = gt[420] + gt[421] + gt[422];
- m_A124 = m_A124 + go[420];
- m_A126 = m_A126 + go[421];
- m_A123 = m_A123 + go[422];
- double RHS35 = Idr[420] + Idr[421] + Idr[422];
- m_A132 = gt[432] + gt[433] + gt[434];
- m_A127 = m_A127 + go[432];
- m_A128 = m_A128 + go[433];
- m_A130 = m_A130 + go[434];
- double RHS36 = Idr[432] + Idr[433] + Idr[434];
- m_A149 = gt[444] + gt[445] + gt[446] + gt[447] + gt[448] + gt[449] + gt[450] + gt[451] + gt[452] + gt[453] + gt[454];
- m_A140 = m_A140 + go[444];
- m_A147 = m_A147 + go[445];
- m_A139 = m_A139 + go[446];
- m_A138 = m_A138 + go[447];
- m_A137 = m_A137 + go[448];
- m_A136 = m_A136 + go[449];
- m_A135 = m_A135 + go[450];
- m_A134 = m_A134 + go[451];
- m_A143 = m_A143 + go[452];
- m_A143 = m_A143 + go[453];
- double RHS37 = Idr[444] + Idr[445] + Idr[446] + Idr[447] + Idr[448] + Idr[449] + Idr[450] + Idr[451] + Idr[452] + Idr[453] + Idr[454] - go[454] * *cnV[454];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ double m_A111(0.0);
+ double m_A112(0.0);
+ double m_A113(0.0);
+ double m_A114(0.0);
+ double m_A115(0.0);
+ double m_A116(0.0);
+ double m_A117(0.0);
+ double m_A118(0.0);
+ double m_A119(0.0);
+ double m_A120(0.0);
+ double m_A121(0.0);
+ double m_A122(0.0);
+ double m_A123(0.0);
+ double m_A124(0.0);
+ double m_A125(0.0);
+ double m_A126(0.0);
+ double m_A127(0.0);
+ double m_A128(0.0);
+ double m_A129(0.0);
+ double m_A130(0.0);
+ double m_A131(0.0);
+ double m_A132(0.0);
+ double m_A133(0.0);
+ double m_A134(0.0);
+ double m_A135(0.0);
+ double m_A136(0.0);
+ double m_A137(0.0);
+ double m_A138(0.0);
+ double m_A139(0.0);
+ double m_A140(0.0);
+ double m_A141(0.0);
+ double m_A142(0.0);
+ double m_A143(0.0);
+ double m_A144(0.0);
+ double m_A145(0.0);
+ double m_A146(0.0);
+ double m_A147(0.0);
+ double m_A148(0.0);
+ double m_A149(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A6 += go[6];
+ m_A5 += go[7];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[8] * *cnV[8];
+ m_A7 += gt[9];
+ m_A7 += gt[10];
+ m_A7 += gt[11];
+ m_A7 += gt[12];
+ m_A7 += gt[13];
+ m_A10 += go[9];
+ m_A9 += go[10];
+ m_A8 += go[11];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ m_A11 += gt[14];
+ m_A11 += gt[15];
+ m_A11 += gt[16];
+ m_A12 += go[14];
+ double RHS4 = Idr[14];
+ RHS4 += Idr[15];
+ RHS4 += Idr[16];
+ RHS4 -= go[15] * *cnV[15];
+ RHS4 -= go[16] * *cnV[16];
+ m_A13 += gt[17];
+ m_A13 += gt[18];
+ m_A13 += gt[19];
+ m_A13 += gt[20];
+ m_A13 += gt[21];
+ m_A13 += gt[22];
+ m_A13 += gt[23];
+ m_A15 += go[17];
+ m_A14 += go[18];
+ double RHS5 = Idr[17];
+ RHS5 += Idr[18];
+ RHS5 += Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[19] * *cnV[19];
+ RHS5 -= go[20] * *cnV[20];
+ RHS5 -= go[21] * *cnV[21];
+ RHS5 -= go[22] * *cnV[22];
+ RHS5 -= go[23] * *cnV[23];
+ m_A16 += gt[24];
+ m_A16 += gt[25];
+ m_A16 += gt[26];
+ m_A17 += go[24];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 -= go[25] * *cnV[25];
+ RHS6 -= go[26] * *cnV[26];
+ m_A18 += gt[27];
+ m_A18 += gt[28];
+ m_A19 += go[27];
+ double RHS7 = Idr[27];
+ RHS7 += Idr[28];
+ RHS7 -= go[28] * *cnV[28];
+ m_A20 += gt[29];
+ m_A20 += gt[30];
+ m_A20 += gt[31];
+ m_A21 += go[29];
+ m_A23 += go[30];
+ m_A22 += go[31];
+ double RHS8 = Idr[29];
+ RHS8 += Idr[30];
+ RHS8 += Idr[31];
+ m_A24 += gt[32];
+ m_A24 += gt[33];
+ m_A24 += gt[34];
+ m_A25 += go[32];
+ double RHS9 = Idr[32];
+ RHS9 += Idr[33];
+ RHS9 += Idr[34];
+ RHS9 -= go[33] * *cnV[33];
+ RHS9 -= go[34] * *cnV[34];
+ m_A26 += gt[35];
+ m_A26 += gt[36];
+ m_A26 += gt[37];
+ m_A26 += gt[38];
+ m_A27 += go[35];
+ m_A28 += go[36];
+ double RHS10 = Idr[35];
+ RHS10 += Idr[36];
+ RHS10 += Idr[37];
+ RHS10 += Idr[38];
+ RHS10 -= go[37] * *cnV[37];
+ RHS10 -= go[38] * *cnV[38];
+ m_A29 += gt[39];
+ m_A29 += gt[40];
+ m_A30 += go[39];
+ double RHS11 = Idr[39];
+ RHS11 += Idr[40];
+ RHS11 -= go[40] * *cnV[40];
+ m_A31 += gt[41];
+ m_A31 += gt[42];
+ m_A31 += gt[43];
+ m_A31 += gt[44];
+ m_A32 += go[41];
+ m_A33 += go[42];
+ double RHS12 = Idr[41];
+ RHS12 += Idr[42];
+ RHS12 += Idr[43];
+ RHS12 += Idr[44];
+ RHS12 -= go[43] * *cnV[43];
+ RHS12 -= go[44] * *cnV[44];
+ m_A34 += gt[45];
+ m_A34 += gt[46];
+ m_A34 += gt[47];
+ m_A36 += go[45];
+ m_A35 += go[46];
+ double RHS13 = Idr[45];
+ RHS13 += Idr[46];
+ RHS13 += Idr[47];
+ RHS13 -= go[47] * *cnV[47];
+ m_A37 += gt[48];
+ m_A37 += gt[49];
+ m_A38 += go[48];
+ double RHS14 = Idr[48];
+ RHS14 += Idr[49];
+ RHS14 -= go[49] * *cnV[49];
+ m_A39 += gt[50];
+ m_A39 += gt[51];
+ m_A40 += go[50];
+ double RHS15 = Idr[50];
+ RHS15 += Idr[51];
+ RHS15 -= go[51] * *cnV[51];
+ m_A41 += gt[52];
+ m_A41 += gt[53];
+ m_A42 += go[52];
+ double RHS16 = Idr[52];
+ RHS16 += Idr[53];
+ RHS16 -= go[53] * *cnV[53];
+ m_A43 += gt[54];
+ m_A43 += gt[55];
+ m_A43 += gt[56];
+ m_A43 += gt[57];
+ m_A43 += gt[58];
+ m_A44 += go[54];
+ m_A46 += go[55];
+ m_A45 += go[56];
+ double RHS17 = Idr[54];
+ RHS17 += Idr[55];
+ RHS17 += Idr[56];
+ RHS17 += Idr[57];
+ RHS17 += Idr[58];
+ RHS17 -= go[57] * *cnV[57];
+ RHS17 -= go[58] * *cnV[58];
+ m_A47 += gt[59];
+ m_A47 += gt[60];
+ m_A47 += gt[61];
+ m_A47 += gt[62];
+ m_A47 += gt[63];
+ m_A48 += go[59];
+ m_A50 += go[60];
+ m_A49 += go[61];
+ double RHS18 = Idr[59];
+ RHS18 += Idr[60];
+ RHS18 += Idr[61];
+ RHS18 += Idr[62];
+ RHS18 += Idr[63];
+ RHS18 -= go[62] * *cnV[62];
+ RHS18 -= go[63] * *cnV[63];
+ m_A51 += gt[64];
+ m_A51 += gt[65];
+ m_A52 += go[64];
+ double RHS19 = Idr[64];
+ RHS19 += Idr[65];
+ RHS19 -= go[65] * *cnV[65];
+ m_A55 += gt[66];
+ m_A55 += gt[67];
+ m_A54 += go[66];
+ m_A53 += go[67];
+ double RHS20 = Idr[66];
+ RHS20 += Idr[67];
+ m_A60 += gt[68];
+ m_A60 += gt[69];
+ m_A60 += gt[70];
+ m_A58 += go[68];
+ m_A57 += go[69];
+ double RHS21 = Idr[68];
+ RHS21 += Idr[69];
+ RHS21 += Idr[70];
+ RHS21 -= go[70] * *cnV[70];
+ m_A63 += gt[71];
+ m_A63 += gt[72];
+ m_A64 += go[71];
+ double RHS22 = Idr[71];
+ RHS22 += Idr[72];
+ RHS22 -= go[72] * *cnV[72];
+ m_A65 += gt[73];
+ m_A65 += gt[74];
+ m_A65 += gt[75];
+ m_A66 += go[73];
+ double RHS23 = Idr[73];
+ RHS23 += Idr[74];
+ RHS23 += Idr[75];
+ RHS23 -= go[74] * *cnV[74];
+ RHS23 -= go[75] * *cnV[75];
+ m_A69 += gt[76];
+ m_A69 += gt[77];
+ m_A69 += gt[78];
+ m_A67 += go[76];
+ m_A68 += go[77];
+ double RHS24 = Idr[76];
+ RHS24 += Idr[77];
+ RHS24 += Idr[78];
+ RHS24 -= go[78] * *cnV[78];
+ m_A76 += gt[79];
+ m_A76 += gt[80];
+ m_A73 += go[79];
+ m_A72 += go[80];
+ double RHS25 = Idr[79];
+ RHS25 += Idr[80];
+ m_A81 += gt[81];
+ m_A81 += gt[82];
+ m_A80 += go[81];
+ m_A79 += go[82];
+ double RHS26 = Idr[81];
+ RHS26 += Idr[82];
+ m_A84 += gt[83];
+ m_A84 += gt[84];
+ m_A84 += gt[85];
+ m_A85 += go[83];
+ m_A83 += go[84];
+ double RHS27 = Idr[83];
+ RHS27 += Idr[84];
+ RHS27 += Idr[85];
+ RHS27 -= go[85] * *cnV[85];
+ m_A88 += gt[86];
+ m_A88 += gt[87];
+ m_A87 += go[86];
+ m_A86 += go[87];
+ double RHS28 = Idr[86];
+ RHS28 += Idr[87];
+ m_A95 += gt[88];
+ m_A95 += gt[89];
+ m_A95 += gt[90];
+ m_A95 += gt[91];
+ m_A95 += gt[92];
+ m_A90 += go[88];
+ m_A92 += go[89];
+ m_A91 += go[90];
+ double RHS29 = Idr[88];
+ RHS29 += Idr[89];
+ RHS29 += Idr[90];
+ RHS29 += Idr[91];
+ RHS29 += Idr[92];
+ RHS29 -= go[91] * *cnV[91];
+ RHS29 -= go[92] * *cnV[92];
+ m_A100 += gt[93];
+ m_A100 += gt[94];
+ m_A100 += gt[95];
+ m_A100 += gt[96];
+ m_A100 += gt[97];
+ m_A100 += gt[98];
+ m_A100 += gt[99];
+ m_A98 += go[93];
+ m_A101 += go[94];
+ double RHS30 = Idr[93];
+ RHS30 += Idr[94];
+ RHS30 += Idr[95];
+ RHS30 += Idr[96];
+ RHS30 += Idr[97];
+ RHS30 += Idr[98];
+ RHS30 += Idr[99];
+ RHS30 -= go[95] * *cnV[95];
+ RHS30 -= go[96] * *cnV[96];
+ RHS30 -= go[97] * *cnV[97];
+ RHS30 -= go[98] * *cnV[98];
+ RHS30 -= go[99] * *cnV[99];
+ m_A103 += gt[100];
+ m_A103 += gt[101];
+ m_A103 += gt[102];
+ m_A103 += gt[103];
+ m_A103 += gt[104];
+ m_A103 += gt[105];
+ m_A104 += go[100];
+ m_A104 += go[101];
+ m_A102 += go[102];
+ double RHS31 = Idr[100];
+ RHS31 += Idr[101];
+ RHS31 += Idr[102];
+ RHS31 += Idr[103];
+ RHS31 += Idr[104];
+ RHS31 += Idr[105];
+ RHS31 -= go[103] * *cnV[103];
+ RHS31 -= go[104] * *cnV[104];
+ RHS31 -= go[105] * *cnV[105];
+ m_A110 += gt[106];
+ m_A110 += gt[107];
+ m_A110 += gt[108];
+ m_A106 += go[106];
+ m_A107 += go[107];
+ m_A105 += go[108];
+ double RHS32 = Idr[106];
+ RHS32 += Idr[107];
+ RHS32 += Idr[108];
+ m_A114 += gt[109];
+ m_A114 += gt[110];
+ m_A114 += gt[111];
+ m_A114 += gt[112];
+ m_A114 += gt[113];
+ m_A114 += gt[114];
+ m_A114 += gt[115];
+ m_A112 += go[109];
+ m_A115 += go[110];
+ double RHS33 = Idr[109];
+ RHS33 += Idr[110];
+ RHS33 += Idr[111];
+ RHS33 += Idr[112];
+ RHS33 += Idr[113];
+ RHS33 += Idr[114];
+ RHS33 += Idr[115];
+ RHS33 -= go[111] * *cnV[111];
+ RHS33 -= go[112] * *cnV[112];
+ RHS33 -= go[113] * *cnV[113];
+ RHS33 -= go[114] * *cnV[114];
+ RHS33 -= go[115] * *cnV[115];
+ m_A121 += gt[116];
+ m_A121 += gt[117];
+ m_A121 += gt[118];
+ m_A121 += gt[119];
+ m_A121 += gt[120];
+ m_A121 += gt[121];
+ m_A121 += gt[122];
+ m_A118 += go[116];
+ m_A116 += go[117];
+ double RHS34 = Idr[116];
+ RHS34 += Idr[117];
+ RHS34 += Idr[118];
+ RHS34 += Idr[119];
+ RHS34 += Idr[120];
+ RHS34 += Idr[121];
+ RHS34 += Idr[122];
+ RHS34 -= go[118] * *cnV[118];
+ RHS34 -= go[119] * *cnV[119];
+ RHS34 -= go[120] * *cnV[120];
+ RHS34 -= go[121] * *cnV[121];
+ RHS34 -= go[122] * *cnV[122];
+ m_A125 += gt[123];
+ m_A125 += gt[124];
+ m_A125 += gt[125];
+ m_A124 += go[123];
+ m_A126 += go[124];
+ m_A123 += go[125];
+ double RHS35 = Idr[123];
+ RHS35 += Idr[124];
+ RHS35 += Idr[125];
+ m_A132 += gt[126];
+ m_A132 += gt[127];
+ m_A132 += gt[128];
+ m_A127 += go[126];
+ m_A128 += go[127];
+ m_A130 += go[128];
+ double RHS36 = Idr[126];
+ RHS36 += Idr[127];
+ RHS36 += Idr[128];
+ m_A149 += gt[129];
+ m_A149 += gt[130];
+ m_A149 += gt[131];
+ m_A149 += gt[132];
+ m_A149 += gt[133];
+ m_A149 += gt[134];
+ m_A149 += gt[135];
+ m_A149 += gt[136];
+ m_A149 += gt[137];
+ m_A149 += gt[138];
+ m_A149 += gt[139];
+ m_A140 += go[129];
+ m_A147 += go[130];
+ m_A139 += go[131];
+ m_A138 += go[132];
+ m_A137 += go[133];
+ m_A136 += go[134];
+ m_A135 += go[135];
+ m_A134 += go[136];
+ m_A143 += go[137];
+ m_A143 += go[138];
+ double RHS37 = Idr[129];
+ RHS37 += Idr[130];
+ RHS37 += Idr[131];
+ RHS37 += Idr[132];
+ RHS37 += Idr[133];
+ RHS37 += Idr[134];
+ RHS37 += Idr[135];
+ RHS37 += Idr[136];
+ RHS37 += Idr[137];
+ RHS37 += Idr[138];
+ RHS37 += Idr[139];
+ RHS37 -= go[139] * *cnV[139];
+ const double f0 = 1.0 / m_A0;
const double f0_31 = -f0 * m_A102;
m_A103 += m_A1 * f0_31;
RHS31 += f0_31 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_20 = -f1 * m_A53;
m_A55 += m_A3 * f1_20;
RHS20 += f1_20 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_20 = -f2 * m_A54;
m_A55 += m_A5 * f2_20;
m_A56 += m_A6 * f2_20;
@@ -427,7 +2444,7 @@ const double f2 = 1.0 / m_A4;
m_A117 += m_A5 * f2_34;
m_A118 += m_A6 * f2_34;
RHS34 += f2_34 * RHS2;
-const double f3 = 1.0 / m_A7;
+ const double f3 = 1.0 / m_A7;
const double f3_21 = -f3 * m_A58;
m_A60 += m_A8 * f3_21;
m_A61 += m_A9 * f3_21;
@@ -438,24 +2455,24 @@ const double f3 = 1.0 / m_A7;
m_A76 += m_A9 * f3_25;
m_A78 += m_A10 * f3_25;
RHS25 += f3_25 * RHS3;
-const double f4 = 1.0 / m_A11;
+ const double f4 = 1.0 / m_A11;
const double f4_24 = -f4 * m_A67;
m_A69 += m_A12 * f4_24;
RHS24 += f4_24 * RHS4;
-const double f5 = 1.0 / m_A13;
+ const double f5 = 1.0 / m_A13;
const double f5_29 = -f5 * m_A90;
m_A91 += m_A14 * f5_29;
m_A93 += m_A15 * f5_29;
RHS29 += f5_29 * RHS5;
-const double f6 = 1.0 / m_A16;
+ const double f6 = 1.0 / m_A16;
const double f6_26 = -f6 * m_A79;
m_A81 += m_A17 * f6_26;
RHS26 += f6_26 * RHS6;
-const double f7 = 1.0 / m_A18;
+ const double f7 = 1.0 / m_A18;
const double f7_27 = -f7 * m_A83;
m_A84 += m_A19 * f7_27;
RHS27 += f7_27 * RHS7;
-const double f8 = 1.0 / m_A20;
+ const double f8 = 1.0 / m_A20;
const double f8_24 = -f8 * m_A68;
m_A69 += m_A21 * f8_24;
m_A70 += m_A22 * f8_24;
@@ -471,11 +2488,11 @@ const double f8 = 1.0 / m_A20;
m_A94 += m_A22 * f8_29;
m_A95 += m_A23 * f8_29;
RHS29 += f8_29 * RHS8;
-const double f9 = 1.0 / m_A24;
+ const double f9 = 1.0 / m_A24;
const double f9_28 = -f9 * m_A86;
m_A88 += m_A25 * f9_28;
RHS28 += f9_28 * RHS9;
-const double f10 = 1.0 / m_A26;
+ const double f10 = 1.0 / m_A26;
const double f10_26 = -f10 * m_A80;
m_A81 += m_A27 * f10_26;
m_A82 += m_A28 * f10_26;
@@ -488,11 +2505,11 @@ const double f10 = 1.0 / m_A26;
m_A129 += m_A27 * f10_36;
m_A132 += m_A28 * f10_36;
RHS36 += f10_36 * RHS10;
-const double f11 = 1.0 / m_A29;
+ const double f11 = 1.0 / m_A29;
const double f11_32 = -f11 * m_A105;
m_A110 += m_A30 * f11_32;
RHS32 += f11_32 * RHS11;
-const double f12 = 1.0 / m_A31;
+ const double f12 = 1.0 / m_A31;
const double f12_28 = -f12 * m_A87;
m_A88 += m_A32 * f12_28;
m_A89 += m_A33 * f12_28;
@@ -505,7 +2522,7 @@ const double f12 = 1.0 / m_A31;
m_A108 += m_A32 * f12_32;
m_A110 += m_A33 * f12_32;
RHS32 += f12_32 * RHS12;
-const double f13 = 1.0 / m_A34;
+ const double f13 = 1.0 / m_A34;
const double f13_29 = -f13 * m_A92;
m_A95 += m_A35 * f13_29;
m_A97 += m_A36 * f13_29;
@@ -514,19 +2531,19 @@ const double f13 = 1.0 / m_A34;
m_A141 += m_A35 * f13_37;
m_A149 += m_A36 * f13_37;
RHS37 += f13_37 * RHS13;
-const double f14 = 1.0 / m_A37;
+ const double f14 = 1.0 / m_A37;
const double f14_35 = -f14 * m_A123;
m_A125 += m_A38 * f14_35;
RHS35 += f14_35 * RHS14;
-const double f15 = 1.0 / m_A39;
+ const double f15 = 1.0 / m_A39;
const double f15_35 = -f15 * m_A124;
m_A125 += m_A40 * f15_35;
RHS35 += f15_35 * RHS15;
-const double f16 = 1.0 / m_A41;
+ const double f16 = 1.0 / m_A41;
const double f16_37 = -f16 * m_A135;
m_A149 += m_A42 * f16_37;
RHS37 += f16_37 * RHS16;
-const double f17 = 1.0 / m_A43;
+ const double f17 = 1.0 / m_A43;
const double f17_36 = -f17 * m_A128;
m_A131 += m_A44 * f17_36;
m_A132 += m_A45 * f17_36;
@@ -537,7 +2554,7 @@ const double f17 = 1.0 / m_A43;
m_A148 += m_A45 * f17_37;
m_A149 += m_A46 * f17_37;
RHS37 += f17_37 * RHS17;
-const double f18 = 1.0 / m_A47;
+ const double f18 = 1.0 / m_A47;
const double f18_32 = -f18 * m_A107;
m_A109 += m_A48 * f18_32;
m_A110 += m_A49 * f18_32;
@@ -548,18 +2565,18 @@ const double f18 = 1.0 / m_A47;
m_A144 += m_A49 * f18_37;
m_A149 += m_A50 * f18_37;
RHS37 += f18_37 * RHS18;
-const double f19 = 1.0 / m_A51;
+ const double f19 = 1.0 / m_A51;
const double f19_37 = -f19 * m_A138;
m_A149 += m_A52 * f19_37;
RHS37 += f19_37 * RHS19;
-const double f20 = 1.0 / m_A55;
+ const double f20 = 1.0 / m_A55;
const double f20_21 = -f20 * m_A59;
m_A60 += m_A56 * f20_21;
RHS21 += f20_21 * RHS20;
const double f20_34 = -f20 * m_A117;
m_A118 += m_A56 * f20_34;
RHS34 += f20_34 * RHS20;
-const double f21 = 1.0 / m_A60;
+ const double f21 = 1.0 / m_A60;
const double f21_25 = -f21 * m_A74;
m_A76 += m_A61 * f21_25;
m_A78 += m_A62 * f21_25;
@@ -568,15 +2585,15 @@ const double f21 = 1.0 / m_A60;
m_A119 += m_A61 * f21_34;
m_A121 += m_A62 * f21_34;
RHS34 += f21_34 * RHS21;
-const double f22 = 1.0 / m_A63;
+ const double f22 = 1.0 / m_A63;
const double f22_37 = -f22 * m_A139;
m_A149 += m_A64 * f22_37;
RHS37 += f22_37 * RHS22;
-const double f23 = 1.0 / m_A65;
+ const double f23 = 1.0 / m_A65;
const double f23_37 = -f23 * m_A140;
m_A149 += m_A66 * f23_37;
RHS37 += f23_37 * RHS23;
-const double f24 = 1.0 / m_A69;
+ const double f24 = 1.0 / m_A69;
const double f24_25 = -f24 * m_A75;
m_A76 += m_A70 * f24_25;
m_A77 += m_A71 * f24_25;
@@ -585,7 +2602,7 @@ const double f24 = 1.0 / m_A69;
m_A94 += m_A70 * f24_29;
m_A95 += m_A71 * f24_29;
RHS29 += f24_29 * RHS24;
-const double f25 = 1.0 / m_A76;
+ const double f25 = 1.0 / m_A76;
const double f25_29 = -f25 * m_A94;
m_A95 += m_A77 * f25_29;
m_A96 += m_A78 * f25_29;
@@ -594,25 +2611,25 @@ const double f25 = 1.0 / m_A76;
m_A120 += m_A77 * f25_34;
m_A121 += m_A78 * f25_34;
RHS34 += f25_34 * RHS25;
-const double f26 = 1.0 / m_A81;
+ const double f26 = 1.0 / m_A81;
const double f26_33 = -f26 * m_A113;
m_A115 += m_A82 * f26_33;
RHS33 += f26_33 * RHS26;
const double f26_36 = -f26 * m_A129;
m_A132 += m_A82 * f26_36;
RHS36 += f26_36 * RHS26;
-const double f27 = 1.0 / m_A84;
+ const double f27 = 1.0 / m_A84;
const double f27_36 = -f27 * m_A130;
m_A132 += m_A85 * f27_36;
RHS36 += f27_36 * RHS27;
-const double f28 = 1.0 / m_A88;
+ const double f28 = 1.0 / m_A88;
const double f28_30 = -f28 * m_A99;
m_A101 += m_A89 * f28_30;
RHS30 += f28_30 * RHS28;
const double f28_32 = -f28 * m_A108;
m_A110 += m_A89 * f28_32;
RHS32 += f28_32 * RHS28;
-const double f29 = 1.0 / m_A95;
+ const double f29 = 1.0 / m_A95;
const double f29_34 = -f29 * m_A120;
m_A121 += m_A96 * f29_34;
m_A122 += m_A97 * f29_34;
@@ -621,37 +2638,37 @@ const double f29 = 1.0 / m_A95;
m_A146 += m_A96 * f29_37;
m_A149 += m_A97 * f29_37;
RHS37 += f29_37 * RHS29;
-const double f30 = 1.0 / m_A100;
+ const double f30 = 1.0 / m_A100;
const double f30_32 = -f30 * m_A109;
m_A110 += m_A101 * f30_32;
RHS32 += f30_32 * RHS30;
const double f30_37 = -f30 * m_A142;
m_A144 += m_A101 * f30_37;
RHS37 += f30_37 * RHS30;
-const double f31 = 1.0 / m_A103;
+ const double f31 = 1.0 / m_A103;
const double f31_37 = -f31 * m_A143;
m_A149 += m_A104 * f31_37;
RHS37 += f31_37 * RHS31;
-const double f32 = 1.0 / m_A110;
+ const double f32 = 1.0 / m_A110;
const double f32_37 = -f32 * m_A144;
m_A149 += m_A111 * f32_37;
RHS37 += f32_37 * RHS32;
-const double f33 = 1.0 / m_A114;
+ const double f33 = 1.0 / m_A114;
const double f33_36 = -f33 * m_A131;
m_A132 += m_A115 * f33_36;
RHS36 += f33_36 * RHS33;
const double f33_37 = -f33 * m_A145;
m_A148 += m_A115 * f33_37;
RHS37 += f33_37 * RHS33;
-const double f34 = 1.0 / m_A121;
+ const double f34 = 1.0 / m_A121;
const double f34_37 = -f34 * m_A146;
m_A149 += m_A122 * f34_37;
RHS37 += f34_37 * RHS34;
-const double f35 = 1.0 / m_A125;
+ const double f35 = 1.0 / m_A125;
const double f35_37 = -f35 * m_A147;
m_A149 += m_A126 * f35_37;
RHS37 += f35_37 * RHS35;
-const double f36 = 1.0 / m_A132;
+ const double f36 = 1.0 / m_A132;
const double f36_37 = -f36 * m_A148;
m_A149 += m_A133 * f36_37;
RHS37 += f36_37 * RHS36;
@@ -786,565 +2803,1061 @@ const double f36 = 1.0 / m_A132;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// mario
-static void nl_gcr_15fa1a3cf923c9fd_29_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// zac1b11142
+static void nl_gcr_2b5c86f8653bcde7_12_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25] + gt[26] + gt[27];
- m_A8 = m_A8 + go[24];
- m_A7 = m_A7 + go[25];
- m_A7 = m_A7 + go[26];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] - go[27] * *cnV[27];
- m_A9 = gt[32] + gt[33] + gt[34];
- m_A10 = m_A10 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A11 = gt[40] + gt[41];
- m_A12 = m_A12 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A14 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54];
- m_A16 = m_A16 + go[48];
- m_A16 = m_A16 + go[49];
- m_A13 = m_A13 + go[50];
- m_A13 = m_A13 + go[51];
- m_A15 = m_A15 + go[52];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[53] * *cnV[53] - go[54] * *cnV[54];
- m_A22 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61];
- m_A20 = m_A20 + go[56];
- m_A21 = m_A21 + go[57];
- m_A19 = m_A19 + go[58];
- m_A18 = m_A18 + go[59];
- m_A17 = m_A17 + go[60];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61] - go[61] * *cnV[61];
- m_A28 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69];
- m_A25 = m_A25 + go[64];
- m_A24 = m_A24 + go[65];
- m_A26 = m_A26 + go[66];
- m_A26 = m_A26 + go[67];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] - go[68] * *cnV[68] - go[69] * *cnV[69];
-const double f0 = 1.0 / m_A0;
- const double f0_7 = -f0 * m_A17;
- m_A22 += m_A1 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_7 = -f1 * m_A18;
- m_A22 += m_A3 * f1_7;
- RHS7 += f1_7 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_7 = -f2 * m_A19;
- m_A22 += m_A5 * f2_7;
- RHS7 += f2_7 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_6 = -f3 * m_A13;
- m_A14 += m_A7 * f3_6;
- m_A16 += m_A8 * f3_6;
- RHS6 += f3_6 * RHS3;
- const double f3_8 = -f3 * m_A24;
- m_A26 += m_A7 * f3_8;
- m_A28 += m_A8 * f3_8;
- RHS8 += f3_8 * RHS3;
-const double f4 = 1.0 / m_A9;
- const double f4_8 = -f4 * m_A25;
- m_A28 += m_A10 * f4_8;
- RHS8 += f4_8 * RHS4;
-const double f5 = 1.0 / m_A11;
- const double f5_7 = -f5 * m_A20;
- m_A22 += m_A12 * f5_7;
- RHS7 += f5_7 * RHS5;
-const double f6 = 1.0 / m_A14;
- const double f6_7 = -f6 * m_A21;
- m_A22 += m_A15 * f6_7;
- m_A23 += m_A16 * f6_7;
- RHS7 += f6_7 * RHS6;
- const double f6_8 = -f6 * m_A26;
- m_A27 += m_A15 * f6_8;
- m_A28 += m_A16 * f6_8;
- RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A22;
- const double f7_8 = -f7 * m_A27;
- m_A28 += m_A23 * f7_8;
- RHS8 += f7_8 * RHS7;
- V[8] = RHS8 / m_A28;
- double tmp7 = 0.0;
- tmp7 += m_A23 * V[8];
- V[7] = (RHS7 - tmp7) / m_A22;
- double tmp6 = 0.0;
- tmp6 += m_A15 * V[7];
- tmp6 += m_A16 * V[8];
- V[6] = (RHS6 - tmp6) / m_A14;
- double tmp5 = 0.0;
- tmp5 += m_A12 * V[7];
- V[5] = (RHS5 - tmp5) / m_A11;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A4 += go[3];
+ m_A3 += go[4];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ m_A7 += gt[5];
+ m_A7 += gt[6];
+ m_A6 += go[5];
+ m_A5 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ m_A11 += gt[7];
+ m_A11 += gt[8];
+ m_A9 += go[7];
+ double RHS3 = Idr[7];
+ RHS3 += Idr[8];
+ RHS3 -= go[8] * *cnV[8];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A5;
+ m_A7 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A6;
+ m_A7 += m_A3 * f1_2;
+ m_A8 += m_A4 * f1_2;
+ RHS2 += f1_2 * RHS1;
+ const double f1_3 = -f1 * m_A9;
+ m_A10 += m_A3 * f1_3;
+ m_A11 += m_A4 * f1_3;
+ RHS3 += f1_3 * RHS1;
+ const double f2 = 1.0 / m_A7;
+ const double f2_3 = -f2 * m_A10;
+ m_A11 += m_A8 * f2_3;
+ RHS3 += f2_3 * RHS2;
+ V[3] = RHS3 / m_A11;
+ double tmp2 = 0.0;
+ tmp2 += m_A8 * V[3];
+ V[2] = (RHS2 - tmp2) / m_A7;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[2];
+ tmp1 += m_A4 * V[3];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[2];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// rebound
+static void nl_gcr_33a561080717d469_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[4];
+ double RHS1 = Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A5 += go[6];
+ m_A4 += go[7];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A6 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A5;
+ m_A6 += m_A3 * f1_2;
+ RHS2 += f1_2 * RHS1;
+ V[2] = RHS2 / m_A6;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[2];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[2];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// dpatrol
+static void nl_gcr_390fe6bd5468155d_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A6 += gt[4];
+ m_A6 += gt[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A5 += go[4];
+ m_A4 += go[5];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 -= go[6] * *cnV[6];
+ RHS2 -= go[7] * *cnV[7];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A6 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A5;
+ m_A6 += m_A3 * f1_2;
+ RHS2 += f1_2 * RHS1;
+ V[2] = RHS2 / m_A6;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[2];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[2];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// kidniki
+static void nl_gcr_445192d0ef3f62c6_21_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A0 += gt[5];
+ m_A0 += gt[6];
+ m_A1 += go[0];
+ m_A2 += go[1];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 += Idr[5];
+ RHS0 += Idr[6];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ RHS0 -= go[5] * *cnV[5];
+ RHS0 -= go[6] * *cnV[6];
+ m_A3 += gt[7];
+ m_A3 += gt[8];
+ m_A3 += gt[9];
+ m_A5 += go[7];
+ m_A4 += go[8];
+ double RHS1 = Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 -= go[9] * *cnV[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[10];
+ m_A8 += go[11];
+ double RHS2 = Idr[10];
+ RHS2 += Idr[11];
+ m_A10 += gt[12];
+ m_A10 += gt[13];
+ m_A10 += gt[14];
+ m_A9 += go[12];
+ double RHS3 = Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ m_A14 += gt[15];
+ m_A14 += gt[16];
+ m_A14 += gt[17];
+ m_A14 += gt[18];
+ m_A14 += gt[19];
+ m_A14 += gt[20];
+ m_A12 += go[15];
+ m_A15 += go[16];
+ m_A13 += go[17];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 -= go[18] * *cnV[18];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ m_A20 += gt[21];
+ m_A20 += gt[22];
+ m_A20 += gt[23];
+ m_A17 += go[21];
+ m_A16 += go[22];
+ m_A19 += go[23];
+ double RHS5 = Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A12;
+ m_A13 += m_A1 * f0_4;
+ m_A14 += m_A2 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f1 = 1.0 / m_A3;
+ const double f1_4 = -f1 * m_A13;
+ m_A14 += m_A4 * f1_4;
+ m_A15 += m_A5 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f1_5 = -f1 * m_A16;
+ m_A19 += m_A4 * f1_5;
+ m_A20 += m_A5 * f1_5;
+ RHS5 += f1_5 * RHS1;
+ const double f2 = 1.0 / m_A6;
+ const double f2_3 = -f2 * m_A9;
+ m_A10 += m_A7 * f2_3;
+ m_A11 += m_A8 * f2_3;
+ RHS3 += f2_3 * RHS2;
+ const double f2_5 = -f2 * m_A17;
+ m_A18 += m_A7 * f2_5;
+ m_A20 += m_A8 * f2_5;
+ RHS5 += f2_5 * RHS2;
+ const double f3 = 1.0 / m_A10;
+ const double f3_5 = -f3 * m_A18;
+ m_A20 += m_A11 * f3_5;
+ RHS5 += f3_5 * RHS3;
+ const double f4 = 1.0 / m_A14;
+ const double f4_5 = -f4 * m_A19;
+ m_A20 += m_A15 * f4_5;
+ RHS5 += f4_5 * RHS4;
+ V[5] = RHS5 / m_A20;
double tmp4 = 0.0;
- tmp4 += m_A10 * V[8];
- V[4] = (RHS4 - tmp4) / m_A9;
+ tmp4 += m_A15 * V[5];
+ V[4] = (RHS4 - tmp4) / m_A14;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[6];
- tmp3 += m_A8 * V[8];
- V[3] = (RHS3 - tmp3) / m_A6;
+ tmp3 += m_A11 * V[5];
+ V[3] = (RHS3 - tmp3) / m_A10;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[7];
- V[2] = (RHS2 - tmp2) / m_A4;
+ tmp2 += m_A7 * V[3];
+ tmp2 += m_A8 * V[5];
+ V[2] = (RHS2 - tmp2) / m_A6;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[7];
- V[1] = (RHS1 - tmp1) / m_A2;
+ tmp1 += m_A4 * V[4];
+ tmp1 += m_A5 * V[5];
+ V[1] = (RHS1 - tmp1) / m_A3;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[7];
+ tmp0 += m_A1 * V[1];
+ tmp0 += m_A2 * V[4];
V[0] = (RHS0 - tmp0) / m_A0;
}
// kidniki
-static void nl_gcr_169c14d438ffb621_198_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_4a06f16ac700a832_198_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
-double m_A111(0.0);
-double m_A112(0.0);
-double m_A113(0.0);
-double m_A114(0.0);
-double m_A115(0.0);
-double m_A116(0.0);
-double m_A117(0.0);
-double m_A118(0.0);
-double m_A119(0.0);
-double m_A120(0.0);
-double m_A121(0.0);
-double m_A122(0.0);
-double m_A123(0.0);
-double m_A124(0.0);
-double m_A125(0.0);
-double m_A126(0.0);
-double m_A127(0.0);
-double m_A128(0.0);
-double m_A129(0.0);
-double m_A130(0.0);
-double m_A131(0.0);
-double m_A132(0.0);
-double m_A133(0.0);
-double m_A134(0.0);
-double m_A135(0.0);
-double m_A136(0.0);
-double m_A137(0.0);
-double m_A138(0.0);
-double m_A139(0.0);
-double m_A140(0.0);
-double m_A141(0.0);
-double m_A142(0.0);
-double m_A143(0.0);
-double m_A144(0.0);
-double m_A145(0.0);
-double m_A146(0.0);
-double m_A147(0.0);
-double m_A148(0.0);
-double m_A149(0.0);
-double m_A150(0.0);
-double m_A151(0.0);
-double m_A152(0.0);
-double m_A153(0.0);
-double m_A154(0.0);
-double m_A155(0.0);
-double m_A156(0.0);
-double m_A157(0.0);
-double m_A158(0.0);
-double m_A159(0.0);
-double m_A160(0.0);
-double m_A161(0.0);
-double m_A162(0.0);
-double m_A163(0.0);
-double m_A164(0.0);
-double m_A165(0.0);
-double m_A166(0.0);
-double m_A167(0.0);
-double m_A168(0.0);
-double m_A169(0.0);
-double m_A170(0.0);
-double m_A171(0.0);
-double m_A172(0.0);
-double m_A173(0.0);
-double m_A174(0.0);
-double m_A175(0.0);
-double m_A176(0.0);
-double m_A177(0.0);
-double m_A178(0.0);
-double m_A179(0.0);
-double m_A180(0.0);
-double m_A181(0.0);
-double m_A182(0.0);
-double m_A183(0.0);
-double m_A184(0.0);
-double m_A185(0.0);
-double m_A186(0.0);
-double m_A187(0.0);
-double m_A188(0.0);
-double m_A189(0.0);
-double m_A190(0.0);
-double m_A191(0.0);
-double m_A192(0.0);
-double m_A193(0.0);
-double m_A194(0.0);
-double m_A195(0.0);
-double m_A196(0.0);
-double m_A197(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A6 = m_A6 + go[16];
- m_A5 = m_A5 + go[17];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[18] * *cnV[18];
- m_A7 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30];
- m_A8 = m_A8 + go[24];
- m_A9 = m_A9 + go[25];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[26] * *cnV[26] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30];
- m_A10 = gt[32] + gt[33];
- m_A12 = m_A12 + go[32];
- m_A11 = m_A11 + go[33];
- double RHS4 = Idr[32] + Idr[33];
- m_A13 = gt[40] + gt[41];
- m_A14 = m_A14 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A15 = gt[48] + gt[49] + gt[50];
- m_A16 = m_A16 + go[48];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50];
- m_A17 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61] + gt[62];
- m_A19 = m_A19 + go[56];
- m_A18 = m_A18 + go[57];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61] + Idr[62] - go[58] * *cnV[58] - go[59] * *cnV[59] - go[60] * *cnV[60] - go[61] * *cnV[61] - go[62] * *cnV[62];
- m_A20 = gt[64] + gt[65];
- m_A21 = m_A21 + go[64];
- m_A22 = m_A22 + go[65];
- double RHS8 = Idr[64] + Idr[65];
- m_A23 = gt[72] + gt[73] + gt[74];
- m_A24 = m_A24 + go[72];
- m_A25 = m_A25 + go[73];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] - go[74] * *cnV[74];
- m_A26 = gt[80] + gt[81];
- m_A27 = m_A27 + go[80];
- double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81];
- m_A28 = gt[88] + gt[89] + gt[90] + gt[91];
- m_A30 = m_A30 + go[88];
- m_A29 = m_A29 + go[89];
- m_A29 = m_A29 + go[90];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[91] * *cnV[91];
- m_A31 = gt[96] + gt[97];
- m_A33 = m_A33 + go[96];
- m_A32 = m_A32 + go[97];
- double RHS12 = Idr[96] + Idr[97];
- m_A34 = gt[104] + gt[105] + gt[106];
- m_A36 = m_A36 + go[104];
- m_A35 = m_A35 + go[105];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] - go[106] * *cnV[106];
- m_A37 = gt[112] + gt[113] + gt[114];
- m_A38 = m_A38 + go[112];
- m_A39 = m_A39 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114];
- m_A40 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124];
- m_A42 = m_A42 + go[120];
- m_A41 = m_A41 + go[121];
- m_A41 = m_A41 + go[122];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124] - go[123] * *cnV[123] - go[124] * *cnV[124];
- m_A43 = gt[128] + gt[129] + gt[130] + gt[131];
- m_A44 = m_A44 + go[128];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[129] * *cnV[129] - go[130] * *cnV[130] - go[131] * *cnV[131];
- m_A45 = gt[136] + gt[137] + gt[138] + gt[139];
- m_A46 = m_A46 + go[136];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] - go[137] * *cnV[137] - go[138] * *cnV[138] - go[139] * *cnV[139];
- m_A47 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148];
- m_A49 = m_A49 + go[144];
- m_A49 = m_A49 + go[145];
- m_A48 = m_A48 + go[146];
- double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] - go[147] * *cnV[147] - go[148] * *cnV[148];
- m_A50 = gt[152] + gt[153] + gt[154] + gt[155] + gt[156];
- m_A53 = m_A53 + go[152];
- m_A52 = m_A52 + go[153];
- m_A51 = m_A51 + go[154];
- m_A51 = m_A51 + go[155];
- double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] + Idr[156] - go[156] * *cnV[156];
- m_A54 = gt[160] + gt[161] + gt[162] + gt[163];
- m_A57 = m_A57 + go[160];
- m_A56 = m_A56 + go[161];
- m_A55 = m_A55 + go[162];
- double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] - go[163] * *cnV[163];
- m_A58 = gt[168] + gt[169] + gt[170];
- m_A59 = m_A59 + go[168];
- m_A60 = m_A60 + go[169];
- double RHS21 = Idr[168] + Idr[169] + Idr[170] - go[170] * *cnV[170];
- m_A61 = gt[176] + gt[177];
- m_A62 = m_A62 + go[176];
- m_A63 = m_A63 + go[177];
- double RHS22 = Idr[176] + Idr[177];
- m_A64 = gt[184] + gt[185];
- m_A65 = m_A65 + go[184];
- m_A66 = m_A66 + go[185];
- double RHS23 = Idr[184] + Idr[185];
- m_A69 = gt[192] + gt[193] + gt[194] + gt[195];
- m_A68 = m_A68 + go[192];
- m_A68 = m_A68 + go[193];
- m_A67 = m_A67 + go[194];
- double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[195] * *cnV[195];
- m_A75 = gt[200] + gt[201] + gt[202];
- m_A73 = m_A73 + go[200];
- m_A72 = m_A72 + go[201];
- double RHS25 = Idr[200] + Idr[201] + Idr[202] - go[202] * *cnV[202];
- m_A79 = gt[208] + gt[209] + gt[210];
- m_A78 = m_A78 + go[208];
- m_A77 = m_A77 + go[209];
- double RHS26 = Idr[208] + Idr[209] + Idr[210] - go[210] * *cnV[210];
- m_A83 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220] + gt[221];
- m_A82 = m_A82 + go[216];
- m_A82 = m_A82 + go[217];
- m_A81 = m_A81 + go[218];
- double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] + Idr[221] - go[219] * *cnV[219] - go[220] * *cnV[220] - go[221] * *cnV[221];
- m_A93 = gt[224] + gt[225] + gt[226];
- m_A87 = m_A87 + go[224];
- m_A89 = m_A89 + go[225];
- m_A88 = m_A88 + go[226];
- double RHS28 = Idr[224] + Idr[225] + Idr[226];
- m_A102 = gt[232] + gt[233] + gt[234];
- m_A99 = m_A99 + go[232];
- m_A98 = m_A98 + go[233];
- m_A97 = m_A97 + go[234];
- double RHS29 = Idr[232] + Idr[233] + Idr[234];
- m_A110 = gt[240] + gt[241] + gt[242] + gt[243];
- m_A107 = m_A107 + go[240];
- m_A106 = m_A106 + go[241];
- m_A106 = m_A106 + go[242];
- double RHS30 = Idr[240] + Idr[241] + Idr[242] + Idr[243] - go[243] * *cnV[243];
- m_A116 = gt[248] + gt[249] + gt[250] + gt[251] + gt[252] + gt[253];
- m_A114 = m_A114 + go[248];
- m_A115 = m_A115 + go[249];
- m_A115 = m_A115 + go[250];
- m_A117 = m_A117 + go[251];
- m_A117 = m_A117 + go[252];
- m_A113 = m_A113 + go[253];
- double RHS31 = Idr[248] + Idr[249] + Idr[250] + Idr[251] + Idr[252] + Idr[253];
- m_A120 = gt[256] + gt[257];
- m_A119 = m_A119 + go[256];
- double RHS32 = Idr[256] + Idr[257] - go[257] * *cnV[257];
- m_A123 = gt[264] + gt[265];
- m_A122 = m_A122 + go[264];
- m_A124 = m_A124 + go[265];
- double RHS33 = Idr[264] + Idr[265];
- m_A126 = gt[272] + gt[273] + gt[274] + gt[275] + gt[276] + gt[277] + gt[278];
- m_A125 = m_A125 + go[272];
- m_A127 = m_A127 + go[273];
- double RHS34 = Idr[272] + Idr[273] + Idr[274] + Idr[275] + Idr[276] + Idr[277] + Idr[278] - go[274] * *cnV[274] - go[275] * *cnV[275] - go[276] * *cnV[276] - go[277] * *cnV[277] - go[278] * *cnV[278];
- m_A129 = gt[280] + gt[281];
- m_A128 = m_A128 + go[280];
- double RHS35 = Idr[280] + Idr[281] - go[281] * *cnV[281];
- m_A133 = gt[288] + gt[289] + gt[290] + gt[291] + gt[292] + gt[293];
- m_A132 = m_A132 + go[288];
- m_A135 = m_A135 + go[289];
- m_A131 = m_A131 + go[290];
- double RHS36 = Idr[288] + Idr[289] + Idr[290] + Idr[291] + Idr[292] + Idr[293] - go[291] * *cnV[291] - go[292] * *cnV[292] - go[293] * *cnV[293];
- m_A139 = gt[296] + gt[297] + gt[298] + gt[299] + gt[300] + gt[301];
- m_A136 = m_A136 + go[296];
- m_A137 = m_A137 + go[297];
- m_A141 = m_A141 + go[298];
- m_A138 = m_A138 + go[299];
- double RHS37 = Idr[296] + Idr[297] + Idr[298] + Idr[299] + Idr[300] + Idr[301] - go[300] * *cnV[300] - go[301] * *cnV[301];
- m_A149 = gt[304] + gt[305] + gt[306] + gt[307] + gt[308] + gt[309];
- m_A145 = m_A145 + go[304];
- m_A144 = m_A144 + go[305];
- m_A142 = m_A142 + go[306];
- m_A143 = m_A143 + go[307];
- m_A152 = m_A152 + go[308];
- double RHS38 = Idr[304] + Idr[305] + Idr[306] + Idr[307] + Idr[308] + Idr[309] - go[309] * *cnV[309];
- m_A157 = gt[312] + gt[313] + gt[314] + gt[315] + gt[316];
- m_A154 = m_A154 + go[312];
- m_A153 = m_A153 + go[313];
- m_A155 = m_A155 + go[314];
- m_A155 = m_A155 + go[315];
- double RHS39 = Idr[312] + Idr[313] + Idr[314] + Idr[315] + Idr[316] - go[316] * *cnV[316];
- m_A164 = gt[320] + gt[321] + gt[322] + gt[323] + gt[324];
- m_A162 = m_A162 + go[320];
- m_A165 = m_A165 + go[321];
- m_A165 = m_A165 + go[322];
- m_A161 = m_A161 + go[323];
- m_A163 = m_A163 + go[324];
- double RHS40 = Idr[320] + Idr[321] + Idr[322] + Idr[323] + Idr[324];
- m_A174 = gt[328] + gt[329] + gt[330];
- m_A167 = m_A167 + go[328];
- m_A166 = m_A166 + go[329];
- m_A171 = m_A171 + go[330];
- double RHS41 = Idr[328] + Idr[329] + Idr[330];
- m_A182 = gt[336] + gt[337] + gt[338];
- m_A177 = m_A177 + go[336];
- m_A178 = m_A178 + go[337];
- m_A179 = m_A179 + go[338];
- double RHS42 = Idr[336] + Idr[337] + Idr[338];
- m_A197 = gt[344] + gt[345] + gt[346] + gt[347] + gt[348] + gt[349] + gt[350] + gt[351];
- m_A192 = m_A192 + go[344];
- m_A185 = m_A185 + go[345];
- m_A186 = m_A186 + go[346];
- m_A184 = m_A184 + go[347];
- m_A194 = m_A194 + go[348];
- m_A194 = m_A194 + go[349];
- double RHS43 = Idr[344] + Idr[345] + Idr[346] + Idr[347] + Idr[348] + Idr[349] + Idr[350] + Idr[351] - go[350] * *cnV[350] - go[351] * *cnV[351];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ double m_A111(0.0);
+ double m_A112(0.0);
+ double m_A113(0.0);
+ double m_A114(0.0);
+ double m_A115(0.0);
+ double m_A116(0.0);
+ double m_A117(0.0);
+ double m_A118(0.0);
+ double m_A119(0.0);
+ double m_A120(0.0);
+ double m_A121(0.0);
+ double m_A122(0.0);
+ double m_A123(0.0);
+ double m_A124(0.0);
+ double m_A125(0.0);
+ double m_A126(0.0);
+ double m_A127(0.0);
+ double m_A128(0.0);
+ double m_A129(0.0);
+ double m_A130(0.0);
+ double m_A131(0.0);
+ double m_A132(0.0);
+ double m_A133(0.0);
+ double m_A134(0.0);
+ double m_A135(0.0);
+ double m_A136(0.0);
+ double m_A137(0.0);
+ double m_A138(0.0);
+ double m_A139(0.0);
+ double m_A140(0.0);
+ double m_A141(0.0);
+ double m_A142(0.0);
+ double m_A143(0.0);
+ double m_A144(0.0);
+ double m_A145(0.0);
+ double m_A146(0.0);
+ double m_A147(0.0);
+ double m_A148(0.0);
+ double m_A149(0.0);
+ double m_A150(0.0);
+ double m_A151(0.0);
+ double m_A152(0.0);
+ double m_A153(0.0);
+ double m_A154(0.0);
+ double m_A155(0.0);
+ double m_A156(0.0);
+ double m_A157(0.0);
+ double m_A158(0.0);
+ double m_A159(0.0);
+ double m_A160(0.0);
+ double m_A161(0.0);
+ double m_A162(0.0);
+ double m_A163(0.0);
+ double m_A164(0.0);
+ double m_A165(0.0);
+ double m_A166(0.0);
+ double m_A167(0.0);
+ double m_A168(0.0);
+ double m_A169(0.0);
+ double m_A170(0.0);
+ double m_A171(0.0);
+ double m_A172(0.0);
+ double m_A173(0.0);
+ double m_A174(0.0);
+ double m_A175(0.0);
+ double m_A176(0.0);
+ double m_A177(0.0);
+ double m_A178(0.0);
+ double m_A179(0.0);
+ double m_A180(0.0);
+ double m_A181(0.0);
+ double m_A182(0.0);
+ double m_A183(0.0);
+ double m_A184(0.0);
+ double m_A185(0.0);
+ double m_A186(0.0);
+ double m_A187(0.0);
+ double m_A188(0.0);
+ double m_A189(0.0);
+ double m_A190(0.0);
+ double m_A191(0.0);
+ double m_A192(0.0);
+ double m_A193(0.0);
+ double m_A194(0.0);
+ double m_A195(0.0);
+ double m_A196(0.0);
+ double m_A197(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A6 += go[4];
+ m_A5 += go[5];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 += Idr[6];
+ RHS2 -= go[6] * *cnV[6];
+ m_A7 += gt[7];
+ m_A7 += gt[8];
+ m_A7 += gt[9];
+ m_A7 += gt[10];
+ m_A7 += gt[11];
+ m_A7 += gt[12];
+ m_A7 += gt[13];
+ m_A8 += go[7];
+ m_A9 += go[8];
+ double RHS3 = Idr[7];
+ RHS3 += Idr[8];
+ RHS3 += Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 -= go[9] * *cnV[9];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ m_A10 += gt[14];
+ m_A10 += gt[15];
+ m_A12 += go[14];
+ m_A11 += go[15];
+ double RHS4 = Idr[14];
+ RHS4 += Idr[15];
+ m_A13 += gt[16];
+ m_A13 += gt[17];
+ m_A14 += go[16];
+ double RHS5 = Idr[16];
+ RHS5 += Idr[17];
+ RHS5 -= go[17] * *cnV[17];
+ m_A15 += gt[18];
+ m_A15 += gt[19];
+ m_A15 += gt[20];
+ m_A16 += go[18];
+ double RHS6 = Idr[18];
+ RHS6 += Idr[19];
+ RHS6 += Idr[20];
+ RHS6 -= go[19] * *cnV[19];
+ RHS6 -= go[20] * *cnV[20];
+ m_A17 += gt[21];
+ m_A17 += gt[22];
+ m_A17 += gt[23];
+ m_A17 += gt[24];
+ m_A17 += gt[25];
+ m_A17 += gt[26];
+ m_A17 += gt[27];
+ m_A19 += go[21];
+ m_A18 += go[22];
+ double RHS7 = Idr[21];
+ RHS7 += Idr[22];
+ RHS7 += Idr[23];
+ RHS7 += Idr[24];
+ RHS7 += Idr[25];
+ RHS7 += Idr[26];
+ RHS7 += Idr[27];
+ RHS7 -= go[23] * *cnV[23];
+ RHS7 -= go[24] * *cnV[24];
+ RHS7 -= go[25] * *cnV[25];
+ RHS7 -= go[26] * *cnV[26];
+ RHS7 -= go[27] * *cnV[27];
+ m_A20 += gt[28];
+ m_A20 += gt[29];
+ m_A21 += go[28];
+ m_A22 += go[29];
+ double RHS8 = Idr[28];
+ RHS8 += Idr[29];
+ m_A23 += gt[30];
+ m_A23 += gt[31];
+ m_A23 += gt[32];
+ m_A24 += go[30];
+ m_A25 += go[31];
+ double RHS9 = Idr[30];
+ RHS9 += Idr[31];
+ RHS9 += Idr[32];
+ RHS9 -= go[32] * *cnV[32];
+ m_A26 += gt[33];
+ m_A26 += gt[34];
+ m_A27 += go[33];
+ double RHS10 = Idr[33];
+ RHS10 += Idr[34];
+ RHS10 -= go[34] * *cnV[34];
+ m_A28 += gt[35];
+ m_A28 += gt[36];
+ m_A28 += gt[37];
+ m_A28 += gt[38];
+ m_A30 += go[35];
+ m_A29 += go[36];
+ m_A29 += go[37];
+ double RHS11 = Idr[35];
+ RHS11 += Idr[36];
+ RHS11 += Idr[37];
+ RHS11 += Idr[38];
+ RHS11 -= go[38] * *cnV[38];
+ m_A31 += gt[39];
+ m_A31 += gt[40];
+ m_A33 += go[39];
+ m_A32 += go[40];
+ double RHS12 = Idr[39];
+ RHS12 += Idr[40];
+ m_A34 += gt[41];
+ m_A34 += gt[42];
+ m_A34 += gt[43];
+ m_A36 += go[41];
+ m_A35 += go[42];
+ double RHS13 = Idr[41];
+ RHS13 += Idr[42];
+ RHS13 += Idr[43];
+ RHS13 -= go[43] * *cnV[43];
+ m_A37 += gt[44];
+ m_A37 += gt[45];
+ m_A37 += gt[46];
+ m_A38 += go[44];
+ m_A39 += go[45];
+ double RHS14 = Idr[44];
+ RHS14 += Idr[45];
+ RHS14 += Idr[46];
+ RHS14 -= go[46] * *cnV[46];
+ m_A40 += gt[47];
+ m_A40 += gt[48];
+ m_A40 += gt[49];
+ m_A40 += gt[50];
+ m_A40 += gt[51];
+ m_A42 += go[47];
+ m_A41 += go[48];
+ m_A41 += go[49];
+ double RHS15 = Idr[47];
+ RHS15 += Idr[48];
+ RHS15 += Idr[49];
+ RHS15 += Idr[50];
+ RHS15 += Idr[51];
+ RHS15 -= go[50] * *cnV[50];
+ RHS15 -= go[51] * *cnV[51];
+ m_A43 += gt[52];
+ m_A43 += gt[53];
+ m_A43 += gt[54];
+ m_A43 += gt[55];
+ m_A44 += go[52];
+ double RHS16 = Idr[52];
+ RHS16 += Idr[53];
+ RHS16 += Idr[54];
+ RHS16 += Idr[55];
+ RHS16 -= go[53] * *cnV[53];
+ RHS16 -= go[54] * *cnV[54];
+ RHS16 -= go[55] * *cnV[55];
+ m_A45 += gt[56];
+ m_A45 += gt[57];
+ m_A45 += gt[58];
+ m_A45 += gt[59];
+ m_A46 += go[56];
+ double RHS17 = Idr[56];
+ RHS17 += Idr[57];
+ RHS17 += Idr[58];
+ RHS17 += Idr[59];
+ RHS17 -= go[57] * *cnV[57];
+ RHS17 -= go[58] * *cnV[58];
+ RHS17 -= go[59] * *cnV[59];
+ m_A47 += gt[60];
+ m_A47 += gt[61];
+ m_A47 += gt[62];
+ m_A47 += gt[63];
+ m_A47 += gt[64];
+ m_A49 += go[60];
+ m_A49 += go[61];
+ m_A48 += go[62];
+ double RHS18 = Idr[60];
+ RHS18 += Idr[61];
+ RHS18 += Idr[62];
+ RHS18 += Idr[63];
+ RHS18 += Idr[64];
+ RHS18 -= go[63] * *cnV[63];
+ RHS18 -= go[64] * *cnV[64];
+ m_A50 += gt[65];
+ m_A50 += gt[66];
+ m_A50 += gt[67];
+ m_A50 += gt[68];
+ m_A50 += gt[69];
+ m_A53 += go[65];
+ m_A52 += go[66];
+ m_A51 += go[67];
+ m_A51 += go[68];
+ double RHS19 = Idr[65];
+ RHS19 += Idr[66];
+ RHS19 += Idr[67];
+ RHS19 += Idr[68];
+ RHS19 += Idr[69];
+ RHS19 -= go[69] * *cnV[69];
+ m_A54 += gt[70];
+ m_A54 += gt[71];
+ m_A54 += gt[72];
+ m_A54 += gt[73];
+ m_A57 += go[70];
+ m_A56 += go[71];
+ m_A55 += go[72];
+ double RHS20 = Idr[70];
+ RHS20 += Idr[71];
+ RHS20 += Idr[72];
+ RHS20 += Idr[73];
+ RHS20 -= go[73] * *cnV[73];
+ m_A58 += gt[74];
+ m_A58 += gt[75];
+ m_A58 += gt[76];
+ m_A59 += go[74];
+ m_A60 += go[75];
+ double RHS21 = Idr[74];
+ RHS21 += Idr[75];
+ RHS21 += Idr[76];
+ RHS21 -= go[76] * *cnV[76];
+ m_A61 += gt[77];
+ m_A61 += gt[78];
+ m_A62 += go[77];
+ m_A63 += go[78];
+ double RHS22 = Idr[77];
+ RHS22 += Idr[78];
+ m_A64 += gt[79];
+ m_A64 += gt[80];
+ m_A65 += go[79];
+ m_A66 += go[80];
+ double RHS23 = Idr[79];
+ RHS23 += Idr[80];
+ m_A69 += gt[81];
+ m_A69 += gt[82];
+ m_A69 += gt[83];
+ m_A69 += gt[84];
+ m_A68 += go[81];
+ m_A68 += go[82];
+ m_A67 += go[83];
+ double RHS24 = Idr[81];
+ RHS24 += Idr[82];
+ RHS24 += Idr[83];
+ RHS24 += Idr[84];
+ RHS24 -= go[84] * *cnV[84];
+ m_A75 += gt[85];
+ m_A75 += gt[86];
+ m_A75 += gt[87];
+ m_A73 += go[85];
+ m_A72 += go[86];
+ double RHS25 = Idr[85];
+ RHS25 += Idr[86];
+ RHS25 += Idr[87];
+ RHS25 -= go[87] * *cnV[87];
+ m_A79 += gt[88];
+ m_A79 += gt[89];
+ m_A79 += gt[90];
+ m_A78 += go[88];
+ m_A77 += go[89];
+ double RHS26 = Idr[88];
+ RHS26 += Idr[89];
+ RHS26 += Idr[90];
+ RHS26 -= go[90] * *cnV[90];
+ m_A83 += gt[91];
+ m_A83 += gt[92];
+ m_A83 += gt[93];
+ m_A83 += gt[94];
+ m_A83 += gt[95];
+ m_A83 += gt[96];
+ m_A82 += go[91];
+ m_A82 += go[92];
+ m_A81 += go[93];
+ double RHS27 = Idr[91];
+ RHS27 += Idr[92];
+ RHS27 += Idr[93];
+ RHS27 += Idr[94];
+ RHS27 += Idr[95];
+ RHS27 += Idr[96];
+ RHS27 -= go[94] * *cnV[94];
+ RHS27 -= go[95] * *cnV[95];
+ RHS27 -= go[96] * *cnV[96];
+ m_A93 += gt[97];
+ m_A93 += gt[98];
+ m_A93 += gt[99];
+ m_A87 += go[97];
+ m_A89 += go[98];
+ m_A88 += go[99];
+ double RHS28 = Idr[97];
+ RHS28 += Idr[98];
+ RHS28 += Idr[99];
+ m_A102 += gt[100];
+ m_A102 += gt[101];
+ m_A102 += gt[102];
+ m_A99 += go[100];
+ m_A98 += go[101];
+ m_A97 += go[102];
+ double RHS29 = Idr[100];
+ RHS29 += Idr[101];
+ RHS29 += Idr[102];
+ m_A110 += gt[103];
+ m_A110 += gt[104];
+ m_A110 += gt[105];
+ m_A110 += gt[106];
+ m_A107 += go[103];
+ m_A106 += go[104];
+ m_A106 += go[105];
+ double RHS30 = Idr[103];
+ RHS30 += Idr[104];
+ RHS30 += Idr[105];
+ RHS30 += Idr[106];
+ RHS30 -= go[106] * *cnV[106];
+ m_A116 += gt[107];
+ m_A116 += gt[108];
+ m_A116 += gt[109];
+ m_A116 += gt[110];
+ m_A116 += gt[111];
+ m_A116 += gt[112];
+ m_A114 += go[107];
+ m_A115 += go[108];
+ m_A115 += go[109];
+ m_A117 += go[110];
+ m_A117 += go[111];
+ m_A113 += go[112];
+ double RHS31 = Idr[107];
+ RHS31 += Idr[108];
+ RHS31 += Idr[109];
+ RHS31 += Idr[110];
+ RHS31 += Idr[111];
+ RHS31 += Idr[112];
+ m_A120 += gt[113];
+ m_A120 += gt[114];
+ m_A119 += go[113];
+ double RHS32 = Idr[113];
+ RHS32 += Idr[114];
+ RHS32 -= go[114] * *cnV[114];
+ m_A123 += gt[115];
+ m_A123 += gt[116];
+ m_A122 += go[115];
+ m_A124 += go[116];
+ double RHS33 = Idr[115];
+ RHS33 += Idr[116];
+ m_A126 += gt[117];
+ m_A126 += gt[118];
+ m_A126 += gt[119];
+ m_A126 += gt[120];
+ m_A126 += gt[121];
+ m_A126 += gt[122];
+ m_A126 += gt[123];
+ m_A125 += go[117];
+ m_A127 += go[118];
+ double RHS34 = Idr[117];
+ RHS34 += Idr[118];
+ RHS34 += Idr[119];
+ RHS34 += Idr[120];
+ RHS34 += Idr[121];
+ RHS34 += Idr[122];
+ RHS34 += Idr[123];
+ RHS34 -= go[119] * *cnV[119];
+ RHS34 -= go[120] * *cnV[120];
+ RHS34 -= go[121] * *cnV[121];
+ RHS34 -= go[122] * *cnV[122];
+ RHS34 -= go[123] * *cnV[123];
+ m_A129 += gt[124];
+ m_A129 += gt[125];
+ m_A128 += go[124];
+ double RHS35 = Idr[124];
+ RHS35 += Idr[125];
+ RHS35 -= go[125] * *cnV[125];
+ m_A133 += gt[126];
+ m_A133 += gt[127];
+ m_A133 += gt[128];
+ m_A133 += gt[129];
+ m_A133 += gt[130];
+ m_A133 += gt[131];
+ m_A132 += go[126];
+ m_A135 += go[127];
+ m_A131 += go[128];
+ double RHS36 = Idr[126];
+ RHS36 += Idr[127];
+ RHS36 += Idr[128];
+ RHS36 += Idr[129];
+ RHS36 += Idr[130];
+ RHS36 += Idr[131];
+ RHS36 -= go[129] * *cnV[129];
+ RHS36 -= go[130] * *cnV[130];
+ RHS36 -= go[131] * *cnV[131];
+ m_A139 += gt[132];
+ m_A139 += gt[133];
+ m_A139 += gt[134];
+ m_A139 += gt[135];
+ m_A139 += gt[136];
+ m_A139 += gt[137];
+ m_A136 += go[132];
+ m_A137 += go[133];
+ m_A141 += go[134];
+ m_A138 += go[135];
+ double RHS37 = Idr[132];
+ RHS37 += Idr[133];
+ RHS37 += Idr[134];
+ RHS37 += Idr[135];
+ RHS37 += Idr[136];
+ RHS37 += Idr[137];
+ RHS37 -= go[136] * *cnV[136];
+ RHS37 -= go[137] * *cnV[137];
+ m_A149 += gt[138];
+ m_A149 += gt[139];
+ m_A149 += gt[140];
+ m_A149 += gt[141];
+ m_A149 += gt[142];
+ m_A149 += gt[143];
+ m_A145 += go[138];
+ m_A144 += go[139];
+ m_A142 += go[140];
+ m_A143 += go[141];
+ m_A152 += go[142];
+ double RHS38 = Idr[138];
+ RHS38 += Idr[139];
+ RHS38 += Idr[140];
+ RHS38 += Idr[141];
+ RHS38 += Idr[142];
+ RHS38 += Idr[143];
+ RHS38 -= go[143] * *cnV[143];
+ m_A157 += gt[144];
+ m_A157 += gt[145];
+ m_A157 += gt[146];
+ m_A157 += gt[147];
+ m_A157 += gt[148];
+ m_A154 += go[144];
+ m_A153 += go[145];
+ m_A155 += go[146];
+ m_A155 += go[147];
+ double RHS39 = Idr[144];
+ RHS39 += Idr[145];
+ RHS39 += Idr[146];
+ RHS39 += Idr[147];
+ RHS39 += Idr[148];
+ RHS39 -= go[148] * *cnV[148];
+ m_A164 += gt[149];
+ m_A164 += gt[150];
+ m_A164 += gt[151];
+ m_A164 += gt[152];
+ m_A164 += gt[153];
+ m_A162 += go[149];
+ m_A165 += go[150];
+ m_A165 += go[151];
+ m_A161 += go[152];
+ m_A163 += go[153];
+ double RHS40 = Idr[149];
+ RHS40 += Idr[150];
+ RHS40 += Idr[151];
+ RHS40 += Idr[152];
+ RHS40 += Idr[153];
+ m_A174 += gt[154];
+ m_A174 += gt[155];
+ m_A174 += gt[156];
+ m_A167 += go[154];
+ m_A166 += go[155];
+ m_A171 += go[156];
+ double RHS41 = Idr[154];
+ RHS41 += Idr[155];
+ RHS41 += Idr[156];
+ m_A182 += gt[157];
+ m_A182 += gt[158];
+ m_A182 += gt[159];
+ m_A177 += go[157];
+ m_A178 += go[158];
+ m_A179 += go[159];
+ double RHS42 = Idr[157];
+ RHS42 += Idr[158];
+ RHS42 += Idr[159];
+ m_A197 += gt[160];
+ m_A197 += gt[161];
+ m_A197 += gt[162];
+ m_A197 += gt[163];
+ m_A197 += gt[164];
+ m_A197 += gt[165];
+ m_A197 += gt[166];
+ m_A197 += gt[167];
+ m_A192 += go[160];
+ m_A185 += go[161];
+ m_A186 += go[162];
+ m_A184 += go[163];
+ m_A194 += go[164];
+ m_A194 += go[165];
+ double RHS43 = Idr[160];
+ RHS43 += Idr[161];
+ RHS43 += Idr[162];
+ RHS43 += Idr[163];
+ RHS43 += Idr[164];
+ RHS43 += Idr[165];
+ RHS43 += Idr[166];
+ RHS43 += Idr[167];
+ RHS43 -= go[166] * *cnV[166];
+ RHS43 -= go[167] * *cnV[167];
+ const double f0 = 1.0 / m_A0;
const double f0_33 = -f0 * m_A122;
m_A123 += m_A1 * f0_33;
RHS33 += f0_33 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_34 = -f1 * m_A125;
m_A127 += m_A3 * f1_34;
RHS34 += f1_34 * RHS1;
const double f1_40 = -f1 * m_A161;
m_A164 += m_A3 * f1_40;
RHS40 += f1_40 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_40 = -f2 * m_A162;
m_A164 += m_A5 * f2_40;
m_A165 += m_A6 * f2_40;
@@ -1353,12 +3866,12 @@ const double f2 = 1.0 / m_A4;
m_A194 += m_A5 * f2_43;
m_A197 += m_A6 * f2_43;
RHS43 += f2_43 * RHS2;
-const double f3 = 1.0 / m_A7;
+ const double f3 = 1.0 / m_A7;
const double f3_37 = -f3 * m_A136;
m_A138 += m_A8 * f3_37;
m_A139 += m_A9 * f3_37;
RHS37 += f3_37 * RHS3;
-const double f4 = 1.0 / m_A10;
+ const double f4 = 1.0 / m_A10;
const double f4_37 = -f4 * m_A137;
m_A139 += m_A11 * f4_37;
m_A140 += m_A12 * f4_37;
@@ -1367,20 +3880,20 @@ const double f4 = 1.0 / m_A10;
m_A148 += m_A11 * f4_38;
m_A149 += m_A12 * f4_38;
RHS38 += f4_38 * RHS4;
-const double f5 = 1.0 / m_A13;
+ const double f5 = 1.0 / m_A13;
const double f5_42 = -f5 * m_A177;
m_A182 += m_A14 * f5_42;
RHS42 += f5_42 * RHS5;
-const double f6 = 1.0 / m_A15;
+ const double f6 = 1.0 / m_A15;
const double f6_36 = -f6 * m_A131;
m_A133 += m_A16 * f6_36;
RHS36 += f6_36 * RHS6;
-const double f7 = 1.0 / m_A17;
+ const double f7 = 1.0 / m_A17;
const double f7_36 = -f7 * m_A132;
m_A134 += m_A18 * f7_36;
m_A135 += m_A19 * f7_36;
RHS36 += f7_36 * RHS7;
-const double f8 = 1.0 / m_A20;
+ const double f8 = 1.0 / m_A20;
const double f8_27 = -f8 * m_A81;
m_A83 += m_A21 * f8_27;
m_A86 += m_A22 * f8_27;
@@ -1389,7 +3902,7 @@ const double f8 = 1.0 / m_A20;
m_A187 += m_A21 * f8_43;
m_A197 += m_A22 * f8_43;
RHS43 += f8_43 * RHS8;
-const double f9 = 1.0 / m_A23;
+ const double f9 = 1.0 / m_A23;
const double f9_31 = -f9 * m_A113;
m_A116 += m_A24 * f9_31;
m_A118 += m_A25 * f9_31;
@@ -1398,11 +3911,11 @@ const double f9 = 1.0 / m_A23;
m_A191 += m_A24 * f9_43;
m_A197 += m_A25 * f9_43;
RHS43 += f9_43 * RHS9;
-const double f10 = 1.0 / m_A26;
+ const double f10 = 1.0 / m_A26;
const double f10_31 = -f10 * m_A114;
m_A116 += m_A27 * f10_31;
RHS31 += f10_31 * RHS10;
-const double f11 = 1.0 / m_A28;
+ const double f11 = 1.0 / m_A28;
const double f11_31 = -f11 * m_A115;
m_A116 += m_A29 * f11_31;
m_A117 += m_A30 * f11_31;
@@ -1411,7 +3924,7 @@ const double f11 = 1.0 / m_A28;
m_A155 += m_A29 * f11_39;
m_A157 += m_A30 * f11_39;
RHS39 += f11_39 * RHS11;
-const double f12 = 1.0 / m_A31;
+ const double f12 = 1.0 / m_A31;
const double f12_38 = -f12 * m_A143;
m_A149 += m_A32 * f12_38;
m_A150 += m_A33 * f12_38;
@@ -1420,7 +3933,7 @@ const double f12 = 1.0 / m_A31;
m_A156 += m_A32 * f12_39;
m_A157 += m_A33 * f12_39;
RHS39 += f12_39 * RHS12;
-const double f13 = 1.0 / m_A34;
+ const double f13 = 1.0 / m_A34;
const double f13_37 = -f13 * m_A138;
m_A139 += m_A35 * f13_37;
m_A141 += m_A36 * f13_37;
@@ -1429,7 +3942,7 @@ const double f13 = 1.0 / m_A34;
m_A171 += m_A35 * f13_41;
m_A174 += m_A36 * f13_41;
RHS41 += f13_41 * RHS13;
-const double f14 = 1.0 / m_A37;
+ const double f14 = 1.0 / m_A37;
const double f14_24 = -f14 * m_A67;
m_A69 += m_A38 * f14_24;
m_A71 += m_A39 * f14_24;
@@ -1438,7 +3951,7 @@ const double f14 = 1.0 / m_A37;
m_A90 += m_A38 * f14_28;
m_A93 += m_A39 * f14_28;
RHS28 += f14_28 * RHS14;
-const double f15 = 1.0 / m_A40;
+ const double f15 = 1.0 / m_A40;
const double f15_24 = -f15 * m_A68;
m_A69 += m_A41 * f15_24;
m_A70 += m_A42 * f15_24;
@@ -1447,15 +3960,15 @@ const double f15 = 1.0 / m_A40;
m_A74 += m_A41 * f15_25;
m_A75 += m_A42 * f15_25;
RHS25 += f15_25 * RHS15;
-const double f16 = 1.0 / m_A43;
+ const double f16 = 1.0 / m_A43;
const double f16_25 = -f16 * m_A73;
m_A75 += m_A44 * f16_25;
RHS25 += f16_25 * RHS16;
-const double f17 = 1.0 / m_A45;
+ const double f17 = 1.0 / m_A45;
const double f17_26 = -f17 * m_A77;
m_A79 += m_A46 * f17_26;
RHS26 += f17_26 * RHS17;
-const double f18 = 1.0 / m_A47;
+ const double f18 = 1.0 / m_A47;
const double f18_26 = -f18 * m_A78;
m_A79 += m_A48 * f18_26;
m_A80 += m_A49 * f18_26;
@@ -1464,7 +3977,7 @@ const double f18 = 1.0 / m_A47;
m_A108 += m_A48 * f18_30;
m_A110 += m_A49 * f18_30;
RHS30 += f18_30 * RHS18;
-const double f19 = 1.0 / m_A50;
+ const double f19 = 1.0 / m_A50;
const double f19_27 = -f19 * m_A82;
m_A83 += m_A51 * f19_27;
m_A84 += m_A52 * f19_27;
@@ -1480,7 +3993,7 @@ const double f19 = 1.0 / m_A50;
m_A101 += m_A52 * f19_29;
m_A102 += m_A53 * f19_29;
RHS29 += f19_29 * RHS19;
-const double f20 = 1.0 / m_A54;
+ const double f20 = 1.0 / m_A54;
const double f20_28 = -f20 * m_A89;
m_A93 += m_A55 * f20_28;
m_A94 += m_A56 * f20_28;
@@ -1496,7 +4009,7 @@ const double f20 = 1.0 / m_A54;
m_A169 += m_A56 * f20_41;
m_A174 += m_A57 * f20_41;
RHS41 += f20_41 * RHS20;
-const double f21 = 1.0 / m_A58;
+ const double f21 = 1.0 / m_A58;
const double f21_29 = -f21 * m_A99;
m_A102 += m_A59 * f21_29;
m_A103 += m_A60 * f21_29;
@@ -1505,7 +4018,7 @@ const double f21 = 1.0 / m_A58;
m_A109 += m_A59 * f21_30;
m_A110 += m_A60 * f21_30;
RHS30 += f21_30 * RHS21;
-const double f22 = 1.0 / m_A61;
+ const double f22 = 1.0 / m_A61;
const double f22_32 = -f22 * m_A119;
m_A120 += m_A62 * f22_32;
m_A121 += m_A63 * f22_32;
@@ -1514,7 +4027,7 @@ const double f22 = 1.0 / m_A61;
m_A146 += m_A62 * f22_38;
m_A149 += m_A63 * f22_38;
RHS38 += f22_38 * RHS22;
-const double f23 = 1.0 / m_A64;
+ const double f23 = 1.0 / m_A64;
const double f23_35 = -f23 * m_A128;
m_A129 += m_A65 * f23_35;
m_A130 += m_A66 * f23_35;
@@ -1523,7 +4036,7 @@ const double f23 = 1.0 / m_A64;
m_A147 += m_A65 * f23_38;
m_A149 += m_A66 * f23_38;
RHS38 += f23_38 * RHS23;
-const double f24 = 1.0 / m_A69;
+ const double f24 = 1.0 / m_A69;
const double f24_25 = -f24 * m_A74;
m_A75 += m_A70 * f24_25;
m_A76 += m_A71 * f24_25;
@@ -1532,15 +4045,15 @@ const double f24 = 1.0 / m_A69;
m_A91 += m_A70 * f24_28;
m_A93 += m_A71 * f24_28;
RHS28 += f24_28 * RHS24;
-const double f25 = 1.0 / m_A75;
+ const double f25 = 1.0 / m_A75;
const double f25_28 = -f25 * m_A91;
m_A93 += m_A76 * f25_28;
RHS28 += f25_28 * RHS25;
-const double f26 = 1.0 / m_A79;
+ const double f26 = 1.0 / m_A79;
const double f26_30 = -f26 * m_A108;
m_A110 += m_A80 * f26_30;
RHS30 += f26_30 * RHS26;
-const double f27 = 1.0 / m_A83;
+ const double f27 = 1.0 / m_A83;
const double f27_28 = -f27 * m_A92;
m_A93 += m_A84 * f27_28;
m_A94 += m_A85 * f27_28;
@@ -1556,7 +4069,7 @@ const double f27 = 1.0 / m_A83;
m_A189 += m_A85 * f27_43;
m_A197 += m_A86 * f27_43;
RHS43 += f27_43 * RHS27;
-const double f28 = 1.0 / m_A93;
+ const double f28 = 1.0 / m_A93;
const double f28_29 = -f28 * m_A101;
m_A102 += m_A94 * f28_29;
m_A104 += m_A95 * f28_29;
@@ -1572,7 +4085,7 @@ const double f28 = 1.0 / m_A93;
m_A195 += m_A95 * f28_43;
m_A197 += m_A96 * f28_43;
RHS43 += f28_43 * RHS28;
-const double f29 = 1.0 / m_A102;
+ const double f29 = 1.0 / m_A102;
const double f29_30 = -f29 * m_A109;
m_A110 += m_A103 * f29_30;
m_A111 += m_A104 * f29_30;
@@ -1588,7 +4101,7 @@ const double f29 = 1.0 / m_A102;
m_A195 += m_A104 * f29_43;
m_A197 += m_A105 * f29_43;
RHS43 += f29_43 * RHS29;
-const double f30 = 1.0 / m_A110;
+ const double f30 = 1.0 / m_A110;
const double f30_41 = -f30 * m_A170;
m_A174 += m_A111 * f30_41;
m_A176 += m_A112 * f30_41;
@@ -1597,7 +4110,7 @@ const double f30 = 1.0 / m_A110;
m_A195 += m_A111 * f30_43;
m_A197 += m_A112 * f30_43;
RHS43 += f30_43 * RHS30;
-const double f31 = 1.0 / m_A116;
+ const double f31 = 1.0 / m_A116;
const double f31_39 = -f31 * m_A155;
m_A157 += m_A117 * f31_39;
m_A160 += m_A118 * f31_39;
@@ -1606,28 +4119,28 @@ const double f31 = 1.0 / m_A116;
m_A193 += m_A117 * f31_43;
m_A197 += m_A118 * f31_43;
RHS43 += f31_43 * RHS31;
-const double f32 = 1.0 / m_A120;
+ const double f32 = 1.0 / m_A120;
const double f32_38 = -f32 * m_A146;
m_A149 += m_A121 * f32_38;
RHS38 += f32_38 * RHS32;
-const double f33 = 1.0 / m_A123;
+ const double f33 = 1.0 / m_A123;
const double f33_40 = -f33 * m_A163;
m_A164 += m_A124 * f33_40;
RHS40 += f33_40 * RHS33;
-const double f34 = 1.0 / m_A126;
+ const double f34 = 1.0 / m_A126;
const double f34_43 = -f34 * m_A192;
m_A194 += m_A127 * f34_43;
RHS43 += f34_43 * RHS34;
-const double f35 = 1.0 / m_A129;
+ const double f35 = 1.0 / m_A129;
const double f35_38 = -f35 * m_A147;
m_A149 += m_A130 * f35_38;
RHS38 += f35_38 * RHS35;
-const double f36 = 1.0 / m_A133;
+ const double f36 = 1.0 / m_A133;
const double f36_42 = -f36 * m_A178;
m_A179 += m_A134 * f36_42;
m_A182 += m_A135 * f36_42;
RHS42 += f36_42 * RHS36;
-const double f37 = 1.0 / m_A139;
+ const double f37 = 1.0 / m_A139;
const double f37_38 = -f37 * m_A148;
m_A149 += m_A140 * f37_38;
m_A151 += m_A141 * f37_38;
@@ -1636,7 +4149,7 @@ const double f37 = 1.0 / m_A139;
m_A172 += m_A140 * f37_41;
m_A174 += m_A141 * f37_41;
RHS41 += f37_41 * RHS37;
-const double f38 = 1.0 / m_A149;
+ const double f38 = 1.0 / m_A149;
const double f38_39 = -f38 * m_A156;
m_A157 += m_A150 * f38_39;
m_A158 += m_A151 * f38_39;
@@ -1652,7 +4165,7 @@ const double f38 = 1.0 / m_A149;
m_A181 += m_A151 * f38_42;
m_A182 += m_A152 * f38_42;
RHS42 += f38_42 * RHS38;
-const double f39 = 1.0 / m_A157;
+ const double f39 = 1.0 / m_A157;
const double f39_41 = -f39 * m_A173;
m_A174 += m_A158 * f39_41;
m_A175 += m_A159 * f39_41;
@@ -1668,11 +4181,11 @@ const double f39 = 1.0 / m_A157;
m_A196 += m_A159 * f39_43;
m_A197 += m_A160 * f39_43;
RHS43 += f39_43 * RHS39;
-const double f40 = 1.0 / m_A164;
+ const double f40 = 1.0 / m_A164;
const double f40_43 = -f40 * m_A194;
m_A197 += m_A165 * f40_43;
RHS43 += f40_43 * RHS40;
-const double f41 = 1.0 / m_A174;
+ const double f41 = 1.0 / m_A174;
const double f41_42 = -f41 * m_A181;
m_A182 += m_A175 * f41_42;
m_A183 += m_A176 * f41_42;
@@ -1681,7 +4194,7 @@ const double f41 = 1.0 / m_A174;
m_A196 += m_A175 * f41_43;
m_A197 += m_A176 * f41_43;
RHS43 += f41_43 * RHS41;
-const double f42 = 1.0 / m_A182;
+ const double f42 = 1.0 / m_A182;
const double f42_43 = -f42 * m_A196;
m_A197 += m_A183 * f42_43;
RHS43 += f42_43 * RHS42;
@@ -1852,281 +4365,1619 @@ const double f42 = 1.0 / m_A182;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// cheekyms
-static void nl_gcr_19f6e9708f37ad65_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// gtrak10
+static void nl_gcr_4e48e9f6ef4bfdc4_43_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A6 = gt[8] + gt[9] + gt[10] + gt[11];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
- m_A6 += m_A1 * f0_2;
- RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A5;
- m_A6 += m_A3 * f1_2;
- RHS2 += f1_2 * RHS1;
- V[2] = RHS2 / m_A6;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ m_A8 += gt[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A9 += go[12];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 -= go[13] * *cnV[13];
+ RHS4 -= go[14] * *cnV[14];
+ m_A10 += gt[15];
+ m_A10 += gt[16];
+ m_A10 += gt[17];
+ m_A11 += go[15];
+ double RHS5 = Idr[15];
+ RHS5 += Idr[16];
+ RHS5 += Idr[17];
+ RHS5 -= go[16] * *cnV[16];
+ RHS5 -= go[17] * *cnV[17];
+ m_A12 += gt[18];
+ m_A12 += gt[19];
+ m_A12 += gt[20];
+ m_A13 += go[18];
+ double RHS6 = Idr[18];
+ RHS6 += Idr[19];
+ RHS6 += Idr[20];
+ RHS6 -= go[19] * *cnV[19];
+ RHS6 -= go[20] * *cnV[20];
+ m_A14 += gt[21];
+ m_A14 += gt[22];
+ m_A14 += gt[23];
+ m_A15 += go[21];
+ double RHS7 = Idr[21];
+ RHS7 += Idr[22];
+ RHS7 += Idr[23];
+ RHS7 -= go[22] * *cnV[22];
+ RHS7 -= go[23] * *cnV[23];
+ m_A16 += gt[24];
+ m_A16 += gt[25];
+ m_A16 += gt[26];
+ m_A17 += go[24];
+ double RHS8 = Idr[24];
+ RHS8 += Idr[25];
+ RHS8 += Idr[26];
+ RHS8 -= go[25] * *cnV[25];
+ RHS8 -= go[26] * *cnV[26];
+ m_A18 += gt[27];
+ m_A18 += gt[28];
+ m_A18 += gt[29];
+ m_A19 += go[27];
+ double RHS9 = Idr[27];
+ RHS9 += Idr[28];
+ RHS9 += Idr[29];
+ RHS9 -= go[28] * *cnV[28];
+ RHS9 -= go[29] * *cnV[29];
+ m_A20 += gt[30];
+ m_A20 += gt[31];
+ m_A20 += gt[32];
+ m_A21 += go[30];
+ double RHS10 = Idr[30];
+ RHS10 += Idr[31];
+ RHS10 += Idr[32];
+ RHS10 -= go[31] * *cnV[31];
+ RHS10 -= go[32] * *cnV[32];
+ m_A22 += gt[33];
+ m_A22 += gt[34];
+ m_A22 += gt[35];
+ m_A23 += go[33];
+ double RHS11 = Idr[33];
+ RHS11 += Idr[34];
+ RHS11 += Idr[35];
+ RHS11 -= go[34] * *cnV[34];
+ RHS11 -= go[35] * *cnV[35];
+ m_A25 += gt[36];
+ m_A25 += gt[37];
+ m_A25 += gt[38];
+ m_A26 += go[36];
+ m_A24 += go[37];
+ double RHS12 = Idr[36];
+ RHS12 += Idr[37];
+ RHS12 += Idr[38];
+ RHS12 -= go[38] * *cnV[38];
+ m_A30 += gt[39];
+ m_A30 += gt[40];
+ m_A30 += gt[41];
+ m_A30 += gt[42];
+ m_A30 += gt[43];
+ m_A30 += gt[44];
+ m_A30 += gt[45];
+ m_A29 += go[39];
+ m_A28 += go[40];
+ m_A27 += go[41];
+ m_A31 += go[42];
+ m_A31 += go[43];
+ double RHS13 = Idr[39];
+ RHS13 += Idr[40];
+ RHS13 += Idr[41];
+ RHS13 += Idr[42];
+ RHS13 += Idr[43];
+ RHS13 += Idr[44];
+ RHS13 += Idr[45];
+ RHS13 -= go[44] * *cnV[44];
+ RHS13 -= go[45] * *cnV[45];
+ m_A42 += gt[46];
+ m_A42 += gt[47];
+ m_A42 += gt[48];
+ m_A42 += gt[49];
+ m_A42 += gt[50];
+ m_A42 += gt[51];
+ m_A42 += gt[52];
+ m_A42 += gt[53];
+ m_A42 += gt[54];
+ m_A42 += gt[55];
+ m_A42 += gt[56];
+ m_A42 += gt[57];
+ m_A42 += gt[58];
+ m_A41 += go[46];
+ m_A41 += go[47];
+ m_A39 += go[48];
+ m_A38 += go[49];
+ m_A37 += go[50];
+ m_A36 += go[51];
+ m_A35 += go[52];
+ m_A34 += go[53];
+ m_A33 += go[54];
+ m_A32 += go[55];
+ m_A40 += go[56];
+ double RHS14 = Idr[46];
+ RHS14 += Idr[47];
+ RHS14 += Idr[48];
+ RHS14 += Idr[49];
+ RHS14 += Idr[50];
+ RHS14 += Idr[51];
+ RHS14 += Idr[52];
+ RHS14 += Idr[53];
+ RHS14 += Idr[54];
+ RHS14 += Idr[55];
+ RHS14 += Idr[56];
+ RHS14 += Idr[57];
+ RHS14 += Idr[58];
+ RHS14 -= go[57] * *cnV[57];
+ RHS14 -= go[58] * *cnV[58];
+ const double f0 = 1.0 / m_A0;
+ const double f0_12 = -f0 * m_A24;
+ m_A25 += m_A1 * f0_12;
+ RHS12 += f0_12 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_14 = -f1 * m_A32;
+ m_A42 += m_A3 * f1_14;
+ RHS14 += f1_14 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_14 = -f2 * m_A33;
+ m_A42 += m_A5 * f2_14;
+ RHS14 += f2_14 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_14 = -f3 * m_A34;
+ m_A42 += m_A7 * f3_14;
+ RHS14 += f3_14 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_14 = -f4 * m_A35;
+ m_A42 += m_A9 * f4_14;
+ RHS14 += f4_14 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_14 = -f5 * m_A36;
+ m_A42 += m_A11 * f5_14;
+ RHS14 += f5_14 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_14 = -f6 * m_A37;
+ m_A42 += m_A13 * f6_14;
+ RHS14 += f6_14 * RHS6;
+ const double f7 = 1.0 / m_A14;
+ const double f7_14 = -f7 * m_A38;
+ m_A42 += m_A15 * f7_14;
+ RHS14 += f7_14 * RHS7;
+ const double f8 = 1.0 / m_A16;
+ const double f8_14 = -f8 * m_A39;
+ m_A42 += m_A17 * f8_14;
+ RHS14 += f8_14 * RHS8;
+ const double f9 = 1.0 / m_A18;
+ const double f9_13 = -f9 * m_A27;
+ m_A30 += m_A19 * f9_13;
+ RHS13 += f9_13 * RHS9;
+ const double f10 = 1.0 / m_A20;
+ const double f10_13 = -f10 * m_A28;
+ m_A30 += m_A21 * f10_13;
+ RHS13 += f10_13 * RHS10;
+ const double f11 = 1.0 / m_A22;
+ const double f11_13 = -f11 * m_A29;
+ m_A30 += m_A23 * f11_13;
+ RHS13 += f11_13 * RHS11;
+ const double f12 = 1.0 / m_A25;
+ const double f12_14 = -f12 * m_A40;
+ m_A42 += m_A26 * f12_14;
+ RHS14 += f12_14 * RHS12;
+ const double f13 = 1.0 / m_A30;
+ const double f13_14 = -f13 * m_A41;
+ m_A42 += m_A31 * f13_14;
+ RHS14 += f13_14 * RHS13;
+ V[14] = RHS14 / m_A42;
+ double tmp13 = 0.0;
+ tmp13 += m_A31 * V[14];
+ V[13] = (RHS13 - tmp13) / m_A30;
+ double tmp12 = 0.0;
+ tmp12 += m_A26 * V[14];
+ V[12] = (RHS12 - tmp12) / m_A25;
+ double tmp11 = 0.0;
+ tmp11 += m_A23 * V[13];
+ V[11] = (RHS11 - tmp11) / m_A22;
+ double tmp10 = 0.0;
+ tmp10 += m_A21 * V[13];
+ V[10] = (RHS10 - tmp10) / m_A20;
+ double tmp9 = 0.0;
+ tmp9 += m_A19 * V[13];
+ V[9] = (RHS9 - tmp9) / m_A18;
+ double tmp8 = 0.0;
+ tmp8 += m_A17 * V[14];
+ V[8] = (RHS8 - tmp8) / m_A16;
+ double tmp7 = 0.0;
+ tmp7 += m_A15 * V[14];
+ V[7] = (RHS7 - tmp7) / m_A14;
+ double tmp6 = 0.0;
+ tmp6 += m_A13 * V[14];
+ V[6] = (RHS6 - tmp6) / m_A12;
+ double tmp5 = 0.0;
+ tmp5 += m_A11 * V[14];
+ V[5] = (RHS5 - tmp5) / m_A10;
+ double tmp4 = 0.0;
+ tmp4 += m_A9 * V[14];
+ V[4] = (RHS4 - tmp4) / m_A8;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[14];
+ V[3] = (RHS3 - tmp3) / m_A6;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[14];
+ V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[2];
+ tmp1 += m_A3 * V[14];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
+ tmp0 += m_A1 * V[12];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// kidniki
+static void nl_gcr_580e08d22698f60a_37_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A2 += go[0];
+ m_A2 += go[1];
+ m_A1 += go[2];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[3] * *cnV[3];
+ m_A3 += gt[4];
+ m_A3 += gt[5];
+ m_A3 += gt[6];
+ m_A5 += go[4];
+ m_A4 += go[5];
+ double RHS1 = Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A7 += go[7];
+ m_A7 += go[8];
+ m_A8 += go[9];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 += Idr[13];
+ RHS2 -= go[10] * *cnV[10];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ RHS2 -= go[13] * *cnV[13];
+ m_A9 += gt[14];
+ m_A9 += gt[15];
+ m_A9 += gt[16];
+ m_A11 += go[14];
+ m_A10 += go[15];
+ double RHS3 = Idr[14];
+ RHS3 += Idr[15];
+ RHS3 += Idr[16];
+ RHS3 -= go[16] * *cnV[16];
+ m_A14 += gt[17];
+ m_A14 += gt[18];
+ m_A14 += gt[19];
+ m_A14 += gt[20];
+ m_A14 += gt[21];
+ m_A13 += go[17];
+ m_A12 += go[18];
+ m_A12 += go[19];
+ double RHS4 = Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ m_A18 += gt[22];
+ m_A18 += gt[23];
+ m_A18 += gt[24];
+ m_A18 += gt[25];
+ m_A18 += gt[26];
+ m_A18 += gt[27];
+ m_A18 += gt[28];
+ m_A20 += go[22];
+ m_A19 += go[23];
+ m_A19 += go[24];
+ m_A19 += go[25];
+ m_A17 += go[26];
+ double RHS5 = Idr[22];
+ RHS5 += Idr[23];
+ RHS5 += Idr[24];
+ RHS5 += Idr[25];
+ RHS5 += Idr[26];
+ RHS5 += Idr[27];
+ RHS5 += Idr[28];
+ RHS5 -= go[27] * *cnV[27];
+ RHS5 -= go[28] * *cnV[28];
+ m_A23 += gt[29];
+ m_A23 += gt[30];
+ m_A23 += gt[31];
+ m_A23 += gt[32];
+ m_A21 += go[29];
+ double RHS6 = Idr[29];
+ RHS6 += Idr[30];
+ RHS6 += Idr[31];
+ RHS6 += Idr[32];
+ RHS6 -= go[30] * *cnV[30];
+ RHS6 -= go[31] * *cnV[31];
+ RHS6 -= go[32] * *cnV[32];
+ m_A28 += gt[33];
+ m_A28 += gt[34];
+ m_A28 += gt[35];
+ m_A28 += gt[36];
+ m_A28 += gt[37];
+ m_A28 += gt[38];
+ m_A26 += go[33];
+ m_A27 += go[34];
+ m_A27 += go[35];
+ m_A27 += go[36];
+ m_A25 += go[37];
+ m_A25 += go[38];
+ double RHS7 = Idr[33];
+ RHS7 += Idr[34];
+ RHS7 += Idr[35];
+ RHS7 += Idr[36];
+ RHS7 += Idr[37];
+ RHS7 += Idr[38];
+ m_A36 += gt[39];
+ m_A36 += gt[40];
+ m_A36 += gt[41];
+ m_A36 += gt[42];
+ m_A30 += go[39];
+ m_A33 += go[40];
+ m_A31 += go[41];
+ double RHS8 = Idr[39];
+ RHS8 += Idr[40];
+ RHS8 += Idr[41];
+ RHS8 += Idr[42];
+ RHS8 -= go[42] * *cnV[42];
+ const double f0 = 1.0 / m_A0;
+ const double f0_5 = -f0 * m_A17;
+ m_A18 += m_A1 * f0_5;
+ m_A19 += m_A2 * f0_5;
+ RHS5 += f0_5 * RHS0;
+ const double f0_7 = -f0 * m_A25;
+ m_A27 += m_A1 * f0_7;
+ m_A28 += m_A2 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A3;
+ const double f1_7 = -f1 * m_A26;
+ m_A28 += m_A4 * f1_7;
+ m_A29 += m_A5 * f1_7;
+ RHS7 += f1_7 * RHS1;
+ const double f1_8 = -f1 * m_A30;
+ m_A35 += m_A4 * f1_8;
+ m_A36 += m_A5 * f1_8;
+ RHS8 += f1_8 * RHS1;
+ const double f2 = 1.0 / m_A6;
+ const double f2_4 = -f2 * m_A12;
+ m_A14 += m_A7 * f2_4;
+ m_A16 += m_A8 * f2_4;
+ RHS4 += f2_4 * RHS2;
+ const double f2_8 = -f2 * m_A31;
+ m_A32 += m_A7 * f2_8;
+ m_A36 += m_A8 * f2_8;
+ RHS8 += f2_8 * RHS2;
+ const double f3 = 1.0 / m_A9;
+ const double f3_4 = -f3 * m_A13;
+ m_A14 += m_A10 * f3_4;
+ m_A15 += m_A11 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ const double f3_6 = -f3 * m_A21;
+ m_A22 += m_A10 * f3_6;
+ m_A23 += m_A11 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f4 = 1.0 / m_A14;
+ const double f4_6 = -f4 * m_A22;
+ m_A23 += m_A15 * f4_6;
+ m_A24 += m_A16 * f4_6;
+ RHS6 += f4_6 * RHS4;
+ const double f4_8 = -f4 * m_A32;
+ m_A34 += m_A15 * f4_8;
+ m_A36 += m_A16 * f4_8;
+ RHS8 += f4_8 * RHS4;
+ const double f5 = 1.0 / m_A18;
+ const double f5_7 = -f5 * m_A27;
+ m_A28 += m_A19 * f5_7;
+ m_A29 += m_A20 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f5_8 = -f5 * m_A33;
+ m_A35 += m_A19 * f5_8;
+ m_A36 += m_A20 * f5_8;
+ RHS8 += f5_8 * RHS5;
+ const double f6 = 1.0 / m_A23;
+ const double f6_8 = -f6 * m_A34;
+ m_A36 += m_A24 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A28;
+ const double f7_8 = -f7 * m_A35;
+ m_A36 += m_A29 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ V[8] = RHS8 / m_A36;
+ double tmp7 = 0.0;
+ tmp7 += m_A29 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A28;
+ double tmp6 = 0.0;
+ tmp6 += m_A24 * V[8];
+ V[6] = (RHS6 - tmp6) / m_A23;
+ double tmp5 = 0.0;
+ tmp5 += m_A19 * V[7];
+ tmp5 += m_A20 * V[8];
+ V[5] = (RHS5 - tmp5) / m_A18;
+ double tmp4 = 0.0;
+ tmp4 += m_A15 * V[6];
+ tmp4 += m_A16 * V[8];
+ V[4] = (RHS4 - tmp4) / m_A14;
+ double tmp3 = 0.0;
+ tmp3 += m_A10 * V[4];
+ tmp3 += m_A11 * V[6];
+ V[3] = (RHS3 - tmp3) / m_A9;
+ double tmp2 = 0.0;
+ tmp2 += m_A7 * V[4];
+ tmp2 += m_A8 * V[8];
+ V[2] = (RHS2 - tmp2) / m_A6;
+ double tmp1 = 0.0;
+ tmp1 += m_A4 * V[7];
+ tmp1 += m_A5 * V[8];
+ V[1] = (RHS1 - tmp1) / m_A3;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[5];
+ tmp0 += m_A2 * V[7];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// kidniki
+static void nl_gcr_58f8065842de37d4_34_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ m_A2 += go[1];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[2] * *cnV[2];
+ m_A3 += gt[3];
+ m_A3 += gt[4];
+ m_A3 += gt[5];
+ m_A3 += gt[6];
+ m_A3 += gt[7];
+ m_A3 += gt[8];
+ m_A3 += gt[9];
+ m_A5 += go[3];
+ m_A4 += go[4];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ RHS1 -= go[8] * *cnV[8];
+ RHS1 -= go[9] * *cnV[9];
+ m_A7 += gt[10];
+ m_A7 += gt[11];
+ m_A7 += gt[12];
+ m_A6 += go[10];
+ double RHS2 = Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ m_A9 += gt[13];
+ m_A9 += gt[14];
+ m_A9 += gt[15];
+ m_A11 += go[13];
+ m_A10 += go[14];
+ double RHS3 = Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ RHS3 -= go[15] * *cnV[15];
+ m_A12 += gt[16];
+ m_A12 += gt[17];
+ m_A12 += gt[18];
+ m_A14 += go[16];
+ m_A13 += go[17];
+ double RHS4 = Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 -= go[18] * *cnV[18];
+ m_A17 += gt[19];
+ m_A17 += gt[20];
+ m_A17 += gt[21];
+ m_A17 += gt[22];
+ m_A17 += gt[23];
+ m_A17 += gt[24];
+ m_A17 += gt[25];
+ m_A15 += go[19];
+ m_A18 += go[20];
+ double RHS5 = Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 += Idr[24];
+ RHS5 += Idr[25];
+ RHS5 -= go[21] * *cnV[21];
+ RHS5 -= go[22] * *cnV[22];
+ RHS5 -= go[23] * *cnV[23];
+ RHS5 -= go[24] * *cnV[24];
+ RHS5 -= go[25] * *cnV[25];
+ m_A21 += gt[26];
+ m_A21 += gt[27];
+ m_A21 += gt[28];
+ m_A21 += gt[29];
+ m_A21 += gt[30];
+ m_A21 += gt[31];
+ m_A19 += go[26];
+ m_A22 += go[27];
+ m_A20 += go[28];
+ double RHS6 = Idr[26];
+ RHS6 += Idr[27];
+ RHS6 += Idr[28];
+ RHS6 += Idr[29];
+ RHS6 += Idr[30];
+ RHS6 += Idr[31];
+ RHS6 -= go[29] * *cnV[29];
+ RHS6 -= go[30] * *cnV[30];
+ RHS6 -= go[31] * *cnV[31];
+ m_A27 += gt[32];
+ m_A27 += gt[33];
+ m_A27 += gt[34];
+ m_A27 += gt[35];
+ m_A27 += gt[36];
+ m_A26 += go[32];
+ m_A25 += go[33];
+ m_A23 += go[34];
+ double RHS7 = Idr[32];
+ RHS7 += Idr[33];
+ RHS7 += Idr[34];
+ RHS7 += Idr[35];
+ RHS7 += Idr[36];
+ RHS7 -= go[35] * *cnV[35];
+ RHS7 -= go[36] * *cnV[36];
+ m_A33 += gt[37];
+ m_A33 += gt[38];
+ m_A33 += gt[39];
+ m_A30 += go[37];
+ m_A31 += go[38];
+ m_A29 += go[39];
+ double RHS8 = Idr[37];
+ RHS8 += Idr[38];
+ RHS8 += Idr[39];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A6;
+ m_A7 += m_A1 * f0_2;
+ m_A8 += m_A2 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f0_5 = -f0 * m_A15;
+ m_A16 += m_A1 * f0_5;
+ m_A18 += m_A2 * f0_5;
+ RHS5 += f0_5 * RHS0;
+ const double f0_7 = -f0 * m_A23;
+ m_A24 += m_A1 * f0_7;
+ m_A27 += m_A2 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A3;
+ const double f1_6 = -f1 * m_A19;
+ m_A20 += m_A4 * f1_6;
+ m_A21 += m_A5 * f1_6;
+ RHS6 += f1_6 * RHS1;
+ const double f2 = 1.0 / m_A7;
+ const double f2_5 = -f2 * m_A16;
+ m_A18 += m_A8 * f2_5;
+ RHS5 += f2_5 * RHS2;
+ const double f2_7 = -f2 * m_A24;
+ m_A27 += m_A8 * f2_7;
+ RHS7 += f2_7 * RHS2;
+ const double f3 = 1.0 / m_A9;
+ const double f3_6 = -f3 * m_A20;
+ m_A21 += m_A10 * f3_6;
+ m_A22 += m_A11 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f3_8 = -f3 * m_A29;
+ m_A31 += m_A10 * f3_8;
+ m_A33 += m_A11 * f3_8;
+ RHS8 += f3_8 * RHS3;
+ const double f4 = 1.0 / m_A12;
+ const double f4_7 = -f4 * m_A25;
+ m_A27 += m_A13 * f4_7;
+ m_A28 += m_A14 * f4_7;
+ RHS7 += f4_7 * RHS4;
+ const double f4_8 = -f4 * m_A30;
+ m_A32 += m_A13 * f4_8;
+ m_A33 += m_A14 * f4_8;
+ RHS8 += f4_8 * RHS4;
+ const double f5 = 1.0 / m_A17;
+ const double f5_7 = -f5 * m_A26;
+ m_A27 += m_A18 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f6 = 1.0 / m_A21;
+ const double f6_8 = -f6 * m_A31;
+ m_A33 += m_A22 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A27;
+ const double f7_8 = -f7 * m_A32;
+ m_A33 += m_A28 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ V[8] = RHS8 / m_A33;
+ double tmp7 = 0.0;
+ tmp7 += m_A28 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A27;
+ double tmp6 = 0.0;
+ tmp6 += m_A22 * V[8];
+ V[6] = (RHS6 - tmp6) / m_A21;
+ double tmp5 = 0.0;
+ tmp5 += m_A18 * V[7];
+ V[5] = (RHS5 - tmp5) / m_A17;
+ double tmp4 = 0.0;
+ tmp4 += m_A13 * V[7];
+ tmp4 += m_A14 * V[8];
+ V[4] = (RHS4 - tmp4) / m_A12;
+ double tmp3 = 0.0;
+ tmp3 += m_A10 * V[6];
+ tmp3 += m_A11 * V[8];
+ V[3] = (RHS3 - tmp3) / m_A9;
+ double tmp2 = 0.0;
+ tmp2 += m_A8 * V[7];
+ V[2] = (RHS2 - tmp2) / m_A7;
+ double tmp1 = 0.0;
+ tmp1 += m_A4 * V[3];
+ tmp1 += m_A5 * V[6];
+ V[1] = (RHS1 - tmp1) / m_A3;
+ double tmp0 = 0.0;
tmp0 += m_A1 * V[2];
+ tmp0 += m_A2 * V[7];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// breakout
+static void nl_gcr_59095cbc65117534_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ m_A12 += gt[12];
+ m_A12 += gt[13];
+ m_A12 += gt[14];
+ m_A12 += gt[15];
+ m_A12 += gt[16];
+ m_A12 += gt[17];
+ m_A11 += go[12];
+ m_A10 += go[13];
+ m_A9 += go[14];
+ m_A8 += go[15];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 += Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 -= go[16] * *cnV[16];
+ RHS4 -= go[17] * *cnV[17];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A8;
+ m_A12 += m_A1 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A9;
+ m_A12 += m_A3 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_4 = -f2 * m_A10;
+ m_A12 += m_A5 * f2_4;
+ RHS4 += f2_4 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_4 = -f3 * m_A11;
+ m_A12 += m_A7 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ V[4] = RHS4 / m_A12;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[4];
+ V[3] = (RHS3 - tmp3) / m_A6;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[4];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[4];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[4];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// breakout
+static void nl_gcr_593686d4c01bf991_31_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A2 += gt[7];
+ m_A3 += go[5];
+ double RHS1 = Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A5 += go[8];
+ m_A6 += go[9];
+ double RHS2 = Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[10] * *cnV[10];
+ m_A7 += gt[11];
+ m_A7 += gt[12];
+ m_A7 += gt[13];
+ m_A8 += go[11];
+ double RHS3 = Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ m_A9 += gt[14];
+ m_A9 += gt[15];
+ m_A9 += gt[16];
+ m_A10 += go[14];
+ double RHS4 = Idr[14];
+ RHS4 += Idr[15];
+ RHS4 += Idr[16];
+ RHS4 -= go[15] * *cnV[15];
+ RHS4 -= go[16] * *cnV[16];
+ m_A12 += gt[17];
+ m_A12 += gt[18];
+ m_A12 += gt[19];
+ m_A12 += gt[20];
+ m_A12 += gt[21];
+ m_A12 += gt[22];
+ m_A12 += gt[23];
+ m_A14 += go[17];
+ m_A13 += go[18];
+ m_A11 += go[19];
+ double RHS5 = Idr[17];
+ RHS5 += Idr[18];
+ RHS5 += Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[20] * *cnV[20];
+ RHS5 -= go[21] * *cnV[21];
+ RHS5 -= go[22] * *cnV[22];
+ RHS5 -= go[23] * *cnV[23];
+ m_A16 += gt[24];
+ m_A16 += gt[25];
+ m_A16 += gt[26];
+ m_A16 += gt[27];
+ m_A16 += gt[28];
+ m_A18 += go[24];
+ m_A15 += go[25];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 += Idr[27];
+ RHS6 += Idr[28];
+ RHS6 -= go[26] * *cnV[26];
+ RHS6 -= go[27] * *cnV[27];
+ RHS6 -= go[28] * *cnV[28];
+ m_A23 += gt[29];
+ m_A23 += gt[30];
+ m_A23 += gt[31];
+ m_A19 += go[29];
+ m_A20 += go[30];
+ m_A21 += go[31];
+ double RHS7 = Idr[29];
+ RHS7 += Idr[30];
+ RHS7 += Idr[31];
+ m_A30 += gt[32];
+ m_A30 += gt[33];
+ m_A30 += gt[34];
+ m_A30 += gt[35];
+ m_A30 += gt[36];
+ m_A26 += go[32];
+ m_A25 += go[33];
+ m_A28 += go[34];
+ m_A27 += go[35];
+ double RHS8 = Idr[32];
+ RHS8 += Idr[33];
+ RHS8 += Idr[34];
+ RHS8 += Idr[35];
+ RHS8 += Idr[36];
+ RHS8 -= go[36] * *cnV[36];
+ const double f0 = 1.0 / m_A0;
+ const double f0_5 = -f0 * m_A11;
+ m_A12 += m_A1 * f0_5;
+ RHS5 += f0_5 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_7 = -f1 * m_A19;
+ m_A23 += m_A3 * f1_7;
+ RHS7 += f1_7 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_6 = -f2 * m_A15;
+ m_A16 += m_A5 * f2_6;
+ m_A17 += m_A6 * f2_6;
+ RHS6 += f2_6 * RHS2;
+ const double f2_7 = -f2 * m_A20;
+ m_A22 += m_A5 * f2_7;
+ m_A23 += m_A6 * f2_7;
+ RHS7 += f2_7 * RHS2;
+ const double f3 = 1.0 / m_A7;
+ const double f3_8 = -f3 * m_A25;
+ m_A30 += m_A8 * f3_8;
+ RHS8 += f3_8 * RHS3;
+ const double f4 = 1.0 / m_A9;
+ const double f4_8 = -f4 * m_A26;
+ m_A30 += m_A10 * f4_8;
+ RHS8 += f4_8 * RHS4;
+ const double f5 = 1.0 / m_A12;
+ const double f5_7 = -f5 * m_A21;
+ m_A23 += m_A13 * f5_7;
+ m_A24 += m_A14 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f5_8 = -f5 * m_A27;
+ m_A29 += m_A13 * f5_8;
+ m_A30 += m_A14 * f5_8;
+ RHS8 += f5_8 * RHS5;
+ const double f6 = 1.0 / m_A16;
+ const double f6_7 = -f6 * m_A22;
+ m_A23 += m_A17 * f6_7;
+ m_A24 += m_A18 * f6_7;
+ RHS7 += f6_7 * RHS6;
+ const double f6_8 = -f6 * m_A28;
+ m_A29 += m_A17 * f6_8;
+ m_A30 += m_A18 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A23;
+ const double f7_8 = -f7 * m_A29;
+ m_A30 += m_A24 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ V[8] = RHS8 / m_A30;
+ double tmp7 = 0.0;
+ tmp7 += m_A24 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A23;
+ double tmp6 = 0.0;
+ tmp6 += m_A17 * V[7];
+ tmp6 += m_A18 * V[8];
+ V[6] = (RHS6 - tmp6) / m_A16;
+ double tmp5 = 0.0;
+ tmp5 += m_A13 * V[7];
+ tmp5 += m_A14 * V[8];
+ V[5] = (RHS5 - tmp5) / m_A12;
+ double tmp4 = 0.0;
+ tmp4 += m_A10 * V[8];
+ V[4] = (RHS4 - tmp4) / m_A9;
+ double tmp3 = 0.0;
+ tmp3 += m_A8 * V[8];
+ V[3] = (RHS3 - tmp3) / m_A7;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[6];
+ tmp2 += m_A6 * V[7];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[7];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[5];
V[0] = (RHS0 - tmp0) / m_A0;
}
// zac1b11142
-static void nl_gcr_1dd100c8f34cf889_96_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_5a632d4741241573_96_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[25] * *cnV[25] - go[26] * *cnV[26] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30];
- m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38];
- m_A10 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44];
- m_A11 = m_A11 + go[40];
- m_A12 = m_A12 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44];
- m_A13 = gt[48] + gt[49] + gt[50];
- m_A14 = m_A14 + go[48];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50];
- m_A15 = gt[56] + gt[57];
- m_A16 = m_A16 + go[56];
- double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57];
- m_A17 = gt[64] + gt[65] + gt[66];
- m_A18 = m_A18 + go[64];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] - go[65] * *cnV[65] - go[66] * *cnV[66];
- m_A20 = gt[72] + gt[73];
- m_A19 = m_A19 + go[72];
- double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73];
- m_A21 = gt[80] + gt[81] + gt[82];
- m_A22 = m_A22 + go[80];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] - go[81] * *cnV[81] - go[82] * *cnV[82];
- m_A23 = gt[88] + gt[89] + gt[90];
- m_A24 = m_A24 + go[88];
- m_A25 = m_A25 + go[89];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] - go[90] * *cnV[90];
- m_A26 = gt[96] + gt[97] + gt[98];
- m_A27 = m_A27 + go[96];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] - go[97] * *cnV[97] - go[98] * *cnV[98];
- m_A29 = gt[104] + gt[105];
- m_A28 = m_A28 + go[104];
- double RHS13 = Idr[104] + Idr[105] - go[105] * *cnV[105];
- m_A31 = gt[112] + gt[113] + gt[114] + gt[115] + gt[116];
- m_A30 = m_A30 + go[112];
- m_A33 = m_A33 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] + Idr[116] - go[114] * *cnV[114] - go[115] * *cnV[115] - go[116] * *cnV[116];
- m_A35 = gt[120] + gt[121] + gt[122];
- m_A37 = m_A37 + go[120];
- m_A34 = m_A34 + go[121];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] - go[122] * *cnV[122];
- m_A39 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132];
- m_A38 = m_A38 + go[128];
- m_A41 = m_A41 + go[129];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132] - go[130] * *cnV[130] - go[131] * *cnV[131] - go[132] * *cnV[132];
- m_A44 = gt[136] + gt[137];
- m_A43 = m_A43 + go[136];
- m_A42 = m_A42 + go[137];
- double RHS17 = Idr[136] + Idr[137];
- m_A47 = gt[144] + gt[145] + gt[146];
- m_A48 = m_A48 + go[144];
- m_A45 = m_A45 + go[145];
- double RHS18 = Idr[144] + Idr[145] + Idr[146] - go[146] * *cnV[146];
- m_A51 = gt[152] + gt[153] + gt[154] + gt[155];
- m_A52 = m_A52 + go[152];
- m_A50 = m_A50 + go[153];
- double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] - go[154] * *cnV[154] - go[155] * *cnV[155];
- m_A54 = gt[160] + gt[161];
- m_A56 = m_A56 + go[160];
- m_A53 = m_A53 + go[161];
- double RHS20 = Idr[160] + Idr[161];
- m_A58 = gt[168] + gt[169] + gt[170] + gt[171];
- m_A59 = m_A59 + go[168];
- m_A57 = m_A57 + go[169];
- double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] - go[170] * *cnV[170] - go[171] * *cnV[171];
- m_A64 = gt[176] + gt[177] + gt[178] + gt[179] + gt[180] + gt[181];
- m_A60 = m_A60 + go[176];
- m_A61 = m_A61 + go[177];
- m_A66 = m_A66 + go[178];
- m_A66 = m_A66 + go[179];
- double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179] + Idr[180] + Idr[181] - go[180] * *cnV[180] - go[181] * *cnV[181];
- m_A73 = gt[184] + gt[185] + gt[186] + gt[187] + gt[188];
- m_A69 = m_A69 + go[184];
- m_A70 = m_A70 + go[185];
- m_A71 = m_A71 + go[186];
- m_A68 = m_A68 + go[187];
- m_A67 = m_A67 + go[188];
- double RHS23 = Idr[184] + Idr[185] + Idr[186] + Idr[187] + Idr[188];
- m_A76 = gt[192] + gt[193] + gt[194] + gt[195];
- m_A77 = m_A77 + go[192];
- m_A75 = m_A75 + go[193];
- double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[194] * *cnV[194] - go[195] * *cnV[195];
- m_A85 = gt[200] + gt[201] + gt[202] + gt[203] + gt[204];
- m_A81 = m_A81 + go[200];
- m_A80 = m_A80 + go[201];
- m_A82 = m_A82 + go[202];
- m_A79 = m_A79 + go[203];
- m_A78 = m_A78 + go[204];
- double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203] + Idr[204];
- m_A95 = gt[208] + gt[209] + gt[210] + gt[211] + gt[212] + gt[213] + gt[214] + gt[215];
- m_A89 = m_A89 + go[208];
- m_A92 = m_A92 + go[209];
- m_A92 = m_A92 + go[210];
- m_A90 = m_A90 + go[211];
- m_A88 = m_A88 + go[212];
- m_A87 = m_A87 + go[213];
- double RHS26 = Idr[208] + Idr[209] + Idr[210] + Idr[211] + Idr[212] + Idr[213] + Idr[214] + Idr[215] - go[214] * *cnV[214] - go[215] * *cnV[215];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 += Idr[8];
+ RHS1 -= go[3] * *cnV[3];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ RHS1 -= go[8] * *cnV[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A5 += go[9];
+ double RHS2 = Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[10] * *cnV[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A6 += gt[15];
+ m_A6 += gt[16];
+ m_A6 += gt[17];
+ m_A7 += go[11];
+ double RHS3 = Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ RHS3 += Idr[16];
+ RHS3 += Idr[17];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ RHS3 -= go[15] * *cnV[15];
+ RHS3 -= go[16] * *cnV[16];
+ RHS3 -= go[17] * *cnV[17];
+ m_A8 += gt[18];
+ m_A8 += gt[19];
+ m_A8 += gt[20];
+ m_A8 += gt[21];
+ m_A8 += gt[22];
+ m_A8 += gt[23];
+ m_A8 += gt[24];
+ m_A9 += go[18];
+ double RHS4 = Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 += Idr[22];
+ RHS4 += Idr[23];
+ RHS4 += Idr[24];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ RHS4 -= go[22] * *cnV[22];
+ RHS4 -= go[23] * *cnV[23];
+ RHS4 -= go[24] * *cnV[24];
+ m_A10 += gt[25];
+ m_A10 += gt[26];
+ m_A10 += gt[27];
+ m_A10 += gt[28];
+ m_A10 += gt[29];
+ m_A11 += go[25];
+ m_A12 += go[26];
+ double RHS5 = Idr[25];
+ RHS5 += Idr[26];
+ RHS5 += Idr[27];
+ RHS5 += Idr[28];
+ RHS5 += Idr[29];
+ RHS5 -= go[27] * *cnV[27];
+ RHS5 -= go[28] * *cnV[28];
+ RHS5 -= go[29] * *cnV[29];
+ m_A13 += gt[30];
+ m_A13 += gt[31];
+ m_A13 += gt[32];
+ m_A14 += go[30];
+ double RHS6 = Idr[30];
+ RHS6 += Idr[31];
+ RHS6 += Idr[32];
+ RHS6 -= go[31] * *cnV[31];
+ RHS6 -= go[32] * *cnV[32];
+ m_A15 += gt[33];
+ m_A15 += gt[34];
+ m_A16 += go[33];
+ double RHS7 = Idr[33];
+ RHS7 += Idr[34];
+ RHS7 -= go[34] * *cnV[34];
+ m_A17 += gt[35];
+ m_A17 += gt[36];
+ m_A17 += gt[37];
+ m_A18 += go[35];
+ double RHS8 = Idr[35];
+ RHS8 += Idr[36];
+ RHS8 += Idr[37];
+ RHS8 -= go[36] * *cnV[36];
+ RHS8 -= go[37] * *cnV[37];
+ m_A20 += gt[38];
+ m_A20 += gt[39];
+ m_A19 += go[38];
+ double RHS9 = Idr[38];
+ RHS9 += Idr[39];
+ RHS9 -= go[39] * *cnV[39];
+ m_A21 += gt[40];
+ m_A21 += gt[41];
+ m_A21 += gt[42];
+ m_A22 += go[40];
+ double RHS10 = Idr[40];
+ RHS10 += Idr[41];
+ RHS10 += Idr[42];
+ RHS10 -= go[41] * *cnV[41];
+ RHS10 -= go[42] * *cnV[42];
+ m_A23 += gt[43];
+ m_A23 += gt[44];
+ m_A23 += gt[45];
+ m_A24 += go[43];
+ m_A25 += go[44];
+ double RHS11 = Idr[43];
+ RHS11 += Idr[44];
+ RHS11 += Idr[45];
+ RHS11 -= go[45] * *cnV[45];
+ m_A26 += gt[46];
+ m_A26 += gt[47];
+ m_A26 += gt[48];
+ m_A27 += go[46];
+ double RHS12 = Idr[46];
+ RHS12 += Idr[47];
+ RHS12 += Idr[48];
+ RHS12 -= go[47] * *cnV[47];
+ RHS12 -= go[48] * *cnV[48];
+ m_A29 += gt[49];
+ m_A29 += gt[50];
+ m_A28 += go[49];
+ double RHS13 = Idr[49];
+ RHS13 += Idr[50];
+ RHS13 -= go[50] * *cnV[50];
+ m_A31 += gt[51];
+ m_A31 += gt[52];
+ m_A31 += gt[53];
+ m_A31 += gt[54];
+ m_A31 += gt[55];
+ m_A30 += go[51];
+ m_A33 += go[52];
+ double RHS14 = Idr[51];
+ RHS14 += Idr[52];
+ RHS14 += Idr[53];
+ RHS14 += Idr[54];
+ RHS14 += Idr[55];
+ RHS14 -= go[53] * *cnV[53];
+ RHS14 -= go[54] * *cnV[54];
+ RHS14 -= go[55] * *cnV[55];
+ m_A35 += gt[56];
+ m_A35 += gt[57];
+ m_A35 += gt[58];
+ m_A37 += go[56];
+ m_A34 += go[57];
+ double RHS15 = Idr[56];
+ RHS15 += Idr[57];
+ RHS15 += Idr[58];
+ RHS15 -= go[58] * *cnV[58];
+ m_A39 += gt[59];
+ m_A39 += gt[60];
+ m_A39 += gt[61];
+ m_A39 += gt[62];
+ m_A39 += gt[63];
+ m_A38 += go[59];
+ m_A41 += go[60];
+ double RHS16 = Idr[59];
+ RHS16 += Idr[60];
+ RHS16 += Idr[61];
+ RHS16 += Idr[62];
+ RHS16 += Idr[63];
+ RHS16 -= go[61] * *cnV[61];
+ RHS16 -= go[62] * *cnV[62];
+ RHS16 -= go[63] * *cnV[63];
+ m_A44 += gt[64];
+ m_A44 += gt[65];
+ m_A43 += go[64];
+ m_A42 += go[65];
+ double RHS17 = Idr[64];
+ RHS17 += Idr[65];
+ m_A47 += gt[66];
+ m_A47 += gt[67];
+ m_A47 += gt[68];
+ m_A48 += go[66];
+ m_A45 += go[67];
+ double RHS18 = Idr[66];
+ RHS18 += Idr[67];
+ RHS18 += Idr[68];
+ RHS18 -= go[68] * *cnV[68];
+ m_A51 += gt[69];
+ m_A51 += gt[70];
+ m_A51 += gt[71];
+ m_A51 += gt[72];
+ m_A52 += go[69];
+ m_A50 += go[70];
+ double RHS19 = Idr[69];
+ RHS19 += Idr[70];
+ RHS19 += Idr[71];
+ RHS19 += Idr[72];
+ RHS19 -= go[71] * *cnV[71];
+ RHS19 -= go[72] * *cnV[72];
+ m_A54 += gt[73];
+ m_A54 += gt[74];
+ m_A56 += go[73];
+ m_A53 += go[74];
+ double RHS20 = Idr[73];
+ RHS20 += Idr[74];
+ m_A58 += gt[75];
+ m_A58 += gt[76];
+ m_A58 += gt[77];
+ m_A58 += gt[78];
+ m_A59 += go[75];
+ m_A57 += go[76];
+ double RHS21 = Idr[75];
+ RHS21 += Idr[76];
+ RHS21 += Idr[77];
+ RHS21 += Idr[78];
+ RHS21 -= go[77] * *cnV[77];
+ RHS21 -= go[78] * *cnV[78];
+ m_A64 += gt[79];
+ m_A64 += gt[80];
+ m_A64 += gt[81];
+ m_A64 += gt[82];
+ m_A64 += gt[83];
+ m_A64 += gt[84];
+ m_A60 += go[79];
+ m_A61 += go[80];
+ m_A66 += go[81];
+ m_A66 += go[82];
+ double RHS22 = Idr[79];
+ RHS22 += Idr[80];
+ RHS22 += Idr[81];
+ RHS22 += Idr[82];
+ RHS22 += Idr[83];
+ RHS22 += Idr[84];
+ RHS22 -= go[83] * *cnV[83];
+ RHS22 -= go[84] * *cnV[84];
+ m_A73 += gt[85];
+ m_A73 += gt[86];
+ m_A73 += gt[87];
+ m_A73 += gt[88];
+ m_A73 += gt[89];
+ m_A69 += go[85];
+ m_A70 += go[86];
+ m_A71 += go[87];
+ m_A68 += go[88];
+ m_A67 += go[89];
+ double RHS23 = Idr[85];
+ RHS23 += Idr[86];
+ RHS23 += Idr[87];
+ RHS23 += Idr[88];
+ RHS23 += Idr[89];
+ m_A76 += gt[90];
+ m_A76 += gt[91];
+ m_A76 += gt[92];
+ m_A76 += gt[93];
+ m_A77 += go[90];
+ m_A75 += go[91];
+ double RHS24 = Idr[90];
+ RHS24 += Idr[91];
+ RHS24 += Idr[92];
+ RHS24 += Idr[93];
+ RHS24 -= go[92] * *cnV[92];
+ RHS24 -= go[93] * *cnV[93];
+ m_A85 += gt[94];
+ m_A85 += gt[95];
+ m_A85 += gt[96];
+ m_A85 += gt[97];
+ m_A85 += gt[98];
+ m_A81 += go[94];
+ m_A80 += go[95];
+ m_A82 += go[96];
+ m_A79 += go[97];
+ m_A78 += go[98];
+ double RHS25 = Idr[94];
+ RHS25 += Idr[95];
+ RHS25 += Idr[96];
+ RHS25 += Idr[97];
+ RHS25 += Idr[98];
+ m_A95 += gt[99];
+ m_A95 += gt[100];
+ m_A95 += gt[101];
+ m_A95 += gt[102];
+ m_A95 += gt[103];
+ m_A95 += gt[104];
+ m_A95 += gt[105];
+ m_A95 += gt[106];
+ m_A89 += go[99];
+ m_A92 += go[100];
+ m_A92 += go[101];
+ m_A90 += go[102];
+ m_A88 += go[103];
+ m_A87 += go[104];
+ double RHS26 = Idr[99];
+ RHS26 += Idr[100];
+ RHS26 += Idr[101];
+ RHS26 += Idr[102];
+ RHS26 += Idr[103];
+ RHS26 += Idr[104];
+ RHS26 += Idr[105];
+ RHS26 += Idr[106];
+ RHS26 -= go[105] * *cnV[105];
+ RHS26 -= go[106] * *cnV[106];
+ const double f0 = 1.0 / m_A0;
const double f0_9 = -f0 * m_A19;
m_A20 += m_A1 * f0_9;
RHS9 += f0_9 * RHS0;
const double f0_23 = -f0 * m_A67;
m_A69 += m_A1 * f0_23;
RHS23 += f0_23 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_16 = -f1 * m_A38;
m_A40 += m_A3 * f1_16;
RHS16 += f1_16 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_13 = -f2 * m_A28;
m_A29 += m_A5 * f2_13;
RHS13 += f2_13 * RHS2;
const double f2_26 = -f2 * m_A87;
m_A89 += m_A5 * f2_26;
RHS26 += f2_26 * RHS2;
-const double f3 = 1.0 / m_A6;
+ const double f3 = 1.0 / m_A6;
const double f3_22 = -f3 * m_A60;
m_A63 += m_A7 * f3_22;
RHS22 += f3_22 * RHS3;
-const double f4 = 1.0 / m_A8;
+ const double f4 = 1.0 / m_A8;
const double f4_14 = -f4 * m_A30;
m_A32 += m_A9 * f4_14;
RHS14 += f4_14 * RHS4;
-const double f5 = 1.0 / m_A10;
+ const double f5 = 1.0 / m_A10;
const double f5_15 = -f5 * m_A34;
m_A35 += m_A11 * f5_15;
m_A36 += m_A12 * f5_15;
@@ -2135,35 +5986,35 @@ const double f5 = 1.0 / m_A10;
m_A46 += m_A11 * f5_18;
m_A47 += m_A12 * f5_18;
RHS18 += f5_18 * RHS5;
-const double f6 = 1.0 / m_A13;
+ const double f6 = 1.0 / m_A13;
const double f6_19 = -f6 * m_A50;
m_A52 += m_A14 * f6_19;
RHS19 += f6_19 * RHS6;
const double f6_23 = -f6 * m_A68;
m_A73 += m_A14 * f6_23;
RHS23 += f6_23 * RHS6;
-const double f7 = 1.0 / m_A15;
+ const double f7 = 1.0 / m_A15;
const double f7_17 = -f7 * m_A42;
m_A44 += m_A16 * f7_17;
RHS17 += f7_17 * RHS7;
const double f7_25 = -f7 * m_A78;
m_A81 += m_A16 * f7_25;
RHS25 += f7_25 * RHS7;
-const double f8 = 1.0 / m_A17;
+ const double f8 = 1.0 / m_A17;
const double f8_17 = -f8 * m_A43;
m_A44 += m_A18 * f8_17;
RHS17 += f8_17 * RHS8;
-const double f9 = 1.0 / m_A20;
+ const double f9 = 1.0 / m_A20;
const double f9_23 = -f9 * m_A69;
RHS23 += f9_23 * RHS9;
-const double f10 = 1.0 / m_A21;
+ const double f10 = 1.0 / m_A21;
const double f10_21 = -f10 * m_A57;
m_A59 += m_A22 * f10_21;
RHS21 += f10_21 * RHS10;
const double f10_26 = -f10 * m_A88;
m_A95 += m_A22 * f10_26;
RHS26 += f10_26 * RHS10;
-const double f11 = 1.0 / m_A23;
+ const double f11 = 1.0 / m_A23;
const double f11_20 = -f11 * m_A53;
m_A54 += m_A24 * f11_20;
m_A55 += m_A25 * f11_20;
@@ -2172,22 +6023,22 @@ const double f11 = 1.0 / m_A23;
m_A62 += m_A24 * f11_22;
m_A64 += m_A25 * f11_22;
RHS22 += f11_22 * RHS11;
-const double f12 = 1.0 / m_A26;
+ const double f12 = 1.0 / m_A26;
const double f12_24 = -f12 * m_A75;
m_A77 += m_A27 * f12_24;
RHS24 += f12_24 * RHS12;
const double f12_25 = -f12 * m_A79;
m_A85 += m_A27 * f12_25;
RHS25 += f12_25 * RHS12;
-const double f13 = 1.0 / m_A29;
+ const double f13 = 1.0 / m_A29;
const double f13_26 = -f13 * m_A89;
RHS26 += f13_26 * RHS13;
-const double f14 = 1.0 / m_A31;
+ const double f14 = 1.0 / m_A31;
const double f14_25 = -f14 * m_A80;
m_A84 += m_A32 * f14_25;
m_A85 += m_A33 * f14_25;
RHS25 += f14_25 * RHS14;
-const double f15 = 1.0 / m_A35;
+ const double f15 = 1.0 / m_A35;
const double f15_18 = -f15 * m_A46;
m_A47 += m_A36 * f15_18;
m_A49 += m_A37 * f15_18;
@@ -2196,15 +6047,15 @@ const double f15 = 1.0 / m_A35;
m_A91 += m_A36 * f15_26;
m_A95 += m_A37 * f15_26;
RHS26 += f15_26 * RHS15;
-const double f16 = 1.0 / m_A39;
+ const double f16 = 1.0 / m_A39;
const double f16_23 = -f16 * m_A70;
m_A72 += m_A40 * f16_23;
m_A73 += m_A41 * f16_23;
RHS23 += f16_23 * RHS16;
-const double f17 = 1.0 / m_A44;
+ const double f17 = 1.0 / m_A44;
const double f17_25 = -f17 * m_A81;
RHS25 += f17_25 * RHS17;
-const double f18 = 1.0 / m_A47;
+ const double f18 = 1.0 / m_A47;
const double f18_23 = -f18 * m_A71;
m_A73 += m_A48 * f18_23;
m_A74 += m_A49 * f18_23;
@@ -2213,11 +6064,11 @@ const double f18 = 1.0 / m_A47;
m_A93 += m_A48 * f18_26;
m_A95 += m_A49 * f18_26;
RHS26 += f18_26 * RHS18;
-const double f19 = 1.0 / m_A51;
+ const double f19 = 1.0 / m_A51;
const double f19_23 = -f19 * m_A72;
m_A73 += m_A52 * f19_23;
RHS23 += f19_23 * RHS19;
-const double f20 = 1.0 / m_A54;
+ const double f20 = 1.0 / m_A54;
const double f20_22 = -f20 * m_A62;
m_A64 += m_A55 * f20_22;
m_A65 += m_A56 * f20_22;
@@ -2226,11 +6077,11 @@ const double f20 = 1.0 / m_A54;
m_A83 += m_A55 * f20_25;
m_A85 += m_A56 * f20_25;
RHS25 += f20_25 * RHS20;
-const double f21 = 1.0 / m_A58;
+ const double f21 = 1.0 / m_A58;
const double f21_22 = -f21 * m_A63;
m_A66 += m_A59 * f21_22;
RHS22 += f21_22 * RHS21;
-const double f22 = 1.0 / m_A64;
+ const double f22 = 1.0 / m_A64;
const double f22_25 = -f22 * m_A83;
m_A85 += m_A65 * f22_25;
m_A86 += m_A66 * f22_25;
@@ -2239,15 +6090,15 @@ const double f22 = 1.0 / m_A64;
m_A94 += m_A65 * f22_26;
m_A95 += m_A66 * f22_26;
RHS26 += f22_26 * RHS22;
-const double f23 = 1.0 / m_A73;
+ const double f23 = 1.0 / m_A73;
const double f23_26 = -f23 * m_A93;
m_A95 += m_A74 * f23_26;
RHS26 += f23_26 * RHS23;
-const double f24 = 1.0 / m_A76;
+ const double f24 = 1.0 / m_A76;
const double f24_25 = -f24 * m_A84;
m_A85 += m_A77 * f24_25;
RHS25 += f24_25 * RHS24;
-const double f25 = 1.0 / m_A85;
+ const double f25 = 1.0 / m_A85;
const double f25_26 = -f25 * m_A94;
m_A95 += m_A86 * f25_26;
RHS26 += f25_26 * RHS25;
@@ -2337,383 +6188,858 @@ const double f25 = 1.0 / m_A85;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// rebound
-static void nl_gcr_1faccd91c85d3ab3_28_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// 280zzzap
+static void nl_gcr_5af09c93b5cf0788_95_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[10] + gt[11] + gt[12] + gt[13];
- m_A4 = m_A4 + go[10];
- m_A4 = m_A4 + go[11];
- m_A3 = m_A3 + go[12];
- double RHS1 = Idr[10] + Idr[11] + Idr[12] + Idr[13] - go[13] * *cnV[13];
- m_A5 = gt[20] + gt[21] + gt[22];
- m_A6 = m_A6 + go[20];
- double RHS2 = Idr[20] + Idr[21] + Idr[22] - go[21] * *cnV[21] - go[22] * *cnV[22];
- m_A7 = gt[30] + gt[31] + gt[32] + gt[33] + gt[34] + gt[35] + gt[36];
- m_A8 = m_A8 + go[30];
- m_A8 = m_A8 + go[31];
- double RHS3 = Idr[30] + Idr[31] + Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[32] * *cnV[32] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36];
- m_A11 = gt[40] + gt[41] + gt[42];
- m_A13 = m_A13 + go[40];
- m_A10 = m_A10 + go[41];
- m_A9 = m_A9 + go[42];
- double RHS4 = Idr[40] + Idr[41] + Idr[42];
- m_A16 = gt[50] + gt[51] + gt[52] + gt[53] + gt[54] + gt[55] + gt[56];
- m_A18 = m_A18 + go[50];
- m_A14 = m_A14 + go[51];
- m_A14 = m_A14 + go[52];
- double RHS5 = Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] + Idr[55] + Idr[56] - go[53] * *cnV[53] - go[54] * *cnV[54] - go[55] * *cnV[55] - go[56] * *cnV[56];
- m_A22 = gt[60] + gt[61] + gt[62] + gt[63] + gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69];
- m_A23 = m_A23 + go[60];
- m_A23 = m_A23 + go[61];
- m_A20 = m_A20 + go[62];
- m_A19 = m_A19 + go[63];
- m_A19 = m_A19 + go[64];
- double RHS6 = Idr[60] + Idr[61] + Idr[62] + Idr[63] + Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] - go[65] * *cnV[65] - go[66] * *cnV[66] - go[67] * *cnV[67] - go[68] * *cnV[68] - go[69] * *cnV[69];
- m_A27 = gt[70] + gt[71] + gt[72] + gt[73] + gt[74];
- m_A26 = m_A26 + go[70];
- m_A26 = m_A26 + go[71];
- m_A25 = m_A25 + go[72];
- m_A24 = m_A24 + go[73];
- double RHS7 = Idr[70] + Idr[71] + Idr[72] + Idr[73] + Idr[74] - go[74] * *cnV[74];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A9;
- m_A11 += m_A1 * f0_4;
- RHS4 += f0_4 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A10;
- m_A11 += m_A3 * f1_4;
- m_A12 += m_A4 * f1_4;
- RHS4 += f1_4 * RHS1;
- const double f1_5 = -f1 * m_A14;
- m_A15 += m_A3 * f1_5;
- m_A16 += m_A4 * f1_5;
- RHS5 += f1_5 * RHS1;
-const double f2 = 1.0 / m_A5;
- const double f2_7 = -f2 * m_A24;
- m_A27 += m_A6 * f2_7;
- RHS7 += f2_7 * RHS2;
-const double f3 = 1.0 / m_A7;
- const double f3_6 = -f3 * m_A19;
- m_A22 += m_A8 * f3_6;
- RHS6 += f3_6 * RHS3;
-const double f4 = 1.0 / m_A11;
- const double f4_5 = -f4 * m_A15;
- m_A16 += m_A12 * f4_5;
- m_A17 += m_A13 * f4_5;
- RHS5 += f4_5 * RHS4;
- const double f4_6 = -f4 * m_A20;
- m_A21 += m_A12 * f4_6;
- m_A22 += m_A13 * f4_6;
- RHS6 += f4_6 * RHS4;
-const double f5 = 1.0 / m_A16;
- const double f5_6 = -f5 * m_A21;
- m_A22 += m_A17 * f5_6;
- m_A23 += m_A18 * f5_6;
- RHS6 += f5_6 * RHS5;
- const double f5_7 = -f5 * m_A25;
- m_A26 += m_A17 * f5_7;
- m_A27 += m_A18 * f5_7;
- RHS7 += f5_7 * RHS5;
-const double f6 = 1.0 / m_A22;
- const double f6_7 = -f6 * m_A26;
- m_A27 += m_A23 * f6_7;
- RHS7 += f6_7 * RHS6;
- V[7] = RHS7 / m_A27;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A2 += gt[9];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ RHS1 -= go[8] * *cnV[8];
+ RHS1 -= go[9] * *cnV[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A4 += gt[12];
+ m_A5 += go[10];
+ double RHS2 = Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A6 += gt[15];
+ m_A6 += gt[16];
+ m_A6 += gt[17];
+ m_A6 += gt[18];
+ m_A6 += gt[19];
+ m_A7 += go[13];
+ double RHS3 = Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ RHS3 += Idr[16];
+ RHS3 += Idr[17];
+ RHS3 += Idr[18];
+ RHS3 += Idr[19];
+ RHS3 -= go[14] * *cnV[14];
+ RHS3 -= go[15] * *cnV[15];
+ RHS3 -= go[16] * *cnV[16];
+ RHS3 -= go[17] * *cnV[17];
+ RHS3 -= go[18] * *cnV[18];
+ RHS3 -= go[19] * *cnV[19];
+ m_A8 += gt[20];
+ m_A8 += gt[21];
+ m_A9 += go[20];
+ double RHS4 = Idr[20];
+ RHS4 += Idr[21];
+ RHS4 -= go[21] * *cnV[21];
+ m_A10 += gt[22];
+ m_A10 += gt[23];
+ m_A11 += go[22];
+ double RHS5 = Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[23] * *cnV[23];
+ m_A12 += gt[24];
+ m_A12 += gt[25];
+ m_A12 += gt[26];
+ m_A12 += gt[27];
+ m_A13 += go[24];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 += Idr[27];
+ RHS6 -= go[25] * *cnV[25];
+ RHS6 -= go[26] * *cnV[26];
+ RHS6 -= go[27] * *cnV[27];
+ m_A14 += gt[28];
+ m_A14 += gt[29];
+ m_A14 += gt[30];
+ m_A14 += gt[31];
+ m_A15 += go[28];
+ double RHS7 = Idr[28];
+ RHS7 += Idr[29];
+ RHS7 += Idr[30];
+ RHS7 += Idr[31];
+ RHS7 -= go[29] * *cnV[29];
+ RHS7 -= go[30] * *cnV[30];
+ RHS7 -= go[31] * *cnV[31];
+ m_A16 += gt[32];
+ m_A16 += gt[33];
+ m_A17 += go[32];
+ double RHS8 = Idr[32];
+ RHS8 += Idr[33];
+ RHS8 -= go[33] * *cnV[33];
+ m_A18 += gt[34];
+ m_A18 += gt[35];
+ m_A18 += gt[36];
+ m_A18 += gt[37];
+ m_A19 += go[34];
+ double RHS9 = Idr[34];
+ RHS9 += Idr[35];
+ RHS9 += Idr[36];
+ RHS9 += Idr[37];
+ RHS9 -= go[35] * *cnV[35];
+ RHS9 -= go[36] * *cnV[36];
+ RHS9 -= go[37] * *cnV[37];
+ m_A20 += gt[38];
+ m_A20 += gt[39];
+ m_A22 += go[38];
+ m_A21 += go[39];
+ double RHS10 = Idr[38];
+ RHS10 += Idr[39];
+ m_A23 += gt[40];
+ m_A23 += gt[41];
+ m_A23 += gt[42];
+ m_A23 += gt[43];
+ m_A24 += go[40];
+ double RHS11 = Idr[40];
+ RHS11 += Idr[41];
+ RHS11 += Idr[42];
+ RHS11 += Idr[43];
+ RHS11 -= go[41] * *cnV[41];
+ RHS11 -= go[42] * *cnV[42];
+ RHS11 -= go[43] * *cnV[43];
+ m_A25 += gt[44];
+ m_A25 += gt[45];
+ m_A25 += gt[46];
+ m_A27 += go[44];
+ m_A28 += go[45];
+ m_A26 += go[46];
+ double RHS12 = Idr[44];
+ RHS12 += Idr[45];
+ RHS12 += Idr[46];
+ m_A29 += gt[47];
+ m_A29 += gt[48];
+ m_A31 += go[47];
+ m_A30 += go[48];
+ double RHS13 = Idr[47];
+ RHS13 += Idr[48];
+ m_A37 += gt[49];
+ m_A37 += gt[50];
+ m_A37 += gt[51];
+ m_A37 += gt[52];
+ m_A37 += gt[53];
+ m_A37 += gt[54];
+ m_A36 += go[49];
+ m_A35 += go[50];
+ m_A34 += go[51];
+ m_A33 += go[52];
+ m_A32 += go[53];
+ double RHS14 = Idr[49];
+ RHS14 += Idr[50];
+ RHS14 += Idr[51];
+ RHS14 += Idr[52];
+ RHS14 += Idr[53];
+ RHS14 += Idr[54];
+ RHS14 -= go[54] * *cnV[54];
+ m_A39 += gt[55];
+ m_A39 += gt[56];
+ m_A39 += gt[57];
+ m_A39 += gt[58];
+ m_A38 += go[55];
+ m_A40 += go[56];
+ double RHS15 = Idr[55];
+ RHS15 += Idr[56];
+ RHS15 += Idr[57];
+ RHS15 += Idr[58];
+ RHS15 -= go[57] * *cnV[57];
+ RHS15 -= go[58] * *cnV[58];
+ m_A42 += gt[59];
+ m_A42 += gt[60];
+ m_A42 += gt[61];
+ m_A42 += gt[62];
+ m_A41 += go[59];
+ m_A43 += go[60];
+ double RHS16 = Idr[59];
+ RHS16 += Idr[60];
+ RHS16 += Idr[61];
+ RHS16 += Idr[62];
+ RHS16 -= go[61] * *cnV[61];
+ RHS16 -= go[62] * *cnV[62];
+ m_A45 += gt[63];
+ m_A45 += gt[64];
+ m_A45 += gt[65];
+ m_A46 += go[63];
+ m_A44 += go[64];
+ double RHS17 = Idr[63];
+ RHS17 += Idr[64];
+ RHS17 += Idr[65];
+ RHS17 -= go[65] * *cnV[65];
+ m_A52 += gt[66];
+ m_A52 += gt[67];
+ m_A52 += gt[68];
+ m_A52 += gt[69];
+ m_A52 += gt[70];
+ m_A52 += gt[71];
+ m_A49 += go[66];
+ m_A50 += go[67];
+ m_A51 += go[68];
+ m_A47 += go[69];
+ m_A48 += go[70];
+ double RHS18 = Idr[66];
+ RHS18 += Idr[67];
+ RHS18 += Idr[68];
+ RHS18 += Idr[69];
+ RHS18 += Idr[70];
+ RHS18 += Idr[71];
+ RHS18 -= go[71] * *cnV[71];
+ m_A59 += gt[72];
+ m_A59 += gt[73];
+ m_A57 += go[72];
+ m_A62 += go[73];
+ double RHS19 = Idr[72];
+ RHS19 += Idr[73];
+ m_A66 += gt[74];
+ m_A66 += gt[75];
+ m_A66 += gt[76];
+ m_A66 += gt[77];
+ m_A66 += gt[78];
+ m_A66 += gt[79];
+ m_A63 += go[74];
+ m_A64 += go[75];
+ m_A68 += go[76];
+ m_A67 += go[77];
+ double RHS20 = Idr[74];
+ RHS20 += Idr[75];
+ RHS20 += Idr[76];
+ RHS20 += Idr[77];
+ RHS20 += Idr[78];
+ RHS20 += Idr[79];
+ RHS20 -= go[78] * *cnV[78];
+ RHS20 -= go[79] * *cnV[79];
+ m_A73 += gt[80];
+ m_A73 += gt[81];
+ m_A73 += gt[82];
+ m_A73 += gt[83];
+ m_A72 += go[80];
+ m_A71 += go[81];
+ m_A69 += go[82];
+ m_A70 += go[83];
+ double RHS21 = Idr[80];
+ RHS21 += Idr[81];
+ RHS21 += Idr[82];
+ RHS21 += Idr[83];
+ m_A80 += gt[84];
+ m_A80 += gt[85];
+ m_A80 += gt[86];
+ m_A80 += gt[87];
+ m_A80 += gt[88];
+ m_A80 += gt[89];
+ m_A80 += gt[90];
+ m_A80 += gt[91];
+ m_A80 += gt[92];
+ m_A80 += gt[93];
+ m_A80 += gt[94];
+ m_A75 += go[84];
+ m_A82 += go[85];
+ m_A76 += go[86];
+ double RHS22 = Idr[84];
+ RHS22 += Idr[85];
+ RHS22 += Idr[86];
+ RHS22 += Idr[87];
+ RHS22 += Idr[88];
+ RHS22 += Idr[89];
+ RHS22 += Idr[90];
+ RHS22 += Idr[91];
+ RHS22 += Idr[92];
+ RHS22 += Idr[93];
+ RHS22 += Idr[94];
+ RHS22 -= go[87] * *cnV[87];
+ RHS22 -= go[88] * *cnV[88];
+ RHS22 -= go[89] * *cnV[89];
+ RHS22 -= go[90] * *cnV[90];
+ RHS22 -= go[91] * *cnV[91];
+ RHS22 -= go[92] * *cnV[92];
+ RHS22 -= go[93] * *cnV[93];
+ RHS22 -= go[94] * *cnV[94];
+ m_A88 += gt[95];
+ m_A88 += gt[96];
+ m_A88 += gt[97];
+ m_A88 += gt[98];
+ m_A88 += gt[99];
+ m_A83 += go[95];
+ m_A85 += go[96];
+ m_A84 += go[97];
+ m_A86 += go[98];
+ double RHS23 = Idr[95];
+ RHS23 += Idr[96];
+ RHS23 += Idr[97];
+ RHS23 += Idr[98];
+ RHS23 += Idr[99];
+ RHS23 -= go[99] * *cnV[99];
+ m_A94 += gt[100];
+ m_A94 += gt[101];
+ m_A94 += gt[102];
+ m_A91 += go[100];
+ m_A89 += go[101];
+ m_A92 += go[102];
+ double RHS24 = Idr[100];
+ RHS24 += Idr[101];
+ RHS24 += Idr[102];
+ const double f0 = 1.0 / m_A0;
+ const double f0_15 = -f0 * m_A38;
+ m_A40 += m_A1 * f0_15;
+ RHS15 += f0_15 * RHS0;
+ const double f0_21 = -f0 * m_A69;
+ m_A73 += m_A1 * f0_21;
+ RHS21 += f0_21 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_20 = -f1 * m_A63;
+ m_A65 += m_A3 * f1_20;
+ RHS20 += f1_20 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_16 = -f2 * m_A41;
+ m_A43 += m_A5 * f2_16;
+ RHS16 += f2_16 * RHS2;
+ const double f2_18 = -f2 * m_A47;
+ m_A52 += m_A5 * f2_18;
+ RHS18 += f2_18 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_22 = -f3 * m_A75;
+ m_A77 += m_A7 * f3_22;
+ RHS22 += f3_22 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_14 = -f4 * m_A32;
+ m_A37 += m_A9 * f4_14;
+ RHS14 += f4_14 * RHS4;
+ const double f4_21 = -f4 * m_A70;
+ m_A71 += m_A9 * f4_21;
+ RHS21 += f4_21 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_17 = -f5 * m_A44;
+ m_A45 += m_A11 * f5_17;
+ RHS17 += f5_17 * RHS5;
+ const double f5_18 = -f5 * m_A48;
+ m_A51 += m_A11 * f5_18;
+ RHS18 += f5_18 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_14 = -f6 * m_A33;
+ m_A37 += m_A13 * f6_14;
+ RHS14 += f6_14 * RHS6;
+ const double f7 = 1.0 / m_A14;
+ const double f7_14 = -f7 * m_A34;
+ m_A37 += m_A15 * f7_14;
+ RHS14 += f7_14 * RHS7;
+ const double f8 = 1.0 / m_A16;
+ const double f8_23 = -f8 * m_A83;
+ m_A88 += m_A17 * f8_23;
+ RHS23 += f8_23 * RHS8;
+ const double f9 = 1.0 / m_A18;
+ const double f9_14 = -f9 * m_A35;
+ m_A37 += m_A19 * f9_14;
+ RHS14 += f9_14 * RHS9;
+ const double f10 = 1.0 / m_A20;
+ const double f10_20 = -f10 * m_A64;
+ m_A66 += m_A21 * f10_20;
+ m_A68 += m_A22 * f10_20;
+ RHS20 += f10_20 * RHS10;
+ const double f10_23 = -f10 * m_A84;
+ m_A86 += m_A21 * f10_23;
+ m_A88 += m_A22 * f10_23;
+ RHS23 += f10_23 * RHS10;
+ const double f11 = 1.0 / m_A23;
+ const double f11_14 = -f11 * m_A36;
+ m_A37 += m_A24 * f11_14;
+ RHS14 += f11_14 * RHS11;
+ const double f12 = 1.0 / m_A25;
+ const double f12_18 = -f12 * m_A49;
+ m_A52 += m_A26 * f12_18;
+ m_A53 += m_A27 * f12_18;
+ m_A56 += m_A28 * f12_18;
+ RHS18 += f12_18 * RHS12;
+ const double f12_19 = -f12 * m_A57;
+ m_A58 += m_A26 * f12_19;
+ m_A59 += m_A27 * f12_19;
+ m_A62 += m_A28 * f12_19;
+ RHS19 += f12_19 * RHS12;
+ const double f12_24 = -f12 * m_A89;
+ m_A90 += m_A26 * f12_24;
+ m_A91 += m_A27 * f12_24;
+ m_A94 += m_A28 * f12_24;
+ RHS24 += f12_24 * RHS12;
+ const double f13 = 1.0 / m_A29;
+ const double f13_18 = -f13 * m_A50;
+ m_A52 += m_A30 * f13_18;
+ m_A54 += m_A31 * f13_18;
+ RHS18 += f13_18 * RHS13;
+ const double f13_22 = -f13 * m_A76;
+ m_A78 += m_A30 * f13_22;
+ m_A80 += m_A31 * f13_22;
+ RHS22 += f13_22 * RHS13;
+ const double f14 = 1.0 / m_A37;
+ const double f14_21 = -f14 * m_A71;
+ RHS21 += f14_21 * RHS14;
+ const double f15 = 1.0 / m_A39;
+ const double f15_20 = -f15 * m_A65;
+ m_A67 += m_A40 * f15_20;
+ RHS20 += f15_20 * RHS15;
+ const double f16 = 1.0 / m_A42;
+ const double f16_22 = -f16 * m_A77;
+ m_A78 += m_A43 * f16_22;
+ RHS22 += f16_22 * RHS16;
+ const double f17 = 1.0 / m_A45;
+ const double f17_18 = -f17 * m_A51;
+ m_A55 += m_A46 * f17_18;
+ RHS18 += f17_18 * RHS17;
+ const double f17_23 = -f17 * m_A85;
+ m_A88 += m_A46 * f17_23;
+ RHS23 += f17_23 * RHS17;
+ const double f18 = 1.0 / m_A52;
+ const double f18_19 = -f18 * m_A58;
+ m_A59 += m_A53 * f18_19;
+ m_A60 += m_A54 * f18_19;
+ m_A61 += m_A55 * f18_19;
+ m_A62 += m_A56 * f18_19;
+ RHS19 += f18_19 * RHS18;
+ const double f18_22 = -f18 * m_A78;
+ m_A79 += m_A53 * f18_22;
+ m_A80 += m_A54 * f18_22;
+ m_A81 += m_A55 * f18_22;
+ m_A82 += m_A56 * f18_22;
+ RHS22 += f18_22 * RHS18;
+ const double f18_24 = -f18 * m_A90;
+ m_A91 += m_A53 * f18_24;
+ m_A92 += m_A54 * f18_24;
+ m_A93 += m_A55 * f18_24;
+ m_A94 += m_A56 * f18_24;
+ RHS24 += f18_24 * RHS18;
+ const double f19 = 1.0 / m_A59;
+ const double f19_22 = -f19 * m_A79;
+ m_A80 += m_A60 * f19_22;
+ m_A81 += m_A61 * f19_22;
+ m_A82 += m_A62 * f19_22;
+ RHS22 += f19_22 * RHS19;
+ const double f19_24 = -f19 * m_A91;
+ m_A92 += m_A60 * f19_24;
+ m_A93 += m_A61 * f19_24;
+ m_A94 += m_A62 * f19_24;
+ RHS24 += f19_24 * RHS19;
+ const double f20 = 1.0 / m_A66;
+ const double f20_21 = -f20 * m_A72;
+ m_A73 += m_A67 * f20_21;
+ m_A74 += m_A68 * f20_21;
+ RHS21 += f20_21 * RHS20;
+ const double f20_23 = -f20 * m_A86;
+ m_A87 += m_A67 * f20_23;
+ m_A88 += m_A68 * f20_23;
+ RHS23 += f20_23 * RHS20;
+ const double f21 = 1.0 / m_A73;
+ const double f21_23 = -f21 * m_A87;
+ m_A88 += m_A74 * f21_23;
+ RHS23 += f21_23 * RHS21;
+ const double f22 = 1.0 / m_A80;
+ const double f22_24 = -f22 * m_A92;
+ m_A93 += m_A81 * f22_24;
+ m_A94 += m_A82 * f22_24;
+ RHS24 += f22_24 * RHS22;
+ const double f23 = 1.0 / m_A88;
+ const double f23_24 = -f23 * m_A93;
+ RHS24 += f23_24 * RHS23;
+ V[24] = RHS24 / m_A94;
+ double tmp23 = 0.0;
+ V[23] = (RHS23 - tmp23) / m_A88;
+ double tmp22 = 0.0;
+ tmp22 += m_A81 * V[23];
+ tmp22 += m_A82 * V[24];
+ V[22] = (RHS22 - tmp22) / m_A80;
+ double tmp21 = 0.0;
+ tmp21 += m_A74 * V[23];
+ V[21] = (RHS21 - tmp21) / m_A73;
+ double tmp20 = 0.0;
+ tmp20 += m_A67 * V[21];
+ tmp20 += m_A68 * V[23];
+ V[20] = (RHS20 - tmp20) / m_A66;
+ double tmp19 = 0.0;
+ tmp19 += m_A60 * V[22];
+ tmp19 += m_A61 * V[23];
+ tmp19 += m_A62 * V[24];
+ V[19] = (RHS19 - tmp19) / m_A59;
+ double tmp18 = 0.0;
+ tmp18 += m_A53 * V[19];
+ tmp18 += m_A54 * V[22];
+ tmp18 += m_A55 * V[23];
+ tmp18 += m_A56 * V[24];
+ V[18] = (RHS18 - tmp18) / m_A52;
+ double tmp17 = 0.0;
+ tmp17 += m_A46 * V[23];
+ V[17] = (RHS17 - tmp17) / m_A45;
+ double tmp16 = 0.0;
+ tmp16 += m_A43 * V[18];
+ V[16] = (RHS16 - tmp16) / m_A42;
+ double tmp15 = 0.0;
+ tmp15 += m_A40 * V[21];
+ V[15] = (RHS15 - tmp15) / m_A39;
+ double tmp14 = 0.0;
+ V[14] = (RHS14 - tmp14) / m_A37;
+ double tmp13 = 0.0;
+ tmp13 += m_A30 * V[18];
+ tmp13 += m_A31 * V[22];
+ V[13] = (RHS13 - tmp13) / m_A29;
+ double tmp12 = 0.0;
+ tmp12 += m_A26 * V[18];
+ tmp12 += m_A27 * V[19];
+ tmp12 += m_A28 * V[24];
+ V[12] = (RHS12 - tmp12) / m_A25;
+ double tmp11 = 0.0;
+ tmp11 += m_A24 * V[14];
+ V[11] = (RHS11 - tmp11) / m_A23;
+ double tmp10 = 0.0;
+ tmp10 += m_A21 * V[20];
+ tmp10 += m_A22 * V[23];
+ V[10] = (RHS10 - tmp10) / m_A20;
+ double tmp9 = 0.0;
+ tmp9 += m_A19 * V[14];
+ V[9] = (RHS9 - tmp9) / m_A18;
+ double tmp8 = 0.0;
+ tmp8 += m_A17 * V[23];
+ V[8] = (RHS8 - tmp8) / m_A16;
+ double tmp7 = 0.0;
+ tmp7 += m_A15 * V[14];
+ V[7] = (RHS7 - tmp7) / m_A14;
double tmp6 = 0.0;
- tmp6 += m_A23 * V[7];
- V[6] = (RHS6 - tmp6) / m_A22;
+ tmp6 += m_A13 * V[14];
+ V[6] = (RHS6 - tmp6) / m_A12;
double tmp5 = 0.0;
- tmp5 += m_A17 * V[6];
- tmp5 += m_A18 * V[7];
- V[5] = (RHS5 - tmp5) / m_A16;
+ tmp5 += m_A11 * V[17];
+ V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A12 * V[5];
- tmp4 += m_A13 * V[6];
- V[4] = (RHS4 - tmp4) / m_A11;
- double tmp3 = 0.0;
- tmp3 += m_A8 * V[6];
- V[3] = (RHS3 - tmp3) / m_A7;
- double tmp2 = 0.0;
- tmp2 += m_A6 * V[7];
- V[2] = (RHS2 - tmp2) / m_A5;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[4];
- tmp1 += m_A4 * V[5];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// breakout
-static void nl_gcr_1fffb23aa506432d_13_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A4 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A6 = gt[12] + gt[13] + gt[14];
- m_A7 = m_A7 + go[12];
- double RHS3 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A12 = gt[16] + gt[17] + gt[18] + gt[19];
- m_A11 = m_A11 + go[16];
- m_A10 = m_A10 + go[17];
- m_A9 = m_A9 + go[18];
- m_A8 = m_A8 + go[19];
- double RHS4 = Idr[16] + Idr[17] + Idr[18] + Idr[19];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A8;
- m_A12 += m_A1 * f0_4;
- RHS4 += f0_4 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A9;
- m_A12 += m_A3 * f1_4;
- RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_4 = -f2 * m_A10;
- m_A12 += m_A5 * f2_4;
- RHS4 += f2_4 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_4 = -f3 * m_A11;
- m_A12 += m_A7 * f3_4;
- RHS4 += f3_4 * RHS3;
- V[4] = RHS4 / m_A12;
+ tmp4 += m_A9 * V[14];
+ V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[4];
+ tmp3 += m_A7 * V[16];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[4];
- V[2] = (RHS2 - tmp2) / m_A4;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[4];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// pongf
-static void nl_gcr_20615d28f46254cb_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A4 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A9 = gt[12] + gt[13] + gt[14];
- m_A8 = m_A8 + go[12];
- m_A7 = m_A7 + go[13];
- m_A6 = m_A6 + go[14];
- double RHS3 = Idr[12] + Idr[13] + Idr[14];
-const double f0 = 1.0 / m_A0;
- const double f0_3 = -f0 * m_A6;
- m_A9 += m_A1 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_3 = -f1 * m_A7;
- m_A9 += m_A3 * f1_3;
- RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_3 = -f2 * m_A8;
- m_A9 += m_A5 * f2_3;
- RHS3 += f2_3 * RHS2;
- V[3] = RHS3 / m_A9;
- double tmp2 = 0.0;
- tmp2 += m_A5 * V[3];
+ tmp2 += m_A5 * V[18];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[3];
+ tmp1 += m_A3 * V[15];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[3];
+ tmp0 += m_A1 * V[21];
V[0] = (RHS0 - tmp0) / m_A0;
}
// zac1b11142
-static void nl_gcr_21d92b630d2e9a99_30_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_60352d234249ea57_30_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A8 = gt[32] + gt[33] + gt[34];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A11 = gt[40] + gt[41] + gt[42] + gt[43];
- m_A12 = m_A12 + go[40];
- m_A10 = m_A10 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] - go[42] * *cnV[42] - go[43] * *cnV[43];
- m_A14 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54];
- m_A13 = m_A13 + go[48];
- m_A16 = m_A16 + go[49];
- m_A16 = m_A16 + go[50];
- m_A16 = m_A16 + go[51];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[52] * *cnV[52] - go[53] * *cnV[53] - go[54] * *cnV[54];
- m_A19 = gt[56] + gt[57];
- m_A18 = m_A18 + go[56];
- m_A17 = m_A17 + go[57];
- double RHS7 = Idr[56] + Idr[57];
- m_A21 = gt[64] + gt[65] + gt[66] + gt[67];
- m_A22 = m_A22 + go[64];
- m_A20 = m_A20 + go[65];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[66] * *cnV[66] - go[67] * *cnV[67];
- m_A29 = gt[72] + gt[73] + gt[74] + gt[75] + gt[76] + gt[77] + gt[78];
- m_A26 = m_A26 + go[72];
- m_A26 = m_A26 + go[73];
- m_A26 = m_A26 + go[74];
- m_A27 = m_A27 + go[75];
- m_A25 = m_A25 + go[76];
- m_A24 = m_A24 + go[77];
- m_A23 = m_A23 + go[78];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] + Idr[76] + Idr[77] + Idr[78];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A0 += gt[5];
+ m_A0 += gt[6];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 += Idr[5];
+ RHS0 += Idr[6];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ RHS0 -= go[5] * *cnV[5];
+ RHS0 -= go[6] * *cnV[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A2 += gt[9];
+ m_A3 += go[7];
+ double RHS1 = Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 -= go[8] * *cnV[8];
+ RHS1 -= go[9] * *cnV[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A5 += go[10];
+ double RHS2 = Idr[10];
+ RHS2 += Idr[11];
+ RHS2 -= go[11] * *cnV[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A7 += go[12];
+ double RHS3 = Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A8 += gt[17];
+ m_A9 += go[15];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 -= go[16] * *cnV[16];
+ RHS4 -= go[17] * *cnV[17];
+ m_A11 += gt[18];
+ m_A11 += gt[19];
+ m_A11 += gt[20];
+ m_A11 += gt[21];
+ m_A12 += go[18];
+ m_A10 += go[19];
+ double RHS5 = Idr[18];
+ RHS5 += Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 -= go[20] * *cnV[20];
+ RHS5 -= go[21] * *cnV[21];
+ m_A14 += gt[22];
+ m_A14 += gt[23];
+ m_A14 += gt[24];
+ m_A14 += gt[25];
+ m_A14 += gt[26];
+ m_A14 += gt[27];
+ m_A14 += gt[28];
+ m_A13 += go[22];
+ m_A16 += go[23];
+ m_A16 += go[24];
+ m_A16 += go[25];
+ double RHS6 = Idr[22];
+ RHS6 += Idr[23];
+ RHS6 += Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 += Idr[27];
+ RHS6 += Idr[28];
+ RHS6 -= go[26] * *cnV[26];
+ RHS6 -= go[27] * *cnV[27];
+ RHS6 -= go[28] * *cnV[28];
+ m_A19 += gt[29];
+ m_A19 += gt[30];
+ m_A18 += go[29];
+ m_A17 += go[30];
+ double RHS7 = Idr[29];
+ RHS7 += Idr[30];
+ m_A21 += gt[31];
+ m_A21 += gt[32];
+ m_A21 += gt[33];
+ m_A21 += gt[34];
+ m_A22 += go[31];
+ m_A20 += go[32];
+ double RHS8 = Idr[31];
+ RHS8 += Idr[32];
+ RHS8 += Idr[33];
+ RHS8 += Idr[34];
+ RHS8 -= go[33] * *cnV[33];
+ RHS8 -= go[34] * *cnV[34];
+ m_A29 += gt[35];
+ m_A29 += gt[36];
+ m_A29 += gt[37];
+ m_A29 += gt[38];
+ m_A29 += gt[39];
+ m_A29 += gt[40];
+ m_A29 += gt[41];
+ m_A26 += go[35];
+ m_A26 += go[36];
+ m_A26 += go[37];
+ m_A27 += go[38];
+ m_A25 += go[39];
+ m_A24 += go[40];
+ m_A23 += go[41];
+ double RHS9 = Idr[35];
+ RHS9 += Idr[36];
+ RHS9 += Idr[37];
+ RHS9 += Idr[38];
+ RHS9 += Idr[39];
+ RHS9 += Idr[40];
+ RHS9 += Idr[41];
+ const double f0 = 1.0 / m_A0;
const double f0_6 = -f0 * m_A13;
m_A15 += m_A1 * f0_6;
RHS6 += f0_6 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_5 = -f1 * m_A10;
m_A11 += m_A3 * f1_5;
RHS5 += f1_5 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_7 = -f2 * m_A17;
m_A19 += m_A5 * f2_7;
RHS7 += f2_7 * RHS2;
const double f2_9 = -f2 * m_A23;
m_A27 += m_A5 * f2_9;
RHS9 += f2_9 * RHS2;
-const double f3 = 1.0 / m_A6;
+ const double f3 = 1.0 / m_A6;
const double f3_8 = -f3 * m_A20;
m_A22 += m_A7 * f3_8;
RHS8 += f3_8 * RHS3;
const double f3_9 = -f3 * m_A24;
m_A29 += m_A7 * f3_9;
RHS9 += f3_9 * RHS3;
-const double f4 = 1.0 / m_A8;
+ const double f4 = 1.0 / m_A8;
const double f4_9 = -f4 * m_A25;
m_A29 += m_A9 * f4_9;
RHS9 += f4_9 * RHS4;
-const double f5 = 1.0 / m_A11;
+ const double f5 = 1.0 / m_A11;
const double f5_7 = -f5 * m_A18;
m_A19 += m_A12 * f5_7;
RHS7 += f5_7 * RHS5;
-const double f6 = 1.0 / m_A14;
+ const double f6 = 1.0 / m_A14;
const double f6_9 = -f6 * m_A26;
m_A28 += m_A15 * f6_9;
m_A29 += m_A16 * f6_9;
RHS9 += f6_9 * RHS6;
-const double f7 = 1.0 / m_A19;
+ const double f7 = 1.0 / m_A19;
const double f7_9 = -f7 * m_A27;
RHS9 += f7_9 * RHS7;
-const double f8 = 1.0 / m_A21;
+ const double f8 = 1.0 / m_A21;
const double f8_9 = -f8 * m_A28;
m_A29 += m_A22 * f8_9;
RHS9 += f8_9 * RHS8;
@@ -2747,1136 +7073,524 @@ const double f8 = 1.0 / m_A21;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// dpatrol
-static void nl_gcr_27a78682a9b70f8c_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// breakout
+static void nl_gcr_655da76624809228_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A4 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A9 = gt[12] + gt[13] + gt[14] + gt[15];
- m_A8 = m_A8 + go[12];
- m_A7 = m_A7 + go[13];
- m_A6 = m_A6 + go[14];
- double RHS3 = Idr[12] + Idr[13] + Idr[14] + Idr[15] - go[15] * *cnV[15];
-const double f0 = 1.0 / m_A0;
- const double f0_3 = -f0 * m_A6;
- m_A9 += m_A1 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_3 = -f1 * m_A7;
- m_A9 += m_A3 * f1_3;
- RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_3 = -f2 * m_A8;
- m_A9 += m_A5 * f2_3;
- RHS3 += f2_3 * RHS2;
- V[3] = RHS3 / m_A9;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ m_A12 += gt[12];
+ m_A12 += gt[13];
+ m_A12 += gt[14];
+ m_A12 += gt[15];
+ m_A11 += go[12];
+ m_A10 += go[13];
+ m_A9 += go[14];
+ m_A8 += go[15];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 += Idr[15];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A8;
+ m_A12 += m_A1 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A9;
+ m_A12 += m_A3 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_4 = -f2 * m_A10;
+ m_A12 += m_A5 * f2_4;
+ RHS4 += f2_4 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_4 = -f3 * m_A11;
+ m_A12 += m_A7 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ V[4] = RHS4 / m_A12;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[4];
+ V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[3];
+ tmp2 += m_A5 * V[4];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[3];
+ tmp1 += m_A3 * V[4];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[3];
+ tmp0 += m_A1 * V[4];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// 280zzzap
-static void nl_gcr_2e7df52e4934b257_31_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// cheekyms
+static void nl_gcr_6d03e64d09c956c3_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A9 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37];
- m_A8 = m_A8 + go[32];
- m_A11 = m_A11 + go[33];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37];
- m_A13 = gt[40] + gt[41];
- m_A14 = m_A14 + go[40];
- m_A12 = m_A12 + go[41];
- double RHS5 = Idr[40] + Idr[41];
- m_A16 = gt[48] + gt[49] + gt[50] + gt[51];
- m_A15 = m_A15 + go[48];
- m_A17 = m_A17 + go[49];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] - go[50] * *cnV[50] - go[51] * *cnV[51];
- m_A20 = gt[56] + gt[57] + gt[58] + gt[59];
- m_A21 = m_A21 + go[56];
- m_A22 = m_A22 + go[57];
- m_A18 = m_A18 + go[58];
- m_A19 = m_A19 + go[59];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59];
- m_A25 = gt[64] + gt[65];
- m_A24 = m_A24 + go[64];
- m_A23 = m_A23 + go[65];
- double RHS8 = Idr[64] + Idr[65];
- m_A30 = gt[72] + gt[73] + gt[74];
- m_A26 = m_A26 + go[72];
- m_A28 = m_A28 + go[73];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] - go[74] * *cnV[74];
-const double f0 = 1.0 / m_A0;
- const double f0_6 = -f0 * m_A15;
- m_A17 += m_A1 * f0_6;
- RHS6 += f0_6 * RHS0;
- const double f0_7 = -f0 * m_A18;
- m_A20 += m_A1 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A8;
- m_A10 += m_A3 * f1_4;
- RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_5 = -f2 * m_A12;
- m_A13 += m_A5 * f2_5;
- RHS5 += f2_5 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_7 = -f3 * m_A19;
- m_A21 += m_A7 * f3_7;
- RHS7 += f3_7 * RHS3;
- const double f3_8 = -f3 * m_A23;
- m_A25 += m_A7 * f3_8;
- RHS8 += f3_8 * RHS3;
-const double f4 = 1.0 / m_A9;
- const double f4_9 = -f4 * m_A26;
- m_A27 += m_A10 * f4_9;
- m_A30 += m_A11 * f4_9;
- RHS9 += f4_9 * RHS4;
-const double f5 = 1.0 / m_A13;
- const double f5_8 = -f5 * m_A24;
- m_A25 += m_A14 * f5_8;
- RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A16;
- const double f6_9 = -f6 * m_A27;
- m_A28 += m_A17 * f6_9;
- RHS9 += f6_9 * RHS6;
-const double f7 = 1.0 / m_A20;
- const double f7_9 = -f7 * m_A28;
- m_A29 += m_A21 * f7_9;
- m_A30 += m_A22 * f7_9;
- RHS9 += f7_9 * RHS7;
-const double f8 = 1.0 / m_A25;
- const double f8_9 = -f8 * m_A29;
- RHS9 += f8_9 * RHS8;
- V[9] = RHS9 / m_A30;
- double tmp8 = 0.0;
- V[8] = (RHS8 - tmp8) / m_A25;
- double tmp7 = 0.0;
- tmp7 += m_A21 * V[8];
- tmp7 += m_A22 * V[9];
- V[7] = (RHS7 - tmp7) / m_A20;
- double tmp6 = 0.0;
- tmp6 += m_A17 * V[7];
- V[6] = (RHS6 - tmp6) / m_A16;
- double tmp5 = 0.0;
- tmp5 += m_A14 * V[8];
- V[5] = (RHS5 - tmp5) / m_A13;
- double tmp4 = 0.0;
- tmp4 += m_A10 * V[6];
- tmp4 += m_A11 * V[9];
- V[4] = (RHS4 - tmp4) / m_A9;
- double tmp3 = 0.0;
- tmp3 += m_A7 * V[8];
- V[3] = (RHS3 - tmp3) / m_A6;
- double tmp2 = 0.0;
- tmp2 += m_A5 * V[5];
- V[2] = (RHS2 - tmp2) / m_A4;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A1 += go[0];
+ m_A1 += go[1];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[4];
+ double RHS1 = Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A5 += go[6];
+ m_A4 += go[7];
+ m_A4 += go[8];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[9] * *cnV[9];
+ RHS2 -= go[10] * *cnV[10];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A6 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A5;
+ m_A6 += m_A3 * f1_2;
+ RHS2 += f1_2 * RHS1;
+ V[2] = RHS2 / m_A6;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[6];
+ tmp1 += m_A3 * V[2];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[7];
+ tmp0 += m_A1 * V[2];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// mario
-static void nl_gcr_2eb3d95f720484d_62_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// rebound
+static void nl_gcr_6e17dfd7d26d8933_13_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[25] * *cnV[25] - go[26] * *cnV[26] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30];
- m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38];
- m_A10 = gt[40] + gt[41];
- m_A12 = m_A12 + go[40];
- m_A11 = m_A11 + go[41];
- double RHS5 = Idr[40] + Idr[41];
- m_A13 = gt[48] + gt[49] + gt[50];
- m_A14 = m_A14 + go[48];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50];
- m_A15 = gt[56] + gt[57];
- m_A16 = m_A16 + go[56];
- double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57];
- m_A17 = gt[64] + gt[65] + gt[66] + gt[67];
- m_A18 = m_A18 + go[64];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[65] * *cnV[65] - go[66] * *cnV[66] - go[67] * *cnV[67];
- m_A20 = gt[72] + gt[73];
- m_A19 = m_A19 + go[72];
- double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73];
- m_A22 = gt[80] + gt[81] + gt[82] + gt[83];
- m_A21 = m_A21 + go[80];
- m_A23 = m_A23 + go[81];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] - go[82] * *cnV[82] - go[83] * *cnV[83];
- m_A27 = gt[88] + gt[89] + gt[90] + gt[91] + gt[92];
- m_A24 = m_A24 + go[88];
- m_A25 = m_A25 + go[89];
- m_A28 = m_A28 + go[90];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] + Idr[92] - go[91] * *cnV[91] - go[92] * *cnV[92];
- m_A32 = gt[96] + gt[97];
- m_A31 = m_A31 + go[96];
- m_A30 = m_A30 + go[97];
- double RHS12 = Idr[96] + Idr[97];
- m_A34 = gt[104] + gt[105] + gt[106] + gt[107] + gt[108] + gt[109];
- m_A33 = m_A33 + go[104];
- m_A37 = m_A37 + go[105];
- m_A36 = m_A36 + go[106];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107] + Idr[108] + Idr[109] - go[107] * *cnV[107] - go[108] * *cnV[108] - go[109] * *cnV[109];
- m_A39 = gt[112] + gt[113] + gt[114] + gt[115];
- m_A40 = m_A40 + go[112];
- m_A38 = m_A38 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] - go[114] * *cnV[114] - go[115] * *cnV[115];
- m_A46 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124];
- m_A44 = m_A44 + go[120];
- m_A45 = m_A45 + go[121];
- m_A43 = m_A43 + go[122];
- m_A42 = m_A42 + go[123];
- m_A41 = m_A41 + go[124];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124];
- m_A53 = gt[128] + gt[129] + gt[130] + gt[131];
- m_A50 = m_A50 + go[128];
- m_A54 = m_A54 + go[129];
- m_A48 = m_A48 + go[130];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[131] * *cnV[131];
- m_A61 = gt[136] + gt[137] + gt[138] + gt[139] + gt[140];
- m_A57 = m_A57 + go[136];
- m_A58 = m_A58 + go[137];
- m_A60 = m_A60 + go[138];
- m_A55 = m_A55 + go[139];
- m_A56 = m_A56 + go[140];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] + Idr[140];
-const double f0 = 1.0 / m_A0;
- const double f0_9 = -f0 * m_A19;
- m_A20 += m_A1 * f0_9;
- RHS9 += f0_9 * RHS0;
- const double f0_15 = -f0 * m_A41;
- m_A44 += m_A1 * f0_15;
- RHS15 += f0_15 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_10 = -f1 * m_A21;
- m_A23 += m_A3 * f1_10;
- RHS10 += f1_10 * RHS1;
- const double f1_15 = -f1 * m_A42;
- m_A46 += m_A3 * f1_15;
- RHS15 += f1_15 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_15 = -f2 * m_A43;
- m_A46 += m_A5 * f2_15;
- RHS15 += f2_15 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_11 = -f3 * m_A24;
- m_A26 += m_A7 * f3_11;
- RHS11 += f3_11 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_13 = -f4 * m_A33;
- m_A35 += m_A9 * f4_13;
- RHS13 += f4_13 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_11 = -f5 * m_A25;
- m_A27 += m_A11 * f5_11;
- m_A29 += m_A12 * f5_11;
- RHS11 += f5_11 * RHS5;
- const double f5_16 = -f5 * m_A48;
- m_A49 += m_A11 * f5_16;
- m_A53 += m_A12 * f5_16;
- RHS16 += f5_16 * RHS5;
-const double f6 = 1.0 / m_A13;
- const double f6_14 = -f6 * m_A38;
- m_A40 += m_A14 * f6_14;
- RHS14 += f6_14 * RHS6;
- const double f6_17 = -f6 * m_A55;
- m_A61 += m_A14 * f6_17;
- RHS17 += f6_17 * RHS6;
-const double f7 = 1.0 / m_A15;
- const double f7_12 = -f7 * m_A30;
- m_A32 += m_A16 * f7_12;
- RHS12 += f7_12 * RHS7;
- const double f7_17 = -f7 * m_A56;
- m_A57 += m_A16 * f7_17;
- RHS17 += f7_17 * RHS7;
-const double f8 = 1.0 / m_A17;
- const double f8_12 = -f8 * m_A31;
- m_A32 += m_A18 * f8_12;
- RHS12 += f8_12 * RHS8;
-const double f9 = 1.0 / m_A20;
- const double f9_15 = -f9 * m_A44;
- RHS15 += f9_15 * RHS9;
-const double f10 = 1.0 / m_A22;
- const double f10_11 = -f10 * m_A26;
- m_A28 += m_A23 * f10_11;
- RHS11 += f10_11 * RHS10;
-const double f11 = 1.0 / m_A27;
- const double f11_15 = -f11 * m_A45;
- m_A46 += m_A28 * f11_15;
- m_A47 += m_A29 * f11_15;
- RHS15 += f11_15 * RHS11;
- const double f11_16 = -f11 * m_A49;
- m_A52 += m_A28 * f11_16;
- m_A53 += m_A29 * f11_16;
- RHS16 += f11_16 * RHS11;
-const double f12 = 1.0 / m_A32;
- const double f12_17 = -f12 * m_A57;
- RHS17 += f12_17 * RHS12;
-const double f13 = 1.0 / m_A34;
- const double f13_16 = -f13 * m_A50;
- m_A51 += m_A35 * f13_16;
- m_A53 += m_A36 * f13_16;
- m_A54 += m_A37 * f13_16;
- RHS16 += f13_16 * RHS13;
- const double f13_17 = -f13 * m_A58;
- m_A59 += m_A35 * f13_17;
- m_A60 += m_A36 * f13_17;
- m_A61 += m_A37 * f13_17;
- RHS17 += f13_17 * RHS13;
-const double f14 = 1.0 / m_A39;
- const double f14_16 = -f14 * m_A51;
- m_A54 += m_A40 * f14_16;
- RHS16 += f14_16 * RHS14;
- const double f14_17 = -f14 * m_A59;
- m_A61 += m_A40 * f14_17;
- RHS17 += f14_17 * RHS14;
-const double f15 = 1.0 / m_A46;
- const double f15_16 = -f15 * m_A52;
- m_A53 += m_A47 * f15_16;
- RHS16 += f15_16 * RHS15;
-const double f16 = 1.0 / m_A53;
- const double f16_17 = -f16 * m_A60;
- m_A61 += m_A54 * f16_17;
- RHS17 += f16_17 * RHS16;
- V[17] = RHS17 / m_A61;
- double tmp16 = 0.0;
- tmp16 += m_A54 * V[17];
- V[16] = (RHS16 - tmp16) / m_A53;
- double tmp15 = 0.0;
- tmp15 += m_A47 * V[16];
- V[15] = (RHS15 - tmp15) / m_A46;
- double tmp14 = 0.0;
- tmp14 += m_A40 * V[17];
- V[14] = (RHS14 - tmp14) / m_A39;
- double tmp13 = 0.0;
- tmp13 += m_A35 * V[14];
- tmp13 += m_A36 * V[16];
- tmp13 += m_A37 * V[17];
- V[13] = (RHS13 - tmp13) / m_A34;
- double tmp12 = 0.0;
- V[12] = (RHS12 - tmp12) / m_A32;
- double tmp11 = 0.0;
- tmp11 += m_A28 * V[15];
- tmp11 += m_A29 * V[16];
- V[11] = (RHS11 - tmp11) / m_A27;
- double tmp10 = 0.0;
- tmp10 += m_A23 * V[15];
- V[10] = (RHS10 - tmp10) / m_A22;
- double tmp9 = 0.0;
- V[9] = (RHS9 - tmp9) / m_A20;
- double tmp8 = 0.0;
- tmp8 += m_A18 * V[12];
- V[8] = (RHS8 - tmp8) / m_A17;
- double tmp7 = 0.0;
- tmp7 += m_A16 * V[12];
- V[7] = (RHS7 - tmp7) / m_A15;
- double tmp6 = 0.0;
- tmp6 += m_A14 * V[17];
- V[6] = (RHS6 - tmp6) / m_A13;
- double tmp5 = 0.0;
- tmp5 += m_A11 * V[11];
- tmp5 += m_A12 * V[16];
- V[5] = (RHS5 - tmp5) / m_A10;
- double tmp4 = 0.0;
- tmp4 += m_A9 * V[14];
- V[4] = (RHS4 - tmp4) / m_A8;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ m_A12 += gt[12];
+ m_A12 += gt[13];
+ m_A12 += gt[14];
+ m_A12 += gt[15];
+ m_A12 += gt[16];
+ m_A11 += go[12];
+ m_A10 += go[13];
+ m_A9 += go[14];
+ m_A8 += go[15];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 += Idr[15];
+ RHS4 += Idr[16];
+ RHS4 -= go[16] * *cnV[16];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A8;
+ m_A12 += m_A1 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A9;
+ m_A12 += m_A3 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_4 = -f2 * m_A10;
+ m_A12 += m_A5 * f2_4;
+ RHS4 += f2_4 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_4 = -f3 * m_A11;
+ m_A12 += m_A7 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ V[4] = RHS4 / m_A12;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[10];
+ tmp3 += m_A7 * V[4];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[15];
+ tmp2 += m_A5 * V[4];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[15];
+ tmp1 += m_A3 * V[4];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[9];
+ tmp0 += m_A1 * V[4];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// segas16b_audio
-static void nl_gcr_35947d349693c22_111_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// gamemachine
+static void nl_gcr_70c1124c705dd998_19_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A8 = m_A8 + go[24];
- m_A7 = m_A7 + go[25];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26];
- m_A9 = gt[32] + gt[33] + gt[34];
- m_A12 = m_A12 + go[32];
- m_A10 = m_A10 + go[33];
- m_A11 = m_A11 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34];
- m_A13 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A15 = m_A15 + go[40];
- m_A14 = m_A14 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46];
- m_A16 = gt[48] + gt[49];
- m_A17 = m_A17 + go[48];
- m_A18 = m_A18 + go[49];
- double RHS6 = Idr[48] + Idr[49];
- m_A19 = gt[56] + gt[57];
- m_A20 = m_A20 + go[56];
- m_A21 = m_A21 + go[57];
- double RHS7 = Idr[56] + Idr[57];
- m_A22 = gt[64] + gt[65];
- m_A23 = m_A23 + go[64];
- m_A24 = m_A24 + go[65];
- double RHS8 = Idr[64] + Idr[65];
- m_A25 = gt[72] + gt[73];
- m_A26 = m_A26 + go[72];
- m_A27 = m_A27 + go[73];
- double RHS9 = Idr[72] + Idr[73];
- m_A28 = gt[80] + gt[81];
- m_A29 = m_A29 + go[80];
- double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81];
- m_A30 = gt[88] + gt[89] + gt[90] + gt[91];
- m_A31 = m_A31 + go[88];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[89] * *cnV[89] - go[90] * *cnV[90] - go[91] * *cnV[91];
- m_A34 = gt[96] + gt[97] + gt[98];
- m_A33 = m_A33 + go[96];
- m_A32 = m_A32 + go[97];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] - go[98] * *cnV[98];
- m_A37 = gt[104] + gt[105] + gt[106] + gt[107] + gt[108] + gt[109] + gt[110];
- m_A38 = m_A38 + go[104];
- m_A36 = m_A36 + go[105];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107] + Idr[108] + Idr[109] + Idr[110] - go[106] * *cnV[106] - go[107] * *cnV[107] - go[108] * *cnV[108] - go[109] * *cnV[109] - go[110] * *cnV[110];
- m_A40 = gt[112] + gt[113] + gt[114] + gt[115] + gt[116] + gt[117] + gt[118];
- m_A41 = m_A41 + go[112];
- m_A39 = m_A39 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] + Idr[116] + Idr[117] + Idr[118] - go[114] * *cnV[114] - go[115] * *cnV[115] - go[116] * *cnV[116] - go[117] * *cnV[117] - go[118] * *cnV[118];
- m_A44 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A45 = m_A45 + go[120];
- m_A43 = m_A43 + go[121];
- m_A42 = m_A42 + go[122];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[123] * *cnV[123];
- m_A48 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132] + gt[133] + gt[134];
- m_A49 = m_A49 + go[128];
- m_A46 = m_A46 + go[129];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132] + Idr[133] + Idr[134] - go[130] * *cnV[130] - go[131] * *cnV[131] - go[132] * *cnV[132] - go[133] * *cnV[133] - go[134] * *cnV[134];
- m_A51 = gt[136] + gt[137] + gt[138];
- m_A53 = m_A53 + go[136];
- m_A50 = m_A50 + go[137];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] - go[138] * *cnV[138];
- m_A58 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149];
- m_A57 = m_A57 + go[144];
- m_A62 = m_A62 + go[145];
- m_A62 = m_A62 + go[146];
- m_A56 = m_A56 + go[147];
- m_A55 = m_A55 + go[148];
- m_A54 = m_A54 + go[149];
- double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149];
- m_A67 = gt[152] + gt[153] + gt[154] + gt[155] + gt[156];
- m_A65 = m_A65 + go[152];
- m_A64 = m_A64 + go[153];
- m_A63 = m_A63 + go[154];
- double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] + Idr[156] - go[155] * *cnV[155] - go[156] * *cnV[156];
- m_A76 = gt[160] + gt[161] + gt[162] + gt[163] + gt[164];
- m_A73 = m_A73 + go[160];
- m_A72 = m_A72 + go[161];
- m_A71 = m_A71 + go[162];
- double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] + Idr[164] - go[163] * *cnV[163] - go[164] * *cnV[164];
- m_A84 = gt[168] + gt[169] + gt[170] + gt[171] + gt[172] + gt[173];
- m_A82 = m_A82 + go[168];
- m_A80 = m_A80 + go[169];
- m_A79 = m_A79 + go[170];
- m_A81 = m_A81 + go[171];
- double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] + Idr[172] + Idr[173] - go[172] * *cnV[172] - go[173] * *cnV[173];
- m_A94 = gt[176] + gt[177] + gt[178] + gt[179] + gt[180] + gt[181];
- m_A87 = m_A87 + go[176];
- m_A88 = m_A88 + go[177];
- m_A89 = m_A89 + go[178];
- m_A86 = m_A86 + go[179];
- double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179] + Idr[180] + Idr[181] - go[180] * *cnV[180] - go[181] * *cnV[181];
- m_A101 = gt[184] + gt[185] + gt[186] + gt[187] + gt[188] + gt[189] + gt[190];
- m_A96 = m_A96 + go[184];
- m_A97 = m_A97 + go[185];
- double RHS23 = Idr[184] + Idr[185] + Idr[186] + Idr[187] + Idr[188] + Idr[189] + Idr[190] - go[186] * *cnV[186] - go[187] * *cnV[187] - go[188] * *cnV[188] - go[189] * *cnV[189] - go[190] * *cnV[190];
- m_A110 = gt[192] + gt[193] + gt[194] + gt[195] + gt[196] + gt[197];
- m_A109 = m_A109 + go[192];
- m_A103 = m_A103 + go[193];
- m_A105 = m_A105 + go[194];
- m_A105 = m_A105 + go[195];
- double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] + Idr[196] + Idr[197] - go[196] * *cnV[196] - go[197] * *cnV[197];
-const double f0 = 1.0 / m_A0;
- const double f0_13 = -f0 * m_A36;
- m_A38 += m_A1 * f0_13;
- RHS13 += f0_13 * RHS0;
- const double f0_19 = -f0 * m_A63;
- m_A67 += m_A1 * f0_19;
- RHS19 += f0_19 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_14 = -f1 * m_A39;
- m_A41 += m_A3 * f1_14;
- RHS14 += f1_14 * RHS1;
- const double f1_20 = -f1 * m_A71;
- m_A76 += m_A3 * f1_20;
- RHS20 += f1_20 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_15 = -f2 * m_A42;
- m_A44 += m_A5 * f2_15;
- RHS15 += f2_15 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_15 = -f3 * m_A43;
- m_A44 += m_A7 * f3_15;
- m_A45 += m_A8 * f3_15;
- RHS15 += f3_15 * RHS3;
- const double f3_16 = -f3 * m_A46;
- m_A47 += m_A7 * f3_16;
- m_A49 += m_A8 * f3_16;
- RHS16 += f3_16 * RHS3;
- const double f3_21 = -f3 * m_A79;
- m_A81 += m_A7 * f3_21;
- m_A84 += m_A8 * f3_21;
- RHS21 += f3_21 * RHS3;
-const double f4 = 1.0 / m_A9;
- const double f4_17 = -f4 * m_A50;
- m_A51 += m_A10 * f4_17;
- m_A52 += m_A11 * f4_17;
- m_A53 += m_A12 * f4_17;
- RHS17 += f4_17 * RHS4;
- const double f4_21 = -f4 * m_A80;
- m_A83 += m_A10 * f4_21;
- m_A84 += m_A11 * f4_21;
- m_A85 += m_A12 * f4_21;
- RHS21 += f4_21 * RHS4;
- const double f4_22 = -f4 * m_A86;
- m_A89 += m_A10 * f4_22;
- m_A93 += m_A11 * f4_22;
- m_A94 += m_A12 * f4_22;
- RHS22 += f4_22 * RHS4;
-const double f5 = 1.0 / m_A13;
- const double f5_22 = -f5 * m_A87;
- m_A89 += m_A14 * f5_22;
- m_A94 += m_A15 * f5_22;
- RHS22 += f5_22 * RHS5;
-const double f6 = 1.0 / m_A16;
- const double f6_18 = -f6 * m_A54;
- m_A58 += m_A17 * f6_18;
- m_A61 += m_A18 * f6_18;
- RHS18 += f6_18 * RHS6;
- const double f6_22 = -f6 * m_A88;
- m_A90 += m_A17 * f6_22;
- m_A94 += m_A18 * f6_22;
- RHS22 += f6_22 * RHS6;
-const double f7 = 1.0 / m_A19;
- const double f7_18 = -f7 * m_A55;
- m_A58 += m_A20 * f7_18;
- m_A59 += m_A21 * f7_18;
- RHS18 += f7_18 * RHS7;
- const double f7_19 = -f7 * m_A64;
- m_A66 += m_A20 * f7_19;
- m_A67 += m_A21 * f7_19;
- RHS19 += f7_19 * RHS7;
-const double f8 = 1.0 / m_A22;
- const double f8_18 = -f8 * m_A56;
- m_A58 += m_A23 * f8_18;
- m_A60 += m_A24 * f8_18;
- RHS18 += f8_18 * RHS8;
- const double f8_20 = -f8 * m_A72;
- m_A74 += m_A23 * f8_20;
- m_A76 += m_A24 * f8_20;
- RHS20 += f8_20 * RHS8;
-const double f9 = 1.0 / m_A25;
- const double f9_12 = -f9 * m_A32;
- m_A34 += m_A26 * f9_12;
- m_A35 += m_A27 * f9_12;
- RHS12 += f9_12 * RHS9;
- const double f9_24 = -f9 * m_A103;
- m_A104 += m_A26 * f9_24;
- m_A110 += m_A27 * f9_24;
- RHS24 += f9_24 * RHS9;
-const double f10 = 1.0 / m_A28;
- const double f10_12 = -f10 * m_A33;
- m_A34 += m_A29 * f10_12;
- RHS12 += f10_12 * RHS10;
-const double f11 = 1.0 / m_A30;
- const double f11_18 = -f11 * m_A57;
- m_A58 += m_A31 * f11_18;
- RHS18 += f11_18 * RHS11;
- const double f11_23 = -f11 * m_A96;
- m_A97 += m_A31 * f11_23;
- RHS23 += f11_23 * RHS11;
-const double f12 = 1.0 / m_A34;
- const double f12_24 = -f12 * m_A104;
- m_A110 += m_A35 * f12_24;
- RHS24 += f12_24 * RHS12;
-const double f13 = 1.0 / m_A37;
- const double f13_19 = -f13 * m_A65;
- m_A67 += m_A38 * f13_19;
- RHS19 += f13_19 * RHS13;
-const double f14 = 1.0 / m_A40;
- const double f14_20 = -f14 * m_A73;
- m_A76 += m_A41 * f14_20;
- RHS20 += f14_20 * RHS14;
-const double f15 = 1.0 / m_A44;
- const double f15_16 = -f15 * m_A47;
- m_A49 += m_A45 * f15_16;
- RHS16 += f15_16 * RHS15;
- const double f15_21 = -f15 * m_A81;
- m_A84 += m_A45 * f15_21;
- RHS21 += f15_21 * RHS15;
-const double f16 = 1.0 / m_A48;
- const double f16_21 = -f16 * m_A82;
- m_A84 += m_A49 * f16_21;
- RHS21 += f16_21 * RHS16;
-const double f17 = 1.0 / m_A51;
- const double f17_21 = -f17 * m_A83;
- m_A84 += m_A52 * f17_21;
- m_A85 += m_A53 * f17_21;
- RHS21 += f17_21 * RHS17;
- const double f17_22 = -f17 * m_A89;
- m_A93 += m_A52 * f17_22;
- m_A94 += m_A53 * f17_22;
- RHS22 += f17_22 * RHS17;
-const double f18 = 1.0 / m_A58;
- const double f18_19 = -f18 * m_A66;
- m_A67 += m_A59 * f18_19;
- m_A68 += m_A60 * f18_19;
- m_A69 += m_A61 * f18_19;
- m_A70 += m_A62 * f18_19;
- RHS19 += f18_19 * RHS18;
- const double f18_20 = -f18 * m_A74;
- m_A75 += m_A59 * f18_20;
- m_A76 += m_A60 * f18_20;
- m_A77 += m_A61 * f18_20;
- m_A78 += m_A62 * f18_20;
- RHS20 += f18_20 * RHS18;
- const double f18_22 = -f18 * m_A90;
- m_A91 += m_A59 * f18_22;
- m_A92 += m_A60 * f18_22;
- m_A94 += m_A61 * f18_22;
- m_A95 += m_A62 * f18_22;
- RHS22 += f18_22 * RHS18;
- const double f18_23 = -f18 * m_A97;
- m_A98 += m_A59 * f18_23;
- m_A99 += m_A60 * f18_23;
- m_A100 += m_A61 * f18_23;
- m_A102 += m_A62 * f18_23;
- RHS23 += f18_23 * RHS18;
- const double f18_24 = -f18 * m_A105;
- m_A106 += m_A59 * f18_24;
- m_A107 += m_A60 * f18_24;
- m_A108 += m_A61 * f18_24;
- m_A110 += m_A62 * f18_24;
- RHS24 += f18_24 * RHS18;
-const double f19 = 1.0 / m_A67;
- const double f19_20 = -f19 * m_A75;
- m_A76 += m_A68 * f19_20;
- m_A77 += m_A69 * f19_20;
- m_A78 += m_A70 * f19_20;
- RHS20 += f19_20 * RHS19;
- const double f19_22 = -f19 * m_A91;
- m_A92 += m_A68 * f19_22;
- m_A94 += m_A69 * f19_22;
- m_A95 += m_A70 * f19_22;
- RHS22 += f19_22 * RHS19;
- const double f19_23 = -f19 * m_A98;
- m_A99 += m_A68 * f19_23;
- m_A100 += m_A69 * f19_23;
- m_A102 += m_A70 * f19_23;
- RHS23 += f19_23 * RHS19;
- const double f19_24 = -f19 * m_A106;
- m_A107 += m_A68 * f19_24;
- m_A108 += m_A69 * f19_24;
- m_A110 += m_A70 * f19_24;
- RHS24 += f19_24 * RHS19;
-const double f20 = 1.0 / m_A76;
- const double f20_22 = -f20 * m_A92;
- m_A94 += m_A77 * f20_22;
- m_A95 += m_A78 * f20_22;
- RHS22 += f20_22 * RHS20;
- const double f20_23 = -f20 * m_A99;
- m_A100 += m_A77 * f20_23;
- m_A102 += m_A78 * f20_23;
- RHS23 += f20_23 * RHS20;
- const double f20_24 = -f20 * m_A107;
- m_A108 += m_A77 * f20_24;
- m_A110 += m_A78 * f20_24;
- RHS24 += f20_24 * RHS20;
-const double f21 = 1.0 / m_A84;
- const double f21_22 = -f21 * m_A93;
- m_A94 += m_A85 * f21_22;
- RHS22 += f21_22 * RHS21;
-const double f22 = 1.0 / m_A94;
- const double f22_23 = -f22 * m_A100;
- m_A102 += m_A95 * f22_23;
- RHS23 += f22_23 * RHS22;
- const double f22_24 = -f22 * m_A108;
- m_A110 += m_A95 * f22_24;
- RHS24 += f22_24 * RHS22;
-const double f23 = 1.0 / m_A101;
- const double f23_24 = -f23 * m_A109;
- m_A110 += m_A102 * f23_24;
- RHS24 += f23_24 * RHS23;
- V[24] = RHS24 / m_A110;
- double tmp23 = 0.0;
- tmp23 += m_A102 * V[24];
- V[23] = (RHS23 - tmp23) / m_A101;
- double tmp22 = 0.0;
- tmp22 += m_A95 * V[24];
- V[22] = (RHS22 - tmp22) / m_A94;
- double tmp21 = 0.0;
- tmp21 += m_A85 * V[22];
- V[21] = (RHS21 - tmp21) / m_A84;
- double tmp20 = 0.0;
- tmp20 += m_A77 * V[22];
- tmp20 += m_A78 * V[24];
- V[20] = (RHS20 - tmp20) / m_A76;
- double tmp19 = 0.0;
- tmp19 += m_A68 * V[20];
- tmp19 += m_A69 * V[22];
- tmp19 += m_A70 * V[24];
- V[19] = (RHS19 - tmp19) / m_A67;
- double tmp18 = 0.0;
- tmp18 += m_A59 * V[19];
- tmp18 += m_A60 * V[20];
- tmp18 += m_A61 * V[22];
- tmp18 += m_A62 * V[24];
- V[18] = (RHS18 - tmp18) / m_A58;
- double tmp17 = 0.0;
- tmp17 += m_A52 * V[21];
- tmp17 += m_A53 * V[22];
- V[17] = (RHS17 - tmp17) / m_A51;
- double tmp16 = 0.0;
- tmp16 += m_A49 * V[21];
- V[16] = (RHS16 - tmp16) / m_A48;
- double tmp15 = 0.0;
- tmp15 += m_A45 * V[21];
- V[15] = (RHS15 - tmp15) / m_A44;
- double tmp14 = 0.0;
- tmp14 += m_A41 * V[20];
- V[14] = (RHS14 - tmp14) / m_A40;
- double tmp13 = 0.0;
- tmp13 += m_A38 * V[19];
- V[13] = (RHS13 - tmp13) / m_A37;
- double tmp12 = 0.0;
- tmp12 += m_A35 * V[24];
- V[12] = (RHS12 - tmp12) / m_A34;
- double tmp11 = 0.0;
- tmp11 += m_A31 * V[18];
- V[11] = (RHS11 - tmp11) / m_A30;
- double tmp10 = 0.0;
- tmp10 += m_A29 * V[12];
- V[10] = (RHS10 - tmp10) / m_A28;
- double tmp9 = 0.0;
- tmp9 += m_A26 * V[12];
- tmp9 += m_A27 * V[24];
- V[9] = (RHS9 - tmp9) / m_A25;
- double tmp8 = 0.0;
- tmp8 += m_A23 * V[18];
- tmp8 += m_A24 * V[20];
- V[8] = (RHS8 - tmp8) / m_A22;
- double tmp7 = 0.0;
- tmp7 += m_A20 * V[18];
- tmp7 += m_A21 * V[19];
- V[7] = (RHS7 - tmp7) / m_A19;
- double tmp6 = 0.0;
- tmp6 += m_A17 * V[18];
- tmp6 += m_A18 * V[22];
- V[6] = (RHS6 - tmp6) / m_A16;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ m_A8 += gt[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A9 += go[12];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 -= go[13] * *cnV[13];
+ RHS4 -= go[14] * *cnV[14];
+ m_A10 += gt[15];
+ m_A10 += gt[16];
+ m_A10 += gt[17];
+ m_A11 += go[15];
+ double RHS5 = Idr[15];
+ RHS5 += Idr[16];
+ RHS5 += Idr[17];
+ RHS5 -= go[16] * *cnV[16];
+ RHS5 -= go[17] * *cnV[17];
+ m_A18 += gt[18];
+ m_A18 += gt[19];
+ m_A18 += gt[20];
+ m_A18 += gt[21];
+ m_A18 += gt[22];
+ m_A18 += gt[23];
+ m_A18 += gt[24];
+ m_A17 += go[18];
+ m_A16 += go[19];
+ m_A15 += go[20];
+ m_A14 += go[21];
+ m_A13 += go[22];
+ m_A12 += go[23];
+ double RHS6 = Idr[18];
+ RHS6 += Idr[19];
+ RHS6 += Idr[20];
+ RHS6 += Idr[21];
+ RHS6 += Idr[22];
+ RHS6 += Idr[23];
+ RHS6 += Idr[24];
+ RHS6 -= go[24] * *cnV[24];
+ const double f0 = 1.0 / m_A0;
+ const double f0_6 = -f0 * m_A12;
+ m_A18 += m_A1 * f0_6;
+ RHS6 += f0_6 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_6 = -f1 * m_A13;
+ m_A18 += m_A3 * f1_6;
+ RHS6 += f1_6 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_6 = -f2 * m_A14;
+ m_A18 += m_A5 * f2_6;
+ RHS6 += f2_6 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_6 = -f3 * m_A15;
+ m_A18 += m_A7 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_6 = -f4 * m_A16;
+ m_A18 += m_A9 * f4_6;
+ RHS6 += f4_6 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_6 = -f5 * m_A17;
+ m_A18 += m_A11 * f5_6;
+ RHS6 += f5_6 * RHS5;
+ V[6] = RHS6 / m_A18;
double tmp5 = 0.0;
- tmp5 += m_A14 * V[17];
- tmp5 += m_A15 * V[22];
- V[5] = (RHS5 - tmp5) / m_A13;
+ tmp5 += m_A11 * V[6];
+ V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A10 * V[17];
- tmp4 += m_A11 * V[21];
- tmp4 += m_A12 * V[22];
- V[4] = (RHS4 - tmp4) / m_A9;
+ tmp4 += m_A9 * V[6];
+ V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[15];
- tmp3 += m_A8 * V[21];
+ tmp3 += m_A7 * V[6];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[15];
+ tmp2 += m_A5 * V[6];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[20];
+ tmp1 += m_A3 * V[6];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[19];
+ tmp0 += m_A1 * V[6];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// cocoloco
-static void nl_gcr_3641ac25e244c362_16_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// cheekyms
+static void nl_gcr_70f289d5486b9767_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A4 = gt[8] + gt[9];
- m_A5 = m_A5 + go[8];
- double RHS2 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A6 = gt[12] + gt[13];
- m_A7 = m_A7 + go[12];
- double RHS3 = Idr[12] + Idr[13] - go[13] * *cnV[13];
- m_A9 = gt[16] + gt[17] + gt[18];
- m_A8 = m_A8 + go[16];
- m_A10 = m_A10 + go[17];
- double RHS4 = Idr[16] + Idr[17] + Idr[18] - go[18] * *cnV[18];
- m_A15 = gt[20] + gt[21] + gt[22] + gt[23];
- m_A14 = m_A14 + go[20];
- m_A13 = m_A13 + go[21];
- m_A12 = m_A12 + go[22];
- m_A11 = m_A11 + go[23];
- double RHS5 = Idr[20] + Idr[21] + Idr[22] + Idr[23];
-const double f0 = 1.0 / m_A0;
- const double f0_5 = -f0 * m_A11;
- m_A15 += m_A1 * f0_5;
- RHS5 += f0_5 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_5 = -f1 * m_A12;
- m_A15 += m_A3 * f1_5;
- RHS5 += f1_5 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_4 = -f2 * m_A8;
- m_A9 += m_A5 * f2_4;
- RHS4 += f2_4 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_5 = -f3 * m_A13;
- m_A15 += m_A7 * f3_5;
- RHS5 += f3_5 * RHS3;
-const double f4 = 1.0 / m_A9;
- const double f4_5 = -f4 * m_A14;
- m_A15 += m_A10 * f4_5;
- RHS5 += f4_5 * RHS4;
- V[5] = RHS5 / m_A15;
- double tmp4 = 0.0;
- tmp4 += m_A10 * V[5];
- V[4] = (RHS4 - tmp4) / m_A9;
- double tmp3 = 0.0;
- tmp3 += m_A7 * V[5];
- V[3] = (RHS3 - tmp3) / m_A6;
- double tmp2 = 0.0;
- tmp2 += m_A5 * V[4];
- V[2] = (RHS2 - tmp2) / m_A4;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A6 += gt[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A5 += go[5];
+ m_A4 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A6 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A5;
+ m_A6 += m_A3 * f1_2;
+ RHS2 += f1_2 * RHS1;
+ V[2] = RHS2 / m_A6;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[5];
+ tmp1 += m_A3 * V[2];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[5];
+ tmp0 += m_A1 * V[2];
V[0] = (RHS0 - tmp0) / m_A0;
}
// zac1b11142
-static void nl_gcr_38a3ac18f52bf78a_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_752680f8e0bc6a4a_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10] + gt[11];
- m_A3 = m_A3 + go[8];
- m_A3 = m_A3 + go[9];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11];
- m_A6 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A5 = m_A5 + go[16];
- m_A5 = m_A5 + go[17];
- m_A4 = m_A4 + go[18];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A3 += go[3];
+ m_A3 += go[4];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A5 += go[7];
+ m_A5 += go[8];
+ m_A4 += go[9];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 += Idr[13];
+ RHS2 -= go[10] * *cnV[10];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ RHS2 -= go[13] * *cnV[13];
+ const double f0 = 1.0 / m_A0;
const double f0_2 = -f0 * m_A4;
m_A6 += m_A1 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_2 = -f1 * m_A5;
m_A6 += m_A3 * f1_2;
RHS2 += f1_2 * RHS1;
@@ -3889,121 +7603,432 @@ const double f1 = 1.0 / m_A2;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// dpatrol
-static void nl_gcr_38f1806722626d7e_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// mario
+static void nl_gcr_7b9186d9ff77f7a1_29_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A6 = gt[8] + gt[9] + gt[10] + gt[11];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A8 += go[9];
+ m_A7 += go[10];
+ m_A7 += go[11];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 -= go[12] * *cnV[12];
+ m_A9 += gt[13];
+ m_A9 += gt[14];
+ m_A9 += gt[15];
+ m_A10 += go[13];
+ double RHS4 = Idr[13];
+ RHS4 += Idr[14];
+ RHS4 += Idr[15];
+ RHS4 -= go[14] * *cnV[14];
+ RHS4 -= go[15] * *cnV[15];
+ m_A11 += gt[16];
+ m_A11 += gt[17];
+ m_A12 += go[16];
+ double RHS5 = Idr[16];
+ RHS5 += Idr[17];
+ RHS5 -= go[17] * *cnV[17];
+ m_A14 += gt[18];
+ m_A14 += gt[19];
+ m_A14 += gt[20];
+ m_A14 += gt[21];
+ m_A14 += gt[22];
+ m_A14 += gt[23];
+ m_A14 += gt[24];
+ m_A16 += go[18];
+ m_A16 += go[19];
+ m_A13 += go[20];
+ m_A13 += go[21];
+ m_A15 += go[22];
+ double RHS6 = Idr[18];
+ RHS6 += Idr[19];
+ RHS6 += Idr[20];
+ RHS6 += Idr[21];
+ RHS6 += Idr[22];
+ RHS6 += Idr[23];
+ RHS6 += Idr[24];
+ RHS6 -= go[23] * *cnV[23];
+ RHS6 -= go[24] * *cnV[24];
+ m_A22 += gt[25];
+ m_A22 += gt[26];
+ m_A22 += gt[27];
+ m_A22 += gt[28];
+ m_A22 += gt[29];
+ m_A22 += gt[30];
+ m_A20 += go[25];
+ m_A21 += go[26];
+ m_A19 += go[27];
+ m_A18 += go[28];
+ m_A17 += go[29];
+ double RHS7 = Idr[25];
+ RHS7 += Idr[26];
+ RHS7 += Idr[27];
+ RHS7 += Idr[28];
+ RHS7 += Idr[29];
+ RHS7 += Idr[30];
+ RHS7 -= go[30] * *cnV[30];
+ m_A28 += gt[31];
+ m_A28 += gt[32];
+ m_A28 += gt[33];
+ m_A28 += gt[34];
+ m_A28 += gt[35];
+ m_A28 += gt[36];
+ m_A25 += go[31];
+ m_A24 += go[32];
+ m_A26 += go[33];
+ m_A26 += go[34];
+ double RHS8 = Idr[31];
+ RHS8 += Idr[32];
+ RHS8 += Idr[33];
+ RHS8 += Idr[34];
+ RHS8 += Idr[35];
+ RHS8 += Idr[36];
+ RHS8 -= go[35] * *cnV[35];
+ RHS8 -= go[36] * *cnV[36];
+ const double f0 = 1.0 / m_A0;
+ const double f0_7 = -f0 * m_A17;
+ m_A22 += m_A1 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_7 = -f1 * m_A18;
+ m_A22 += m_A3 * f1_7;
+ RHS7 += f1_7 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_7 = -f2 * m_A19;
+ m_A22 += m_A5 * f2_7;
+ RHS7 += f2_7 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_6 = -f3 * m_A13;
+ m_A14 += m_A7 * f3_6;
+ m_A16 += m_A8 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f3_8 = -f3 * m_A24;
+ m_A26 += m_A7 * f3_8;
+ m_A28 += m_A8 * f3_8;
+ RHS8 += f3_8 * RHS3;
+ const double f4 = 1.0 / m_A9;
+ const double f4_8 = -f4 * m_A25;
+ m_A28 += m_A10 * f4_8;
+ RHS8 += f4_8 * RHS4;
+ const double f5 = 1.0 / m_A11;
+ const double f5_7 = -f5 * m_A20;
+ m_A22 += m_A12 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f6 = 1.0 / m_A14;
+ const double f6_7 = -f6 * m_A21;
+ m_A22 += m_A15 * f6_7;
+ m_A23 += m_A16 * f6_7;
+ RHS7 += f6_7 * RHS6;
+ const double f6_8 = -f6 * m_A26;
+ m_A27 += m_A15 * f6_8;
+ m_A28 += m_A16 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A22;
+ const double f7_8 = -f7 * m_A27;
+ m_A28 += m_A23 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ V[8] = RHS8 / m_A28;
+ double tmp7 = 0.0;
+ tmp7 += m_A23 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A22;
+ double tmp6 = 0.0;
+ tmp6 += m_A15 * V[7];
+ tmp6 += m_A16 * V[8];
+ V[6] = (RHS6 - tmp6) / m_A14;
+ double tmp5 = 0.0;
+ tmp5 += m_A12 * V[7];
+ V[5] = (RHS5 - tmp5) / m_A11;
+ double tmp4 = 0.0;
+ tmp4 += m_A10 * V[8];
+ V[4] = (RHS4 - tmp4) / m_A9;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[6];
+ tmp3 += m_A8 * V[8];
+ V[3] = (RHS3 - tmp3) / m_A6;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[7];
+ V[2] = (RHS2 - tmp2) / m_A4;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[7];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[7];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// cheekyms
+static void nl_gcr_7e9498276980e5d1_12_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A2 += go[0];
+ m_A1 += go[1];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[2] * *cnV[2];
+ m_A3 += gt[3];
+ m_A3 += gt[4];
+ m_A4 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A6 += gt[5];
+ m_A6 += gt[6];
+ m_A7 += go[5];
+ m_A5 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ m_A11 += gt[7];
+ m_A11 += gt[8];
+ m_A11 += gt[9];
+ m_A11 += gt[10];
+ m_A11 += gt[11];
+ m_A11 += gt[12];
+ m_A9 += go[7];
+ m_A10 += go[8];
+ m_A8 += go[9];
+ double RHS3 = Idr[7];
+ RHS3 += Idr[8];
+ RHS3 += Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ RHS3 -= go[12] * *cnV[12];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A5;
m_A6 += m_A1 * f0_2;
+ m_A7 += m_A2 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A5;
- m_A6 += m_A3 * f1_2;
- RHS2 += f1_2 * RHS1;
- V[2] = RHS2 / m_A6;
+ const double f0_3 = -f0 * m_A8;
+ m_A10 += m_A1 * f0_3;
+ m_A11 += m_A2 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A3;
+ const double f1_3 = -f1 * m_A9;
+ m_A11 += m_A4 * f1_3;
+ RHS3 += f1_3 * RHS1;
+ const double f2 = 1.0 / m_A6;
+ const double f2_3 = -f2 * m_A10;
+ m_A11 += m_A7 * f2_3;
+ RHS3 += f2_3 * RHS2;
+ V[3] = RHS3 / m_A11;
+ double tmp2 = 0.0;
+ tmp2 += m_A7 * V[3];
+ V[2] = (RHS2 - tmp2) / m_A6;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[2];
- V[1] = (RHS1 - tmp1) / m_A2;
+ tmp1 += m_A4 * V[3];
+ V[1] = (RHS1 - tmp1) / m_A3;
double tmp0 = 0.0;
tmp0 += m_A1 * V[2];
+ tmp0 += m_A2 * V[3];
V[0] = (RHS0 - tmp0) / m_A0;
}
// kidniki
-static void nl_gcr_3e4821cabc0aeb96_24_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_80d7c219807268a_24_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A8 = gt[32] + gt[33] + gt[34];
- m_A10 = m_A10 + go[32];
- m_A9 = m_A9 + go[33];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[34] * *cnV[34];
- m_A11 = gt[40] + gt[41] + gt[42];
- m_A12 = m_A12 + go[40];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[41] * *cnV[41] - go[42] * *cnV[42];
- m_A18 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52];
- m_A16 = m_A16 + go[48];
- m_A15 = m_A15 + go[49];
- m_A14 = m_A14 + go[50];
- m_A17 = m_A17 + go[51];
- m_A13 = m_A13 + go[52];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52];
- m_A23 = gt[56] + gt[57];
- m_A21 = m_A21 + go[56];
- m_A20 = m_A20 + go[57];
- double RHS7 = Idr[56] + Idr[57];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A0 += gt[5];
+ m_A0 += gt[6];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 += Idr[5];
+ RHS0 += Idr[6];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ RHS0 -= go[5] * *cnV[5];
+ RHS0 -= go[6] * *cnV[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A3 += go[7];
+ double RHS1 = Idr[7];
+ RHS1 += Idr[8];
+ RHS1 -= go[8] * *cnV[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A5 += go[9];
+ double RHS2 = Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[10] * *cnV[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A7 += go[11];
+ double RHS3 = Idr[11];
+ RHS3 += Idr[12];
+ RHS3 -= go[12] * *cnV[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A8 += gt[15];
+ m_A10 += go[13];
+ m_A9 += go[14];
+ double RHS4 = Idr[13];
+ RHS4 += Idr[14];
+ RHS4 += Idr[15];
+ RHS4 -= go[15] * *cnV[15];
+ m_A11 += gt[16];
+ m_A11 += gt[17];
+ m_A11 += gt[18];
+ m_A12 += go[16];
+ double RHS5 = Idr[16];
+ RHS5 += Idr[17];
+ RHS5 += Idr[18];
+ RHS5 -= go[17] * *cnV[17];
+ RHS5 -= go[18] * *cnV[18];
+ m_A18 += gt[19];
+ m_A18 += gt[20];
+ m_A18 += gt[21];
+ m_A18 += gt[22];
+ m_A18 += gt[23];
+ m_A16 += go[19];
+ m_A15 += go[20];
+ m_A14 += go[21];
+ m_A17 += go[22];
+ m_A13 += go[23];
+ double RHS6 = Idr[19];
+ RHS6 += Idr[20];
+ RHS6 += Idr[21];
+ RHS6 += Idr[22];
+ RHS6 += Idr[23];
+ m_A23 += gt[24];
+ m_A23 += gt[25];
+ m_A21 += go[24];
+ m_A20 += go[25];
+ double RHS7 = Idr[24];
+ RHS7 += Idr[25];
+ const double f0 = 1.0 / m_A0;
const double f0_6 = -f0 * m_A13;
m_A18 += m_A1 * f0_6;
RHS6 += f0_6 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_6 = -f1 * m_A14;
m_A18 += m_A3 * f1_6;
RHS6 += f1_6 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_6 = -f2 * m_A15;
m_A18 += m_A5 * f2_6;
RHS6 += f2_6 * RHS2;
-const double f3 = 1.0 / m_A6;
+ const double f3 = 1.0 / m_A6;
const double f3_6 = -f3 * m_A16;
m_A18 += m_A7 * f3_6;
RHS6 += f3_6 * RHS3;
-const double f4 = 1.0 / m_A8;
+ const double f4 = 1.0 / m_A8;
const double f4_6 = -f4 * m_A17;
m_A18 += m_A9 * f4_6;
m_A19 += m_A10 * f4_6;
@@ -4012,11 +8037,11 @@ const double f4 = 1.0 / m_A8;
m_A22 += m_A9 * f4_7;
m_A23 += m_A10 * f4_7;
RHS7 += f4_7 * RHS4;
-const double f5 = 1.0 / m_A11;
+ const double f5 = 1.0 / m_A11;
const double f5_7 = -f5 * m_A21;
m_A23 += m_A12 * f5_7;
RHS7 += f5_7 * RHS5;
-const double f6 = 1.0 / m_A18;
+ const double f6 = 1.0 / m_A18;
const double f6_7 = -f6 * m_A22;
m_A23 += m_A19 * f6_7;
RHS7 += f6_7 * RHS6;
@@ -4045,379 +8070,295 @@ const double f6 = 1.0 / m_A18;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// dpatrol
-static void nl_gcr_57a832104e53c9a8_20_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3];
- m_A2 = gt[8];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8];
- m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20];
- m_A6 = m_A6 + go[16];
- m_A5 = m_A5 + go[17];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20];
- m_A8 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30];
- m_A10 = m_A10 + go[24];
- m_A9 = m_A9 + go[25];
- m_A7 = m_A7 + go[26];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30];
- m_A14 = gt[32] + gt[33] + gt[34] + gt[35];
- m_A11 = m_A11 + go[32];
- m_A12 = m_A12 + go[33];
- m_A13 = m_A13 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] - go[35] * *cnV[35];
- m_A19 = gt[40] + gt[41] + gt[42];
- m_A16 = m_A16 + go[40];
- m_A17 = m_A17 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[42] * *cnV[42];
-const double f0 = 1.0 / m_A0;
- const double f0_3 = -f0 * m_A7;
- m_A8 += m_A1 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A11;
- m_A14 += m_A3 * f1_4;
- RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_4 = -f2 * m_A12;
- m_A14 += m_A5 * f2_4;
- m_A15 += m_A6 * f2_4;
- RHS4 += f2_4 * RHS2;
- const double f2_5 = -f2 * m_A16;
- m_A18 += m_A5 * f2_5;
- m_A19 += m_A6 * f2_5;
- RHS5 += f2_5 * RHS2;
-const double f3 = 1.0 / m_A8;
- const double f3_4 = -f3 * m_A13;
- m_A14 += m_A9 * f3_4;
- m_A15 += m_A10 * f3_4;
- RHS4 += f3_4 * RHS3;
- const double f3_5 = -f3 * m_A17;
- m_A18 += m_A9 * f3_5;
- m_A19 += m_A10 * f3_5;
- RHS5 += f3_5 * RHS3;
-const double f4 = 1.0 / m_A14;
- const double f4_5 = -f4 * m_A18;
- m_A19 += m_A15 * f4_5;
- RHS5 += f4_5 * RHS4;
- V[5] = RHS5 / m_A19;
- double tmp4 = 0.0;
- tmp4 += m_A15 * V[5];
- V[4] = (RHS4 - tmp4) / m_A14;
- double tmp3 = 0.0;
- tmp3 += m_A9 * V[4];
- tmp3 += m_A10 * V[5];
- V[3] = (RHS3 - tmp3) / m_A8;
- double tmp2 = 0.0;
- tmp2 += m_A5 * V[4];
- tmp2 += m_A6 * V[5];
- V[2] = (RHS2 - tmp2) / m_A4;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[4];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[3];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// rebound
-static void nl_gcr_5985dfb549280eeb_13_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[6] + gt[7] + gt[8];
- m_A3 = m_A3 + go[6];
- double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8];
- m_A4 = gt[12] + gt[13] + gt[14];
- m_A5 = m_A5 + go[12];
- double RHS2 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A6 = gt[18] + gt[19] + gt[20];
- m_A7 = m_A7 + go[18];
- double RHS3 = Idr[18] + Idr[19] + Idr[20] - go[19] * *cnV[19] - go[20] * *cnV[20];
- m_A12 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28];
- m_A11 = m_A11 + go[24];
- m_A10 = m_A10 + go[25];
- m_A9 = m_A9 + go[26];
- m_A8 = m_A8 + go[27];
- double RHS4 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] - go[28] * *cnV[28];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A8;
- m_A12 += m_A1 * f0_4;
- RHS4 += f0_4 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A9;
- m_A12 += m_A3 * f1_4;
- RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_4 = -f2 * m_A10;
- m_A12 += m_A5 * f2_4;
- RHS4 += f2_4 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_4 = -f3 * m_A11;
- m_A12 += m_A7 * f3_4;
- RHS4 += f3_4 * RHS3;
- V[4] = RHS4 / m_A12;
- double tmp3 = 0.0;
- tmp3 += m_A7 * V[4];
- V[3] = (RHS3 - tmp3) / m_A6;
- double tmp2 = 0.0;
- tmp2 += m_A5 * V[4];
- V[2] = (RHS2 - tmp2) / m_A4;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[4];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// tp1985
-static void nl_gcr_5ca1779d1825c4c9_26_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// pongf
+static void nl_gcr_81ae080c83dcf6a4_35_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- m_A2 = m_A2 + go[1];
- double RHS0 = Idr[0] + Idr[1];
- m_A3 = gt[6] + gt[7] + gt[8];
- m_A4 = m_A4 + go[6];
- double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8];
- m_A5 = gt[12] + gt[13] + gt[14];
- m_A6 = m_A6 + go[12];
- double RHS2 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A7 = gt[18] + gt[19];
- m_A8 = m_A8 + go[18];
- double RHS3 = Idr[18] + Idr[19] - go[19] * *cnV[19];
- m_A10 = gt[24] + gt[25] + gt[26] + gt[27];
- m_A11 = m_A11 + go[24];
- m_A9 = m_A9 + go[25];
- double RHS4 = Idr[24] + Idr[25] + Idr[26] + Idr[27] - go[26] * *cnV[26] - go[27] * *cnV[27];
- m_A14 = gt[30] + gt[31];
- m_A13 = m_A13 + go[30];
- m_A15 = m_A15 + go[31];
- double RHS5 = Idr[30] + Idr[31];
- m_A19 = gt[36] + gt[37] + gt[38] + gt[39];
- m_A17 = m_A17 + go[36];
- m_A16 = m_A16 + go[37];
- m_A18 = m_A18 + go[38];
- m_A20 = m_A20 + go[39];
- double RHS6 = Idr[36] + Idr[37] + Idr[38] + Idr[39];
- m_A25 = gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A23 = m_A23 + go[42];
- m_A24 = m_A24 + go[43];
- m_A21 = m_A21 + go[44];
- double RHS7 = Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[45] * *cnV[45] - go[46] * *cnV[46];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A9;
- m_A10 += m_A1 * f0_4;
- m_A12 += m_A2 * f0_4;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A2 += gt[7];
+ m_A3 += go[4];
+ double RHS1 = Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A5 += go[8];
+ double RHS2 = Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[9] * *cnV[9];
+ RHS2 -= go[10] * *cnV[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A6 += gt[15];
+ m_A9 += go[11];
+ m_A7 += go[12];
+ m_A7 += go[13];
+ m_A7 += go[14];
+ m_A8 += go[15];
+ double RHS3 = Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ m_A11 += gt[16];
+ m_A11 += gt[17];
+ m_A11 += gt[18];
+ m_A11 += gt[19];
+ m_A11 += gt[20];
+ m_A11 += gt[21];
+ m_A11 += gt[22];
+ m_A13 += go[16];
+ m_A12 += go[17];
+ m_A10 += go[18];
+ double RHS4 = Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 += Idr[22];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ RHS4 -= go[22] * *cnV[22];
+ m_A15 += gt[23];
+ m_A15 += gt[24];
+ m_A15 += gt[25];
+ m_A15 += gt[26];
+ m_A15 += gt[27];
+ m_A17 += go[23];
+ m_A14 += go[24];
+ m_A14 += go[25];
+ m_A14 += go[26];
+ double RHS5 = Idr[23];
+ RHS5 += Idr[24];
+ RHS5 += Idr[25];
+ RHS5 += Idr[26];
+ RHS5 += Idr[27];
+ RHS5 -= go[27] * *cnV[27];
+ m_A22 += gt[28];
+ m_A22 += gt[29];
+ m_A22 += gt[30];
+ m_A22 += gt[31];
+ m_A19 += go[28];
+ m_A20 += go[29];
+ m_A18 += go[30];
+ double RHS6 = Idr[28];
+ RHS6 += Idr[29];
+ RHS6 += Idr[30];
+ RHS6 += Idr[31];
+ RHS6 -= go[31] * *cnV[31];
+ m_A28 += gt[32];
+ m_A28 += gt[33];
+ m_A28 += gt[34];
+ m_A29 += go[32];
+ m_A25 += go[33];
+ m_A26 += go[34];
+ double RHS7 = Idr[32];
+ RHS7 += Idr[33];
+ RHS7 += Idr[34];
+ m_A34 += gt[35];
+ m_A34 += gt[36];
+ m_A34 += gt[37];
+ m_A31 += go[35];
+ m_A30 += go[36];
+ m_A33 += go[37];
+ double RHS8 = Idr[35];
+ RHS8 += Idr[36];
+ RHS8 += Idr[37];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A10;
+ m_A11 += m_A1 * f0_4;
RHS4 += f0_4 * RHS0;
- const double f0_7 = -f0 * m_A21;
- m_A22 += m_A1 * f0_7;
- m_A25 += m_A2 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A3;
- const double f1_6 = -f1 * m_A16;
- m_A19 += m_A4 * f1_6;
+ const double f1 = 1.0 / m_A2;
+ const double f1_6 = -f1 * m_A18;
+ m_A22 += m_A3 * f1_6;
RHS6 += f1_6 * RHS1;
-const double f2 = 1.0 / m_A5;
- const double f2_6 = -f2 * m_A17;
- m_A19 += m_A6 * f2_6;
- RHS6 += f2_6 * RHS2;
-const double f3 = 1.0 / m_A7;
- const double f3_5 = -f3 * m_A13;
- m_A14 += m_A8 * f3_5;
+ const double f2 = 1.0 / m_A4;
+ const double f2_7 = -f2 * m_A25;
+ m_A28 += m_A5 * f2_7;
+ RHS7 += f2_7 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_5 = -f3 * m_A14;
+ m_A15 += m_A7 * f3_5;
+ m_A16 += m_A8 * f3_5;
+ m_A17 += m_A9 * f3_5;
RHS5 += f3_5 * RHS3;
-const double f4 = 1.0 / m_A10;
- const double f4_6 = -f4 * m_A18;
- m_A19 += m_A11 * f4_6;
- m_A20 += m_A12 * f4_6;
+ const double f3_6 = -f3 * m_A19;
+ m_A21 += m_A7 * f3_6;
+ m_A22 += m_A8 * f3_6;
+ m_A24 += m_A9 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f3_8 = -f3 * m_A30;
+ m_A31 += m_A7 * f3_8;
+ m_A32 += m_A8 * f3_8;
+ m_A34 += m_A9 * f3_8;
+ RHS8 += f3_8 * RHS3;
+ const double f4 = 1.0 / m_A11;
+ const double f4_6 = -f4 * m_A20;
+ m_A22 += m_A12 * f4_6;
+ m_A23 += m_A13 * f4_6;
RHS6 += f4_6 * RHS4;
- const double f4_7 = -f4 * m_A22;
- m_A24 += m_A11 * f4_7;
- m_A25 += m_A12 * f4_7;
+ const double f4_7 = -f4 * m_A26;
+ m_A27 += m_A12 * f4_7;
+ m_A28 += m_A13 * f4_7;
RHS7 += f4_7 * RHS4;
-const double f5 = 1.0 / m_A14;
- const double f5_7 = -f5 * m_A23;
- m_A25 += m_A15 * f5_7;
- RHS7 += f5_7 * RHS5;
-const double f6 = 1.0 / m_A19;
- const double f6_7 = -f6 * m_A24;
- m_A25 += m_A20 * f6_7;
+ const double f5 = 1.0 / m_A15;
+ const double f5_6 = -f5 * m_A21;
+ m_A22 += m_A16 * f5_6;
+ m_A24 += m_A17 * f5_6;
+ RHS6 += f5_6 * RHS5;
+ const double f5_8 = -f5 * m_A31;
+ m_A32 += m_A16 * f5_8;
+ m_A34 += m_A17 * f5_8;
+ RHS8 += f5_8 * RHS5;
+ const double f6 = 1.0 / m_A22;
+ const double f6_7 = -f6 * m_A27;
+ m_A28 += m_A23 * f6_7;
+ m_A29 += m_A24 * f6_7;
RHS7 += f6_7 * RHS6;
- V[7] = RHS7 / m_A25;
+ const double f6_8 = -f6 * m_A32;
+ m_A33 += m_A23 * f6_8;
+ m_A34 += m_A24 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A28;
+ const double f7_8 = -f7 * m_A33;
+ m_A34 += m_A29 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ V[8] = RHS8 / m_A34;
+ double tmp7 = 0.0;
+ tmp7 += m_A29 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A28;
double tmp6 = 0.0;
- tmp6 += m_A20 * V[7];
- V[6] = (RHS6 - tmp6) / m_A19;
+ tmp6 += m_A23 * V[7];
+ tmp6 += m_A24 * V[8];
+ V[6] = (RHS6 - tmp6) / m_A22;
double tmp5 = 0.0;
- tmp5 += m_A15 * V[7];
- V[5] = (RHS5 - tmp5) / m_A14;
+ tmp5 += m_A16 * V[6];
+ tmp5 += m_A17 * V[8];
+ V[5] = (RHS5 - tmp5) / m_A15;
double tmp4 = 0.0;
- tmp4 += m_A11 * V[6];
- tmp4 += m_A12 * V[7];
- V[4] = (RHS4 - tmp4) / m_A10;
+ tmp4 += m_A12 * V[6];
+ tmp4 += m_A13 * V[7];
+ V[4] = (RHS4 - tmp4) / m_A11;
double tmp3 = 0.0;
- tmp3 += m_A8 * V[5];
- V[3] = (RHS3 - tmp3) / m_A7;
- double tmp2 = 0.0;
- tmp2 += m_A6 * V[6];
- V[2] = (RHS2 - tmp2) / m_A5;
- double tmp1 = 0.0;
- tmp1 += m_A4 * V[6];
- V[1] = (RHS1 - tmp1) / m_A3;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
- tmp0 += m_A2 * V[7];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// tp1985
-static void nl_gcr_6148fa421800febb_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A5 = gt[8] + gt[9];
- m_A6 = m_A6 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9];
- m_A9 = gt[12] + gt[13];
- m_A7 = m_A7 + go[12];
- m_A8 = m_A8 + go[13];
- double RHS3 = Idr[12] + Idr[13];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
- m_A5 += m_A1 * f0_2;
- RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_3 = -f1 * m_A7;
- m_A9 += m_A3 * f1_3;
- RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A5;
- const double f2_3 = -f2 * m_A8;
- m_A9 += m_A6 * f2_3;
- RHS3 += f2_3 * RHS2;
- V[3] = RHS3 / m_A9;
+ tmp3 += m_A7 * V[5];
+ tmp3 += m_A8 * V[6];
+ tmp3 += m_A9 * V[8];
+ V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A6 * V[3];
- V[2] = (RHS2 - tmp2) / m_A5;
+ tmp2 += m_A5 * V[7];
+ V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[3];
+ tmp1 += m_A3 * V[6];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
+ tmp0 += m_A1 * V[4];
V[0] = (RHS0 - tmp0) / m_A0;
}
// tp1985
-static void nl_gcr_6480c7a1d69e9131_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_83fbe835263b28d3_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A6 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A5 += go[6];
+ m_A4 += go[7];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[8] * *cnV[8];
+ const double f0 = 1.0 / m_A0;
const double f0_2 = -f0 * m_A4;
m_A6 += m_A1 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_2 = -f1 * m_A5;
m_A6 += m_A3 * f1_2;
RHS2 += f1_2 * RHS1;
@@ -4430,1640 +8371,1592 @@ const double f1 = 1.0 / m_A2;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// 280zzzap
-static void nl_gcr_66a07f8f9d33245b_57_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// pongf
+static void nl_gcr_930be1d2f1a52598_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38];
- m_A10 = gt[40] + gt[41];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A12 = gt[48] + gt[49];
- m_A14 = m_A14 + go[48];
- m_A13 = m_A13 + go[49];
- double RHS6 = Idr[48] + Idr[49];
- m_A15 = gt[56] + gt[57];
- m_A16 = m_A16 + go[56];
- double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57];
- m_A17 = gt[64] + gt[65];
- m_A18 = m_A18 + go[64];
- double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65];
- m_A20 = gt[72] + gt[73] + gt[74] + gt[75];
- m_A19 = m_A19 + go[72];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[73] * *cnV[73] - go[74] * *cnV[74] - go[75] * *cnV[75];
- m_A24 = gt[80] + gt[81];
- m_A23 = m_A23 + go[80];
- m_A22 = m_A22 + go[81];
- double RHS10 = Idr[80] + Idr[81];
- m_A27 = gt[88] + gt[89] + gt[90] + gt[91];
- m_A26 = m_A26 + go[88];
- m_A28 = m_A28 + go[89];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[90] * *cnV[90] - go[91] * *cnV[91];
- m_A31 = gt[96] + gt[97] + gt[98] + gt[99] + gt[100] + gt[101];
- m_A29 = m_A29 + go[96];
- m_A33 = m_A33 + go[97];
- m_A32 = m_A32 + go[98];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] + Idr[100] + Idr[101] - go[99] * *cnV[99] - go[100] * *cnV[100] - go[101] * *cnV[101];
- m_A36 = gt[104] + gt[105];
- m_A34 = m_A34 + go[104];
- double RHS13 = Idr[104] + Idr[105] - go[105] * *cnV[105];
- m_A39 = gt[112] + gt[113] + gt[114];
- m_A38 = m_A38 + go[112];
- m_A37 = m_A37 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114];
- m_A41 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A40 = m_A40 + go[120];
- m_A42 = m_A42 + go[121];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123];
- m_A49 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132];
- m_A44 = m_A44 + go[128];
- m_A47 = m_A47 + go[129];
- m_A46 = m_A46 + go[130];
- m_A43 = m_A43 + go[131];
- m_A45 = m_A45 + go[132];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132];
- m_A56 = gt[136] + gt[137] + gt[138] + gt[139];
- m_A54 = m_A54 + go[136];
- m_A53 = m_A53 + go[137];
- m_A51 = m_A51 + go[138];
- m_A52 = m_A52 + go[139];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139];
-const double f0 = 1.0 / m_A0;
- const double f0_11 = -f0 * m_A26;
- m_A28 += m_A1 * f0_11;
- RHS11 += f0_11 * RHS0;
- const double f0_16 = -f0 * m_A43;
- m_A49 += m_A1 * f0_16;
- RHS16 += f0_16 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_16 = -f1 * m_A44;
- m_A49 += m_A3 * f1_16;
- RHS16 += f1_16 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_12 = -f2 * m_A29;
- m_A30 += m_A5 * f2_12;
- RHS12 += f2_12 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_15 = -f3 * m_A40;
- m_A42 += m_A7 * f3_15;
- RHS15 += f3_15 * RHS3;
- const double f3_17 = -f3 * m_A51;
- m_A56 += m_A7 * f3_17;
- RHS17 += f3_17 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_9 = -f4 * m_A19;
- m_A21 += m_A9 * f4_9;
- RHS9 += f4_9 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_10 = -f5 * m_A22;
- m_A24 += m_A11 * f5_10;
- RHS10 += f5_10 * RHS5;
- const double f5_16 = -f5 * m_A45;
- m_A46 += m_A11 * f5_16;
- RHS16 += f5_16 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_10 = -f6 * m_A23;
- m_A24 += m_A13 * f6_10;
- m_A25 += m_A14 * f6_10;
- RHS10 += f6_10 * RHS6;
- const double f6_13 = -f6 * m_A34;
- m_A35 += m_A13 * f6_13;
- m_A36 += m_A14 * f6_13;
- RHS13 += f6_13 * RHS6;
-const double f7 = 1.0 / m_A15;
- const double f7_14 = -f7 * m_A37;
- m_A39 += m_A16 * f7_14;
- RHS14 += f7_14 * RHS7;
- const double f7_17 = -f7 * m_A52;
- m_A54 += m_A16 * f7_17;
- RHS17 += f7_17 * RHS7;
-const double f8 = 1.0 / m_A17;
- const double f8_14 = -f8 * m_A38;
- m_A39 += m_A18 * f8_14;
- RHS14 += f8_14 * RHS8;
-const double f10 = 1.0 / m_A24;
- const double f10_13 = -f10 * m_A35;
- m_A36 += m_A25 * f10_13;
- RHS13 += f10_13 * RHS10;
- const double f10_16 = -f10 * m_A46;
- m_A48 += m_A25 * f10_16;
- RHS16 += f10_16 * RHS10;
-const double f11 = 1.0 / m_A27;
- const double f11_12 = -f11 * m_A30;
- m_A32 += m_A28 * f11_12;
- RHS12 += f11_12 * RHS11;
-const double f12 = 1.0 / m_A31;
- const double f12_16 = -f12 * m_A47;
- m_A49 += m_A32 * f12_16;
- m_A50 += m_A33 * f12_16;
- RHS16 += f12_16 * RHS12;
- const double f12_17 = -f12 * m_A53;
- m_A55 += m_A32 * f12_17;
- m_A56 += m_A33 * f12_17;
- RHS17 += f12_17 * RHS12;
-const double f13 = 1.0 / m_A36;
- const double f13_16 = -f13 * m_A48;
- RHS16 += f13_16 * RHS13;
-const double f14 = 1.0 / m_A39;
- const double f14_17 = -f14 * m_A54;
- RHS17 += f14_17 * RHS14;
-const double f16 = 1.0 / m_A49;
- const double f16_17 = -f16 * m_A55;
- m_A56 += m_A50 * f16_17;
- RHS17 += f16_17 * RHS16;
- V[17] = RHS17 / m_A56;
- double tmp16 = 0.0;
- tmp16 += m_A50 * V[17];
- V[16] = (RHS16 - tmp16) / m_A49;
- double tmp15 = 0.0;
- tmp15 += m_A42 * V[17];
- V[15] = (RHS15 - tmp15) / m_A41;
- double tmp14 = 0.0;
- V[14] = (RHS14 - tmp14) / m_A39;
- double tmp13 = 0.0;
- V[13] = (RHS13 - tmp13) / m_A36;
- double tmp12 = 0.0;
- tmp12 += m_A32 * V[16];
- tmp12 += m_A33 * V[17];
- V[12] = (RHS12 - tmp12) / m_A31;
- double tmp11 = 0.0;
- tmp11 += m_A28 * V[16];
- V[11] = (RHS11 - tmp11) / m_A27;
- double tmp10 = 0.0;
- tmp10 += m_A25 * V[13];
- V[10] = (RHS10 - tmp10) / m_A24;
- double tmp9 = 0.0;
- tmp9 += m_A21 * V[15];
- V[9] = (RHS9 - tmp9) / m_A20;
- double tmp8 = 0.0;
- tmp8 += m_A18 * V[14];
- V[8] = (RHS8 - tmp8) / m_A17;
- double tmp7 = 0.0;
- tmp7 += m_A16 * V[14];
- V[7] = (RHS7 - tmp7) / m_A15;
- double tmp6 = 0.0;
- tmp6 += m_A13 * V[10];
- tmp6 += m_A14 * V[13];
- V[6] = (RHS6 - tmp6) / m_A12;
- double tmp5 = 0.0;
- tmp5 += m_A11 * V[10];
- V[5] = (RHS5 - tmp5) / m_A10;
- double tmp4 = 0.0;
- tmp4 += m_A9 * V[15];
- V[4] = (RHS4 - tmp4) / m_A8;
- double tmp3 = 0.0;
- tmp3 += m_A7 * V[17];
- V[3] = (RHS3 - tmp3) / m_A6;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A9 += gt[9];
+ m_A9 += gt[10];
+ m_A9 += gt[11];
+ m_A8 += go[9];
+ m_A7 += go[10];
+ m_A6 += go[11];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ const double f0 = 1.0 / m_A0;
+ const double f0_3 = -f0 * m_A6;
+ m_A9 += m_A1 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_3 = -f1 * m_A7;
+ m_A9 += m_A3 * f1_3;
+ RHS3 += f1_3 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_3 = -f2 * m_A8;
+ m_A9 += m_A5 * f2_3;
+ RHS3 += f2_3 * RHS2;
+ V[3] = RHS3 / m_A9;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[11];
+ tmp2 += m_A5 * V[3];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[16];
+ tmp1 += m_A3 * V[3];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[16];
+ tmp0 += m_A1 * V[3];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// stuntcyc
-static void nl_gcr_6c599fc01f5b084c_20_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// kidniki
+static void nl_gcr_9701e2657a7f4ca3_37_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20];
- m_A6 = m_A6 + go[16];
- m_A5 = m_A5 + go[17];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20];
- m_A8 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29] + gt[30];
- m_A10 = m_A10 + go[24];
- m_A9 = m_A9 + go[25];
- m_A7 = m_A7 + go[26];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] + Idr[30] - go[27] * *cnV[27] - go[28] * *cnV[28] - go[29] * *cnV[29] - go[30] * *cnV[30];
- m_A14 = gt[32] + gt[33] + gt[34] + gt[35];
- m_A12 = m_A12 + go[32];
- m_A11 = m_A11 + go[33];
- m_A13 = m_A13 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] - go[35] * *cnV[35];
- m_A19 = gt[40] + gt[41] + gt[42];
- m_A16 = m_A16 + go[40];
- m_A17 = m_A17 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[42] * *cnV[42];
-const double f0 = 1.0 / m_A0;
- const double f0_3 = -f0 * m_A7;
- m_A8 += m_A1 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A11;
- m_A14 += m_A3 * f1_4;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A2 += go[0];
+ m_A2 += go[1];
+ m_A1 += go[2];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[3] * *cnV[3];
+ m_A3 += gt[4];
+ m_A3 += gt[5];
+ m_A3 += gt[6];
+ m_A5 += go[4];
+ m_A4 += go[5];
+ double RHS1 = Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A7 += go[7];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ RHS2 -= go[10] * *cnV[10];
+ m_A8 += gt[11];
+ m_A8 += gt[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A11 += go[11];
+ m_A9 += go[12];
+ m_A10 += go[13];
+ double RHS3 = Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[14] * *cnV[14];
+ m_A14 += gt[15];
+ m_A14 += gt[16];
+ m_A14 += gt[17];
+ m_A14 += gt[18];
+ m_A14 += gt[19];
+ m_A14 += gt[20];
+ m_A14 += gt[21];
+ m_A13 += go[15];
+ m_A16 += go[16];
+ m_A16 += go[17];
+ m_A16 += go[18];
+ m_A12 += go[19];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ m_A20 += gt[22];
+ m_A20 += gt[23];
+ m_A20 += gt[24];
+ m_A17 += go[22];
+ m_A18 += go[23];
+ double RHS5 = Idr[22];
+ RHS5 += Idr[23];
+ RHS5 += Idr[24];
+ RHS5 -= go[24] * *cnV[24];
+ m_A24 += gt[25];
+ m_A24 += gt[26];
+ m_A24 += gt[27];
+ m_A25 += go[25];
+ m_A23 += go[26];
+ double RHS6 = Idr[25];
+ RHS6 += Idr[26];
+ RHS6 += Idr[27];
+ RHS6 -= go[27] * *cnV[27];
+ m_A30 += gt[28];
+ m_A30 += gt[29];
+ m_A30 += gt[30];
+ m_A30 += gt[31];
+ m_A30 += gt[32];
+ m_A30 += gt[33];
+ m_A27 += go[28];
+ m_A28 += go[29];
+ m_A28 += go[30];
+ m_A28 += go[31];
+ m_A26 += go[32];
+ m_A26 += go[33];
+ double RHS7 = Idr[28];
+ RHS7 += Idr[29];
+ RHS7 += Idr[30];
+ RHS7 += Idr[31];
+ RHS7 += Idr[32];
+ RHS7 += Idr[33];
+ m_A36 += gt[34];
+ m_A36 += gt[35];
+ m_A34 += go[34];
+ m_A32 += go[35];
+ double RHS8 = Idr[34];
+ RHS8 += Idr[35];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A12;
+ m_A14 += m_A1 * f0_4;
+ m_A16 += m_A2 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f0_7 = -f0 * m_A26;
+ m_A28 += m_A1 * f0_7;
+ m_A30 += m_A2 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A3;
+ const double f1_4 = -f1 * m_A13;
+ m_A14 += m_A4 * f1_4;
+ m_A15 += m_A5 * f1_4;
RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_4 = -f2 * m_A12;
- m_A14 += m_A5 * f2_4;
- m_A15 += m_A6 * f2_4;
- RHS4 += f2_4 * RHS2;
- const double f2_5 = -f2 * m_A16;
- m_A18 += m_A5 * f2_5;
- m_A19 += m_A6 * f2_5;
- RHS5 += f2_5 * RHS2;
-const double f3 = 1.0 / m_A8;
- const double f3_4 = -f3 * m_A13;
- m_A14 += m_A9 * f3_4;
- m_A15 += m_A10 * f3_4;
- RHS4 += f3_4 * RHS3;
- const double f3_5 = -f3 * m_A17;
- m_A18 += m_A9 * f3_5;
- m_A19 += m_A10 * f3_5;
+ const double f1_5 = -f1 * m_A17;
+ m_A19 += m_A4 * f1_5;
+ m_A20 += m_A5 * f1_5;
+ RHS5 += f1_5 * RHS1;
+ const double f2 = 1.0 / m_A6;
+ const double f2_6 = -f2 * m_A23;
+ m_A24 += m_A7 * f2_6;
+ RHS6 += f2_6 * RHS2;
+ const double f3 = 1.0 / m_A8;
+ const double f3_5 = -f3 * m_A18;
+ m_A20 += m_A9 * f3_5;
+ m_A21 += m_A10 * f3_5;
+ m_A22 += m_A11 * f3_5;
RHS5 += f3_5 * RHS3;
-const double f4 = 1.0 / m_A14;
- const double f4_5 = -f4 * m_A18;
- m_A19 += m_A15 * f4_5;
+ const double f3_7 = -f3 * m_A27;
+ m_A29 += m_A9 * f3_7;
+ m_A30 += m_A10 * f3_7;
+ m_A31 += m_A11 * f3_7;
+ RHS7 += f3_7 * RHS3;
+ const double f3_8 = -f3 * m_A32;
+ m_A33 += m_A9 * f3_8;
+ m_A35 += m_A10 * f3_8;
+ m_A36 += m_A11 * f3_8;
+ RHS8 += f3_8 * RHS3;
+ const double f4 = 1.0 / m_A14;
+ const double f4_5 = -f4 * m_A19;
+ m_A20 += m_A15 * f4_5;
+ m_A21 += m_A16 * f4_5;
RHS5 += f4_5 * RHS4;
- V[5] = RHS5 / m_A19;
+ const double f4_7 = -f4 * m_A28;
+ m_A29 += m_A15 * f4_7;
+ m_A30 += m_A16 * f4_7;
+ RHS7 += f4_7 * RHS4;
+ const double f5 = 1.0 / m_A20;
+ const double f5_7 = -f5 * m_A29;
+ m_A30 += m_A21 * f5_7;
+ m_A31 += m_A22 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f5_8 = -f5 * m_A33;
+ m_A35 += m_A21 * f5_8;
+ m_A36 += m_A22 * f5_8;
+ RHS8 += f5_8 * RHS5;
+ const double f6 = 1.0 / m_A24;
+ const double f6_8 = -f6 * m_A34;
+ m_A36 += m_A25 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A30;
+ const double f7_8 = -f7 * m_A35;
+ m_A36 += m_A31 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ V[8] = RHS8 / m_A36;
+ double tmp7 = 0.0;
+ tmp7 += m_A31 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A30;
+ double tmp6 = 0.0;
+ tmp6 += m_A25 * V[8];
+ V[6] = (RHS6 - tmp6) / m_A24;
+ double tmp5 = 0.0;
+ tmp5 += m_A21 * V[7];
+ tmp5 += m_A22 * V[8];
+ V[5] = (RHS5 - tmp5) / m_A20;
double tmp4 = 0.0;
tmp4 += m_A15 * V[5];
+ tmp4 += m_A16 * V[7];
V[4] = (RHS4 - tmp4) / m_A14;
double tmp3 = 0.0;
- tmp3 += m_A9 * V[4];
- tmp3 += m_A10 * V[5];
+ tmp3 += m_A9 * V[5];
+ tmp3 += m_A10 * V[7];
+ tmp3 += m_A11 * V[8];
V[3] = (RHS3 - tmp3) / m_A8;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[4];
- tmp2 += m_A6 * V[5];
- V[2] = (RHS2 - tmp2) / m_A4;
+ tmp2 += m_A7 * V[6];
+ V[2] = (RHS2 - tmp2) / m_A6;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[4];
- V[1] = (RHS1 - tmp1) / m_A2;
+ tmp1 += m_A4 * V[4];
+ tmp1 += m_A5 * V[5];
+ V[1] = (RHS1 - tmp1) / m_A3;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[3];
+ tmp0 += m_A1 * V[4];
+ tmp0 += m_A2 * V[7];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// breakout
-static void nl_gcr_6d40bbc695987ef5_13_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// cocoloco
+static void nl_gcr_97d556b480d72ab7_16_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[6] + gt[7] + gt[8];
- m_A3 = m_A3 + go[6];
- double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8];
- m_A4 = gt[12] + gt[13] + gt[14];
- m_A5 = m_A5 + go[12];
- double RHS2 = Idr[12] + Idr[13] + Idr[14] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A6 = gt[18] + gt[19] + gt[20];
- m_A7 = m_A7 + go[18];
- double RHS3 = Idr[18] + Idr[19] + Idr[20] - go[19] * *cnV[19] - go[20] * *cnV[20];
- m_A12 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29];
- m_A11 = m_A11 + go[24];
- m_A10 = m_A10 + go[25];
- m_A9 = m_A9 + go[26];
- m_A8 = m_A8 + go[27];
- double RHS4 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] - go[28] * *cnV[28] - go[29] * *cnV[29];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A8;
- m_A12 += m_A1 * f0_4;
- RHS4 += f0_4 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_4 = -f1 * m_A9;
- m_A12 += m_A3 * f1_4;
- RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_4 = -f2 * m_A10;
- m_A12 += m_A5 * f2_4;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A5 += go[4];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A7 += go[6];
+ double RHS3 = Idr[6];
+ RHS3 += Idr[7];
+ RHS3 -= go[7] * *cnV[7];
+ m_A9 += gt[8];
+ m_A9 += gt[9];
+ m_A9 += gt[10];
+ m_A8 += go[8];
+ m_A10 += go[9];
+ double RHS4 = Idr[8];
+ RHS4 += Idr[9];
+ RHS4 += Idr[10];
+ RHS4 -= go[10] * *cnV[10];
+ m_A15 += gt[11];
+ m_A15 += gt[12];
+ m_A15 += gt[13];
+ m_A15 += gt[14];
+ m_A14 += go[11];
+ m_A13 += go[12];
+ m_A12 += go[13];
+ m_A11 += go[14];
+ double RHS5 = Idr[11];
+ RHS5 += Idr[12];
+ RHS5 += Idr[13];
+ RHS5 += Idr[14];
+ const double f0 = 1.0 / m_A0;
+ const double f0_5 = -f0 * m_A11;
+ m_A15 += m_A1 * f0_5;
+ RHS5 += f0_5 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_5 = -f1 * m_A12;
+ m_A15 += m_A3 * f1_5;
+ RHS5 += f1_5 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_4 = -f2 * m_A8;
+ m_A9 += m_A5 * f2_4;
RHS4 += f2_4 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_4 = -f3 * m_A11;
- m_A12 += m_A7 * f3_4;
- RHS4 += f3_4 * RHS3;
- V[4] = RHS4 / m_A12;
+ const double f3 = 1.0 / m_A6;
+ const double f3_5 = -f3 * m_A13;
+ m_A15 += m_A7 * f3_5;
+ RHS5 += f3_5 * RHS3;
+ const double f4 = 1.0 / m_A9;
+ const double f4_5 = -f4 * m_A14;
+ m_A15 += m_A10 * f4_5;
+ RHS5 += f4_5 * RHS4;
+ V[5] = RHS5 / m_A15;
+ double tmp4 = 0.0;
+ tmp4 += m_A10 * V[5];
+ V[4] = (RHS4 - tmp4) / m_A9;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[4];
+ tmp3 += m_A7 * V[5];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
tmp2 += m_A5 * V[4];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[4];
+ tmp1 += m_A3 * V[5];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
+ tmp0 += m_A1 * V[5];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// pongf
-static void nl_gcr_70e1061a9deb37a4_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// zac1b11142
+static void nl_gcr_988a81edfbe45655_30_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A6 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
- m_A6 += m_A1 * f0_2;
- RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A5;
- m_A6 += m_A3 * f1_2;
- RHS2 += f1_2 * RHS1;
- V[2] = RHS2 / m_A6;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A0 += gt[5];
+ m_A0 += gt[6];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 += Idr[5];
+ RHS0 += Idr[6];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ RHS0 -= go[5] * *cnV[5];
+ RHS0 -= go[6] * *cnV[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A2 += gt[9];
+ m_A3 += go[7];
+ double RHS1 = Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 -= go[8] * *cnV[8];
+ RHS1 -= go[9] * *cnV[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A5 += go[10];
+ double RHS2 = Idr[10];
+ RHS2 += Idr[11];
+ RHS2 -= go[11] * *cnV[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A7 += go[12];
+ double RHS3 = Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A8 += gt[17];
+ m_A9 += go[15];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 -= go[16] * *cnV[16];
+ RHS4 -= go[17] * *cnV[17];
+ m_A11 += gt[18];
+ m_A11 += gt[19];
+ m_A11 += gt[20];
+ m_A11 += gt[21];
+ m_A11 += gt[22];
+ m_A11 += gt[23];
+ m_A10 += go[18];
+ m_A12 += go[19];
+ m_A12 += go[20];
+ double RHS5 = Idr[18];
+ RHS5 += Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[21] * *cnV[21];
+ RHS5 -= go[22] * *cnV[22];
+ RHS5 -= go[23] * *cnV[23];
+ m_A16 += gt[24];
+ m_A16 += gt[25];
+ m_A15 += go[24];
+ m_A14 += go[25];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ m_A18 += gt[26];
+ m_A18 += gt[27];
+ m_A19 += go[26];
+ m_A17 += go[27];
+ double RHS7 = Idr[26];
+ RHS7 += Idr[27];
+ m_A25 += gt[28];
+ m_A25 += gt[29];
+ m_A25 += gt[30];
+ m_A25 += gt[31];
+ m_A25 += gt[32];
+ m_A25 += gt[33];
+ m_A23 += go[28];
+ m_A22 += go[29];
+ m_A22 += go[30];
+ m_A24 += go[31];
+ m_A21 += go[32];
+ m_A20 += go[33];
+ double RHS8 = Idr[28];
+ RHS8 += Idr[29];
+ RHS8 += Idr[30];
+ RHS8 += Idr[31];
+ RHS8 += Idr[32];
+ RHS8 += Idr[33];
+ m_A29 += gt[34];
+ m_A29 += gt[35];
+ m_A29 += gt[36];
+ m_A29 += gt[37];
+ m_A28 += go[34];
+ m_A27 += go[35];
+ double RHS9 = Idr[34];
+ RHS9 += Idr[35];
+ RHS9 += Idr[36];
+ RHS9 += Idr[37];
+ RHS9 -= go[36] * *cnV[36];
+ RHS9 -= go[37] * *cnV[37];
+ const double f0 = 1.0 / m_A0;
+ const double f0_5 = -f0 * m_A10;
+ m_A13 += m_A1 * f0_5;
+ RHS5 += f0_5 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_7 = -f1 * m_A17;
+ m_A18 += m_A3 * f1_7;
+ RHS7 += f1_7 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_6 = -f2 * m_A14;
+ m_A16 += m_A5 * f2_6;
+ RHS6 += f2_6 * RHS2;
+ const double f2_8 = -f2 * m_A20;
+ m_A23 += m_A5 * f2_8;
+ RHS8 += f2_8 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_6 = -f3 * m_A15;
+ m_A16 += m_A7 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_8 = -f4 * m_A21;
+ m_A25 += m_A9 * f4_8;
+ RHS8 += f4_8 * RHS4;
+ const double f4_9 = -f4 * m_A27;
+ m_A28 += m_A9 * f4_9;
+ RHS9 += f4_9 * RHS4;
+ const double f5 = 1.0 / m_A11;
+ const double f5_8 = -f5 * m_A22;
+ m_A25 += m_A12 * f5_8;
+ m_A26 += m_A13 * f5_8;
+ RHS8 += f5_8 * RHS5;
+ const double f6 = 1.0 / m_A16;
+ const double f6_8 = -f6 * m_A23;
+ RHS8 += f6_8 * RHS6;
+ const double f7 = 1.0 / m_A18;
+ const double f7_8 = -f7 * m_A24;
+ m_A25 += m_A19 * f7_8;
+ RHS8 += f7_8 * RHS7;
+ const double f8 = 1.0 / m_A25;
+ const double f8_9 = -f8 * m_A28;
+ m_A29 += m_A26 * f8_9;
+ RHS9 += f8_9 * RHS8;
+ V[9] = RHS9 / m_A29;
+ double tmp8 = 0.0;
+ tmp8 += m_A26 * V[9];
+ V[8] = (RHS8 - tmp8) / m_A25;
+ double tmp7 = 0.0;
+ tmp7 += m_A19 * V[8];
+ V[7] = (RHS7 - tmp7) / m_A18;
+ double tmp6 = 0.0;
+ V[6] = (RHS6 - tmp6) / m_A16;
+ double tmp5 = 0.0;
+ tmp5 += m_A12 * V[8];
+ tmp5 += m_A13 * V[9];
+ V[5] = (RHS5 - tmp5) / m_A11;
+ double tmp4 = 0.0;
+ tmp4 += m_A9 * V[8];
+ V[4] = (RHS4 - tmp4) / m_A8;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[6];
+ V[3] = (RHS3 - tmp3) / m_A6;
+ double tmp2 = 0.0;
+ tmp2 += m_A5 * V[6];
+ V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[2];
+ tmp1 += m_A3 * V[7];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
+ tmp0 += m_A1 * V[9];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// breakout
-static void nl_gcr_7421995adbfda1ad_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// tp1985
+static void nl_gcr_99e69c1880e516a7_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A4 = gt[8] + gt[9];
- m_A5 = m_A5 + go[8];
- double RHS2 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A9 = gt[12] + gt[13] + gt[14];
- m_A8 = m_A8 + go[12];
- m_A7 = m_A7 + go[13];
- m_A6 = m_A6 + go[14];
- double RHS3 = Idr[12] + Idr[13] + Idr[14];
-const double f0 = 1.0 / m_A0;
- const double f0_3 = -f0 * m_A6;
- m_A9 += m_A1 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A2;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A5 += gt[6];
+ m_A5 += gt[7];
+ m_A6 += go[6];
+ m_A4 += go[7];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ m_A9 += gt[8];
+ m_A9 += gt[9];
+ m_A7 += go[8];
+ m_A8 += go[9];
+ double RHS3 = Idr[8];
+ RHS3 += Idr[9];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A5 += m_A1 * f0_2;
+ RHS2 += f0_2 * RHS0;
+ const double f1 = 1.0 / m_A2;
const double f1_3 = -f1 * m_A7;
m_A9 += m_A3 * f1_3;
RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A5;
const double f2_3 = -f2 * m_A8;
- m_A9 += m_A5 * f2_3;
+ m_A9 += m_A6 * f2_3;
RHS3 += f2_3 * RHS2;
V[3] = RHS3 / m_A9;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[3];
- V[2] = (RHS2 - tmp2) / m_A4;
+ tmp2 += m_A6 * V[3];
+ V[2] = (RHS2 - tmp2) / m_A5;
double tmp1 = 0.0;
tmp1 += m_A3 * V[3];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[3];
+ tmp0 += m_A1 * V[2];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// zac1b11142
-static void nl_gcr_7572db25f250cf5a_71_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// tp1985
+static void nl_gcr_a1806410e32baeb_26_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A2 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A8 = gt[32] + gt[33] + gt[34];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A10 = gt[40] + gt[41];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A12 = gt[48] + gt[49] + gt[50];
- m_A13 = m_A13 + go[48];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50];
- m_A14 = gt[56] + gt[57] + gt[58];
- m_A15 = m_A15 + go[56];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] - go[57] * *cnV[57] - go[58] * *cnV[58];
- m_A17 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69];
- m_A16 = m_A16 + go[64];
- m_A18 = m_A18 + go[65];
- m_A19 = m_A19 + go[66];
- m_A19 = m_A19 + go[67];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] - go[68] * *cnV[68] - go[69] * *cnV[69];
- m_A21 = gt[72] + gt[73] + gt[74];
- m_A22 = m_A22 + go[72];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] - go[73] * *cnV[73] - go[74] * *cnV[74];
- m_A23 = gt[80] + gt[81] + gt[82];
- m_A25 = m_A25 + go[80];
- m_A24 = m_A24 + go[81];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] - go[82] * *cnV[82];
- m_A27 = gt[88] + gt[89] + gt[90] + gt[91] + gt[92] + gt[93];
- m_A26 = m_A26 + go[88];
- m_A29 = m_A29 + go[89];
- m_A29 = m_A29 + go[90];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] + Idr[92] + Idr[93] - go[91] * *cnV[91] - go[92] * *cnV[92] - go[93] * *cnV[93];
- m_A31 = gt[96] + gt[97];
- m_A32 = m_A32 + go[96];
- m_A30 = m_A30 + go[97];
- double RHS12 = Idr[96] + Idr[97];
- m_A35 = gt[104] + gt[105];
- m_A34 = m_A34 + go[104];
- m_A33 = m_A33 + go[105];
- double RHS13 = Idr[104] + Idr[105];
- m_A38 = gt[112] + gt[113];
- m_A37 = m_A37 + go[112];
- m_A36 = m_A36 + go[113];
- double RHS14 = Idr[112] + Idr[113];
- m_A40 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A41 = m_A41 + go[120];
- m_A39 = m_A39 + go[121];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123];
- m_A44 = gt[128] + gt[129];
- m_A43 = m_A43 + go[128];
- m_A42 = m_A42 + go[129];
- double RHS16 = Idr[128] + Idr[129];
- m_A54 = gt[136] + gt[137] + gt[138] + gt[139] + gt[140] + gt[141];
- m_A52 = m_A52 + go[136];
- m_A50 = m_A50 + go[137];
- m_A50 = m_A50 + go[138];
- m_A51 = m_A51 + go[139];
- m_A49 = m_A49 + go[140];
- m_A48 = m_A48 + go[141];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] + Idr[140] + Idr[141];
- m_A65 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149];
- m_A61 = m_A61 + go[144];
- m_A60 = m_A60 + go[145];
- m_A60 = m_A60 + go[146];
- m_A59 = m_A59 + go[147];
- m_A58 = m_A58 + go[148];
- m_A57 = m_A57 + go[149];
- double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149];
- m_A70 = gt[152] + gt[153] + gt[154] + gt[155];
- m_A68 = m_A68 + go[152];
- m_A67 = m_A67 + go[153];
- double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] - go[154] * *cnV[154] - go[155] * *cnV[155];
-const double f0 = 1.0 / m_A0;
- const double f0_8 = -f0 * m_A16;
- m_A20 += m_A1 * f0_8;
- RHS8 += f0_8 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_11 = -f1 * m_A26;
- m_A28 += m_A3 * f1_11;
- RHS11 += f1_11 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_12 = -f2 * m_A30;
- m_A31 += m_A5 * f2_12;
- RHS12 += f2_12 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_13 = -f3 * m_A33;
- m_A35 += m_A7 * f3_13;
- RHS13 += f3_13 * RHS3;
- const double f3_17 = -f3 * m_A48;
- m_A52 += m_A7 * f3_17;
- RHS17 += f3_17 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_13 = -f4 * m_A34;
- m_A35 += m_A9 * f4_13;
- RHS13 += f4_13 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_14 = -f5 * m_A36;
- m_A38 += m_A11 * f5_14;
- RHS14 += f5_14 * RHS5;
- const double f5_18 = -f5 * m_A57;
- m_A61 += m_A11 * f5_18;
- RHS18 += f5_18 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_14 = -f6 * m_A37;
- m_A38 += m_A13 * f6_14;
- RHS14 += f6_14 * RHS6;
-const double f7 = 1.0 / m_A14;
- const double f7_17 = -f7 * m_A49;
- m_A54 += m_A15 * f7_17;
- RHS17 += f7_17 * RHS7;
- const double f7_19 = -f7 * m_A67;
- m_A68 += m_A15 * f7_19;
- RHS19 += f7_19 * RHS7;
-const double f8 = 1.0 / m_A17;
- const double f8_16 = -f8 * m_A42;
- m_A44 += m_A18 * f8_16;
- m_A45 += m_A19 * f8_16;
- m_A47 += m_A20 * f8_16;
- RHS16 += f8_16 * RHS8;
- const double f8_17 = -f8 * m_A50;
- m_A53 += m_A18 * f8_17;
- m_A54 += m_A19 * f8_17;
- m_A56 += m_A20 * f8_17;
- RHS17 += f8_17 * RHS8;
-const double f9 = 1.0 / m_A21;
- const double f9_15 = -f9 * m_A39;
- m_A41 += m_A22 * f9_15;
- RHS15 += f9_15 * RHS9;
- const double f9_18 = -f9 * m_A58;
- m_A65 += m_A22 * f9_18;
- RHS18 += f9_18 * RHS9;
-const double f10 = 1.0 / m_A23;
- const double f10_16 = -f10 * m_A43;
- m_A44 += m_A24 * f10_16;
- m_A46 += m_A25 * f10_16;
- RHS16 += f10_16 * RHS10;
- const double f10_18 = -f10 * m_A59;
- m_A63 += m_A24 * f10_18;
- m_A65 += m_A25 * f10_18;
- RHS18 += f10_18 * RHS10;
-const double f11 = 1.0 / m_A27;
- const double f11_18 = -f11 * m_A60;
- m_A62 += m_A28 * f11_18;
- m_A65 += m_A29 * f11_18;
- RHS18 += f11_18 * RHS11;
-const double f12 = 1.0 / m_A31;
- const double f12_17 = -f12 * m_A51;
- m_A54 += m_A32 * f12_17;
- RHS17 += f12_17 * RHS12;
-const double f13 = 1.0 / m_A35;
- const double f13_17 = -f13 * m_A52;
- RHS17 += f13_17 * RHS13;
-const double f14 = 1.0 / m_A38;
- const double f14_18 = -f14 * m_A61;
- RHS18 += f14_18 * RHS14;
-const double f15 = 1.0 / m_A40;
- const double f15_18 = -f15 * m_A62;
- m_A65 += m_A41 * f15_18;
- RHS18 += f15_18 * RHS15;
-const double f16 = 1.0 / m_A44;
- const double f16_17 = -f16 * m_A53;
- m_A54 += m_A45 * f16_17;
- m_A55 += m_A46 * f16_17;
- m_A56 += m_A47 * f16_17;
- RHS17 += f16_17 * RHS16;
- const double f16_18 = -f16 * m_A63;
- m_A64 += m_A45 * f16_18;
- m_A65 += m_A46 * f16_18;
- m_A66 += m_A47 * f16_18;
- RHS18 += f16_18 * RHS16;
-const double f17 = 1.0 / m_A54;
- const double f17_18 = -f17 * m_A64;
- m_A65 += m_A55 * f17_18;
- m_A66 += m_A56 * f17_18;
- RHS18 += f17_18 * RHS17;
- const double f17_19 = -f17 * m_A68;
- m_A69 += m_A55 * f17_19;
- m_A70 += m_A56 * f17_19;
- RHS19 += f17_19 * RHS17;
-const double f18 = 1.0 / m_A65;
- const double f18_19 = -f18 * m_A69;
- m_A70 += m_A66 * f18_19;
- RHS19 += f18_19 * RHS18;
- V[19] = RHS19 / m_A70;
- double tmp18 = 0.0;
- tmp18 += m_A66 * V[19];
- V[18] = (RHS18 - tmp18) / m_A65;
- double tmp17 = 0.0;
- tmp17 += m_A55 * V[18];
- tmp17 += m_A56 * V[19];
- V[17] = (RHS17 - tmp17) / m_A54;
- double tmp16 = 0.0;
- tmp16 += m_A45 * V[17];
- tmp16 += m_A46 * V[18];
- tmp16 += m_A47 * V[19];
- V[16] = (RHS16 - tmp16) / m_A44;
- double tmp15 = 0.0;
- tmp15 += m_A41 * V[18];
- V[15] = (RHS15 - tmp15) / m_A40;
- double tmp14 = 0.0;
- V[14] = (RHS14 - tmp14) / m_A38;
- double tmp13 = 0.0;
- V[13] = (RHS13 - tmp13) / m_A35;
- double tmp12 = 0.0;
- tmp12 += m_A32 * V[17];
- V[12] = (RHS12 - tmp12) / m_A31;
- double tmp11 = 0.0;
- tmp11 += m_A28 * V[15];
- tmp11 += m_A29 * V[18];
- V[11] = (RHS11 - tmp11) / m_A27;
- double tmp10 = 0.0;
- tmp10 += m_A24 * V[16];
- tmp10 += m_A25 * V[18];
- V[10] = (RHS10 - tmp10) / m_A23;
- double tmp9 = 0.0;
- tmp9 += m_A22 * V[18];
- V[9] = (RHS9 - tmp9) / m_A21;
- double tmp8 = 0.0;
- tmp8 += m_A18 * V[16];
- tmp8 += m_A19 * V[17];
- tmp8 += m_A20 * V[19];
- V[8] = (RHS8 - tmp8) / m_A17;
- double tmp7 = 0.0;
- tmp7 += m_A15 * V[17];
- V[7] = (RHS7 - tmp7) / m_A14;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ m_A2 += go[1];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ m_A3 += gt[2];
+ m_A3 += gt[3];
+ m_A3 += gt[4];
+ m_A4 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[3] * *cnV[3];
+ RHS1 -= go[4] * *cnV[4];
+ m_A5 += gt[5];
+ m_A5 += gt[6];
+ m_A5 += gt[7];
+ m_A6 += go[5];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 -= go[6] * *cnV[6];
+ RHS2 -= go[7] * *cnV[7];
+ m_A7 += gt[8];
+ m_A7 += gt[9];
+ m_A8 += go[8];
+ double RHS3 = Idr[8];
+ RHS3 += Idr[9];
+ RHS3 -= go[9] * *cnV[9];
+ m_A10 += gt[10];
+ m_A10 += gt[11];
+ m_A10 += gt[12];
+ m_A10 += gt[13];
+ m_A11 += go[10];
+ m_A9 += go[11];
+ double RHS4 = Idr[10];
+ RHS4 += Idr[11];
+ RHS4 += Idr[12];
+ RHS4 += Idr[13];
+ RHS4 -= go[12] * *cnV[12];
+ RHS4 -= go[13] * *cnV[13];
+ m_A14 += gt[14];
+ m_A14 += gt[15];
+ m_A13 += go[14];
+ m_A15 += go[15];
+ double RHS5 = Idr[14];
+ RHS5 += Idr[15];
+ m_A19 += gt[16];
+ m_A19 += gt[17];
+ m_A19 += gt[18];
+ m_A19 += gt[19];
+ m_A17 += go[16];
+ m_A16 += go[17];
+ m_A18 += go[18];
+ m_A20 += go[19];
+ double RHS6 = Idr[16];
+ RHS6 += Idr[17];
+ RHS6 += Idr[18];
+ RHS6 += Idr[19];
+ m_A25 += gt[20];
+ m_A25 += gt[21];
+ m_A25 += gt[22];
+ m_A25 += gt[23];
+ m_A25 += gt[24];
+ m_A23 += go[20];
+ m_A24 += go[21];
+ m_A21 += go[22];
+ double RHS7 = Idr[20];
+ RHS7 += Idr[21];
+ RHS7 += Idr[22];
+ RHS7 += Idr[23];
+ RHS7 += Idr[24];
+ RHS7 -= go[23] * *cnV[23];
+ RHS7 -= go[24] * *cnV[24];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A9;
+ m_A10 += m_A1 * f0_4;
+ m_A12 += m_A2 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f0_7 = -f0 * m_A21;
+ m_A22 += m_A1 * f0_7;
+ m_A25 += m_A2 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A3;
+ const double f1_6 = -f1 * m_A16;
+ m_A19 += m_A4 * f1_6;
+ RHS6 += f1_6 * RHS1;
+ const double f2 = 1.0 / m_A5;
+ const double f2_6 = -f2 * m_A17;
+ m_A19 += m_A6 * f2_6;
+ RHS6 += f2_6 * RHS2;
+ const double f3 = 1.0 / m_A7;
+ const double f3_5 = -f3 * m_A13;
+ m_A14 += m_A8 * f3_5;
+ RHS5 += f3_5 * RHS3;
+ const double f4 = 1.0 / m_A10;
+ const double f4_6 = -f4 * m_A18;
+ m_A19 += m_A11 * f4_6;
+ m_A20 += m_A12 * f4_6;
+ RHS6 += f4_6 * RHS4;
+ const double f4_7 = -f4 * m_A22;
+ m_A24 += m_A11 * f4_7;
+ m_A25 += m_A12 * f4_7;
+ RHS7 += f4_7 * RHS4;
+ const double f5 = 1.0 / m_A14;
+ const double f5_7 = -f5 * m_A23;
+ m_A25 += m_A15 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f6 = 1.0 / m_A19;
+ const double f6_7 = -f6 * m_A24;
+ m_A25 += m_A20 * f6_7;
+ RHS7 += f6_7 * RHS6;
+ V[7] = RHS7 / m_A25;
double tmp6 = 0.0;
- tmp6 += m_A13 * V[14];
- V[6] = (RHS6 - tmp6) / m_A12;
+ tmp6 += m_A20 * V[7];
+ V[6] = (RHS6 - tmp6) / m_A19;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[14];
- V[5] = (RHS5 - tmp5) / m_A10;
+ tmp5 += m_A15 * V[7];
+ V[5] = (RHS5 - tmp5) / m_A14;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[13];
- V[4] = (RHS4 - tmp4) / m_A8;
+ tmp4 += m_A11 * V[6];
+ tmp4 += m_A12 * V[7];
+ V[4] = (RHS4 - tmp4) / m_A10;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[13];
- V[3] = (RHS3 - tmp3) / m_A6;
+ tmp3 += m_A8 * V[5];
+ V[3] = (RHS3 - tmp3) / m_A7;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[12];
- V[2] = (RHS2 - tmp2) / m_A4;
+ tmp2 += m_A6 * V[6];
+ V[2] = (RHS2 - tmp2) / m_A5;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[15];
- V[1] = (RHS1 - tmp1) / m_A2;
+ tmp1 += m_A4 * V[6];
+ V[1] = (RHS1 - tmp1) / m_A3;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[19];
+ tmp0 += m_A1 * V[4];
+ tmp0 += m_A2 * V[7];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// 280zzzap
-static void nl_gcr_766cc932eebf25ec_104_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// gunfight
+static void nl_gcr_a479712c277f2ba4_108_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9] + gt[10] + gt[11];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- m_A3 = m_A3 + go[10];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[11] * *cnV[11];
- m_A6 = gt[16] + gt[17] + gt[18];
- m_A7 = m_A7 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A8 = gt[24] + gt[25];
- m_A9 = m_A9 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A10 = gt[32] + gt[33] + gt[34];
- m_A12 = m_A12 + go[32];
- m_A11 = m_A11 + go[33];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[34] * *cnV[34];
- m_A13 = gt[40] + gt[41];
- m_A14 = m_A14 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A15 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54];
- m_A19 = m_A19 + go[48];
- m_A18 = m_A18 + go[49];
- m_A17 = m_A17 + go[50];
- m_A16 = m_A16 + go[51];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] - go[52] * *cnV[52] - go[53] * *cnV[53] - go[54] * *cnV[54];
- m_A20 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61] + gt[62];
- m_A24 = m_A24 + go[56];
- m_A23 = m_A23 + go[57];
- m_A22 = m_A22 + go[58];
- m_A21 = m_A21 + go[59];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61] + Idr[62] - go[60] * *cnV[60] - go[61] * *cnV[61] - go[62] * *cnV[62];
- m_A25 = gt[64] + gt[65] + gt[66];
- m_A26 = m_A26 + go[64];
- m_A27 = m_A27 + go[65];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] - go[66] * *cnV[66];
- m_A28 = gt[72] + gt[73];
- m_A29 = m_A29 + go[72];
- double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73];
- m_A30 = gt[80] + gt[81] + gt[82] + gt[83];
- m_A31 = m_A31 + go[80];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] - go[81] * *cnV[81] - go[82] * *cnV[82] - go[83] * *cnV[83];
- m_A32 = gt[88] + gt[89];
- m_A33 = m_A33 + go[88];
- double RHS11 = Idr[88] + Idr[89] - go[89] * *cnV[89];
- m_A36 = gt[96] + gt[97] + gt[98] + gt[99];
- m_A35 = m_A35 + go[96];
- m_A34 = m_A34 + go[97];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] - go[98] * *cnV[98] - go[99] * *cnV[99];
- m_A42 = gt[104] + gt[105] + gt[106] + gt[107];
- m_A40 = m_A40 + go[104];
- m_A41 = m_A41 + go[105];
- m_A43 = m_A43 + go[106];
- m_A39 = m_A39 + go[107];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107];
- m_A45 = gt[112] + gt[113] + gt[114] + gt[115];
- m_A44 = m_A44 + go[112];
- m_A46 = m_A46 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] + Idr[115] - go[114] * *cnV[114] - go[115] * *cnV[115];
- m_A50 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A48 = m_A48 + go[120];
- m_A47 = m_A47 + go[121];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123];
- m_A57 = gt[128] + gt[129] + gt[130] + gt[131];
- m_A56 = m_A56 + go[128];
- m_A55 = m_A55 + go[129];
- m_A58 = m_A58 + go[130];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[131] * *cnV[131];
- m_A63 = gt[136] + gt[137] + gt[138] + gt[139];
- m_A66 = m_A66 + go[136];
- m_A60 = m_A60 + go[137];
- m_A59 = m_A59 + go[138];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] + Idr[139] - go[139] * *cnV[139];
- m_A74 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149];
- m_A77 = m_A77 + go[144];
- m_A70 = m_A70 + go[145];
- m_A69 = m_A69 + go[146];
- m_A68 = m_A68 + go[147];
- m_A71 = m_A71 + go[148];
- double RHS18 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149] - go[149] * *cnV[149];
- m_A85 = gt[152] + gt[153] + gt[154] + gt[155] + gt[156] + gt[157];
- m_A82 = m_A82 + go[152];
- m_A87 = m_A87 + go[153];
- m_A79 = m_A79 + go[154];
- m_A80 = m_A80 + go[155];
- m_A78 = m_A78 + go[156];
- double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] + Idr[156] + Idr[157] - go[157] * *cnV[157];
- m_A93 = gt[160] + gt[161] + gt[162] + gt[163] + gt[164];
- m_A89 = m_A89 + go[160];
- m_A88 = m_A88 + go[161];
- m_A90 = m_A90 + go[162];
- double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] + Idr[164] - go[163] * *cnV[163] - go[164] * *cnV[164];
- m_A103 = gt[168] + gt[169] + gt[170] + gt[171] + gt[172] + gt[173] + gt[174];
- m_A97 = m_A97 + go[168];
- m_A96 = m_A96 + go[169];
- m_A101 = m_A101 + go[170];
- m_A95 = m_A95 + go[171];
- m_A100 = m_A100 + go[172];
- double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] + Idr[172] + Idr[173] + Idr[174] - go[173] * *cnV[173] - go[174] * *cnV[174];
-const double f0 = 1.0 / m_A0;
- const double f0_12 = -f0 * m_A34;
- m_A36 += m_A1 * f0_12;
- RHS12 += f0_12 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_12 = -f1 * m_A35;
- m_A36 += m_A3 * f1_12;
- m_A37 += m_A4 * f1_12;
- m_A38 += m_A5 * f1_12;
- RHS12 += f1_12 * RHS1;
- const double f1_15 = -f1 * m_A47;
- m_A49 += m_A3 * f1_15;
- m_A50 += m_A4 * f1_15;
- m_A51 += m_A5 * f1_15;
- RHS15 += f1_15 * RHS1;
- const double f1_17 = -f1 * m_A59;
- m_A61 += m_A3 * f1_17;
- m_A62 += m_A4 * f1_17;
- m_A63 += m_A5 * f1_17;
- RHS17 += f1_17 * RHS1;
-const double f2 = 1.0 / m_A6;
- const double f2_13 = -f2 * m_A39;
- m_A42 += m_A7 * f2_13;
- RHS13 += f2_13 * RHS2;
-const double f3 = 1.0 / m_A8;
- const double f3_13 = -f3 * m_A40;
- m_A42 += m_A9 * f3_13;
- RHS13 += f3_13 * RHS3;
-const double f4 = 1.0 / m_A10;
- const double f4_13 = -f4 * m_A41;
- m_A42 += m_A11 * f4_13;
- m_A43 += m_A12 * f4_13;
- RHS13 += f4_13 * RHS4;
- const double f4_18 = -f4 * m_A68;
- m_A71 += m_A11 * f4_18;
- m_A74 += m_A12 * f4_18;
- RHS18 += f4_18 * RHS4;
-const double f5 = 1.0 / m_A13;
- const double f5_14 = -f5 * m_A44;
- m_A45 += m_A14 * f5_14;
- RHS14 += f5_14 * RHS5;
-const double f6 = 1.0 / m_A15;
- const double f6_15 = -f6 * m_A48;
- m_A50 += m_A16 * f6_15;
- m_A52 += m_A17 * f6_15;
- m_A53 += m_A18 * f6_15;
- m_A54 += m_A19 * f6_15;
- RHS15 += f6_15 * RHS6;
- const double f6_18 = -f6 * m_A69;
- m_A72 += m_A16 * f6_18;
- m_A74 += m_A17 * f6_18;
- m_A75 += m_A18 * f6_18;
- m_A77 += m_A19 * f6_18;
- RHS18 += f6_18 * RHS6;
- const double f6_19 = -f6 * m_A78;
- m_A81 += m_A16 * f6_19;
- m_A84 += m_A17 * f6_19;
- m_A85 += m_A18 * f6_19;
- m_A87 += m_A19 * f6_19;
- RHS19 += f6_19 * RHS6;
- const double f6_21 = -f6 * m_A95;
- m_A98 += m_A16 * f6_21;
- m_A100 += m_A17 * f6_21;
- m_A101 += m_A18 * f6_21;
- m_A103 += m_A19 * f6_21;
- RHS21 += f6_21 * RHS6;
-const double f7 = 1.0 / m_A20;
- const double f7_17 = -f7 * m_A60;
- m_A63 += m_A21 * f7_17;
- m_A64 += m_A22 * f7_17;
- m_A65 += m_A23 * f7_17;
- m_A67 += m_A24 * f7_17;
- RHS17 += f7_17 * RHS7;
- const double f7_18 = -f7 * m_A70;
- m_A73 += m_A21 * f7_18;
- m_A74 += m_A22 * f7_18;
- m_A75 += m_A23 * f7_18;
- m_A77 += m_A24 * f7_18;
- RHS18 += f7_18 * RHS7;
- const double f7_19 = -f7 * m_A79;
- m_A83 += m_A21 * f7_19;
- m_A84 += m_A22 * f7_19;
- m_A85 += m_A23 * f7_19;
- m_A87 += m_A24 * f7_19;
- RHS19 += f7_19 * RHS7;
- const double f7_21 = -f7 * m_A96;
- m_A99 += m_A21 * f7_21;
- m_A100 += m_A22 * f7_21;
- m_A101 += m_A23 * f7_21;
- m_A103 += m_A24 * f7_21;
- RHS21 += f7_21 * RHS7;
-const double f8 = 1.0 / m_A25;
- const double f8_16 = -f8 * m_A55;
- m_A57 += m_A26 * f8_16;
- m_A58 += m_A27 * f8_16;
- RHS16 += f8_16 * RHS8;
- const double f8_19 = -f8 * m_A80;
- m_A82 += m_A26 * f8_19;
- m_A85 += m_A27 * f8_19;
- RHS19 += f8_19 * RHS8;
-const double f9 = 1.0 / m_A28;
- const double f9_16 = -f9 * m_A56;
- m_A57 += m_A29 * f9_16;
- RHS16 += f9_16 * RHS9;
-const double f10 = 1.0 / m_A30;
- const double f10_20 = -f10 * m_A88;
- m_A93 += m_A31 * f10_20;
- RHS20 += f10_20 * RHS10;
-const double f11 = 1.0 / m_A32;
- const double f11_20 = -f11 * m_A89;
- m_A93 += m_A33 * f11_20;
- RHS20 += f11_20 * RHS11;
-const double f12 = 1.0 / m_A36;
- const double f12_15 = -f12 * m_A49;
- m_A50 += m_A37 * f12_15;
- m_A51 += m_A38 * f12_15;
- RHS15 += f12_15 * RHS12;
- const double f12_17 = -f12 * m_A61;
- m_A62 += m_A37 * f12_17;
- m_A63 += m_A38 * f12_17;
- RHS17 += f12_17 * RHS12;
-const double f13 = 1.0 / m_A42;
- const double f13_18 = -f13 * m_A71;
- m_A74 += m_A43 * f13_18;
- RHS18 += f13_18 * RHS13;
-const double f14 = 1.0 / m_A45;
- const double f14_21 = -f14 * m_A97;
- m_A103 += m_A46 * f14_21;
- RHS21 += f14_21 * RHS14;
-const double f15 = 1.0 / m_A50;
- const double f15_17 = -f15 * m_A62;
- m_A63 += m_A51 * f15_17;
- m_A64 += m_A52 * f15_17;
- m_A65 += m_A53 * f15_17;
- m_A67 += m_A54 * f15_17;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A5 += go[4];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A7 += go[6];
+ double RHS3 = Idr[6];
+ RHS3 += Idr[7];
+ RHS3 -= go[7] * *cnV[7];
+ m_A8 += gt[8];
+ m_A8 += gt[9];
+ m_A9 += go[8];
+ double RHS4 = Idr[8];
+ RHS4 += Idr[9];
+ RHS4 -= go[9] * *cnV[9];
+ m_A10 += gt[10];
+ m_A10 += gt[11];
+ m_A10 += gt[12];
+ m_A10 += gt[13];
+ m_A11 += go[10];
+ m_A12 += go[11];
+ double RHS5 = Idr[10];
+ RHS5 += Idr[11];
+ RHS5 += Idr[12];
+ RHS5 += Idr[13];
+ RHS5 -= go[12] * *cnV[12];
+ RHS5 -= go[13] * *cnV[13];
+ m_A13 += gt[14];
+ m_A13 += gt[15];
+ m_A15 += go[14];
+ m_A14 += go[15];
+ double RHS6 = Idr[14];
+ RHS6 += Idr[15];
+ m_A16 += gt[16];
+ m_A16 += gt[17];
+ m_A18 += go[16];
+ m_A17 += go[17];
+ double RHS7 = Idr[16];
+ RHS7 += Idr[17];
+ m_A20 += gt[18];
+ m_A20 += gt[19];
+ m_A20 += gt[20];
+ m_A19 += go[18];
+ m_A21 += go[19];
+ double RHS8 = Idr[18];
+ RHS8 += Idr[19];
+ RHS8 += Idr[20];
+ RHS8 -= go[20] * *cnV[20];
+ m_A24 += gt[21];
+ m_A24 += gt[22];
+ m_A24 += gt[23];
+ m_A23 += go[21];
+ m_A25 += go[22];
+ double RHS9 = Idr[21];
+ RHS9 += Idr[22];
+ RHS9 += Idr[23];
+ RHS9 -= go[23] * *cnV[23];
+ m_A28 += gt[24];
+ m_A28 += gt[25];
+ m_A28 += gt[26];
+ m_A27 += go[24];
+ m_A30 += go[25];
+ double RHS10 = Idr[24];
+ RHS10 += Idr[25];
+ RHS10 += Idr[26];
+ RHS10 -= go[26] * *cnV[26];
+ m_A32 += gt[27];
+ m_A32 += gt[28];
+ m_A32 += gt[29];
+ m_A31 += go[27];
+ m_A33 += go[28];
+ double RHS11 = Idr[27];
+ RHS11 += Idr[28];
+ RHS11 += Idr[29];
+ RHS11 -= go[29] * *cnV[29];
+ m_A35 += gt[30];
+ m_A35 += gt[31];
+ m_A35 += gt[32];
+ m_A35 += gt[33];
+ m_A37 += go[30];
+ m_A36 += go[31];
+ double RHS12 = Idr[30];
+ RHS12 += Idr[31];
+ RHS12 += Idr[32];
+ RHS12 += Idr[33];
+ RHS12 -= go[32] * *cnV[32];
+ RHS12 -= go[33] * *cnV[33];
+ m_A38 += gt[34];
+ m_A38 += gt[35];
+ m_A38 += gt[36];
+ m_A40 += go[34];
+ m_A39 += go[35];
+ double RHS13 = Idr[34];
+ RHS13 += Idr[35];
+ RHS13 += Idr[36];
+ RHS13 -= go[36] * *cnV[36];
+ m_A41 += gt[37];
+ m_A41 += gt[38];
+ m_A41 += gt[39];
+ m_A43 += go[37];
+ m_A42 += go[38];
+ double RHS14 = Idr[37];
+ RHS14 += Idr[38];
+ RHS14 += Idr[39];
+ RHS14 -= go[39] * *cnV[39];
+ m_A44 += gt[40];
+ m_A44 += gt[41];
+ m_A44 += gt[42];
+ m_A46 += go[40];
+ m_A45 += go[41];
+ double RHS15 = Idr[40];
+ RHS15 += Idr[41];
+ RHS15 += Idr[42];
+ RHS15 -= go[42] * *cnV[42];
+ m_A49 += gt[43];
+ m_A49 += gt[44];
+ m_A47 += go[43];
+ m_A48 += go[44];
+ double RHS16 = Idr[43];
+ RHS16 += Idr[44];
+ m_A53 += gt[45];
+ m_A53 += gt[46];
+ m_A51 += go[45];
+ m_A52 += go[46];
+ double RHS17 = Idr[45];
+ RHS17 += Idr[46];
+ m_A56 += gt[47];
+ m_A56 += gt[48];
+ m_A56 += gt[49];
+ m_A55 += go[47];
+ m_A57 += go[48];
+ double RHS18 = Idr[47];
+ RHS18 += Idr[48];
+ RHS18 += Idr[49];
+ RHS18 -= go[49] * *cnV[49];
+ m_A59 += gt[50];
+ m_A59 += gt[51];
+ m_A58 += go[50];
+ m_A60 += go[51];
+ double RHS19 = Idr[50];
+ RHS19 += Idr[51];
+ m_A62 += gt[52];
+ m_A62 += gt[53];
+ m_A62 += gt[54];
+ m_A62 += gt[55];
+ m_A64 += go[52];
+ m_A63 += go[53];
+ m_A61 += go[54];
+ double RHS20 = Idr[52];
+ RHS20 += Idr[53];
+ RHS20 += Idr[54];
+ RHS20 += Idr[55];
+ RHS20 -= go[55] * *cnV[55];
+ m_A67 += gt[56];
+ m_A67 += gt[57];
+ m_A67 += gt[58];
+ m_A67 += gt[59];
+ m_A66 += go[56];
+ m_A65 += go[57];
+ m_A68 += go[58];
+ double RHS21 = Idr[56];
+ RHS21 += Idr[57];
+ RHS21 += Idr[58];
+ RHS21 += Idr[59];
+ RHS21 -= go[59] * *cnV[59];
+ m_A70 += gt[60];
+ m_A70 += gt[61];
+ m_A70 += gt[62];
+ m_A70 += gt[63];
+ m_A72 += go[60];
+ m_A71 += go[61];
+ m_A69 += go[62];
+ double RHS22 = Idr[60];
+ RHS22 += Idr[61];
+ RHS22 += Idr[62];
+ RHS22 += Idr[63];
+ RHS22 -= go[63] * *cnV[63];
+ m_A77 += gt[64];
+ m_A77 += gt[65];
+ m_A77 += gt[66];
+ m_A77 += gt[67];
+ m_A77 += gt[68];
+ m_A77 += gt[69];
+ m_A78 += go[64];
+ m_A73 += go[65];
+ m_A74 += go[66];
+ m_A76 += go[67];
+ double RHS23 = Idr[64];
+ RHS23 += Idr[65];
+ RHS23 += Idr[66];
+ RHS23 += Idr[67];
+ RHS23 += Idr[68];
+ RHS23 += Idr[69];
+ RHS23 -= go[68] * *cnV[68];
+ RHS23 -= go[69] * *cnV[69];
+ m_A83 += gt[70];
+ m_A83 += gt[71];
+ m_A83 += gt[72];
+ m_A83 += gt[73];
+ m_A83 += gt[74];
+ m_A83 += gt[75];
+ m_A84 += go[70];
+ m_A79 += go[71];
+ m_A80 += go[72];
+ m_A82 += go[73];
+ double RHS24 = Idr[70];
+ RHS24 += Idr[71];
+ RHS24 += Idr[72];
+ RHS24 += Idr[73];
+ RHS24 += Idr[74];
+ RHS24 += Idr[75];
+ RHS24 -= go[74] * *cnV[74];
+ RHS24 -= go[75] * *cnV[75];
+ m_A89 += gt[76];
+ m_A89 += gt[77];
+ m_A89 += gt[78];
+ m_A89 += gt[79];
+ m_A85 += go[76];
+ m_A86 += go[77];
+ m_A88 += go[78];
+ m_A87 += go[79];
+ double RHS25 = Idr[76];
+ RHS25 += Idr[77];
+ RHS25 += Idr[78];
+ RHS25 += Idr[79];
+ m_A100 += gt[80];
+ m_A100 += gt[81];
+ m_A100 += gt[82];
+ m_A100 += gt[83];
+ m_A100 += gt[84];
+ m_A100 += gt[85];
+ m_A98 += go[80];
+ m_A91 += go[81];
+ m_A92 += go[82];
+ m_A93 += go[83];
+ double RHS26 = Idr[80];
+ RHS26 += Idr[81];
+ RHS26 += Idr[82];
+ RHS26 += Idr[83];
+ RHS26 += Idr[84];
+ RHS26 += Idr[85];
+ RHS26 -= go[84] * *cnV[84];
+ RHS26 -= go[85] * *cnV[85];
+ m_A107 += gt[86];
+ m_A107 += gt[87];
+ m_A107 += gt[88];
+ m_A107 += gt[89];
+ m_A102 += go[86];
+ m_A103 += go[87];
+ m_A105 += go[88];
+ m_A104 += go[89];
+ double RHS27 = Idr[86];
+ RHS27 += Idr[87];
+ RHS27 += Idr[88];
+ RHS27 += Idr[89];
+ const double f0 = 1.0 / m_A0;
+ const double f0_18 = -f0 * m_A55;
+ m_A56 += m_A1 * f0_18;
+ RHS18 += f0_18 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_16 = -f1 * m_A47;
+ m_A49 += m_A3 * f1_16;
+ RHS16 += f1_16 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_17 = -f2 * m_A51;
+ m_A53 += m_A5 * f2_17;
+ RHS17 += f2_17 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_22 = -f3 * m_A69;
+ m_A70 += m_A7 * f3_22;
+ RHS22 += f3_22 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_20 = -f4 * m_A61;
+ m_A62 += m_A9 * f4_20;
+ RHS20 += f4_20 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_21 = -f5 * m_A65;
+ m_A67 += m_A11 * f5_21;
+ m_A68 += m_A12 * f5_21;
+ RHS21 += f5_21 * RHS5;
+ const double f5_26 = -f5 * m_A91;
+ m_A98 += m_A11 * f5_26;
+ m_A100 += m_A12 * f5_26;
+ RHS26 += f5_26 * RHS5;
+ const double f6 = 1.0 / m_A13;
+ const double f6_8 = -f6 * m_A19;
+ m_A20 += m_A14 * f6_8;
+ m_A22 += m_A15 * f6_8;
+ RHS8 += f6_8 * RHS6;
+ const double f6_26 = -f6 * m_A92;
+ m_A94 += m_A14 * f6_26;
+ m_A100 += m_A15 * f6_26;
+ RHS26 += f6_26 * RHS6;
+ const double f7 = 1.0 / m_A16;
+ const double f7_9 = -f7 * m_A23;
+ m_A24 += m_A17 * f7_9;
+ m_A26 += m_A18 * f7_9;
+ RHS9 += f7_9 * RHS7;
+ const double f7_26 = -f7 * m_A93;
+ m_A95 += m_A17 * f7_26;
+ m_A100 += m_A18 * f7_26;
+ RHS26 += f7_26 * RHS7;
+ const double f8 = 1.0 / m_A20;
+ const double f8_10 = -f8 * m_A27;
+ m_A28 += m_A21 * f8_10;
+ m_A29 += m_A22 * f8_10;
+ RHS10 += f8_10 * RHS8;
+ const double f8_26 = -f8 * m_A94;
+ m_A96 += m_A21 * f8_26;
+ m_A100 += m_A22 * f8_26;
+ RHS26 += f8_26 * RHS8;
+ const double f9 = 1.0 / m_A24;
+ const double f9_11 = -f9 * m_A31;
+ m_A32 += m_A25 * f9_11;
+ m_A34 += m_A26 * f9_11;
+ RHS11 += f9_11 * RHS9;
+ const double f9_26 = -f9 * m_A95;
+ m_A97 += m_A25 * f9_26;
+ m_A100 += m_A26 * f9_26;
+ RHS26 += f9_26 * RHS9;
+ const double f10 = 1.0 / m_A28;
+ const double f10_26 = -f10 * m_A96;
+ m_A100 += m_A29 * f10_26;
+ m_A101 += m_A30 * f10_26;
+ RHS26 += f10_26 * RHS10;
+ const double f10_27 = -f10 * m_A102;
+ m_A106 += m_A29 * f10_27;
+ m_A107 += m_A30 * f10_27;
+ RHS27 += f10_27 * RHS10;
+ const double f11 = 1.0 / m_A32;
+ const double f11_25 = -f11 * m_A85;
+ m_A89 += m_A33 * f11_25;
+ m_A90 += m_A34 * f11_25;
+ RHS25 += f11_25 * RHS11;
+ const double f11_26 = -f11 * m_A97;
+ m_A99 += m_A33 * f11_26;
+ m_A100 += m_A34 * f11_26;
+ RHS26 += f11_26 * RHS11;
+ const double f12 = 1.0 / m_A35;
+ const double f12_23 = -f12 * m_A73;
+ m_A77 += m_A36 * f12_23;
+ m_A78 += m_A37 * f12_23;
+ RHS23 += f12_23 * RHS12;
+ const double f12_27 = -f12 * m_A103;
+ m_A105 += m_A36 * f12_27;
+ m_A107 += m_A37 * f12_27;
+ RHS27 += f12_27 * RHS12;
+ const double f13 = 1.0 / m_A38;
+ const double f13_24 = -f13 * m_A79;
+ m_A83 += m_A39 * f13_24;
+ m_A84 += m_A40 * f13_24;
+ RHS24 += f13_24 * RHS13;
+ const double f13_25 = -f13 * m_A86;
+ m_A88 += m_A39 * f13_25;
+ m_A89 += m_A40 * f13_25;
+ RHS25 += f13_25 * RHS13;
+ const double f14 = 1.0 / m_A41;
+ const double f14_16 = -f14 * m_A48;
+ m_A49 += m_A42 * f14_16;
+ m_A50 += m_A43 * f14_16;
+ RHS16 += f14_16 * RHS14;
+ const double f14_23 = -f14 * m_A74;
+ m_A75 += m_A42 * f14_23;
+ m_A77 += m_A43 * f14_23;
+ RHS23 += f14_23 * RHS14;
+ const double f15 = 1.0 / m_A44;
+ const double f15_17 = -f15 * m_A52;
+ m_A53 += m_A45 * f15_17;
+ m_A54 += m_A46 * f15_17;
RHS17 += f15_17 * RHS15;
- const double f15_18 = -f15 * m_A72;
- m_A73 += m_A51 * f15_18;
- m_A74 += m_A52 * f15_18;
- m_A75 += m_A53 * f15_18;
- m_A77 += m_A54 * f15_18;
- RHS18 += f15_18 * RHS15;
- const double f15_19 = -f15 * m_A81;
- m_A83 += m_A51 * f15_19;
- m_A84 += m_A52 * f15_19;
- m_A85 += m_A53 * f15_19;
- m_A87 += m_A54 * f15_19;
- RHS19 += f15_19 * RHS15;
- const double f15_21 = -f15 * m_A98;
- m_A99 += m_A51 * f15_21;
- m_A100 += m_A52 * f15_21;
- m_A101 += m_A53 * f15_21;
- m_A103 += m_A54 * f15_21;
- RHS21 += f15_21 * RHS15;
-const double f16 = 1.0 / m_A57;
- const double f16_19 = -f16 * m_A82;
- m_A85 += m_A58 * f16_19;
- RHS19 += f16_19 * RHS16;
-const double f17 = 1.0 / m_A63;
- const double f17_18 = -f17 * m_A73;
- m_A74 += m_A64 * f17_18;
- m_A75 += m_A65 * f17_18;
- m_A76 += m_A66 * f17_18;
- m_A77 += m_A67 * f17_18;
- RHS18 += f17_18 * RHS17;
- const double f17_19 = -f17 * m_A83;
- m_A84 += m_A64 * f17_19;
- m_A85 += m_A65 * f17_19;
- m_A86 += m_A66 * f17_19;
- m_A87 += m_A67 * f17_19;
- RHS19 += f17_19 * RHS17;
- const double f17_20 = -f17 * m_A90;
- m_A91 += m_A64 * f17_20;
- m_A92 += m_A65 * f17_20;
- m_A93 += m_A66 * f17_20;
- m_A94 += m_A67 * f17_20;
- RHS20 += f17_20 * RHS17;
- const double f17_21 = -f17 * m_A99;
- m_A100 += m_A64 * f17_21;
- m_A101 += m_A65 * f17_21;
- m_A102 += m_A66 * f17_21;
- m_A103 += m_A67 * f17_21;
- RHS21 += f17_21 * RHS17;
-const double f18 = 1.0 / m_A74;
- const double f18_19 = -f18 * m_A84;
- m_A85 += m_A75 * f18_19;
- m_A86 += m_A76 * f18_19;
- m_A87 += m_A77 * f18_19;
+ const double f15_24 = -f15 * m_A80;
+ m_A81 += m_A45 * f15_24;
+ m_A83 += m_A46 * f15_24;
+ RHS24 += f15_24 * RHS15;
+ const double f16 = 1.0 / m_A49;
+ const double f16_23 = -f16 * m_A75;
+ m_A77 += m_A50 * f16_23;
+ RHS23 += f16_23 * RHS16;
+ const double f17 = 1.0 / m_A53;
+ const double f17_24 = -f17 * m_A81;
+ m_A83 += m_A54 * f17_24;
+ RHS24 += f17_24 * RHS17;
+ const double f18 = 1.0 / m_A56;
+ const double f18_19 = -f18 * m_A58;
+ m_A59 += m_A57 * f18_19;
RHS19 += f18_19 * RHS18;
- const double f18_20 = -f18 * m_A91;
- m_A92 += m_A75 * f18_20;
- m_A93 += m_A76 * f18_20;
- m_A94 += m_A77 * f18_20;
- RHS20 += f18_20 * RHS18;
- const double f18_21 = -f18 * m_A100;
- m_A101 += m_A75 * f18_21;
- m_A102 += m_A76 * f18_21;
- m_A103 += m_A77 * f18_21;
- RHS21 += f18_21 * RHS18;
-const double f19 = 1.0 / m_A85;
- const double f19_20 = -f19 * m_A92;
- m_A93 += m_A86 * f19_20;
- m_A94 += m_A87 * f19_20;
- RHS20 += f19_20 * RHS19;
- const double f19_21 = -f19 * m_A101;
- m_A102 += m_A86 * f19_21;
- m_A103 += m_A87 * f19_21;
+ const double f19 = 1.0 / m_A59;
+ const double f19_21 = -f19 * m_A66;
+ m_A67 += m_A60 * f19_21;
RHS21 += f19_21 * RHS19;
-const double f20 = 1.0 / m_A93;
- const double f20_21 = -f20 * m_A102;
- m_A103 += m_A94 * f20_21;
- RHS21 += f20_21 * RHS20;
- V[21] = RHS21 / m_A103;
+ const double f20 = 1.0 / m_A62;
+ const double f20_24 = -f20 * m_A82;
+ m_A83 += m_A63 * f20_24;
+ m_A84 += m_A64 * f20_24;
+ RHS24 += f20_24 * RHS20;
+ const double f20_25 = -f20 * m_A87;
+ m_A88 += m_A63 * f20_25;
+ m_A89 += m_A64 * f20_25;
+ RHS25 += f20_25 * RHS20;
+ const double f21 = 1.0 / m_A67;
+ const double f21_26 = -f21 * m_A98;
+ m_A100 += m_A68 * f21_26;
+ RHS26 += f21_26 * RHS21;
+ const double f22 = 1.0 / m_A70;
+ const double f22_23 = -f22 * m_A76;
+ m_A77 += m_A71 * f22_23;
+ m_A78 += m_A72 * f22_23;
+ RHS23 += f22_23 * RHS22;
+ const double f22_27 = -f22 * m_A104;
+ m_A105 += m_A71 * f22_27;
+ m_A107 += m_A72 * f22_27;
+ RHS27 += f22_27 * RHS22;
+ const double f23 = 1.0 / m_A77;
+ const double f23_27 = -f23 * m_A105;
+ m_A107 += m_A78 * f23_27;
+ RHS27 += f23_27 * RHS23;
+ const double f24 = 1.0 / m_A83;
+ const double f24_25 = -f24 * m_A88;
+ m_A89 += m_A84 * f24_25;
+ RHS25 += f24_25 * RHS24;
+ const double f25 = 1.0 / m_A89;
+ const double f25_26 = -f25 * m_A99;
+ m_A100 += m_A90 * f25_26;
+ RHS26 += f25_26 * RHS25;
+ const double f26 = 1.0 / m_A100;
+ const double f26_27 = -f26 * m_A106;
+ m_A107 += m_A101 * f26_27;
+ RHS27 += f26_27 * RHS26;
+ V[27] = RHS27 / m_A107;
+ double tmp26 = 0.0;
+ tmp26 += m_A101 * V[27];
+ V[26] = (RHS26 - tmp26) / m_A100;
+ double tmp25 = 0.0;
+ tmp25 += m_A90 * V[26];
+ V[25] = (RHS25 - tmp25) / m_A89;
+ double tmp24 = 0.0;
+ tmp24 += m_A84 * V[25];
+ V[24] = (RHS24 - tmp24) / m_A83;
+ double tmp23 = 0.0;
+ tmp23 += m_A78 * V[27];
+ V[23] = (RHS23 - tmp23) / m_A77;
+ double tmp22 = 0.0;
+ tmp22 += m_A71 * V[23];
+ tmp22 += m_A72 * V[27];
+ V[22] = (RHS22 - tmp22) / m_A70;
+ double tmp21 = 0.0;
+ tmp21 += m_A68 * V[26];
+ V[21] = (RHS21 - tmp21) / m_A67;
double tmp20 = 0.0;
- tmp20 += m_A94 * V[21];
- V[20] = (RHS20 - tmp20) / m_A93;
+ tmp20 += m_A63 * V[24];
+ tmp20 += m_A64 * V[25];
+ V[20] = (RHS20 - tmp20) / m_A62;
double tmp19 = 0.0;
- tmp19 += m_A86 * V[20];
- tmp19 += m_A87 * V[21];
- V[19] = (RHS19 - tmp19) / m_A85;
+ tmp19 += m_A60 * V[21];
+ V[19] = (RHS19 - tmp19) / m_A59;
double tmp18 = 0.0;
- tmp18 += m_A75 * V[19];
- tmp18 += m_A76 * V[20];
- tmp18 += m_A77 * V[21];
- V[18] = (RHS18 - tmp18) / m_A74;
+ tmp18 += m_A57 * V[19];
+ V[18] = (RHS18 - tmp18) / m_A56;
double tmp17 = 0.0;
- tmp17 += m_A64 * V[18];
- tmp17 += m_A65 * V[19];
- tmp17 += m_A66 * V[20];
- tmp17 += m_A67 * V[21];
- V[17] = (RHS17 - tmp17) / m_A63;
+ tmp17 += m_A54 * V[24];
+ V[17] = (RHS17 - tmp17) / m_A53;
double tmp16 = 0.0;
- tmp16 += m_A58 * V[19];
- V[16] = (RHS16 - tmp16) / m_A57;
+ tmp16 += m_A50 * V[23];
+ V[16] = (RHS16 - tmp16) / m_A49;
double tmp15 = 0.0;
- tmp15 += m_A51 * V[17];
- tmp15 += m_A52 * V[18];
- tmp15 += m_A53 * V[19];
- tmp15 += m_A54 * V[21];
- V[15] = (RHS15 - tmp15) / m_A50;
+ tmp15 += m_A45 * V[17];
+ tmp15 += m_A46 * V[24];
+ V[15] = (RHS15 - tmp15) / m_A44;
double tmp14 = 0.0;
- tmp14 += m_A46 * V[21];
- V[14] = (RHS14 - tmp14) / m_A45;
+ tmp14 += m_A42 * V[16];
+ tmp14 += m_A43 * V[23];
+ V[14] = (RHS14 - tmp14) / m_A41;
double tmp13 = 0.0;
- tmp13 += m_A43 * V[18];
- V[13] = (RHS13 - tmp13) / m_A42;
+ tmp13 += m_A39 * V[24];
+ tmp13 += m_A40 * V[25];
+ V[13] = (RHS13 - tmp13) / m_A38;
double tmp12 = 0.0;
- tmp12 += m_A37 * V[15];
- tmp12 += m_A38 * V[17];
- V[12] = (RHS12 - tmp12) / m_A36;
+ tmp12 += m_A36 * V[23];
+ tmp12 += m_A37 * V[27];
+ V[12] = (RHS12 - tmp12) / m_A35;
double tmp11 = 0.0;
- tmp11 += m_A33 * V[20];
+ tmp11 += m_A33 * V[25];
+ tmp11 += m_A34 * V[26];
V[11] = (RHS11 - tmp11) / m_A32;
double tmp10 = 0.0;
- tmp10 += m_A31 * V[20];
- V[10] = (RHS10 - tmp10) / m_A30;
- double tmp9 = 0.0;
- tmp9 += m_A29 * V[16];
- V[9] = (RHS9 - tmp9) / m_A28;
- double tmp8 = 0.0;
- tmp8 += m_A26 * V[16];
- tmp8 += m_A27 * V[19];
- V[8] = (RHS8 - tmp8) / m_A25;
- double tmp7 = 0.0;
- tmp7 += m_A21 * V[17];
- tmp7 += m_A22 * V[18];
- tmp7 += m_A23 * V[19];
- tmp7 += m_A24 * V[21];
- V[7] = (RHS7 - tmp7) / m_A20;
- double tmp6 = 0.0;
- tmp6 += m_A16 * V[15];
- tmp6 += m_A17 * V[18];
- tmp6 += m_A18 * V[19];
- tmp6 += m_A19 * V[21];
- V[6] = (RHS6 - tmp6) / m_A15;
- double tmp5 = 0.0;
- tmp5 += m_A14 * V[14];
- V[5] = (RHS5 - tmp5) / m_A13;
- double tmp4 = 0.0;
- tmp4 += m_A11 * V[13];
- tmp4 += m_A12 * V[18];
- V[4] = (RHS4 - tmp4) / m_A10;
- double tmp3 = 0.0;
- tmp3 += m_A9 * V[13];
- V[3] = (RHS3 - tmp3) / m_A8;
- double tmp2 = 0.0;
- tmp2 += m_A7 * V[13];
- V[2] = (RHS2 - tmp2) / m_A6;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[12];
- tmp1 += m_A4 * V[15];
- tmp1 += m_A5 * V[17];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[12];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// popeye
-static void nl_gcr_794f14a13bda75f0_50_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28] + gt[29];
- m_A10 = m_A10 + go[24];
- m_A7 = m_A7 + go[25];
- m_A8 = m_A8 + go[26];
- m_A9 = m_A9 + go[27];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28] + Idr[29] - go[28] * *cnV[28] - go[29] * *cnV[29];
- m_A11 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36];
- m_A13 = m_A13 + go[32];
- m_A13 = m_A13 + go[33];
- m_A12 = m_A12 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[35] * *cnV[35] - go[36] * *cnV[36];
- m_A14 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44];
- m_A16 = m_A16 + go[40];
- m_A15 = m_A15 + go[41];
- m_A15 = m_A15 + go[42];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] - go[43] * *cnV[43] - go[44] * *cnV[44];
- m_A19 = gt[48] + gt[49] + gt[50];
- m_A18 = m_A18 + go[48];
- m_A17 = m_A17 + go[49];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[50] * *cnV[50];
- m_A26 = gt[56] + gt[57] + gt[58];
- m_A24 = m_A24 + go[56];
- m_A23 = m_A23 + go[57];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] - go[58] * *cnV[58];
- m_A33 = gt[64] + gt[65] + gt[66];
- m_A30 = m_A30 + go[64];
- m_A29 = m_A29 + go[65];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] - go[66] * *cnV[66];
- m_A40 = gt[72] + gt[73] + gt[74] + gt[75];
- m_A36 = m_A36 + go[72];
- m_A35 = m_A35 + go[73];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75];
- m_A45 = gt[80] + gt[81] + gt[82] + gt[83] + gt[84] + gt[85] + gt[86] + gt[87];
- m_A43 = m_A43 + go[80];
- m_A43 = m_A43 + go[81];
- m_A42 = m_A42 + go[82];
- m_A42 = m_A42 + go[83];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] + Idr[84] + Idr[85] + Idr[86] + Idr[87] - go[84] * *cnV[84] - go[85] * *cnV[85] - go[86] * *cnV[86] - go[87] * *cnV[87];
- m_A49 = gt[88] + gt[89];
- m_A47 = m_A47 + go[88];
- double RHS11 = Idr[88] + Idr[89] - go[89] * *cnV[89];
-const double f0 = 1.0 / m_A0;
- const double f0_8 = -f0 * m_A29;
- m_A33 += m_A1 * f0_8;
- RHS8 += f0_8 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_7 = -f1 * m_A23;
- m_A26 += m_A3 * f1_7;
- RHS7 += f1_7 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_6 = -f2 * m_A17;
- m_A19 += m_A5 * f2_6;
- RHS6 += f2_6 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_6 = -f3 * m_A18;
- m_A19 += m_A7 * f3_6;
- m_A20 += m_A8 * f3_6;
- m_A21 += m_A9 * f3_6;
- m_A22 += m_A10 * f3_6;
- RHS6 += f3_6 * RHS3;
- const double f3_7 = -f3 * m_A24;
- m_A25 += m_A7 * f3_7;
- m_A26 += m_A8 * f3_7;
- m_A27 += m_A9 * f3_7;
- m_A28 += m_A10 * f3_7;
- RHS7 += f3_7 * RHS3;
- const double f3_8 = -f3 * m_A30;
- m_A31 += m_A7 * f3_8;
- m_A32 += m_A8 * f3_8;
- m_A33 += m_A9 * f3_8;
- m_A34 += m_A10 * f3_8;
- RHS8 += f3_8 * RHS3;
- const double f3_9 = -f3 * m_A35;
- m_A37 += m_A7 * f3_9;
- m_A38 += m_A8 * f3_9;
- m_A39 += m_A9 * f3_9;
- m_A40 += m_A10 * f3_9;
- RHS9 += f3_9 * RHS3;
-const double f4 = 1.0 / m_A11;
- const double f4_9 = -f4 * m_A36;
- m_A40 += m_A12 * f4_9;
- m_A41 += m_A13 * f4_9;
- RHS9 += f4_9 * RHS4;
- const double f4_10 = -f4 * m_A42;
- m_A44 += m_A12 * f4_10;
- m_A45 += m_A13 * f4_10;
- RHS10 += f4_10 * RHS4;
-const double f5 = 1.0 / m_A14;
- const double f5_10 = -f5 * m_A43;
- m_A45 += m_A15 * f5_10;
- m_A46 += m_A16 * f5_10;
- RHS10 += f5_10 * RHS5;
- const double f5_11 = -f5 * m_A47;
- m_A48 += m_A15 * f5_11;
- m_A49 += m_A16 * f5_11;
- RHS11 += f5_11 * RHS5;
-const double f6 = 1.0 / m_A19;
- const double f6_7 = -f6 * m_A25;
- m_A26 += m_A20 * f6_7;
- m_A27 += m_A21 * f6_7;
- m_A28 += m_A22 * f6_7;
- RHS7 += f6_7 * RHS6;
- const double f6_8 = -f6 * m_A31;
- m_A32 += m_A20 * f6_8;
- m_A33 += m_A21 * f6_8;
- m_A34 += m_A22 * f6_8;
- RHS8 += f6_8 * RHS6;
- const double f6_9 = -f6 * m_A37;
- m_A38 += m_A20 * f6_9;
- m_A39 += m_A21 * f6_9;
- m_A40 += m_A22 * f6_9;
- RHS9 += f6_9 * RHS6;
-const double f7 = 1.0 / m_A26;
- const double f7_8 = -f7 * m_A32;
- m_A33 += m_A27 * f7_8;
- m_A34 += m_A28 * f7_8;
- RHS8 += f7_8 * RHS7;
- const double f7_9 = -f7 * m_A38;
- m_A39 += m_A27 * f7_9;
- m_A40 += m_A28 * f7_9;
- RHS9 += f7_9 * RHS7;
-const double f8 = 1.0 / m_A33;
- const double f8_9 = -f8 * m_A39;
- m_A40 += m_A34 * f8_9;
- RHS9 += f8_9 * RHS8;
-const double f9 = 1.0 / m_A40;
- const double f9_10 = -f9 * m_A44;
- m_A45 += m_A41 * f9_10;
- RHS10 += f9_10 * RHS9;
-const double f10 = 1.0 / m_A45;
- const double f10_11 = -f10 * m_A48;
- m_A49 += m_A46 * f10_11;
- RHS11 += f10_11 * RHS10;
- V[11] = RHS11 / m_A49;
- double tmp10 = 0.0;
- tmp10 += m_A46 * V[11];
- V[10] = (RHS10 - tmp10) / m_A45;
+ tmp10 += m_A29 * V[26];
+ tmp10 += m_A30 * V[27];
+ V[10] = (RHS10 - tmp10) / m_A28;
double tmp9 = 0.0;
- tmp9 += m_A41 * V[10];
- V[9] = (RHS9 - tmp9) / m_A40;
+ tmp9 += m_A25 * V[11];
+ tmp9 += m_A26 * V[26];
+ V[9] = (RHS9 - tmp9) / m_A24;
double tmp8 = 0.0;
- tmp8 += m_A34 * V[9];
- V[8] = (RHS8 - tmp8) / m_A33;
+ tmp8 += m_A21 * V[10];
+ tmp8 += m_A22 * V[26];
+ V[8] = (RHS8 - tmp8) / m_A20;
double tmp7 = 0.0;
- tmp7 += m_A27 * V[8];
- tmp7 += m_A28 * V[9];
- V[7] = (RHS7 - tmp7) / m_A26;
+ tmp7 += m_A17 * V[9];
+ tmp7 += m_A18 * V[26];
+ V[7] = (RHS7 - tmp7) / m_A16;
double tmp6 = 0.0;
- tmp6 += m_A20 * V[7];
- tmp6 += m_A21 * V[8];
- tmp6 += m_A22 * V[9];
- V[6] = (RHS6 - tmp6) / m_A19;
+ tmp6 += m_A14 * V[8];
+ tmp6 += m_A15 * V[26];
+ V[6] = (RHS6 - tmp6) / m_A13;
double tmp5 = 0.0;
- tmp5 += m_A15 * V[10];
- tmp5 += m_A16 * V[11];
- V[5] = (RHS5 - tmp5) / m_A14;
+ tmp5 += m_A11 * V[21];
+ tmp5 += m_A12 * V[26];
+ V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A12 * V[9];
- tmp4 += m_A13 * V[10];
- V[4] = (RHS4 - tmp4) / m_A11;
+ tmp4 += m_A9 * V[20];
+ V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[6];
- tmp3 += m_A8 * V[7];
- tmp3 += m_A9 * V[8];
- tmp3 += m_A10 * V[9];
+ tmp3 += m_A7 * V[22];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[6];
+ tmp2 += m_A5 * V[17];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[7];
+ tmp1 += m_A3 * V[16];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[8];
+ tmp0 += m_A1 * V[18];
V[0] = (RHS0 - tmp0) / m_A0;
}
// breakout
-static void nl_gcr_7a4e8b4f388d66d7_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_a59b19805d7e4461_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A6 = gt[8] + gt[9];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A5 += go[7];
+ m_A4 += go[8];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 -= go[9] * *cnV[9];
+ const double f0 = 1.0 / m_A0;
const double f0_2 = -f0 * m_A4;
m_A6 += m_A1 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_2 = -f1 * m_A5;
m_A6 += m_A3 * f1_2;
RHS2 += f1_2 * RHS1;
@@ -6077,301 +9970,520 @@ const double f1 = 1.0 / m_A2;
}
// 280zzzap
-static void nl_gcr_7af598c34aca424d_135_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_a716c0b150a52aeb_135_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
-double m_A111(0.0);
-double m_A112(0.0);
-double m_A113(0.0);
-double m_A114(0.0);
-double m_A115(0.0);
-double m_A116(0.0);
-double m_A117(0.0);
-double m_A118(0.0);
-double m_A119(0.0);
-double m_A120(0.0);
-double m_A121(0.0);
-double m_A122(0.0);
-double m_A123(0.0);
-double m_A124(0.0);
-double m_A125(0.0);
-double m_A126(0.0);
-double m_A127(0.0);
-double m_A128(0.0);
-double m_A129(0.0);
-double m_A130(0.0);
-double m_A131(0.0);
-double m_A132(0.0);
-double m_A133(0.0);
-double m_A134(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[10] + gt[11];
- m_A3 = m_A3 + go[10];
- double RHS1 = Idr[10] + Idr[11] - go[11] * *cnV[11];
- m_A4 = gt[20] + gt[21] + gt[22];
- m_A5 = m_A5 + go[20];
- double RHS2 = Idr[20] + Idr[21] + Idr[22] - go[21] * *cnV[21] - go[22] * *cnV[22];
- m_A6 = gt[30] + gt[31] + gt[32] + gt[33] + gt[34] + gt[35] + gt[36];
- m_A7 = m_A7 + go[30];
- double RHS3 = Idr[30] + Idr[31] + Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[31] * *cnV[31] - go[32] * *cnV[32] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36];
- m_A8 = gt[40] + gt[41];
- m_A9 = m_A9 + go[40];
- double RHS4 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A10 = gt[50] + gt[51] + gt[52] + gt[53];
- m_A12 = m_A12 + go[50];
- m_A13 = m_A13 + go[51];
- m_A11 = m_A11 + go[52];
- double RHS5 = Idr[50] + Idr[51] + Idr[52] + Idr[53] - go[53] * *cnV[53];
- m_A14 = gt[60] + gt[61] + gt[62] + gt[63] + gt[64] + gt[65] + gt[66];
- m_A15 = m_A15 + go[60];
- double RHS6 = Idr[60] + Idr[61] + Idr[62] + Idr[63] + Idr[64] + Idr[65] + Idr[66] - go[61] * *cnV[61] - go[62] * *cnV[62] - go[63] * *cnV[63] - go[64] * *cnV[64] - go[65] * *cnV[65] - go[66] * *cnV[66];
- m_A16 = gt[70] + gt[71];
- m_A17 = m_A17 + go[70];
- m_A18 = m_A18 + go[71];
- double RHS7 = Idr[70] + Idr[71];
- m_A19 = gt[80] + gt[81] + gt[82];
- m_A20 = m_A20 + go[80];
- double RHS8 = Idr[80] + Idr[81] + Idr[82] - go[81] * *cnV[81] - go[82] * *cnV[82];
- m_A21 = gt[90] + gt[91];
- m_A22 = m_A22 + go[90];
- double RHS9 = Idr[90] + Idr[91] - go[91] * *cnV[91];
- m_A23 = gt[100] + gt[101];
- m_A24 = m_A24 + go[100];
- double RHS10 = Idr[100] + Idr[101] - go[101] * *cnV[101];
- m_A25 = gt[110] + gt[111] + gt[112];
- m_A27 = m_A27 + go[110];
- m_A26 = m_A26 + go[111];
- m_A26 = m_A26 + go[112];
- double RHS11 = Idr[110] + Idr[111] + Idr[112];
- m_A28 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124] + gt[125] + gt[126];
- m_A29 = m_A29 + go[120];
- double RHS12 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124] + Idr[125] + Idr[126] - go[121] * *cnV[121] - go[122] * *cnV[122] - go[123] * *cnV[123] - go[124] * *cnV[124] - go[125] * *cnV[125] - go[126] * *cnV[126];
- m_A30 = gt[130] + gt[131] + gt[132];
- m_A31 = m_A31 + go[130];
- double RHS13 = Idr[130] + Idr[131] + Idr[132] - go[131] * *cnV[131] - go[132] * *cnV[132];
- m_A32 = gt[140] + gt[141] + gt[142] + gt[143];
- m_A34 = m_A34 + go[140];
- m_A33 = m_A33 + go[141];
- m_A35 = m_A35 + go[142];
- double RHS14 = Idr[140] + Idr[141] + Idr[142] + Idr[143] - go[143] * *cnV[143];
- m_A37 = gt[150] + gt[151];
- m_A36 = m_A36 + go[150];
- double RHS15 = Idr[150] + Idr[151] - go[151] * *cnV[151];
- m_A39 = gt[160] + gt[161] + gt[162] + gt[163];
- m_A38 = m_A38 + go[160];
- m_A40 = m_A40 + go[161];
- double RHS16 = Idr[160] + Idr[161] + Idr[162] + Idr[163] - go[162] * *cnV[162] - go[163] * *cnV[163];
- m_A42 = gt[170] + gt[171];
- m_A41 = m_A41 + go[170];
- double RHS17 = Idr[170] + Idr[171] - go[171] * *cnV[171];
- m_A45 = gt[180] + gt[181];
- m_A43 = m_A43 + go[180];
- m_A44 = m_A44 + go[181];
- double RHS18 = Idr[180] + Idr[181];
- m_A49 = gt[190] + gt[191];
- m_A48 = m_A48 + go[190];
- double RHS19 = Idr[190] + Idr[191] - go[191] * *cnV[191];
- m_A51 = gt[200] + gt[201] + gt[202] + gt[203];
- m_A53 = m_A53 + go[200];
- m_A50 = m_A50 + go[201];
- m_A54 = m_A54 + go[202];
- double RHS20 = Idr[200] + Idr[201] + Idr[202] + Idr[203] - go[203] * *cnV[203];
- m_A62 = gt[210] + gt[211] + gt[212] + gt[213] + gt[214] + gt[215] + gt[216] + gt[217] + gt[218];
- m_A55 = m_A55 + go[210];
- m_A58 = m_A58 + go[211];
- m_A58 = m_A58 + go[212];
- m_A57 = m_A57 + go[213];
- m_A56 = m_A56 + go[214];
- m_A65 = m_A65 + go[215];
- double RHS21 = Idr[210] + Idr[211] + Idr[212] + Idr[213] + Idr[214] + Idr[215] + Idr[216] + Idr[217] + Idr[218] - go[216] * *cnV[216] - go[217] * *cnV[217] - go[218] * *cnV[218];
- m_A70 = gt[220] + gt[221];
- m_A68 = m_A68 + go[220];
- m_A67 = m_A67 + go[221];
- double RHS22 = Idr[220] + Idr[221];
- m_A77 = gt[230] + gt[231] + gt[232] + gt[233];
- m_A76 = m_A76 + go[230];
- m_A78 = m_A78 + go[231];
- double RHS23 = Idr[230] + Idr[231] + Idr[232] + Idr[233] - go[232] * *cnV[232] - go[233] * *cnV[233];
- m_A83 = gt[240] + gt[241] + gt[242] + gt[243] + gt[244] + gt[245];
- m_A79 = m_A79 + go[240];
- m_A80 = m_A80 + go[241];
- m_A86 = m_A86 + go[242];
- double RHS24 = Idr[240] + Idr[241] + Idr[242] + Idr[243] + Idr[244] + Idr[245] - go[243] * *cnV[243] - go[244] * *cnV[244] - go[245] * *cnV[245];
- m_A89 = gt[250] + gt[251] + gt[252] + gt[253];
- m_A88 = m_A88 + go[250];
- m_A90 = m_A90 + go[251];
- double RHS25 = Idr[250] + Idr[251] + Idr[252] + Idr[253] - go[252] * *cnV[252] - go[253] * *cnV[253];
- m_A98 = gt[260] + gt[261] + gt[262] + gt[263] + gt[264] + gt[265];
- m_A91 = m_A91 + go[260];
- m_A92 = m_A92 + go[261];
- m_A93 = m_A93 + go[262];
- m_A101 = m_A101 + go[263];
- double RHS26 = Idr[260] + Idr[261] + Idr[262] + Idr[263] + Idr[264] + Idr[265] - go[264] * *cnV[264] - go[265] * *cnV[265];
- m_A111 = gt[270] + gt[271] + gt[272] + gt[273] + gt[274];
- m_A107 = m_A107 + go[270];
- m_A105 = m_A105 + go[271];
- m_A104 = m_A104 + go[272];
- m_A103 = m_A103 + go[273];
- m_A102 = m_A102 + go[274];
- double RHS27 = Idr[270] + Idr[271] + Idr[272] + Idr[273] + Idr[274];
- m_A122 = gt[280] + gt[281] + gt[282] + gt[283] + gt[284];
- m_A119 = m_A119 + go[280];
- m_A117 = m_A117 + go[281];
- m_A116 = m_A116 + go[282];
- m_A115 = m_A115 + go[283];
- m_A114 = m_A114 + go[284];
- double RHS28 = Idr[280] + Idr[281] + Idr[282] + Idr[283] + Idr[284];
- m_A134 = gt[290] + gt[291] + gt[292] + gt[293] + gt[294];
- m_A131 = m_A131 + go[290];
- m_A126 = m_A126 + go[291];
- m_A127 = m_A127 + go[292];
- m_A125 = m_A125 + go[293];
- m_A124 = m_A124 + go[294];
- double RHS29 = Idr[290] + Idr[291] + Idr[292] + Idr[293] + Idr[294];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ double m_A111(0.0);
+ double m_A112(0.0);
+ double m_A113(0.0);
+ double m_A114(0.0);
+ double m_A115(0.0);
+ double m_A116(0.0);
+ double m_A117(0.0);
+ double m_A118(0.0);
+ double m_A119(0.0);
+ double m_A120(0.0);
+ double m_A121(0.0);
+ double m_A122(0.0);
+ double m_A123(0.0);
+ double m_A124(0.0);
+ double m_A125(0.0);
+ double m_A126(0.0);
+ double m_A127(0.0);
+ double m_A128(0.0);
+ double m_A129(0.0);
+ double m_A130(0.0);
+ double m_A131(0.0);
+ double m_A132(0.0);
+ double m_A133(0.0);
+ double m_A134(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A5 += go[4];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 += Idr[6];
+ RHS2 -= go[5] * *cnV[5];
+ RHS2 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A7 += go[7];
+ double RHS3 = Idr[7];
+ RHS3 += Idr[8];
+ RHS3 += Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 -= go[8] * *cnV[8];
+ RHS3 -= go[9] * *cnV[9];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ m_A8 += gt[14];
+ m_A8 += gt[15];
+ m_A9 += go[14];
+ double RHS4 = Idr[14];
+ RHS4 += Idr[15];
+ RHS4 -= go[15] * *cnV[15];
+ m_A10 += gt[16];
+ m_A10 += gt[17];
+ m_A10 += gt[18];
+ m_A10 += gt[19];
+ m_A12 += go[16];
+ m_A13 += go[17];
+ m_A11 += go[18];
+ double RHS5 = Idr[16];
+ RHS5 += Idr[17];
+ RHS5 += Idr[18];
+ RHS5 += Idr[19];
+ RHS5 -= go[19] * *cnV[19];
+ m_A14 += gt[20];
+ m_A14 += gt[21];
+ m_A14 += gt[22];
+ m_A14 += gt[23];
+ m_A14 += gt[24];
+ m_A14 += gt[25];
+ m_A14 += gt[26];
+ m_A15 += go[20];
+ double RHS6 = Idr[20];
+ RHS6 += Idr[21];
+ RHS6 += Idr[22];
+ RHS6 += Idr[23];
+ RHS6 += Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 -= go[21] * *cnV[21];
+ RHS6 -= go[22] * *cnV[22];
+ RHS6 -= go[23] * *cnV[23];
+ RHS6 -= go[24] * *cnV[24];
+ RHS6 -= go[25] * *cnV[25];
+ RHS6 -= go[26] * *cnV[26];
+ m_A16 += gt[27];
+ m_A16 += gt[28];
+ m_A17 += go[27];
+ m_A18 += go[28];
+ double RHS7 = Idr[27];
+ RHS7 += Idr[28];
+ m_A19 += gt[29];
+ m_A19 += gt[30];
+ m_A19 += gt[31];
+ m_A20 += go[29];
+ double RHS8 = Idr[29];
+ RHS8 += Idr[30];
+ RHS8 += Idr[31];
+ RHS8 -= go[30] * *cnV[30];
+ RHS8 -= go[31] * *cnV[31];
+ m_A21 += gt[32];
+ m_A21 += gt[33];
+ m_A22 += go[32];
+ double RHS9 = Idr[32];
+ RHS9 += Idr[33];
+ RHS9 -= go[33] * *cnV[33];
+ m_A23 += gt[34];
+ m_A23 += gt[35];
+ m_A24 += go[34];
+ double RHS10 = Idr[34];
+ RHS10 += Idr[35];
+ RHS10 -= go[35] * *cnV[35];
+ m_A25 += gt[36];
+ m_A25 += gt[37];
+ m_A25 += gt[38];
+ m_A27 += go[36];
+ m_A26 += go[37];
+ m_A26 += go[38];
+ double RHS11 = Idr[36];
+ RHS11 += Idr[37];
+ RHS11 += Idr[38];
+ m_A28 += gt[39];
+ m_A28 += gt[40];
+ m_A28 += gt[41];
+ m_A28 += gt[42];
+ m_A28 += gt[43];
+ m_A28 += gt[44];
+ m_A28 += gt[45];
+ m_A29 += go[39];
+ double RHS12 = Idr[39];
+ RHS12 += Idr[40];
+ RHS12 += Idr[41];
+ RHS12 += Idr[42];
+ RHS12 += Idr[43];
+ RHS12 += Idr[44];
+ RHS12 += Idr[45];
+ RHS12 -= go[40] * *cnV[40];
+ RHS12 -= go[41] * *cnV[41];
+ RHS12 -= go[42] * *cnV[42];
+ RHS12 -= go[43] * *cnV[43];
+ RHS12 -= go[44] * *cnV[44];
+ RHS12 -= go[45] * *cnV[45];
+ m_A30 += gt[46];
+ m_A30 += gt[47];
+ m_A30 += gt[48];
+ m_A31 += go[46];
+ double RHS13 = Idr[46];
+ RHS13 += Idr[47];
+ RHS13 += Idr[48];
+ RHS13 -= go[47] * *cnV[47];
+ RHS13 -= go[48] * *cnV[48];
+ m_A32 += gt[49];
+ m_A32 += gt[50];
+ m_A32 += gt[51];
+ m_A32 += gt[52];
+ m_A34 += go[49];
+ m_A33 += go[50];
+ m_A35 += go[51];
+ double RHS14 = Idr[49];
+ RHS14 += Idr[50];
+ RHS14 += Idr[51];
+ RHS14 += Idr[52];
+ RHS14 -= go[52] * *cnV[52];
+ m_A37 += gt[53];
+ m_A37 += gt[54];
+ m_A36 += go[53];
+ double RHS15 = Idr[53];
+ RHS15 += Idr[54];
+ RHS15 -= go[54] * *cnV[54];
+ m_A39 += gt[55];
+ m_A39 += gt[56];
+ m_A39 += gt[57];
+ m_A39 += gt[58];
+ m_A38 += go[55];
+ m_A40 += go[56];
+ double RHS16 = Idr[55];
+ RHS16 += Idr[56];
+ RHS16 += Idr[57];
+ RHS16 += Idr[58];
+ RHS16 -= go[57] * *cnV[57];
+ RHS16 -= go[58] * *cnV[58];
+ m_A42 += gt[59];
+ m_A42 += gt[60];
+ m_A41 += go[59];
+ double RHS17 = Idr[59];
+ RHS17 += Idr[60];
+ RHS17 -= go[60] * *cnV[60];
+ m_A45 += gt[61];
+ m_A45 += gt[62];
+ m_A43 += go[61];
+ m_A44 += go[62];
+ double RHS18 = Idr[61];
+ RHS18 += Idr[62];
+ m_A49 += gt[63];
+ m_A49 += gt[64];
+ m_A48 += go[63];
+ double RHS19 = Idr[63];
+ RHS19 += Idr[64];
+ RHS19 -= go[64] * *cnV[64];
+ m_A51 += gt[65];
+ m_A51 += gt[66];
+ m_A51 += gt[67];
+ m_A51 += gt[68];
+ m_A53 += go[65];
+ m_A50 += go[66];
+ m_A54 += go[67];
+ double RHS20 = Idr[65];
+ RHS20 += Idr[66];
+ RHS20 += Idr[67];
+ RHS20 += Idr[68];
+ RHS20 -= go[68] * *cnV[68];
+ m_A62 += gt[69];
+ m_A62 += gt[70];
+ m_A62 += gt[71];
+ m_A62 += gt[72];
+ m_A62 += gt[73];
+ m_A62 += gt[74];
+ m_A62 += gt[75];
+ m_A62 += gt[76];
+ m_A62 += gt[77];
+ m_A55 += go[69];
+ m_A58 += go[70];
+ m_A58 += go[71];
+ m_A57 += go[72];
+ m_A56 += go[73];
+ m_A65 += go[74];
+ double RHS21 = Idr[69];
+ RHS21 += Idr[70];
+ RHS21 += Idr[71];
+ RHS21 += Idr[72];
+ RHS21 += Idr[73];
+ RHS21 += Idr[74];
+ RHS21 += Idr[75];
+ RHS21 += Idr[76];
+ RHS21 += Idr[77];
+ RHS21 -= go[75] * *cnV[75];
+ RHS21 -= go[76] * *cnV[76];
+ RHS21 -= go[77] * *cnV[77];
+ m_A70 += gt[78];
+ m_A70 += gt[79];
+ m_A68 += go[78];
+ m_A67 += go[79];
+ double RHS22 = Idr[78];
+ RHS22 += Idr[79];
+ m_A77 += gt[80];
+ m_A77 += gt[81];
+ m_A77 += gt[82];
+ m_A77 += gt[83];
+ m_A76 += go[80];
+ m_A78 += go[81];
+ double RHS23 = Idr[80];
+ RHS23 += Idr[81];
+ RHS23 += Idr[82];
+ RHS23 += Idr[83];
+ RHS23 -= go[82] * *cnV[82];
+ RHS23 -= go[83] * *cnV[83];
+ m_A83 += gt[84];
+ m_A83 += gt[85];
+ m_A83 += gt[86];
+ m_A83 += gt[87];
+ m_A83 += gt[88];
+ m_A83 += gt[89];
+ m_A79 += go[84];
+ m_A80 += go[85];
+ m_A86 += go[86];
+ double RHS24 = Idr[84];
+ RHS24 += Idr[85];
+ RHS24 += Idr[86];
+ RHS24 += Idr[87];
+ RHS24 += Idr[88];
+ RHS24 += Idr[89];
+ RHS24 -= go[87] * *cnV[87];
+ RHS24 -= go[88] * *cnV[88];
+ RHS24 -= go[89] * *cnV[89];
+ m_A89 += gt[90];
+ m_A89 += gt[91];
+ m_A89 += gt[92];
+ m_A89 += gt[93];
+ m_A88 += go[90];
+ m_A90 += go[91];
+ double RHS25 = Idr[90];
+ RHS25 += Idr[91];
+ RHS25 += Idr[92];
+ RHS25 += Idr[93];
+ RHS25 -= go[92] * *cnV[92];
+ RHS25 -= go[93] * *cnV[93];
+ m_A98 += gt[94];
+ m_A98 += gt[95];
+ m_A98 += gt[96];
+ m_A98 += gt[97];
+ m_A98 += gt[98];
+ m_A98 += gt[99];
+ m_A91 += go[94];
+ m_A92 += go[95];
+ m_A93 += go[96];
+ m_A101 += go[97];
+ double RHS26 = Idr[94];
+ RHS26 += Idr[95];
+ RHS26 += Idr[96];
+ RHS26 += Idr[97];
+ RHS26 += Idr[98];
+ RHS26 += Idr[99];
+ RHS26 -= go[98] * *cnV[98];
+ RHS26 -= go[99] * *cnV[99];
+ m_A111 += gt[100];
+ m_A111 += gt[101];
+ m_A111 += gt[102];
+ m_A111 += gt[103];
+ m_A111 += gt[104];
+ m_A107 += go[100];
+ m_A105 += go[101];
+ m_A104 += go[102];
+ m_A103 += go[103];
+ m_A102 += go[104];
+ double RHS27 = Idr[100];
+ RHS27 += Idr[101];
+ RHS27 += Idr[102];
+ RHS27 += Idr[103];
+ RHS27 += Idr[104];
+ m_A122 += gt[105];
+ m_A122 += gt[106];
+ m_A122 += gt[107];
+ m_A122 += gt[108];
+ m_A122 += gt[109];
+ m_A119 += go[105];
+ m_A117 += go[106];
+ m_A116 += go[107];
+ m_A115 += go[108];
+ m_A114 += go[109];
+ double RHS28 = Idr[105];
+ RHS28 += Idr[106];
+ RHS28 += Idr[107];
+ RHS28 += Idr[108];
+ RHS28 += Idr[109];
+ m_A134 += gt[110];
+ m_A134 += gt[111];
+ m_A134 += gt[112];
+ m_A134 += gt[113];
+ m_A134 += gt[114];
+ m_A131 += go[110];
+ m_A126 += go[111];
+ m_A127 += go[112];
+ m_A125 += go[113];
+ m_A124 += go[114];
+ double RHS29 = Idr[110];
+ RHS29 += Idr[111];
+ RHS29 += Idr[112];
+ RHS29 += Idr[113];
+ RHS29 += Idr[114];
+ const double f0 = 1.0 / m_A0;
const double f0_18 = -f0 * m_A43;
m_A45 += m_A1 * f0_18;
RHS18 += f0_18 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_15 = -f1 * m_A36;
m_A37 += m_A3 * f1_15;
RHS15 += f1_15 * RHS1;
const double f1_27 = -f1 * m_A102;
m_A105 += m_A3 * f1_27;
RHS27 += f1_27 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_16 = -f2 * m_A38;
m_A40 += m_A5 * f2_16;
RHS16 += f2_16 * RHS2;
const double f2_27 = -f2 * m_A103;
m_A111 += m_A5 * f2_27;
RHS27 += f2_27 * RHS2;
-const double f3 = 1.0 / m_A6;
+ const double f3 = 1.0 / m_A6;
const double f3_21 = -f3 * m_A55;
m_A59 += m_A7 * f3_21;
RHS21 += f3_21 * RHS3;
-const double f4 = 1.0 / m_A8;
+ const double f4 = 1.0 / m_A8;
const double f4_17 = -f4 * m_A41;
m_A42 += m_A9 * f4_17;
RHS17 += f4_17 * RHS4;
const double f4_29 = -f4 * m_A124;
m_A126 += m_A9 * f4_29;
RHS29 += f4_29 * RHS4;
-const double f5 = 1.0 / m_A10;
+ const double f5 = 1.0 / m_A10;
const double f5_18 = -f5 * m_A44;
m_A45 += m_A11 * f5_18;
m_A46 += m_A12 * f5_18;
@@ -6387,11 +10499,11 @@ const double f5 = 1.0 / m_A10;
m_A107 += m_A12 * f5_27;
m_A111 += m_A13 * f5_27;
RHS27 += f5_27 * RHS5;
-const double f6 = 1.0 / m_A14;
+ const double f6 = 1.0 / m_A14;
const double f6_26 = -f6 * m_A91;
m_A97 += m_A15 * f6_26;
RHS26 += f6_26 * RHS6;
-const double f7 = 1.0 / m_A16;
+ const double f7 = 1.0 / m_A16;
const double f7_20 = -f7 * m_A50;
m_A51 += m_A17 * f7_20;
m_A52 += m_A18 * f7_20;
@@ -6400,25 +10512,25 @@ const double f7 = 1.0 / m_A16;
m_A61 += m_A17 * f7_21;
m_A62 += m_A18 * f7_21;
RHS21 += f7_21 * RHS7;
-const double f8 = 1.0 / m_A19;
+ const double f8 = 1.0 / m_A19;
const double f8_25 = -f8 * m_A88;
m_A90 += m_A20 * f8_25;
RHS25 += f8_25 * RHS8;
const double f8_29 = -f8 * m_A125;
m_A134 += m_A20 * f8_29;
RHS29 += f8_29 * RHS8;
-const double f9 = 1.0 / m_A21;
+ const double f9 = 1.0 / m_A21;
const double f9_19 = -f9 * m_A48;
m_A49 += m_A22 * f9_19;
RHS19 += f9_19 * RHS9;
const double f9_28 = -f9 * m_A114;
m_A117 += m_A22 * f9_28;
RHS28 += f9_28 * RHS9;
-const double f10 = 1.0 / m_A23;
+ const double f10 = 1.0 / m_A23;
const double f10_26 = -f10 * m_A92;
m_A98 += m_A24 * f10_26;
RHS26 += f10_26 * RHS10;
-const double f11 = 1.0 / m_A25;
+ const double f11 = 1.0 / m_A25;
const double f11_21 = -f11 * m_A58;
m_A62 += m_A26 * f11_21;
m_A63 += m_A27 * f11_21;
@@ -6427,18 +10539,18 @@ const double f11 = 1.0 / m_A25;
m_A69 += m_A26 * f11_22;
m_A70 += m_A27 * f11_22;
RHS22 += f11_22 * RHS11;
-const double f12 = 1.0 / m_A28;
+ const double f12 = 1.0 / m_A28;
const double f12_24 = -f12 * m_A79;
m_A82 += m_A29 * f12_24;
RHS24 += f12_24 * RHS12;
-const double f13 = 1.0 / m_A30;
+ const double f13 = 1.0 / m_A30;
const double f13_23 = -f13 * m_A76;
m_A78 += m_A31 * f13_23;
RHS23 += f13_23 * RHS13;
const double f13_28 = -f13 * m_A115;
m_A122 += m_A31 * f13_28;
RHS28 += f13_28 * RHS13;
-const double f14 = 1.0 / m_A32;
+ const double f14 = 1.0 / m_A32;
const double f14_22 = -f14 * m_A68;
m_A70 += m_A33 * f14_22;
m_A71 += m_A34 * f14_22;
@@ -6454,17 +10566,17 @@ const double f14 = 1.0 / m_A32;
m_A119 += m_A34 * f14_28;
m_A122 += m_A35 * f14_28;
RHS28 += f14_28 * RHS14;
-const double f15 = 1.0 / m_A37;
+ const double f15 = 1.0 / m_A37;
const double f15_27 = -f15 * m_A105;
RHS27 += f15_27 * RHS15;
-const double f16 = 1.0 / m_A39;
+ const double f16 = 1.0 / m_A39;
const double f16_21 = -f16 * m_A59;
m_A65 += m_A40 * f16_21;
RHS21 += f16_21 * RHS16;
-const double f17 = 1.0 / m_A42;
+ const double f17 = 1.0 / m_A42;
const double f17_29 = -f17 * m_A126;
RHS29 += f17_29 * RHS17;
-const double f18 = 1.0 / m_A45;
+ const double f18 = 1.0 / m_A45;
const double f18_21 = -f18 * m_A60;
m_A62 += m_A46 * f18_21;
m_A65 += m_A47 * f18_21;
@@ -6473,10 +10585,10 @@ const double f18 = 1.0 / m_A45;
m_A107 += m_A46 * f18_27;
m_A111 += m_A47 * f18_27;
RHS27 += f18_27 * RHS18;
-const double f19 = 1.0 / m_A49;
+ const double f19 = 1.0 / m_A49;
const double f19_28 = -f19 * m_A117;
RHS28 += f19_28 * RHS19;
-const double f20 = 1.0 / m_A51;
+ const double f20 = 1.0 / m_A51;
const double f20_21 = -f20 * m_A61;
m_A62 += m_A52 * f20_21;
m_A64 += m_A53 * f20_21;
@@ -6492,7 +10604,7 @@ const double f20 = 1.0 / m_A51;
m_A131 += m_A53 * f20_29;
m_A134 += m_A54 * f20_29;
RHS29 += f20_29 * RHS20;
-const double f21 = 1.0 / m_A62;
+ const double f21 = 1.0 / m_A62;
const double f21_22 = -f21 * m_A69;
m_A70 += m_A63 * f21_22;
m_A72 += m_A64 * f21_22;
@@ -6517,7 +10629,7 @@ const double f21 = 1.0 / m_A62;
m_A132 += m_A65 * f21_29;
m_A134 += m_A66 * f21_29;
RHS29 += f21_29 * RHS21;
-const double f22 = 1.0 / m_A70;
+ const double f22 = 1.0 / m_A70;
const double f22_24 = -f22 * m_A81;
m_A83 += m_A71 * f22_24;
m_A84 += m_A72 * f22_24;
@@ -6553,11 +10665,11 @@ const double f22 = 1.0 / m_A70;
m_A133 += m_A74 * f22_29;
m_A134 += m_A75 * f22_29;
RHS29 += f22_29 * RHS22;
-const double f23 = 1.0 / m_A77;
+ const double f23 = 1.0 / m_A77;
const double f23_24 = -f23 * m_A82;
m_A86 += m_A78 * f23_24;
RHS24 += f23_24 * RHS23;
-const double f24 = 1.0 / m_A83;
+ const double f24 = 1.0 / m_A83;
const double f24_26 = -f24 * m_A96;
m_A98 += m_A84 * f24_26;
m_A99 += m_A85 * f24_26;
@@ -6582,11 +10694,11 @@ const double f24 = 1.0 / m_A83;
m_A133 += m_A86 * f24_29;
m_A134 += m_A87 * f24_29;
RHS29 += f24_29 * RHS24;
-const double f25 = 1.0 / m_A89;
+ const double f25 = 1.0 / m_A89;
const double f25_26 = -f25 * m_A97;
m_A101 += m_A90 * f25_26;
RHS26 += f25_26 * RHS25;
-const double f26 = 1.0 / m_A98;
+ const double f26 = 1.0 / m_A98;
const double f26_27 = -f26 * m_A110;
m_A111 += m_A99 * f26_27;
m_A112 += m_A100 * f26_27;
@@ -6602,7 +10714,7 @@ const double f26 = 1.0 / m_A98;
m_A133 += m_A100 * f26_29;
m_A134 += m_A101 * f26_29;
RHS29 += f26_29 * RHS26;
-const double f27 = 1.0 / m_A111;
+ const double f27 = 1.0 / m_A111;
const double f27_28 = -f27 * m_A121;
m_A122 += m_A112 * f27_28;
m_A123 += m_A113 * f27_28;
@@ -6611,7 +10723,7 @@ const double f27 = 1.0 / m_A111;
m_A133 += m_A112 * f27_29;
m_A134 += m_A113 * f27_29;
RHS29 += f27_29 * RHS27;
-const double f28 = 1.0 / m_A122;
+ const double f28 = 1.0 / m_A122;
const double f28_29 = -f28 * m_A133;
m_A134 += m_A123 * f28_29;
RHS29 += f28_29 * RHS28;
@@ -6724,1994 +10836,1788 @@ const double f28 = 1.0 / m_A122;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// kidniki
-static void nl_gcr_7b1592d23e41ce56_37_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// 1942
+static void nl_gcr_b20cee3516465509_90_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A2 = m_A2 + go[0];
- m_A2 = m_A2 + go[1];
- m_A1 = m_A1 + go[2];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[3] * *cnV[3];
- m_A3 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10];
- m_A6 = gt[16] + gt[17] + gt[18] + gt[19];
- m_A7 = m_A7 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19];
- m_A8 = gt[24] + gt[25] + gt[26] + gt[27];
- m_A11 = m_A11 + go[24];
- m_A9 = m_A9 + go[25];
- m_A10 = m_A10 + go[26];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] - go[27] * *cnV[27];
- m_A14 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38];
- m_A13 = m_A13 + go[32];
- m_A16 = m_A16 + go[33];
- m_A16 = m_A16 + go[34];
- m_A16 = m_A16 + go[35];
- m_A12 = m_A12 + go[36];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[37] * *cnV[37] - go[38] * *cnV[38];
- m_A20 = gt[40] + gt[41] + gt[42];
- m_A17 = m_A17 + go[40];
- m_A18 = m_A18 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[42] * *cnV[42];
- m_A24 = gt[48] + gt[49] + gt[50];
- m_A25 = m_A25 + go[48];
- m_A23 = m_A23 + go[49];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[50] * *cnV[50];
- m_A30 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61];
- m_A27 = m_A27 + go[56];
- m_A28 = m_A28 + go[57];
- m_A28 = m_A28 + go[58];
- m_A28 = m_A28 + go[59];
- m_A26 = m_A26 + go[60];
- m_A26 = m_A26 + go[61];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61];
- m_A36 = gt[64] + gt[65];
- m_A34 = m_A34 + go[64];
- m_A32 = m_A32 + go[65];
- double RHS8 = Idr[64] + Idr[65];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A12;
- m_A14 += m_A1 * f0_4;
- m_A16 += m_A2 * f0_4;
- RHS4 += f0_4 * RHS0;
- const double f0_7 = -f0 * m_A26;
- m_A28 += m_A1 * f0_7;
- m_A30 += m_A2 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A3;
- const double f1_4 = -f1 * m_A13;
- m_A14 += m_A4 * f1_4;
- m_A15 += m_A5 * f1_4;
- RHS4 += f1_4 * RHS1;
- const double f1_5 = -f1 * m_A17;
- m_A19 += m_A4 * f1_5;
- m_A20 += m_A5 * f1_5;
- RHS5 += f1_5 * RHS1;
-const double f2 = 1.0 / m_A6;
- const double f2_6 = -f2 * m_A23;
- m_A24 += m_A7 * f2_6;
- RHS6 += f2_6 * RHS2;
-const double f3 = 1.0 / m_A8;
- const double f3_5 = -f3 * m_A18;
- m_A20 += m_A9 * f3_5;
- m_A21 += m_A10 * f3_5;
- m_A22 += m_A11 * f3_5;
- RHS5 += f3_5 * RHS3;
- const double f3_7 = -f3 * m_A27;
- m_A29 += m_A9 * f3_7;
- m_A30 += m_A10 * f3_7;
- m_A31 += m_A11 * f3_7;
- RHS7 += f3_7 * RHS3;
- const double f3_8 = -f3 * m_A32;
- m_A33 += m_A9 * f3_8;
- m_A35 += m_A10 * f3_8;
- m_A36 += m_A11 * f3_8;
- RHS8 += f3_8 * RHS3;
-const double f4 = 1.0 / m_A14;
- const double f4_5 = -f4 * m_A19;
- m_A20 += m_A15 * f4_5;
- m_A21 += m_A16 * f4_5;
- RHS5 += f4_5 * RHS4;
- const double f4_7 = -f4 * m_A28;
- m_A29 += m_A15 * f4_7;
- m_A30 += m_A16 * f4_7;
- RHS7 += f4_7 * RHS4;
-const double f5 = 1.0 / m_A20;
- const double f5_7 = -f5 * m_A29;
- m_A30 += m_A21 * f5_7;
- m_A31 += m_A22 * f5_7;
- RHS7 += f5_7 * RHS5;
- const double f5_8 = -f5 * m_A33;
- m_A35 += m_A21 * f5_8;
- m_A36 += m_A22 * f5_8;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A7 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ m_A8 += gt[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A9 += go[12];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 -= go[13] * *cnV[13];
+ RHS4 -= go[14] * *cnV[14];
+ m_A10 += gt[15];
+ m_A10 += gt[16];
+ m_A10 += gt[17];
+ m_A11 += go[15];
+ double RHS5 = Idr[15];
+ RHS5 += Idr[16];
+ RHS5 += Idr[17];
+ RHS5 -= go[16] * *cnV[16];
+ RHS5 -= go[17] * *cnV[17];
+ m_A12 += gt[18];
+ m_A12 += gt[19];
+ m_A12 += gt[20];
+ m_A12 += gt[21];
+ m_A12 += gt[22];
+ m_A12 += gt[23];
+ m_A12 += gt[24];
+ m_A19 += go[18];
+ m_A13 += go[19];
+ m_A15 += go[20];
+ m_A17 += go[21];
+ m_A18 += go[22];
+ m_A16 += go[23];
+ m_A14 += go[24];
+ double RHS6 = Idr[18];
+ RHS6 += Idr[19];
+ RHS6 += Idr[20];
+ RHS6 += Idr[21];
+ RHS6 += Idr[22];
+ RHS6 += Idr[23];
+ RHS6 += Idr[24];
+ m_A20 += gt[25];
+ m_A20 += gt[26];
+ m_A22 += go[25];
+ m_A21 += go[26];
+ double RHS7 = Idr[25];
+ RHS7 += Idr[26];
+ m_A25 += gt[27];
+ m_A25 += gt[28];
+ m_A24 += go[27];
+ m_A23 += go[28];
+ double RHS8 = Idr[27];
+ RHS8 += Idr[28];
+ m_A35 += gt[29];
+ m_A35 += gt[30];
+ m_A33 += go[29];
+ m_A32 += go[30];
+ double RHS9 = Idr[29];
+ RHS9 += Idr[30];
+ m_A45 += gt[31];
+ m_A45 += gt[32];
+ m_A42 += go[31];
+ m_A41 += go[32];
+ double RHS10 = Idr[31];
+ RHS10 += Idr[32];
+ m_A55 += gt[33];
+ m_A55 += gt[34];
+ m_A51 += go[33];
+ m_A50 += go[34];
+ double RHS11 = Idr[33];
+ RHS11 += Idr[34];
+ m_A65 += gt[35];
+ m_A65 += gt[36];
+ m_A60 += go[35];
+ m_A59 += go[36];
+ double RHS12 = Idr[35];
+ RHS12 += Idr[36];
+ m_A75 += gt[37];
+ m_A75 += gt[38];
+ m_A69 += go[37];
+ m_A68 += go[38];
+ double RHS13 = Idr[37];
+ RHS13 += Idr[38];
+ m_A85 += gt[39];
+ m_A85 += gt[40];
+ m_A85 += gt[41];
+ m_A78 += go[39];
+ m_A77 += go[40];
+ double RHS14 = Idr[39];
+ RHS14 += Idr[40];
+ RHS14 += Idr[41];
+ RHS14 -= go[41] * *cnV[41];
+ m_A89 += gt[42];
+ m_A89 += gt[43];
+ m_A87 += go[42];
+ double RHS15 = Idr[42];
+ RHS15 += Idr[43];
+ RHS15 -= go[43] * *cnV[43];
+ const double f0 = 1.0 / m_A0;
+ const double f0_9 = -f0 * m_A32;
+ m_A35 += m_A1 * f0_9;
+ RHS9 += f0_9 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_11 = -f1 * m_A50;
+ m_A55 += m_A3 * f1_11;
+ RHS11 += f1_11 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_13 = -f2 * m_A68;
+ m_A75 += m_A5 * f2_13;
+ RHS13 += f2_13 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_12 = -f3 * m_A59;
+ m_A65 += m_A7 * f3_12;
+ RHS12 += f3_12 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_10 = -f4 * m_A41;
+ m_A45 += m_A9 * f4_10;
+ RHS10 += f4_10 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_8 = -f5 * m_A23;
+ m_A25 += m_A11 * f5_8;
RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A24;
- const double f6_8 = -f6 * m_A34;
- m_A36 += m_A25 * f6_8;
- RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A30;
- const double f7_8 = -f7 * m_A35;
- m_A36 += m_A31 * f7_8;
- RHS8 += f7_8 * RHS7;
- V[8] = RHS8 / m_A36;
- double tmp7 = 0.0;
- tmp7 += m_A31 * V[8];
- V[7] = (RHS7 - tmp7) / m_A30;
- double tmp6 = 0.0;
- tmp6 += m_A25 * V[8];
- V[6] = (RHS6 - tmp6) / m_A24;
- double tmp5 = 0.0;
- tmp5 += m_A21 * V[7];
- tmp5 += m_A22 * V[8];
- V[5] = (RHS5 - tmp5) / m_A20;
- double tmp4 = 0.0;
- tmp4 += m_A15 * V[5];
- tmp4 += m_A16 * V[7];
- V[4] = (RHS4 - tmp4) / m_A14;
- double tmp3 = 0.0;
- tmp3 += m_A9 * V[5];
- tmp3 += m_A10 * V[7];
- tmp3 += m_A11 * V[8];
- V[3] = (RHS3 - tmp3) / m_A8;
- double tmp2 = 0.0;
- tmp2 += m_A7 * V[6];
- V[2] = (RHS2 - tmp2) / m_A6;
- double tmp1 = 0.0;
- tmp1 += m_A4 * V[4];
- tmp1 += m_A5 * V[5];
- V[1] = (RHS1 - tmp1) / m_A3;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
- tmp0 += m_A2 * V[7];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// rebound
-static void nl_gcr_7c58698d6a68f4a0_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A6 = gt[8] + gt[9] + gt[10] + gt[11];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[10] * *cnV[10] - go[11] * *cnV[11];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
- m_A6 += m_A1 * f0_2;
- RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A5;
- m_A6 += m_A3 * f1_2;
- RHS2 += f1_2 * RHS1;
- V[2] = RHS2 / m_A6;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[2];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// gunfight
-static void nl_gcr_7dbbdf7feecfa9bd_108_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[6] + gt[7];
- m_A3 = m_A3 + go[6];
- double RHS1 = Idr[6] + Idr[7] - go[7] * *cnV[7];
- m_A4 = gt[12] + gt[13];
- m_A5 = m_A5 + go[12];
- double RHS2 = Idr[12] + Idr[13] - go[13] * *cnV[13];
- m_A6 = gt[18] + gt[19];
- m_A7 = m_A7 + go[18];
- double RHS3 = Idr[18] + Idr[19] - go[19] * *cnV[19];
- m_A8 = gt[24] + gt[25];
- m_A9 = m_A9 + go[24];
- double RHS4 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A10 = gt[30] + gt[31] + gt[32] + gt[33];
- m_A11 = m_A11 + go[30];
- m_A12 = m_A12 + go[31];
- double RHS5 = Idr[30] + Idr[31] + Idr[32] + Idr[33] - go[32] * *cnV[32] - go[33] * *cnV[33];
- m_A13 = gt[36] + gt[37];
- m_A15 = m_A15 + go[36];
- m_A14 = m_A14 + go[37];
- double RHS6 = Idr[36] + Idr[37];
- m_A16 = gt[42] + gt[43];
- m_A18 = m_A18 + go[42];
- m_A17 = m_A17 + go[43];
- double RHS7 = Idr[42] + Idr[43];
- m_A20 = gt[48] + gt[49] + gt[50];
- m_A19 = m_A19 + go[48];
- m_A21 = m_A21 + go[49];
- double RHS8 = Idr[48] + Idr[49] + Idr[50] - go[50] * *cnV[50];
- m_A24 = gt[54] + gt[55] + gt[56];
- m_A23 = m_A23 + go[54];
- m_A25 = m_A25 + go[55];
- double RHS9 = Idr[54] + Idr[55] + Idr[56] - go[56] * *cnV[56];
- m_A28 = gt[60] + gt[61] + gt[62];
- m_A27 = m_A27 + go[60];
- m_A30 = m_A30 + go[61];
- double RHS10 = Idr[60] + Idr[61] + Idr[62] - go[62] * *cnV[62];
- m_A32 = gt[66] + gt[67] + gt[68];
- m_A31 = m_A31 + go[66];
- m_A33 = m_A33 + go[67];
- double RHS11 = Idr[66] + Idr[67] + Idr[68] - go[68] * *cnV[68];
- m_A35 = gt[72] + gt[73] + gt[74] + gt[75];
- m_A37 = m_A37 + go[72];
- m_A36 = m_A36 + go[73];
- double RHS12 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75];
- m_A38 = gt[78] + gt[79] + gt[80];
- m_A40 = m_A40 + go[78];
- m_A39 = m_A39 + go[79];
- double RHS13 = Idr[78] + Idr[79] + Idr[80] - go[80] * *cnV[80];
- m_A41 = gt[84] + gt[85] + gt[86];
- m_A43 = m_A43 + go[84];
- m_A42 = m_A42 + go[85];
- double RHS14 = Idr[84] + Idr[85] + Idr[86] - go[86] * *cnV[86];
- m_A44 = gt[90] + gt[91] + gt[92];
- m_A46 = m_A46 + go[90];
- m_A45 = m_A45 + go[91];
- double RHS15 = Idr[90] + Idr[91] + Idr[92] - go[92] * *cnV[92];
- m_A49 = gt[96] + gt[97];
- m_A47 = m_A47 + go[96];
- m_A48 = m_A48 + go[97];
- double RHS16 = Idr[96] + Idr[97];
- m_A53 = gt[102] + gt[103];
- m_A51 = m_A51 + go[102];
- m_A52 = m_A52 + go[103];
- double RHS17 = Idr[102] + Idr[103];
- m_A56 = gt[108] + gt[109] + gt[110];
- m_A55 = m_A55 + go[108];
- m_A57 = m_A57 + go[109];
- double RHS18 = Idr[108] + Idr[109] + Idr[110] - go[110] * *cnV[110];
- m_A59 = gt[114] + gt[115];
- m_A58 = m_A58 + go[114];
- m_A60 = m_A60 + go[115];
- double RHS19 = Idr[114] + Idr[115];
- m_A62 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A64 = m_A64 + go[120];
- m_A63 = m_A63 + go[121];
- m_A61 = m_A61 + go[122];
- double RHS20 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[123] * *cnV[123];
- m_A67 = gt[126] + gt[127] + gt[128] + gt[129];
- m_A66 = m_A66 + go[126];
- m_A65 = m_A65 + go[127];
- m_A68 = m_A68 + go[128];
- double RHS21 = Idr[126] + Idr[127] + Idr[128] + Idr[129] - go[129] * *cnV[129];
- m_A70 = gt[132] + gt[133] + gt[134] + gt[135];
- m_A72 = m_A72 + go[132];
- m_A71 = m_A71 + go[133];
- m_A69 = m_A69 + go[134];
- double RHS22 = Idr[132] + Idr[133] + Idr[134] + Idr[135] - go[135] * *cnV[135];
- m_A77 = gt[138] + gt[139] + gt[140] + gt[141] + gt[142] + gt[143];
- m_A78 = m_A78 + go[138];
- m_A73 = m_A73 + go[139];
- m_A74 = m_A74 + go[140];
- m_A76 = m_A76 + go[141];
- double RHS23 = Idr[138] + Idr[139] + Idr[140] + Idr[141] + Idr[142] + Idr[143] - go[142] * *cnV[142] - go[143] * *cnV[143];
- m_A83 = gt[144] + gt[145] + gt[146] + gt[147] + gt[148] + gt[149];
- m_A84 = m_A84 + go[144];
- m_A79 = m_A79 + go[145];
- m_A80 = m_A80 + go[146];
- m_A82 = m_A82 + go[147];
- double RHS24 = Idr[144] + Idr[145] + Idr[146] + Idr[147] + Idr[148] + Idr[149] - go[148] * *cnV[148] - go[149] * *cnV[149];
- m_A89 = gt[150] + gt[151] + gt[152] + gt[153];
- m_A85 = m_A85 + go[150];
- m_A86 = m_A86 + go[151];
- m_A88 = m_A88 + go[152];
- m_A87 = m_A87 + go[153];
- double RHS25 = Idr[150] + Idr[151] + Idr[152] + Idr[153];
- m_A100 = gt[156] + gt[157] + gt[158] + gt[159] + gt[160] + gt[161];
- m_A98 = m_A98 + go[156];
- m_A91 = m_A91 + go[157];
- m_A92 = m_A92 + go[158];
- m_A93 = m_A93 + go[159];
- double RHS26 = Idr[156] + Idr[157] + Idr[158] + Idr[159] + Idr[160] + Idr[161] - go[160] * *cnV[160] - go[161] * *cnV[161];
- m_A107 = gt[162] + gt[163] + gt[164] + gt[165];
- m_A102 = m_A102 + go[162];
- m_A103 = m_A103 + go[163];
- m_A105 = m_A105 + go[164];
- m_A104 = m_A104 + go[165];
- double RHS27 = Idr[162] + Idr[163] + Idr[164] + Idr[165];
-const double f0 = 1.0 / m_A0;
- const double f0_18 = -f0 * m_A55;
- m_A56 += m_A1 * f0_18;
- RHS18 += f0_18 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_16 = -f1 * m_A47;
- m_A49 += m_A3 * f1_16;
- RHS16 += f1_16 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_17 = -f2 * m_A51;
- m_A53 += m_A5 * f2_17;
- RHS17 += f2_17 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_22 = -f3 * m_A69;
- m_A70 += m_A7 * f3_22;
- RHS22 += f3_22 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_20 = -f4 * m_A61;
- m_A62 += m_A9 * f4_20;
- RHS20 += f4_20 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_21 = -f5 * m_A65;
- m_A67 += m_A11 * f5_21;
- m_A68 += m_A12 * f5_21;
- RHS21 += f5_21 * RHS5;
- const double f5_26 = -f5 * m_A91;
- m_A98 += m_A11 * f5_26;
- m_A100 += m_A12 * f5_26;
- RHS26 += f5_26 * RHS5;
-const double f6 = 1.0 / m_A13;
- const double f6_8 = -f6 * m_A19;
- m_A20 += m_A14 * f6_8;
- m_A22 += m_A15 * f6_8;
+ const double f6 = 1.0 / m_A12;
+ const double f6_8 = -f6 * m_A24;
+ m_A25 += m_A13 * f6_8;
+ m_A26 += m_A14 * f6_8;
+ m_A27 += m_A15 * f6_8;
+ m_A28 += m_A16 * f6_8;
+ m_A29 += m_A17 * f6_8;
+ m_A30 += m_A18 * f6_8;
+ m_A31 += m_A19 * f6_8;
RHS8 += f6_8 * RHS6;
- const double f6_26 = -f6 * m_A92;
- m_A94 += m_A14 * f6_26;
- m_A100 += m_A15 * f6_26;
- RHS26 += f6_26 * RHS6;
-const double f7 = 1.0 / m_A16;
- const double f7_9 = -f7 * m_A23;
- m_A24 += m_A17 * f7_9;
- m_A26 += m_A18 * f7_9;
- RHS9 += f7_9 * RHS7;
- const double f7_26 = -f7 * m_A93;
- m_A95 += m_A17 * f7_26;
- m_A100 += m_A18 * f7_26;
- RHS26 += f7_26 * RHS7;
-const double f8 = 1.0 / m_A20;
- const double f8_10 = -f8 * m_A27;
- m_A28 += m_A21 * f8_10;
- m_A29 += m_A22 * f8_10;
+ const double f6_9 = -f6 * m_A33;
+ m_A34 += m_A13 * f6_9;
+ m_A35 += m_A14 * f6_9;
+ m_A36 += m_A15 * f6_9;
+ m_A37 += m_A16 * f6_9;
+ m_A38 += m_A17 * f6_9;
+ m_A39 += m_A18 * f6_9;
+ m_A40 += m_A19 * f6_9;
+ RHS9 += f6_9 * RHS6;
+ const double f6_10 = -f6 * m_A42;
+ m_A43 += m_A13 * f6_10;
+ m_A44 += m_A14 * f6_10;
+ m_A45 += m_A15 * f6_10;
+ m_A46 += m_A16 * f6_10;
+ m_A47 += m_A17 * f6_10;
+ m_A48 += m_A18 * f6_10;
+ m_A49 += m_A19 * f6_10;
+ RHS10 += f6_10 * RHS6;
+ const double f6_11 = -f6 * m_A51;
+ m_A52 += m_A13 * f6_11;
+ m_A53 += m_A14 * f6_11;
+ m_A54 += m_A15 * f6_11;
+ m_A55 += m_A16 * f6_11;
+ m_A56 += m_A17 * f6_11;
+ m_A57 += m_A18 * f6_11;
+ m_A58 += m_A19 * f6_11;
+ RHS11 += f6_11 * RHS6;
+ const double f6_12 = -f6 * m_A60;
+ m_A61 += m_A13 * f6_12;
+ m_A62 += m_A14 * f6_12;
+ m_A63 += m_A15 * f6_12;
+ m_A64 += m_A16 * f6_12;
+ m_A65 += m_A17 * f6_12;
+ m_A66 += m_A18 * f6_12;
+ m_A67 += m_A19 * f6_12;
+ RHS12 += f6_12 * RHS6;
+ const double f6_13 = -f6 * m_A69;
+ m_A70 += m_A13 * f6_13;
+ m_A71 += m_A14 * f6_13;
+ m_A72 += m_A15 * f6_13;
+ m_A73 += m_A16 * f6_13;
+ m_A74 += m_A17 * f6_13;
+ m_A75 += m_A18 * f6_13;
+ m_A76 += m_A19 * f6_13;
+ RHS13 += f6_13 * RHS6;
+ const double f6_14 = -f6 * m_A77;
+ m_A79 += m_A13 * f6_14;
+ m_A80 += m_A14 * f6_14;
+ m_A81 += m_A15 * f6_14;
+ m_A82 += m_A16 * f6_14;
+ m_A83 += m_A17 * f6_14;
+ m_A84 += m_A18 * f6_14;
+ m_A85 += m_A19 * f6_14;
+ RHS14 += f6_14 * RHS6;
+ const double f7 = 1.0 / m_A20;
+ const double f7_14 = -f7 * m_A78;
+ m_A85 += m_A21 * f7_14;
+ m_A86 += m_A22 * f7_14;
+ RHS14 += f7_14 * RHS7;
+ const double f7_15 = -f7 * m_A87;
+ m_A88 += m_A21 * f7_15;
+ m_A89 += m_A22 * f7_15;
+ RHS15 += f7_15 * RHS7;
+ const double f8 = 1.0 / m_A25;
+ const double f8_9 = -f8 * m_A34;
+ m_A35 += m_A26 * f8_9;
+ m_A36 += m_A27 * f8_9;
+ m_A37 += m_A28 * f8_9;
+ m_A38 += m_A29 * f8_9;
+ m_A39 += m_A30 * f8_9;
+ m_A40 += m_A31 * f8_9;
+ RHS9 += f8_9 * RHS8;
+ const double f8_10 = -f8 * m_A43;
+ m_A44 += m_A26 * f8_10;
+ m_A45 += m_A27 * f8_10;
+ m_A46 += m_A28 * f8_10;
+ m_A47 += m_A29 * f8_10;
+ m_A48 += m_A30 * f8_10;
+ m_A49 += m_A31 * f8_10;
RHS10 += f8_10 * RHS8;
- const double f8_26 = -f8 * m_A94;
- m_A96 += m_A21 * f8_26;
- m_A100 += m_A22 * f8_26;
- RHS26 += f8_26 * RHS8;
-const double f9 = 1.0 / m_A24;
- const double f9_11 = -f9 * m_A31;
- m_A32 += m_A25 * f9_11;
- m_A34 += m_A26 * f9_11;
+ const double f8_11 = -f8 * m_A52;
+ m_A53 += m_A26 * f8_11;
+ m_A54 += m_A27 * f8_11;
+ m_A55 += m_A28 * f8_11;
+ m_A56 += m_A29 * f8_11;
+ m_A57 += m_A30 * f8_11;
+ m_A58 += m_A31 * f8_11;
+ RHS11 += f8_11 * RHS8;
+ const double f8_12 = -f8 * m_A61;
+ m_A62 += m_A26 * f8_12;
+ m_A63 += m_A27 * f8_12;
+ m_A64 += m_A28 * f8_12;
+ m_A65 += m_A29 * f8_12;
+ m_A66 += m_A30 * f8_12;
+ m_A67 += m_A31 * f8_12;
+ RHS12 += f8_12 * RHS8;
+ const double f8_13 = -f8 * m_A70;
+ m_A71 += m_A26 * f8_13;
+ m_A72 += m_A27 * f8_13;
+ m_A73 += m_A28 * f8_13;
+ m_A74 += m_A29 * f8_13;
+ m_A75 += m_A30 * f8_13;
+ m_A76 += m_A31 * f8_13;
+ RHS13 += f8_13 * RHS8;
+ const double f8_14 = -f8 * m_A79;
+ m_A80 += m_A26 * f8_14;
+ m_A81 += m_A27 * f8_14;
+ m_A82 += m_A28 * f8_14;
+ m_A83 += m_A29 * f8_14;
+ m_A84 += m_A30 * f8_14;
+ m_A85 += m_A31 * f8_14;
+ RHS14 += f8_14 * RHS8;
+ const double f9 = 1.0 / m_A35;
+ const double f9_10 = -f9 * m_A44;
+ m_A45 += m_A36 * f9_10;
+ m_A46 += m_A37 * f9_10;
+ m_A47 += m_A38 * f9_10;
+ m_A48 += m_A39 * f9_10;
+ m_A49 += m_A40 * f9_10;
+ RHS10 += f9_10 * RHS9;
+ const double f9_11 = -f9 * m_A53;
+ m_A54 += m_A36 * f9_11;
+ m_A55 += m_A37 * f9_11;
+ m_A56 += m_A38 * f9_11;
+ m_A57 += m_A39 * f9_11;
+ m_A58 += m_A40 * f9_11;
RHS11 += f9_11 * RHS9;
- const double f9_26 = -f9 * m_A95;
- m_A97 += m_A25 * f9_26;
- m_A100 += m_A26 * f9_26;
- RHS26 += f9_26 * RHS9;
-const double f10 = 1.0 / m_A28;
- const double f10_26 = -f10 * m_A96;
- m_A100 += m_A29 * f10_26;
- m_A101 += m_A30 * f10_26;
- RHS26 += f10_26 * RHS10;
- const double f10_27 = -f10 * m_A102;
- m_A106 += m_A29 * f10_27;
- m_A107 += m_A30 * f10_27;
- RHS27 += f10_27 * RHS10;
-const double f11 = 1.0 / m_A32;
- const double f11_25 = -f11 * m_A85;
- m_A89 += m_A33 * f11_25;
- m_A90 += m_A34 * f11_25;
- RHS25 += f11_25 * RHS11;
- const double f11_26 = -f11 * m_A97;
- m_A99 += m_A33 * f11_26;
- m_A100 += m_A34 * f11_26;
- RHS26 += f11_26 * RHS11;
-const double f12 = 1.0 / m_A35;
- const double f12_23 = -f12 * m_A73;
- m_A77 += m_A36 * f12_23;
- m_A78 += m_A37 * f12_23;
- RHS23 += f12_23 * RHS12;
- const double f12_27 = -f12 * m_A103;
- m_A105 += m_A36 * f12_27;
- m_A107 += m_A37 * f12_27;
- RHS27 += f12_27 * RHS12;
-const double f13 = 1.0 / m_A38;
- const double f13_24 = -f13 * m_A79;
- m_A83 += m_A39 * f13_24;
- m_A84 += m_A40 * f13_24;
- RHS24 += f13_24 * RHS13;
- const double f13_25 = -f13 * m_A86;
- m_A88 += m_A39 * f13_25;
- m_A89 += m_A40 * f13_25;
- RHS25 += f13_25 * RHS13;
-const double f14 = 1.0 / m_A41;
- const double f14_16 = -f14 * m_A48;
- m_A49 += m_A42 * f14_16;
- m_A50 += m_A43 * f14_16;
- RHS16 += f14_16 * RHS14;
- const double f14_23 = -f14 * m_A74;
- m_A75 += m_A42 * f14_23;
- m_A77 += m_A43 * f14_23;
- RHS23 += f14_23 * RHS14;
-const double f15 = 1.0 / m_A44;
- const double f15_17 = -f15 * m_A52;
- m_A53 += m_A45 * f15_17;
- m_A54 += m_A46 * f15_17;
- RHS17 += f15_17 * RHS15;
- const double f15_24 = -f15 * m_A80;
- m_A81 += m_A45 * f15_24;
- m_A83 += m_A46 * f15_24;
- RHS24 += f15_24 * RHS15;
-const double f16 = 1.0 / m_A49;
- const double f16_23 = -f16 * m_A75;
- m_A77 += m_A50 * f16_23;
- RHS23 += f16_23 * RHS16;
-const double f17 = 1.0 / m_A53;
- const double f17_24 = -f17 * m_A81;
- m_A83 += m_A54 * f17_24;
- RHS24 += f17_24 * RHS17;
-const double f18 = 1.0 / m_A56;
- const double f18_19 = -f18 * m_A58;
- m_A59 += m_A57 * f18_19;
- RHS19 += f18_19 * RHS18;
-const double f19 = 1.0 / m_A59;
- const double f19_21 = -f19 * m_A66;
- m_A67 += m_A60 * f19_21;
- RHS21 += f19_21 * RHS19;
-const double f20 = 1.0 / m_A62;
- const double f20_24 = -f20 * m_A82;
- m_A83 += m_A63 * f20_24;
- m_A84 += m_A64 * f20_24;
- RHS24 += f20_24 * RHS20;
- const double f20_25 = -f20 * m_A87;
- m_A88 += m_A63 * f20_25;
- m_A89 += m_A64 * f20_25;
- RHS25 += f20_25 * RHS20;
-const double f21 = 1.0 / m_A67;
- const double f21_26 = -f21 * m_A98;
- m_A100 += m_A68 * f21_26;
- RHS26 += f21_26 * RHS21;
-const double f22 = 1.0 / m_A70;
- const double f22_23 = -f22 * m_A76;
- m_A77 += m_A71 * f22_23;
- m_A78 += m_A72 * f22_23;
- RHS23 += f22_23 * RHS22;
- const double f22_27 = -f22 * m_A104;
- m_A105 += m_A71 * f22_27;
- m_A107 += m_A72 * f22_27;
- RHS27 += f22_27 * RHS22;
-const double f23 = 1.0 / m_A77;
- const double f23_27 = -f23 * m_A105;
- m_A107 += m_A78 * f23_27;
- RHS27 += f23_27 * RHS23;
-const double f24 = 1.0 / m_A83;
- const double f24_25 = -f24 * m_A88;
- m_A89 += m_A84 * f24_25;
- RHS25 += f24_25 * RHS24;
-const double f25 = 1.0 / m_A89;
- const double f25_26 = -f25 * m_A99;
- m_A100 += m_A90 * f25_26;
- RHS26 += f25_26 * RHS25;
-const double f26 = 1.0 / m_A100;
- const double f26_27 = -f26 * m_A106;
- m_A107 += m_A101 * f26_27;
- RHS27 += f26_27 * RHS26;
- V[27] = RHS27 / m_A107;
- double tmp26 = 0.0;
- tmp26 += m_A101 * V[27];
- V[26] = (RHS26 - tmp26) / m_A100;
- double tmp25 = 0.0;
- tmp25 += m_A90 * V[26];
- V[25] = (RHS25 - tmp25) / m_A89;
- double tmp24 = 0.0;
- tmp24 += m_A84 * V[25];
- V[24] = (RHS24 - tmp24) / m_A83;
- double tmp23 = 0.0;
- tmp23 += m_A78 * V[27];
- V[23] = (RHS23 - tmp23) / m_A77;
- double tmp22 = 0.0;
- tmp22 += m_A71 * V[23];
- tmp22 += m_A72 * V[27];
- V[22] = (RHS22 - tmp22) / m_A70;
- double tmp21 = 0.0;
- tmp21 += m_A68 * V[26];
- V[21] = (RHS21 - tmp21) / m_A67;
- double tmp20 = 0.0;
- tmp20 += m_A63 * V[24];
- tmp20 += m_A64 * V[25];
- V[20] = (RHS20 - tmp20) / m_A62;
- double tmp19 = 0.0;
- tmp19 += m_A60 * V[21];
- V[19] = (RHS19 - tmp19) / m_A59;
- double tmp18 = 0.0;
- tmp18 += m_A57 * V[19];
- V[18] = (RHS18 - tmp18) / m_A56;
- double tmp17 = 0.0;
- tmp17 += m_A54 * V[24];
- V[17] = (RHS17 - tmp17) / m_A53;
- double tmp16 = 0.0;
- tmp16 += m_A50 * V[23];
- V[16] = (RHS16 - tmp16) / m_A49;
- double tmp15 = 0.0;
- tmp15 += m_A45 * V[17];
- tmp15 += m_A46 * V[24];
- V[15] = (RHS15 - tmp15) / m_A44;
- double tmp14 = 0.0;
- tmp14 += m_A42 * V[16];
- tmp14 += m_A43 * V[23];
- V[14] = (RHS14 - tmp14) / m_A41;
- double tmp13 = 0.0;
- tmp13 += m_A39 * V[24];
- tmp13 += m_A40 * V[25];
- V[13] = (RHS13 - tmp13) / m_A38;
- double tmp12 = 0.0;
- tmp12 += m_A36 * V[23];
- tmp12 += m_A37 * V[27];
- V[12] = (RHS12 - tmp12) / m_A35;
- double tmp11 = 0.0;
- tmp11 += m_A33 * V[25];
- tmp11 += m_A34 * V[26];
- V[11] = (RHS11 - tmp11) / m_A32;
- double tmp10 = 0.0;
- tmp10 += m_A29 * V[26];
- tmp10 += m_A30 * V[27];
- V[10] = (RHS10 - tmp10) / m_A28;
- double tmp9 = 0.0;
- tmp9 += m_A25 * V[11];
- tmp9 += m_A26 * V[26];
- V[9] = (RHS9 - tmp9) / m_A24;
- double tmp8 = 0.0;
- tmp8 += m_A21 * V[10];
- tmp8 += m_A22 * V[26];
- V[8] = (RHS8 - tmp8) / m_A20;
- double tmp7 = 0.0;
- tmp7 += m_A17 * V[9];
- tmp7 += m_A18 * V[26];
- V[7] = (RHS7 - tmp7) / m_A16;
- double tmp6 = 0.0;
- tmp6 += m_A14 * V[8];
- tmp6 += m_A15 * V[26];
- V[6] = (RHS6 - tmp6) / m_A13;
- double tmp5 = 0.0;
- tmp5 += m_A11 * V[21];
- tmp5 += m_A12 * V[26];
- V[5] = (RHS5 - tmp5) / m_A10;
- double tmp4 = 0.0;
- tmp4 += m_A9 * V[20];
- V[4] = (RHS4 - tmp4) / m_A8;
- double tmp3 = 0.0;
- tmp3 += m_A7 * V[22];
- V[3] = (RHS3 - tmp3) / m_A6;
- double tmp2 = 0.0;
- tmp2 += m_A5 * V[17];
- V[2] = (RHS2 - tmp2) / m_A4;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[16];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[18];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// konami1x
-static void nl_gcr_7f2f6447ea71d31e_49_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A8 = gt[32] + gt[33];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33];
- m_A10 = gt[40] + gt[41];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A12 = gt[48] + gt[49];
- m_A13 = m_A13 + go[48];
- double RHS6 = Idr[48] + Idr[49] - go[49] * *cnV[49];
- m_A14 = gt[56] + gt[57];
- m_A15 = m_A15 + go[56];
- double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57];
- m_A16 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69] + gt[70];
- m_A17 = m_A17 + go[64];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69] + Idr[70] - go[65] * *cnV[65] - go[66] * *cnV[66] - go[67] * *cnV[67] - go[68] * *cnV[68] - go[69] * *cnV[69] - go[70] * *cnV[70];
- m_A18 = gt[72] + gt[73];
- m_A19 = m_A19 + go[72];
- double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73];
- m_A20 = gt[80] + gt[81];
- m_A21 = m_A21 + go[80];
- double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81];
- m_A25 = gt[88] + gt[89] + gt[90] + gt[91];
- m_A26 = m_A26 + go[88];
- m_A24 = m_A24 + go[89];
- m_A23 = m_A23 + go[90];
- m_A22 = m_A22 + go[91];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91];
- m_A30 = gt[96] + gt[97] + gt[98] + gt[99];
- m_A31 = m_A31 + go[96];
- m_A29 = m_A29 + go[97];
- m_A28 = m_A28 + go[98];
- m_A27 = m_A27 + go[99];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99];
- m_A35 = gt[104] + gt[105] + gt[106] + gt[107];
- m_A36 = m_A36 + go[104];
- m_A34 = m_A34 + go[105];
- m_A33 = m_A33 + go[106];
- m_A32 = m_A32 + go[107];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107];
- m_A38 = gt[112] + gt[113] + gt[114];
- m_A37 = m_A37 + go[112];
- m_A39 = m_A39 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114];
- m_A43 = gt[120] + gt[121] + gt[122] + gt[123] + gt[124];
- m_A44 = m_A44 + go[120];
- m_A42 = m_A42 + go[121];
- m_A41 = m_A41 + go[122];
- m_A40 = m_A40 + go[123];
- double RHS15 = Idr[120] + Idr[121] + Idr[122] + Idr[123] + Idr[124] - go[124] * *cnV[124];
- m_A48 = gt[128] + gt[129] + gt[130] + gt[131] + gt[132];
- m_A45 = m_A45 + go[128];
- m_A46 = m_A46 + go[129];
- m_A47 = m_A47 + go[130];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] + Idr[132] - go[131] * *cnV[131] - go[132] * *cnV[132];
-const double f0 = 1.0 / m_A0;
- const double f0_11 = -f0 * m_A22;
- m_A25 += m_A1 * f0_11;
- RHS11 += f0_11 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_11 = -f1 * m_A23;
- m_A25 += m_A3 * f1_11;
- RHS11 += f1_11 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_11 = -f2 * m_A24;
- m_A25 += m_A5 * f2_11;
- RHS11 += f2_11 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_12 = -f3 * m_A27;
- m_A30 += m_A7 * f3_12;
- RHS12 += f3_12 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_12 = -f4 * m_A28;
- m_A30 += m_A9 * f4_12;
- RHS12 += f4_12 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_12 = -f5 * m_A29;
- m_A30 += m_A11 * f5_12;
- RHS12 += f5_12 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_13 = -f6 * m_A32;
- m_A35 += m_A13 * f6_13;
- RHS13 += f6_13 * RHS6;
-const double f7 = 1.0 / m_A14;
- const double f7_13 = -f7 * m_A33;
- m_A35 += m_A15 * f7_13;
- RHS13 += f7_13 * RHS7;
-const double f8 = 1.0 / m_A16;
- const double f8_16 = -f8 * m_A45;
- m_A47 += m_A17 * f8_16;
- RHS16 += f8_16 * RHS8;
-const double f9 = 1.0 / m_A18;
- const double f9_13 = -f9 * m_A34;
- m_A35 += m_A19 * f9_13;
+ const double f9_12 = -f9 * m_A62;
+ m_A63 += m_A36 * f9_12;
+ m_A64 += m_A37 * f9_12;
+ m_A65 += m_A38 * f9_12;
+ m_A66 += m_A39 * f9_12;
+ m_A67 += m_A40 * f9_12;
+ RHS12 += f9_12 * RHS9;
+ const double f9_13 = -f9 * m_A71;
+ m_A72 += m_A36 * f9_13;
+ m_A73 += m_A37 * f9_13;
+ m_A74 += m_A38 * f9_13;
+ m_A75 += m_A39 * f9_13;
+ m_A76 += m_A40 * f9_13;
RHS13 += f9_13 * RHS9;
-const double f10 = 1.0 / m_A20;
- const double f10_14 = -f10 * m_A37;
- m_A38 += m_A21 * f10_14;
+ const double f9_14 = -f9 * m_A80;
+ m_A81 += m_A36 * f9_14;
+ m_A82 += m_A37 * f9_14;
+ m_A83 += m_A38 * f9_14;
+ m_A84 += m_A39 * f9_14;
+ m_A85 += m_A40 * f9_14;
+ RHS14 += f9_14 * RHS9;
+ const double f10 = 1.0 / m_A45;
+ const double f10_11 = -f10 * m_A54;
+ m_A55 += m_A46 * f10_11;
+ m_A56 += m_A47 * f10_11;
+ m_A57 += m_A48 * f10_11;
+ m_A58 += m_A49 * f10_11;
+ RHS11 += f10_11 * RHS10;
+ const double f10_12 = -f10 * m_A63;
+ m_A64 += m_A46 * f10_12;
+ m_A65 += m_A47 * f10_12;
+ m_A66 += m_A48 * f10_12;
+ m_A67 += m_A49 * f10_12;
+ RHS12 += f10_12 * RHS10;
+ const double f10_13 = -f10 * m_A72;
+ m_A73 += m_A46 * f10_13;
+ m_A74 += m_A47 * f10_13;
+ m_A75 += m_A48 * f10_13;
+ m_A76 += m_A49 * f10_13;
+ RHS13 += f10_13 * RHS10;
+ const double f10_14 = -f10 * m_A81;
+ m_A82 += m_A46 * f10_14;
+ m_A83 += m_A47 * f10_14;
+ m_A84 += m_A48 * f10_14;
+ m_A85 += m_A49 * f10_14;
RHS14 += f10_14 * RHS10;
-const double f11 = 1.0 / m_A25;
- const double f11_15 = -f11 * m_A40;
- m_A43 += m_A26 * f11_15;
- RHS15 += f11_15 * RHS11;
-const double f12 = 1.0 / m_A30;
- const double f12_15 = -f12 * m_A41;
- m_A43 += m_A31 * f12_15;
- RHS15 += f12_15 * RHS12;
-const double f13 = 1.0 / m_A35;
- const double f13_15 = -f13 * m_A42;
- m_A43 += m_A36 * f13_15;
- RHS15 += f13_15 * RHS13;
-const double f14 = 1.0 / m_A38;
- const double f14_16 = -f14 * m_A46;
- m_A48 += m_A39 * f14_16;
- RHS16 += f14_16 * RHS14;
-const double f15 = 1.0 / m_A43;
- const double f15_16 = -f15 * m_A47;
- m_A48 += m_A44 * f15_16;
- RHS16 += f15_16 * RHS15;
- V[16] = RHS16 / m_A48;
- double tmp15 = 0.0;
- tmp15 += m_A44 * V[16];
- V[15] = (RHS15 - tmp15) / m_A43;
+ const double f11 = 1.0 / m_A55;
+ const double f11_12 = -f11 * m_A64;
+ m_A65 += m_A56 * f11_12;
+ m_A66 += m_A57 * f11_12;
+ m_A67 += m_A58 * f11_12;
+ RHS12 += f11_12 * RHS11;
+ const double f11_13 = -f11 * m_A73;
+ m_A74 += m_A56 * f11_13;
+ m_A75 += m_A57 * f11_13;
+ m_A76 += m_A58 * f11_13;
+ RHS13 += f11_13 * RHS11;
+ const double f11_14 = -f11 * m_A82;
+ m_A83 += m_A56 * f11_14;
+ m_A84 += m_A57 * f11_14;
+ m_A85 += m_A58 * f11_14;
+ RHS14 += f11_14 * RHS11;
+ const double f12 = 1.0 / m_A65;
+ const double f12_13 = -f12 * m_A74;
+ m_A75 += m_A66 * f12_13;
+ m_A76 += m_A67 * f12_13;
+ RHS13 += f12_13 * RHS12;
+ const double f12_14 = -f12 * m_A83;
+ m_A84 += m_A66 * f12_14;
+ m_A85 += m_A67 * f12_14;
+ RHS14 += f12_14 * RHS12;
+ const double f13 = 1.0 / m_A75;
+ const double f13_14 = -f13 * m_A84;
+ m_A85 += m_A76 * f13_14;
+ RHS14 += f13_14 * RHS13;
+ const double f14 = 1.0 / m_A85;
+ const double f14_15 = -f14 * m_A88;
+ m_A89 += m_A86 * f14_15;
+ RHS15 += f14_15 * RHS14;
+ V[15] = RHS15 / m_A89;
double tmp14 = 0.0;
- tmp14 += m_A39 * V[16];
- V[14] = (RHS14 - tmp14) / m_A38;
+ tmp14 += m_A86 * V[15];
+ V[14] = (RHS14 - tmp14) / m_A85;
double tmp13 = 0.0;
- tmp13 += m_A36 * V[15];
- V[13] = (RHS13 - tmp13) / m_A35;
+ tmp13 += m_A76 * V[14];
+ V[13] = (RHS13 - tmp13) / m_A75;
double tmp12 = 0.0;
- tmp12 += m_A31 * V[15];
- V[12] = (RHS12 - tmp12) / m_A30;
+ tmp12 += m_A66 * V[13];
+ tmp12 += m_A67 * V[14];
+ V[12] = (RHS12 - tmp12) / m_A65;
double tmp11 = 0.0;
- tmp11 += m_A26 * V[15];
- V[11] = (RHS11 - tmp11) / m_A25;
+ tmp11 += m_A56 * V[12];
+ tmp11 += m_A57 * V[13];
+ tmp11 += m_A58 * V[14];
+ V[11] = (RHS11 - tmp11) / m_A55;
double tmp10 = 0.0;
- tmp10 += m_A21 * V[14];
- V[10] = (RHS10 - tmp10) / m_A20;
+ tmp10 += m_A46 * V[11];
+ tmp10 += m_A47 * V[12];
+ tmp10 += m_A48 * V[13];
+ tmp10 += m_A49 * V[14];
+ V[10] = (RHS10 - tmp10) / m_A45;
double tmp9 = 0.0;
- tmp9 += m_A19 * V[13];
- V[9] = (RHS9 - tmp9) / m_A18;
+ tmp9 += m_A36 * V[10];
+ tmp9 += m_A37 * V[11];
+ tmp9 += m_A38 * V[12];
+ tmp9 += m_A39 * V[13];
+ tmp9 += m_A40 * V[14];
+ V[9] = (RHS9 - tmp9) / m_A35;
double tmp8 = 0.0;
- tmp8 += m_A17 * V[15];
- V[8] = (RHS8 - tmp8) / m_A16;
+ tmp8 += m_A26 * V[9];
+ tmp8 += m_A27 * V[10];
+ tmp8 += m_A28 * V[11];
+ tmp8 += m_A29 * V[12];
+ tmp8 += m_A30 * V[13];
+ tmp8 += m_A31 * V[14];
+ V[8] = (RHS8 - tmp8) / m_A25;
double tmp7 = 0.0;
- tmp7 += m_A15 * V[13];
- V[7] = (RHS7 - tmp7) / m_A14;
+ tmp7 += m_A21 * V[14];
+ tmp7 += m_A22 * V[15];
+ V[7] = (RHS7 - tmp7) / m_A20;
double tmp6 = 0.0;
- tmp6 += m_A13 * V[13];
+ tmp6 += m_A13 * V[8];
+ tmp6 += m_A14 * V[9];
+ tmp6 += m_A15 * V[10];
+ tmp6 += m_A16 * V[11];
+ tmp6 += m_A17 * V[12];
+ tmp6 += m_A18 * V[13];
+ tmp6 += m_A19 * V[14];
V[6] = (RHS6 - tmp6) / m_A12;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[12];
+ tmp5 += m_A11 * V[8];
V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[12];
+ tmp4 += m_A9 * V[10];
V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
tmp3 += m_A7 * V[12];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[11];
+ tmp2 += m_A5 * V[13];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
tmp1 += m_A3 * V[11];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[11];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// dpatrol
-static void nl_gcr_81bfac76b696d9f3_22_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[6] + gt[7] + gt[8] + gt[9];
- m_A4 = m_A4 + go[6];
- m_A3 = m_A3 + go[7];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[6] + Idr[7] + Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A5 = gt[12] + gt[13] + gt[14] + gt[15];
- m_A7 = m_A7 + go[12];
- m_A6 = m_A6 + go[13];
- m_A6 = m_A6 + go[14];
- double RHS2 = Idr[12] + Idr[13] + Idr[14] + Idr[15] - go[15] * *cnV[15];
- m_A10 = gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A12 = m_A12 + go[18];
- m_A9 = m_A9 + go[19];
- m_A9 = m_A9 + go[20];
- m_A8 = m_A8 + go[21];
- m_A8 = m_A8 + go[22];
- double RHS3 = Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22];
- m_A16 = gt[24] + gt[25] + gt[26];
- m_A17 = m_A17 + go[24];
- m_A14 = m_A14 + go[25];
- m_A13 = m_A13 + go[26];
- double RHS4 = Idr[24] + Idr[25] + Idr[26];
- m_A21 = gt[30] + gt[31] + gt[32];
- m_A20 = m_A20 + go[30];
- m_A19 = m_A19 + go[31];
- m_A18 = m_A18 + go[32];
- double RHS5 = Idr[30] + Idr[31] + Idr[32];
-const double f0 = 1.0 / m_A0;
- const double f0_5 = -f0 * m_A18;
- m_A21 += m_A1 * f0_5;
- RHS5 += f0_5 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_3 = -f1 * m_A8;
- m_A10 += m_A3 * f1_3;
- m_A11 += m_A4 * f1_3;
- RHS3 += f1_3 * RHS1;
- const double f1_4 = -f1 * m_A13;
- m_A15 += m_A3 * f1_4;
- m_A16 += m_A4 * f1_4;
- RHS4 += f1_4 * RHS1;
-const double f2 = 1.0 / m_A5;
- const double f2_3 = -f2 * m_A9;
- m_A10 += m_A6 * f2_3;
- m_A11 += m_A7 * f2_3;
- RHS3 += f2_3 * RHS2;
- const double f2_4 = -f2 * m_A14;
- m_A15 += m_A6 * f2_4;
- m_A16 += m_A7 * f2_4;
- RHS4 += f2_4 * RHS2;
-const double f3 = 1.0 / m_A10;
- const double f3_4 = -f3 * m_A15;
- m_A16 += m_A11 * f3_4;
- m_A17 += m_A12 * f3_4;
- RHS4 += f3_4 * RHS3;
- const double f3_5 = -f3 * m_A19;
- m_A20 += m_A11 * f3_5;
- m_A21 += m_A12 * f3_5;
- RHS5 += f3_5 * RHS3;
-const double f4 = 1.0 / m_A16;
- const double f4_5 = -f4 * m_A20;
- m_A21 += m_A17 * f4_5;
- RHS5 += f4_5 * RHS4;
- V[5] = RHS5 / m_A21;
- double tmp4 = 0.0;
- tmp4 += m_A17 * V[5];
- V[4] = (RHS4 - tmp4) / m_A16;
- double tmp3 = 0.0;
- tmp3 += m_A11 * V[4];
- tmp3 += m_A12 * V[5];
- V[3] = (RHS3 - tmp3) / m_A10;
- double tmp2 = 0.0;
- tmp2 += m_A6 * V[3];
- tmp2 += m_A7 * V[4];
- V[2] = (RHS2 - tmp2) / m_A5;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[3];
- tmp1 += m_A4 * V[4];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[5];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// breakout
-static void nl_gcr_876240e48d904d1f_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5] + gt[6] + gt[7];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] + Idr[6] + Idr[7] - go[5] * *cnV[5] - go[6] * *cnV[6] - go[7] * *cnV[7];
- m_A6 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
- m_A6 += m_A1 * f0_2;
- RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A5;
- m_A6 += m_A3 * f1_2;
- RHS2 += f1_2 * RHS1;
- V[2] = RHS2 / m_A6;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[2];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
+ tmp0 += m_A1 * V[9];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// konami2x
-static void nl_gcr_8e55e5f9e065890e_85_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// segas16b_audio
+static void nl_gcr_b71f53c9e7a6b4a9_111_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A8 = gt[32] + gt[33];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33];
- m_A10 = gt[40] + gt[41];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A12 = gt[48] + gt[49];
- m_A13 = m_A13 + go[48];
- double RHS6 = Idr[48] + Idr[49] - go[49] * *cnV[49];
- m_A14 = gt[56] + gt[57];
- m_A15 = m_A15 + go[56];
- double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57];
- m_A16 = gt[64] + gt[65];
- m_A17 = m_A17 + go[64];
- double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65];
- m_A18 = gt[72] + gt[73];
- m_A19 = m_A19 + go[72];
- double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73];
- m_A20 = gt[80] + gt[81];
- m_A21 = m_A21 + go[80];
- double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81];
- m_A22 = gt[88] + gt[89];
- m_A23 = m_A23 + go[88];
- double RHS11 = Idr[88] + Idr[89] - go[89] * *cnV[89];
- m_A24 = gt[96] + gt[97];
- m_A25 = m_A25 + go[96];
- double RHS12 = Idr[96] + Idr[97] - go[97] * *cnV[97];
- m_A26 = gt[104] + gt[105] + gt[106] + gt[107] + gt[108] + gt[109] + gt[110];
- m_A27 = m_A27 + go[104];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] + Idr[107] + Idr[108] + Idr[109] + Idr[110] - go[105] * *cnV[105] - go[106] * *cnV[106] - go[107] * *cnV[107] - go[108] * *cnV[108] - go[109] * *cnV[109] - go[110] * *cnV[110];
- m_A28 = gt[112] + gt[113];
- m_A29 = m_A29 + go[112];
- double RHS14 = Idr[112] + Idr[113] - go[113] * *cnV[113];
- m_A30 = gt[120] + gt[121];
- m_A31 = m_A31 + go[120];
- double RHS15 = Idr[120] + Idr[121] - go[121] * *cnV[121];
- m_A35 = gt[128] + gt[129] + gt[130] + gt[131];
- m_A36 = m_A36 + go[128];
- m_A34 = m_A34 + go[129];
- m_A33 = m_A33 + go[130];
- m_A32 = m_A32 + go[131];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131];
- m_A37 = gt[136] + gt[137];
- m_A38 = m_A38 + go[136];
- double RHS17 = Idr[136] + Idr[137] - go[137] * *cnV[137];
- m_A39 = gt[144] + gt[145];
- m_A40 = m_A40 + go[144];
- double RHS18 = Idr[144] + Idr[145] - go[145] * *cnV[145];
- m_A41 = gt[152] + gt[153];
- m_A42 = m_A42 + go[152];
- double RHS19 = Idr[152] + Idr[153] - go[153] * *cnV[153];
- m_A43 = gt[160] + gt[161];
- m_A44 = m_A44 + go[160];
- double RHS20 = Idr[160] + Idr[161] - go[161] * *cnV[161];
- m_A46 = gt[168] + gt[169] + gt[170];
- m_A45 = m_A45 + go[168];
- m_A47 = m_A47 + go[169];
- double RHS21 = Idr[168] + Idr[169] + Idr[170] - go[170] * *cnV[170];
- m_A51 = gt[176] + gt[177] + gt[178] + gt[179];
- m_A52 = m_A52 + go[176];
- m_A50 = m_A50 + go[177];
- m_A49 = m_A49 + go[178];
- m_A48 = m_A48 + go[179];
- double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179];
- m_A56 = gt[184] + gt[185] + gt[186] + gt[187];
- m_A57 = m_A57 + go[184];
- m_A55 = m_A55 + go[185];
- m_A54 = m_A54 + go[186];
- m_A53 = m_A53 + go[187];
- double RHS23 = Idr[184] + Idr[185] + Idr[186] + Idr[187];
- m_A61 = gt[192] + gt[193] + gt[194] + gt[195];
- m_A62 = m_A62 + go[192];
- m_A60 = m_A60 + go[193];
- m_A59 = m_A59 + go[194];
- m_A58 = m_A58 + go[195];
- double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195];
- m_A66 = gt[200] + gt[201] + gt[202] + gt[203];
- m_A67 = m_A67 + go[200];
- m_A65 = m_A65 + go[201];
- m_A64 = m_A64 + go[202];
- m_A63 = m_A63 + go[203];
- double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203];
- m_A71 = gt[208] + gt[209] + gt[210] + gt[211];
- m_A72 = m_A72 + go[208];
- m_A70 = m_A70 + go[209];
- m_A69 = m_A69 + go[210];
- m_A68 = m_A68 + go[211];
- double RHS26 = Idr[208] + Idr[209] + Idr[210] + Idr[211];
- m_A75 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220];
- m_A73 = m_A73 + go[216];
- m_A74 = m_A74 + go[217];
- m_A76 = m_A76 + go[218];
- double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] - go[219] * *cnV[219] - go[220] * *cnV[220];
- m_A84 = gt[224] + gt[225] + gt[226] + gt[227] + gt[228] + gt[229] + gt[230] + gt[231];
- m_A83 = m_A83 + go[224];
- m_A80 = m_A80 + go[225];
- m_A82 = m_A82 + go[226];
- m_A81 = m_A81 + go[227];
- m_A79 = m_A79 + go[228];
- m_A78 = m_A78 + go[229];
- m_A77 = m_A77 + go[230];
- double RHS28 = Idr[224] + Idr[225] + Idr[226] + Idr[227] + Idr[228] + Idr[229] + Idr[230] + Idr[231] - go[231] * *cnV[231];
-const double f0 = 1.0 / m_A0;
- const double f0_16 = -f0 * m_A32;
- m_A35 += m_A1 * f0_16;
- RHS16 += f0_16 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_16 = -f1 * m_A33;
- m_A35 += m_A3 * f1_16;
- RHS16 += f1_16 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_16 = -f2 * m_A34;
- m_A35 += m_A5 * f2_16;
- RHS16 += f2_16 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_22 = -f3 * m_A48;
- m_A51 += m_A7 * f3_22;
- RHS22 += f3_22 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_22 = -f4 * m_A49;
- m_A51 += m_A9 * f4_22;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A8 += go[9];
+ m_A7 += go[10];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 -= go[11] * *cnV[11];
+ m_A9 += gt[12];
+ m_A9 += gt[13];
+ m_A9 += gt[14];
+ m_A12 += go[12];
+ m_A10 += go[13];
+ m_A11 += go[14];
+ double RHS4 = Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ m_A13 += gt[15];
+ m_A13 += gt[16];
+ m_A13 += gt[17];
+ m_A13 += gt[18];
+ m_A13 += gt[19];
+ m_A13 += gt[20];
+ m_A13 += gt[21];
+ m_A15 += go[15];
+ m_A14 += go[16];
+ double RHS5 = Idr[15];
+ RHS5 += Idr[16];
+ RHS5 += Idr[17];
+ RHS5 += Idr[18];
+ RHS5 += Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 -= go[17] * *cnV[17];
+ RHS5 -= go[18] * *cnV[18];
+ RHS5 -= go[19] * *cnV[19];
+ RHS5 -= go[20] * *cnV[20];
+ RHS5 -= go[21] * *cnV[21];
+ m_A16 += gt[22];
+ m_A16 += gt[23];
+ m_A17 += go[22];
+ m_A18 += go[23];
+ double RHS6 = Idr[22];
+ RHS6 += Idr[23];
+ m_A19 += gt[24];
+ m_A19 += gt[25];
+ m_A20 += go[24];
+ m_A21 += go[25];
+ double RHS7 = Idr[24];
+ RHS7 += Idr[25];
+ m_A22 += gt[26];
+ m_A22 += gt[27];
+ m_A23 += go[26];
+ m_A24 += go[27];
+ double RHS8 = Idr[26];
+ RHS8 += Idr[27];
+ m_A25 += gt[28];
+ m_A25 += gt[29];
+ m_A26 += go[28];
+ m_A27 += go[29];
+ double RHS9 = Idr[28];
+ RHS9 += Idr[29];
+ m_A28 += gt[30];
+ m_A28 += gt[31];
+ m_A29 += go[30];
+ double RHS10 = Idr[30];
+ RHS10 += Idr[31];
+ RHS10 -= go[31] * *cnV[31];
+ m_A30 += gt[32];
+ m_A30 += gt[33];
+ m_A30 += gt[34];
+ m_A30 += gt[35];
+ m_A31 += go[32];
+ double RHS11 = Idr[32];
+ RHS11 += Idr[33];
+ RHS11 += Idr[34];
+ RHS11 += Idr[35];
+ RHS11 -= go[33] * *cnV[33];
+ RHS11 -= go[34] * *cnV[34];
+ RHS11 -= go[35] * *cnV[35];
+ m_A34 += gt[36];
+ m_A34 += gt[37];
+ m_A34 += gt[38];
+ m_A33 += go[36];
+ m_A32 += go[37];
+ double RHS12 = Idr[36];
+ RHS12 += Idr[37];
+ RHS12 += Idr[38];
+ RHS12 -= go[38] * *cnV[38];
+ m_A37 += gt[39];
+ m_A37 += gt[40];
+ m_A37 += gt[41];
+ m_A37 += gt[42];
+ m_A37 += gt[43];
+ m_A37 += gt[44];
+ m_A37 += gt[45];
+ m_A38 += go[39];
+ m_A36 += go[40];
+ double RHS13 = Idr[39];
+ RHS13 += Idr[40];
+ RHS13 += Idr[41];
+ RHS13 += Idr[42];
+ RHS13 += Idr[43];
+ RHS13 += Idr[44];
+ RHS13 += Idr[45];
+ RHS13 -= go[41] * *cnV[41];
+ RHS13 -= go[42] * *cnV[42];
+ RHS13 -= go[43] * *cnV[43];
+ RHS13 -= go[44] * *cnV[44];
+ RHS13 -= go[45] * *cnV[45];
+ m_A40 += gt[46];
+ m_A40 += gt[47];
+ m_A40 += gt[48];
+ m_A40 += gt[49];
+ m_A40 += gt[50];
+ m_A40 += gt[51];
+ m_A40 += gt[52];
+ m_A41 += go[46];
+ m_A39 += go[47];
+ double RHS14 = Idr[46];
+ RHS14 += Idr[47];
+ RHS14 += Idr[48];
+ RHS14 += Idr[49];
+ RHS14 += Idr[50];
+ RHS14 += Idr[51];
+ RHS14 += Idr[52];
+ RHS14 -= go[48] * *cnV[48];
+ RHS14 -= go[49] * *cnV[49];
+ RHS14 -= go[50] * *cnV[50];
+ RHS14 -= go[51] * *cnV[51];
+ RHS14 -= go[52] * *cnV[52];
+ m_A44 += gt[53];
+ m_A44 += gt[54];
+ m_A44 += gt[55];
+ m_A44 += gt[56];
+ m_A45 += go[53];
+ m_A43 += go[54];
+ m_A42 += go[55];
+ double RHS15 = Idr[53];
+ RHS15 += Idr[54];
+ RHS15 += Idr[55];
+ RHS15 += Idr[56];
+ RHS15 -= go[56] * *cnV[56];
+ m_A48 += gt[57];
+ m_A48 += gt[58];
+ m_A48 += gt[59];
+ m_A48 += gt[60];
+ m_A48 += gt[61];
+ m_A48 += gt[62];
+ m_A48 += gt[63];
+ m_A49 += go[57];
+ m_A46 += go[58];
+ double RHS16 = Idr[57];
+ RHS16 += Idr[58];
+ RHS16 += Idr[59];
+ RHS16 += Idr[60];
+ RHS16 += Idr[61];
+ RHS16 += Idr[62];
+ RHS16 += Idr[63];
+ RHS16 -= go[59] * *cnV[59];
+ RHS16 -= go[60] * *cnV[60];
+ RHS16 -= go[61] * *cnV[61];
+ RHS16 -= go[62] * *cnV[62];
+ RHS16 -= go[63] * *cnV[63];
+ m_A51 += gt[64];
+ m_A51 += gt[65];
+ m_A51 += gt[66];
+ m_A53 += go[64];
+ m_A50 += go[65];
+ double RHS17 = Idr[64];
+ RHS17 += Idr[65];
+ RHS17 += Idr[66];
+ RHS17 -= go[66] * *cnV[66];
+ m_A58 += gt[67];
+ m_A58 += gt[68];
+ m_A58 += gt[69];
+ m_A58 += gt[70];
+ m_A58 += gt[71];
+ m_A58 += gt[72];
+ m_A57 += go[67];
+ m_A62 += go[68];
+ m_A62 += go[69];
+ m_A56 += go[70];
+ m_A55 += go[71];
+ m_A54 += go[72];
+ double RHS18 = Idr[67];
+ RHS18 += Idr[68];
+ RHS18 += Idr[69];
+ RHS18 += Idr[70];
+ RHS18 += Idr[71];
+ RHS18 += Idr[72];
+ m_A67 += gt[73];
+ m_A67 += gt[74];
+ m_A67 += gt[75];
+ m_A67 += gt[76];
+ m_A67 += gt[77];
+ m_A65 += go[73];
+ m_A64 += go[74];
+ m_A63 += go[75];
+ double RHS19 = Idr[73];
+ RHS19 += Idr[74];
+ RHS19 += Idr[75];
+ RHS19 += Idr[76];
+ RHS19 += Idr[77];
+ RHS19 -= go[76] * *cnV[76];
+ RHS19 -= go[77] * *cnV[77];
+ m_A76 += gt[78];
+ m_A76 += gt[79];
+ m_A76 += gt[80];
+ m_A76 += gt[81];
+ m_A76 += gt[82];
+ m_A73 += go[78];
+ m_A72 += go[79];
+ m_A71 += go[80];
+ double RHS20 = Idr[78];
+ RHS20 += Idr[79];
+ RHS20 += Idr[80];
+ RHS20 += Idr[81];
+ RHS20 += Idr[82];
+ RHS20 -= go[81] * *cnV[81];
+ RHS20 -= go[82] * *cnV[82];
+ m_A84 += gt[83];
+ m_A84 += gt[84];
+ m_A84 += gt[85];
+ m_A84 += gt[86];
+ m_A84 += gt[87];
+ m_A84 += gt[88];
+ m_A82 += go[83];
+ m_A80 += go[84];
+ m_A79 += go[85];
+ m_A81 += go[86];
+ double RHS21 = Idr[83];
+ RHS21 += Idr[84];
+ RHS21 += Idr[85];
+ RHS21 += Idr[86];
+ RHS21 += Idr[87];
+ RHS21 += Idr[88];
+ RHS21 -= go[87] * *cnV[87];
+ RHS21 -= go[88] * *cnV[88];
+ m_A94 += gt[89];
+ m_A94 += gt[90];
+ m_A94 += gt[91];
+ m_A94 += gt[92];
+ m_A94 += gt[93];
+ m_A94 += gt[94];
+ m_A87 += go[89];
+ m_A88 += go[90];
+ m_A89 += go[91];
+ m_A86 += go[92];
+ double RHS22 = Idr[89];
+ RHS22 += Idr[90];
+ RHS22 += Idr[91];
+ RHS22 += Idr[92];
+ RHS22 += Idr[93];
+ RHS22 += Idr[94];
+ RHS22 -= go[93] * *cnV[93];
+ RHS22 -= go[94] * *cnV[94];
+ m_A101 += gt[95];
+ m_A101 += gt[96];
+ m_A101 += gt[97];
+ m_A101 += gt[98];
+ m_A101 += gt[99];
+ m_A101 += gt[100];
+ m_A101 += gt[101];
+ m_A96 += go[95];
+ m_A97 += go[96];
+ double RHS23 = Idr[95];
+ RHS23 += Idr[96];
+ RHS23 += Idr[97];
+ RHS23 += Idr[98];
+ RHS23 += Idr[99];
+ RHS23 += Idr[100];
+ RHS23 += Idr[101];
+ RHS23 -= go[97] * *cnV[97];
+ RHS23 -= go[98] * *cnV[98];
+ RHS23 -= go[99] * *cnV[99];
+ RHS23 -= go[100] * *cnV[100];
+ RHS23 -= go[101] * *cnV[101];
+ m_A110 += gt[102];
+ m_A110 += gt[103];
+ m_A110 += gt[104];
+ m_A110 += gt[105];
+ m_A110 += gt[106];
+ m_A110 += gt[107];
+ m_A109 += go[102];
+ m_A103 += go[103];
+ m_A105 += go[104];
+ m_A105 += go[105];
+ double RHS24 = Idr[102];
+ RHS24 += Idr[103];
+ RHS24 += Idr[104];
+ RHS24 += Idr[105];
+ RHS24 += Idr[106];
+ RHS24 += Idr[107];
+ RHS24 -= go[106] * *cnV[106];
+ RHS24 -= go[107] * *cnV[107];
+ const double f0 = 1.0 / m_A0;
+ const double f0_13 = -f0 * m_A36;
+ m_A38 += m_A1 * f0_13;
+ RHS13 += f0_13 * RHS0;
+ const double f0_19 = -f0 * m_A63;
+ m_A67 += m_A1 * f0_19;
+ RHS19 += f0_19 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_14 = -f1 * m_A39;
+ m_A41 += m_A3 * f1_14;
+ RHS14 += f1_14 * RHS1;
+ const double f1_20 = -f1 * m_A71;
+ m_A76 += m_A3 * f1_20;
+ RHS20 += f1_20 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_15 = -f2 * m_A42;
+ m_A44 += m_A5 * f2_15;
+ RHS15 += f2_15 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_15 = -f3 * m_A43;
+ m_A44 += m_A7 * f3_15;
+ m_A45 += m_A8 * f3_15;
+ RHS15 += f3_15 * RHS3;
+ const double f3_16 = -f3 * m_A46;
+ m_A47 += m_A7 * f3_16;
+ m_A49 += m_A8 * f3_16;
+ RHS16 += f3_16 * RHS3;
+ const double f3_21 = -f3 * m_A79;
+ m_A81 += m_A7 * f3_21;
+ m_A84 += m_A8 * f3_21;
+ RHS21 += f3_21 * RHS3;
+ const double f4 = 1.0 / m_A9;
+ const double f4_17 = -f4 * m_A50;
+ m_A51 += m_A10 * f4_17;
+ m_A52 += m_A11 * f4_17;
+ m_A53 += m_A12 * f4_17;
+ RHS17 += f4_17 * RHS4;
+ const double f4_21 = -f4 * m_A80;
+ m_A83 += m_A10 * f4_21;
+ m_A84 += m_A11 * f4_21;
+ m_A85 += m_A12 * f4_21;
+ RHS21 += f4_21 * RHS4;
+ const double f4_22 = -f4 * m_A86;
+ m_A89 += m_A10 * f4_22;
+ m_A93 += m_A11 * f4_22;
+ m_A94 += m_A12 * f4_22;
RHS22 += f4_22 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_22 = -f5 * m_A50;
- m_A51 += m_A11 * f5_22;
+ const double f5 = 1.0 / m_A13;
+ const double f5_22 = -f5 * m_A87;
+ m_A89 += m_A14 * f5_22;
+ m_A94 += m_A15 * f5_22;
RHS22 += f5_22 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_23 = -f6 * m_A53;
- m_A56 += m_A13 * f6_23;
- RHS23 += f6_23 * RHS6;
-const double f7 = 1.0 / m_A14;
- const double f7_23 = -f7 * m_A54;
- m_A56 += m_A15 * f7_23;
- RHS23 += f7_23 * RHS7;
-const double f8 = 1.0 / m_A16;
- const double f8_23 = -f8 * m_A55;
- m_A56 += m_A17 * f8_23;
- RHS23 += f8_23 * RHS8;
-const double f9 = 1.0 / m_A18;
- const double f9_25 = -f9 * m_A63;
- m_A66 += m_A19 * f9_25;
- RHS25 += f9_25 * RHS9;
-const double f10 = 1.0 / m_A20;
- const double f10_26 = -f10 * m_A68;
- m_A71 += m_A21 * f10_26;
- RHS26 += f10_26 * RHS10;
-const double f11 = 1.0 / m_A22;
- const double f11_24 = -f11 * m_A58;
- m_A61 += m_A23 * f11_24;
- RHS24 += f11_24 * RHS11;
-const double f12 = 1.0 / m_A24;
- const double f12_24 = -f12 * m_A59;
- m_A61 += m_A25 * f12_24;
+ const double f6 = 1.0 / m_A16;
+ const double f6_18 = -f6 * m_A54;
+ m_A58 += m_A17 * f6_18;
+ m_A61 += m_A18 * f6_18;
+ RHS18 += f6_18 * RHS6;
+ const double f6_22 = -f6 * m_A88;
+ m_A90 += m_A17 * f6_22;
+ m_A94 += m_A18 * f6_22;
+ RHS22 += f6_22 * RHS6;
+ const double f7 = 1.0 / m_A19;
+ const double f7_18 = -f7 * m_A55;
+ m_A58 += m_A20 * f7_18;
+ m_A59 += m_A21 * f7_18;
+ RHS18 += f7_18 * RHS7;
+ const double f7_19 = -f7 * m_A64;
+ m_A66 += m_A20 * f7_19;
+ m_A67 += m_A21 * f7_19;
+ RHS19 += f7_19 * RHS7;
+ const double f8 = 1.0 / m_A22;
+ const double f8_18 = -f8 * m_A56;
+ m_A58 += m_A23 * f8_18;
+ m_A60 += m_A24 * f8_18;
+ RHS18 += f8_18 * RHS8;
+ const double f8_20 = -f8 * m_A72;
+ m_A74 += m_A23 * f8_20;
+ m_A76 += m_A24 * f8_20;
+ RHS20 += f8_20 * RHS8;
+ const double f9 = 1.0 / m_A25;
+ const double f9_12 = -f9 * m_A32;
+ m_A34 += m_A26 * f9_12;
+ m_A35 += m_A27 * f9_12;
+ RHS12 += f9_12 * RHS9;
+ const double f9_24 = -f9 * m_A103;
+ m_A104 += m_A26 * f9_24;
+ m_A110 += m_A27 * f9_24;
+ RHS24 += f9_24 * RHS9;
+ const double f10 = 1.0 / m_A28;
+ const double f10_12 = -f10 * m_A33;
+ m_A34 += m_A29 * f10_12;
+ RHS12 += f10_12 * RHS10;
+ const double f11 = 1.0 / m_A30;
+ const double f11_18 = -f11 * m_A57;
+ m_A58 += m_A31 * f11_18;
+ RHS18 += f11_18 * RHS11;
+ const double f11_23 = -f11 * m_A96;
+ m_A97 += m_A31 * f11_23;
+ RHS23 += f11_23 * RHS11;
+ const double f12 = 1.0 / m_A34;
+ const double f12_24 = -f12 * m_A104;
+ m_A110 += m_A35 * f12_24;
RHS24 += f12_24 * RHS12;
-const double f13 = 1.0 / m_A26;
- const double f13_27 = -f13 * m_A73;
- m_A76 += m_A27 * f13_27;
- RHS27 += f13_27 * RHS13;
-const double f14 = 1.0 / m_A28;
- const double f14_24 = -f14 * m_A60;
- m_A61 += m_A29 * f14_24;
- RHS24 += f14_24 * RHS14;
-const double f15 = 1.0 / m_A30;
- const double f15_21 = -f15 * m_A45;
- m_A46 += m_A31 * f15_21;
+ const double f13 = 1.0 / m_A37;
+ const double f13_19 = -f13 * m_A65;
+ m_A67 += m_A38 * f13_19;
+ RHS19 += f13_19 * RHS13;
+ const double f14 = 1.0 / m_A40;
+ const double f14_20 = -f14 * m_A73;
+ m_A76 += m_A41 * f14_20;
+ RHS20 += f14_20 * RHS14;
+ const double f15 = 1.0 / m_A44;
+ const double f15_16 = -f15 * m_A47;
+ m_A49 += m_A45 * f15_16;
+ RHS16 += f15_16 * RHS15;
+ const double f15_21 = -f15 * m_A81;
+ m_A84 += m_A45 * f15_21;
RHS21 += f15_21 * RHS15;
-const double f16 = 1.0 / m_A35;
- const double f16_28 = -f16 * m_A77;
- m_A84 += m_A36 * f16_28;
- RHS28 += f16_28 * RHS16;
-const double f17 = 1.0 / m_A37;
- const double f17_25 = -f17 * m_A64;
- m_A66 += m_A38 * f17_25;
- RHS25 += f17_25 * RHS17;
-const double f18 = 1.0 / m_A39;
- const double f18_25 = -f18 * m_A65;
- m_A66 += m_A40 * f18_25;
- RHS25 += f18_25 * RHS18;
-const double f19 = 1.0 / m_A41;
- const double f19_26 = -f19 * m_A69;
- m_A71 += m_A42 * f19_26;
- RHS26 += f19_26 * RHS19;
-const double f20 = 1.0 / m_A43;
- const double f20_26 = -f20 * m_A70;
- m_A71 += m_A44 * f20_26;
- RHS26 += f20_26 * RHS20;
-const double f21 = 1.0 / m_A46;
- const double f21_27 = -f21 * m_A74;
- m_A75 += m_A47 * f21_27;
- RHS27 += f21_27 * RHS21;
-const double f22 = 1.0 / m_A51;
- const double f22_28 = -f22 * m_A78;
- m_A84 += m_A52 * f22_28;
- RHS28 += f22_28 * RHS22;
-const double f23 = 1.0 / m_A56;
- const double f23_28 = -f23 * m_A79;
- m_A84 += m_A57 * f23_28;
- RHS28 += f23_28 * RHS23;
-const double f24 = 1.0 / m_A61;
- const double f24_28 = -f24 * m_A80;
- m_A84 += m_A62 * f24_28;
- RHS28 += f24_28 * RHS24;
-const double f25 = 1.0 / m_A66;
- const double f25_28 = -f25 * m_A81;
- m_A84 += m_A67 * f25_28;
- RHS28 += f25_28 * RHS25;
-const double f26 = 1.0 / m_A71;
- const double f26_28 = -f26 * m_A82;
- m_A84 += m_A72 * f26_28;
- RHS28 += f26_28 * RHS26;
-const double f27 = 1.0 / m_A75;
- const double f27_28 = -f27 * m_A83;
- m_A84 += m_A76 * f27_28;
- RHS28 += f27_28 * RHS27;
- V[28] = RHS28 / m_A84;
- double tmp27 = 0.0;
- tmp27 += m_A76 * V[28];
- V[27] = (RHS27 - tmp27) / m_A75;
- double tmp26 = 0.0;
- tmp26 += m_A72 * V[28];
- V[26] = (RHS26 - tmp26) / m_A71;
- double tmp25 = 0.0;
- tmp25 += m_A67 * V[28];
- V[25] = (RHS25 - tmp25) / m_A66;
- double tmp24 = 0.0;
- tmp24 += m_A62 * V[28];
- V[24] = (RHS24 - tmp24) / m_A61;
+ const double f16 = 1.0 / m_A48;
+ const double f16_21 = -f16 * m_A82;
+ m_A84 += m_A49 * f16_21;
+ RHS21 += f16_21 * RHS16;
+ const double f17 = 1.0 / m_A51;
+ const double f17_21 = -f17 * m_A83;
+ m_A84 += m_A52 * f17_21;
+ m_A85 += m_A53 * f17_21;
+ RHS21 += f17_21 * RHS17;
+ const double f17_22 = -f17 * m_A89;
+ m_A93 += m_A52 * f17_22;
+ m_A94 += m_A53 * f17_22;
+ RHS22 += f17_22 * RHS17;
+ const double f18 = 1.0 / m_A58;
+ const double f18_19 = -f18 * m_A66;
+ m_A67 += m_A59 * f18_19;
+ m_A68 += m_A60 * f18_19;
+ m_A69 += m_A61 * f18_19;
+ m_A70 += m_A62 * f18_19;
+ RHS19 += f18_19 * RHS18;
+ const double f18_20 = -f18 * m_A74;
+ m_A75 += m_A59 * f18_20;
+ m_A76 += m_A60 * f18_20;
+ m_A77 += m_A61 * f18_20;
+ m_A78 += m_A62 * f18_20;
+ RHS20 += f18_20 * RHS18;
+ const double f18_22 = -f18 * m_A90;
+ m_A91 += m_A59 * f18_22;
+ m_A92 += m_A60 * f18_22;
+ m_A94 += m_A61 * f18_22;
+ m_A95 += m_A62 * f18_22;
+ RHS22 += f18_22 * RHS18;
+ const double f18_23 = -f18 * m_A97;
+ m_A98 += m_A59 * f18_23;
+ m_A99 += m_A60 * f18_23;
+ m_A100 += m_A61 * f18_23;
+ m_A102 += m_A62 * f18_23;
+ RHS23 += f18_23 * RHS18;
+ const double f18_24 = -f18 * m_A105;
+ m_A106 += m_A59 * f18_24;
+ m_A107 += m_A60 * f18_24;
+ m_A108 += m_A61 * f18_24;
+ m_A110 += m_A62 * f18_24;
+ RHS24 += f18_24 * RHS18;
+ const double f19 = 1.0 / m_A67;
+ const double f19_20 = -f19 * m_A75;
+ m_A76 += m_A68 * f19_20;
+ m_A77 += m_A69 * f19_20;
+ m_A78 += m_A70 * f19_20;
+ RHS20 += f19_20 * RHS19;
+ const double f19_22 = -f19 * m_A91;
+ m_A92 += m_A68 * f19_22;
+ m_A94 += m_A69 * f19_22;
+ m_A95 += m_A70 * f19_22;
+ RHS22 += f19_22 * RHS19;
+ const double f19_23 = -f19 * m_A98;
+ m_A99 += m_A68 * f19_23;
+ m_A100 += m_A69 * f19_23;
+ m_A102 += m_A70 * f19_23;
+ RHS23 += f19_23 * RHS19;
+ const double f19_24 = -f19 * m_A106;
+ m_A107 += m_A68 * f19_24;
+ m_A108 += m_A69 * f19_24;
+ m_A110 += m_A70 * f19_24;
+ RHS24 += f19_24 * RHS19;
+ const double f20 = 1.0 / m_A76;
+ const double f20_22 = -f20 * m_A92;
+ m_A94 += m_A77 * f20_22;
+ m_A95 += m_A78 * f20_22;
+ RHS22 += f20_22 * RHS20;
+ const double f20_23 = -f20 * m_A99;
+ m_A100 += m_A77 * f20_23;
+ m_A102 += m_A78 * f20_23;
+ RHS23 += f20_23 * RHS20;
+ const double f20_24 = -f20 * m_A107;
+ m_A108 += m_A77 * f20_24;
+ m_A110 += m_A78 * f20_24;
+ RHS24 += f20_24 * RHS20;
+ const double f21 = 1.0 / m_A84;
+ const double f21_22 = -f21 * m_A93;
+ m_A94 += m_A85 * f21_22;
+ RHS22 += f21_22 * RHS21;
+ const double f22 = 1.0 / m_A94;
+ const double f22_23 = -f22 * m_A100;
+ m_A102 += m_A95 * f22_23;
+ RHS23 += f22_23 * RHS22;
+ const double f22_24 = -f22 * m_A108;
+ m_A110 += m_A95 * f22_24;
+ RHS24 += f22_24 * RHS22;
+ const double f23 = 1.0 / m_A101;
+ const double f23_24 = -f23 * m_A109;
+ m_A110 += m_A102 * f23_24;
+ RHS24 += f23_24 * RHS23;
+ V[24] = RHS24 / m_A110;
double tmp23 = 0.0;
- tmp23 += m_A57 * V[28];
- V[23] = (RHS23 - tmp23) / m_A56;
+ tmp23 += m_A102 * V[24];
+ V[23] = (RHS23 - tmp23) / m_A101;
double tmp22 = 0.0;
- tmp22 += m_A52 * V[28];
- V[22] = (RHS22 - tmp22) / m_A51;
+ tmp22 += m_A95 * V[24];
+ V[22] = (RHS22 - tmp22) / m_A94;
double tmp21 = 0.0;
- tmp21 += m_A47 * V[27];
- V[21] = (RHS21 - tmp21) / m_A46;
+ tmp21 += m_A85 * V[22];
+ V[21] = (RHS21 - tmp21) / m_A84;
double tmp20 = 0.0;
- tmp20 += m_A44 * V[26];
- V[20] = (RHS20 - tmp20) / m_A43;
+ tmp20 += m_A77 * V[22];
+ tmp20 += m_A78 * V[24];
+ V[20] = (RHS20 - tmp20) / m_A76;
double tmp19 = 0.0;
- tmp19 += m_A42 * V[26];
- V[19] = (RHS19 - tmp19) / m_A41;
+ tmp19 += m_A68 * V[20];
+ tmp19 += m_A69 * V[22];
+ tmp19 += m_A70 * V[24];
+ V[19] = (RHS19 - tmp19) / m_A67;
double tmp18 = 0.0;
- tmp18 += m_A40 * V[25];
- V[18] = (RHS18 - tmp18) / m_A39;
+ tmp18 += m_A59 * V[19];
+ tmp18 += m_A60 * V[20];
+ tmp18 += m_A61 * V[22];
+ tmp18 += m_A62 * V[24];
+ V[18] = (RHS18 - tmp18) / m_A58;
double tmp17 = 0.0;
- tmp17 += m_A38 * V[25];
- V[17] = (RHS17 - tmp17) / m_A37;
+ tmp17 += m_A52 * V[21];
+ tmp17 += m_A53 * V[22];
+ V[17] = (RHS17 - tmp17) / m_A51;
double tmp16 = 0.0;
- tmp16 += m_A36 * V[28];
- V[16] = (RHS16 - tmp16) / m_A35;
+ tmp16 += m_A49 * V[21];
+ V[16] = (RHS16 - tmp16) / m_A48;
double tmp15 = 0.0;
- tmp15 += m_A31 * V[21];
- V[15] = (RHS15 - tmp15) / m_A30;
+ tmp15 += m_A45 * V[21];
+ V[15] = (RHS15 - tmp15) / m_A44;
double tmp14 = 0.0;
- tmp14 += m_A29 * V[24];
- V[14] = (RHS14 - tmp14) / m_A28;
+ tmp14 += m_A41 * V[20];
+ V[14] = (RHS14 - tmp14) / m_A40;
double tmp13 = 0.0;
- tmp13 += m_A27 * V[28];
- V[13] = (RHS13 - tmp13) / m_A26;
+ tmp13 += m_A38 * V[19];
+ V[13] = (RHS13 - tmp13) / m_A37;
double tmp12 = 0.0;
- tmp12 += m_A25 * V[24];
- V[12] = (RHS12 - tmp12) / m_A24;
+ tmp12 += m_A35 * V[24];
+ V[12] = (RHS12 - tmp12) / m_A34;
double tmp11 = 0.0;
- tmp11 += m_A23 * V[24];
- V[11] = (RHS11 - tmp11) / m_A22;
+ tmp11 += m_A31 * V[18];
+ V[11] = (RHS11 - tmp11) / m_A30;
double tmp10 = 0.0;
- tmp10 += m_A21 * V[26];
- V[10] = (RHS10 - tmp10) / m_A20;
+ tmp10 += m_A29 * V[12];
+ V[10] = (RHS10 - tmp10) / m_A28;
double tmp9 = 0.0;
- tmp9 += m_A19 * V[25];
- V[9] = (RHS9 - tmp9) / m_A18;
+ tmp9 += m_A26 * V[12];
+ tmp9 += m_A27 * V[24];
+ V[9] = (RHS9 - tmp9) / m_A25;
double tmp8 = 0.0;
- tmp8 += m_A17 * V[23];
- V[8] = (RHS8 - tmp8) / m_A16;
+ tmp8 += m_A23 * V[18];
+ tmp8 += m_A24 * V[20];
+ V[8] = (RHS8 - tmp8) / m_A22;
double tmp7 = 0.0;
- tmp7 += m_A15 * V[23];
- V[7] = (RHS7 - tmp7) / m_A14;
+ tmp7 += m_A20 * V[18];
+ tmp7 += m_A21 * V[19];
+ V[7] = (RHS7 - tmp7) / m_A19;
double tmp6 = 0.0;
- tmp6 += m_A13 * V[23];
- V[6] = (RHS6 - tmp6) / m_A12;
+ tmp6 += m_A17 * V[18];
+ tmp6 += m_A18 * V[22];
+ V[6] = (RHS6 - tmp6) / m_A16;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[22];
- V[5] = (RHS5 - tmp5) / m_A10;
+ tmp5 += m_A14 * V[17];
+ tmp5 += m_A15 * V[22];
+ V[5] = (RHS5 - tmp5) / m_A13;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[22];
- V[4] = (RHS4 - tmp4) / m_A8;
+ tmp4 += m_A10 * V[17];
+ tmp4 += m_A11 * V[21];
+ tmp4 += m_A12 * V[22];
+ V[4] = (RHS4 - tmp4) / m_A9;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[22];
+ tmp3 += m_A7 * V[15];
+ tmp3 += m_A8 * V[21];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[16];
+ tmp2 += m_A5 * V[15];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[16];
+ tmp1 += m_A3 * V[20];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[16];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// kidniki
-static void nl_gcr_933b3efec18faab_37_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A2 = m_A2 + go[0];
- m_A2 = m_A2 + go[1];
- m_A1 = m_A1 + go[2];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[3] * *cnV[3];
- m_A3 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10];
- m_A6 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A7 = m_A7 + go[16];
- m_A7 = m_A7 + go[17];
- m_A8 = m_A8 + go[18];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22];
- m_A9 = gt[24] + gt[25] + gt[26];
- m_A11 = m_A11 + go[24];
- m_A10 = m_A10 + go[25];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26];
- m_A14 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36];
- m_A13 = m_A13 + go[32];
- m_A12 = m_A12 + go[33];
- m_A12 = m_A12 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] - go[35] * *cnV[35] - go[36] * *cnV[36];
- m_A18 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A20 = m_A20 + go[40];
- m_A19 = m_A19 + go[41];
- m_A19 = m_A19 + go[42];
- m_A19 = m_A19 + go[43];
- m_A17 = m_A17 + go[44];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[45] * *cnV[45] - go[46] * *cnV[46];
- m_A23 = gt[48] + gt[49] + gt[50] + gt[51];
- m_A21 = m_A21 + go[48];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] - go[49] * *cnV[49] - go[50] * *cnV[50] - go[51] * *cnV[51];
- m_A28 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60] + gt[61];
- m_A26 = m_A26 + go[56];
- m_A27 = m_A27 + go[57];
- m_A27 = m_A27 + go[58];
- m_A27 = m_A27 + go[59];
- m_A25 = m_A25 + go[60];
- m_A25 = m_A25 + go[61];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] + Idr[61];
- m_A36 = gt[64] + gt[65] + gt[66] + gt[67];
- m_A30 = m_A30 + go[64];
- m_A33 = m_A33 + go[65];
- m_A31 = m_A31 + go[66];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[67] * *cnV[67];
-const double f0 = 1.0 / m_A0;
- const double f0_5 = -f0 * m_A17;
- m_A18 += m_A1 * f0_5;
- m_A19 += m_A2 * f0_5;
- RHS5 += f0_5 * RHS0;
- const double f0_7 = -f0 * m_A25;
- m_A27 += m_A1 * f0_7;
- m_A28 += m_A2 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A3;
- const double f1_7 = -f1 * m_A26;
- m_A28 += m_A4 * f1_7;
- m_A29 += m_A5 * f1_7;
- RHS7 += f1_7 * RHS1;
- const double f1_8 = -f1 * m_A30;
- m_A35 += m_A4 * f1_8;
- m_A36 += m_A5 * f1_8;
- RHS8 += f1_8 * RHS1;
-const double f2 = 1.0 / m_A6;
- const double f2_4 = -f2 * m_A12;
- m_A14 += m_A7 * f2_4;
- m_A16 += m_A8 * f2_4;
- RHS4 += f2_4 * RHS2;
- const double f2_8 = -f2 * m_A31;
- m_A32 += m_A7 * f2_8;
- m_A36 += m_A8 * f2_8;
- RHS8 += f2_8 * RHS2;
-const double f3 = 1.0 / m_A9;
- const double f3_4 = -f3 * m_A13;
- m_A14 += m_A10 * f3_4;
- m_A15 += m_A11 * f3_4;
- RHS4 += f3_4 * RHS3;
- const double f3_6 = -f3 * m_A21;
- m_A22 += m_A10 * f3_6;
- m_A23 += m_A11 * f3_6;
- RHS6 += f3_6 * RHS3;
-const double f4 = 1.0 / m_A14;
- const double f4_6 = -f4 * m_A22;
- m_A23 += m_A15 * f4_6;
- m_A24 += m_A16 * f4_6;
- RHS6 += f4_6 * RHS4;
- const double f4_8 = -f4 * m_A32;
- m_A34 += m_A15 * f4_8;
- m_A36 += m_A16 * f4_8;
- RHS8 += f4_8 * RHS4;
-const double f5 = 1.0 / m_A18;
- const double f5_7 = -f5 * m_A27;
- m_A28 += m_A19 * f5_7;
- m_A29 += m_A20 * f5_7;
- RHS7 += f5_7 * RHS5;
- const double f5_8 = -f5 * m_A33;
- m_A35 += m_A19 * f5_8;
- m_A36 += m_A20 * f5_8;
- RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A23;
- const double f6_8 = -f6 * m_A34;
- m_A36 += m_A24 * f6_8;
- RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A28;
- const double f7_8 = -f7 * m_A35;
- m_A36 += m_A29 * f7_8;
- RHS8 += f7_8 * RHS7;
- V[8] = RHS8 / m_A36;
- double tmp7 = 0.0;
- tmp7 += m_A29 * V[8];
- V[7] = (RHS7 - tmp7) / m_A28;
- double tmp6 = 0.0;
- tmp6 += m_A24 * V[8];
- V[6] = (RHS6 - tmp6) / m_A23;
- double tmp5 = 0.0;
- tmp5 += m_A19 * V[7];
- tmp5 += m_A20 * V[8];
- V[5] = (RHS5 - tmp5) / m_A18;
- double tmp4 = 0.0;
- tmp4 += m_A15 * V[6];
- tmp4 += m_A16 * V[8];
- V[4] = (RHS4 - tmp4) / m_A14;
- double tmp3 = 0.0;
- tmp3 += m_A10 * V[4];
- tmp3 += m_A11 * V[6];
- V[3] = (RHS3 - tmp3) / m_A9;
- double tmp2 = 0.0;
- tmp2 += m_A7 * V[4];
- tmp2 += m_A8 * V[8];
- V[2] = (RHS2 - tmp2) / m_A6;
- double tmp1 = 0.0;
- tmp1 += m_A4 * V[7];
- tmp1 += m_A5 * V[8];
- V[1] = (RHS1 - tmp1) / m_A3;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[5];
- tmp0 += m_A2 * V[7];
+ tmp0 += m_A1 * V[19];
V[0] = (RHS0 - tmp0) / m_A0;
}
// 280zzzap
-static void nl_gcr_9de29bb0cfe2c4b4_116_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_bcf0e3af19330ca7_116_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
-double m_A111(0.0);
-double m_A112(0.0);
-double m_A113(0.0);
-double m_A114(0.0);
-double m_A115(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A8 = gt[32] + gt[33];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33];
- m_A10 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[41] * *cnV[41] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46];
- m_A12 = gt[48] + gt[49] + gt[50];
- m_A13 = m_A13 + go[48];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] - go[49] * *cnV[49] - go[50] * *cnV[50];
- m_A14 = gt[56] + gt[57];
- m_A16 = m_A16 + go[56];
- m_A15 = m_A15 + go[57];
- double RHS7 = Idr[56] + Idr[57];
- m_A17 = gt[64] + gt[65];
- m_A18 = m_A18 + go[64];
- double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65];
- m_A19 = gt[72] + gt[73];
- m_A20 = m_A20 + go[72];
- double RHS9 = Idr[72] + Idr[73] - go[73] * *cnV[73];
- m_A21 = gt[80] + gt[81];
- m_A22 = m_A22 + go[80];
- double RHS10 = Idr[80] + Idr[81] - go[81] * *cnV[81];
- m_A23 = gt[88] + gt[89] + gt[90] + gt[91] + gt[92] + gt[93] + gt[94];
- m_A24 = m_A24 + go[88];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] + Idr[92] + Idr[93] + Idr[94] - go[89] * *cnV[89] - go[90] * *cnV[90] - go[91] * *cnV[91] - go[92] * *cnV[92] - go[93] * *cnV[93] - go[94] * *cnV[94];
- m_A25 = gt[96] + gt[97];
- m_A26 = m_A26 + go[96];
- double RHS12 = Idr[96] + Idr[97] - go[97] * *cnV[97];
- m_A27 = gt[104] + gt[105] + gt[106];
- m_A28 = m_A28 + go[104];
- double RHS13 = Idr[104] + Idr[105] + Idr[106] - go[105] * *cnV[105] - go[106] * *cnV[106];
- m_A29 = gt[112] + gt[113] + gt[114];
- m_A30 = m_A30 + go[112];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[113] * *cnV[113] - go[114] * *cnV[114];
- m_A31 = gt[120] + gt[121];
- m_A32 = m_A32 + go[120];
- m_A33 = m_A33 + go[121];
- double RHS15 = Idr[120] + Idr[121];
- m_A35 = gt[128] + gt[129];
- m_A34 = m_A34 + go[128];
- double RHS16 = Idr[128] + Idr[129] - go[129] * *cnV[129];
- m_A37 = gt[136] + gt[137];
- m_A36 = m_A36 + go[136];
- double RHS17 = Idr[136] + Idr[137] - go[137] * *cnV[137];
- m_A40 = gt[144] + gt[145];
- m_A39 = m_A39 + go[144];
- m_A38 = m_A38 + go[145];
- double RHS18 = Idr[144] + Idr[145];
- m_A42 = gt[152] + gt[153] + gt[154] + gt[155];
- m_A41 = m_A41 + go[152];
- m_A43 = m_A43 + go[153];
- double RHS19 = Idr[152] + Idr[153] + Idr[154] + Idr[155] - go[154] * *cnV[154] - go[155] * *cnV[155];
- m_A46 = gt[160] + gt[161] + gt[162] + gt[163] + gt[164] + gt[165];
- m_A44 = m_A44 + go[160];
- m_A47 = m_A47 + go[161];
- m_A49 = m_A49 + go[162];
- m_A48 = m_A48 + go[163];
- double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] + Idr[164] + Idr[165] - go[164] * *cnV[164] - go[165] * *cnV[165];
- m_A51 = gt[168] + gt[169] + gt[170] + gt[171];
- m_A50 = m_A50 + go[168];
- m_A52 = m_A52 + go[169];
- double RHS21 = Idr[168] + Idr[169] + Idr[170] + Idr[171] - go[170] * *cnV[170] - go[171] * *cnV[171];
- m_A56 = gt[176] + gt[177] + gt[178] + gt[179] + gt[180] + gt[181];
- m_A53 = m_A53 + go[176];
- m_A54 = m_A54 + go[177];
- m_A57 = m_A57 + go[178];
- m_A59 = m_A59 + go[179];
- double RHS22 = Idr[176] + Idr[177] + Idr[178] + Idr[179] + Idr[180] + Idr[181] - go[180] * *cnV[180] - go[181] * *cnV[181];
- m_A61 = gt[184] + gt[185];
- m_A60 = m_A60 + go[184];
- m_A62 = m_A62 + go[185];
- double RHS23 = Idr[184] + Idr[185];
- m_A68 = gt[192] + gt[193] + gt[194] + gt[195] + gt[196];
- m_A67 = m_A67 + go[192];
- m_A65 = m_A65 + go[193];
- m_A64 = m_A64 + go[194];
- m_A63 = m_A63 + go[195];
- m_A66 = m_A66 + go[196];
- double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] + Idr[196];
- m_A77 = gt[200] + gt[201] + gt[202] + gt[203];
- m_A74 = m_A74 + go[200];
- m_A73 = m_A73 + go[201];
- m_A78 = m_A78 + go[202];
- m_A72 = m_A72 + go[203];
- double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203];
- m_A82 = gt[208] + gt[209] + gt[210] + gt[211];
- m_A81 = m_A81 + go[208];
- m_A83 = m_A83 + go[209];
- double RHS26 = Idr[208] + Idr[209] + Idr[210] + Idr[211] - go[210] * *cnV[210] - go[211] * *cnV[211];
- m_A87 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220];
- m_A84 = m_A84 + go[216];
- m_A85 = m_A85 + go[217];
- m_A88 = m_A88 + go[218];
- double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] - go[219] * *cnV[219] - go[220] * *cnV[220];
- m_A96 = gt[224] + gt[225] + gt[226] + gt[227] + gt[228] + gt[229] + gt[230];
- m_A95 = m_A95 + go[224];
- m_A91 = m_A91 + go[225];
- m_A92 = m_A92 + go[226];
- m_A90 = m_A90 + go[227];
- m_A89 = m_A89 + go[228];
- m_A93 = m_A93 + go[229];
- m_A94 = m_A94 + go[230];
- double RHS28 = Idr[224] + Idr[225] + Idr[226] + Idr[227] + Idr[228] + Idr[229] + Idr[230];
- m_A106 = gt[232] + gt[233] + gt[234] + gt[235] + gt[236];
- m_A102 = m_A102 + go[232];
- m_A101 = m_A101 + go[233];
- m_A107 = m_A107 + go[234];
- m_A100 = m_A100 + go[235];
- m_A99 = m_A99 + go[236];
- double RHS29 = Idr[232] + Idr[233] + Idr[234] + Idr[235] + Idr[236];
- m_A115 = gt[240] + gt[241] + gt[242] + gt[243] + gt[244];
- m_A108 = m_A108 + go[240];
- m_A110 = m_A110 + go[241];
- m_A109 = m_A109 + go[242];
- m_A114 = m_A114 + go[243];
- double RHS30 = Idr[240] + Idr[241] + Idr[242] + Idr[243] + Idr[244] - go[244] * *cnV[244];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ double m_A111(0.0);
+ double m_A112(0.0);
+ double m_A113(0.0);
+ double m_A114(0.0);
+ double m_A115(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[3] * *cnV[3];
+ RHS1 -= go[4] * *cnV[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A5 += go[5];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 -= go[6] * *cnV[6];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ RHS2 -= go[10] * *cnV[10];
+ RHS2 -= go[11] * *cnV[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A7 += go[12];
+ double RHS3 = Idr[12];
+ RHS3 += Idr[13];
+ RHS3 -= go[13] * *cnV[13];
+ m_A8 += gt[14];
+ m_A8 += gt[15];
+ m_A9 += go[14];
+ double RHS4 = Idr[14];
+ RHS4 += Idr[15];
+ RHS4 -= go[15] * *cnV[15];
+ m_A10 += gt[16];
+ m_A10 += gt[17];
+ m_A10 += gt[18];
+ m_A10 += gt[19];
+ m_A10 += gt[20];
+ m_A10 += gt[21];
+ m_A10 += gt[22];
+ m_A11 += go[16];
+ double RHS5 = Idr[16];
+ RHS5 += Idr[17];
+ RHS5 += Idr[18];
+ RHS5 += Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 -= go[17] * *cnV[17];
+ RHS5 -= go[18] * *cnV[18];
+ RHS5 -= go[19] * *cnV[19];
+ RHS5 -= go[20] * *cnV[20];
+ RHS5 -= go[21] * *cnV[21];
+ RHS5 -= go[22] * *cnV[22];
+ m_A12 += gt[23];
+ m_A12 += gt[24];
+ m_A12 += gt[25];
+ m_A13 += go[23];
+ double RHS6 = Idr[23];
+ RHS6 += Idr[24];
+ RHS6 += Idr[25];
+ RHS6 -= go[24] * *cnV[24];
+ RHS6 -= go[25] * *cnV[25];
+ m_A14 += gt[26];
+ m_A14 += gt[27];
+ m_A16 += go[26];
+ m_A15 += go[27];
+ double RHS7 = Idr[26];
+ RHS7 += Idr[27];
+ m_A17 += gt[28];
+ m_A17 += gt[29];
+ m_A18 += go[28];
+ double RHS8 = Idr[28];
+ RHS8 += Idr[29];
+ RHS8 -= go[29] * *cnV[29];
+ m_A19 += gt[30];
+ m_A19 += gt[31];
+ m_A20 += go[30];
+ double RHS9 = Idr[30];
+ RHS9 += Idr[31];
+ RHS9 -= go[31] * *cnV[31];
+ m_A21 += gt[32];
+ m_A21 += gt[33];
+ m_A22 += go[32];
+ double RHS10 = Idr[32];
+ RHS10 += Idr[33];
+ RHS10 -= go[33] * *cnV[33];
+ m_A23 += gt[34];
+ m_A23 += gt[35];
+ m_A23 += gt[36];
+ m_A23 += gt[37];
+ m_A23 += gt[38];
+ m_A23 += gt[39];
+ m_A23 += gt[40];
+ m_A24 += go[34];
+ double RHS11 = Idr[34];
+ RHS11 += Idr[35];
+ RHS11 += Idr[36];
+ RHS11 += Idr[37];
+ RHS11 += Idr[38];
+ RHS11 += Idr[39];
+ RHS11 += Idr[40];
+ RHS11 -= go[35] * *cnV[35];
+ RHS11 -= go[36] * *cnV[36];
+ RHS11 -= go[37] * *cnV[37];
+ RHS11 -= go[38] * *cnV[38];
+ RHS11 -= go[39] * *cnV[39];
+ RHS11 -= go[40] * *cnV[40];
+ m_A25 += gt[41];
+ m_A25 += gt[42];
+ m_A26 += go[41];
+ double RHS12 = Idr[41];
+ RHS12 += Idr[42];
+ RHS12 -= go[42] * *cnV[42];
+ m_A27 += gt[43];
+ m_A27 += gt[44];
+ m_A27 += gt[45];
+ m_A28 += go[43];
+ double RHS13 = Idr[43];
+ RHS13 += Idr[44];
+ RHS13 += Idr[45];
+ RHS13 -= go[44] * *cnV[44];
+ RHS13 -= go[45] * *cnV[45];
+ m_A29 += gt[46];
+ m_A29 += gt[47];
+ m_A29 += gt[48];
+ m_A30 += go[46];
+ double RHS14 = Idr[46];
+ RHS14 += Idr[47];
+ RHS14 += Idr[48];
+ RHS14 -= go[47] * *cnV[47];
+ RHS14 -= go[48] * *cnV[48];
+ m_A31 += gt[49];
+ m_A31 += gt[50];
+ m_A32 += go[49];
+ m_A33 += go[50];
+ double RHS15 = Idr[49];
+ RHS15 += Idr[50];
+ m_A35 += gt[51];
+ m_A35 += gt[52];
+ m_A34 += go[51];
+ double RHS16 = Idr[51];
+ RHS16 += Idr[52];
+ RHS16 -= go[52] * *cnV[52];
+ m_A37 += gt[53];
+ m_A37 += gt[54];
+ m_A36 += go[53];
+ double RHS17 = Idr[53];
+ RHS17 += Idr[54];
+ RHS17 -= go[54] * *cnV[54];
+ m_A40 += gt[55];
+ m_A40 += gt[56];
+ m_A39 += go[55];
+ m_A38 += go[56];
+ double RHS18 = Idr[55];
+ RHS18 += Idr[56];
+ m_A42 += gt[57];
+ m_A42 += gt[58];
+ m_A42 += gt[59];
+ m_A42 += gt[60];
+ m_A41 += go[57];
+ m_A43 += go[58];
+ double RHS19 = Idr[57];
+ RHS19 += Idr[58];
+ RHS19 += Idr[59];
+ RHS19 += Idr[60];
+ RHS19 -= go[59] * *cnV[59];
+ RHS19 -= go[60] * *cnV[60];
+ m_A46 += gt[61];
+ m_A46 += gt[62];
+ m_A46 += gt[63];
+ m_A46 += gt[64];
+ m_A46 += gt[65];
+ m_A46 += gt[66];
+ m_A44 += go[61];
+ m_A47 += go[62];
+ m_A49 += go[63];
+ m_A48 += go[64];
+ double RHS20 = Idr[61];
+ RHS20 += Idr[62];
+ RHS20 += Idr[63];
+ RHS20 += Idr[64];
+ RHS20 += Idr[65];
+ RHS20 += Idr[66];
+ RHS20 -= go[65] * *cnV[65];
+ RHS20 -= go[66] * *cnV[66];
+ m_A51 += gt[67];
+ m_A51 += gt[68];
+ m_A51 += gt[69];
+ m_A51 += gt[70];
+ m_A50 += go[67];
+ m_A52 += go[68];
+ double RHS21 = Idr[67];
+ RHS21 += Idr[68];
+ RHS21 += Idr[69];
+ RHS21 += Idr[70];
+ RHS21 -= go[69] * *cnV[69];
+ RHS21 -= go[70] * *cnV[70];
+ m_A56 += gt[71];
+ m_A56 += gt[72];
+ m_A56 += gt[73];
+ m_A56 += gt[74];
+ m_A56 += gt[75];
+ m_A56 += gt[76];
+ m_A53 += go[71];
+ m_A54 += go[72];
+ m_A57 += go[73];
+ m_A59 += go[74];
+ double RHS22 = Idr[71];
+ RHS22 += Idr[72];
+ RHS22 += Idr[73];
+ RHS22 += Idr[74];
+ RHS22 += Idr[75];
+ RHS22 += Idr[76];
+ RHS22 -= go[75] * *cnV[75];
+ RHS22 -= go[76] * *cnV[76];
+ m_A61 += gt[77];
+ m_A61 += gt[78];
+ m_A60 += go[77];
+ m_A62 += go[78];
+ double RHS23 = Idr[77];
+ RHS23 += Idr[78];
+ m_A68 += gt[79];
+ m_A68 += gt[80];
+ m_A68 += gt[81];
+ m_A68 += gt[82];
+ m_A68 += gt[83];
+ m_A67 += go[79];
+ m_A65 += go[80];
+ m_A64 += go[81];
+ m_A63 += go[82];
+ m_A66 += go[83];
+ double RHS24 = Idr[79];
+ RHS24 += Idr[80];
+ RHS24 += Idr[81];
+ RHS24 += Idr[82];
+ RHS24 += Idr[83];
+ m_A77 += gt[84];
+ m_A77 += gt[85];
+ m_A77 += gt[86];
+ m_A77 += gt[87];
+ m_A74 += go[84];
+ m_A73 += go[85];
+ m_A78 += go[86];
+ m_A72 += go[87];
+ double RHS25 = Idr[84];
+ RHS25 += Idr[85];
+ RHS25 += Idr[86];
+ RHS25 += Idr[87];
+ m_A82 += gt[88];
+ m_A82 += gt[89];
+ m_A82 += gt[90];
+ m_A82 += gt[91];
+ m_A81 += go[88];
+ m_A83 += go[89];
+ double RHS26 = Idr[88];
+ RHS26 += Idr[89];
+ RHS26 += Idr[90];
+ RHS26 += Idr[91];
+ RHS26 -= go[90] * *cnV[90];
+ RHS26 -= go[91] * *cnV[91];
+ m_A87 += gt[92];
+ m_A87 += gt[93];
+ m_A87 += gt[94];
+ m_A87 += gt[95];
+ m_A87 += gt[96];
+ m_A84 += go[92];
+ m_A85 += go[93];
+ m_A88 += go[94];
+ double RHS27 = Idr[92];
+ RHS27 += Idr[93];
+ RHS27 += Idr[94];
+ RHS27 += Idr[95];
+ RHS27 += Idr[96];
+ RHS27 -= go[95] * *cnV[95];
+ RHS27 -= go[96] * *cnV[96];
+ m_A96 += gt[97];
+ m_A96 += gt[98];
+ m_A96 += gt[99];
+ m_A96 += gt[100];
+ m_A96 += gt[101];
+ m_A96 += gt[102];
+ m_A96 += gt[103];
+ m_A95 += go[97];
+ m_A91 += go[98];
+ m_A92 += go[99];
+ m_A90 += go[100];
+ m_A89 += go[101];
+ m_A93 += go[102];
+ m_A94 += go[103];
+ double RHS28 = Idr[97];
+ RHS28 += Idr[98];
+ RHS28 += Idr[99];
+ RHS28 += Idr[100];
+ RHS28 += Idr[101];
+ RHS28 += Idr[102];
+ RHS28 += Idr[103];
+ m_A106 += gt[104];
+ m_A106 += gt[105];
+ m_A106 += gt[106];
+ m_A106 += gt[107];
+ m_A106 += gt[108];
+ m_A102 += go[104];
+ m_A101 += go[105];
+ m_A107 += go[106];
+ m_A100 += go[107];
+ m_A99 += go[108];
+ double RHS29 = Idr[104];
+ RHS29 += Idr[105];
+ RHS29 += Idr[106];
+ RHS29 += Idr[107];
+ RHS29 += Idr[108];
+ m_A115 += gt[109];
+ m_A115 += gt[110];
+ m_A115 += gt[111];
+ m_A115 += gt[112];
+ m_A115 += gt[113];
+ m_A108 += go[109];
+ m_A110 += go[110];
+ m_A109 += go[111];
+ m_A114 += go[112];
+ double RHS30 = Idr[109];
+ RHS30 += Idr[110];
+ RHS30 += Idr[111];
+ RHS30 += Idr[112];
+ RHS30 += Idr[113];
+ RHS30 -= go[113] * *cnV[113];
+ const double f0 = 1.0 / m_A0;
const double f0_16 = -f0 * m_A34;
m_A35 += m_A1 * f0_16;
RHS16 += f0_16 * RHS0;
const double f0_29 = -f0 * m_A99;
m_A101 += m_A1 * f0_29;
RHS29 += f0_29 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_19 = -f1 * m_A41;
m_A43 += m_A3 * f1_19;
RHS19 += f1_19 * RHS1;
const double f1_29 = -f1 * m_A100;
m_A106 += m_A3 * f1_29;
RHS29 += f1_29 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_20 = -f2 * m_A44;
m_A45 += m_A5 * f2_20;
RHS20 += f2_20 * RHS2;
-const double f3 = 1.0 / m_A6;
+ const double f3 = 1.0 / m_A6;
const double f3_30 = -f3 * m_A108;
m_A115 += m_A7 * f3_30;
RHS30 += f3_30 * RHS3;
-const double f4 = 1.0 / m_A8;
+ const double f4 = 1.0 / m_A8;
const double f4_17 = -f4 * m_A36;
m_A37 += m_A9 * f4_17;
RHS17 += f4_17 * RHS4;
const double f4_24 = -f4 * m_A63;
m_A65 += m_A9 * f4_24;
RHS24 += f4_24 * RHS4;
-const double f5 = 1.0 / m_A10;
+ const double f5 = 1.0 / m_A10;
const double f5_22 = -f5 * m_A53;
m_A55 += m_A11 * f5_22;
RHS22 += f5_22 * RHS5;
-const double f6 = 1.0 / m_A12;
+ const double f6 = 1.0 / m_A12;
const double f6_21 = -f6 * m_A50;
m_A52 += m_A13 * f6_21;
RHS21 += f6_21 * RHS6;
const double f6_24 = -f6 * m_A64;
m_A68 += m_A13 * f6_24;
RHS24 += f6_24 * RHS6;
-const double f7 = 1.0 / m_A14;
+ const double f7 = 1.0 / m_A14;
const double f7_22 = -f7 * m_A54;
m_A56 += m_A15 * f7_22;
m_A58 += m_A16 * f7_22;
@@ -8720,41 +12626,41 @@ const double f7 = 1.0 / m_A14;
m_A75 += m_A15 * f7_25;
m_A77 += m_A16 * f7_25;
RHS25 += f7_25 * RHS7;
-const double f8 = 1.0 / m_A17;
+ const double f8 = 1.0 / m_A17;
const double f8_25 = -f8 * m_A73;
m_A77 += m_A18 * f8_25;
RHS25 += f8_25 * RHS8;
-const double f9 = 1.0 / m_A19;
+ const double f9 = 1.0 / m_A19;
const double f9_23 = -f9 * m_A60;
m_A61 += m_A20 * f9_23;
RHS23 += f9_23 * RHS9;
-const double f10 = 1.0 / m_A21;
+ const double f10 = 1.0 / m_A21;
const double f10_25 = -f10 * m_A74;
m_A77 += m_A22 * f10_25;
RHS25 += f10_25 * RHS10;
-const double f11 = 1.0 / m_A23;
+ const double f11 = 1.0 / m_A23;
const double f11_27 = -f11 * m_A84;
m_A86 += m_A24 * f11_27;
RHS27 += f11_27 * RHS11;
-const double f12 = 1.0 / m_A25;
+ const double f12 = 1.0 / m_A25;
const double f12_18 = -f12 * m_A38;
m_A40 += m_A26 * f12_18;
RHS18 += f12_18 * RHS12;
const double f12_28 = -f12 * m_A89;
m_A92 += m_A26 * f12_28;
RHS28 += f12_28 * RHS12;
-const double f13 = 1.0 / m_A27;
+ const double f13 = 1.0 / m_A27;
const double f13_18 = -f13 * m_A39;
m_A40 += m_A28 * f13_18;
RHS18 += f13_18 * RHS13;
-const double f14 = 1.0 / m_A29;
+ const double f14 = 1.0 / m_A29;
const double f14_26 = -f14 * m_A81;
m_A83 += m_A30 * f14_26;
RHS26 += f14_26 * RHS14;
const double f14_28 = -f14 * m_A90;
m_A96 += m_A30 * f14_28;
RHS28 += f14_28 * RHS14;
-const double f15 = 1.0 / m_A31;
+ const double f15 = 1.0 / m_A31;
const double f15_27 = -f15 * m_A85;
m_A87 += m_A32 * f15_27;
m_A88 += m_A33 * f15_27;
@@ -8763,20 +12669,20 @@ const double f15 = 1.0 / m_A31;
m_A95 += m_A32 * f15_28;
m_A96 += m_A33 * f15_28;
RHS28 += f15_28 * RHS15;
-const double f16 = 1.0 / m_A35;
+ const double f16 = 1.0 / m_A35;
const double f16_29 = -f16 * m_A101;
RHS29 += f16_29 * RHS16;
-const double f17 = 1.0 / m_A37;
+ const double f17 = 1.0 / m_A37;
const double f17_24 = -f17 * m_A65;
RHS24 += f17_24 * RHS17;
-const double f18 = 1.0 / m_A40;
+ const double f18 = 1.0 / m_A40;
const double f18_28 = -f18 * m_A92;
RHS28 += f18_28 * RHS18;
-const double f19 = 1.0 / m_A42;
+ const double f19 = 1.0 / m_A42;
const double f19_20 = -f19 * m_A45;
m_A48 += m_A43 * f19_20;
RHS20 += f19_20 * RHS19;
-const double f20 = 1.0 / m_A46;
+ const double f20 = 1.0 / m_A46;
const double f20_24 = -f20 * m_A66;
m_A68 += m_A47 * f20_24;
m_A70 += m_A48 * f20_24;
@@ -8792,11 +12698,11 @@ const double f20 = 1.0 / m_A46;
m_A114 += m_A48 * f20_30;
m_A115 += m_A49 * f20_30;
RHS30 += f20_30 * RHS20;
-const double f21 = 1.0 / m_A51;
+ const double f21 = 1.0 / m_A51;
const double f21_22 = -f21 * m_A55;
m_A57 += m_A52 * f21_22;
RHS22 += f21_22 * RHS21;
-const double f22 = 1.0 / m_A56;
+ const double f22 = 1.0 / m_A56;
const double f22_24 = -f22 * m_A67;
m_A68 += m_A57 * f22_24;
m_A69 += m_A58 * f22_24;
@@ -8812,11 +12718,11 @@ const double f22 = 1.0 / m_A56;
m_A112 += m_A58 * f22_30;
m_A115 += m_A59 * f22_30;
RHS30 += f22_30 * RHS22;
-const double f23 = 1.0 / m_A61;
+ const double f23 = 1.0 / m_A61;
const double f23_28 = -f23 * m_A93;
m_A96 += m_A62 * f23_28;
RHS28 += f23_28 * RHS23;
-const double f24 = 1.0 / m_A68;
+ const double f24 = 1.0 / m_A68;
const double f24_25 = -f24 * m_A76;
m_A77 += m_A69 * f24_25;
m_A79 += m_A70 * f24_25;
@@ -8832,7 +12738,7 @@ const double f24 = 1.0 / m_A68;
m_A114 += m_A70 * f24_30;
m_A115 += m_A71 * f24_30;
RHS30 += f24_30 * RHS24;
-const double f25 = 1.0 / m_A77;
+ const double f25 = 1.0 / m_A77;
const double f25_28 = -f25 * m_A94;
m_A96 += m_A78 * f25_28;
m_A97 += m_A79 * f25_28;
@@ -8848,15 +12754,15 @@ const double f25 = 1.0 / m_A77;
m_A114 += m_A79 * f25_30;
m_A115 += m_A80 * f25_30;
RHS30 += f25_30 * RHS25;
-const double f26 = 1.0 / m_A82;
+ const double f26 = 1.0 / m_A82;
const double f26_27 = -f26 * m_A86;
m_A88 += m_A83 * f26_27;
RHS27 += f26_27 * RHS26;
-const double f27 = 1.0 / m_A87;
+ const double f27 = 1.0 / m_A87;
const double f27_28 = -f27 * m_A95;
m_A96 += m_A88 * f27_28;
RHS28 += f27_28 * RHS27;
-const double f28 = 1.0 / m_A96;
+ const double f28 = 1.0 / m_A96;
const double f28_29 = -f28 * m_A105;
m_A106 += m_A97 * f28_29;
m_A107 += m_A98 * f28_29;
@@ -8865,7 +12771,7 @@ const double f28 = 1.0 / m_A96;
m_A114 += m_A97 * f28_30;
m_A115 += m_A98 * f28_30;
RHS30 += f28_30 * RHS28;
-const double f29 = 1.0 / m_A106;
+ const double f29 = 1.0 / m_A106;
const double f29_30 = -f29 * m_A114;
m_A115 += m_A107 * f29_30;
RHS30 += f29_30 * RHS29;
@@ -8971,1547 +12877,1859 @@ const double f29 = 1.0 / m_A106;
}
// 280zzzap
-static void nl_gcr_9e7791458f751e0c_123_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_caa814c0740131f2_104_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
-double m_A111(0.0);
-double m_A112(0.0);
-double m_A113(0.0);
-double m_A114(0.0);
-double m_A115(0.0);
-double m_A116(0.0);
-double m_A117(0.0);
-double m_A118(0.0);
-double m_A119(0.0);
-double m_A120(0.0);
-double m_A121(0.0);
-double m_A122(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17] + gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[17] * *cnV[17] - go[18] * *cnV[18] - go[19] * *cnV[19] - go[20] * *cnV[20] - go[21] * *cnV[21] - go[22] * *cnV[22];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A8 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[33] * *cnV[33] - go[34] * *cnV[34] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38];
- m_A10 = gt[40] + gt[41];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A12 = gt[48] + gt[49];
- m_A14 = m_A14 + go[48];
- m_A13 = m_A13 + go[49];
- double RHS6 = Idr[48] + Idr[49];
- m_A15 = gt[56] + gt[57];
- m_A16 = m_A16 + go[56];
- double RHS7 = Idr[56] + Idr[57] - go[57] * *cnV[57];
- m_A17 = gt[64] + gt[65];
- m_A18 = m_A18 + go[64];
- double RHS8 = Idr[64] + Idr[65] - go[65] * *cnV[65];
- m_A19 = gt[72] + gt[73] + gt[74] + gt[75] + gt[76] + gt[77] + gt[78];
- m_A20 = m_A20 + go[72];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] + Idr[76] + Idr[77] + Idr[78] - go[73] * *cnV[73] - go[74] * *cnV[74] - go[75] * *cnV[75] - go[76] * *cnV[76] - go[77] * *cnV[77] - go[78] * *cnV[78];
- m_A21 = gt[80] + gt[81] + gt[82];
- m_A22 = m_A22 + go[80];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] - go[81] * *cnV[81] - go[82] * *cnV[82];
- m_A23 = gt[88] + gt[89] + gt[90] + gt[91];
- m_A24 = m_A24 + go[88];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[89] * *cnV[89] - go[90] * *cnV[90] - go[91] * *cnV[91];
- m_A25 = gt[96] + gt[97] + gt[98] + gt[99] + gt[100] + gt[101] + gt[102];
- m_A26 = m_A26 + go[96];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] + Idr[100] + Idr[101] + Idr[102] - go[97] * *cnV[97] - go[98] * *cnV[98] - go[99] * *cnV[99] - go[100] * *cnV[100] - go[101] * *cnV[101] - go[102] * *cnV[102];
- m_A27 = gt[104] + gt[105];
- m_A28 = m_A28 + go[104];
- double RHS13 = Idr[104] + Idr[105] - go[105] * *cnV[105];
- m_A29 = gt[112] + gt[113];
- m_A30 = m_A30 + go[112];
- double RHS14 = Idr[112] + Idr[113] - go[113] * *cnV[113];
- m_A31 = gt[120] + gt[121];
- m_A32 = m_A32 + go[120];
- double RHS15 = Idr[120] + Idr[121] - go[121] * *cnV[121];
- m_A33 = gt[128] + gt[129] + gt[130] + gt[131];
- m_A35 = m_A35 + go[128];
- m_A34 = m_A34 + go[129];
- double RHS16 = Idr[128] + Idr[129] + Idr[130] + Idr[131] - go[130] * *cnV[130] - go[131] * *cnV[131];
- m_A36 = gt[136] + gt[137] + gt[138];
- m_A37 = m_A37 + go[136];
- double RHS17 = Idr[136] + Idr[137] + Idr[138] - go[137] * *cnV[137] - go[138] * *cnV[138];
- m_A38 = gt[144] + gt[145];
- m_A39 = m_A39 + go[144];
- double RHS18 = Idr[144] + Idr[145] - go[145] * *cnV[145];
- m_A40 = gt[152] + gt[153];
- m_A41 = m_A41 + go[152];
- double RHS19 = Idr[152] + Idr[153] - go[153] * *cnV[153];
- m_A43 = gt[160] + gt[161] + gt[162] + gt[163];
- m_A42 = m_A42 + go[160];
- double RHS20 = Idr[160] + Idr[161] + Idr[162] + Idr[163] - go[161] * *cnV[161] - go[162] * *cnV[162] - go[163] * *cnV[163];
- m_A47 = gt[168] + gt[169];
- m_A46 = m_A46 + go[168];
- m_A45 = m_A45 + go[169];
- double RHS21 = Idr[168] + Idr[169];
- m_A51 = gt[176] + gt[177];
- m_A49 = m_A49 + go[176];
- double RHS22 = Idr[176] + Idr[177] - go[177] * *cnV[177];
- m_A54 = gt[184] + gt[185] + gt[186];
- m_A53 = m_A53 + go[184];
- m_A52 = m_A52 + go[185];
- double RHS23 = Idr[184] + Idr[185] + Idr[186] - go[186] * *cnV[186];
- m_A56 = gt[192] + gt[193] + gt[194] + gt[195];
- m_A55 = m_A55 + go[192];
- m_A57 = m_A57 + go[193];
- double RHS24 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[194] * *cnV[194] - go[195] * *cnV[195];
- m_A59 = gt[200] + gt[201] + gt[202] + gt[203];
- m_A58 = m_A58 + go[200];
- m_A60 = m_A60 + go[201];
- double RHS25 = Idr[200] + Idr[201] + Idr[202] + Idr[203] - go[202] * *cnV[202] - go[203] * *cnV[203];
- m_A62 = gt[208] + gt[209];
- m_A63 = m_A63 + go[208];
- m_A61 = m_A61 + go[209];
- double RHS26 = Idr[208] + Idr[209];
- m_A67 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220] + gt[221];
- m_A64 = m_A64 + go[216];
- m_A65 = m_A65 + go[217];
- m_A69 = m_A69 + go[218];
- m_A68 = m_A68 + go[219];
- double RHS27 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] + Idr[221] - go[220] * *cnV[220] - go[221] * *cnV[221];
- m_A72 = gt[224] + gt[225] + gt[226] + gt[227];
- m_A71 = m_A71 + go[224];
- m_A73 = m_A73 + go[225];
- double RHS28 = Idr[224] + Idr[225] + Idr[226] + Idr[227] - go[226] * *cnV[226] - go[227] * *cnV[227];
- m_A76 = gt[232] + gt[233] + gt[234] + gt[235];
- m_A77 = m_A77 + go[232];
- m_A78 = m_A78 + go[233];
- m_A74 = m_A74 + go[234];
- m_A75 = m_A75 + go[235];
- double RHS29 = Idr[232] + Idr[233] + Idr[234] + Idr[235];
- m_A81 = gt[240] + gt[241] + gt[242];
- m_A80 = m_A80 + go[240];
- m_A79 = m_A79 + go[241];
- double RHS30 = Idr[240] + Idr[241] + Idr[242] - go[242] * *cnV[242];
- m_A84 = gt[248] + gt[249];
- m_A82 = m_A82 + go[248];
- m_A83 = m_A83 + go[249];
- double RHS31 = Idr[248] + Idr[249];
- m_A91 = gt[256] + gt[257] + gt[258] + gt[259] + gt[260];
- m_A86 = m_A86 + go[256];
- m_A90 = m_A90 + go[257];
- m_A88 = m_A88 + go[258];
- m_A85 = m_A85 + go[259];
- m_A87 = m_A87 + go[260];
- double RHS32 = Idr[256] + Idr[257] + Idr[258] + Idr[259] + Idr[260];
- m_A99 = gt[264] + gt[265] + gt[266] + gt[267] + gt[268];
- m_A96 = m_A96 + go[264];
- m_A100 = m_A100 + go[265];
- m_A97 = m_A97 + go[266];
- m_A94 = m_A94 + go[267];
- m_A95 = m_A95 + go[268];
- double RHS33 = Idr[264] + Idr[265] + Idr[266] + Idr[267] + Idr[268];
- m_A106 = gt[272] + gt[273] + gt[274] + gt[275];
- m_A103 = m_A103 + go[272];
- m_A104 = m_A104 + go[273];
- m_A101 = m_A101 + go[274];
- m_A102 = m_A102 + go[275];
- double RHS34 = Idr[272] + Idr[273] + Idr[274] + Idr[275];
- m_A111 = gt[280] + gt[281] + gt[282] + gt[283];
- m_A108 = m_A108 + go[280];
- m_A109 = m_A109 + go[281];
- double RHS35 = Idr[280] + Idr[281] + Idr[282] + Idr[283] - go[282] * *cnV[282] - go[283] * *cnV[283];
- m_A122 = gt[288] + gt[289] + gt[290] + gt[291] + gt[292] + gt[293];
- m_A113 = m_A113 + go[288];
- m_A117 = m_A117 + go[289];
- m_A120 = m_A120 + go[290];
- m_A114 = m_A114 + go[291];
- double RHS36 = Idr[288] + Idr[289] + Idr[290] + Idr[291] + Idr[292] + Idr[293] - go[292] * *cnV[292] - go[293] * *cnV[293];
-const double f0 = 1.0 / m_A0;
- const double f0_24 = -f0 * m_A55;
- m_A57 += m_A1 * f0_24;
- RHS24 += f0_24 * RHS0;
- const double f0_32 = -f0 * m_A85;
- m_A91 += m_A1 * f0_32;
- RHS32 += f0_32 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_32 = -f1 * m_A86;
- m_A91 += m_A3 * f1_32;
- RHS32 += f1_32 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_27 = -f2 * m_A64;
- m_A66 += m_A5 * f2_27;
- RHS27 += f2_27 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_25 = -f3 * m_A58;
- m_A60 += m_A7 * f3_25;
- RHS25 += f3_25 * RHS3;
- const double f3_34 = -f3 * m_A101;
- m_A106 += m_A7 * f3_34;
- RHS34 += f3_34 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_20 = -f4 * m_A42;
- m_A44 += m_A9 * f4_20;
- RHS20 += f4_20 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_21 = -f5 * m_A45;
- m_A47 += m_A11 * f5_21;
- RHS21 += f5_21 * RHS5;
- const double f5_32 = -f5 * m_A87;
- m_A88 += m_A11 * f5_32;
- RHS32 += f5_32 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_21 = -f6 * m_A46;
- m_A47 += m_A13 * f6_21;
- m_A48 += m_A14 * f6_21;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A5 += go[2];
+ m_A4 += go[3];
+ m_A3 += go[4];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A7 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A8 += gt[9];
+ m_A8 += gt[10];
+ m_A9 += go[9];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 -= go[10] * *cnV[10];
+ m_A10 += gt[11];
+ m_A10 += gt[12];
+ m_A10 += gt[13];
+ m_A12 += go[11];
+ m_A11 += go[12];
+ double RHS4 = Idr[11];
+ RHS4 += Idr[12];
+ RHS4 += Idr[13];
+ RHS4 -= go[13] * *cnV[13];
+ m_A13 += gt[14];
+ m_A13 += gt[15];
+ m_A14 += go[14];
+ double RHS5 = Idr[14];
+ RHS5 += Idr[15];
+ RHS5 -= go[15] * *cnV[15];
+ m_A15 += gt[16];
+ m_A15 += gt[17];
+ m_A15 += gt[18];
+ m_A15 += gt[19];
+ m_A15 += gt[20];
+ m_A15 += gt[21];
+ m_A15 += gt[22];
+ m_A19 += go[16];
+ m_A18 += go[17];
+ m_A17 += go[18];
+ m_A16 += go[19];
+ double RHS6 = Idr[16];
+ RHS6 += Idr[17];
+ RHS6 += Idr[18];
+ RHS6 += Idr[19];
+ RHS6 += Idr[20];
+ RHS6 += Idr[21];
+ RHS6 += Idr[22];
+ RHS6 -= go[20] * *cnV[20];
+ RHS6 -= go[21] * *cnV[21];
+ RHS6 -= go[22] * *cnV[22];
+ m_A20 += gt[23];
+ m_A20 += gt[24];
+ m_A20 += gt[25];
+ m_A20 += gt[26];
+ m_A20 += gt[27];
+ m_A20 += gt[28];
+ m_A20 += gt[29];
+ m_A24 += go[23];
+ m_A23 += go[24];
+ m_A22 += go[25];
+ m_A21 += go[26];
+ double RHS7 = Idr[23];
+ RHS7 += Idr[24];
+ RHS7 += Idr[25];
+ RHS7 += Idr[26];
+ RHS7 += Idr[27];
+ RHS7 += Idr[28];
+ RHS7 += Idr[29];
+ RHS7 -= go[27] * *cnV[27];
+ RHS7 -= go[28] * *cnV[28];
+ RHS7 -= go[29] * *cnV[29];
+ m_A25 += gt[30];
+ m_A25 += gt[31];
+ m_A25 += gt[32];
+ m_A26 += go[30];
+ m_A27 += go[31];
+ double RHS8 = Idr[30];
+ RHS8 += Idr[31];
+ RHS8 += Idr[32];
+ RHS8 -= go[32] * *cnV[32];
+ m_A28 += gt[33];
+ m_A28 += gt[34];
+ m_A29 += go[33];
+ double RHS9 = Idr[33];
+ RHS9 += Idr[34];
+ RHS9 -= go[34] * *cnV[34];
+ m_A30 += gt[35];
+ m_A30 += gt[36];
+ m_A30 += gt[37];
+ m_A30 += gt[38];
+ m_A31 += go[35];
+ double RHS10 = Idr[35];
+ RHS10 += Idr[36];
+ RHS10 += Idr[37];
+ RHS10 += Idr[38];
+ RHS10 -= go[36] * *cnV[36];
+ RHS10 -= go[37] * *cnV[37];
+ RHS10 -= go[38] * *cnV[38];
+ m_A32 += gt[39];
+ m_A32 += gt[40];
+ m_A33 += go[39];
+ double RHS11 = Idr[39];
+ RHS11 += Idr[40];
+ RHS11 -= go[40] * *cnV[40];
+ m_A36 += gt[41];
+ m_A36 += gt[42];
+ m_A36 += gt[43];
+ m_A36 += gt[44];
+ m_A35 += go[41];
+ m_A34 += go[42];
+ double RHS12 = Idr[41];
+ RHS12 += Idr[42];
+ RHS12 += Idr[43];
+ RHS12 += Idr[44];
+ RHS12 -= go[43] * *cnV[43];
+ RHS12 -= go[44] * *cnV[44];
+ m_A42 += gt[45];
+ m_A42 += gt[46];
+ m_A42 += gt[47];
+ m_A42 += gt[48];
+ m_A40 += go[45];
+ m_A41 += go[46];
+ m_A43 += go[47];
+ m_A39 += go[48];
+ double RHS13 = Idr[45];
+ RHS13 += Idr[46];
+ RHS13 += Idr[47];
+ RHS13 += Idr[48];
+ m_A45 += gt[49];
+ m_A45 += gt[50];
+ m_A45 += gt[51];
+ m_A45 += gt[52];
+ m_A44 += go[49];
+ m_A46 += go[50];
+ double RHS14 = Idr[49];
+ RHS14 += Idr[50];
+ RHS14 += Idr[51];
+ RHS14 += Idr[52];
+ RHS14 -= go[51] * *cnV[51];
+ RHS14 -= go[52] * *cnV[52];
+ m_A50 += gt[53];
+ m_A50 += gt[54];
+ m_A50 += gt[55];
+ m_A50 += gt[56];
+ m_A48 += go[53];
+ m_A47 += go[54];
+ double RHS15 = Idr[53];
+ RHS15 += Idr[54];
+ RHS15 += Idr[55];
+ RHS15 += Idr[56];
+ RHS15 -= go[55] * *cnV[55];
+ RHS15 -= go[56] * *cnV[56];
+ m_A57 += gt[57];
+ m_A57 += gt[58];
+ m_A57 += gt[59];
+ m_A57 += gt[60];
+ m_A56 += go[57];
+ m_A55 += go[58];
+ m_A58 += go[59];
+ double RHS16 = Idr[57];
+ RHS16 += Idr[58];
+ RHS16 += Idr[59];
+ RHS16 += Idr[60];
+ RHS16 -= go[60] * *cnV[60];
+ m_A63 += gt[61];
+ m_A63 += gt[62];
+ m_A63 += gt[63];
+ m_A63 += gt[64];
+ m_A66 += go[61];
+ m_A60 += go[62];
+ m_A59 += go[63];
+ double RHS17 = Idr[61];
+ RHS17 += Idr[62];
+ RHS17 += Idr[63];
+ RHS17 += Idr[64];
+ RHS17 -= go[64] * *cnV[64];
+ m_A74 += gt[65];
+ m_A74 += gt[66];
+ m_A74 += gt[67];
+ m_A74 += gt[68];
+ m_A74 += gt[69];
+ m_A74 += gt[70];
+ m_A77 += go[65];
+ m_A70 += go[66];
+ m_A69 += go[67];
+ m_A68 += go[68];
+ m_A71 += go[69];
+ double RHS18 = Idr[65];
+ RHS18 += Idr[66];
+ RHS18 += Idr[67];
+ RHS18 += Idr[68];
+ RHS18 += Idr[69];
+ RHS18 += Idr[70];
+ RHS18 -= go[70] * *cnV[70];
+ m_A85 += gt[71];
+ m_A85 += gt[72];
+ m_A85 += gt[73];
+ m_A85 += gt[74];
+ m_A85 += gt[75];
+ m_A85 += gt[76];
+ m_A82 += go[71];
+ m_A87 += go[72];
+ m_A79 += go[73];
+ m_A80 += go[74];
+ m_A78 += go[75];
+ double RHS19 = Idr[71];
+ RHS19 += Idr[72];
+ RHS19 += Idr[73];
+ RHS19 += Idr[74];
+ RHS19 += Idr[75];
+ RHS19 += Idr[76];
+ RHS19 -= go[76] * *cnV[76];
+ m_A93 += gt[77];
+ m_A93 += gt[78];
+ m_A93 += gt[79];
+ m_A93 += gt[80];
+ m_A93 += gt[81];
+ m_A89 += go[77];
+ m_A88 += go[78];
+ m_A90 += go[79];
+ double RHS20 = Idr[77];
+ RHS20 += Idr[78];
+ RHS20 += Idr[79];
+ RHS20 += Idr[80];
+ RHS20 += Idr[81];
+ RHS20 -= go[80] * *cnV[80];
+ RHS20 -= go[81] * *cnV[81];
+ m_A103 += gt[82];
+ m_A103 += gt[83];
+ m_A103 += gt[84];
+ m_A103 += gt[85];
+ m_A103 += gt[86];
+ m_A103 += gt[87];
+ m_A103 += gt[88];
+ m_A97 += go[82];
+ m_A96 += go[83];
+ m_A101 += go[84];
+ m_A95 += go[85];
+ m_A100 += go[86];
+ double RHS21 = Idr[82];
+ RHS21 += Idr[83];
+ RHS21 += Idr[84];
+ RHS21 += Idr[85];
+ RHS21 += Idr[86];
+ RHS21 += Idr[87];
+ RHS21 += Idr[88];
+ RHS21 -= go[87] * *cnV[87];
+ RHS21 -= go[88] * *cnV[88];
+ const double f0 = 1.0 / m_A0;
+ const double f0_12 = -f0 * m_A34;
+ m_A36 += m_A1 * f0_12;
+ RHS12 += f0_12 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_12 = -f1 * m_A35;
+ m_A36 += m_A3 * f1_12;
+ m_A37 += m_A4 * f1_12;
+ m_A38 += m_A5 * f1_12;
+ RHS12 += f1_12 * RHS1;
+ const double f1_15 = -f1 * m_A47;
+ m_A49 += m_A3 * f1_15;
+ m_A50 += m_A4 * f1_15;
+ m_A51 += m_A5 * f1_15;
+ RHS15 += f1_15 * RHS1;
+ const double f1_17 = -f1 * m_A59;
+ m_A61 += m_A3 * f1_17;
+ m_A62 += m_A4 * f1_17;
+ m_A63 += m_A5 * f1_17;
+ RHS17 += f1_17 * RHS1;
+ const double f2 = 1.0 / m_A6;
+ const double f2_13 = -f2 * m_A39;
+ m_A42 += m_A7 * f2_13;
+ RHS13 += f2_13 * RHS2;
+ const double f3 = 1.0 / m_A8;
+ const double f3_13 = -f3 * m_A40;
+ m_A42 += m_A9 * f3_13;
+ RHS13 += f3_13 * RHS3;
+ const double f4 = 1.0 / m_A10;
+ const double f4_13 = -f4 * m_A41;
+ m_A42 += m_A11 * f4_13;
+ m_A43 += m_A12 * f4_13;
+ RHS13 += f4_13 * RHS4;
+ const double f4_18 = -f4 * m_A68;
+ m_A71 += m_A11 * f4_18;
+ m_A74 += m_A12 * f4_18;
+ RHS18 += f4_18 * RHS4;
+ const double f5 = 1.0 / m_A13;
+ const double f5_14 = -f5 * m_A44;
+ m_A45 += m_A14 * f5_14;
+ RHS14 += f5_14 * RHS5;
+ const double f6 = 1.0 / m_A15;
+ const double f6_15 = -f6 * m_A48;
+ m_A50 += m_A16 * f6_15;
+ m_A52 += m_A17 * f6_15;
+ m_A53 += m_A18 * f6_15;
+ m_A54 += m_A19 * f6_15;
+ RHS15 += f6_15 * RHS6;
+ const double f6_18 = -f6 * m_A69;
+ m_A72 += m_A16 * f6_18;
+ m_A74 += m_A17 * f6_18;
+ m_A75 += m_A18 * f6_18;
+ m_A77 += m_A19 * f6_18;
+ RHS18 += f6_18 * RHS6;
+ const double f6_19 = -f6 * m_A78;
+ m_A81 += m_A16 * f6_19;
+ m_A84 += m_A17 * f6_19;
+ m_A85 += m_A18 * f6_19;
+ m_A87 += m_A19 * f6_19;
+ RHS19 += f6_19 * RHS6;
+ const double f6_21 = -f6 * m_A95;
+ m_A98 += m_A16 * f6_21;
+ m_A100 += m_A17 * f6_21;
+ m_A101 += m_A18 * f6_21;
+ m_A103 += m_A19 * f6_21;
RHS21 += f6_21 * RHS6;
- const double f6_22 = -f6 * m_A49;
- m_A50 += m_A13 * f6_22;
- m_A51 += m_A14 * f6_22;
- RHS22 += f6_22 * RHS6;
-const double f7 = 1.0 / m_A15;
- const double f7_23 = -f7 * m_A52;
- m_A54 += m_A16 * f7_23;
- RHS23 += f7_23 * RHS7;
- const double f7_34 = -f7 * m_A102;
- m_A103 += m_A16 * f7_34;
- RHS34 += f7_34 * RHS7;
-const double f8 = 1.0 / m_A17;
- const double f8_23 = -f8 * m_A53;
- m_A54 += m_A18 * f8_23;
- RHS23 += f8_23 * RHS8;
-const double f9 = 1.0 / m_A19;
- const double f9_36 = -f9 * m_A113;
- m_A116 += m_A20 * f9_36;
- RHS36 += f9_36 * RHS9;
-const double f10 = 1.0 / m_A21;
- const double f10_28 = -f10 * m_A71;
- m_A73 += m_A22 * f10_28;
- RHS28 += f10_28 * RHS10;
- const double f10_33 = -f10 * m_A94;
- m_A99 += m_A22 * f10_33;
- RHS33 += f10_33 * RHS10;
-const double f13 = 1.0 / m_A27;
- const double f13_26 = -f13 * m_A61;
- m_A62 += m_A28 * f13_26;
- RHS26 += f13_26 * RHS13;
- const double f13_33 = -f13 * m_A95;
- m_A97 += m_A28 * f13_33;
- RHS33 += f13_33 * RHS13;
-const double f14 = 1.0 / m_A29;
- const double f14_33 = -f14 * m_A96;
- m_A99 += m_A30 * f14_33;
- RHS33 += f14_33 * RHS14;
-const double f15 = 1.0 / m_A31;
- const double f15_31 = -f15 * m_A82;
- m_A84 += m_A32 * f15_31;
- RHS31 += f15_31 * RHS15;
-const double f16 = 1.0 / m_A33;
- const double f16_27 = -f16 * m_A65;
- m_A67 += m_A34 * f16_27;
- m_A70 += m_A35 * f16_27;
- RHS27 += f16_27 * RHS16;
- const double f16_36 = -f16 * m_A114;
- m_A115 += m_A34 * f16_36;
- m_A122 += m_A35 * f16_36;
- RHS36 += f16_36 * RHS16;
-const double f17 = 1.0 / m_A36;
- const double f17_29 = -f17 * m_A74;
- m_A76 += m_A37 * f17_29;
- RHS29 += f17_29 * RHS17;
- const double f17_35 = -f17 * m_A108;
- m_A109 += m_A37 * f17_35;
- RHS35 += f17_35 * RHS17;
-const double f18 = 1.0 / m_A38;
- const double f18_29 = -f18 * m_A75;
- m_A77 += m_A39 * f18_29;
- RHS29 += f18_29 * RHS18;
- const double f18_30 = -f18 * m_A79;
- m_A81 += m_A39 * f18_30;
- RHS30 += f18_30 * RHS18;
-const double f19 = 1.0 / m_A40;
- const double f19_30 = -f19 * m_A80;
- m_A81 += m_A41 * f19_30;
- RHS30 += f19_30 * RHS19;
-const double f21 = 1.0 / m_A47;
- const double f21_22 = -f21 * m_A50;
- m_A51 += m_A48 * f21_22;
- RHS22 += f21_22 * RHS21;
- const double f21_32 = -f21 * m_A88;
- m_A89 += m_A48 * f21_32;
- RHS32 += f21_32 * RHS21;
-const double f22 = 1.0 / m_A51;
- const double f22_32 = -f22 * m_A89;
- RHS32 += f22_32 * RHS22;
-const double f23 = 1.0 / m_A54;
- const double f23_34 = -f23 * m_A103;
- RHS34 += f23_34 * RHS23;
-const double f24 = 1.0 / m_A56;
- const double f24_27 = -f24 * m_A66;
- m_A68 += m_A57 * f24_27;
- RHS27 += f24_27 * RHS24;
-const double f26 = 1.0 / m_A62;
- const double f26_31 = -f26 * m_A83;
- m_A84 += m_A63 * f26_31;
- RHS31 += f26_31 * RHS26;
- const double f26_33 = -f26 * m_A97;
- m_A98 += m_A63 * f26_33;
- RHS33 += f26_33 * RHS26;
-const double f27 = 1.0 / m_A67;
- const double f27_32 = -f27 * m_A90;
- m_A91 += m_A68 * f27_32;
- m_A92 += m_A69 * f27_32;
- m_A93 += m_A70 * f27_32;
- RHS32 += f27_32 * RHS27;
- const double f27_34 = -f27 * m_A104;
- m_A105 += m_A68 * f27_34;
- m_A106 += m_A69 * f27_34;
- m_A107 += m_A70 * f27_34;
- RHS34 += f27_34 * RHS27;
- const double f27_36 = -f27 * m_A115;
- m_A119 += m_A68 * f27_36;
- m_A121 += m_A69 * f27_36;
- m_A122 += m_A70 * f27_36;
- RHS36 += f27_36 * RHS27;
-const double f28 = 1.0 / m_A72;
- const double f28_36 = -f28 * m_A116;
- m_A120 += m_A73 * f28_36;
- RHS36 += f28_36 * RHS28;
-const double f29 = 1.0 / m_A76;
- const double f29_35 = -f29 * m_A109;
- m_A110 += m_A77 * f29_35;
- m_A112 += m_A78 * f29_35;
- RHS35 += f29_35 * RHS29;
- const double f29_36 = -f29 * m_A117;
- m_A118 += m_A77 * f29_36;
- m_A122 += m_A78 * f29_36;
- RHS36 += f29_36 * RHS29;
-const double f30 = 1.0 / m_A81;
- const double f30_35 = -f30 * m_A110;
- RHS35 += f30_35 * RHS30;
- const double f30_36 = -f30 * m_A118;
- RHS36 += f30_36 * RHS30;
-const double f31 = 1.0 / m_A84;
- const double f31_33 = -f31 * m_A98;
- RHS33 += f31_33 * RHS31;
-const double f32 = 1.0 / m_A91;
- const double f32_34 = -f32 * m_A105;
- m_A106 += m_A92 * f32_34;
- m_A107 += m_A93 * f32_34;
- RHS34 += f32_34 * RHS32;
- const double f32_36 = -f32 * m_A119;
- m_A121 += m_A92 * f32_36;
- m_A122 += m_A93 * f32_36;
- RHS36 += f32_36 * RHS32;
-const double f33 = 1.0 / m_A99;
- const double f33_36 = -f33 * m_A120;
- m_A122 += m_A100 * f33_36;
- RHS36 += f33_36 * RHS33;
-const double f34 = 1.0 / m_A106;
- const double f34_36 = -f34 * m_A121;
- m_A122 += m_A107 * f34_36;
- RHS36 += f34_36 * RHS34;
- V[36] = RHS36 / m_A122;
- double tmp35 = 0.0;
- tmp35 += m_A112 * V[36];
- V[35] = (RHS35 - tmp35) / m_A111;
- double tmp34 = 0.0;
- tmp34 += m_A107 * V[36];
- V[34] = (RHS34 - tmp34) / m_A106;
- double tmp33 = 0.0;
- tmp33 += m_A100 * V[36];
- V[33] = (RHS33 - tmp33) / m_A99;
- double tmp32 = 0.0;
- tmp32 += m_A92 * V[34];
- tmp32 += m_A93 * V[36];
- V[32] = (RHS32 - tmp32) / m_A91;
- double tmp31 = 0.0;
- V[31] = (RHS31 - tmp31) / m_A84;
- double tmp30 = 0.0;
- V[30] = (RHS30 - tmp30) / m_A81;
- double tmp29 = 0.0;
- tmp29 += m_A77 * V[30];
- tmp29 += m_A78 * V[36];
- V[29] = (RHS29 - tmp29) / m_A76;
- double tmp28 = 0.0;
- tmp28 += m_A73 * V[33];
- V[28] = (RHS28 - tmp28) / m_A72;
- double tmp27 = 0.0;
- tmp27 += m_A68 * V[32];
- tmp27 += m_A69 * V[34];
- tmp27 += m_A70 * V[36];
- V[27] = (RHS27 - tmp27) / m_A67;
- double tmp26 = 0.0;
- tmp26 += m_A63 * V[31];
- V[26] = (RHS26 - tmp26) / m_A62;
- double tmp25 = 0.0;
- tmp25 += m_A60 * V[34];
- V[25] = (RHS25 - tmp25) / m_A59;
- double tmp24 = 0.0;
- tmp24 += m_A57 * V[32];
- V[24] = (RHS24 - tmp24) / m_A56;
- double tmp23 = 0.0;
- V[23] = (RHS23 - tmp23) / m_A54;
- double tmp22 = 0.0;
- V[22] = (RHS22 - tmp22) / m_A51;
- double tmp21 = 0.0;
- tmp21 += m_A48 * V[22];
- V[21] = (RHS21 - tmp21) / m_A47;
+ const double f7 = 1.0 / m_A20;
+ const double f7_17 = -f7 * m_A60;
+ m_A63 += m_A21 * f7_17;
+ m_A64 += m_A22 * f7_17;
+ m_A65 += m_A23 * f7_17;
+ m_A67 += m_A24 * f7_17;
+ RHS17 += f7_17 * RHS7;
+ const double f7_18 = -f7 * m_A70;
+ m_A73 += m_A21 * f7_18;
+ m_A74 += m_A22 * f7_18;
+ m_A75 += m_A23 * f7_18;
+ m_A77 += m_A24 * f7_18;
+ RHS18 += f7_18 * RHS7;
+ const double f7_19 = -f7 * m_A79;
+ m_A83 += m_A21 * f7_19;
+ m_A84 += m_A22 * f7_19;
+ m_A85 += m_A23 * f7_19;
+ m_A87 += m_A24 * f7_19;
+ RHS19 += f7_19 * RHS7;
+ const double f7_21 = -f7 * m_A96;
+ m_A99 += m_A21 * f7_21;
+ m_A100 += m_A22 * f7_21;
+ m_A101 += m_A23 * f7_21;
+ m_A103 += m_A24 * f7_21;
+ RHS21 += f7_21 * RHS7;
+ const double f8 = 1.0 / m_A25;
+ const double f8_16 = -f8 * m_A55;
+ m_A57 += m_A26 * f8_16;
+ m_A58 += m_A27 * f8_16;
+ RHS16 += f8_16 * RHS8;
+ const double f8_19 = -f8 * m_A80;
+ m_A82 += m_A26 * f8_19;
+ m_A85 += m_A27 * f8_19;
+ RHS19 += f8_19 * RHS8;
+ const double f9 = 1.0 / m_A28;
+ const double f9_16 = -f9 * m_A56;
+ m_A57 += m_A29 * f9_16;
+ RHS16 += f9_16 * RHS9;
+ const double f10 = 1.0 / m_A30;
+ const double f10_20 = -f10 * m_A88;
+ m_A93 += m_A31 * f10_20;
+ RHS20 += f10_20 * RHS10;
+ const double f11 = 1.0 / m_A32;
+ const double f11_20 = -f11 * m_A89;
+ m_A93 += m_A33 * f11_20;
+ RHS20 += f11_20 * RHS11;
+ const double f12 = 1.0 / m_A36;
+ const double f12_15 = -f12 * m_A49;
+ m_A50 += m_A37 * f12_15;
+ m_A51 += m_A38 * f12_15;
+ RHS15 += f12_15 * RHS12;
+ const double f12_17 = -f12 * m_A61;
+ m_A62 += m_A37 * f12_17;
+ m_A63 += m_A38 * f12_17;
+ RHS17 += f12_17 * RHS12;
+ const double f13 = 1.0 / m_A42;
+ const double f13_18 = -f13 * m_A71;
+ m_A74 += m_A43 * f13_18;
+ RHS18 += f13_18 * RHS13;
+ const double f14 = 1.0 / m_A45;
+ const double f14_21 = -f14 * m_A97;
+ m_A103 += m_A46 * f14_21;
+ RHS21 += f14_21 * RHS14;
+ const double f15 = 1.0 / m_A50;
+ const double f15_17 = -f15 * m_A62;
+ m_A63 += m_A51 * f15_17;
+ m_A64 += m_A52 * f15_17;
+ m_A65 += m_A53 * f15_17;
+ m_A67 += m_A54 * f15_17;
+ RHS17 += f15_17 * RHS15;
+ const double f15_18 = -f15 * m_A72;
+ m_A73 += m_A51 * f15_18;
+ m_A74 += m_A52 * f15_18;
+ m_A75 += m_A53 * f15_18;
+ m_A77 += m_A54 * f15_18;
+ RHS18 += f15_18 * RHS15;
+ const double f15_19 = -f15 * m_A81;
+ m_A83 += m_A51 * f15_19;
+ m_A84 += m_A52 * f15_19;
+ m_A85 += m_A53 * f15_19;
+ m_A87 += m_A54 * f15_19;
+ RHS19 += f15_19 * RHS15;
+ const double f15_21 = -f15 * m_A98;
+ m_A99 += m_A51 * f15_21;
+ m_A100 += m_A52 * f15_21;
+ m_A101 += m_A53 * f15_21;
+ m_A103 += m_A54 * f15_21;
+ RHS21 += f15_21 * RHS15;
+ const double f16 = 1.0 / m_A57;
+ const double f16_19 = -f16 * m_A82;
+ m_A85 += m_A58 * f16_19;
+ RHS19 += f16_19 * RHS16;
+ const double f17 = 1.0 / m_A63;
+ const double f17_18 = -f17 * m_A73;
+ m_A74 += m_A64 * f17_18;
+ m_A75 += m_A65 * f17_18;
+ m_A76 += m_A66 * f17_18;
+ m_A77 += m_A67 * f17_18;
+ RHS18 += f17_18 * RHS17;
+ const double f17_19 = -f17 * m_A83;
+ m_A84 += m_A64 * f17_19;
+ m_A85 += m_A65 * f17_19;
+ m_A86 += m_A66 * f17_19;
+ m_A87 += m_A67 * f17_19;
+ RHS19 += f17_19 * RHS17;
+ const double f17_20 = -f17 * m_A90;
+ m_A91 += m_A64 * f17_20;
+ m_A92 += m_A65 * f17_20;
+ m_A93 += m_A66 * f17_20;
+ m_A94 += m_A67 * f17_20;
+ RHS20 += f17_20 * RHS17;
+ const double f17_21 = -f17 * m_A99;
+ m_A100 += m_A64 * f17_21;
+ m_A101 += m_A65 * f17_21;
+ m_A102 += m_A66 * f17_21;
+ m_A103 += m_A67 * f17_21;
+ RHS21 += f17_21 * RHS17;
+ const double f18 = 1.0 / m_A74;
+ const double f18_19 = -f18 * m_A84;
+ m_A85 += m_A75 * f18_19;
+ m_A86 += m_A76 * f18_19;
+ m_A87 += m_A77 * f18_19;
+ RHS19 += f18_19 * RHS18;
+ const double f18_20 = -f18 * m_A91;
+ m_A92 += m_A75 * f18_20;
+ m_A93 += m_A76 * f18_20;
+ m_A94 += m_A77 * f18_20;
+ RHS20 += f18_20 * RHS18;
+ const double f18_21 = -f18 * m_A100;
+ m_A101 += m_A75 * f18_21;
+ m_A102 += m_A76 * f18_21;
+ m_A103 += m_A77 * f18_21;
+ RHS21 += f18_21 * RHS18;
+ const double f19 = 1.0 / m_A85;
+ const double f19_20 = -f19 * m_A92;
+ m_A93 += m_A86 * f19_20;
+ m_A94 += m_A87 * f19_20;
+ RHS20 += f19_20 * RHS19;
+ const double f19_21 = -f19 * m_A101;
+ m_A102 += m_A86 * f19_21;
+ m_A103 += m_A87 * f19_21;
+ RHS21 += f19_21 * RHS19;
+ const double f20 = 1.0 / m_A93;
+ const double f20_21 = -f20 * m_A102;
+ m_A103 += m_A94 * f20_21;
+ RHS21 += f20_21 * RHS20;
+ V[21] = RHS21 / m_A103;
double tmp20 = 0.0;
- tmp20 += m_A44 * V[25];
- V[20] = (RHS20 - tmp20) / m_A43;
+ tmp20 += m_A94 * V[21];
+ V[20] = (RHS20 - tmp20) / m_A93;
double tmp19 = 0.0;
- tmp19 += m_A41 * V[30];
- V[19] = (RHS19 - tmp19) / m_A40;
+ tmp19 += m_A86 * V[20];
+ tmp19 += m_A87 * V[21];
+ V[19] = (RHS19 - tmp19) / m_A85;
double tmp18 = 0.0;
- tmp18 += m_A39 * V[30];
- V[18] = (RHS18 - tmp18) / m_A38;
+ tmp18 += m_A75 * V[19];
+ tmp18 += m_A76 * V[20];
+ tmp18 += m_A77 * V[21];
+ V[18] = (RHS18 - tmp18) / m_A74;
double tmp17 = 0.0;
- tmp17 += m_A37 * V[29];
- V[17] = (RHS17 - tmp17) / m_A36;
+ tmp17 += m_A64 * V[18];
+ tmp17 += m_A65 * V[19];
+ tmp17 += m_A66 * V[20];
+ tmp17 += m_A67 * V[21];
+ V[17] = (RHS17 - tmp17) / m_A63;
double tmp16 = 0.0;
- tmp16 += m_A34 * V[27];
- tmp16 += m_A35 * V[36];
- V[16] = (RHS16 - tmp16) / m_A33;
+ tmp16 += m_A58 * V[19];
+ V[16] = (RHS16 - tmp16) / m_A57;
double tmp15 = 0.0;
- tmp15 += m_A32 * V[31];
- V[15] = (RHS15 - tmp15) / m_A31;
+ tmp15 += m_A51 * V[17];
+ tmp15 += m_A52 * V[18];
+ tmp15 += m_A53 * V[19];
+ tmp15 += m_A54 * V[21];
+ V[15] = (RHS15 - tmp15) / m_A50;
double tmp14 = 0.0;
- tmp14 += m_A30 * V[33];
- V[14] = (RHS14 - tmp14) / m_A29;
+ tmp14 += m_A46 * V[21];
+ V[14] = (RHS14 - tmp14) / m_A45;
double tmp13 = 0.0;
- tmp13 += m_A28 * V[26];
- V[13] = (RHS13 - tmp13) / m_A27;
+ tmp13 += m_A43 * V[18];
+ V[13] = (RHS13 - tmp13) / m_A42;
double tmp12 = 0.0;
- tmp12 += m_A26 * V[35];
- V[12] = (RHS12 - tmp12) / m_A25;
+ tmp12 += m_A37 * V[15];
+ tmp12 += m_A38 * V[17];
+ V[12] = (RHS12 - tmp12) / m_A36;
double tmp11 = 0.0;
- tmp11 += m_A24 * V[12];
- V[11] = (RHS11 - tmp11) / m_A23;
+ tmp11 += m_A33 * V[20];
+ V[11] = (RHS11 - tmp11) / m_A32;
double tmp10 = 0.0;
- tmp10 += m_A22 * V[33];
- V[10] = (RHS10 - tmp10) / m_A21;
+ tmp10 += m_A31 * V[20];
+ V[10] = (RHS10 - tmp10) / m_A30;
double tmp9 = 0.0;
- tmp9 += m_A20 * V[28];
- V[9] = (RHS9 - tmp9) / m_A19;
+ tmp9 += m_A29 * V[16];
+ V[9] = (RHS9 - tmp9) / m_A28;
double tmp8 = 0.0;
- tmp8 += m_A18 * V[23];
- V[8] = (RHS8 - tmp8) / m_A17;
+ tmp8 += m_A26 * V[16];
+ tmp8 += m_A27 * V[19];
+ V[8] = (RHS8 - tmp8) / m_A25;
double tmp7 = 0.0;
- tmp7 += m_A16 * V[23];
- V[7] = (RHS7 - tmp7) / m_A15;
+ tmp7 += m_A21 * V[17];
+ tmp7 += m_A22 * V[18];
+ tmp7 += m_A23 * V[19];
+ tmp7 += m_A24 * V[21];
+ V[7] = (RHS7 - tmp7) / m_A20;
double tmp6 = 0.0;
- tmp6 += m_A13 * V[21];
- tmp6 += m_A14 * V[22];
- V[6] = (RHS6 - tmp6) / m_A12;
+ tmp6 += m_A16 * V[15];
+ tmp6 += m_A17 * V[18];
+ tmp6 += m_A18 * V[19];
+ tmp6 += m_A19 * V[21];
+ V[6] = (RHS6 - tmp6) / m_A15;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[21];
- V[5] = (RHS5 - tmp5) / m_A10;
+ tmp5 += m_A14 * V[14];
+ V[5] = (RHS5 - tmp5) / m_A13;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[25];
- V[4] = (RHS4 - tmp4) / m_A8;
+ tmp4 += m_A11 * V[13];
+ tmp4 += m_A12 * V[18];
+ V[4] = (RHS4 - tmp4) / m_A10;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[34];
- V[3] = (RHS3 - tmp3) / m_A6;
+ tmp3 += m_A9 * V[13];
+ V[3] = (RHS3 - tmp3) / m_A8;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[24];
- V[2] = (RHS2 - tmp2) / m_A4;
+ tmp2 += m_A7 * V[13];
+ V[2] = (RHS2 - tmp2) / m_A6;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[32];
+ tmp1 += m_A3 * V[12];
+ tmp1 += m_A4 * V[15];
+ tmp1 += m_A5 * V[17];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[32];
+ tmp0 += m_A1 * V[12];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// 1942
-static void nl_gcr_a1b753ac9c408940_90_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// rebound
+static void nl_gcr_cb1d3c28ba315ca6_28_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A8 = gt[32] + gt[33] + gt[34];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A10 = gt[40] + gt[41] + gt[42];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] - go[41] * *cnV[41] - go[42] * *cnV[42];
- m_A12 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54];
- m_A19 = m_A19 + go[48];
- m_A13 = m_A13 + go[49];
- m_A15 = m_A15 + go[50];
- m_A17 = m_A17 + go[51];
- m_A18 = m_A18 + go[52];
- m_A16 = m_A16 + go[53];
- m_A14 = m_A14 + go[54];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54];
- m_A20 = gt[56] + gt[57];
- m_A22 = m_A22 + go[56];
- m_A21 = m_A21 + go[57];
- double RHS7 = Idr[56] + Idr[57];
- m_A25 = gt[64] + gt[65];
- m_A24 = m_A24 + go[64];
- m_A23 = m_A23 + go[65];
- double RHS8 = Idr[64] + Idr[65];
- m_A35 = gt[72] + gt[73];
- m_A33 = m_A33 + go[72];
- m_A32 = m_A32 + go[73];
- double RHS9 = Idr[72] + Idr[73];
- m_A45 = gt[80] + gt[81];
- m_A42 = m_A42 + go[80];
- m_A41 = m_A41 + go[81];
- double RHS10 = Idr[80] + Idr[81];
- m_A55 = gt[88] + gt[89];
- m_A51 = m_A51 + go[88];
- m_A50 = m_A50 + go[89];
- double RHS11 = Idr[88] + Idr[89];
- m_A65 = gt[96] + gt[97];
- m_A60 = m_A60 + go[96];
- m_A59 = m_A59 + go[97];
- double RHS12 = Idr[96] + Idr[97];
- m_A75 = gt[104] + gt[105];
- m_A69 = m_A69 + go[104];
- m_A68 = m_A68 + go[105];
- double RHS13 = Idr[104] + Idr[105];
- m_A85 = gt[112] + gt[113] + gt[114];
- m_A78 = m_A78 + go[112];
- m_A77 = m_A77 + go[113];
- double RHS14 = Idr[112] + Idr[113] + Idr[114] - go[114] * *cnV[114];
- m_A89 = gt[120] + gt[121];
- m_A87 = m_A87 + go[120];
- double RHS15 = Idr[120] + Idr[121] - go[121] * *cnV[121];
-const double f0 = 1.0 / m_A0;
- const double f0_9 = -f0 * m_A32;
- m_A35 += m_A1 * f0_9;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A4 += go[3];
+ m_A4 += go[4];
+ m_A3 += go[5];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[6] * *cnV[6];
+ m_A5 += gt[7];
+ m_A5 += gt[8];
+ m_A5 += gt[9];
+ m_A6 += go[7];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ m_A7 += gt[10];
+ m_A7 += gt[11];
+ m_A7 += gt[12];
+ m_A7 += gt[13];
+ m_A7 += gt[14];
+ m_A7 += gt[15];
+ m_A7 += gt[16];
+ m_A8 += go[10];
+ m_A8 += go[11];
+ double RHS3 = Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ RHS3 += Idr[16];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ RHS3 -= go[15] * *cnV[15];
+ RHS3 -= go[16] * *cnV[16];
+ m_A11 += gt[17];
+ m_A11 += gt[18];
+ m_A11 += gt[19];
+ m_A13 += go[17];
+ m_A10 += go[18];
+ m_A9 += go[19];
+ double RHS4 = Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ m_A16 += gt[20];
+ m_A16 += gt[21];
+ m_A16 += gt[22];
+ m_A16 += gt[23];
+ m_A16 += gt[24];
+ m_A16 += gt[25];
+ m_A16 += gt[26];
+ m_A18 += go[20];
+ m_A14 += go[21];
+ m_A14 += go[22];
+ double RHS5 = Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 += Idr[24];
+ RHS5 += Idr[25];
+ RHS5 += Idr[26];
+ RHS5 -= go[23] * *cnV[23];
+ RHS5 -= go[24] * *cnV[24];
+ RHS5 -= go[25] * *cnV[25];
+ RHS5 -= go[26] * *cnV[26];
+ m_A22 += gt[27];
+ m_A22 += gt[28];
+ m_A22 += gt[29];
+ m_A22 += gt[30];
+ m_A22 += gt[31];
+ m_A22 += gt[32];
+ m_A22 += gt[33];
+ m_A22 += gt[34];
+ m_A22 += gt[35];
+ m_A22 += gt[36];
+ m_A23 += go[27];
+ m_A23 += go[28];
+ m_A20 += go[29];
+ m_A19 += go[30];
+ m_A19 += go[31];
+ double RHS6 = Idr[27];
+ RHS6 += Idr[28];
+ RHS6 += Idr[29];
+ RHS6 += Idr[30];
+ RHS6 += Idr[31];
+ RHS6 += Idr[32];
+ RHS6 += Idr[33];
+ RHS6 += Idr[34];
+ RHS6 += Idr[35];
+ RHS6 += Idr[36];
+ RHS6 -= go[32] * *cnV[32];
+ RHS6 -= go[33] * *cnV[33];
+ RHS6 -= go[34] * *cnV[34];
+ RHS6 -= go[35] * *cnV[35];
+ RHS6 -= go[36] * *cnV[36];
+ m_A27 += gt[37];
+ m_A27 += gt[38];
+ m_A27 += gt[39];
+ m_A27 += gt[40];
+ m_A27 += gt[41];
+ m_A26 += go[37];
+ m_A26 += go[38];
+ m_A25 += go[39];
+ m_A24 += go[40];
+ double RHS7 = Idr[37];
+ RHS7 += Idr[38];
+ RHS7 += Idr[39];
+ RHS7 += Idr[40];
+ RHS7 += Idr[41];
+ RHS7 -= go[41] * *cnV[41];
+ const double f0 = 1.0 / m_A0;
+ const double f0_4 = -f0 * m_A9;
+ m_A11 += m_A1 * f0_4;
+ RHS4 += f0_4 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A10;
+ m_A11 += m_A3 * f1_4;
+ m_A12 += m_A4 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f1_5 = -f1 * m_A14;
+ m_A15 += m_A3 * f1_5;
+ m_A16 += m_A4 * f1_5;
+ RHS5 += f1_5 * RHS1;
+ const double f2 = 1.0 / m_A5;
+ const double f2_7 = -f2 * m_A24;
+ m_A27 += m_A6 * f2_7;
+ RHS7 += f2_7 * RHS2;
+ const double f3 = 1.0 / m_A7;
+ const double f3_6 = -f3 * m_A19;
+ m_A22 += m_A8 * f3_6;
+ RHS6 += f3_6 * RHS3;
+ const double f4 = 1.0 / m_A11;
+ const double f4_5 = -f4 * m_A15;
+ m_A16 += m_A12 * f4_5;
+ m_A17 += m_A13 * f4_5;
+ RHS5 += f4_5 * RHS4;
+ const double f4_6 = -f4 * m_A20;
+ m_A21 += m_A12 * f4_6;
+ m_A22 += m_A13 * f4_6;
+ RHS6 += f4_6 * RHS4;
+ const double f5 = 1.0 / m_A16;
+ const double f5_6 = -f5 * m_A21;
+ m_A22 += m_A17 * f5_6;
+ m_A23 += m_A18 * f5_6;
+ RHS6 += f5_6 * RHS5;
+ const double f5_7 = -f5 * m_A25;
+ m_A26 += m_A17 * f5_7;
+ m_A27 += m_A18 * f5_7;
+ RHS7 += f5_7 * RHS5;
+ const double f6 = 1.0 / m_A22;
+ const double f6_7 = -f6 * m_A26;
+ m_A27 += m_A23 * f6_7;
+ RHS7 += f6_7 * RHS6;
+ V[7] = RHS7 / m_A27;
+ double tmp6 = 0.0;
+ tmp6 += m_A23 * V[7];
+ V[6] = (RHS6 - tmp6) / m_A22;
+ double tmp5 = 0.0;
+ tmp5 += m_A17 * V[6];
+ tmp5 += m_A18 * V[7];
+ V[5] = (RHS5 - tmp5) / m_A16;
+ double tmp4 = 0.0;
+ tmp4 += m_A12 * V[5];
+ tmp4 += m_A13 * V[6];
+ V[4] = (RHS4 - tmp4) / m_A11;
+ double tmp3 = 0.0;
+ tmp3 += m_A8 * V[6];
+ V[3] = (RHS3 - tmp3) / m_A7;
+ double tmp2 = 0.0;
+ tmp2 += m_A6 * V[7];
+ V[2] = (RHS2 - tmp2) / m_A5;
+ double tmp1 = 0.0;
+ tmp1 += m_A3 * V[4];
+ tmp1 += m_A4 * V[5];
+ V[1] = (RHS1 - tmp1) / m_A2;
+ double tmp0 = 0.0;
+ tmp0 += m_A1 * V[4];
+ V[0] = (RHS0 - tmp0) / m_A0;
+}
+
+// mario
+static void nl_gcr_cc367a3c6e2f7ec9_62_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
+
+{
+
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[3] * *cnV[3];
+ RHS1 -= go[4] * *cnV[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A5 += go[5];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A7 += go[7];
+ double RHS3 = Idr[7];
+ RHS3 += Idr[8];
+ RHS3 += Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 -= go[8] * *cnV[8];
+ RHS3 -= go[9] * *cnV[9];
+ RHS3 -= go[10] * *cnV[10];
+ RHS3 -= go[11] * *cnV[11];
+ RHS3 -= go[12] * *cnV[12];
+ RHS3 -= go[13] * *cnV[13];
+ m_A8 += gt[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A8 += gt[17];
+ m_A8 += gt[18];
+ m_A8 += gt[19];
+ m_A8 += gt[20];
+ m_A9 += go[14];
+ double RHS4 = Idr[14];
+ RHS4 += Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 -= go[15] * *cnV[15];
+ RHS4 -= go[16] * *cnV[16];
+ RHS4 -= go[17] * *cnV[17];
+ RHS4 -= go[18] * *cnV[18];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ m_A10 += gt[21];
+ m_A10 += gt[22];
+ m_A12 += go[21];
+ m_A11 += go[22];
+ double RHS5 = Idr[21];
+ RHS5 += Idr[22];
+ m_A13 += gt[23];
+ m_A13 += gt[24];
+ m_A13 += gt[25];
+ m_A14 += go[23];
+ double RHS6 = Idr[23];
+ RHS6 += Idr[24];
+ RHS6 += Idr[25];
+ RHS6 -= go[24] * *cnV[24];
+ RHS6 -= go[25] * *cnV[25];
+ m_A15 += gt[26];
+ m_A15 += gt[27];
+ m_A16 += go[26];
+ double RHS7 = Idr[26];
+ RHS7 += Idr[27];
+ RHS7 -= go[27] * *cnV[27];
+ m_A17 += gt[28];
+ m_A17 += gt[29];
+ m_A17 += gt[30];
+ m_A17 += gt[31];
+ m_A18 += go[28];
+ double RHS8 = Idr[28];
+ RHS8 += Idr[29];
+ RHS8 += Idr[30];
+ RHS8 += Idr[31];
+ RHS8 -= go[29] * *cnV[29];
+ RHS8 -= go[30] * *cnV[30];
+ RHS8 -= go[31] * *cnV[31];
+ m_A20 += gt[32];
+ m_A20 += gt[33];
+ m_A19 += go[32];
+ double RHS9 = Idr[32];
+ RHS9 += Idr[33];
+ RHS9 -= go[33] * *cnV[33];
+ m_A22 += gt[34];
+ m_A22 += gt[35];
+ m_A22 += gt[36];
+ m_A22 += gt[37];
+ m_A21 += go[34];
+ m_A23 += go[35];
+ double RHS10 = Idr[34];
+ RHS10 += Idr[35];
+ RHS10 += Idr[36];
+ RHS10 += Idr[37];
+ RHS10 -= go[36] * *cnV[36];
+ RHS10 -= go[37] * *cnV[37];
+ m_A27 += gt[38];
+ m_A27 += gt[39];
+ m_A27 += gt[40];
+ m_A27 += gt[41];
+ m_A27 += gt[42];
+ m_A24 += go[38];
+ m_A25 += go[39];
+ m_A28 += go[40];
+ double RHS11 = Idr[38];
+ RHS11 += Idr[39];
+ RHS11 += Idr[40];
+ RHS11 += Idr[41];
+ RHS11 += Idr[42];
+ RHS11 -= go[41] * *cnV[41];
+ RHS11 -= go[42] * *cnV[42];
+ m_A32 += gt[43];
+ m_A32 += gt[44];
+ m_A31 += go[43];
+ m_A30 += go[44];
+ double RHS12 = Idr[43];
+ RHS12 += Idr[44];
+ m_A34 += gt[45];
+ m_A34 += gt[46];
+ m_A34 += gt[47];
+ m_A34 += gt[48];
+ m_A34 += gt[49];
+ m_A34 += gt[50];
+ m_A33 += go[45];
+ m_A37 += go[46];
+ m_A36 += go[47];
+ double RHS13 = Idr[45];
+ RHS13 += Idr[46];
+ RHS13 += Idr[47];
+ RHS13 += Idr[48];
+ RHS13 += Idr[49];
+ RHS13 += Idr[50];
+ RHS13 -= go[48] * *cnV[48];
+ RHS13 -= go[49] * *cnV[49];
+ RHS13 -= go[50] * *cnV[50];
+ m_A39 += gt[51];
+ m_A39 += gt[52];
+ m_A39 += gt[53];
+ m_A39 += gt[54];
+ m_A40 += go[51];
+ m_A38 += go[52];
+ double RHS14 = Idr[51];
+ RHS14 += Idr[52];
+ RHS14 += Idr[53];
+ RHS14 += Idr[54];
+ RHS14 -= go[53] * *cnV[53];
+ RHS14 -= go[54] * *cnV[54];
+ m_A46 += gt[55];
+ m_A46 += gt[56];
+ m_A46 += gt[57];
+ m_A46 += gt[58];
+ m_A46 += gt[59];
+ m_A44 += go[55];
+ m_A45 += go[56];
+ m_A43 += go[57];
+ m_A42 += go[58];
+ m_A41 += go[59];
+ double RHS15 = Idr[55];
+ RHS15 += Idr[56];
+ RHS15 += Idr[57];
+ RHS15 += Idr[58];
+ RHS15 += Idr[59];
+ m_A53 += gt[60];
+ m_A53 += gt[61];
+ m_A53 += gt[62];
+ m_A53 += gt[63];
+ m_A50 += go[60];
+ m_A54 += go[61];
+ m_A48 += go[62];
+ double RHS16 = Idr[60];
+ RHS16 += Idr[61];
+ RHS16 += Idr[62];
+ RHS16 += Idr[63];
+ RHS16 -= go[63] * *cnV[63];
+ m_A61 += gt[64];
+ m_A61 += gt[65];
+ m_A61 += gt[66];
+ m_A61 += gt[67];
+ m_A61 += gt[68];
+ m_A57 += go[64];
+ m_A58 += go[65];
+ m_A60 += go[66];
+ m_A55 += go[67];
+ m_A56 += go[68];
+ double RHS17 = Idr[64];
+ RHS17 += Idr[65];
+ RHS17 += Idr[66];
+ RHS17 += Idr[67];
+ RHS17 += Idr[68];
+ const double f0 = 1.0 / m_A0;
+ const double f0_9 = -f0 * m_A19;
+ m_A20 += m_A1 * f0_9;
RHS9 += f0_9 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_11 = -f1 * m_A50;
- m_A55 += m_A3 * f1_11;
- RHS11 += f1_11 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_13 = -f2 * m_A68;
- m_A75 += m_A5 * f2_13;
- RHS13 += f2_13 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_12 = -f3 * m_A59;
- m_A65 += m_A7 * f3_12;
- RHS12 += f3_12 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_10 = -f4 * m_A41;
- m_A45 += m_A9 * f4_10;
- RHS10 += f4_10 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_8 = -f5 * m_A23;
- m_A25 += m_A11 * f5_8;
- RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_8 = -f6 * m_A24;
- m_A25 += m_A13 * f6_8;
- m_A26 += m_A14 * f6_8;
- m_A27 += m_A15 * f6_8;
- m_A28 += m_A16 * f6_8;
- m_A29 += m_A17 * f6_8;
- m_A30 += m_A18 * f6_8;
- m_A31 += m_A19 * f6_8;
- RHS8 += f6_8 * RHS6;
- const double f6_9 = -f6 * m_A33;
- m_A34 += m_A13 * f6_9;
- m_A35 += m_A14 * f6_9;
- m_A36 += m_A15 * f6_9;
- m_A37 += m_A16 * f6_9;
- m_A38 += m_A17 * f6_9;
- m_A39 += m_A18 * f6_9;
- m_A40 += m_A19 * f6_9;
- RHS9 += f6_9 * RHS6;
- const double f6_10 = -f6 * m_A42;
- m_A43 += m_A13 * f6_10;
- m_A44 += m_A14 * f6_10;
- m_A45 += m_A15 * f6_10;
- m_A46 += m_A16 * f6_10;
- m_A47 += m_A17 * f6_10;
- m_A48 += m_A18 * f6_10;
- m_A49 += m_A19 * f6_10;
- RHS10 += f6_10 * RHS6;
- const double f6_11 = -f6 * m_A51;
- m_A52 += m_A13 * f6_11;
- m_A53 += m_A14 * f6_11;
- m_A54 += m_A15 * f6_11;
- m_A55 += m_A16 * f6_11;
- m_A56 += m_A17 * f6_11;
- m_A57 += m_A18 * f6_11;
- m_A58 += m_A19 * f6_11;
- RHS11 += f6_11 * RHS6;
- const double f6_12 = -f6 * m_A60;
- m_A61 += m_A13 * f6_12;
- m_A62 += m_A14 * f6_12;
- m_A63 += m_A15 * f6_12;
- m_A64 += m_A16 * f6_12;
- m_A65 += m_A17 * f6_12;
- m_A66 += m_A18 * f6_12;
- m_A67 += m_A19 * f6_12;
- RHS12 += f6_12 * RHS6;
- const double f6_13 = -f6 * m_A69;
- m_A70 += m_A13 * f6_13;
- m_A71 += m_A14 * f6_13;
- m_A72 += m_A15 * f6_13;
- m_A73 += m_A16 * f6_13;
- m_A74 += m_A17 * f6_13;
- m_A75 += m_A18 * f6_13;
- m_A76 += m_A19 * f6_13;
- RHS13 += f6_13 * RHS6;
- const double f6_14 = -f6 * m_A77;
- m_A79 += m_A13 * f6_14;
- m_A80 += m_A14 * f6_14;
- m_A81 += m_A15 * f6_14;
- m_A82 += m_A16 * f6_14;
- m_A83 += m_A17 * f6_14;
- m_A84 += m_A18 * f6_14;
- m_A85 += m_A19 * f6_14;
+ const double f0_15 = -f0 * m_A41;
+ m_A44 += m_A1 * f0_15;
+ RHS15 += f0_15 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_10 = -f1 * m_A21;
+ m_A23 += m_A3 * f1_10;
+ RHS10 += f1_10 * RHS1;
+ const double f1_15 = -f1 * m_A42;
+ m_A46 += m_A3 * f1_15;
+ RHS15 += f1_15 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_15 = -f2 * m_A43;
+ m_A46 += m_A5 * f2_15;
+ RHS15 += f2_15 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_11 = -f3 * m_A24;
+ m_A26 += m_A7 * f3_11;
+ RHS11 += f3_11 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_13 = -f4 * m_A33;
+ m_A35 += m_A9 * f4_13;
+ RHS13 += f4_13 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_11 = -f5 * m_A25;
+ m_A27 += m_A11 * f5_11;
+ m_A29 += m_A12 * f5_11;
+ RHS11 += f5_11 * RHS5;
+ const double f5_16 = -f5 * m_A48;
+ m_A49 += m_A11 * f5_16;
+ m_A53 += m_A12 * f5_16;
+ RHS16 += f5_16 * RHS5;
+ const double f6 = 1.0 / m_A13;
+ const double f6_14 = -f6 * m_A38;
+ m_A40 += m_A14 * f6_14;
RHS14 += f6_14 * RHS6;
-const double f7 = 1.0 / m_A20;
- const double f7_14 = -f7 * m_A78;
- m_A85 += m_A21 * f7_14;
- m_A86 += m_A22 * f7_14;
- RHS14 += f7_14 * RHS7;
- const double f7_15 = -f7 * m_A87;
- m_A88 += m_A21 * f7_15;
- m_A89 += m_A22 * f7_15;
- RHS15 += f7_15 * RHS7;
-const double f8 = 1.0 / m_A25;
- const double f8_9 = -f8 * m_A34;
- m_A35 += m_A26 * f8_9;
- m_A36 += m_A27 * f8_9;
- m_A37 += m_A28 * f8_9;
- m_A38 += m_A29 * f8_9;
- m_A39 += m_A30 * f8_9;
- m_A40 += m_A31 * f8_9;
- RHS9 += f8_9 * RHS8;
- const double f8_10 = -f8 * m_A43;
- m_A44 += m_A26 * f8_10;
- m_A45 += m_A27 * f8_10;
- m_A46 += m_A28 * f8_10;
- m_A47 += m_A29 * f8_10;
- m_A48 += m_A30 * f8_10;
- m_A49 += m_A31 * f8_10;
- RHS10 += f8_10 * RHS8;
- const double f8_11 = -f8 * m_A52;
- m_A53 += m_A26 * f8_11;
- m_A54 += m_A27 * f8_11;
- m_A55 += m_A28 * f8_11;
- m_A56 += m_A29 * f8_11;
- m_A57 += m_A30 * f8_11;
- m_A58 += m_A31 * f8_11;
- RHS11 += f8_11 * RHS8;
- const double f8_12 = -f8 * m_A61;
- m_A62 += m_A26 * f8_12;
- m_A63 += m_A27 * f8_12;
- m_A64 += m_A28 * f8_12;
- m_A65 += m_A29 * f8_12;
- m_A66 += m_A30 * f8_12;
- m_A67 += m_A31 * f8_12;
+ const double f6_17 = -f6 * m_A55;
+ m_A61 += m_A14 * f6_17;
+ RHS17 += f6_17 * RHS6;
+ const double f7 = 1.0 / m_A15;
+ const double f7_12 = -f7 * m_A30;
+ m_A32 += m_A16 * f7_12;
+ RHS12 += f7_12 * RHS7;
+ const double f7_17 = -f7 * m_A56;
+ m_A57 += m_A16 * f7_17;
+ RHS17 += f7_17 * RHS7;
+ const double f8 = 1.0 / m_A17;
+ const double f8_12 = -f8 * m_A31;
+ m_A32 += m_A18 * f8_12;
RHS12 += f8_12 * RHS8;
- const double f8_13 = -f8 * m_A70;
- m_A71 += m_A26 * f8_13;
- m_A72 += m_A27 * f8_13;
- m_A73 += m_A28 * f8_13;
- m_A74 += m_A29 * f8_13;
- m_A75 += m_A30 * f8_13;
- m_A76 += m_A31 * f8_13;
- RHS13 += f8_13 * RHS8;
- const double f8_14 = -f8 * m_A79;
- m_A80 += m_A26 * f8_14;
- m_A81 += m_A27 * f8_14;
- m_A82 += m_A28 * f8_14;
- m_A83 += m_A29 * f8_14;
- m_A84 += m_A30 * f8_14;
- m_A85 += m_A31 * f8_14;
- RHS14 += f8_14 * RHS8;
-const double f9 = 1.0 / m_A35;
- const double f9_10 = -f9 * m_A44;
- m_A45 += m_A36 * f9_10;
- m_A46 += m_A37 * f9_10;
- m_A47 += m_A38 * f9_10;
- m_A48 += m_A39 * f9_10;
- m_A49 += m_A40 * f9_10;
- RHS10 += f9_10 * RHS9;
- const double f9_11 = -f9 * m_A53;
- m_A54 += m_A36 * f9_11;
- m_A55 += m_A37 * f9_11;
- m_A56 += m_A38 * f9_11;
- m_A57 += m_A39 * f9_11;
- m_A58 += m_A40 * f9_11;
- RHS11 += f9_11 * RHS9;
- const double f9_12 = -f9 * m_A62;
- m_A63 += m_A36 * f9_12;
- m_A64 += m_A37 * f9_12;
- m_A65 += m_A38 * f9_12;
- m_A66 += m_A39 * f9_12;
- m_A67 += m_A40 * f9_12;
- RHS12 += f9_12 * RHS9;
- const double f9_13 = -f9 * m_A71;
- m_A72 += m_A36 * f9_13;
- m_A73 += m_A37 * f9_13;
- m_A74 += m_A38 * f9_13;
- m_A75 += m_A39 * f9_13;
- m_A76 += m_A40 * f9_13;
- RHS13 += f9_13 * RHS9;
- const double f9_14 = -f9 * m_A80;
- m_A81 += m_A36 * f9_14;
- m_A82 += m_A37 * f9_14;
- m_A83 += m_A38 * f9_14;
- m_A84 += m_A39 * f9_14;
- m_A85 += m_A40 * f9_14;
- RHS14 += f9_14 * RHS9;
-const double f10 = 1.0 / m_A45;
- const double f10_11 = -f10 * m_A54;
- m_A55 += m_A46 * f10_11;
- m_A56 += m_A47 * f10_11;
- m_A57 += m_A48 * f10_11;
- m_A58 += m_A49 * f10_11;
+ const double f9 = 1.0 / m_A20;
+ const double f9_15 = -f9 * m_A44;
+ RHS15 += f9_15 * RHS9;
+ const double f10 = 1.0 / m_A22;
+ const double f10_11 = -f10 * m_A26;
+ m_A28 += m_A23 * f10_11;
RHS11 += f10_11 * RHS10;
- const double f10_12 = -f10 * m_A63;
- m_A64 += m_A46 * f10_12;
- m_A65 += m_A47 * f10_12;
- m_A66 += m_A48 * f10_12;
- m_A67 += m_A49 * f10_12;
- RHS12 += f10_12 * RHS10;
- const double f10_13 = -f10 * m_A72;
- m_A73 += m_A46 * f10_13;
- m_A74 += m_A47 * f10_13;
- m_A75 += m_A48 * f10_13;
- m_A76 += m_A49 * f10_13;
- RHS13 += f10_13 * RHS10;
- const double f10_14 = -f10 * m_A81;
- m_A82 += m_A46 * f10_14;
- m_A83 += m_A47 * f10_14;
- m_A84 += m_A48 * f10_14;
- m_A85 += m_A49 * f10_14;
- RHS14 += f10_14 * RHS10;
-const double f11 = 1.0 / m_A55;
- const double f11_12 = -f11 * m_A64;
- m_A65 += m_A56 * f11_12;
- m_A66 += m_A57 * f11_12;
- m_A67 += m_A58 * f11_12;
- RHS12 += f11_12 * RHS11;
- const double f11_13 = -f11 * m_A73;
- m_A74 += m_A56 * f11_13;
- m_A75 += m_A57 * f11_13;
- m_A76 += m_A58 * f11_13;
- RHS13 += f11_13 * RHS11;
- const double f11_14 = -f11 * m_A82;
- m_A83 += m_A56 * f11_14;
- m_A84 += m_A57 * f11_14;
- m_A85 += m_A58 * f11_14;
- RHS14 += f11_14 * RHS11;
-const double f12 = 1.0 / m_A65;
- const double f12_13 = -f12 * m_A74;
- m_A75 += m_A66 * f12_13;
- m_A76 += m_A67 * f12_13;
- RHS13 += f12_13 * RHS12;
- const double f12_14 = -f12 * m_A83;
- m_A84 += m_A66 * f12_14;
- m_A85 += m_A67 * f12_14;
- RHS14 += f12_14 * RHS12;
-const double f13 = 1.0 / m_A75;
- const double f13_14 = -f13 * m_A84;
- m_A85 += m_A76 * f13_14;
- RHS14 += f13_14 * RHS13;
-const double f14 = 1.0 / m_A85;
- const double f14_15 = -f14 * m_A88;
- m_A89 += m_A86 * f14_15;
- RHS15 += f14_15 * RHS14;
- V[15] = RHS15 / m_A89;
+ const double f11 = 1.0 / m_A27;
+ const double f11_15 = -f11 * m_A45;
+ m_A46 += m_A28 * f11_15;
+ m_A47 += m_A29 * f11_15;
+ RHS15 += f11_15 * RHS11;
+ const double f11_16 = -f11 * m_A49;
+ m_A52 += m_A28 * f11_16;
+ m_A53 += m_A29 * f11_16;
+ RHS16 += f11_16 * RHS11;
+ const double f12 = 1.0 / m_A32;
+ const double f12_17 = -f12 * m_A57;
+ RHS17 += f12_17 * RHS12;
+ const double f13 = 1.0 / m_A34;
+ const double f13_16 = -f13 * m_A50;
+ m_A51 += m_A35 * f13_16;
+ m_A53 += m_A36 * f13_16;
+ m_A54 += m_A37 * f13_16;
+ RHS16 += f13_16 * RHS13;
+ const double f13_17 = -f13 * m_A58;
+ m_A59 += m_A35 * f13_17;
+ m_A60 += m_A36 * f13_17;
+ m_A61 += m_A37 * f13_17;
+ RHS17 += f13_17 * RHS13;
+ const double f14 = 1.0 / m_A39;
+ const double f14_16 = -f14 * m_A51;
+ m_A54 += m_A40 * f14_16;
+ RHS16 += f14_16 * RHS14;
+ const double f14_17 = -f14 * m_A59;
+ m_A61 += m_A40 * f14_17;
+ RHS17 += f14_17 * RHS14;
+ const double f15 = 1.0 / m_A46;
+ const double f15_16 = -f15 * m_A52;
+ m_A53 += m_A47 * f15_16;
+ RHS16 += f15_16 * RHS15;
+ const double f16 = 1.0 / m_A53;
+ const double f16_17 = -f16 * m_A60;
+ m_A61 += m_A54 * f16_17;
+ RHS17 += f16_17 * RHS16;
+ V[17] = RHS17 / m_A61;
+ double tmp16 = 0.0;
+ tmp16 += m_A54 * V[17];
+ V[16] = (RHS16 - tmp16) / m_A53;
+ double tmp15 = 0.0;
+ tmp15 += m_A47 * V[16];
+ V[15] = (RHS15 - tmp15) / m_A46;
double tmp14 = 0.0;
- tmp14 += m_A86 * V[15];
- V[14] = (RHS14 - tmp14) / m_A85;
+ tmp14 += m_A40 * V[17];
+ V[14] = (RHS14 - tmp14) / m_A39;
double tmp13 = 0.0;
- tmp13 += m_A76 * V[14];
- V[13] = (RHS13 - tmp13) / m_A75;
+ tmp13 += m_A35 * V[14];
+ tmp13 += m_A36 * V[16];
+ tmp13 += m_A37 * V[17];
+ V[13] = (RHS13 - tmp13) / m_A34;
double tmp12 = 0.0;
- tmp12 += m_A66 * V[13];
- tmp12 += m_A67 * V[14];
- V[12] = (RHS12 - tmp12) / m_A65;
+ V[12] = (RHS12 - tmp12) / m_A32;
double tmp11 = 0.0;
- tmp11 += m_A56 * V[12];
- tmp11 += m_A57 * V[13];
- tmp11 += m_A58 * V[14];
- V[11] = (RHS11 - tmp11) / m_A55;
+ tmp11 += m_A28 * V[15];
+ tmp11 += m_A29 * V[16];
+ V[11] = (RHS11 - tmp11) / m_A27;
double tmp10 = 0.0;
- tmp10 += m_A46 * V[11];
- tmp10 += m_A47 * V[12];
- tmp10 += m_A48 * V[13];
- tmp10 += m_A49 * V[14];
- V[10] = (RHS10 - tmp10) / m_A45;
+ tmp10 += m_A23 * V[15];
+ V[10] = (RHS10 - tmp10) / m_A22;
double tmp9 = 0.0;
- tmp9 += m_A36 * V[10];
- tmp9 += m_A37 * V[11];
- tmp9 += m_A38 * V[12];
- tmp9 += m_A39 * V[13];
- tmp9 += m_A40 * V[14];
- V[9] = (RHS9 - tmp9) / m_A35;
+ V[9] = (RHS9 - tmp9) / m_A20;
double tmp8 = 0.0;
- tmp8 += m_A26 * V[9];
- tmp8 += m_A27 * V[10];
- tmp8 += m_A28 * V[11];
- tmp8 += m_A29 * V[12];
- tmp8 += m_A30 * V[13];
- tmp8 += m_A31 * V[14];
- V[8] = (RHS8 - tmp8) / m_A25;
+ tmp8 += m_A18 * V[12];
+ V[8] = (RHS8 - tmp8) / m_A17;
double tmp7 = 0.0;
- tmp7 += m_A21 * V[14];
- tmp7 += m_A22 * V[15];
- V[7] = (RHS7 - tmp7) / m_A20;
+ tmp7 += m_A16 * V[12];
+ V[7] = (RHS7 - tmp7) / m_A15;
double tmp6 = 0.0;
- tmp6 += m_A13 * V[8];
- tmp6 += m_A14 * V[9];
- tmp6 += m_A15 * V[10];
- tmp6 += m_A16 * V[11];
- tmp6 += m_A17 * V[12];
- tmp6 += m_A18 * V[13];
- tmp6 += m_A19 * V[14];
- V[6] = (RHS6 - tmp6) / m_A12;
+ tmp6 += m_A14 * V[17];
+ V[6] = (RHS6 - tmp6) / m_A13;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[8];
+ tmp5 += m_A11 * V[11];
+ tmp5 += m_A12 * V[16];
V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[10];
+ tmp4 += m_A9 * V[14];
V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[12];
+ tmp3 += m_A7 * V[10];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[13];
+ tmp2 += m_A5 * V[15];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[11];
+ tmp1 += m_A3 * V[15];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
tmp0 += m_A1 * V[9];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// zac1b11142
-static void nl_gcr_a26cb0ca00cdeba6_12_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// pongf
+static void nl_gcr_cd4de579d34fc1d9_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5];
- m_A4 = m_A4 + go[4];
- m_A3 = m_A3 + go[5];
- double RHS1 = Idr[4] + Idr[5];
- m_A7 = gt[8] + gt[9];
- m_A6 = m_A6 + go[8];
- m_A5 = m_A5 + go[9];
- double RHS2 = Idr[8] + Idr[9];
- m_A11 = gt[12] + gt[13];
- m_A9 = m_A9 + go[12];
- double RHS3 = Idr[12] + Idr[13] - go[13] * *cnV[13];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A5;
- m_A7 += m_A1 * f0_2;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A6 += gt[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A5 += go[5];
+ m_A4 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 -= go[7] * *cnV[7];
+ const double f0 = 1.0 / m_A0;
+ const double f0_2 = -f0 * m_A4;
+ m_A6 += m_A1 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A6;
- m_A7 += m_A3 * f1_2;
- m_A8 += m_A4 * f1_2;
+ const double f1 = 1.0 / m_A2;
+ const double f1_2 = -f1 * m_A5;
+ m_A6 += m_A3 * f1_2;
RHS2 += f1_2 * RHS1;
- const double f1_3 = -f1 * m_A9;
- m_A10 += m_A3 * f1_3;
- m_A11 += m_A4 * f1_3;
- RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A7;
- const double f2_3 = -f2 * m_A10;
- m_A11 += m_A8 * f2_3;
- RHS3 += f2_3 * RHS2;
- V[3] = RHS3 / m_A11;
- double tmp2 = 0.0;
- tmp2 += m_A8 * V[3];
- V[2] = (RHS2 - tmp2) / m_A7;
+ V[2] = RHS2 / m_A6;
double tmp1 = 0.0;
tmp1 += m_A3 * V[2];
- tmp1 += m_A4 * V[3];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
tmp0 += m_A1 * V[2];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// kidniki
-static void nl_gcr_a2b9e1d13f95c2d3_34_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// dpatrol
+static void nl_gcr_cffc52225ebcec8f_20_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- m_A2 = m_A2 + go[1];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[2] * *cnV[2];
- m_A3 = gt[8] + gt[9] + gt[10] + gt[11] + gt[12] + gt[13] + gt[14];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] + Idr[12] + Idr[13] + Idr[14] - go[10] * *cnV[10] - go[11] * *cnV[11] - go[12] * *cnV[12] - go[13] * *cnV[13] - go[14] * *cnV[14];
- m_A7 = gt[16] + gt[17] + gt[18];
- m_A6 = m_A6 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A9 = gt[24] + gt[25] + gt[26];
- m_A11 = m_A11 + go[24];
- m_A10 = m_A10 + go[25];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[26] * *cnV[26];
- m_A12 = gt[32] + gt[33] + gt[34];
- m_A14 = m_A14 + go[32];
- m_A13 = m_A13 + go[33];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[34] * *cnV[34];
- m_A17 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A15 = m_A15 + go[40];
- m_A18 = m_A18 + go[41];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46];
- m_A21 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53];
- m_A19 = m_A19 + go[48];
- m_A22 = m_A22 + go[49];
- m_A20 = m_A20 + go[50];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] - go[51] * *cnV[51] - go[52] * *cnV[52] - go[53] * *cnV[53];
- m_A27 = gt[56] + gt[57] + gt[58] + gt[59] + gt[60];
- m_A26 = m_A26 + go[56];
- m_A25 = m_A25 + go[57];
- m_A23 = m_A23 + go[58];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] + Idr[60] - go[59] * *cnV[59] - go[60] * *cnV[60];
- m_A33 = gt[64] + gt[65] + gt[66];
- m_A30 = m_A30 + go[64];
- m_A31 = m_A31 + go[65];
- m_A29 = m_A29 + go[66];
- double RHS8 = Idr[64] + Idr[65] + Idr[66];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A6;
- m_A7 += m_A1 * f0_2;
- m_A8 += m_A2 * f0_2;
- RHS2 += f0_2 * RHS0;
- const double f0_5 = -f0 * m_A15;
- m_A16 += m_A1 * f0_5;
- m_A18 += m_A2 * f0_5;
- RHS5 += f0_5 * RHS0;
- const double f0_7 = -f0 * m_A23;
- m_A24 += m_A1 * f0_7;
- m_A27 += m_A2 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A3;
- const double f1_6 = -f1 * m_A19;
- m_A20 += m_A4 * f1_6;
- m_A21 += m_A5 * f1_6;
- RHS6 += f1_6 * RHS1;
-const double f2 = 1.0 / m_A7;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ m_A2 += gt[4];
+ m_A3 += go[4];
+ double RHS1 = Idr[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A6 += go[5];
+ m_A5 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ m_A8 += gt[10];
+ m_A8 += gt[11];
+ m_A8 += gt[12];
+ m_A8 += gt[13];
+ m_A8 += gt[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A10 += go[10];
+ m_A9 += go[11];
+ m_A7 += go[12];
+ double RHS3 = Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ RHS3 += Idr[16];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ RHS3 -= go[15] * *cnV[15];
+ RHS3 -= go[16] * *cnV[16];
+ m_A14 += gt[17];
+ m_A14 += gt[18];
+ m_A14 += gt[19];
+ m_A14 += gt[20];
+ m_A11 += go[17];
+ m_A12 += go[18];
+ m_A13 += go[19];
+ double RHS4 = Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 -= go[20] * *cnV[20];
+ m_A19 += gt[21];
+ m_A19 += gt[22];
+ m_A19 += gt[23];
+ m_A16 += go[21];
+ m_A17 += go[22];
+ double RHS5 = Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[23] * *cnV[23];
+ const double f0 = 1.0 / m_A0;
+ const double f0_3 = -f0 * m_A7;
+ m_A8 += m_A1 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A11;
+ m_A14 += m_A3 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_4 = -f2 * m_A12;
+ m_A14 += m_A5 * f2_4;
+ m_A15 += m_A6 * f2_4;
+ RHS4 += f2_4 * RHS2;
const double f2_5 = -f2 * m_A16;
- m_A18 += m_A8 * f2_5;
+ m_A18 += m_A5 * f2_5;
+ m_A19 += m_A6 * f2_5;
RHS5 += f2_5 * RHS2;
- const double f2_7 = -f2 * m_A24;
- m_A27 += m_A8 * f2_7;
- RHS7 += f2_7 * RHS2;
-const double f3 = 1.0 / m_A9;
- const double f3_6 = -f3 * m_A20;
- m_A21 += m_A10 * f3_6;
- m_A22 += m_A11 * f3_6;
- RHS6 += f3_6 * RHS3;
- const double f3_8 = -f3 * m_A29;
- m_A31 += m_A10 * f3_8;
- m_A33 += m_A11 * f3_8;
- RHS8 += f3_8 * RHS3;
-const double f4 = 1.0 / m_A12;
- const double f4_7 = -f4 * m_A25;
- m_A27 += m_A13 * f4_7;
- m_A28 += m_A14 * f4_7;
- RHS7 += f4_7 * RHS4;
- const double f4_8 = -f4 * m_A30;
- m_A32 += m_A13 * f4_8;
- m_A33 += m_A14 * f4_8;
- RHS8 += f4_8 * RHS4;
-const double f5 = 1.0 / m_A17;
- const double f5_7 = -f5 * m_A26;
- m_A27 += m_A18 * f5_7;
- RHS7 += f5_7 * RHS5;
-const double f6 = 1.0 / m_A21;
- const double f6_8 = -f6 * m_A31;
- m_A33 += m_A22 * f6_8;
- RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A27;
- const double f7_8 = -f7 * m_A32;
- m_A33 += m_A28 * f7_8;
- RHS8 += f7_8 * RHS7;
- V[8] = RHS8 / m_A33;
- double tmp7 = 0.0;
- tmp7 += m_A28 * V[8];
- V[7] = (RHS7 - tmp7) / m_A27;
- double tmp6 = 0.0;
- tmp6 += m_A22 * V[8];
- V[6] = (RHS6 - tmp6) / m_A21;
- double tmp5 = 0.0;
- tmp5 += m_A18 * V[7];
- V[5] = (RHS5 - tmp5) / m_A17;
- double tmp4 = 0.0;
- tmp4 += m_A13 * V[7];
- tmp4 += m_A14 * V[8];
- V[4] = (RHS4 - tmp4) / m_A12;
- double tmp3 = 0.0;
- tmp3 += m_A10 * V[6];
- tmp3 += m_A11 * V[8];
- V[3] = (RHS3 - tmp3) / m_A9;
- double tmp2 = 0.0;
- tmp2 += m_A8 * V[7];
- V[2] = (RHS2 - tmp2) / m_A7;
- double tmp1 = 0.0;
- tmp1 += m_A4 * V[3];
- tmp1 += m_A5 * V[6];
- V[1] = (RHS1 - tmp1) / m_A3;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
- tmp0 += m_A2 * V[7];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// breakout
-static void nl_gcr_a5e9537117c3969a_31_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- m_A6 = m_A6 + go[17];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[18] * *cnV[18];
- m_A7 = gt[24] + gt[25] + gt[26];
- m_A8 = m_A8 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A9 = gt[32] + gt[33] + gt[34];
- m_A10 = m_A10 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A12 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A14 = m_A14 + go[40];
- m_A13 = m_A13 + go[41];
- m_A11 = m_A11 + go[42];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46];
- m_A16 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52];
- m_A18 = m_A18 + go[48];
- m_A15 = m_A15 + go[49];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] - go[50] * *cnV[50] - go[51] * *cnV[51] - go[52] * *cnV[52];
- m_A23 = gt[56] + gt[57] + gt[58];
- m_A19 = m_A19 + go[56];
- m_A20 = m_A20 + go[57];
- m_A21 = m_A21 + go[58];
- double RHS7 = Idr[56] + Idr[57] + Idr[58];
- m_A30 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68];
- m_A26 = m_A26 + go[64];
- m_A25 = m_A25 + go[65];
- m_A28 = m_A28 + go[66];
- m_A27 = m_A27 + go[67];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] - go[68] * *cnV[68];
-const double f0 = 1.0 / m_A0;
- const double f0_5 = -f0 * m_A11;
- m_A12 += m_A1 * f0_5;
- RHS5 += f0_5 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_7 = -f1 * m_A19;
- m_A23 += m_A3 * f1_7;
- RHS7 += f1_7 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_6 = -f2 * m_A15;
- m_A16 += m_A5 * f2_6;
- m_A17 += m_A6 * f2_6;
- RHS6 += f2_6 * RHS2;
- const double f2_7 = -f2 * m_A20;
- m_A22 += m_A5 * f2_7;
- m_A23 += m_A6 * f2_7;
- RHS7 += f2_7 * RHS2;
-const double f3 = 1.0 / m_A7;
- const double f3_8 = -f3 * m_A25;
- m_A30 += m_A8 * f3_8;
- RHS8 += f3_8 * RHS3;
-const double f4 = 1.0 / m_A9;
- const double f4_8 = -f4 * m_A26;
- m_A30 += m_A10 * f4_8;
- RHS8 += f4_8 * RHS4;
-const double f5 = 1.0 / m_A12;
- const double f5_7 = -f5 * m_A21;
- m_A23 += m_A13 * f5_7;
- m_A24 += m_A14 * f5_7;
- RHS7 += f5_7 * RHS5;
- const double f5_8 = -f5 * m_A27;
- m_A29 += m_A13 * f5_8;
- m_A30 += m_A14 * f5_8;
- RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A16;
- const double f6_7 = -f6 * m_A22;
- m_A23 += m_A17 * f6_7;
- m_A24 += m_A18 * f6_7;
- RHS7 += f6_7 * RHS6;
- const double f6_8 = -f6 * m_A28;
- m_A29 += m_A17 * f6_8;
- m_A30 += m_A18 * f6_8;
- RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A23;
- const double f7_8 = -f7 * m_A29;
- m_A30 += m_A24 * f7_8;
- RHS8 += f7_8 * RHS7;
- V[8] = RHS8 / m_A30;
- double tmp7 = 0.0;
- tmp7 += m_A24 * V[8];
- V[7] = (RHS7 - tmp7) / m_A23;
- double tmp6 = 0.0;
- tmp6 += m_A17 * V[7];
- tmp6 += m_A18 * V[8];
- V[6] = (RHS6 - tmp6) / m_A16;
- double tmp5 = 0.0;
- tmp5 += m_A13 * V[7];
- tmp5 += m_A14 * V[8];
- V[5] = (RHS5 - tmp5) / m_A12;
+ const double f3 = 1.0 / m_A8;
+ const double f3_4 = -f3 * m_A13;
+ m_A14 += m_A9 * f3_4;
+ m_A15 += m_A10 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ const double f3_5 = -f3 * m_A17;
+ m_A18 += m_A9 * f3_5;
+ m_A19 += m_A10 * f3_5;
+ RHS5 += f3_5 * RHS3;
+ const double f4 = 1.0 / m_A14;
+ const double f4_5 = -f4 * m_A18;
+ m_A19 += m_A15 * f4_5;
+ RHS5 += f4_5 * RHS4;
+ V[5] = RHS5 / m_A19;
double tmp4 = 0.0;
- tmp4 += m_A10 * V[8];
- V[4] = (RHS4 - tmp4) / m_A9;
+ tmp4 += m_A15 * V[5];
+ V[4] = (RHS4 - tmp4) / m_A14;
double tmp3 = 0.0;
- tmp3 += m_A8 * V[8];
- V[3] = (RHS3 - tmp3) / m_A7;
+ tmp3 += m_A9 * V[4];
+ tmp3 += m_A10 * V[5];
+ V[3] = (RHS3 - tmp3) / m_A8;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[6];
- tmp2 += m_A6 * V[7];
+ tmp2 += m_A5 * V[4];
+ tmp2 += m_A6 * V[5];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[7];
+ tmp1 += m_A3 * V[4];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[5];
+ tmp0 += m_A1 * V[3];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// zac1b11142
-static void nl_gcr_a88b481713b08b7b_30_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// popeye
+static void nl_gcr_d153cd8a3df26761_50_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A2 = gt[8] + gt[9] + gt[10];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[9] * *cnV[9] - go[10] * *cnV[10];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25] + gt[26];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A8 = gt[32] + gt[33] + gt[34];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] - go[33] * *cnV[33] - go[34] * *cnV[34];
- m_A11 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45];
- m_A10 = m_A10 + go[40];
- m_A12 = m_A12 + go[41];
- m_A12 = m_A12 + go[42];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45];
- m_A16 = gt[48] + gt[49];
- m_A15 = m_A15 + go[48];
- m_A14 = m_A14 + go[49];
- double RHS6 = Idr[48] + Idr[49];
- m_A18 = gt[56] + gt[57];
- m_A19 = m_A19 + go[56];
- m_A17 = m_A17 + go[57];
- double RHS7 = Idr[56] + Idr[57];
- m_A25 = gt[64] + gt[65] + gt[66] + gt[67] + gt[68] + gt[69];
- m_A23 = m_A23 + go[64];
- m_A22 = m_A22 + go[65];
- m_A22 = m_A22 + go[66];
- m_A24 = m_A24 + go[67];
- m_A21 = m_A21 + go[68];
- m_A20 = m_A20 + go[69];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] + Idr[68] + Idr[69];
- m_A29 = gt[72] + gt[73] + gt[74] + gt[75];
- m_A28 = m_A28 + go[72];
- m_A27 = m_A27 + go[73];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75];
-const double f0 = 1.0 / m_A0;
- const double f0_5 = -f0 * m_A10;
- m_A13 += m_A1 * f0_5;
- RHS5 += f0_5 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_7 = -f1 * m_A17;
- m_A18 += m_A3 * f1_7;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A10 += go[9];
+ m_A7 += go[10];
+ m_A8 += go[11];
+ m_A9 += go[12];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ m_A11 += gt[15];
+ m_A11 += gt[16];
+ m_A11 += gt[17];
+ m_A11 += gt[18];
+ m_A11 += gt[19];
+ m_A13 += go[15];
+ m_A13 += go[16];
+ m_A12 += go[17];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 -= go[18] * *cnV[18];
+ RHS4 -= go[19] * *cnV[19];
+ m_A14 += gt[20];
+ m_A14 += gt[21];
+ m_A14 += gt[22];
+ m_A14 += gt[23];
+ m_A14 += gt[24];
+ m_A16 += go[20];
+ m_A15 += go[21];
+ m_A15 += go[22];
+ double RHS5 = Idr[20];
+ RHS5 += Idr[21];
+ RHS5 += Idr[22];
+ RHS5 += Idr[23];
+ RHS5 += Idr[24];
+ RHS5 -= go[23] * *cnV[23];
+ RHS5 -= go[24] * *cnV[24];
+ m_A19 += gt[25];
+ m_A19 += gt[26];
+ m_A19 += gt[27];
+ m_A18 += go[25];
+ m_A17 += go[26];
+ double RHS6 = Idr[25];
+ RHS6 += Idr[26];
+ RHS6 += Idr[27];
+ RHS6 -= go[27] * *cnV[27];
+ m_A26 += gt[28];
+ m_A26 += gt[29];
+ m_A26 += gt[30];
+ m_A24 += go[28];
+ m_A23 += go[29];
+ double RHS7 = Idr[28];
+ RHS7 += Idr[29];
+ RHS7 += Idr[30];
+ RHS7 -= go[30] * *cnV[30];
+ m_A33 += gt[31];
+ m_A33 += gt[32];
+ m_A33 += gt[33];
+ m_A30 += go[31];
+ m_A29 += go[32];
+ double RHS8 = Idr[31];
+ RHS8 += Idr[32];
+ RHS8 += Idr[33];
+ RHS8 -= go[33] * *cnV[33];
+ m_A40 += gt[34];
+ m_A40 += gt[35];
+ m_A40 += gt[36];
+ m_A40 += gt[37];
+ m_A36 += go[34];
+ m_A35 += go[35];
+ double RHS9 = Idr[34];
+ RHS9 += Idr[35];
+ RHS9 += Idr[36];
+ RHS9 += Idr[37];
+ RHS9 -= go[36] * *cnV[36];
+ RHS9 -= go[37] * *cnV[37];
+ m_A45 += gt[38];
+ m_A45 += gt[39];
+ m_A45 += gt[40];
+ m_A45 += gt[41];
+ m_A45 += gt[42];
+ m_A45 += gt[43];
+ m_A45 += gt[44];
+ m_A45 += gt[45];
+ m_A43 += go[38];
+ m_A43 += go[39];
+ m_A42 += go[40];
+ m_A42 += go[41];
+ double RHS10 = Idr[38];
+ RHS10 += Idr[39];
+ RHS10 += Idr[40];
+ RHS10 += Idr[41];
+ RHS10 += Idr[42];
+ RHS10 += Idr[43];
+ RHS10 += Idr[44];
+ RHS10 += Idr[45];
+ RHS10 -= go[42] * *cnV[42];
+ RHS10 -= go[43] * *cnV[43];
+ RHS10 -= go[44] * *cnV[44];
+ RHS10 -= go[45] * *cnV[45];
+ m_A49 += gt[46];
+ m_A49 += gt[47];
+ m_A47 += go[46];
+ double RHS11 = Idr[46];
+ RHS11 += Idr[47];
+ RHS11 -= go[47] * *cnV[47];
+ const double f0 = 1.0 / m_A0;
+ const double f0_8 = -f0 * m_A29;
+ m_A33 += m_A1 * f0_8;
+ RHS8 += f0_8 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_7 = -f1 * m_A23;
+ m_A26 += m_A3 * f1_7;
RHS7 += f1_7 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_6 = -f2 * m_A14;
- m_A16 += m_A5 * f2_6;
+ const double f2 = 1.0 / m_A4;
+ const double f2_6 = -f2 * m_A17;
+ m_A19 += m_A5 * f2_6;
RHS6 += f2_6 * RHS2;
- const double f2_8 = -f2 * m_A20;
- m_A23 += m_A5 * f2_8;
- RHS8 += f2_8 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_6 = -f3 * m_A15;
- m_A16 += m_A7 * f3_6;
+ const double f3 = 1.0 / m_A6;
+ const double f3_6 = -f3 * m_A18;
+ m_A19 += m_A7 * f3_6;
+ m_A20 += m_A8 * f3_6;
+ m_A21 += m_A9 * f3_6;
+ m_A22 += m_A10 * f3_6;
RHS6 += f3_6 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_8 = -f4 * m_A21;
- m_A25 += m_A9 * f4_8;
- RHS8 += f4_8 * RHS4;
- const double f4_9 = -f4 * m_A27;
- m_A28 += m_A9 * f4_9;
+ const double f3_7 = -f3 * m_A24;
+ m_A25 += m_A7 * f3_7;
+ m_A26 += m_A8 * f3_7;
+ m_A27 += m_A9 * f3_7;
+ m_A28 += m_A10 * f3_7;
+ RHS7 += f3_7 * RHS3;
+ const double f3_8 = -f3 * m_A30;
+ m_A31 += m_A7 * f3_8;
+ m_A32 += m_A8 * f3_8;
+ m_A33 += m_A9 * f3_8;
+ m_A34 += m_A10 * f3_8;
+ RHS8 += f3_8 * RHS3;
+ const double f3_9 = -f3 * m_A35;
+ m_A37 += m_A7 * f3_9;
+ m_A38 += m_A8 * f3_9;
+ m_A39 += m_A9 * f3_9;
+ m_A40 += m_A10 * f3_9;
+ RHS9 += f3_9 * RHS3;
+ const double f4 = 1.0 / m_A11;
+ const double f4_9 = -f4 * m_A36;
+ m_A40 += m_A12 * f4_9;
+ m_A41 += m_A13 * f4_9;
RHS9 += f4_9 * RHS4;
-const double f5 = 1.0 / m_A11;
- const double f5_8 = -f5 * m_A22;
- m_A25 += m_A12 * f5_8;
- m_A26 += m_A13 * f5_8;
- RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A16;
- const double f6_8 = -f6 * m_A23;
+ const double f4_10 = -f4 * m_A42;
+ m_A44 += m_A12 * f4_10;
+ m_A45 += m_A13 * f4_10;
+ RHS10 += f4_10 * RHS4;
+ const double f5 = 1.0 / m_A14;
+ const double f5_10 = -f5 * m_A43;
+ m_A45 += m_A15 * f5_10;
+ m_A46 += m_A16 * f5_10;
+ RHS10 += f5_10 * RHS5;
+ const double f5_11 = -f5 * m_A47;
+ m_A48 += m_A15 * f5_11;
+ m_A49 += m_A16 * f5_11;
+ RHS11 += f5_11 * RHS5;
+ const double f6 = 1.0 / m_A19;
+ const double f6_7 = -f6 * m_A25;
+ m_A26 += m_A20 * f6_7;
+ m_A27 += m_A21 * f6_7;
+ m_A28 += m_A22 * f6_7;
+ RHS7 += f6_7 * RHS6;
+ const double f6_8 = -f6 * m_A31;
+ m_A32 += m_A20 * f6_8;
+ m_A33 += m_A21 * f6_8;
+ m_A34 += m_A22 * f6_8;
RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A18;
- const double f7_8 = -f7 * m_A24;
- m_A25 += m_A19 * f7_8;
+ const double f6_9 = -f6 * m_A37;
+ m_A38 += m_A20 * f6_9;
+ m_A39 += m_A21 * f6_9;
+ m_A40 += m_A22 * f6_9;
+ RHS9 += f6_9 * RHS6;
+ const double f7 = 1.0 / m_A26;
+ const double f7_8 = -f7 * m_A32;
+ m_A33 += m_A27 * f7_8;
+ m_A34 += m_A28 * f7_8;
RHS8 += f7_8 * RHS7;
-const double f8 = 1.0 / m_A25;
- const double f8_9 = -f8 * m_A28;
- m_A29 += m_A26 * f8_9;
+ const double f7_9 = -f7 * m_A38;
+ m_A39 += m_A27 * f7_9;
+ m_A40 += m_A28 * f7_9;
+ RHS9 += f7_9 * RHS7;
+ const double f8 = 1.0 / m_A33;
+ const double f8_9 = -f8 * m_A39;
+ m_A40 += m_A34 * f8_9;
RHS9 += f8_9 * RHS8;
- V[9] = RHS9 / m_A29;
+ const double f9 = 1.0 / m_A40;
+ const double f9_10 = -f9 * m_A44;
+ m_A45 += m_A41 * f9_10;
+ RHS10 += f9_10 * RHS9;
+ const double f10 = 1.0 / m_A45;
+ const double f10_11 = -f10 * m_A48;
+ m_A49 += m_A46 * f10_11;
+ RHS11 += f10_11 * RHS10;
+ V[11] = RHS11 / m_A49;
+ double tmp10 = 0.0;
+ tmp10 += m_A46 * V[11];
+ V[10] = (RHS10 - tmp10) / m_A45;
+ double tmp9 = 0.0;
+ tmp9 += m_A41 * V[10];
+ V[9] = (RHS9 - tmp9) / m_A40;
double tmp8 = 0.0;
- tmp8 += m_A26 * V[9];
- V[8] = (RHS8 - tmp8) / m_A25;
+ tmp8 += m_A34 * V[9];
+ V[8] = (RHS8 - tmp8) / m_A33;
double tmp7 = 0.0;
- tmp7 += m_A19 * V[8];
- V[7] = (RHS7 - tmp7) / m_A18;
+ tmp7 += m_A27 * V[8];
+ tmp7 += m_A28 * V[9];
+ V[7] = (RHS7 - tmp7) / m_A26;
double tmp6 = 0.0;
- V[6] = (RHS6 - tmp6) / m_A16;
+ tmp6 += m_A20 * V[7];
+ tmp6 += m_A21 * V[8];
+ tmp6 += m_A22 * V[9];
+ V[6] = (RHS6 - tmp6) / m_A19;
double tmp5 = 0.0;
- tmp5 += m_A12 * V[8];
- tmp5 += m_A13 * V[9];
- V[5] = (RHS5 - tmp5) / m_A11;
+ tmp5 += m_A15 * V[10];
+ tmp5 += m_A16 * V[11];
+ V[5] = (RHS5 - tmp5) / m_A14;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[8];
- V[4] = (RHS4 - tmp4) / m_A8;
+ tmp4 += m_A12 * V[9];
+ tmp4 += m_A13 * V[10];
+ V[4] = (RHS4 - tmp4) / m_A11;
double tmp3 = 0.0;
tmp3 += m_A7 * V[6];
+ tmp3 += m_A8 * V[7];
+ tmp3 += m_A9 * V[8];
+ tmp3 += m_A10 * V[9];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
tmp2 += m_A5 * V[6];
@@ -10520,526 +14738,440 @@ const double f8 = 1.0 / m_A25;
tmp1 += m_A3 * V[7];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[9];
+ tmp0 += m_A1 * V[8];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// kidniki
-static void nl_gcr_b42f307001315373_21_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// dpatrol
+static void nl_gcr_d229cf0026955cd3_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3] + gt[4] + gt[5] + gt[6];
- m_A1 = m_A1 + go[0];
- m_A2 = m_A2 + go[1];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] + Idr[4] + Idr[5] + Idr[6] - go[2] * *cnV[2] - go[3] * *cnV[3] - go[4] * *cnV[4] - go[5] * *cnV[5] - go[6] * *cnV[6];
- m_A3 = gt[8] + gt[9] + gt[10];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] - go[10] * *cnV[10];
- m_A6 = gt[16] + gt[17];
- m_A7 = m_A7 + go[16];
- m_A8 = m_A8 + go[17];
- double RHS2 = Idr[16] + Idr[17];
- m_A10 = gt[24] + gt[25] + gt[26];
- m_A9 = m_A9 + go[24];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A14 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37];
- m_A12 = m_A12 + go[32];
- m_A15 = m_A15 + go[33];
- m_A13 = m_A13 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37];
- m_A20 = gt[40] + gt[41] + gt[42];
- m_A17 = m_A17 + go[40];
- m_A16 = m_A16 + go[41];
- m_A19 = m_A19 + go[42];
- double RHS5 = Idr[40] + Idr[41] + Idr[42];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A12;
- m_A13 += m_A1 * f0_4;
- m_A14 += m_A2 * f0_4;
- RHS4 += f0_4 * RHS0;
-const double f1 = 1.0 / m_A3;
- const double f1_4 = -f1 * m_A13;
- m_A14 += m_A4 * f1_4;
- m_A15 += m_A5 * f1_4;
- RHS4 += f1_4 * RHS1;
- const double f1_5 = -f1 * m_A16;
- m_A19 += m_A4 * f1_5;
- m_A20 += m_A5 * f1_5;
- RHS5 += f1_5 * RHS1;
-const double f2 = 1.0 / m_A6;
- const double f2_3 = -f2 * m_A9;
- m_A10 += m_A7 * f2_3;
- m_A11 += m_A8 * f2_3;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ m_A9 += gt[9];
+ m_A9 += gt[10];
+ m_A9 += gt[11];
+ m_A9 += gt[12];
+ m_A8 += go[9];
+ m_A7 += go[10];
+ m_A6 += go[11];
+ double RHS3 = Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 -= go[12] * *cnV[12];
+ const double f0 = 1.0 / m_A0;
+ const double f0_3 = -f0 * m_A6;
+ m_A9 += m_A1 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_3 = -f1 * m_A7;
+ m_A9 += m_A3 * f1_3;
+ RHS3 += f1_3 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_3 = -f2 * m_A8;
+ m_A9 += m_A5 * f2_3;
RHS3 += f2_3 * RHS2;
- const double f2_5 = -f2 * m_A17;
- m_A18 += m_A7 * f2_5;
- m_A20 += m_A8 * f2_5;
- RHS5 += f2_5 * RHS2;
-const double f3 = 1.0 / m_A10;
- const double f3_5 = -f3 * m_A18;
- m_A20 += m_A11 * f3_5;
- RHS5 += f3_5 * RHS3;
-const double f4 = 1.0 / m_A14;
- const double f4_5 = -f4 * m_A19;
- m_A20 += m_A15 * f4_5;
- RHS5 += f4_5 * RHS4;
- V[5] = RHS5 / m_A20;
- double tmp4 = 0.0;
- tmp4 += m_A15 * V[5];
- V[4] = (RHS4 - tmp4) / m_A14;
- double tmp3 = 0.0;
- tmp3 += m_A11 * V[5];
- V[3] = (RHS3 - tmp3) / m_A10;
+ V[3] = RHS3 / m_A9;
double tmp2 = 0.0;
- tmp2 += m_A7 * V[3];
- tmp2 += m_A8 * V[5];
- V[2] = (RHS2 - tmp2) / m_A6;
+ tmp2 += m_A5 * V[3];
+ V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A4 * V[4];
- tmp1 += m_A5 * V[5];
- V[1] = (RHS1 - tmp1) / m_A3;
+ tmp1 += m_A3 * V[3];
+ V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[1];
- tmp0 += m_A2 * V[4];
+ tmp0 += m_A1 * V[3];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// pongf
-static void nl_gcr_b8e1f7dd43c1da70_35_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// 280zzzap
+static void nl_gcr_d5f69adb177fea36_31_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[1] * *cnV[1] - go[2] * *cnV[2] - go[3] * *cnV[3];
- m_A2 = gt[8] + gt[9] + gt[10] + gt[11];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] + Idr[10] + Idr[11] - go[9] * *cnV[9] - go[10] * *cnV[10] - go[11] * *cnV[11];
- m_A4 = gt[16] + gt[17] + gt[18];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] + Idr[18] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A6 = gt[24] + gt[25] + gt[26] + gt[27] + gt[28];
- m_A9 = m_A9 + go[24];
- m_A7 = m_A7 + go[25];
- m_A7 = m_A7 + go[26];
- m_A7 = m_A7 + go[27];
- m_A8 = m_A8 + go[28];
- double RHS3 = Idr[24] + Idr[25] + Idr[26] + Idr[27] + Idr[28];
- m_A11 = gt[32] + gt[33] + gt[34] + gt[35] + gt[36] + gt[37] + gt[38];
- m_A13 = m_A13 + go[32];
- m_A12 = m_A12 + go[33];
- m_A10 = m_A10 + go[34];
- double RHS4 = Idr[32] + Idr[33] + Idr[34] + Idr[35] + Idr[36] + Idr[37] + Idr[38] - go[35] * *cnV[35] - go[36] * *cnV[36] - go[37] * *cnV[37] - go[38] * *cnV[38];
- m_A15 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44];
- m_A17 = m_A17 + go[40];
- m_A14 = m_A14 + go[41];
- m_A14 = m_A14 + go[42];
- m_A14 = m_A14 + go[43];
- double RHS5 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] - go[44] * *cnV[44];
- m_A22 = gt[48] + gt[49] + gt[50] + gt[51];
- m_A19 = m_A19 + go[48];
- m_A20 = m_A20 + go[49];
- m_A18 = m_A18 + go[50];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] - go[51] * *cnV[51];
- m_A28 = gt[56] + gt[57] + gt[58];
- m_A29 = m_A29 + go[56];
- m_A25 = m_A25 + go[57];
- m_A26 = m_A26 + go[58];
- double RHS7 = Idr[56] + Idr[57] + Idr[58];
- m_A34 = gt[64] + gt[65] + gt[66];
- m_A31 = m_A31 + go[64];
- m_A30 = m_A30 + go[65];
- m_A33 = m_A33 + go[66];
- double RHS8 = Idr[64] + Idr[65] + Idr[66];
-const double f0 = 1.0 / m_A0;
- const double f0_4 = -f0 * m_A10;
- m_A11 += m_A1 * f0_4;
- RHS4 += f0_4 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_6 = -f1 * m_A18;
- m_A22 += m_A3 * f1_6;
- RHS6 += f1_6 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_7 = -f2 * m_A25;
- m_A28 += m_A5 * f2_7;
- RHS7 += f2_7 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_5 = -f3 * m_A14;
- m_A15 += m_A7 * f3_5;
- m_A16 += m_A8 * f3_5;
- m_A17 += m_A9 * f3_5;
- RHS5 += f3_5 * RHS3;
- const double f3_6 = -f3 * m_A19;
- m_A21 += m_A7 * f3_6;
- m_A22 += m_A8 * f3_6;
- m_A24 += m_A9 * f3_6;
- RHS6 += f3_6 * RHS3;
- const double f3_8 = -f3 * m_A30;
- m_A31 += m_A7 * f3_8;
- m_A32 += m_A8 * f3_8;
- m_A34 += m_A9 * f3_8;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A2 += gt[9];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 += Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ RHS1 -= go[7] * *cnV[7];
+ RHS1 -= go[8] * *cnV[8];
+ RHS1 -= go[9] * *cnV[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A4 += gt[12];
+ m_A5 += go[10];
+ double RHS2 = Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A7 += go[13];
+ double RHS3 = Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[14] * *cnV[14];
+ m_A9 += gt[15];
+ m_A9 += gt[16];
+ m_A9 += gt[17];
+ m_A9 += gt[18];
+ m_A9 += gt[19];
+ m_A9 += gt[20];
+ m_A8 += go[15];
+ m_A11 += go[16];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 -= go[17] * *cnV[17];
+ RHS4 -= go[18] * *cnV[18];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ m_A13 += gt[21];
+ m_A13 += gt[22];
+ m_A14 += go[21];
+ m_A12 += go[22];
+ double RHS5 = Idr[21];
+ RHS5 += Idr[22];
+ m_A16 += gt[23];
+ m_A16 += gt[24];
+ m_A16 += gt[25];
+ m_A16 += gt[26];
+ m_A15 += go[23];
+ m_A17 += go[24];
+ double RHS6 = Idr[23];
+ RHS6 += Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 -= go[25] * *cnV[25];
+ RHS6 -= go[26] * *cnV[26];
+ m_A20 += gt[27];
+ m_A20 += gt[28];
+ m_A20 += gt[29];
+ m_A20 += gt[30];
+ m_A21 += go[27];
+ m_A22 += go[28];
+ m_A18 += go[29];
+ m_A19 += go[30];
+ double RHS7 = Idr[27];
+ RHS7 += Idr[28];
+ RHS7 += Idr[29];
+ RHS7 += Idr[30];
+ m_A25 += gt[31];
+ m_A25 += gt[32];
+ m_A24 += go[31];
+ m_A23 += go[32];
+ double RHS8 = Idr[31];
+ RHS8 += Idr[32];
+ m_A30 += gt[33];
+ m_A30 += gt[34];
+ m_A30 += gt[35];
+ m_A26 += go[33];
+ m_A28 += go[34];
+ double RHS9 = Idr[33];
+ RHS9 += Idr[34];
+ RHS9 += Idr[35];
+ RHS9 -= go[35] * *cnV[35];
+ const double f0 = 1.0 / m_A0;
+ const double f0_6 = -f0 * m_A15;
+ m_A17 += m_A1 * f0_6;
+ RHS6 += f0_6 * RHS0;
+ const double f0_7 = -f0 * m_A18;
+ m_A20 += m_A1 * f0_7;
+ RHS7 += f0_7 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_4 = -f1 * m_A8;
+ m_A10 += m_A3 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_5 = -f2 * m_A12;
+ m_A13 += m_A5 * f2_5;
+ RHS5 += f2_5 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_7 = -f3 * m_A19;
+ m_A21 += m_A7 * f3_7;
+ RHS7 += f3_7 * RHS3;
+ const double f3_8 = -f3 * m_A23;
+ m_A25 += m_A7 * f3_8;
RHS8 += f3_8 * RHS3;
-const double f4 = 1.0 / m_A11;
- const double f4_6 = -f4 * m_A20;
- m_A22 += m_A12 * f4_6;
- m_A23 += m_A13 * f4_6;
- RHS6 += f4_6 * RHS4;
- const double f4_7 = -f4 * m_A26;
- m_A27 += m_A12 * f4_7;
- m_A28 += m_A13 * f4_7;
- RHS7 += f4_7 * RHS4;
-const double f5 = 1.0 / m_A15;
- const double f5_6 = -f5 * m_A21;
- m_A22 += m_A16 * f5_6;
- m_A24 += m_A17 * f5_6;
- RHS6 += f5_6 * RHS5;
- const double f5_8 = -f5 * m_A31;
- m_A32 += m_A16 * f5_8;
- m_A34 += m_A17 * f5_8;
+ const double f4 = 1.0 / m_A9;
+ const double f4_9 = -f4 * m_A26;
+ m_A27 += m_A10 * f4_9;
+ m_A30 += m_A11 * f4_9;
+ RHS9 += f4_9 * RHS4;
+ const double f5 = 1.0 / m_A13;
+ const double f5_8 = -f5 * m_A24;
+ m_A25 += m_A14 * f5_8;
RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A22;
- const double f6_7 = -f6 * m_A27;
- m_A28 += m_A23 * f6_7;
- m_A29 += m_A24 * f6_7;
- RHS7 += f6_7 * RHS6;
- const double f6_8 = -f6 * m_A32;
- m_A33 += m_A23 * f6_8;
- m_A34 += m_A24 * f6_8;
- RHS8 += f6_8 * RHS6;
-const double f7 = 1.0 / m_A28;
- const double f7_8 = -f7 * m_A33;
- m_A34 += m_A29 * f7_8;
- RHS8 += f7_8 * RHS7;
- V[8] = RHS8 / m_A34;
+ const double f6 = 1.0 / m_A16;
+ const double f6_9 = -f6 * m_A27;
+ m_A28 += m_A17 * f6_9;
+ RHS9 += f6_9 * RHS6;
+ const double f7 = 1.0 / m_A20;
+ const double f7_9 = -f7 * m_A28;
+ m_A29 += m_A21 * f7_9;
+ m_A30 += m_A22 * f7_9;
+ RHS9 += f7_9 * RHS7;
+ const double f8 = 1.0 / m_A25;
+ const double f8_9 = -f8 * m_A29;
+ RHS9 += f8_9 * RHS8;
+ V[9] = RHS9 / m_A30;
+ double tmp8 = 0.0;
+ V[8] = (RHS8 - tmp8) / m_A25;
double tmp7 = 0.0;
- tmp7 += m_A29 * V[8];
- V[7] = (RHS7 - tmp7) / m_A28;
+ tmp7 += m_A21 * V[8];
+ tmp7 += m_A22 * V[9];
+ V[7] = (RHS7 - tmp7) / m_A20;
double tmp6 = 0.0;
- tmp6 += m_A23 * V[7];
- tmp6 += m_A24 * V[8];
- V[6] = (RHS6 - tmp6) / m_A22;
+ tmp6 += m_A17 * V[7];
+ V[6] = (RHS6 - tmp6) / m_A16;
double tmp5 = 0.0;
- tmp5 += m_A16 * V[6];
- tmp5 += m_A17 * V[8];
- V[5] = (RHS5 - tmp5) / m_A15;
+ tmp5 += m_A14 * V[8];
+ V[5] = (RHS5 - tmp5) / m_A13;
double tmp4 = 0.0;
- tmp4 += m_A12 * V[6];
- tmp4 += m_A13 * V[7];
- V[4] = (RHS4 - tmp4) / m_A11;
+ tmp4 += m_A10 * V[6];
+ tmp4 += m_A11 * V[9];
+ V[4] = (RHS4 - tmp4) / m_A9;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[5];
- tmp3 += m_A8 * V[6];
- tmp3 += m_A9 * V[8];
+ tmp3 += m_A7 * V[8];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[7];
+ tmp2 += m_A5 * V[5];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
tmp1 += m_A3 * V[6];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[4];
+ tmp0 += m_A1 * V[7];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// gtrak10
-static void nl_gcr_b9ccfa3d1681baf3_43_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// gamemachine
+static void nl_gcr_ddffc2781d05acf_10_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[14] + gt[15] + gt[16];
- m_A3 = m_A3 + go[14];
- double RHS1 = Idr[14] + Idr[15] + Idr[16] - go[15] * *cnV[15] - go[16] * *cnV[16];
- m_A4 = gt[28] + gt[29] + gt[30];
- m_A5 = m_A5 + go[28];
- double RHS2 = Idr[28] + Idr[29] + Idr[30] - go[29] * *cnV[29] - go[30] * *cnV[30];
- m_A6 = gt[42] + gt[43] + gt[44];
- m_A7 = m_A7 + go[42];
- double RHS3 = Idr[42] + Idr[43] + Idr[44] - go[43] * *cnV[43] - go[44] * *cnV[44];
- m_A8 = gt[56] + gt[57] + gt[58];
- m_A9 = m_A9 + go[56];
- double RHS4 = Idr[56] + Idr[57] + Idr[58] - go[57] * *cnV[57] - go[58] * *cnV[58];
- m_A10 = gt[70] + gt[71] + gt[72];
- m_A11 = m_A11 + go[70];
- double RHS5 = Idr[70] + Idr[71] + Idr[72] - go[71] * *cnV[71] - go[72] * *cnV[72];
- m_A12 = gt[84] + gt[85] + gt[86];
- m_A13 = m_A13 + go[84];
- double RHS6 = Idr[84] + Idr[85] + Idr[86] - go[85] * *cnV[85] - go[86] * *cnV[86];
- m_A14 = gt[98] + gt[99] + gt[100];
- m_A15 = m_A15 + go[98];
- double RHS7 = Idr[98] + Idr[99] + Idr[100] - go[99] * *cnV[99] - go[100] * *cnV[100];
- m_A16 = gt[112] + gt[113] + gt[114];
- m_A17 = m_A17 + go[112];
- double RHS8 = Idr[112] + Idr[113] + Idr[114] - go[113] * *cnV[113] - go[114] * *cnV[114];
- m_A18 = gt[126] + gt[127] + gt[128];
- m_A19 = m_A19 + go[126];
- double RHS9 = Idr[126] + Idr[127] + Idr[128] - go[127] * *cnV[127] - go[128] * *cnV[128];
- m_A20 = gt[140] + gt[141] + gt[142];
- m_A21 = m_A21 + go[140];
- double RHS10 = Idr[140] + Idr[141] + Idr[142] - go[141] * *cnV[141] - go[142] * *cnV[142];
- m_A22 = gt[154] + gt[155] + gt[156];
- m_A23 = m_A23 + go[154];
- double RHS11 = Idr[154] + Idr[155] + Idr[156] - go[155] * *cnV[155] - go[156] * *cnV[156];
- m_A25 = gt[168] + gt[169] + gt[170];
- m_A26 = m_A26 + go[168];
- m_A24 = m_A24 + go[169];
- double RHS12 = Idr[168] + Idr[169] + Idr[170] - go[170] * *cnV[170];
- m_A30 = gt[182] + gt[183] + gt[184] + gt[185] + gt[186] + gt[187] + gt[188];
- m_A29 = m_A29 + go[182];
- m_A28 = m_A28 + go[183];
- m_A27 = m_A27 + go[184];
- m_A31 = m_A31 + go[185];
- m_A31 = m_A31 + go[186];
- double RHS13 = Idr[182] + Idr[183] + Idr[184] + Idr[185] + Idr[186] + Idr[187] + Idr[188] - go[187] * *cnV[187] - go[188] * *cnV[188];
- m_A42 = gt[196] + gt[197] + gt[198] + gt[199] + gt[200] + gt[201] + gt[202] + gt[203] + gt[204] + gt[205] + gt[206] + gt[207] + gt[208];
- m_A41 = m_A41 + go[196];
- m_A41 = m_A41 + go[197];
- m_A39 = m_A39 + go[198];
- m_A38 = m_A38 + go[199];
- m_A37 = m_A37 + go[200];
- m_A36 = m_A36 + go[201];
- m_A35 = m_A35 + go[202];
- m_A34 = m_A34 + go[203];
- m_A33 = m_A33 + go[204];
- m_A32 = m_A32 + go[205];
- m_A40 = m_A40 + go[206];
- double RHS14 = Idr[196] + Idr[197] + Idr[198] + Idr[199] + Idr[200] + Idr[201] + Idr[202] + Idr[203] + Idr[204] + Idr[205] + Idr[206] + Idr[207] + Idr[208] - go[207] * *cnV[207] - go[208] * *cnV[208];
-const double f0 = 1.0 / m_A0;
- const double f0_12 = -f0 * m_A24;
- m_A25 += m_A1 * f0_12;
- RHS12 += f0_12 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_14 = -f1 * m_A32;
- m_A42 += m_A3 * f1_14;
- RHS14 += f1_14 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_14 = -f2 * m_A33;
- m_A42 += m_A5 * f2_14;
- RHS14 += f2_14 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_14 = -f3 * m_A34;
- m_A42 += m_A7 * f3_14;
- RHS14 += f3_14 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_14 = -f4 * m_A35;
- m_A42 += m_A9 * f4_14;
- RHS14 += f4_14 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_14 = -f5 * m_A36;
- m_A42 += m_A11 * f5_14;
- RHS14 += f5_14 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_14 = -f6 * m_A37;
- m_A42 += m_A13 * f6_14;
- RHS14 += f6_14 * RHS6;
-const double f7 = 1.0 / m_A14;
- const double f7_14 = -f7 * m_A38;
- m_A42 += m_A15 * f7_14;
- RHS14 += f7_14 * RHS7;
-const double f8 = 1.0 / m_A16;
- const double f8_14 = -f8 * m_A39;
- m_A42 += m_A17 * f8_14;
- RHS14 += f8_14 * RHS8;
-const double f9 = 1.0 / m_A18;
- const double f9_13 = -f9 * m_A27;
- m_A30 += m_A19 * f9_13;
- RHS13 += f9_13 * RHS9;
-const double f10 = 1.0 / m_A20;
- const double f10_13 = -f10 * m_A28;
- m_A30 += m_A21 * f10_13;
- RHS13 += f10_13 * RHS10;
-const double f11 = 1.0 / m_A22;
- const double f11_13 = -f11 * m_A29;
- m_A30 += m_A23 * f11_13;
- RHS13 += f11_13 * RHS11;
-const double f12 = 1.0 / m_A25;
- const double f12_14 = -f12 * m_A40;
- m_A42 += m_A26 * f12_14;
- RHS14 += f12_14 * RHS12;
-const double f13 = 1.0 / m_A30;
- const double f13_14 = -f13 * m_A41;
- m_A42 += m_A31 * f13_14;
- RHS14 += f13_14 * RHS13;
- V[14] = RHS14 / m_A42;
- double tmp13 = 0.0;
- tmp13 += m_A31 * V[14];
- V[13] = (RHS13 - tmp13) / m_A30;
- double tmp12 = 0.0;
- tmp12 += m_A26 * V[14];
- V[12] = (RHS12 - tmp12) / m_A25;
- double tmp11 = 0.0;
- tmp11 += m_A23 * V[13];
- V[11] = (RHS11 - tmp11) / m_A22;
- double tmp10 = 0.0;
- tmp10 += m_A21 * V[13];
- V[10] = (RHS10 - tmp10) / m_A20;
- double tmp9 = 0.0;
- tmp9 += m_A19 * V[13];
- V[9] = (RHS9 - tmp9) / m_A18;
- double tmp8 = 0.0;
- tmp8 += m_A17 * V[14];
- V[8] = (RHS8 - tmp8) / m_A16;
- double tmp7 = 0.0;
- tmp7 += m_A15 * V[14];
- V[7] = (RHS7 - tmp7) / m_A14;
- double tmp6 = 0.0;
- tmp6 += m_A13 * V[14];
- V[6] = (RHS6 - tmp6) / m_A12;
- double tmp5 = 0.0;
- tmp5 += m_A11 * V[14];
- V[5] = (RHS5 - tmp5) / m_A10;
- double tmp4 = 0.0;
- tmp4 += m_A9 * V[14];
- V[4] = (RHS4 - tmp4) / m_A8;
- double tmp3 = 0.0;
- tmp3 += m_A7 * V[14];
- V[3] = (RHS3 - tmp3) / m_A6;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 -= go[4] * *cnV[4];
+ RHS1 -= go[5] * *cnV[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A5 += go[6];
+ double RHS2 = Idr[6];
+ RHS2 += Idr[7];
+ RHS2 -= go[7] * *cnV[7];
+ m_A9 += gt[8];
+ m_A9 += gt[9];
+ m_A9 += gt[10];
+ m_A9 += gt[11];
+ m_A9 += gt[12];
+ m_A8 += go[8];
+ m_A7 += go[9];
+ m_A6 += go[10];
+ double RHS3 = Idr[8];
+ RHS3 += Idr[9];
+ RHS3 += Idr[10];
+ RHS3 += Idr[11];
+ RHS3 += Idr[12];
+ RHS3 -= go[11] * *cnV[11];
+ RHS3 -= go[12] * *cnV[12];
+ const double f0 = 1.0 / m_A0;
+ const double f0_3 = -f0 * m_A6;
+ m_A9 += m_A1 * f0_3;
+ RHS3 += f0_3 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_3 = -f1 * m_A7;
+ m_A9 += m_A3 * f1_3;
+ RHS3 += f1_3 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_3 = -f2 * m_A8;
+ m_A9 += m_A5 * f2_3;
+ RHS3 += f2_3 * RHS2;
+ V[3] = RHS3 / m_A9;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[14];
+ tmp2 += m_A5 * V[3];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[14];
+ tmp1 += m_A3 * V[3];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[12];
+ tmp0 += m_A1 * V[3];
V[0] = (RHS0 - tmp0) / m_A0;
}
// gamemachine
-static void nl_gcr_d028b2a263a6b4a7_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_df3a545642cc0a22_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- m_A1 = m_A1 + go[1];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[2] * *cnV[2];
- m_A2 = gt[6] + gt[7] + gt[8] + gt[9];
- m_A3 = m_A3 + go[6];
- m_A3 = m_A3 + go[7];
- double RHS1 = Idr[6] + Idr[7] + Idr[8] + Idr[9] - go[8] * *cnV[8] - go[9] * *cnV[9];
- m_A6 = gt[12] + gt[13] + gt[14] + gt[15] + gt[16] + gt[17];
- m_A5 = m_A5 + go[12];
- m_A5 = m_A5 + go[13];
- m_A4 = m_A4 + go[14];
- m_A4 = m_A4 + go[15];
- double RHS2 = Idr[12] + Idr[13] + Idr[14] + Idr[15] + Idr[16] + Idr[17] - go[16] * *cnV[16] - go[17] * *cnV[17];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ m_A1 += go[1];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A3 += go[3];
+ m_A3 += go[4];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[5] * *cnV[5];
+ RHS1 -= go[6] * *cnV[6];
+ m_A6 += gt[7];
+ m_A6 += gt[8];
+ m_A6 += gt[9];
+ m_A6 += gt[10];
+ m_A6 += gt[11];
+ m_A6 += gt[12];
+ m_A5 += go[7];
+ m_A5 += go[8];
+ m_A4 += go[9];
+ m_A4 += go[10];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 += Idr[12];
+ RHS2 -= go[11] * *cnV[11];
+ RHS2 -= go[12] * *cnV[12];
+ const double f0 = 1.0 / m_A0;
const double f0_2 = -f0 * m_A4;
m_A6 += m_A1 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_2 = -f1 * m_A5;
m_A6 += m_A3 * f1_2;
RHS2 += f1_2 * RHS1;
@@ -11053,409 +15185,731 @@ const double f1 = 1.0 / m_A2;
}
// zac1b11142
-static void nl_gcr_dded752996a524fc_178_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_e3e057bb1961a530_178_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
-double m_A95(0.0);
-double m_A96(0.0);
-double m_A97(0.0);
-double m_A98(0.0);
-double m_A99(0.0);
-double m_A100(0.0);
-double m_A101(0.0);
-double m_A102(0.0);
-double m_A103(0.0);
-double m_A104(0.0);
-double m_A105(0.0);
-double m_A106(0.0);
-double m_A107(0.0);
-double m_A108(0.0);
-double m_A109(0.0);
-double m_A110(0.0);
-double m_A111(0.0);
-double m_A112(0.0);
-double m_A113(0.0);
-double m_A114(0.0);
-double m_A115(0.0);
-double m_A116(0.0);
-double m_A117(0.0);
-double m_A118(0.0);
-double m_A119(0.0);
-double m_A120(0.0);
-double m_A121(0.0);
-double m_A122(0.0);
-double m_A123(0.0);
-double m_A124(0.0);
-double m_A125(0.0);
-double m_A126(0.0);
-double m_A127(0.0);
-double m_A128(0.0);
-double m_A129(0.0);
-double m_A130(0.0);
-double m_A131(0.0);
-double m_A132(0.0);
-double m_A133(0.0);
-double m_A134(0.0);
-double m_A135(0.0);
-double m_A136(0.0);
-double m_A137(0.0);
-double m_A138(0.0);
-double m_A139(0.0);
-double m_A140(0.0);
-double m_A141(0.0);
-double m_A142(0.0);
-double m_A143(0.0);
-double m_A144(0.0);
-double m_A145(0.0);
-double m_A146(0.0);
-double m_A147(0.0);
-double m_A148(0.0);
-double m_A149(0.0);
-double m_A150(0.0);
-double m_A151(0.0);
-double m_A152(0.0);
-double m_A153(0.0);
-double m_A154(0.0);
-double m_A155(0.0);
-double m_A156(0.0);
-double m_A157(0.0);
-double m_A158(0.0);
-double m_A159(0.0);
-double m_A160(0.0);
-double m_A161(0.0);
-double m_A162(0.0);
-double m_A163(0.0);
-double m_A164(0.0);
-double m_A165(0.0);
-double m_A166(0.0);
-double m_A167(0.0);
-double m_A168(0.0);
-double m_A169(0.0);
-double m_A170(0.0);
-double m_A171(0.0);
-double m_A172(0.0);
-double m_A173(0.0);
-double m_A174(0.0);
-double m_A175(0.0);
-double m_A176(0.0);
-double m_A177(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[10] + gt[11];
- m_A3 = m_A3 + go[10];
- double RHS1 = Idr[10] + Idr[11] - go[11] * *cnV[11];
- m_A4 = gt[20] + gt[21];
- m_A6 = m_A6 + go[20];
- m_A5 = m_A5 + go[21];
- double RHS2 = Idr[20] + Idr[21];
- m_A7 = gt[30] + gt[31];
- m_A8 = m_A8 + go[30];
- double RHS3 = Idr[30] + Idr[31] - go[31] * *cnV[31];
- m_A9 = gt[40] + gt[41] + gt[42] + gt[43] + gt[44] + gt[45] + gt[46];
- m_A10 = m_A10 + go[40];
- double RHS4 = Idr[40] + Idr[41] + Idr[42] + Idr[43] + Idr[44] + Idr[45] + Idr[46] - go[41] * *cnV[41] - go[42] * *cnV[42] - go[43] * *cnV[43] - go[44] * *cnV[44] - go[45] * *cnV[45] - go[46] * *cnV[46];
- m_A11 = gt[50] + gt[51];
- m_A12 = m_A12 + go[50];
- double RHS5 = Idr[50] + Idr[51] - go[51] * *cnV[51];
- m_A13 = gt[60] + gt[61];
- m_A14 = m_A14 + go[60];
- double RHS6 = Idr[60] + Idr[61] - go[61] * *cnV[61];
- m_A15 = gt[70] + gt[71];
- m_A16 = m_A16 + go[70];
- double RHS7 = Idr[70] + Idr[71] - go[71] * *cnV[71];
- m_A17 = gt[80] + gt[81];
- m_A18 = m_A18 + go[80];
- double RHS8 = Idr[80] + Idr[81] - go[81] * *cnV[81];
- m_A19 = gt[90] + gt[91];
- m_A20 = m_A20 + go[90];
- m_A21 = m_A21 + go[91];
- double RHS9 = Idr[90] + Idr[91];
- m_A22 = gt[100] + gt[101] + gt[102] + gt[103];
- m_A23 = m_A23 + go[100];
- m_A23 = m_A23 + go[101];
- double RHS10 = Idr[100] + Idr[101] + Idr[102] + Idr[103] - go[102] * *cnV[102] - go[103] * *cnV[103];
- m_A24 = gt[110] + gt[111] + gt[112] + gt[113];
- m_A25 = m_A25 + go[110];
- m_A25 = m_A25 + go[111];
- double RHS11 = Idr[110] + Idr[111] + Idr[112] + Idr[113] - go[112] * *cnV[112] - go[113] * *cnV[113];
- m_A26 = gt[120] + gt[121] + gt[122] + gt[123];
- m_A27 = m_A27 + go[120];
- m_A27 = m_A27 + go[121];
- double RHS12 = Idr[120] + Idr[121] + Idr[122] + Idr[123] - go[122] * *cnV[122] - go[123] * *cnV[123];
- m_A28 = gt[130] + gt[131];
- m_A29 = m_A29 + go[130];
- double RHS13 = Idr[130] + Idr[131] - go[131] * *cnV[131];
- m_A30 = gt[140] + gt[141] + gt[142];
- m_A31 = m_A31 + go[140];
- double RHS14 = Idr[140] + Idr[141] + Idr[142] - go[141] * *cnV[141] - go[142] * *cnV[142];
- m_A32 = gt[150] + gt[151] + gt[152];
- m_A33 = m_A33 + go[150];
- double RHS15 = Idr[150] + Idr[151] + Idr[152] - go[151] * *cnV[151] - go[152] * *cnV[152];
- m_A34 = gt[160] + gt[161] + gt[162];
- m_A35 = m_A35 + go[160];
- double RHS16 = Idr[160] + Idr[161] + Idr[162] - go[161] * *cnV[161] - go[162] * *cnV[162];
- m_A36 = gt[170] + gt[171];
- m_A37 = m_A37 + go[170];
- double RHS17 = Idr[170] + Idr[171] - go[171] * *cnV[171];
- m_A38 = gt[180] + gt[181] + gt[182] + gt[183];
- m_A39 = m_A39 + go[180];
- double RHS18 = Idr[180] + Idr[181] + Idr[182] + Idr[183] - go[181] * *cnV[181] - go[182] * *cnV[182] - go[183] * *cnV[183];
- m_A40 = gt[190] + gt[191] + gt[192] + gt[193] + gt[194];
- m_A41 = m_A41 + go[190];
- double RHS19 = Idr[190] + Idr[191] + Idr[192] + Idr[193] + Idr[194] - go[191] * *cnV[191] - go[192] * *cnV[192] - go[193] * *cnV[193] - go[194] * *cnV[194];
- m_A42 = gt[200] + gt[201] + gt[202] + gt[203] + gt[204] + gt[205] + gt[206];
- m_A43 = m_A43 + go[200];
- double RHS20 = Idr[200] + Idr[201] + Idr[202] + Idr[203] + Idr[204] + Idr[205] + Idr[206] - go[201] * *cnV[201] - go[202] * *cnV[202] - go[203] * *cnV[203] - go[204] * *cnV[204] - go[205] * *cnV[205] - go[206] * *cnV[206];
- m_A44 = gt[210] + gt[211] + gt[212];
- m_A45 = m_A45 + go[210];
- double RHS21 = Idr[210] + Idr[211] + Idr[212] - go[211] * *cnV[211] - go[212] * *cnV[212];
- m_A46 = gt[220] + gt[221];
- m_A48 = m_A48 + go[220];
- m_A47 = m_A47 + go[221];
- double RHS22 = Idr[220] + Idr[221];
- m_A49 = gt[230] + gt[231] + gt[232];
- m_A51 = m_A51 + go[230];
- m_A50 = m_A50 + go[231];
- double RHS23 = Idr[230] + Idr[231] + Idr[232] - go[232] * *cnV[232];
- m_A52 = gt[240] + gt[241] + gt[242];
- m_A53 = m_A53 + go[240];
- double RHS24 = Idr[240] + Idr[241] + Idr[242] - go[241] * *cnV[241] - go[242] * *cnV[242];
- m_A54 = gt[250] + gt[251] + gt[252] + gt[253];
- m_A55 = m_A55 + go[250];
- m_A55 = m_A55 + go[251];
- m_A56 = m_A56 + go[252];
- double RHS25 = Idr[250] + Idr[251] + Idr[252] + Idr[253] - go[253] * *cnV[253];
- m_A60 = gt[260] + gt[261] + gt[262];
- m_A59 = m_A59 + go[260];
- m_A58 = m_A58 + go[261];
- m_A57 = m_A57 + go[262];
- double RHS26 = Idr[260] + Idr[261] + Idr[262];
- m_A62 = gt[270] + gt[271];
- m_A63 = m_A63 + go[270];
- m_A64 = m_A64 + go[271];
- double RHS27 = Idr[270] + Idr[271];
- m_A65 = gt[280] + gt[281] + gt[282];
- m_A66 = m_A66 + go[280];
- double RHS28 = Idr[280] + Idr[281] + Idr[282] - go[281] * *cnV[281] - go[282] * *cnV[282];
- m_A67 = gt[290] + gt[291] + gt[292];
- m_A69 = m_A69 + go[290];
- m_A68 = m_A68 + go[291];
- double RHS29 = Idr[290] + Idr[291] + Idr[292] - go[292] * *cnV[292];
- m_A70 = gt[300] + gt[301];
- m_A72 = m_A72 + go[300];
- m_A71 = m_A71 + go[301];
- double RHS30 = Idr[300] + Idr[301];
- m_A74 = gt[310] + gt[311];
- m_A73 = m_A73 + go[310];
- double RHS31 = Idr[310] + Idr[311] - go[311] * *cnV[311];
- m_A82 = gt[320] + gt[321] + gt[322] + gt[323] + gt[324] + gt[325] + gt[326] + gt[327] + gt[328] + gt[329];
- m_A81 = m_A81 + go[320];
- m_A80 = m_A80 + go[321];
- m_A79 = m_A79 + go[322];
- m_A78 = m_A78 + go[323];
- m_A78 = m_A78 + go[324];
- m_A77 = m_A77 + go[325];
- m_A77 = m_A77 + go[326];
- m_A76 = m_A76 + go[327];
- m_A76 = m_A76 + go[328];
- m_A75 = m_A75 + go[329];
- double RHS32 = Idr[320] + Idr[321] + Idr[322] + Idr[323] + Idr[324] + Idr[325] + Idr[326] + Idr[327] + Idr[328] + Idr[329];
- m_A86 = gt[330] + gt[331] + gt[332] + gt[333] + gt[334] + gt[335] + gt[336];
- m_A85 = m_A85 + go[330];
- m_A84 = m_A84 + go[331];
- double RHS33 = Idr[330] + Idr[331] + Idr[332] + Idr[333] + Idr[334] + Idr[335] + Idr[336] - go[332] * *cnV[332] - go[333] * *cnV[333] - go[334] * *cnV[334] - go[335] * *cnV[335] - go[336] * *cnV[336];
- m_A90 = gt[340] + gt[341];
- m_A91 = m_A91 + go[340];
- m_A88 = m_A88 + go[341];
- double RHS34 = Idr[340] + Idr[341];
- m_A94 = gt[350] + gt[351] + gt[352] + gt[353] + gt[354];
- m_A92 = m_A92 + go[350];
- m_A93 = m_A93 + go[351];
- m_A93 = m_A93 + go[352];
- double RHS35 = Idr[350] + Idr[351] + Idr[352] + Idr[353] + Idr[354] - go[353] * *cnV[353] - go[354] * *cnV[354];
- m_A97 = gt[360] + gt[361];
- m_A98 = m_A98 + go[360];
- m_A96 = m_A96 + go[361];
- double RHS36 = Idr[360] + Idr[361];
- m_A100 = gt[370] + gt[371];
- m_A99 = m_A99 + go[370];
- m_A102 = m_A102 + go[371];
- double RHS37 = Idr[370] + Idr[371];
- m_A105 = gt[380] + gt[381];
- m_A107 = m_A107 + go[380];
- m_A103 = m_A103 + go[381];
- double RHS38 = Idr[380] + Idr[381];
- m_A111 = gt[390] + gt[391] + gt[392];
- m_A109 = m_A109 + go[390];
- m_A108 = m_A108 + go[391];
- double RHS39 = Idr[390] + Idr[391] + Idr[392] - go[392] * *cnV[392];
- m_A116 = gt[400] + gt[401] + gt[402];
- m_A114 = m_A114 + go[400];
- m_A113 = m_A113 + go[401];
- m_A118 = m_A118 + go[402];
- double RHS40 = Idr[400] + Idr[401] + Idr[402];
- m_A120 = gt[410] + gt[411] + gt[412] + gt[413];
- m_A121 = m_A121 + go[410];
- m_A119 = m_A119 + go[411];
- double RHS41 = Idr[410] + Idr[411] + Idr[412] + Idr[413] - go[412] * *cnV[412] - go[413] * *cnV[413];
- m_A124 = gt[420] + gt[421];
- m_A123 = m_A123 + go[420];
- m_A122 = m_A122 + go[421];
- double RHS42 = Idr[420] + Idr[421];
- m_A131 = gt[430] + gt[431] + gt[432] + gt[433] + gt[434] + gt[435];
- m_A132 = m_A132 + go[430];
- m_A132 = m_A132 + go[431];
- m_A129 = m_A129 + go[432];
- m_A128 = m_A128 + go[433];
- m_A127 = m_A127 + go[434];
- m_A126 = m_A126 + go[435];
- double RHS43 = Idr[430] + Idr[431] + Idr[432] + Idr[433] + Idr[434] + Idr[435];
- m_A141 = gt[440] + gt[441] + gt[442] + gt[443] + gt[444] + gt[445] + gt[446];
- m_A136 = m_A136 + go[440];
- m_A135 = m_A135 + go[441];
- m_A134 = m_A134 + go[442];
- m_A133 = m_A133 + go[443];
- m_A140 = m_A140 + go[444];
- m_A137 = m_A137 + go[445];
- m_A139 = m_A139 + go[446];
- double RHS44 = Idr[440] + Idr[441] + Idr[442] + Idr[443] + Idr[444] + Idr[445] + Idr[446];
- m_A143 = gt[450] + gt[451] + gt[452] + gt[453];
- m_A144 = m_A144 + go[450];
- m_A142 = m_A142 + go[451];
- double RHS45 = Idr[450] + Idr[451] + Idr[452] + Idr[453] - go[452] * *cnV[452] - go[453] * *cnV[453];
- m_A147 = gt[460] + gt[461];
- m_A145 = m_A145 + go[460];
- m_A148 = m_A148 + go[461];
- double RHS46 = Idr[460] + Idr[461];
- m_A155 = gt[470] + gt[471] + gt[472] + gt[473] + gt[474] + gt[475];
- m_A150 = m_A150 + go[470];
- m_A151 = m_A151 + go[471];
- m_A154 = m_A154 + go[472];
- m_A154 = m_A154 + go[473];
- double RHS47 = Idr[470] + Idr[471] + Idr[472] + Idr[473] + Idr[474] + Idr[475] - go[474] * *cnV[474] - go[475] * *cnV[475];
- m_A162 = gt[480] + gt[481] + gt[482] + gt[483] + gt[484];
- m_A163 = m_A163 + go[480];
- m_A159 = m_A159 + go[481];
- m_A160 = m_A160 + go[482];
- m_A158 = m_A158 + go[483];
- m_A157 = m_A157 + go[484];
- double RHS48 = Idr[480] + Idr[481] + Idr[482] + Idr[483] + Idr[484];
- m_A169 = gt[490] + gt[491] + gt[492] + gt[493];
- m_A167 = m_A167 + go[490];
- m_A164 = m_A164 + go[491];
- m_A165 = m_A165 + go[492];
- double RHS49 = Idr[490] + Idr[491] + Idr[492] + Idr[493] - go[493] * *cnV[493];
- m_A177 = gt[500] + gt[501] + gt[502] + gt[503] + gt[504];
- m_A171 = m_A171 + go[500];
- m_A172 = m_A172 + go[501];
- m_A175 = m_A175 + go[502];
- double RHS50 = Idr[500] + Idr[501] + Idr[502] + Idr[503] + Idr[504] - go[503] * *cnV[503] - go[504] * *cnV[504];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ double m_A85(0.0);
+ double m_A86(0.0);
+ double m_A87(0.0);
+ double m_A88(0.0);
+ double m_A89(0.0);
+ double m_A90(0.0);
+ double m_A91(0.0);
+ double m_A92(0.0);
+ double m_A93(0.0);
+ double m_A94(0.0);
+ double m_A95(0.0);
+ double m_A96(0.0);
+ double m_A97(0.0);
+ double m_A98(0.0);
+ double m_A99(0.0);
+ double m_A100(0.0);
+ double m_A101(0.0);
+ double m_A102(0.0);
+ double m_A103(0.0);
+ double m_A104(0.0);
+ double m_A105(0.0);
+ double m_A106(0.0);
+ double m_A107(0.0);
+ double m_A108(0.0);
+ double m_A109(0.0);
+ double m_A110(0.0);
+ double m_A111(0.0);
+ double m_A112(0.0);
+ double m_A113(0.0);
+ double m_A114(0.0);
+ double m_A115(0.0);
+ double m_A116(0.0);
+ double m_A117(0.0);
+ double m_A118(0.0);
+ double m_A119(0.0);
+ double m_A120(0.0);
+ double m_A121(0.0);
+ double m_A122(0.0);
+ double m_A123(0.0);
+ double m_A124(0.0);
+ double m_A125(0.0);
+ double m_A126(0.0);
+ double m_A127(0.0);
+ double m_A128(0.0);
+ double m_A129(0.0);
+ double m_A130(0.0);
+ double m_A131(0.0);
+ double m_A132(0.0);
+ double m_A133(0.0);
+ double m_A134(0.0);
+ double m_A135(0.0);
+ double m_A136(0.0);
+ double m_A137(0.0);
+ double m_A138(0.0);
+ double m_A139(0.0);
+ double m_A140(0.0);
+ double m_A141(0.0);
+ double m_A142(0.0);
+ double m_A143(0.0);
+ double m_A144(0.0);
+ double m_A145(0.0);
+ double m_A146(0.0);
+ double m_A147(0.0);
+ double m_A148(0.0);
+ double m_A149(0.0);
+ double m_A150(0.0);
+ double m_A151(0.0);
+ double m_A152(0.0);
+ double m_A153(0.0);
+ double m_A154(0.0);
+ double m_A155(0.0);
+ double m_A156(0.0);
+ double m_A157(0.0);
+ double m_A158(0.0);
+ double m_A159(0.0);
+ double m_A160(0.0);
+ double m_A161(0.0);
+ double m_A162(0.0);
+ double m_A163(0.0);
+ double m_A164(0.0);
+ double m_A165(0.0);
+ double m_A166(0.0);
+ double m_A167(0.0);
+ double m_A168(0.0);
+ double m_A169(0.0);
+ double m_A170(0.0);
+ double m_A171(0.0);
+ double m_A172(0.0);
+ double m_A173(0.0);
+ double m_A174(0.0);
+ double m_A175(0.0);
+ double m_A176(0.0);
+ double m_A177(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A6 += go[5];
+ m_A5 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ m_A7 += gt[7];
+ m_A7 += gt[8];
+ m_A8 += go[7];
+ double RHS3 = Idr[7];
+ RHS3 += Idr[8];
+ RHS3 -= go[8] * *cnV[8];
+ m_A9 += gt[9];
+ m_A9 += gt[10];
+ m_A9 += gt[11];
+ m_A9 += gt[12];
+ m_A9 += gt[13];
+ m_A9 += gt[14];
+ m_A9 += gt[15];
+ m_A10 += go[9];
+ double RHS4 = Idr[9];
+ RHS4 += Idr[10];
+ RHS4 += Idr[11];
+ RHS4 += Idr[12];
+ RHS4 += Idr[13];
+ RHS4 += Idr[14];
+ RHS4 += Idr[15];
+ RHS4 -= go[10] * *cnV[10];
+ RHS4 -= go[11] * *cnV[11];
+ RHS4 -= go[12] * *cnV[12];
+ RHS4 -= go[13] * *cnV[13];
+ RHS4 -= go[14] * *cnV[14];
+ RHS4 -= go[15] * *cnV[15];
+ m_A11 += gt[16];
+ m_A11 += gt[17];
+ m_A12 += go[16];
+ double RHS5 = Idr[16];
+ RHS5 += Idr[17];
+ RHS5 -= go[17] * *cnV[17];
+ m_A13 += gt[18];
+ m_A13 += gt[19];
+ m_A14 += go[18];
+ double RHS6 = Idr[18];
+ RHS6 += Idr[19];
+ RHS6 -= go[19] * *cnV[19];
+ m_A15 += gt[20];
+ m_A15 += gt[21];
+ m_A16 += go[20];
+ double RHS7 = Idr[20];
+ RHS7 += Idr[21];
+ RHS7 -= go[21] * *cnV[21];
+ m_A17 += gt[22];
+ m_A17 += gt[23];
+ m_A18 += go[22];
+ double RHS8 = Idr[22];
+ RHS8 += Idr[23];
+ RHS8 -= go[23] * *cnV[23];
+ m_A19 += gt[24];
+ m_A19 += gt[25];
+ m_A20 += go[24];
+ m_A21 += go[25];
+ double RHS9 = Idr[24];
+ RHS9 += Idr[25];
+ m_A22 += gt[26];
+ m_A22 += gt[27];
+ m_A22 += gt[28];
+ m_A22 += gt[29];
+ m_A23 += go[26];
+ m_A23 += go[27];
+ double RHS10 = Idr[26];
+ RHS10 += Idr[27];
+ RHS10 += Idr[28];
+ RHS10 += Idr[29];
+ RHS10 -= go[28] * *cnV[28];
+ RHS10 -= go[29] * *cnV[29];
+ m_A24 += gt[30];
+ m_A24 += gt[31];
+ m_A24 += gt[32];
+ m_A24 += gt[33];
+ m_A25 += go[30];
+ m_A25 += go[31];
+ double RHS11 = Idr[30];
+ RHS11 += Idr[31];
+ RHS11 += Idr[32];
+ RHS11 += Idr[33];
+ RHS11 -= go[32] * *cnV[32];
+ RHS11 -= go[33] * *cnV[33];
+ m_A26 += gt[34];
+ m_A26 += gt[35];
+ m_A26 += gt[36];
+ m_A26 += gt[37];
+ m_A27 += go[34];
+ m_A27 += go[35];
+ double RHS12 = Idr[34];
+ RHS12 += Idr[35];
+ RHS12 += Idr[36];
+ RHS12 += Idr[37];
+ RHS12 -= go[36] * *cnV[36];
+ RHS12 -= go[37] * *cnV[37];
+ m_A28 += gt[38];
+ m_A28 += gt[39];
+ m_A29 += go[38];
+ double RHS13 = Idr[38];
+ RHS13 += Idr[39];
+ RHS13 -= go[39] * *cnV[39];
+ m_A30 += gt[40];
+ m_A30 += gt[41];
+ m_A30 += gt[42];
+ m_A31 += go[40];
+ double RHS14 = Idr[40];
+ RHS14 += Idr[41];
+ RHS14 += Idr[42];
+ RHS14 -= go[41] * *cnV[41];
+ RHS14 -= go[42] * *cnV[42];
+ m_A32 += gt[43];
+ m_A32 += gt[44];
+ m_A32 += gt[45];
+ m_A33 += go[43];
+ double RHS15 = Idr[43];
+ RHS15 += Idr[44];
+ RHS15 += Idr[45];
+ RHS15 -= go[44] * *cnV[44];
+ RHS15 -= go[45] * *cnV[45];
+ m_A34 += gt[46];
+ m_A34 += gt[47];
+ m_A34 += gt[48];
+ m_A35 += go[46];
+ double RHS16 = Idr[46];
+ RHS16 += Idr[47];
+ RHS16 += Idr[48];
+ RHS16 -= go[47] * *cnV[47];
+ RHS16 -= go[48] * *cnV[48];
+ m_A36 += gt[49];
+ m_A36 += gt[50];
+ m_A37 += go[49];
+ double RHS17 = Idr[49];
+ RHS17 += Idr[50];
+ RHS17 -= go[50] * *cnV[50];
+ m_A38 += gt[51];
+ m_A38 += gt[52];
+ m_A38 += gt[53];
+ m_A38 += gt[54];
+ m_A39 += go[51];
+ double RHS18 = Idr[51];
+ RHS18 += Idr[52];
+ RHS18 += Idr[53];
+ RHS18 += Idr[54];
+ RHS18 -= go[52] * *cnV[52];
+ RHS18 -= go[53] * *cnV[53];
+ RHS18 -= go[54] * *cnV[54];
+ m_A40 += gt[55];
+ m_A40 += gt[56];
+ m_A40 += gt[57];
+ m_A40 += gt[58];
+ m_A40 += gt[59];
+ m_A41 += go[55];
+ double RHS19 = Idr[55];
+ RHS19 += Idr[56];
+ RHS19 += Idr[57];
+ RHS19 += Idr[58];
+ RHS19 += Idr[59];
+ RHS19 -= go[56] * *cnV[56];
+ RHS19 -= go[57] * *cnV[57];
+ RHS19 -= go[58] * *cnV[58];
+ RHS19 -= go[59] * *cnV[59];
+ m_A42 += gt[60];
+ m_A42 += gt[61];
+ m_A42 += gt[62];
+ m_A42 += gt[63];
+ m_A42 += gt[64];
+ m_A42 += gt[65];
+ m_A42 += gt[66];
+ m_A43 += go[60];
+ double RHS20 = Idr[60];
+ RHS20 += Idr[61];
+ RHS20 += Idr[62];
+ RHS20 += Idr[63];
+ RHS20 += Idr[64];
+ RHS20 += Idr[65];
+ RHS20 += Idr[66];
+ RHS20 -= go[61] * *cnV[61];
+ RHS20 -= go[62] * *cnV[62];
+ RHS20 -= go[63] * *cnV[63];
+ RHS20 -= go[64] * *cnV[64];
+ RHS20 -= go[65] * *cnV[65];
+ RHS20 -= go[66] * *cnV[66];
+ m_A44 += gt[67];
+ m_A44 += gt[68];
+ m_A44 += gt[69];
+ m_A45 += go[67];
+ double RHS21 = Idr[67];
+ RHS21 += Idr[68];
+ RHS21 += Idr[69];
+ RHS21 -= go[68] * *cnV[68];
+ RHS21 -= go[69] * *cnV[69];
+ m_A46 += gt[70];
+ m_A46 += gt[71];
+ m_A48 += go[70];
+ m_A47 += go[71];
+ double RHS22 = Idr[70];
+ RHS22 += Idr[71];
+ m_A49 += gt[72];
+ m_A49 += gt[73];
+ m_A49 += gt[74];
+ m_A51 += go[72];
+ m_A50 += go[73];
+ double RHS23 = Idr[72];
+ RHS23 += Idr[73];
+ RHS23 += Idr[74];
+ RHS23 -= go[74] * *cnV[74];
+ m_A52 += gt[75];
+ m_A52 += gt[76];
+ m_A52 += gt[77];
+ m_A53 += go[75];
+ double RHS24 = Idr[75];
+ RHS24 += Idr[76];
+ RHS24 += Idr[77];
+ RHS24 -= go[76] * *cnV[76];
+ RHS24 -= go[77] * *cnV[77];
+ m_A54 += gt[78];
+ m_A54 += gt[79];
+ m_A54 += gt[80];
+ m_A54 += gt[81];
+ m_A55 += go[78];
+ m_A55 += go[79];
+ m_A56 += go[80];
+ double RHS25 = Idr[78];
+ RHS25 += Idr[79];
+ RHS25 += Idr[80];
+ RHS25 += Idr[81];
+ RHS25 -= go[81] * *cnV[81];
+ m_A60 += gt[82];
+ m_A60 += gt[83];
+ m_A60 += gt[84];
+ m_A59 += go[82];
+ m_A58 += go[83];
+ m_A57 += go[84];
+ double RHS26 = Idr[82];
+ RHS26 += Idr[83];
+ RHS26 += Idr[84];
+ m_A62 += gt[85];
+ m_A62 += gt[86];
+ m_A63 += go[85];
+ m_A64 += go[86];
+ double RHS27 = Idr[85];
+ RHS27 += Idr[86];
+ m_A65 += gt[87];
+ m_A65 += gt[88];
+ m_A65 += gt[89];
+ m_A66 += go[87];
+ double RHS28 = Idr[87];
+ RHS28 += Idr[88];
+ RHS28 += Idr[89];
+ RHS28 -= go[88] * *cnV[88];
+ RHS28 -= go[89] * *cnV[89];
+ m_A67 += gt[90];
+ m_A67 += gt[91];
+ m_A67 += gt[92];
+ m_A69 += go[90];
+ m_A68 += go[91];
+ double RHS29 = Idr[90];
+ RHS29 += Idr[91];
+ RHS29 += Idr[92];
+ RHS29 -= go[92] * *cnV[92];
+ m_A70 += gt[93];
+ m_A70 += gt[94];
+ m_A72 += go[93];
+ m_A71 += go[94];
+ double RHS30 = Idr[93];
+ RHS30 += Idr[94];
+ m_A74 += gt[95];
+ m_A74 += gt[96];
+ m_A73 += go[95];
+ double RHS31 = Idr[95];
+ RHS31 += Idr[96];
+ RHS31 -= go[96] * *cnV[96];
+ m_A82 += gt[97];
+ m_A82 += gt[98];
+ m_A82 += gt[99];
+ m_A82 += gt[100];
+ m_A82 += gt[101];
+ m_A82 += gt[102];
+ m_A82 += gt[103];
+ m_A82 += gt[104];
+ m_A82 += gt[105];
+ m_A82 += gt[106];
+ m_A81 += go[97];
+ m_A80 += go[98];
+ m_A79 += go[99];
+ m_A78 += go[100];
+ m_A78 += go[101];
+ m_A77 += go[102];
+ m_A77 += go[103];
+ m_A76 += go[104];
+ m_A76 += go[105];
+ m_A75 += go[106];
+ double RHS32 = Idr[97];
+ RHS32 += Idr[98];
+ RHS32 += Idr[99];
+ RHS32 += Idr[100];
+ RHS32 += Idr[101];
+ RHS32 += Idr[102];
+ RHS32 += Idr[103];
+ RHS32 += Idr[104];
+ RHS32 += Idr[105];
+ RHS32 += Idr[106];
+ m_A86 += gt[107];
+ m_A86 += gt[108];
+ m_A86 += gt[109];
+ m_A86 += gt[110];
+ m_A86 += gt[111];
+ m_A86 += gt[112];
+ m_A86 += gt[113];
+ m_A85 += go[107];
+ m_A84 += go[108];
+ double RHS33 = Idr[107];
+ RHS33 += Idr[108];
+ RHS33 += Idr[109];
+ RHS33 += Idr[110];
+ RHS33 += Idr[111];
+ RHS33 += Idr[112];
+ RHS33 += Idr[113];
+ RHS33 -= go[109] * *cnV[109];
+ RHS33 -= go[110] * *cnV[110];
+ RHS33 -= go[111] * *cnV[111];
+ RHS33 -= go[112] * *cnV[112];
+ RHS33 -= go[113] * *cnV[113];
+ m_A90 += gt[114];
+ m_A90 += gt[115];
+ m_A91 += go[114];
+ m_A88 += go[115];
+ double RHS34 = Idr[114];
+ RHS34 += Idr[115];
+ m_A94 += gt[116];
+ m_A94 += gt[117];
+ m_A94 += gt[118];
+ m_A94 += gt[119];
+ m_A94 += gt[120];
+ m_A92 += go[116];
+ m_A93 += go[117];
+ m_A93 += go[118];
+ double RHS35 = Idr[116];
+ RHS35 += Idr[117];
+ RHS35 += Idr[118];
+ RHS35 += Idr[119];
+ RHS35 += Idr[120];
+ RHS35 -= go[119] * *cnV[119];
+ RHS35 -= go[120] * *cnV[120];
+ m_A97 += gt[121];
+ m_A97 += gt[122];
+ m_A98 += go[121];
+ m_A96 += go[122];
+ double RHS36 = Idr[121];
+ RHS36 += Idr[122];
+ m_A100 += gt[123];
+ m_A100 += gt[124];
+ m_A99 += go[123];
+ m_A102 += go[124];
+ double RHS37 = Idr[123];
+ RHS37 += Idr[124];
+ m_A105 += gt[125];
+ m_A105 += gt[126];
+ m_A107 += go[125];
+ m_A103 += go[126];
+ double RHS38 = Idr[125];
+ RHS38 += Idr[126];
+ m_A111 += gt[127];
+ m_A111 += gt[128];
+ m_A111 += gt[129];
+ m_A109 += go[127];
+ m_A108 += go[128];
+ double RHS39 = Idr[127];
+ RHS39 += Idr[128];
+ RHS39 += Idr[129];
+ RHS39 -= go[129] * *cnV[129];
+ m_A116 += gt[130];
+ m_A116 += gt[131];
+ m_A116 += gt[132];
+ m_A114 += go[130];
+ m_A113 += go[131];
+ m_A118 += go[132];
+ double RHS40 = Idr[130];
+ RHS40 += Idr[131];
+ RHS40 += Idr[132];
+ m_A120 += gt[133];
+ m_A120 += gt[134];
+ m_A120 += gt[135];
+ m_A120 += gt[136];
+ m_A121 += go[133];
+ m_A119 += go[134];
+ double RHS41 = Idr[133];
+ RHS41 += Idr[134];
+ RHS41 += Idr[135];
+ RHS41 += Idr[136];
+ RHS41 -= go[135] * *cnV[135];
+ RHS41 -= go[136] * *cnV[136];
+ m_A124 += gt[137];
+ m_A124 += gt[138];
+ m_A123 += go[137];
+ m_A122 += go[138];
+ double RHS42 = Idr[137];
+ RHS42 += Idr[138];
+ m_A131 += gt[139];
+ m_A131 += gt[140];
+ m_A131 += gt[141];
+ m_A131 += gt[142];
+ m_A131 += gt[143];
+ m_A131 += gt[144];
+ m_A132 += go[139];
+ m_A132 += go[140];
+ m_A129 += go[141];
+ m_A128 += go[142];
+ m_A127 += go[143];
+ m_A126 += go[144];
+ double RHS43 = Idr[139];
+ RHS43 += Idr[140];
+ RHS43 += Idr[141];
+ RHS43 += Idr[142];
+ RHS43 += Idr[143];
+ RHS43 += Idr[144];
+ m_A141 += gt[145];
+ m_A141 += gt[146];
+ m_A141 += gt[147];
+ m_A141 += gt[148];
+ m_A141 += gt[149];
+ m_A141 += gt[150];
+ m_A141 += gt[151];
+ m_A136 += go[145];
+ m_A135 += go[146];
+ m_A134 += go[147];
+ m_A133 += go[148];
+ m_A140 += go[149];
+ m_A137 += go[150];
+ m_A139 += go[151];
+ double RHS44 = Idr[145];
+ RHS44 += Idr[146];
+ RHS44 += Idr[147];
+ RHS44 += Idr[148];
+ RHS44 += Idr[149];
+ RHS44 += Idr[150];
+ RHS44 += Idr[151];
+ m_A143 += gt[152];
+ m_A143 += gt[153];
+ m_A143 += gt[154];
+ m_A143 += gt[155];
+ m_A144 += go[152];
+ m_A142 += go[153];
+ double RHS45 = Idr[152];
+ RHS45 += Idr[153];
+ RHS45 += Idr[154];
+ RHS45 += Idr[155];
+ RHS45 -= go[154] * *cnV[154];
+ RHS45 -= go[155] * *cnV[155];
+ m_A147 += gt[156];
+ m_A147 += gt[157];
+ m_A145 += go[156];
+ m_A148 += go[157];
+ double RHS46 = Idr[156];
+ RHS46 += Idr[157];
+ m_A155 += gt[158];
+ m_A155 += gt[159];
+ m_A155 += gt[160];
+ m_A155 += gt[161];
+ m_A155 += gt[162];
+ m_A155 += gt[163];
+ m_A150 += go[158];
+ m_A151 += go[159];
+ m_A154 += go[160];
+ m_A154 += go[161];
+ double RHS47 = Idr[158];
+ RHS47 += Idr[159];
+ RHS47 += Idr[160];
+ RHS47 += Idr[161];
+ RHS47 += Idr[162];
+ RHS47 += Idr[163];
+ RHS47 -= go[162] * *cnV[162];
+ RHS47 -= go[163] * *cnV[163];
+ m_A162 += gt[164];
+ m_A162 += gt[165];
+ m_A162 += gt[166];
+ m_A162 += gt[167];
+ m_A162 += gt[168];
+ m_A163 += go[164];
+ m_A159 += go[165];
+ m_A160 += go[166];
+ m_A158 += go[167];
+ m_A157 += go[168];
+ double RHS48 = Idr[164];
+ RHS48 += Idr[165];
+ RHS48 += Idr[166];
+ RHS48 += Idr[167];
+ RHS48 += Idr[168];
+ m_A169 += gt[169];
+ m_A169 += gt[170];
+ m_A169 += gt[171];
+ m_A169 += gt[172];
+ m_A167 += go[169];
+ m_A164 += go[170];
+ m_A165 += go[171];
+ double RHS49 = Idr[169];
+ RHS49 += Idr[170];
+ RHS49 += Idr[171];
+ RHS49 += Idr[172];
+ RHS49 -= go[172] * *cnV[172];
+ m_A177 += gt[173];
+ m_A177 += gt[174];
+ m_A177 += gt[175];
+ m_A177 += gt[176];
+ m_A177 += gt[177];
+ m_A171 += go[173];
+ m_A172 += go[174];
+ m_A175 += go[175];
+ double RHS50 = Idr[173];
+ RHS50 += Idr[174];
+ RHS50 += Idr[175];
+ RHS50 += Idr[176];
+ RHS50 += Idr[177];
+ RHS50 -= go[176] * *cnV[176];
+ RHS50 -= go[177] * *cnV[177];
+ const double f0 = 1.0 / m_A0;
const double f0_26 = -f0 * m_A57;
m_A60 += m_A1 * f0_26;
RHS26 += f0_26 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_26 = -f1 * m_A58;
m_A60 += m_A3 * f1_26;
RHS26 += f1_26 * RHS1;
-const double f2 = 1.0 / m_A4;
+ const double f2 = 1.0 / m_A4;
const double f2_26 = -f2 * m_A59;
m_A60 += m_A5 * f2_26;
m_A61 += m_A6 * f2_26;
@@ -11464,34 +15918,34 @@ const double f2 = 1.0 / m_A4;
m_A89 += m_A5 * f2_34;
m_A90 += m_A6 * f2_34;
RHS34 += f2_34 * RHS2;
-const double f3 = 1.0 / m_A7;
+ const double f3 = 1.0 / m_A7;
const double f3_36 = -f3 * m_A96;
m_A97 += m_A8 * f3_36;
RHS36 += f3_36 * RHS3;
const double f3_48 = -f3 * m_A157;
m_A160 += m_A8 * f3_48;
RHS48 += f3_48 * RHS3;
-const double f4 = 1.0 / m_A9;
+ const double f4 = 1.0 / m_A9;
const double f4_50 = -f4 * m_A171;
m_A173 += m_A10 * f4_50;
RHS50 += f4_50 * RHS4;
-const double f5 = 1.0 / m_A11;
+ const double f5 = 1.0 / m_A11;
const double f5_44 = -f5 * m_A133;
m_A141 += m_A12 * f5_44;
RHS44 += f5_44 * RHS5;
-const double f6 = 1.0 / m_A13;
+ const double f6 = 1.0 / m_A13;
const double f6_44 = -f6 * m_A134;
m_A141 += m_A14 * f6_44;
RHS44 += f6_44 * RHS6;
-const double f7 = 1.0 / m_A15;
+ const double f7 = 1.0 / m_A15;
const double f7_44 = -f7 * m_A135;
m_A141 += m_A16 * f7_44;
RHS44 += f7_44 * RHS7;
-const double f8 = 1.0 / m_A17;
+ const double f8 = 1.0 / m_A17;
const double f8_44 = -f8 * m_A136;
m_A141 += m_A18 * f8_44;
RHS44 += f8_44 * RHS8;
-const double f9 = 1.0 / m_A19;
+ const double f9 = 1.0 / m_A19;
const double f9_32 = -f9 * m_A75;
m_A82 += m_A20 * f9_32;
m_A83 += m_A21 * f9_32;
@@ -11500,61 +15954,61 @@ const double f9 = 1.0 / m_A19;
m_A138 += m_A20 * f9_44;
m_A141 += m_A21 * f9_44;
RHS44 += f9_44 * RHS9;
-const double f10 = 1.0 / m_A22;
+ const double f10 = 1.0 / m_A22;
const double f10_32 = -f10 * m_A76;
m_A82 += m_A23 * f10_32;
RHS32 += f10_32 * RHS10;
-const double f11 = 1.0 / m_A24;
+ const double f11 = 1.0 / m_A24;
const double f11_32 = -f11 * m_A77;
m_A82 += m_A25 * f11_32;
RHS32 += f11_32 * RHS11;
-const double f12 = 1.0 / m_A26;
+ const double f12 = 1.0 / m_A26;
const double f12_32 = -f12 * m_A78;
m_A82 += m_A27 * f12_32;
RHS32 += f12_32 * RHS12;
-const double f13 = 1.0 / m_A28;
+ const double f13 = 1.0 / m_A28;
const double f13_31 = -f13 * m_A73;
m_A74 += m_A29 * f13_31;
RHS31 += f13_31 * RHS13;
const double f13_43 = -f13 * m_A126;
m_A129 += m_A29 * f13_43;
RHS43 += f13_43 * RHS13;
-const double f14 = 1.0 / m_A30;
+ const double f14 = 1.0 / m_A30;
const double f14_32 = -f14 * m_A79;
m_A82 += m_A31 * f14_32;
RHS32 += f14_32 * RHS14;
-const double f15 = 1.0 / m_A32;
+ const double f15 = 1.0 / m_A32;
const double f15_35 = -f15 * m_A92;
m_A94 += m_A33 * f15_35;
RHS35 += f15_35 * RHS15;
-const double f16 = 1.0 / m_A34;
+ const double f16 = 1.0 / m_A34;
const double f16_32 = -f16 * m_A80;
m_A82 += m_A35 * f16_32;
RHS32 += f16_32 * RHS16;
-const double f17 = 1.0 / m_A36;
+ const double f17 = 1.0 / m_A36;
const double f17_32 = -f17 * m_A81;
m_A82 += m_A37 * f17_32;
RHS32 += f17_32 * RHS17;
-const double f18 = 1.0 / m_A38;
+ const double f18 = 1.0 / m_A38;
const double f18_42 = -f18 * m_A122;
m_A124 += m_A39 * f18_42;
RHS42 += f18_42 * RHS18;
-const double f19 = 1.0 / m_A40;
+ const double f19 = 1.0 / m_A40;
const double f19_33 = -f19 * m_A84;
m_A86 += m_A41 * f19_33;
RHS33 += f19_33 * RHS19;
-const double f20 = 1.0 / m_A42;
+ const double f20 = 1.0 / m_A42;
const double f20_47 = -f20 * m_A150;
m_A153 += m_A43 * f20_47;
RHS47 += f20_47 * RHS20;
-const double f21 = 1.0 / m_A44;
+ const double f21 = 1.0 / m_A44;
const double f21_45 = -f21 * m_A142;
m_A144 += m_A45 * f21_45;
RHS45 += f21_45 * RHS21;
const double f21_48 = -f21 * m_A158;
m_A162 += m_A45 * f21_48;
RHS48 += f21_48 * RHS21;
-const double f22 = 1.0 / m_A46;
+ const double f22 = 1.0 / m_A46;
const double f22_33 = -f22 * m_A85;
m_A86 += m_A47 * f22_33;
m_A87 += m_A48 * f22_33;
@@ -11563,7 +16017,7 @@ const double f22 = 1.0 / m_A46;
m_A110 += m_A47 * f22_39;
m_A111 += m_A48 * f22_39;
RHS39 += f22_39 * RHS22;
-const double f23 = 1.0 / m_A49;
+ const double f23 = 1.0 / m_A49;
const double f23_37 = -f23 * m_A99;
m_A100 += m_A50 * f23_37;
m_A101 += m_A51 * f23_37;
@@ -11572,11 +16026,11 @@ const double f23 = 1.0 / m_A49;
m_A104 += m_A50 * f23_38;
m_A105 += m_A51 * f23_38;
RHS38 += f23_38 * RHS23;
-const double f24 = 1.0 / m_A52;
+ const double f24 = 1.0 / m_A52;
const double f24_48 = -f24 * m_A159;
m_A162 += m_A53 * f24_48;
RHS48 += f24_48 * RHS24;
-const double f25 = 1.0 / m_A54;
+ const double f25 = 1.0 / m_A54;
const double f25_35 = -f25 * m_A93;
m_A94 += m_A55 * f25_35;
m_A95 += m_A56 * f25_35;
@@ -11585,11 +16039,11 @@ const double f25 = 1.0 / m_A54;
m_A115 += m_A55 * f25_40;
m_A116 += m_A56 * f25_40;
RHS40 += f25_40 * RHS25;
-const double f26 = 1.0 / m_A60;
+ const double f26 = 1.0 / m_A60;
const double f26_34 = -f26 * m_A89;
m_A90 += m_A61 * f26_34;
RHS34 += f26_34 * RHS26;
-const double f27 = 1.0 / m_A62;
+ const double f27 = 1.0 / m_A62;
const double f27_39 = -f27 * m_A109;
m_A111 += m_A63 * f27_39;
m_A112 += m_A64 * f27_39;
@@ -11598,14 +16052,14 @@ const double f27 = 1.0 / m_A62;
m_A166 += m_A63 * f27_49;
m_A169 += m_A64 * f27_49;
RHS49 += f27_49 * RHS27;
-const double f28 = 1.0 / m_A65;
+ const double f28 = 1.0 / m_A65;
const double f28_41 = -f28 * m_A119;
m_A121 += m_A66 * f28_41;
RHS41 += f28_41 * RHS28;
const double f28_43 = -f28 * m_A127;
m_A131 += m_A66 * f28_43;
RHS43 += f28_43 * RHS28;
-const double f29 = 1.0 / m_A67;
+ const double f29 = 1.0 / m_A67;
const double f29_40 = -f29 * m_A114;
m_A116 += m_A68 * f29_40;
m_A117 += m_A69 * f29_40;
@@ -11614,7 +16068,7 @@ const double f29 = 1.0 / m_A67;
m_A146 += m_A68 * f29_46;
m_A147 += m_A69 * f29_46;
RHS46 += f29_46 * RHS29;
-const double f30 = 1.0 / m_A70;
+ const double f30 = 1.0 / m_A70;
const double f30_42 = -f30 * m_A123;
m_A124 += m_A71 * f30_42;
m_A125 += m_A72 * f30_42;
@@ -11623,33 +16077,33 @@ const double f30 = 1.0 / m_A70;
m_A130 += m_A71 * f30_43;
m_A131 += m_A72 * f30_43;
RHS43 += f30_43 * RHS30;
-const double f31 = 1.0 / m_A74;
+ const double f31 = 1.0 / m_A74;
const double f31_43 = -f31 * m_A129;
RHS43 += f31_43 * RHS31;
-const double f32 = 1.0 / m_A82;
+ const double f32 = 1.0 / m_A82;
const double f32_44 = -f32 * m_A138;
m_A141 += m_A83 * f32_44;
RHS44 += f32_44 * RHS32;
-const double f33 = 1.0 / m_A86;
+ const double f33 = 1.0 / m_A86;
const double f33_39 = -f33 * m_A110;
m_A111 += m_A87 * f33_39;
RHS39 += f33_39 * RHS33;
-const double f34 = 1.0 / m_A90;
+ const double f34 = 1.0 / m_A90;
const double f34_44 = -f34 * m_A139;
m_A141 += m_A91 * f34_44;
RHS44 += f34_44 * RHS34;
-const double f35 = 1.0 / m_A94;
+ const double f35 = 1.0 / m_A94;
const double f35_40 = -f35 * m_A115;
m_A116 += m_A95 * f35_40;
RHS40 += f35_40 * RHS35;
-const double f36 = 1.0 / m_A97;
+ const double f36 = 1.0 / m_A97;
const double f36_44 = -f36 * m_A140;
m_A141 += m_A98 * f36_44;
RHS44 += f36_44 * RHS36;
const double f36_48 = -f36 * m_A160;
m_A161 += m_A98 * f36_48;
RHS48 += f36_48 * RHS36;
-const double f37 = 1.0 / m_A100;
+ const double f37 = 1.0 / m_A100;
const double f37_38 = -f37 * m_A104;
m_A105 += m_A101 * f37_38;
m_A106 += m_A102 * f37_38;
@@ -11658,7 +16112,7 @@ const double f37 = 1.0 / m_A100;
m_A152 += m_A101 * f37_47;
m_A155 += m_A102 * f37_47;
RHS47 += f37_47 * RHS37;
-const double f38 = 1.0 / m_A105;
+ const double f38 = 1.0 / m_A105;
const double f38_47 = -f38 * m_A152;
m_A155 += m_A106 * f38_47;
m_A156 += m_A107 * f38_47;
@@ -11667,11 +16121,11 @@ const double f38 = 1.0 / m_A105;
m_A168 += m_A106 * f38_49;
m_A169 += m_A107 * f38_49;
RHS49 += f38_49 * RHS38;
-const double f39 = 1.0 / m_A111;
+ const double f39 = 1.0 / m_A111;
const double f39_49 = -f39 * m_A166;
m_A169 += m_A112 * f39_49;
RHS49 += f39_49 * RHS39;
-const double f40 = 1.0 / m_A116;
+ const double f40 = 1.0 / m_A116;
const double f40_46 = -f40 * m_A146;
m_A147 += m_A117 * f40_46;
m_A149 += m_A118 * f40_46;
@@ -11680,26 +16134,26 @@ const double f40 = 1.0 / m_A116;
m_A174 += m_A117 * f40_50;
m_A177 += m_A118 * f40_50;
RHS50 += f40_50 * RHS40;
-const double f41 = 1.0 / m_A120;
+ const double f41 = 1.0 / m_A120;
const double f41_47 = -f41 * m_A153;
m_A154 += m_A121 * f41_47;
RHS47 += f41_47 * RHS41;
-const double f42 = 1.0 / m_A124;
+ const double f42 = 1.0 / m_A124;
const double f42_43 = -f42 * m_A130;
m_A131 += m_A125 * f42_43;
RHS43 += f42_43 * RHS42;
-const double f43 = 1.0 / m_A131;
+ const double f43 = 1.0 / m_A131;
const double f43_47 = -f43 * m_A154;
m_A155 += m_A132 * f43_47;
RHS47 += f43_47 * RHS43;
-const double f44 = 1.0 / m_A141;
+ const double f44 = 1.0 / m_A141;
const double f44_48 = -f44 * m_A161;
RHS48 += f44_48 * RHS44;
-const double f45 = 1.0 / m_A143;
+ const double f45 = 1.0 / m_A143;
const double f45_50 = -f45 * m_A173;
m_A175 += m_A144 * f45_50;
RHS50 += f45_50 * RHS45;
-const double f46 = 1.0 / m_A147;
+ const double f46 = 1.0 / m_A147;
const double f46_49 = -f46 * m_A167;
m_A169 += m_A148 * f46_49;
m_A170 += m_A149 * f46_49;
@@ -11708,15 +16162,15 @@ const double f46 = 1.0 / m_A147;
m_A176 += m_A148 * f46_50;
m_A177 += m_A149 * f46_50;
RHS50 += f46_50 * RHS46;
-const double f47 = 1.0 / m_A155;
+ const double f47 = 1.0 / m_A155;
const double f47_49 = -f47 * m_A168;
m_A169 += m_A156 * f47_49;
RHS49 += f47_49 * RHS47;
-const double f48 = 1.0 / m_A162;
+ const double f48 = 1.0 / m_A162;
const double f48_50 = -f48 * m_A175;
m_A177 += m_A163 * f48_50;
RHS50 += f48_50 * RHS48;
-const double f49 = 1.0 / m_A169;
+ const double f49 = 1.0 / m_A169;
const double f49_50 = -f49 * m_A176;
m_A177 += m_A170 * f49_50;
RHS50 += f49_50 * RHS49;
@@ -11883,976 +16337,1608 @@ const double f49 = 1.0 / m_A169;
V[0] = (RHS0 - tmp0) / m_A0;
}
-// cheekyms
-static void nl_gcr_e67e623b6c100b4e_12_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// konami2x
+static void nl_gcr_e4c54910436826d1_85_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A2 = m_A2 + go[0];
- m_A1 = m_A1 + go[1];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[2] * *cnV[2];
- m_A3 = gt[6] + gt[7];
- m_A4 = m_A4 + go[6];
- double RHS1 = Idr[6] + Idr[7] - go[7] * *cnV[7];
- m_A6 = gt[12] + gt[13];
- m_A7 = m_A7 + go[12];
- m_A5 = m_A5 + go[13];
- double RHS2 = Idr[12] + Idr[13];
- m_A11 = gt[18] + gt[19] + gt[20] + gt[21] + gt[22] + gt[23];
- m_A9 = m_A9 + go[18];
- m_A10 = m_A10 + go[19];
- m_A8 = m_A8 + go[20];
- double RHS3 = Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] + Idr[23] - go[21] * *cnV[21] - go[22] * *cnV[22] - go[23] * *cnV[23];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A5;
- m_A6 += m_A1 * f0_2;
- m_A7 += m_A2 * f0_2;
- RHS2 += f0_2 * RHS0;
- const double f0_3 = -f0 * m_A8;
- m_A10 += m_A1 * f0_3;
- m_A11 += m_A2 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A3;
- const double f1_3 = -f1 * m_A9;
- m_A11 += m_A4 * f1_3;
- RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A6;
- const double f2_3 = -f2 * m_A10;
- m_A11 += m_A7 * f2_3;
- RHS3 += f2_3 * RHS2;
- V[3] = RHS3 / m_A11;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ double m_A71(0.0);
+ double m_A72(0.0);
+ double m_A73(0.0);
+ double m_A74(0.0);
+ double m_A75(0.0);
+ double m_A76(0.0);
+ double m_A77(0.0);
+ double m_A78(0.0);
+ double m_A79(0.0);
+ double m_A80(0.0);
+ double m_A81(0.0);
+ double m_A82(0.0);
+ double m_A83(0.0);
+ double m_A84(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 -= go[1] * *cnV[1];
+ m_A2 += gt[2];
+ m_A2 += gt[3];
+ m_A3 += go[2];
+ double RHS1 = Idr[2];
+ RHS1 += Idr[3];
+ RHS1 -= go[3] * *cnV[3];
+ m_A4 += gt[4];
+ m_A4 += gt[5];
+ m_A5 += go[4];
+ double RHS2 = Idr[4];
+ RHS2 += Idr[5];
+ RHS2 -= go[5] * *cnV[5];
+ m_A6 += gt[6];
+ m_A6 += gt[7];
+ m_A7 += go[6];
+ double RHS3 = Idr[6];
+ RHS3 += Idr[7];
+ RHS3 -= go[7] * *cnV[7];
+ m_A8 += gt[8];
+ m_A8 += gt[9];
+ m_A9 += go[8];
+ double RHS4 = Idr[8];
+ RHS4 += Idr[9];
+ RHS4 -= go[9] * *cnV[9];
+ m_A10 += gt[10];
+ m_A10 += gt[11];
+ m_A11 += go[10];
+ double RHS5 = Idr[10];
+ RHS5 += Idr[11];
+ RHS5 -= go[11] * *cnV[11];
+ m_A12 += gt[12];
+ m_A12 += gt[13];
+ m_A13 += go[12];
+ double RHS6 = Idr[12];
+ RHS6 += Idr[13];
+ RHS6 -= go[13] * *cnV[13];
+ m_A14 += gt[14];
+ m_A14 += gt[15];
+ m_A15 += go[14];
+ double RHS7 = Idr[14];
+ RHS7 += Idr[15];
+ RHS7 -= go[15] * *cnV[15];
+ m_A16 += gt[16];
+ m_A16 += gt[17];
+ m_A17 += go[16];
+ double RHS8 = Idr[16];
+ RHS8 += Idr[17];
+ RHS8 -= go[17] * *cnV[17];
+ m_A18 += gt[18];
+ m_A18 += gt[19];
+ m_A19 += go[18];
+ double RHS9 = Idr[18];
+ RHS9 += Idr[19];
+ RHS9 -= go[19] * *cnV[19];
+ m_A20 += gt[20];
+ m_A20 += gt[21];
+ m_A21 += go[20];
+ double RHS10 = Idr[20];
+ RHS10 += Idr[21];
+ RHS10 -= go[21] * *cnV[21];
+ m_A22 += gt[22];
+ m_A22 += gt[23];
+ m_A23 += go[22];
+ double RHS11 = Idr[22];
+ RHS11 += Idr[23];
+ RHS11 -= go[23] * *cnV[23];
+ m_A24 += gt[24];
+ m_A24 += gt[25];
+ m_A25 += go[24];
+ double RHS12 = Idr[24];
+ RHS12 += Idr[25];
+ RHS12 -= go[25] * *cnV[25];
+ m_A26 += gt[26];
+ m_A26 += gt[27];
+ m_A26 += gt[28];
+ m_A26 += gt[29];
+ m_A26 += gt[30];
+ m_A26 += gt[31];
+ m_A26 += gt[32];
+ m_A27 += go[26];
+ double RHS13 = Idr[26];
+ RHS13 += Idr[27];
+ RHS13 += Idr[28];
+ RHS13 += Idr[29];
+ RHS13 += Idr[30];
+ RHS13 += Idr[31];
+ RHS13 += Idr[32];
+ RHS13 -= go[27] * *cnV[27];
+ RHS13 -= go[28] * *cnV[28];
+ RHS13 -= go[29] * *cnV[29];
+ RHS13 -= go[30] * *cnV[30];
+ RHS13 -= go[31] * *cnV[31];
+ RHS13 -= go[32] * *cnV[32];
+ m_A28 += gt[33];
+ m_A28 += gt[34];
+ m_A29 += go[33];
+ double RHS14 = Idr[33];
+ RHS14 += Idr[34];
+ RHS14 -= go[34] * *cnV[34];
+ m_A30 += gt[35];
+ m_A30 += gt[36];
+ m_A31 += go[35];
+ double RHS15 = Idr[35];
+ RHS15 += Idr[36];
+ RHS15 -= go[36] * *cnV[36];
+ m_A35 += gt[37];
+ m_A35 += gt[38];
+ m_A35 += gt[39];
+ m_A35 += gt[40];
+ m_A36 += go[37];
+ m_A34 += go[38];
+ m_A33 += go[39];
+ m_A32 += go[40];
+ double RHS16 = Idr[37];
+ RHS16 += Idr[38];
+ RHS16 += Idr[39];
+ RHS16 += Idr[40];
+ m_A37 += gt[41];
+ m_A37 += gt[42];
+ m_A38 += go[41];
+ double RHS17 = Idr[41];
+ RHS17 += Idr[42];
+ RHS17 -= go[42] * *cnV[42];
+ m_A39 += gt[43];
+ m_A39 += gt[44];
+ m_A40 += go[43];
+ double RHS18 = Idr[43];
+ RHS18 += Idr[44];
+ RHS18 -= go[44] * *cnV[44];
+ m_A41 += gt[45];
+ m_A41 += gt[46];
+ m_A42 += go[45];
+ double RHS19 = Idr[45];
+ RHS19 += Idr[46];
+ RHS19 -= go[46] * *cnV[46];
+ m_A43 += gt[47];
+ m_A43 += gt[48];
+ m_A44 += go[47];
+ double RHS20 = Idr[47];
+ RHS20 += Idr[48];
+ RHS20 -= go[48] * *cnV[48];
+ m_A46 += gt[49];
+ m_A46 += gt[50];
+ m_A46 += gt[51];
+ m_A45 += go[49];
+ m_A47 += go[50];
+ double RHS21 = Idr[49];
+ RHS21 += Idr[50];
+ RHS21 += Idr[51];
+ RHS21 -= go[51] * *cnV[51];
+ m_A51 += gt[52];
+ m_A51 += gt[53];
+ m_A51 += gt[54];
+ m_A51 += gt[55];
+ m_A52 += go[52];
+ m_A50 += go[53];
+ m_A49 += go[54];
+ m_A48 += go[55];
+ double RHS22 = Idr[52];
+ RHS22 += Idr[53];
+ RHS22 += Idr[54];
+ RHS22 += Idr[55];
+ m_A56 += gt[56];
+ m_A56 += gt[57];
+ m_A56 += gt[58];
+ m_A56 += gt[59];
+ m_A57 += go[56];
+ m_A55 += go[57];
+ m_A54 += go[58];
+ m_A53 += go[59];
+ double RHS23 = Idr[56];
+ RHS23 += Idr[57];
+ RHS23 += Idr[58];
+ RHS23 += Idr[59];
+ m_A61 += gt[60];
+ m_A61 += gt[61];
+ m_A61 += gt[62];
+ m_A61 += gt[63];
+ m_A62 += go[60];
+ m_A60 += go[61];
+ m_A59 += go[62];
+ m_A58 += go[63];
+ double RHS24 = Idr[60];
+ RHS24 += Idr[61];
+ RHS24 += Idr[62];
+ RHS24 += Idr[63];
+ m_A66 += gt[64];
+ m_A66 += gt[65];
+ m_A66 += gt[66];
+ m_A66 += gt[67];
+ m_A67 += go[64];
+ m_A65 += go[65];
+ m_A64 += go[66];
+ m_A63 += go[67];
+ double RHS25 = Idr[64];
+ RHS25 += Idr[65];
+ RHS25 += Idr[66];
+ RHS25 += Idr[67];
+ m_A71 += gt[68];
+ m_A71 += gt[69];
+ m_A71 += gt[70];
+ m_A71 += gt[71];
+ m_A72 += go[68];
+ m_A70 += go[69];
+ m_A69 += go[70];
+ m_A68 += go[71];
+ double RHS26 = Idr[68];
+ RHS26 += Idr[69];
+ RHS26 += Idr[70];
+ RHS26 += Idr[71];
+ m_A75 += gt[72];
+ m_A75 += gt[73];
+ m_A75 += gt[74];
+ m_A75 += gt[75];
+ m_A75 += gt[76];
+ m_A73 += go[72];
+ m_A74 += go[73];
+ m_A76 += go[74];
+ double RHS27 = Idr[72];
+ RHS27 += Idr[73];
+ RHS27 += Idr[74];
+ RHS27 += Idr[75];
+ RHS27 += Idr[76];
+ RHS27 -= go[75] * *cnV[75];
+ RHS27 -= go[76] * *cnV[76];
+ m_A84 += gt[77];
+ m_A84 += gt[78];
+ m_A84 += gt[79];
+ m_A84 += gt[80];
+ m_A84 += gt[81];
+ m_A84 += gt[82];
+ m_A84 += gt[83];
+ m_A84 += gt[84];
+ m_A83 += go[77];
+ m_A80 += go[78];
+ m_A82 += go[79];
+ m_A81 += go[80];
+ m_A79 += go[81];
+ m_A78 += go[82];
+ m_A77 += go[83];
+ double RHS28 = Idr[77];
+ RHS28 += Idr[78];
+ RHS28 += Idr[79];
+ RHS28 += Idr[80];
+ RHS28 += Idr[81];
+ RHS28 += Idr[82];
+ RHS28 += Idr[83];
+ RHS28 += Idr[84];
+ RHS28 -= go[84] * *cnV[84];
+ const double f0 = 1.0 / m_A0;
+ const double f0_16 = -f0 * m_A32;
+ m_A35 += m_A1 * f0_16;
+ RHS16 += f0_16 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_16 = -f1 * m_A33;
+ m_A35 += m_A3 * f1_16;
+ RHS16 += f1_16 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_16 = -f2 * m_A34;
+ m_A35 += m_A5 * f2_16;
+ RHS16 += f2_16 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_22 = -f3 * m_A48;
+ m_A51 += m_A7 * f3_22;
+ RHS22 += f3_22 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_22 = -f4 * m_A49;
+ m_A51 += m_A9 * f4_22;
+ RHS22 += f4_22 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_22 = -f5 * m_A50;
+ m_A51 += m_A11 * f5_22;
+ RHS22 += f5_22 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_23 = -f6 * m_A53;
+ m_A56 += m_A13 * f6_23;
+ RHS23 += f6_23 * RHS6;
+ const double f7 = 1.0 / m_A14;
+ const double f7_23 = -f7 * m_A54;
+ m_A56 += m_A15 * f7_23;
+ RHS23 += f7_23 * RHS7;
+ const double f8 = 1.0 / m_A16;
+ const double f8_23 = -f8 * m_A55;
+ m_A56 += m_A17 * f8_23;
+ RHS23 += f8_23 * RHS8;
+ const double f9 = 1.0 / m_A18;
+ const double f9_25 = -f9 * m_A63;
+ m_A66 += m_A19 * f9_25;
+ RHS25 += f9_25 * RHS9;
+ const double f10 = 1.0 / m_A20;
+ const double f10_26 = -f10 * m_A68;
+ m_A71 += m_A21 * f10_26;
+ RHS26 += f10_26 * RHS10;
+ const double f11 = 1.0 / m_A22;
+ const double f11_24 = -f11 * m_A58;
+ m_A61 += m_A23 * f11_24;
+ RHS24 += f11_24 * RHS11;
+ const double f12 = 1.0 / m_A24;
+ const double f12_24 = -f12 * m_A59;
+ m_A61 += m_A25 * f12_24;
+ RHS24 += f12_24 * RHS12;
+ const double f13 = 1.0 / m_A26;
+ const double f13_27 = -f13 * m_A73;
+ m_A76 += m_A27 * f13_27;
+ RHS27 += f13_27 * RHS13;
+ const double f14 = 1.0 / m_A28;
+ const double f14_24 = -f14 * m_A60;
+ m_A61 += m_A29 * f14_24;
+ RHS24 += f14_24 * RHS14;
+ const double f15 = 1.0 / m_A30;
+ const double f15_21 = -f15 * m_A45;
+ m_A46 += m_A31 * f15_21;
+ RHS21 += f15_21 * RHS15;
+ const double f16 = 1.0 / m_A35;
+ const double f16_28 = -f16 * m_A77;
+ m_A84 += m_A36 * f16_28;
+ RHS28 += f16_28 * RHS16;
+ const double f17 = 1.0 / m_A37;
+ const double f17_25 = -f17 * m_A64;
+ m_A66 += m_A38 * f17_25;
+ RHS25 += f17_25 * RHS17;
+ const double f18 = 1.0 / m_A39;
+ const double f18_25 = -f18 * m_A65;
+ m_A66 += m_A40 * f18_25;
+ RHS25 += f18_25 * RHS18;
+ const double f19 = 1.0 / m_A41;
+ const double f19_26 = -f19 * m_A69;
+ m_A71 += m_A42 * f19_26;
+ RHS26 += f19_26 * RHS19;
+ const double f20 = 1.0 / m_A43;
+ const double f20_26 = -f20 * m_A70;
+ m_A71 += m_A44 * f20_26;
+ RHS26 += f20_26 * RHS20;
+ const double f21 = 1.0 / m_A46;
+ const double f21_27 = -f21 * m_A74;
+ m_A75 += m_A47 * f21_27;
+ RHS27 += f21_27 * RHS21;
+ const double f22 = 1.0 / m_A51;
+ const double f22_28 = -f22 * m_A78;
+ m_A84 += m_A52 * f22_28;
+ RHS28 += f22_28 * RHS22;
+ const double f23 = 1.0 / m_A56;
+ const double f23_28 = -f23 * m_A79;
+ m_A84 += m_A57 * f23_28;
+ RHS28 += f23_28 * RHS23;
+ const double f24 = 1.0 / m_A61;
+ const double f24_28 = -f24 * m_A80;
+ m_A84 += m_A62 * f24_28;
+ RHS28 += f24_28 * RHS24;
+ const double f25 = 1.0 / m_A66;
+ const double f25_28 = -f25 * m_A81;
+ m_A84 += m_A67 * f25_28;
+ RHS28 += f25_28 * RHS25;
+ const double f26 = 1.0 / m_A71;
+ const double f26_28 = -f26 * m_A82;
+ m_A84 += m_A72 * f26_28;
+ RHS28 += f26_28 * RHS26;
+ const double f27 = 1.0 / m_A75;
+ const double f27_28 = -f27 * m_A83;
+ m_A84 += m_A76 * f27_28;
+ RHS28 += f27_28 * RHS27;
+ V[28] = RHS28 / m_A84;
+ double tmp27 = 0.0;
+ tmp27 += m_A76 * V[28];
+ V[27] = (RHS27 - tmp27) / m_A75;
+ double tmp26 = 0.0;
+ tmp26 += m_A72 * V[28];
+ V[26] = (RHS26 - tmp26) / m_A71;
+ double tmp25 = 0.0;
+ tmp25 += m_A67 * V[28];
+ V[25] = (RHS25 - tmp25) / m_A66;
+ double tmp24 = 0.0;
+ tmp24 += m_A62 * V[28];
+ V[24] = (RHS24 - tmp24) / m_A61;
+ double tmp23 = 0.0;
+ tmp23 += m_A57 * V[28];
+ V[23] = (RHS23 - tmp23) / m_A56;
+ double tmp22 = 0.0;
+ tmp22 += m_A52 * V[28];
+ V[22] = (RHS22 - tmp22) / m_A51;
+ double tmp21 = 0.0;
+ tmp21 += m_A47 * V[27];
+ V[21] = (RHS21 - tmp21) / m_A46;
+ double tmp20 = 0.0;
+ tmp20 += m_A44 * V[26];
+ V[20] = (RHS20 - tmp20) / m_A43;
+ double tmp19 = 0.0;
+ tmp19 += m_A42 * V[26];
+ V[19] = (RHS19 - tmp19) / m_A41;
+ double tmp18 = 0.0;
+ tmp18 += m_A40 * V[25];
+ V[18] = (RHS18 - tmp18) / m_A39;
+ double tmp17 = 0.0;
+ tmp17 += m_A38 * V[25];
+ V[17] = (RHS17 - tmp17) / m_A37;
+ double tmp16 = 0.0;
+ tmp16 += m_A36 * V[28];
+ V[16] = (RHS16 - tmp16) / m_A35;
+ double tmp15 = 0.0;
+ tmp15 += m_A31 * V[21];
+ V[15] = (RHS15 - tmp15) / m_A30;
+ double tmp14 = 0.0;
+ tmp14 += m_A29 * V[24];
+ V[14] = (RHS14 - tmp14) / m_A28;
+ double tmp13 = 0.0;
+ tmp13 += m_A27 * V[28];
+ V[13] = (RHS13 - tmp13) / m_A26;
+ double tmp12 = 0.0;
+ tmp12 += m_A25 * V[24];
+ V[12] = (RHS12 - tmp12) / m_A24;
+ double tmp11 = 0.0;
+ tmp11 += m_A23 * V[24];
+ V[11] = (RHS11 - tmp11) / m_A22;
+ double tmp10 = 0.0;
+ tmp10 += m_A21 * V[26];
+ V[10] = (RHS10 - tmp10) / m_A20;
+ double tmp9 = 0.0;
+ tmp9 += m_A19 * V[25];
+ V[9] = (RHS9 - tmp9) / m_A18;
+ double tmp8 = 0.0;
+ tmp8 += m_A17 * V[23];
+ V[8] = (RHS8 - tmp8) / m_A16;
+ double tmp7 = 0.0;
+ tmp7 += m_A15 * V[23];
+ V[7] = (RHS7 - tmp7) / m_A14;
+ double tmp6 = 0.0;
+ tmp6 += m_A13 * V[23];
+ V[6] = (RHS6 - tmp6) / m_A12;
+ double tmp5 = 0.0;
+ tmp5 += m_A11 * V[22];
+ V[5] = (RHS5 - tmp5) / m_A10;
+ double tmp4 = 0.0;
+ tmp4 += m_A9 * V[22];
+ V[4] = (RHS4 - tmp4) / m_A8;
+ double tmp3 = 0.0;
+ tmp3 += m_A7 * V[22];
+ V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A7 * V[3];
- V[2] = (RHS2 - tmp2) / m_A6;
+ tmp2 += m_A5 * V[16];
+ V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A4 * V[3];
- V[1] = (RHS1 - tmp1) / m_A3;
+ tmp1 += m_A3 * V[16];
+ V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
- tmp0 += m_A2 * V[3];
+ tmp0 += m_A1 * V[16];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// kidniki
-static void nl_gcr_e7e5566e352b80c1_67_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// 280zzzap
+static void nl_gcr_eb8f99b7d033585a_57_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
- m_A0 = gt[0] + gt[1];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] - go[1] * *cnV[1];
- m_A2 = gt[8] + gt[9];
- m_A3 = m_A3 + go[8];
- double RHS1 = Idr[8] + Idr[9] - go[9] * *cnV[9];
- m_A4 = gt[16] + gt[17];
- m_A5 = m_A5 + go[16];
- double RHS2 = Idr[16] + Idr[17] - go[17] * *cnV[17];
- m_A6 = gt[24] + gt[25];
- m_A7 = m_A7 + go[24];
- double RHS3 = Idr[24] + Idr[25] - go[25] * *cnV[25];
- m_A8 = gt[32] + gt[33];
- m_A9 = m_A9 + go[32];
- double RHS4 = Idr[32] + Idr[33] - go[33] * *cnV[33];
- m_A10 = gt[40] + gt[41];
- m_A11 = m_A11 + go[40];
- double RHS5 = Idr[40] + Idr[41] - go[41] * *cnV[41];
- m_A12 = gt[48] + gt[49] + gt[50] + gt[51] + gt[52] + gt[53] + gt[54] + gt[55];
- m_A14 = m_A14 + go[48];
- m_A15 = m_A15 + go[49];
- m_A17 = m_A17 + go[50];
- m_A18 = m_A18 + go[51];
- m_A16 = m_A16 + go[52];
- m_A13 = m_A13 + go[53];
- double RHS6 = Idr[48] + Idr[49] + Idr[50] + Idr[51] + Idr[52] + Idr[53] + Idr[54] + Idr[55] - go[54] * *cnV[54] - go[55] * *cnV[55];
- m_A21 = gt[56] + gt[57] + gt[58] + gt[59];
- m_A20 = m_A20 + go[56];
- m_A19 = m_A19 + go[57];
- double RHS7 = Idr[56] + Idr[57] + Idr[58] + Idr[59] - go[58] * *cnV[58] - go[59] * *cnV[59];
- m_A30 = gt[64] + gt[65] + gt[66] + gt[67];
- m_A28 = m_A28 + go[64];
- m_A27 = m_A27 + go[65];
- double RHS8 = Idr[64] + Idr[65] + Idr[66] + Idr[67] - go[66] * *cnV[66] - go[67] * *cnV[67];
- m_A39 = gt[72] + gt[73] + gt[74] + gt[75];
- m_A36 = m_A36 + go[72];
- m_A35 = m_A35 + go[73];
- double RHS9 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[74] * *cnV[74] - go[75] * *cnV[75];
- m_A48 = gt[80] + gt[81] + gt[82] + gt[83];
- m_A44 = m_A44 + go[80];
- m_A43 = m_A43 + go[81];
- double RHS10 = Idr[80] + Idr[81] + Idr[82] + Idr[83] - go[82] * *cnV[82] - go[83] * *cnV[83];
- m_A57 = gt[88] + gt[89] + gt[90] + gt[91];
- m_A52 = m_A52 + go[88];
- m_A51 = m_A51 + go[89];
- double RHS11 = Idr[88] + Idr[89] + Idr[90] + Idr[91] - go[90] * *cnV[90] - go[91] * *cnV[91];
- m_A66 = gt[96] + gt[97] + gt[98] + gt[99];
- m_A60 = m_A60 + go[96];
- m_A59 = m_A59 + go[97];
- double RHS12 = Idr[96] + Idr[97] + Idr[98] + Idr[99] - go[98] * *cnV[98] - go[99] * *cnV[99];
-const double f0 = 1.0 / m_A0;
- const double f0_7 = -f0 * m_A19;
- m_A21 += m_A1 * f0_7;
- RHS7 += f0_7 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_10 = -f1 * m_A43;
- m_A48 += m_A3 * f1_10;
- RHS10 += f1_10 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_12 = -f2 * m_A59;
- m_A66 += m_A5 * f2_12;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A4 += gt[5];
+ m_A4 += gt[6];
+ m_A4 += gt[7];
+ m_A4 += gt[8];
+ m_A4 += gt[9];
+ m_A4 += gt[10];
+ m_A4 += gt[11];
+ m_A5 += go[5];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ RHS2 += Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 += Idr[11];
+ RHS2 -= go[6] * *cnV[6];
+ RHS2 -= go[7] * *cnV[7];
+ RHS2 -= go[8] * *cnV[8];
+ RHS2 -= go[9] * *cnV[9];
+ RHS2 -= go[10] * *cnV[10];
+ RHS2 -= go[11] * *cnV[11];
+ m_A6 += gt[12];
+ m_A6 += gt[13];
+ m_A6 += gt[14];
+ m_A7 += go[12];
+ double RHS3 = Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 -= go[13] * *cnV[13];
+ RHS3 -= go[14] * *cnV[14];
+ m_A8 += gt[15];
+ m_A8 += gt[16];
+ m_A8 += gt[17];
+ m_A8 += gt[18];
+ m_A8 += gt[19];
+ m_A8 += gt[20];
+ m_A8 += gt[21];
+ m_A9 += go[15];
+ double RHS4 = Idr[15];
+ RHS4 += Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ RHS4 += Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 -= go[16] * *cnV[16];
+ RHS4 -= go[17] * *cnV[17];
+ RHS4 -= go[18] * *cnV[18];
+ RHS4 -= go[19] * *cnV[19];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ m_A10 += gt[22];
+ m_A10 += gt[23];
+ m_A11 += go[22];
+ double RHS5 = Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[23] * *cnV[23];
+ m_A12 += gt[24];
+ m_A12 += gt[25];
+ m_A14 += go[24];
+ m_A13 += go[25];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ m_A15 += gt[26];
+ m_A15 += gt[27];
+ m_A16 += go[26];
+ double RHS7 = Idr[26];
+ RHS7 += Idr[27];
+ RHS7 -= go[27] * *cnV[27];
+ m_A17 += gt[28];
+ m_A17 += gt[29];
+ m_A18 += go[28];
+ double RHS8 = Idr[28];
+ RHS8 += Idr[29];
+ RHS8 -= go[29] * *cnV[29];
+ m_A20 += gt[30];
+ m_A20 += gt[31];
+ m_A20 += gt[32];
+ m_A20 += gt[33];
+ m_A19 += go[30];
+ double RHS9 = Idr[30];
+ RHS9 += Idr[31];
+ RHS9 += Idr[32];
+ RHS9 += Idr[33];
+ RHS9 -= go[31] * *cnV[31];
+ RHS9 -= go[32] * *cnV[32];
+ RHS9 -= go[33] * *cnV[33];
+ m_A24 += gt[34];
+ m_A24 += gt[35];
+ m_A23 += go[34];
+ m_A22 += go[35];
+ double RHS10 = Idr[34];
+ RHS10 += Idr[35];
+ m_A27 += gt[36];
+ m_A27 += gt[37];
+ m_A27 += gt[38];
+ m_A27 += gt[39];
+ m_A26 += go[36];
+ m_A28 += go[37];
+ double RHS11 = Idr[36];
+ RHS11 += Idr[37];
+ RHS11 += Idr[38];
+ RHS11 += Idr[39];
+ RHS11 -= go[38] * *cnV[38];
+ RHS11 -= go[39] * *cnV[39];
+ m_A31 += gt[40];
+ m_A31 += gt[41];
+ m_A31 += gt[42];
+ m_A31 += gt[43];
+ m_A31 += gt[44];
+ m_A31 += gt[45];
+ m_A29 += go[40];
+ m_A33 += go[41];
+ m_A32 += go[42];
+ double RHS12 = Idr[40];
+ RHS12 += Idr[41];
+ RHS12 += Idr[42];
+ RHS12 += Idr[43];
+ RHS12 += Idr[44];
+ RHS12 += Idr[45];
+ RHS12 -= go[43] * *cnV[43];
+ RHS12 -= go[44] * *cnV[44];
+ RHS12 -= go[45] * *cnV[45];
+ m_A36 += gt[46];
+ m_A36 += gt[47];
+ m_A34 += go[46];
+ double RHS13 = Idr[46];
+ RHS13 += Idr[47];
+ RHS13 -= go[47] * *cnV[47];
+ m_A39 += gt[48];
+ m_A39 += gt[49];
+ m_A39 += gt[50];
+ m_A38 += go[48];
+ m_A37 += go[49];
+ double RHS14 = Idr[48];
+ RHS14 += Idr[49];
+ RHS14 += Idr[50];
+ RHS14 -= go[50] * *cnV[50];
+ m_A41 += gt[51];
+ m_A41 += gt[52];
+ m_A41 += gt[53];
+ m_A41 += gt[54];
+ m_A40 += go[51];
+ m_A42 += go[52];
+ double RHS15 = Idr[51];
+ RHS15 += Idr[52];
+ RHS15 += Idr[53];
+ RHS15 += Idr[54];
+ RHS15 -= go[53] * *cnV[53];
+ RHS15 -= go[54] * *cnV[54];
+ m_A49 += gt[55];
+ m_A49 += gt[56];
+ m_A49 += gt[57];
+ m_A49 += gt[58];
+ m_A49 += gt[59];
+ m_A44 += go[55];
+ m_A47 += go[56];
+ m_A46 += go[57];
+ m_A43 += go[58];
+ m_A45 += go[59];
+ double RHS16 = Idr[55];
+ RHS16 += Idr[56];
+ RHS16 += Idr[57];
+ RHS16 += Idr[58];
+ RHS16 += Idr[59];
+ m_A56 += gt[60];
+ m_A56 += gt[61];
+ m_A56 += gt[62];
+ m_A56 += gt[63];
+ m_A54 += go[60];
+ m_A53 += go[61];
+ m_A51 += go[62];
+ m_A52 += go[63];
+ double RHS17 = Idr[60];
+ RHS17 += Idr[61];
+ RHS17 += Idr[62];
+ RHS17 += Idr[63];
+ const double f0 = 1.0 / m_A0;
+ const double f0_11 = -f0 * m_A26;
+ m_A28 += m_A1 * f0_11;
+ RHS11 += f0_11 * RHS0;
+ const double f0_16 = -f0 * m_A43;
+ m_A49 += m_A1 * f0_16;
+ RHS16 += f0_16 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_16 = -f1 * m_A44;
+ m_A49 += m_A3 * f1_16;
+ RHS16 += f1_16 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_12 = -f2 * m_A29;
+ m_A30 += m_A5 * f2_12;
RHS12 += f2_12 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_11 = -f3 * m_A51;
- m_A57 += m_A7 * f3_11;
- RHS11 += f3_11 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_9 = -f4 * m_A35;
- m_A39 += m_A9 * f4_9;
+ const double f3 = 1.0 / m_A6;
+ const double f3_15 = -f3 * m_A40;
+ m_A42 += m_A7 * f3_15;
+ RHS15 += f3_15 * RHS3;
+ const double f3_17 = -f3 * m_A51;
+ m_A56 += m_A7 * f3_17;
+ RHS17 += f3_17 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_9 = -f4 * m_A19;
+ m_A21 += m_A9 * f4_9;
RHS9 += f4_9 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_8 = -f5 * m_A27;
- m_A30 += m_A11 * f5_8;
- RHS8 += f5_8 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_7 = -f6 * m_A20;
- m_A21 += m_A13 * f6_7;
- m_A22 += m_A14 * f6_7;
- m_A23 += m_A15 * f6_7;
- m_A24 += m_A16 * f6_7;
- m_A25 += m_A17 * f6_7;
- m_A26 += m_A18 * f6_7;
- RHS7 += f6_7 * RHS6;
- const double f6_8 = -f6 * m_A28;
- m_A29 += m_A13 * f6_8;
- m_A30 += m_A14 * f6_8;
- m_A31 += m_A15 * f6_8;
- m_A32 += m_A16 * f6_8;
- m_A33 += m_A17 * f6_8;
- m_A34 += m_A18 * f6_8;
- RHS8 += f6_8 * RHS6;
- const double f6_9 = -f6 * m_A36;
- m_A37 += m_A13 * f6_9;
- m_A38 += m_A14 * f6_9;
- m_A39 += m_A15 * f6_9;
- m_A40 += m_A16 * f6_9;
- m_A41 += m_A17 * f6_9;
- m_A42 += m_A18 * f6_9;
- RHS9 += f6_9 * RHS6;
- const double f6_10 = -f6 * m_A44;
- m_A45 += m_A13 * f6_10;
- m_A46 += m_A14 * f6_10;
- m_A47 += m_A15 * f6_10;
- m_A48 += m_A16 * f6_10;
- m_A49 += m_A17 * f6_10;
- m_A50 += m_A18 * f6_10;
+ const double f5 = 1.0 / m_A10;
+ const double f5_10 = -f5 * m_A22;
+ m_A24 += m_A11 * f5_10;
+ RHS10 += f5_10 * RHS5;
+ const double f5_16 = -f5 * m_A45;
+ m_A46 += m_A11 * f5_16;
+ RHS16 += f5_16 * RHS5;
+ const double f6 = 1.0 / m_A12;
+ const double f6_10 = -f6 * m_A23;
+ m_A24 += m_A13 * f6_10;
+ m_A25 += m_A14 * f6_10;
RHS10 += f6_10 * RHS6;
- const double f6_11 = -f6 * m_A52;
- m_A53 += m_A13 * f6_11;
- m_A54 += m_A14 * f6_11;
- m_A55 += m_A15 * f6_11;
- m_A56 += m_A16 * f6_11;
- m_A57 += m_A17 * f6_11;
- m_A58 += m_A18 * f6_11;
- RHS11 += f6_11 * RHS6;
- const double f6_12 = -f6 * m_A60;
- m_A61 += m_A13 * f6_12;
- m_A62 += m_A14 * f6_12;
- m_A63 += m_A15 * f6_12;
- m_A64 += m_A16 * f6_12;
- m_A65 += m_A17 * f6_12;
- m_A66 += m_A18 * f6_12;
- RHS12 += f6_12 * RHS6;
-const double f7 = 1.0 / m_A21;
- const double f7_8 = -f7 * m_A29;
- m_A30 += m_A22 * f7_8;
- m_A31 += m_A23 * f7_8;
- m_A32 += m_A24 * f7_8;
- m_A33 += m_A25 * f7_8;
- m_A34 += m_A26 * f7_8;
- RHS8 += f7_8 * RHS7;
- const double f7_9 = -f7 * m_A37;
- m_A38 += m_A22 * f7_9;
- m_A39 += m_A23 * f7_9;
- m_A40 += m_A24 * f7_9;
- m_A41 += m_A25 * f7_9;
- m_A42 += m_A26 * f7_9;
- RHS9 += f7_9 * RHS7;
- const double f7_10 = -f7 * m_A45;
- m_A46 += m_A22 * f7_10;
- m_A47 += m_A23 * f7_10;
- m_A48 += m_A24 * f7_10;
- m_A49 += m_A25 * f7_10;
- m_A50 += m_A26 * f7_10;
- RHS10 += f7_10 * RHS7;
- const double f7_11 = -f7 * m_A53;
- m_A54 += m_A22 * f7_11;
- m_A55 += m_A23 * f7_11;
- m_A56 += m_A24 * f7_11;
- m_A57 += m_A25 * f7_11;
- m_A58 += m_A26 * f7_11;
- RHS11 += f7_11 * RHS7;
- const double f7_12 = -f7 * m_A61;
- m_A62 += m_A22 * f7_12;
- m_A63 += m_A23 * f7_12;
- m_A64 += m_A24 * f7_12;
- m_A65 += m_A25 * f7_12;
- m_A66 += m_A26 * f7_12;
- RHS12 += f7_12 * RHS7;
-const double f8 = 1.0 / m_A30;
- const double f8_9 = -f8 * m_A38;
- m_A39 += m_A31 * f8_9;
- m_A40 += m_A32 * f8_9;
- m_A41 += m_A33 * f8_9;
- m_A42 += m_A34 * f8_9;
- RHS9 += f8_9 * RHS8;
- const double f8_10 = -f8 * m_A46;
- m_A47 += m_A31 * f8_10;
- m_A48 += m_A32 * f8_10;
- m_A49 += m_A33 * f8_10;
- m_A50 += m_A34 * f8_10;
- RHS10 += f8_10 * RHS8;
- const double f8_11 = -f8 * m_A54;
- m_A55 += m_A31 * f8_11;
- m_A56 += m_A32 * f8_11;
- m_A57 += m_A33 * f8_11;
- m_A58 += m_A34 * f8_11;
- RHS11 += f8_11 * RHS8;
- const double f8_12 = -f8 * m_A62;
- m_A63 += m_A31 * f8_12;
- m_A64 += m_A32 * f8_12;
- m_A65 += m_A33 * f8_12;
- m_A66 += m_A34 * f8_12;
- RHS12 += f8_12 * RHS8;
-const double f9 = 1.0 / m_A39;
- const double f9_10 = -f9 * m_A47;
- m_A48 += m_A40 * f9_10;
- m_A49 += m_A41 * f9_10;
- m_A50 += m_A42 * f9_10;
- RHS10 += f9_10 * RHS9;
- const double f9_11 = -f9 * m_A55;
- m_A56 += m_A40 * f9_11;
- m_A57 += m_A41 * f9_11;
- m_A58 += m_A42 * f9_11;
- RHS11 += f9_11 * RHS9;
- const double f9_12 = -f9 * m_A63;
- m_A64 += m_A40 * f9_12;
- m_A65 += m_A41 * f9_12;
- m_A66 += m_A42 * f9_12;
- RHS12 += f9_12 * RHS9;
-const double f10 = 1.0 / m_A48;
- const double f10_11 = -f10 * m_A56;
- m_A57 += m_A49 * f10_11;
- m_A58 += m_A50 * f10_11;
- RHS11 += f10_11 * RHS10;
- const double f10_12 = -f10 * m_A64;
- m_A65 += m_A49 * f10_12;
- m_A66 += m_A50 * f10_12;
- RHS12 += f10_12 * RHS10;
-const double f11 = 1.0 / m_A57;
- const double f11_12 = -f11 * m_A65;
- m_A66 += m_A58 * f11_12;
+ const double f6_13 = -f6 * m_A34;
+ m_A35 += m_A13 * f6_13;
+ m_A36 += m_A14 * f6_13;
+ RHS13 += f6_13 * RHS6;
+ const double f7 = 1.0 / m_A15;
+ const double f7_14 = -f7 * m_A37;
+ m_A39 += m_A16 * f7_14;
+ RHS14 += f7_14 * RHS7;
+ const double f7_17 = -f7 * m_A52;
+ m_A54 += m_A16 * f7_17;
+ RHS17 += f7_17 * RHS7;
+ const double f8 = 1.0 / m_A17;
+ const double f8_14 = -f8 * m_A38;
+ m_A39 += m_A18 * f8_14;
+ RHS14 += f8_14 * RHS8;
+ const double f10 = 1.0 / m_A24;
+ const double f10_13 = -f10 * m_A35;
+ m_A36 += m_A25 * f10_13;
+ RHS13 += f10_13 * RHS10;
+ const double f10_16 = -f10 * m_A46;
+ m_A48 += m_A25 * f10_16;
+ RHS16 += f10_16 * RHS10;
+ const double f11 = 1.0 / m_A27;
+ const double f11_12 = -f11 * m_A30;
+ m_A32 += m_A28 * f11_12;
RHS12 += f11_12 * RHS11;
- V[12] = RHS12 / m_A66;
+ const double f12 = 1.0 / m_A31;
+ const double f12_16 = -f12 * m_A47;
+ m_A49 += m_A32 * f12_16;
+ m_A50 += m_A33 * f12_16;
+ RHS16 += f12_16 * RHS12;
+ const double f12_17 = -f12 * m_A53;
+ m_A55 += m_A32 * f12_17;
+ m_A56 += m_A33 * f12_17;
+ RHS17 += f12_17 * RHS12;
+ const double f13 = 1.0 / m_A36;
+ const double f13_16 = -f13 * m_A48;
+ RHS16 += f13_16 * RHS13;
+ const double f14 = 1.0 / m_A39;
+ const double f14_17 = -f14 * m_A54;
+ RHS17 += f14_17 * RHS14;
+ const double f16 = 1.0 / m_A49;
+ const double f16_17 = -f16 * m_A55;
+ m_A56 += m_A50 * f16_17;
+ RHS17 += f16_17 * RHS16;
+ V[17] = RHS17 / m_A56;
+ double tmp16 = 0.0;
+ tmp16 += m_A50 * V[17];
+ V[16] = (RHS16 - tmp16) / m_A49;
+ double tmp15 = 0.0;
+ tmp15 += m_A42 * V[17];
+ V[15] = (RHS15 - tmp15) / m_A41;
+ double tmp14 = 0.0;
+ V[14] = (RHS14 - tmp14) / m_A39;
+ double tmp13 = 0.0;
+ V[13] = (RHS13 - tmp13) / m_A36;
+ double tmp12 = 0.0;
+ tmp12 += m_A32 * V[16];
+ tmp12 += m_A33 * V[17];
+ V[12] = (RHS12 - tmp12) / m_A31;
double tmp11 = 0.0;
- tmp11 += m_A58 * V[12];
- V[11] = (RHS11 - tmp11) / m_A57;
+ tmp11 += m_A28 * V[16];
+ V[11] = (RHS11 - tmp11) / m_A27;
double tmp10 = 0.0;
- tmp10 += m_A49 * V[11];
- tmp10 += m_A50 * V[12];
- V[10] = (RHS10 - tmp10) / m_A48;
+ tmp10 += m_A25 * V[13];
+ V[10] = (RHS10 - tmp10) / m_A24;
double tmp9 = 0.0;
- tmp9 += m_A40 * V[10];
- tmp9 += m_A41 * V[11];
- tmp9 += m_A42 * V[12];
- V[9] = (RHS9 - tmp9) / m_A39;
+ tmp9 += m_A21 * V[15];
+ V[9] = (RHS9 - tmp9) / m_A20;
double tmp8 = 0.0;
- tmp8 += m_A31 * V[9];
- tmp8 += m_A32 * V[10];
- tmp8 += m_A33 * V[11];
- tmp8 += m_A34 * V[12];
- V[8] = (RHS8 - tmp8) / m_A30;
+ tmp8 += m_A18 * V[14];
+ V[8] = (RHS8 - tmp8) / m_A17;
double tmp7 = 0.0;
- tmp7 += m_A22 * V[8];
- tmp7 += m_A23 * V[9];
- tmp7 += m_A24 * V[10];
- tmp7 += m_A25 * V[11];
- tmp7 += m_A26 * V[12];
- V[7] = (RHS7 - tmp7) / m_A21;
+ tmp7 += m_A16 * V[14];
+ V[7] = (RHS7 - tmp7) / m_A15;
double tmp6 = 0.0;
- tmp6 += m_A13 * V[7];
- tmp6 += m_A14 * V[8];
- tmp6 += m_A15 * V[9];
- tmp6 += m_A16 * V[10];
- tmp6 += m_A17 * V[11];
- tmp6 += m_A18 * V[12];
+ tmp6 += m_A13 * V[10];
+ tmp6 += m_A14 * V[13];
V[6] = (RHS6 - tmp6) / m_A12;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[8];
+ tmp5 += m_A11 * V[10];
V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[9];
+ tmp4 += m_A9 * V[15];
V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[11];
+ tmp3 += m_A7 * V[17];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[12];
+ tmp2 += m_A5 * V[11];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
- tmp1 += m_A3 * V[10];
+ tmp1 += m_A3 * V[16];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[7];
+ tmp0 += m_A1 * V[16];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// gamemachine
-static void nl_gcr_ec17a9dbc8cd78fd_10_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// dpatrol
+static void nl_gcr_ef9b40abd2bf582c_22_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[6] + gt[7] + gt[8];
- m_A3 = m_A3 + go[6];
- double RHS1 = Idr[6] + Idr[7] + Idr[8] - go[7] * *cnV[7] - go[8] * *cnV[8];
- m_A4 = gt[12] + gt[13];
- m_A5 = m_A5 + go[12];
- double RHS2 = Idr[12] + Idr[13] - go[13] * *cnV[13];
- m_A9 = gt[18] + gt[19] + gt[20] + gt[21] + gt[22];
- m_A8 = m_A8 + go[18];
- m_A7 = m_A7 + go[19];
- m_A6 = m_A6 + go[20];
- double RHS3 = Idr[18] + Idr[19] + Idr[20] + Idr[21] + Idr[22] - go[21] * *cnV[21] - go[22] * *cnV[22];
-const double f0 = 1.0 / m_A0;
- const double f0_3 = -f0 * m_A6;
- m_A9 += m_A1 * f0_3;
- RHS3 += f0_3 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_3 = -f1 * m_A7;
- m_A9 += m_A3 * f1_3;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A2 += gt[5];
+ m_A2 += gt[6];
+ m_A4 += go[3];
+ m_A3 += go[4];
+ m_A3 += go[5];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 += Idr[5];
+ RHS1 += Idr[6];
+ RHS1 -= go[6] * *cnV[6];
+ m_A5 += gt[7];
+ m_A5 += gt[8];
+ m_A5 += gt[9];
+ m_A5 += gt[10];
+ m_A7 += go[7];
+ m_A6 += go[8];
+ m_A6 += go[9];
+ double RHS2 = Idr[7];
+ RHS2 += Idr[8];
+ RHS2 += Idr[9];
+ RHS2 += Idr[10];
+ RHS2 -= go[10] * *cnV[10];
+ m_A10 += gt[11];
+ m_A10 += gt[12];
+ m_A10 += gt[13];
+ m_A10 += gt[14];
+ m_A10 += gt[15];
+ m_A12 += go[11];
+ m_A9 += go[12];
+ m_A9 += go[13];
+ m_A8 += go[14];
+ m_A8 += go[15];
+ double RHS3 = Idr[11];
+ RHS3 += Idr[12];
+ RHS3 += Idr[13];
+ RHS3 += Idr[14];
+ RHS3 += Idr[15];
+ m_A16 += gt[16];
+ m_A16 += gt[17];
+ m_A16 += gt[18];
+ m_A17 += go[16];
+ m_A14 += go[17];
+ m_A13 += go[18];
+ double RHS4 = Idr[16];
+ RHS4 += Idr[17];
+ RHS4 += Idr[18];
+ m_A21 += gt[19];
+ m_A21 += gt[20];
+ m_A21 += gt[21];
+ m_A20 += go[19];
+ m_A19 += go[20];
+ m_A18 += go[21];
+ double RHS5 = Idr[19];
+ RHS5 += Idr[20];
+ RHS5 += Idr[21];
+ const double f0 = 1.0 / m_A0;
+ const double f0_5 = -f0 * m_A18;
+ m_A21 += m_A1 * f0_5;
+ RHS5 += f0_5 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_3 = -f1 * m_A8;
+ m_A10 += m_A3 * f1_3;
+ m_A11 += m_A4 * f1_3;
RHS3 += f1_3 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_3 = -f2 * m_A8;
- m_A9 += m_A5 * f2_3;
+ const double f1_4 = -f1 * m_A13;
+ m_A15 += m_A3 * f1_4;
+ m_A16 += m_A4 * f1_4;
+ RHS4 += f1_4 * RHS1;
+ const double f2 = 1.0 / m_A5;
+ const double f2_3 = -f2 * m_A9;
+ m_A10 += m_A6 * f2_3;
+ m_A11 += m_A7 * f2_3;
RHS3 += f2_3 * RHS2;
- V[3] = RHS3 / m_A9;
+ const double f2_4 = -f2 * m_A14;
+ m_A15 += m_A6 * f2_4;
+ m_A16 += m_A7 * f2_4;
+ RHS4 += f2_4 * RHS2;
+ const double f3 = 1.0 / m_A10;
+ const double f3_4 = -f3 * m_A15;
+ m_A16 += m_A11 * f3_4;
+ m_A17 += m_A12 * f3_4;
+ RHS4 += f3_4 * RHS3;
+ const double f3_5 = -f3 * m_A19;
+ m_A20 += m_A11 * f3_5;
+ m_A21 += m_A12 * f3_5;
+ RHS5 += f3_5 * RHS3;
+ const double f4 = 1.0 / m_A16;
+ const double f4_5 = -f4 * m_A20;
+ m_A21 += m_A17 * f4_5;
+ RHS5 += f4_5 * RHS4;
+ V[5] = RHS5 / m_A21;
+ double tmp4 = 0.0;
+ tmp4 += m_A17 * V[5];
+ V[4] = (RHS4 - tmp4) / m_A16;
+ double tmp3 = 0.0;
+ tmp3 += m_A11 * V[4];
+ tmp3 += m_A12 * V[5];
+ V[3] = (RHS3 - tmp3) / m_A10;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[3];
- V[2] = (RHS2 - tmp2) / m_A4;
+ tmp2 += m_A6 * V[3];
+ tmp2 += m_A7 * V[4];
+ V[2] = (RHS2 - tmp2) / m_A5;
double tmp1 = 0.0;
tmp1 += m_A3 * V[3];
+ tmp1 += m_A4 * V[4];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[3];
+ tmp0 += m_A1 * V[5];
V[0] = (RHS0 - tmp0) / m_A0;
}
-// 280zzzap
-static void nl_gcr_f1804fa5ede37373_95_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+// zac1b11142
+static void nl_gcr_f0a19b84f91ff24f_71_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
-double m_A7(0.0);
-double m_A8(0.0);
-double m_A9(0.0);
-double m_A10(0.0);
-double m_A11(0.0);
-double m_A12(0.0);
-double m_A13(0.0);
-double m_A14(0.0);
-double m_A15(0.0);
-double m_A16(0.0);
-double m_A17(0.0);
-double m_A18(0.0);
-double m_A19(0.0);
-double m_A20(0.0);
-double m_A21(0.0);
-double m_A22(0.0);
-double m_A23(0.0);
-double m_A24(0.0);
-double m_A25(0.0);
-double m_A26(0.0);
-double m_A27(0.0);
-double m_A28(0.0);
-double m_A29(0.0);
-double m_A30(0.0);
-double m_A31(0.0);
-double m_A32(0.0);
-double m_A33(0.0);
-double m_A34(0.0);
-double m_A35(0.0);
-double m_A36(0.0);
-double m_A37(0.0);
-double m_A38(0.0);
-double m_A39(0.0);
-double m_A40(0.0);
-double m_A41(0.0);
-double m_A42(0.0);
-double m_A43(0.0);
-double m_A44(0.0);
-double m_A45(0.0);
-double m_A46(0.0);
-double m_A47(0.0);
-double m_A48(0.0);
-double m_A49(0.0);
-double m_A50(0.0);
-double m_A51(0.0);
-double m_A52(0.0);
-double m_A53(0.0);
-double m_A54(0.0);
-double m_A55(0.0);
-double m_A56(0.0);
-double m_A57(0.0);
-double m_A58(0.0);
-double m_A59(0.0);
-double m_A60(0.0);
-double m_A61(0.0);
-double m_A62(0.0);
-double m_A63(0.0);
-double m_A64(0.0);
-double m_A65(0.0);
-double m_A66(0.0);
-double m_A67(0.0);
-double m_A68(0.0);
-double m_A69(0.0);
-double m_A70(0.0);
-double m_A71(0.0);
-double m_A72(0.0);
-double m_A73(0.0);
-double m_A74(0.0);
-double m_A75(0.0);
-double m_A76(0.0);
-double m_A77(0.0);
-double m_A78(0.0);
-double m_A79(0.0);
-double m_A80(0.0);
-double m_A81(0.0);
-double m_A82(0.0);
-double m_A83(0.0);
-double m_A84(0.0);
-double m_A85(0.0);
-double m_A86(0.0);
-double m_A87(0.0);
-double m_A88(0.0);
-double m_A89(0.0);
-double m_A90(0.0);
-double m_A91(0.0);
-double m_A92(0.0);
-double m_A93(0.0);
-double m_A94(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[12] + gt[13] + gt[14] + gt[15] + gt[16] + gt[17] + gt[18];
- m_A3 = m_A3 + go[12];
- double RHS1 = Idr[12] + Idr[13] + Idr[14] + Idr[15] + Idr[16] + Idr[17] + Idr[18] - go[13] * *cnV[13] - go[14] * *cnV[14] - go[15] * *cnV[15] - go[16] * *cnV[16] - go[17] * *cnV[17] - go[18] * *cnV[18];
- m_A4 = gt[24] + gt[25] + gt[26];
- m_A5 = m_A5 + go[24];
- double RHS2 = Idr[24] + Idr[25] + Idr[26] - go[25] * *cnV[25] - go[26] * *cnV[26];
- m_A6 = gt[36] + gt[37] + gt[38] + gt[39] + gt[40] + gt[41] + gt[42];
- m_A7 = m_A7 + go[36];
- double RHS3 = Idr[36] + Idr[37] + Idr[38] + Idr[39] + Idr[40] + Idr[41] + Idr[42] - go[37] * *cnV[37] - go[38] * *cnV[38] - go[39] * *cnV[39] - go[40] * *cnV[40] - go[41] * *cnV[41] - go[42] * *cnV[42];
- m_A8 = gt[48] + gt[49];
- m_A9 = m_A9 + go[48];
- double RHS4 = Idr[48] + Idr[49] - go[49] * *cnV[49];
- m_A10 = gt[60] + gt[61];
- m_A11 = m_A11 + go[60];
- double RHS5 = Idr[60] + Idr[61] - go[61] * *cnV[61];
- m_A12 = gt[72] + gt[73] + gt[74] + gt[75];
- m_A13 = m_A13 + go[72];
- double RHS6 = Idr[72] + Idr[73] + Idr[74] + Idr[75] - go[73] * *cnV[73] - go[74] * *cnV[74] - go[75] * *cnV[75];
- m_A14 = gt[84] + gt[85] + gt[86] + gt[87];
- m_A15 = m_A15 + go[84];
- double RHS7 = Idr[84] + Idr[85] + Idr[86] + Idr[87] - go[85] * *cnV[85] - go[86] * *cnV[86] - go[87] * *cnV[87];
- m_A16 = gt[96] + gt[97];
- m_A17 = m_A17 + go[96];
- double RHS8 = Idr[96] + Idr[97] - go[97] * *cnV[97];
- m_A18 = gt[108] + gt[109] + gt[110] + gt[111];
- m_A19 = m_A19 + go[108];
- double RHS9 = Idr[108] + Idr[109] + Idr[110] + Idr[111] - go[109] * *cnV[109] - go[110] * *cnV[110] - go[111] * *cnV[111];
- m_A20 = gt[120] + gt[121];
- m_A22 = m_A22 + go[120];
- m_A21 = m_A21 + go[121];
- double RHS10 = Idr[120] + Idr[121];
- m_A23 = gt[132] + gt[133] + gt[134] + gt[135];
- m_A24 = m_A24 + go[132];
- double RHS11 = Idr[132] + Idr[133] + Idr[134] + Idr[135] - go[133] * *cnV[133] - go[134] * *cnV[134] - go[135] * *cnV[135];
- m_A25 = gt[144] + gt[145] + gt[146];
- m_A27 = m_A27 + go[144];
- m_A28 = m_A28 + go[145];
- m_A26 = m_A26 + go[146];
- double RHS12 = Idr[144] + Idr[145] + Idr[146];
- m_A29 = gt[156] + gt[157];
- m_A31 = m_A31 + go[156];
- m_A30 = m_A30 + go[157];
- double RHS13 = Idr[156] + Idr[157];
- m_A37 = gt[168] + gt[169] + gt[170] + gt[171] + gt[172] + gt[173];
- m_A36 = m_A36 + go[168];
- m_A35 = m_A35 + go[169];
- m_A34 = m_A34 + go[170];
- m_A33 = m_A33 + go[171];
- m_A32 = m_A32 + go[172];
- double RHS14 = Idr[168] + Idr[169] + Idr[170] + Idr[171] + Idr[172] + Idr[173] - go[173] * *cnV[173];
- m_A39 = gt[180] + gt[181] + gt[182] + gt[183];
- m_A38 = m_A38 + go[180];
- m_A40 = m_A40 + go[181];
- double RHS15 = Idr[180] + Idr[181] + Idr[182] + Idr[183] - go[182] * *cnV[182] - go[183] * *cnV[183];
- m_A42 = gt[192] + gt[193] + gt[194] + gt[195];
- m_A41 = m_A41 + go[192];
- m_A43 = m_A43 + go[193];
- double RHS16 = Idr[192] + Idr[193] + Idr[194] + Idr[195] - go[194] * *cnV[194] - go[195] * *cnV[195];
- m_A45 = gt[204] + gt[205] + gt[206];
- m_A46 = m_A46 + go[204];
- m_A44 = m_A44 + go[205];
- double RHS17 = Idr[204] + Idr[205] + Idr[206] - go[206] * *cnV[206];
- m_A52 = gt[216] + gt[217] + gt[218] + gt[219] + gt[220] + gt[221];
- m_A49 = m_A49 + go[216];
- m_A50 = m_A50 + go[217];
- m_A51 = m_A51 + go[218];
- m_A47 = m_A47 + go[219];
- m_A48 = m_A48 + go[220];
- double RHS18 = Idr[216] + Idr[217] + Idr[218] + Idr[219] + Idr[220] + Idr[221] - go[221] * *cnV[221];
- m_A59 = gt[228] + gt[229];
- m_A57 = m_A57 + go[228];
- m_A62 = m_A62 + go[229];
- double RHS19 = Idr[228] + Idr[229];
- m_A66 = gt[240] + gt[241] + gt[242] + gt[243] + gt[244] + gt[245];
- m_A63 = m_A63 + go[240];
- m_A64 = m_A64 + go[241];
- m_A68 = m_A68 + go[242];
- m_A67 = m_A67 + go[243];
- double RHS20 = Idr[240] + Idr[241] + Idr[242] + Idr[243] + Idr[244] + Idr[245] - go[244] * *cnV[244] - go[245] * *cnV[245];
- m_A73 = gt[252] + gt[253] + gt[254] + gt[255];
- m_A72 = m_A72 + go[252];
- m_A71 = m_A71 + go[253];
- m_A69 = m_A69 + go[254];
- m_A70 = m_A70 + go[255];
- double RHS21 = Idr[252] + Idr[253] + Idr[254] + Idr[255];
- m_A80 = gt[264] + gt[265] + gt[266] + gt[267] + gt[268] + gt[269] + gt[270] + gt[271] + gt[272] + gt[273] + gt[274];
- m_A75 = m_A75 + go[264];
- m_A82 = m_A82 + go[265];
- m_A76 = m_A76 + go[266];
- double RHS22 = Idr[264] + Idr[265] + Idr[266] + Idr[267] + Idr[268] + Idr[269] + Idr[270] + Idr[271] + Idr[272] + Idr[273] + Idr[274] - go[267] * *cnV[267] - go[268] * *cnV[268] - go[269] * *cnV[269] - go[270] * *cnV[270] - go[271] * *cnV[271] - go[272] * *cnV[272] - go[273] * *cnV[273] - go[274] * *cnV[274];
- m_A88 = gt[276] + gt[277] + gt[278] + gt[279] + gt[280];
- m_A83 = m_A83 + go[276];
- m_A85 = m_A85 + go[277];
- m_A84 = m_A84 + go[278];
- m_A86 = m_A86 + go[279];
- double RHS23 = Idr[276] + Idr[277] + Idr[278] + Idr[279] + Idr[280] - go[280] * *cnV[280];
- m_A94 = gt[288] + gt[289] + gt[290];
- m_A91 = m_A91 + go[288];
- m_A89 = m_A89 + go[289];
- m_A92 = m_A92 + go[290];
- double RHS24 = Idr[288] + Idr[289] + Idr[290];
-const double f0 = 1.0 / m_A0;
- const double f0_15 = -f0 * m_A38;
- m_A40 += m_A1 * f0_15;
- RHS15 += f0_15 * RHS0;
- const double f0_21 = -f0 * m_A69;
- m_A73 += m_A1 * f0_21;
- RHS21 += f0_21 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_20 = -f1 * m_A63;
- m_A65 += m_A3 * f1_20;
- RHS20 += f1_20 * RHS1;
-const double f2 = 1.0 / m_A4;
- const double f2_16 = -f2 * m_A41;
- m_A43 += m_A5 * f2_16;
- RHS16 += f2_16 * RHS2;
- const double f2_18 = -f2 * m_A47;
- m_A52 += m_A5 * f2_18;
- RHS18 += f2_18 * RHS2;
-const double f3 = 1.0 / m_A6;
- const double f3_22 = -f3 * m_A75;
- m_A77 += m_A7 * f3_22;
- RHS22 += f3_22 * RHS3;
-const double f4 = 1.0 / m_A8;
- const double f4_14 = -f4 * m_A32;
- m_A37 += m_A9 * f4_14;
- RHS14 += f4_14 * RHS4;
- const double f4_21 = -f4 * m_A70;
- m_A71 += m_A9 * f4_21;
- RHS21 += f4_21 * RHS4;
-const double f5 = 1.0 / m_A10;
- const double f5_17 = -f5 * m_A44;
- m_A45 += m_A11 * f5_17;
- RHS17 += f5_17 * RHS5;
- const double f5_18 = -f5 * m_A48;
- m_A51 += m_A11 * f5_18;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ double m_A7(0.0);
+ double m_A8(0.0);
+ double m_A9(0.0);
+ double m_A10(0.0);
+ double m_A11(0.0);
+ double m_A12(0.0);
+ double m_A13(0.0);
+ double m_A14(0.0);
+ double m_A15(0.0);
+ double m_A16(0.0);
+ double m_A17(0.0);
+ double m_A18(0.0);
+ double m_A19(0.0);
+ double m_A20(0.0);
+ double m_A21(0.0);
+ double m_A22(0.0);
+ double m_A23(0.0);
+ double m_A24(0.0);
+ double m_A25(0.0);
+ double m_A26(0.0);
+ double m_A27(0.0);
+ double m_A28(0.0);
+ double m_A29(0.0);
+ double m_A30(0.0);
+ double m_A31(0.0);
+ double m_A32(0.0);
+ double m_A33(0.0);
+ double m_A34(0.0);
+ double m_A35(0.0);
+ double m_A36(0.0);
+ double m_A37(0.0);
+ double m_A38(0.0);
+ double m_A39(0.0);
+ double m_A40(0.0);
+ double m_A41(0.0);
+ double m_A42(0.0);
+ double m_A43(0.0);
+ double m_A44(0.0);
+ double m_A45(0.0);
+ double m_A46(0.0);
+ double m_A47(0.0);
+ double m_A48(0.0);
+ double m_A49(0.0);
+ double m_A50(0.0);
+ double m_A51(0.0);
+ double m_A52(0.0);
+ double m_A53(0.0);
+ double m_A54(0.0);
+ double m_A55(0.0);
+ double m_A56(0.0);
+ double m_A57(0.0);
+ double m_A58(0.0);
+ double m_A59(0.0);
+ double m_A60(0.0);
+ double m_A61(0.0);
+ double m_A62(0.0);
+ double m_A63(0.0);
+ double m_A64(0.0);
+ double m_A65(0.0);
+ double m_A66(0.0);
+ double m_A67(0.0);
+ double m_A68(0.0);
+ double m_A69(0.0);
+ double m_A70(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A0 += gt[3];
+ m_A0 += gt[4];
+ m_A0 += gt[5];
+ m_A0 += gt[6];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 += Idr[3];
+ RHS0 += Idr[4];
+ RHS0 += Idr[5];
+ RHS0 += Idr[6];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ RHS0 -= go[3] * *cnV[3];
+ RHS0 -= go[4] * *cnV[4];
+ RHS0 -= go[5] * *cnV[5];
+ RHS0 -= go[6] * *cnV[6];
+ m_A2 += gt[7];
+ m_A2 += gt[8];
+ m_A2 += gt[9];
+ m_A2 += gt[10];
+ m_A2 += gt[11];
+ m_A2 += gt[12];
+ m_A2 += gt[13];
+ m_A3 += go[7];
+ double RHS1 = Idr[7];
+ RHS1 += Idr[8];
+ RHS1 += Idr[9];
+ RHS1 += Idr[10];
+ RHS1 += Idr[11];
+ RHS1 += Idr[12];
+ RHS1 += Idr[13];
+ RHS1 -= go[8] * *cnV[8];
+ RHS1 -= go[9] * *cnV[9];
+ RHS1 -= go[10] * *cnV[10];
+ RHS1 -= go[11] * *cnV[11];
+ RHS1 -= go[12] * *cnV[12];
+ RHS1 -= go[13] * *cnV[13];
+ m_A4 += gt[14];
+ m_A4 += gt[15];
+ m_A4 += gt[16];
+ m_A5 += go[14];
+ double RHS2 = Idr[14];
+ RHS2 += Idr[15];
+ RHS2 += Idr[16];
+ RHS2 -= go[15] * *cnV[15];
+ RHS2 -= go[16] * *cnV[16];
+ m_A6 += gt[17];
+ m_A6 += gt[18];
+ m_A7 += go[17];
+ double RHS3 = Idr[17];
+ RHS3 += Idr[18];
+ RHS3 -= go[18] * *cnV[18];
+ m_A8 += gt[19];
+ m_A8 += gt[20];
+ m_A8 += gt[21];
+ m_A9 += go[19];
+ double RHS4 = Idr[19];
+ RHS4 += Idr[20];
+ RHS4 += Idr[21];
+ RHS4 -= go[20] * *cnV[20];
+ RHS4 -= go[21] * *cnV[21];
+ m_A10 += gt[22];
+ m_A10 += gt[23];
+ m_A11 += go[22];
+ double RHS5 = Idr[22];
+ RHS5 += Idr[23];
+ RHS5 -= go[23] * *cnV[23];
+ m_A12 += gt[24];
+ m_A12 += gt[25];
+ m_A12 += gt[26];
+ m_A13 += go[24];
+ double RHS6 = Idr[24];
+ RHS6 += Idr[25];
+ RHS6 += Idr[26];
+ RHS6 -= go[25] * *cnV[25];
+ RHS6 -= go[26] * *cnV[26];
+ m_A14 += gt[27];
+ m_A14 += gt[28];
+ m_A14 += gt[29];
+ m_A15 += go[27];
+ double RHS7 = Idr[27];
+ RHS7 += Idr[28];
+ RHS7 += Idr[29];
+ RHS7 -= go[28] * *cnV[28];
+ RHS7 -= go[29] * *cnV[29];
+ m_A17 += gt[30];
+ m_A17 += gt[31];
+ m_A17 += gt[32];
+ m_A17 += gt[33];
+ m_A17 += gt[34];
+ m_A17 += gt[35];
+ m_A16 += go[30];
+ m_A18 += go[31];
+ m_A19 += go[32];
+ m_A19 += go[33];
+ double RHS8 = Idr[30];
+ RHS8 += Idr[31];
+ RHS8 += Idr[32];
+ RHS8 += Idr[33];
+ RHS8 += Idr[34];
+ RHS8 += Idr[35];
+ RHS8 -= go[34] * *cnV[34];
+ RHS8 -= go[35] * *cnV[35];
+ m_A21 += gt[36];
+ m_A21 += gt[37];
+ m_A21 += gt[38];
+ m_A22 += go[36];
+ double RHS9 = Idr[36];
+ RHS9 += Idr[37];
+ RHS9 += Idr[38];
+ RHS9 -= go[37] * *cnV[37];
+ RHS9 -= go[38] * *cnV[38];
+ m_A23 += gt[39];
+ m_A23 += gt[40];
+ m_A23 += gt[41];
+ m_A25 += go[39];
+ m_A24 += go[40];
+ double RHS10 = Idr[39];
+ RHS10 += Idr[40];
+ RHS10 += Idr[41];
+ RHS10 -= go[41] * *cnV[41];
+ m_A27 += gt[42];
+ m_A27 += gt[43];
+ m_A27 += gt[44];
+ m_A27 += gt[45];
+ m_A27 += gt[46];
+ m_A27 += gt[47];
+ m_A26 += go[42];
+ m_A29 += go[43];
+ m_A29 += go[44];
+ double RHS11 = Idr[42];
+ RHS11 += Idr[43];
+ RHS11 += Idr[44];
+ RHS11 += Idr[45];
+ RHS11 += Idr[46];
+ RHS11 += Idr[47];
+ RHS11 -= go[45] * *cnV[45];
+ RHS11 -= go[46] * *cnV[46];
+ RHS11 -= go[47] * *cnV[47];
+ m_A31 += gt[48];
+ m_A31 += gt[49];
+ m_A32 += go[48];
+ m_A30 += go[49];
+ double RHS12 = Idr[48];
+ RHS12 += Idr[49];
+ m_A35 += gt[50];
+ m_A35 += gt[51];
+ m_A34 += go[50];
+ m_A33 += go[51];
+ double RHS13 = Idr[50];
+ RHS13 += Idr[51];
+ m_A38 += gt[52];
+ m_A38 += gt[53];
+ m_A37 += go[52];
+ m_A36 += go[53];
+ double RHS14 = Idr[52];
+ RHS14 += Idr[53];
+ m_A40 += gt[54];
+ m_A40 += gt[55];
+ m_A40 += gt[56];
+ m_A40 += gt[57];
+ m_A41 += go[54];
+ m_A39 += go[55];
+ double RHS15 = Idr[54];
+ RHS15 += Idr[55];
+ RHS15 += Idr[56];
+ RHS15 += Idr[57];
+ RHS15 -= go[56] * *cnV[56];
+ RHS15 -= go[57] * *cnV[57];
+ m_A44 += gt[58];
+ m_A44 += gt[59];
+ m_A43 += go[58];
+ m_A42 += go[59];
+ double RHS16 = Idr[58];
+ RHS16 += Idr[59];
+ m_A54 += gt[60];
+ m_A54 += gt[61];
+ m_A54 += gt[62];
+ m_A54 += gt[63];
+ m_A54 += gt[64];
+ m_A54 += gt[65];
+ m_A52 += go[60];
+ m_A50 += go[61];
+ m_A50 += go[62];
+ m_A51 += go[63];
+ m_A49 += go[64];
+ m_A48 += go[65];
+ double RHS17 = Idr[60];
+ RHS17 += Idr[61];
+ RHS17 += Idr[62];
+ RHS17 += Idr[63];
+ RHS17 += Idr[64];
+ RHS17 += Idr[65];
+ m_A65 += gt[66];
+ m_A65 += gt[67];
+ m_A65 += gt[68];
+ m_A65 += gt[69];
+ m_A65 += gt[70];
+ m_A65 += gt[71];
+ m_A61 += go[66];
+ m_A60 += go[67];
+ m_A60 += go[68];
+ m_A59 += go[69];
+ m_A58 += go[70];
+ m_A57 += go[71];
+ double RHS18 = Idr[66];
+ RHS18 += Idr[67];
+ RHS18 += Idr[68];
+ RHS18 += Idr[69];
+ RHS18 += Idr[70];
+ RHS18 += Idr[71];
+ m_A70 += gt[72];
+ m_A70 += gt[73];
+ m_A70 += gt[74];
+ m_A70 += gt[75];
+ m_A68 += go[72];
+ m_A67 += go[73];
+ double RHS19 = Idr[72];
+ RHS19 += Idr[73];
+ RHS19 += Idr[74];
+ RHS19 += Idr[75];
+ RHS19 -= go[74] * *cnV[74];
+ RHS19 -= go[75] * *cnV[75];
+ const double f0 = 1.0 / m_A0;
+ const double f0_8 = -f0 * m_A16;
+ m_A20 += m_A1 * f0_8;
+ RHS8 += f0_8 * RHS0;
+ const double f1 = 1.0 / m_A2;
+ const double f1_11 = -f1 * m_A26;
+ m_A28 += m_A3 * f1_11;
+ RHS11 += f1_11 * RHS1;
+ const double f2 = 1.0 / m_A4;
+ const double f2_12 = -f2 * m_A30;
+ m_A31 += m_A5 * f2_12;
+ RHS12 += f2_12 * RHS2;
+ const double f3 = 1.0 / m_A6;
+ const double f3_13 = -f3 * m_A33;
+ m_A35 += m_A7 * f3_13;
+ RHS13 += f3_13 * RHS3;
+ const double f3_17 = -f3 * m_A48;
+ m_A52 += m_A7 * f3_17;
+ RHS17 += f3_17 * RHS3;
+ const double f4 = 1.0 / m_A8;
+ const double f4_13 = -f4 * m_A34;
+ m_A35 += m_A9 * f4_13;
+ RHS13 += f4_13 * RHS4;
+ const double f5 = 1.0 / m_A10;
+ const double f5_14 = -f5 * m_A36;
+ m_A38 += m_A11 * f5_14;
+ RHS14 += f5_14 * RHS5;
+ const double f5_18 = -f5 * m_A57;
+ m_A61 += m_A11 * f5_18;
RHS18 += f5_18 * RHS5;
-const double f6 = 1.0 / m_A12;
- const double f6_14 = -f6 * m_A33;
- m_A37 += m_A13 * f6_14;
+ const double f6 = 1.0 / m_A12;
+ const double f6_14 = -f6 * m_A37;
+ m_A38 += m_A13 * f6_14;
RHS14 += f6_14 * RHS6;
-const double f7 = 1.0 / m_A14;
- const double f7_14 = -f7 * m_A34;
- m_A37 += m_A15 * f7_14;
- RHS14 += f7_14 * RHS7;
-const double f8 = 1.0 / m_A16;
- const double f8_23 = -f8 * m_A83;
- m_A88 += m_A17 * f8_23;
- RHS23 += f8_23 * RHS8;
-const double f9 = 1.0 / m_A18;
- const double f9_14 = -f9 * m_A35;
- m_A37 += m_A19 * f9_14;
- RHS14 += f9_14 * RHS9;
-const double f10 = 1.0 / m_A20;
- const double f10_20 = -f10 * m_A64;
- m_A66 += m_A21 * f10_20;
- m_A68 += m_A22 * f10_20;
- RHS20 += f10_20 * RHS10;
- const double f10_23 = -f10 * m_A84;
- m_A86 += m_A21 * f10_23;
- m_A88 += m_A22 * f10_23;
- RHS23 += f10_23 * RHS10;
-const double f11 = 1.0 / m_A23;
- const double f11_14 = -f11 * m_A36;
- m_A37 += m_A24 * f11_14;
- RHS14 += f11_14 * RHS11;
-const double f12 = 1.0 / m_A25;
- const double f12_18 = -f12 * m_A49;
- m_A52 += m_A26 * f12_18;
- m_A53 += m_A27 * f12_18;
- m_A56 += m_A28 * f12_18;
- RHS18 += f12_18 * RHS12;
- const double f12_19 = -f12 * m_A57;
- m_A58 += m_A26 * f12_19;
- m_A59 += m_A27 * f12_19;
- m_A62 += m_A28 * f12_19;
- RHS19 += f12_19 * RHS12;
- const double f12_24 = -f12 * m_A89;
- m_A90 += m_A26 * f12_24;
- m_A91 += m_A27 * f12_24;
- m_A94 += m_A28 * f12_24;
- RHS24 += f12_24 * RHS12;
-const double f13 = 1.0 / m_A29;
- const double f13_18 = -f13 * m_A50;
- m_A52 += m_A30 * f13_18;
- m_A54 += m_A31 * f13_18;
- RHS18 += f13_18 * RHS13;
- const double f13_22 = -f13 * m_A76;
- m_A78 += m_A30 * f13_22;
- m_A80 += m_A31 * f13_22;
- RHS22 += f13_22 * RHS13;
-const double f14 = 1.0 / m_A37;
- const double f14_21 = -f14 * m_A71;
- RHS21 += f14_21 * RHS14;
-const double f15 = 1.0 / m_A39;
- const double f15_20 = -f15 * m_A65;
- m_A67 += m_A40 * f15_20;
- RHS20 += f15_20 * RHS15;
-const double f16 = 1.0 / m_A42;
- const double f16_22 = -f16 * m_A77;
- m_A78 += m_A43 * f16_22;
- RHS22 += f16_22 * RHS16;
-const double f17 = 1.0 / m_A45;
- const double f17_18 = -f17 * m_A51;
- m_A55 += m_A46 * f17_18;
+ const double f7 = 1.0 / m_A14;
+ const double f7_17 = -f7 * m_A49;
+ m_A54 += m_A15 * f7_17;
+ RHS17 += f7_17 * RHS7;
+ const double f7_19 = -f7 * m_A67;
+ m_A68 += m_A15 * f7_19;
+ RHS19 += f7_19 * RHS7;
+ const double f8 = 1.0 / m_A17;
+ const double f8_16 = -f8 * m_A42;
+ m_A44 += m_A18 * f8_16;
+ m_A45 += m_A19 * f8_16;
+ m_A47 += m_A20 * f8_16;
+ RHS16 += f8_16 * RHS8;
+ const double f8_17 = -f8 * m_A50;
+ m_A53 += m_A18 * f8_17;
+ m_A54 += m_A19 * f8_17;
+ m_A56 += m_A20 * f8_17;
+ RHS17 += f8_17 * RHS8;
+ const double f9 = 1.0 / m_A21;
+ const double f9_15 = -f9 * m_A39;
+ m_A41 += m_A22 * f9_15;
+ RHS15 += f9_15 * RHS9;
+ const double f9_18 = -f9 * m_A58;
+ m_A65 += m_A22 * f9_18;
+ RHS18 += f9_18 * RHS9;
+ const double f10 = 1.0 / m_A23;
+ const double f10_16 = -f10 * m_A43;
+ m_A44 += m_A24 * f10_16;
+ m_A46 += m_A25 * f10_16;
+ RHS16 += f10_16 * RHS10;
+ const double f10_18 = -f10 * m_A59;
+ m_A63 += m_A24 * f10_18;
+ m_A65 += m_A25 * f10_18;
+ RHS18 += f10_18 * RHS10;
+ const double f11 = 1.0 / m_A27;
+ const double f11_18 = -f11 * m_A60;
+ m_A62 += m_A28 * f11_18;
+ m_A65 += m_A29 * f11_18;
+ RHS18 += f11_18 * RHS11;
+ const double f12 = 1.0 / m_A31;
+ const double f12_17 = -f12 * m_A51;
+ m_A54 += m_A32 * f12_17;
+ RHS17 += f12_17 * RHS12;
+ const double f13 = 1.0 / m_A35;
+ const double f13_17 = -f13 * m_A52;
+ RHS17 += f13_17 * RHS13;
+ const double f14 = 1.0 / m_A38;
+ const double f14_18 = -f14 * m_A61;
+ RHS18 += f14_18 * RHS14;
+ const double f15 = 1.0 / m_A40;
+ const double f15_18 = -f15 * m_A62;
+ m_A65 += m_A41 * f15_18;
+ RHS18 += f15_18 * RHS15;
+ const double f16 = 1.0 / m_A44;
+ const double f16_17 = -f16 * m_A53;
+ m_A54 += m_A45 * f16_17;
+ m_A55 += m_A46 * f16_17;
+ m_A56 += m_A47 * f16_17;
+ RHS17 += f16_17 * RHS16;
+ const double f16_18 = -f16 * m_A63;
+ m_A64 += m_A45 * f16_18;
+ m_A65 += m_A46 * f16_18;
+ m_A66 += m_A47 * f16_18;
+ RHS18 += f16_18 * RHS16;
+ const double f17 = 1.0 / m_A54;
+ const double f17_18 = -f17 * m_A64;
+ m_A65 += m_A55 * f17_18;
+ m_A66 += m_A56 * f17_18;
RHS18 += f17_18 * RHS17;
- const double f17_23 = -f17 * m_A85;
- m_A88 += m_A46 * f17_23;
- RHS23 += f17_23 * RHS17;
-const double f18 = 1.0 / m_A52;
- const double f18_19 = -f18 * m_A58;
- m_A59 += m_A53 * f18_19;
- m_A60 += m_A54 * f18_19;
- m_A61 += m_A55 * f18_19;
- m_A62 += m_A56 * f18_19;
+ const double f17_19 = -f17 * m_A68;
+ m_A69 += m_A55 * f17_19;
+ m_A70 += m_A56 * f17_19;
+ RHS19 += f17_19 * RHS17;
+ const double f18 = 1.0 / m_A65;
+ const double f18_19 = -f18 * m_A69;
+ m_A70 += m_A66 * f18_19;
RHS19 += f18_19 * RHS18;
- const double f18_22 = -f18 * m_A78;
- m_A79 += m_A53 * f18_22;
- m_A80 += m_A54 * f18_22;
- m_A81 += m_A55 * f18_22;
- m_A82 += m_A56 * f18_22;
- RHS22 += f18_22 * RHS18;
- const double f18_24 = -f18 * m_A90;
- m_A91 += m_A53 * f18_24;
- m_A92 += m_A54 * f18_24;
- m_A93 += m_A55 * f18_24;
- m_A94 += m_A56 * f18_24;
- RHS24 += f18_24 * RHS18;
-const double f19 = 1.0 / m_A59;
- const double f19_22 = -f19 * m_A79;
- m_A80 += m_A60 * f19_22;
- m_A81 += m_A61 * f19_22;
- m_A82 += m_A62 * f19_22;
- RHS22 += f19_22 * RHS19;
- const double f19_24 = -f19 * m_A91;
- m_A92 += m_A60 * f19_24;
- m_A93 += m_A61 * f19_24;
- m_A94 += m_A62 * f19_24;
- RHS24 += f19_24 * RHS19;
-const double f20 = 1.0 / m_A66;
- const double f20_21 = -f20 * m_A72;
- m_A73 += m_A67 * f20_21;
- m_A74 += m_A68 * f20_21;
- RHS21 += f20_21 * RHS20;
- const double f20_23 = -f20 * m_A86;
- m_A87 += m_A67 * f20_23;
- m_A88 += m_A68 * f20_23;
- RHS23 += f20_23 * RHS20;
-const double f21 = 1.0 / m_A73;
- const double f21_23 = -f21 * m_A87;
- m_A88 += m_A74 * f21_23;
- RHS23 += f21_23 * RHS21;
-const double f22 = 1.0 / m_A80;
- const double f22_24 = -f22 * m_A92;
- m_A93 += m_A81 * f22_24;
- m_A94 += m_A82 * f22_24;
- RHS24 += f22_24 * RHS22;
-const double f23 = 1.0 / m_A88;
- const double f23_24 = -f23 * m_A93;
- RHS24 += f23_24 * RHS23;
- V[24] = RHS24 / m_A94;
- double tmp23 = 0.0;
- V[23] = (RHS23 - tmp23) / m_A88;
- double tmp22 = 0.0;
- tmp22 += m_A81 * V[23];
- tmp22 += m_A82 * V[24];
- V[22] = (RHS22 - tmp22) / m_A80;
- double tmp21 = 0.0;
- tmp21 += m_A74 * V[23];
- V[21] = (RHS21 - tmp21) / m_A73;
- double tmp20 = 0.0;
- tmp20 += m_A67 * V[21];
- tmp20 += m_A68 * V[23];
- V[20] = (RHS20 - tmp20) / m_A66;
- double tmp19 = 0.0;
- tmp19 += m_A60 * V[22];
- tmp19 += m_A61 * V[23];
- tmp19 += m_A62 * V[24];
- V[19] = (RHS19 - tmp19) / m_A59;
+ V[19] = RHS19 / m_A70;
double tmp18 = 0.0;
- tmp18 += m_A53 * V[19];
- tmp18 += m_A54 * V[22];
- tmp18 += m_A55 * V[23];
- tmp18 += m_A56 * V[24];
- V[18] = (RHS18 - tmp18) / m_A52;
+ tmp18 += m_A66 * V[19];
+ V[18] = (RHS18 - tmp18) / m_A65;
double tmp17 = 0.0;
- tmp17 += m_A46 * V[23];
- V[17] = (RHS17 - tmp17) / m_A45;
+ tmp17 += m_A55 * V[18];
+ tmp17 += m_A56 * V[19];
+ V[17] = (RHS17 - tmp17) / m_A54;
double tmp16 = 0.0;
- tmp16 += m_A43 * V[18];
- V[16] = (RHS16 - tmp16) / m_A42;
+ tmp16 += m_A45 * V[17];
+ tmp16 += m_A46 * V[18];
+ tmp16 += m_A47 * V[19];
+ V[16] = (RHS16 - tmp16) / m_A44;
double tmp15 = 0.0;
- tmp15 += m_A40 * V[21];
- V[15] = (RHS15 - tmp15) / m_A39;
+ tmp15 += m_A41 * V[18];
+ V[15] = (RHS15 - tmp15) / m_A40;
double tmp14 = 0.0;
- V[14] = (RHS14 - tmp14) / m_A37;
+ V[14] = (RHS14 - tmp14) / m_A38;
double tmp13 = 0.0;
- tmp13 += m_A30 * V[18];
- tmp13 += m_A31 * V[22];
- V[13] = (RHS13 - tmp13) / m_A29;
+ V[13] = (RHS13 - tmp13) / m_A35;
double tmp12 = 0.0;
- tmp12 += m_A26 * V[18];
- tmp12 += m_A27 * V[19];
- tmp12 += m_A28 * V[24];
- V[12] = (RHS12 - tmp12) / m_A25;
+ tmp12 += m_A32 * V[17];
+ V[12] = (RHS12 - tmp12) / m_A31;
double tmp11 = 0.0;
- tmp11 += m_A24 * V[14];
- V[11] = (RHS11 - tmp11) / m_A23;
+ tmp11 += m_A28 * V[15];
+ tmp11 += m_A29 * V[18];
+ V[11] = (RHS11 - tmp11) / m_A27;
double tmp10 = 0.0;
- tmp10 += m_A21 * V[20];
- tmp10 += m_A22 * V[23];
- V[10] = (RHS10 - tmp10) / m_A20;
+ tmp10 += m_A24 * V[16];
+ tmp10 += m_A25 * V[18];
+ V[10] = (RHS10 - tmp10) / m_A23;
double tmp9 = 0.0;
- tmp9 += m_A19 * V[14];
- V[9] = (RHS9 - tmp9) / m_A18;
+ tmp9 += m_A22 * V[18];
+ V[9] = (RHS9 - tmp9) / m_A21;
double tmp8 = 0.0;
- tmp8 += m_A17 * V[23];
- V[8] = (RHS8 - tmp8) / m_A16;
+ tmp8 += m_A18 * V[16];
+ tmp8 += m_A19 * V[17];
+ tmp8 += m_A20 * V[19];
+ V[8] = (RHS8 - tmp8) / m_A17;
double tmp7 = 0.0;
- tmp7 += m_A15 * V[14];
+ tmp7 += m_A15 * V[17];
V[7] = (RHS7 - tmp7) / m_A14;
double tmp6 = 0.0;
tmp6 += m_A13 * V[14];
V[6] = (RHS6 - tmp6) / m_A12;
double tmp5 = 0.0;
- tmp5 += m_A11 * V[17];
+ tmp5 += m_A11 * V[14];
V[5] = (RHS5 - tmp5) / m_A10;
double tmp4 = 0.0;
- tmp4 += m_A9 * V[14];
+ tmp4 += m_A9 * V[13];
V[4] = (RHS4 - tmp4) / m_A8;
double tmp3 = 0.0;
- tmp3 += m_A7 * V[16];
+ tmp3 += m_A7 * V[13];
V[3] = (RHS3 - tmp3) / m_A6;
double tmp2 = 0.0;
- tmp2 += m_A5 * V[18];
+ tmp2 += m_A5 * V[12];
V[2] = (RHS2 - tmp2) / m_A4;
double tmp1 = 0.0;
tmp1 += m_A3 * V[15];
V[1] = (RHS1 - tmp1) / m_A2;
double tmp0 = 0.0;
- tmp0 += m_A1 * V[21];
+ tmp0 += m_A1 * V[19];
V[0] = (RHS0 - tmp0) / m_A0;
}
// breakout
-static void nl_gcr_fbbf6eebb7621abc_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
+static void nl_gcr_f6a620d52ca4719f_7_double_double(double * __restrict V, const double * __restrict go, const double * __restrict gt, const double * __restrict Idr, const double * const * __restrict cnV)
{
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2];
- m_A1 = m_A1 + go[0];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] - go[1] * *cnV[1] - go[2] * *cnV[2];
- m_A2 = gt[4] + gt[5];
- m_A3 = m_A3 + go[4];
- double RHS1 = Idr[4] + Idr[5] - go[5] * *cnV[5];
- m_A6 = gt[8] + gt[9];
- m_A5 = m_A5 + go[8];
- m_A4 = m_A4 + go[9];
- double RHS2 = Idr[8] + Idr[9];
-const double f0 = 1.0 / m_A0;
+ double m_A0(0.0);
+ double m_A1(0.0);
+ double m_A2(0.0);
+ double m_A3(0.0);
+ double m_A4(0.0);
+ double m_A5(0.0);
+ double m_A6(0.0);
+ m_A0 += gt[0];
+ m_A0 += gt[1];
+ m_A0 += gt[2];
+ m_A1 += go[0];
+ double RHS0 = Idr[0];
+ RHS0 += Idr[1];
+ RHS0 += Idr[2];
+ RHS0 -= go[1] * *cnV[1];
+ RHS0 -= go[2] * *cnV[2];
+ m_A2 += gt[3];
+ m_A2 += gt[4];
+ m_A3 += go[3];
+ double RHS1 = Idr[3];
+ RHS1 += Idr[4];
+ RHS1 -= go[4] * *cnV[4];
+ m_A6 += gt[5];
+ m_A6 += gt[6];
+ m_A5 += go[5];
+ m_A4 += go[6];
+ double RHS2 = Idr[5];
+ RHS2 += Idr[6];
+ const double f0 = 1.0 / m_A0;
const double f0_2 = -f0 * m_A4;
m_A6 += m_A1 * f0_2;
RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
- const double f1_2 = -f1 * m_A5;
- m_A6 += m_A3 * f1_2;
- RHS2 += f1_2 * RHS1;
- V[2] = RHS2 / m_A6;
- double tmp1 = 0.0;
- tmp1 += m_A3 * V[2];
- V[1] = (RHS1 - tmp1) / m_A2;
- double tmp0 = 0.0;
- tmp0 += m_A1 * V[2];
- V[0] = (RHS0 - tmp0) / m_A0;
-}
-
-// cheekyms
-static void nl_gcr_feb42362d28845e7_7_double_double(double * __restrict V, double * __restrict go, double * __restrict gt, double * __restrict Idr, double ** __restrict cnV)
-
-{
-
-double m_A0(0.0);
-double m_A1(0.0);
-double m_A2(0.0);
-double m_A3(0.0);
-double m_A4(0.0);
-double m_A5(0.0);
-double m_A6(0.0);
- m_A0 = gt[0] + gt[1] + gt[2] + gt[3];
- m_A1 = m_A1 + go[0];
- m_A1 = m_A1 + go[1];
- double RHS0 = Idr[0] + Idr[1] + Idr[2] + Idr[3] - go[2] * *cnV[2] - go[3] * *cnV[3];
- m_A2 = gt[6] + gt[7];
- m_A3 = m_A3 + go[6];
- double RHS1 = Idr[6] + Idr[7] - go[7] * *cnV[7];
- m_A6 = gt[12] + gt[13] + gt[14] + gt[15] + gt[16];
- m_A5 = m_A5 + go[12];
- m_A4 = m_A4 + go[13];
- m_A4 = m_A4 + go[14];
- double RHS2 = Idr[12] + Idr[13] + Idr[14] + Idr[15] + Idr[16] - go[15] * *cnV[15] - go[16] * *cnV[16];
-const double f0 = 1.0 / m_A0;
- const double f0_2 = -f0 * m_A4;
- m_A6 += m_A1 * f0_2;
- RHS2 += f0_2 * RHS0;
-const double f1 = 1.0 / m_A2;
+ const double f1 = 1.0 / m_A2;
const double f1_2 = -f1 * m_A5;
m_A6 += m_A3 * f1_2;
RHS2 += f1_2 * RHS1;
@@ -12865,124 +17951,125 @@ const double f1 = 1.0 / m_A2;
V[0] = (RHS0 - tmp0) / m_A0;
}
+extern plib::dynlib_static_sym nl_static_solver_syms[];
plib::dynlib_static_sym nl_static_solver_syms[] = {
-// gamemachine
- {"nl_gcr_111d6ad4781c136_19_double_double", reinterpret_cast<void *>(&nl_gcr_111d6ad4781c136_19_double_double)},
-// cheekyms
- {"nl_gcr_11995a0d28843023_150_double_double", reinterpret_cast<void *>(&nl_gcr_11995a0d28843023_150_double_double)},
-// mario
- {"nl_gcr_15fa1a3cf923c9fd_29_double_double", reinterpret_cast<void *>(&nl_gcr_15fa1a3cf923c9fd_29_double_double)},
+// konami1x
+ {"nl_gcr_105d3ecb773843b6_49_double_double", reinterpret_cast<void *>(&nl_gcr_105d3ecb773843b6_49_double_double)},
+// breakout
+ {"nl_gcr_15a4e7fbe5facb3a_7_double_double", reinterpret_cast<void *>(&nl_gcr_15a4e7fbe5facb3a_7_double_double)},
+// breakout
+ {"nl_gcr_1993cb957e80c097_10_double_double", reinterpret_cast<void *>(&nl_gcr_1993cb957e80c097_10_double_double)},
// kidniki
- {"nl_gcr_169c14d438ffb621_198_double_double", reinterpret_cast<void *>(&nl_gcr_169c14d438ffb621_198_double_double)},
+ {"nl_gcr_1cbd5d704f6e93c1_67_double_double", reinterpret_cast<void *>(&nl_gcr_1cbd5d704f6e93c1_67_double_double)},
+// 280zzzap
+ {"nl_gcr_20d478ed5597161_123_double_double", reinterpret_cast<void *>(&nl_gcr_20d478ed5597161_123_double_double)},
+// stuntcyc
+ {"nl_gcr_251e2a2e2c8d5b33_20_double_double", reinterpret_cast<void *>(&nl_gcr_251e2a2e2c8d5b33_20_double_double)},
// cheekyms
- {"nl_gcr_19f6e9708f37ad65_7_double_double", reinterpret_cast<void *>(&nl_gcr_19f6e9708f37ad65_7_double_double)},
+ {"nl_gcr_278f0b40e27b21fc_150_double_double", reinterpret_cast<void *>(&nl_gcr_278f0b40e27b21fc_150_double_double)},
// zac1b11142
- {"nl_gcr_1dd100c8f34cf889_96_double_double", reinterpret_cast<void *>(&nl_gcr_1dd100c8f34cf889_96_double_double)},
+ {"nl_gcr_2b5c86f8653bcde7_12_double_double", reinterpret_cast<void *>(&nl_gcr_2b5c86f8653bcde7_12_double_double)},
// rebound
- {"nl_gcr_1faccd91c85d3ab3_28_double_double", reinterpret_cast<void *>(&nl_gcr_1faccd91c85d3ab3_28_double_double)},
+ {"nl_gcr_33a561080717d469_7_double_double", reinterpret_cast<void *>(&nl_gcr_33a561080717d469_7_double_double)},
+// dpatrol
+ {"nl_gcr_390fe6bd5468155d_7_double_double", reinterpret_cast<void *>(&nl_gcr_390fe6bd5468155d_7_double_double)},
+// kidniki
+ {"nl_gcr_445192d0ef3f62c6_21_double_double", reinterpret_cast<void *>(&nl_gcr_445192d0ef3f62c6_21_double_double)},
+// kidniki
+ {"nl_gcr_4a06f16ac700a832_198_double_double", reinterpret_cast<void *>(&nl_gcr_4a06f16ac700a832_198_double_double)},
+// gtrak10
+ {"nl_gcr_4e48e9f6ef4bfdc4_43_double_double", reinterpret_cast<void *>(&nl_gcr_4e48e9f6ef4bfdc4_43_double_double)},
+// kidniki
+ {"nl_gcr_580e08d22698f60a_37_double_double", reinterpret_cast<void *>(&nl_gcr_580e08d22698f60a_37_double_double)},
+// kidniki
+ {"nl_gcr_58f8065842de37d4_34_double_double", reinterpret_cast<void *>(&nl_gcr_58f8065842de37d4_34_double_double)},
// breakout
- {"nl_gcr_1fffb23aa506432d_13_double_double", reinterpret_cast<void *>(&nl_gcr_1fffb23aa506432d_13_double_double)},
-// pongf
- {"nl_gcr_20615d28f46254cb_10_double_double", reinterpret_cast<void *>(&nl_gcr_20615d28f46254cb_10_double_double)},
+ {"nl_gcr_59095cbc65117534_13_double_double", reinterpret_cast<void *>(&nl_gcr_59095cbc65117534_13_double_double)},
+// breakout
+ {"nl_gcr_593686d4c01bf991_31_double_double", reinterpret_cast<void *>(&nl_gcr_593686d4c01bf991_31_double_double)},
// zac1b11142
- {"nl_gcr_21d92b630d2e9a99_30_double_double", reinterpret_cast<void *>(&nl_gcr_21d92b630d2e9a99_30_double_double)},
-// dpatrol
- {"nl_gcr_27a78682a9b70f8c_10_double_double", reinterpret_cast<void *>(&nl_gcr_27a78682a9b70f8c_10_double_double)},
+ {"nl_gcr_5a632d4741241573_96_double_double", reinterpret_cast<void *>(&nl_gcr_5a632d4741241573_96_double_double)},
// 280zzzap
- {"nl_gcr_2e7df52e4934b257_31_double_double", reinterpret_cast<void *>(&nl_gcr_2e7df52e4934b257_31_double_double)},
-// mario
- {"nl_gcr_2eb3d95f720484d_62_double_double", reinterpret_cast<void *>(&nl_gcr_2eb3d95f720484d_62_double_double)},
-// segas16b_audio
- {"nl_gcr_35947d349693c22_111_double_double", reinterpret_cast<void *>(&nl_gcr_35947d349693c22_111_double_double)},
-// cocoloco
- {"nl_gcr_3641ac25e244c362_16_double_double", reinterpret_cast<void *>(&nl_gcr_3641ac25e244c362_16_double_double)},
+ {"nl_gcr_5af09c93b5cf0788_95_double_double", reinterpret_cast<void *>(&nl_gcr_5af09c93b5cf0788_95_double_double)},
// zac1b11142
- {"nl_gcr_38a3ac18f52bf78a_7_double_double", reinterpret_cast<void *>(&nl_gcr_38a3ac18f52bf78a_7_double_double)},
-// dpatrol
- {"nl_gcr_38f1806722626d7e_7_double_double", reinterpret_cast<void *>(&nl_gcr_38f1806722626d7e_7_double_double)},
-// kidniki
- {"nl_gcr_3e4821cabc0aeb96_24_double_double", reinterpret_cast<void *>(&nl_gcr_3e4821cabc0aeb96_24_double_double)},
-// dpatrol
- {"nl_gcr_57a832104e53c9a8_20_double_double", reinterpret_cast<void *>(&nl_gcr_57a832104e53c9a8_20_double_double)},
+ {"nl_gcr_60352d234249ea57_30_double_double", reinterpret_cast<void *>(&nl_gcr_60352d234249ea57_30_double_double)},
+// breakout
+ {"nl_gcr_655da76624809228_13_double_double", reinterpret_cast<void *>(&nl_gcr_655da76624809228_13_double_double)},
+// cheekyms
+ {"nl_gcr_6d03e64d09c956c3_7_double_double", reinterpret_cast<void *>(&nl_gcr_6d03e64d09c956c3_7_double_double)},
// rebound
- {"nl_gcr_5985dfb549280eeb_13_double_double", reinterpret_cast<void *>(&nl_gcr_5985dfb549280eeb_13_double_double)},
+ {"nl_gcr_6e17dfd7d26d8933_13_double_double", reinterpret_cast<void *>(&nl_gcr_6e17dfd7d26d8933_13_double_double)},
+// gamemachine
+ {"nl_gcr_70c1124c705dd998_19_double_double", reinterpret_cast<void *>(&nl_gcr_70c1124c705dd998_19_double_double)},
+// cheekyms
+ {"nl_gcr_70f289d5486b9767_7_double_double", reinterpret_cast<void *>(&nl_gcr_70f289d5486b9767_7_double_double)},
+// zac1b11142
+ {"nl_gcr_752680f8e0bc6a4a_7_double_double", reinterpret_cast<void *>(&nl_gcr_752680f8e0bc6a4a_7_double_double)},
+// mario
+ {"nl_gcr_7b9186d9ff77f7a1_29_double_double", reinterpret_cast<void *>(&nl_gcr_7b9186d9ff77f7a1_29_double_double)},
+// cheekyms
+ {"nl_gcr_7e9498276980e5d1_12_double_double", reinterpret_cast<void *>(&nl_gcr_7e9498276980e5d1_12_double_double)},
+// kidniki
+ {"nl_gcr_80d7c219807268a_24_double_double", reinterpret_cast<void *>(&nl_gcr_80d7c219807268a_24_double_double)},
+// pongf
+ {"nl_gcr_81ae080c83dcf6a4_35_double_double", reinterpret_cast<void *>(&nl_gcr_81ae080c83dcf6a4_35_double_double)},
// tp1985
- {"nl_gcr_5ca1779d1825c4c9_26_double_double", reinterpret_cast<void *>(&nl_gcr_5ca1779d1825c4c9_26_double_double)},
+ {"nl_gcr_83fbe835263b28d3_7_double_double", reinterpret_cast<void *>(&nl_gcr_83fbe835263b28d3_7_double_double)},
+// pongf
+ {"nl_gcr_930be1d2f1a52598_10_double_double", reinterpret_cast<void *>(&nl_gcr_930be1d2f1a52598_10_double_double)},
+// kidniki
+ {"nl_gcr_9701e2657a7f4ca3_37_double_double", reinterpret_cast<void *>(&nl_gcr_9701e2657a7f4ca3_37_double_double)},
+// cocoloco
+ {"nl_gcr_97d556b480d72ab7_16_double_double", reinterpret_cast<void *>(&nl_gcr_97d556b480d72ab7_16_double_double)},
+// zac1b11142
+ {"nl_gcr_988a81edfbe45655_30_double_double", reinterpret_cast<void *>(&nl_gcr_988a81edfbe45655_30_double_double)},
// tp1985
- {"nl_gcr_6148fa421800febb_10_double_double", reinterpret_cast<void *>(&nl_gcr_6148fa421800febb_10_double_double)},
+ {"nl_gcr_99e69c1880e516a7_10_double_double", reinterpret_cast<void *>(&nl_gcr_99e69c1880e516a7_10_double_double)},
// tp1985
- {"nl_gcr_6480c7a1d69e9131_7_double_double", reinterpret_cast<void *>(&nl_gcr_6480c7a1d69e9131_7_double_double)},
-// 280zzzap
- {"nl_gcr_66a07f8f9d33245b_57_double_double", reinterpret_cast<void *>(&nl_gcr_66a07f8f9d33245b_57_double_double)},
-// stuntcyc
- {"nl_gcr_6c599fc01f5b084c_20_double_double", reinterpret_cast<void *>(&nl_gcr_6c599fc01f5b084c_20_double_double)},
-// breakout
- {"nl_gcr_6d40bbc695987ef5_13_double_double", reinterpret_cast<void *>(&nl_gcr_6d40bbc695987ef5_13_double_double)},
-// pongf
- {"nl_gcr_70e1061a9deb37a4_7_double_double", reinterpret_cast<void *>(&nl_gcr_70e1061a9deb37a4_7_double_double)},
+ {"nl_gcr_a1806410e32baeb_26_double_double", reinterpret_cast<void *>(&nl_gcr_a1806410e32baeb_26_double_double)},
+// gunfight
+ {"nl_gcr_a479712c277f2ba4_108_double_double", reinterpret_cast<void *>(&nl_gcr_a479712c277f2ba4_108_double_double)},
// breakout
- {"nl_gcr_7421995adbfda1ad_10_double_double", reinterpret_cast<void *>(&nl_gcr_7421995adbfda1ad_10_double_double)},
-// zac1b11142
- {"nl_gcr_7572db25f250cf5a_71_double_double", reinterpret_cast<void *>(&nl_gcr_7572db25f250cf5a_71_double_double)},
+ {"nl_gcr_a59b19805d7e4461_7_double_double", reinterpret_cast<void *>(&nl_gcr_a59b19805d7e4461_7_double_double)},
// 280zzzap
- {"nl_gcr_766cc932eebf25ec_104_double_double", reinterpret_cast<void *>(&nl_gcr_766cc932eebf25ec_104_double_double)},
-// popeye
- {"nl_gcr_794f14a13bda75f0_50_double_double", reinterpret_cast<void *>(&nl_gcr_794f14a13bda75f0_50_double_double)},
-// breakout
- {"nl_gcr_7a4e8b4f388d66d7_7_double_double", reinterpret_cast<void *>(&nl_gcr_7a4e8b4f388d66d7_7_double_double)},
+ {"nl_gcr_a716c0b150a52aeb_135_double_double", reinterpret_cast<void *>(&nl_gcr_a716c0b150a52aeb_135_double_double)},
+// 1942
+ {"nl_gcr_b20cee3516465509_90_double_double", reinterpret_cast<void *>(&nl_gcr_b20cee3516465509_90_double_double)},
+// segas16b_audio
+ {"nl_gcr_b71f53c9e7a6b4a9_111_double_double", reinterpret_cast<void *>(&nl_gcr_b71f53c9e7a6b4a9_111_double_double)},
// 280zzzap
- {"nl_gcr_7af598c34aca424d_135_double_double", reinterpret_cast<void *>(&nl_gcr_7af598c34aca424d_135_double_double)},
-// kidniki
- {"nl_gcr_7b1592d23e41ce56_37_double_double", reinterpret_cast<void *>(&nl_gcr_7b1592d23e41ce56_37_double_double)},
+ {"nl_gcr_bcf0e3af19330ca7_116_double_double", reinterpret_cast<void *>(&nl_gcr_bcf0e3af19330ca7_116_double_double)},
+// 280zzzap
+ {"nl_gcr_caa814c0740131f2_104_double_double", reinterpret_cast<void *>(&nl_gcr_caa814c0740131f2_104_double_double)},
// rebound
- {"nl_gcr_7c58698d6a68f4a0_7_double_double", reinterpret_cast<void *>(&nl_gcr_7c58698d6a68f4a0_7_double_double)},
-// gunfight
- {"nl_gcr_7dbbdf7feecfa9bd_108_double_double", reinterpret_cast<void *>(&nl_gcr_7dbbdf7feecfa9bd_108_double_double)},
-// konami1x
- {"nl_gcr_7f2f6447ea71d31e_49_double_double", reinterpret_cast<void *>(&nl_gcr_7f2f6447ea71d31e_49_double_double)},
+ {"nl_gcr_cb1d3c28ba315ca6_28_double_double", reinterpret_cast<void *>(&nl_gcr_cb1d3c28ba315ca6_28_double_double)},
+// mario
+ {"nl_gcr_cc367a3c6e2f7ec9_62_double_double", reinterpret_cast<void *>(&nl_gcr_cc367a3c6e2f7ec9_62_double_double)},
+// pongf
+ {"nl_gcr_cd4de579d34fc1d9_7_double_double", reinterpret_cast<void *>(&nl_gcr_cd4de579d34fc1d9_7_double_double)},
// dpatrol
- {"nl_gcr_81bfac76b696d9f3_22_double_double", reinterpret_cast<void *>(&nl_gcr_81bfac76b696d9f3_22_double_double)},
-// breakout
- {"nl_gcr_876240e48d904d1f_7_double_double", reinterpret_cast<void *>(&nl_gcr_876240e48d904d1f_7_double_double)},
-// konami2x
- {"nl_gcr_8e55e5f9e065890e_85_double_double", reinterpret_cast<void *>(&nl_gcr_8e55e5f9e065890e_85_double_double)},
-// kidniki
- {"nl_gcr_933b3efec18faab_37_double_double", reinterpret_cast<void *>(&nl_gcr_933b3efec18faab_37_double_double)},
-// 280zzzap
- {"nl_gcr_9de29bb0cfe2c4b4_116_double_double", reinterpret_cast<void *>(&nl_gcr_9de29bb0cfe2c4b4_116_double_double)},
+ {"nl_gcr_cffc52225ebcec8f_20_double_double", reinterpret_cast<void *>(&nl_gcr_cffc52225ebcec8f_20_double_double)},
+// popeye
+ {"nl_gcr_d153cd8a3df26761_50_double_double", reinterpret_cast<void *>(&nl_gcr_d153cd8a3df26761_50_double_double)},
+// dpatrol
+ {"nl_gcr_d229cf0026955cd3_10_double_double", reinterpret_cast<void *>(&nl_gcr_d229cf0026955cd3_10_double_double)},
// 280zzzap
- {"nl_gcr_9e7791458f751e0c_123_double_double", reinterpret_cast<void *>(&nl_gcr_9e7791458f751e0c_123_double_double)},
-// 1942
- {"nl_gcr_a1b753ac9c408940_90_double_double", reinterpret_cast<void *>(&nl_gcr_a1b753ac9c408940_90_double_double)},
-// zac1b11142
- {"nl_gcr_a26cb0ca00cdeba6_12_double_double", reinterpret_cast<void *>(&nl_gcr_a26cb0ca00cdeba6_12_double_double)},
-// kidniki
- {"nl_gcr_a2b9e1d13f95c2d3_34_double_double", reinterpret_cast<void *>(&nl_gcr_a2b9e1d13f95c2d3_34_double_double)},
-// breakout
- {"nl_gcr_a5e9537117c3969a_31_double_double", reinterpret_cast<void *>(&nl_gcr_a5e9537117c3969a_31_double_double)},
-// zac1b11142
- {"nl_gcr_a88b481713b08b7b_30_double_double", reinterpret_cast<void *>(&nl_gcr_a88b481713b08b7b_30_double_double)},
-// kidniki
- {"nl_gcr_b42f307001315373_21_double_double", reinterpret_cast<void *>(&nl_gcr_b42f307001315373_21_double_double)},
-// pongf
- {"nl_gcr_b8e1f7dd43c1da70_35_double_double", reinterpret_cast<void *>(&nl_gcr_b8e1f7dd43c1da70_35_double_double)},
-// gtrak10
- {"nl_gcr_b9ccfa3d1681baf3_43_double_double", reinterpret_cast<void *>(&nl_gcr_b9ccfa3d1681baf3_43_double_double)},
+ {"nl_gcr_d5f69adb177fea36_31_double_double", reinterpret_cast<void *>(&nl_gcr_d5f69adb177fea36_31_double_double)},
// gamemachine
- {"nl_gcr_d028b2a263a6b4a7_7_double_double", reinterpret_cast<void *>(&nl_gcr_d028b2a263a6b4a7_7_double_double)},
-// zac1b11142
- {"nl_gcr_dded752996a524fc_178_double_double", reinterpret_cast<void *>(&nl_gcr_dded752996a524fc_178_double_double)},
-// cheekyms
- {"nl_gcr_e67e623b6c100b4e_12_double_double", reinterpret_cast<void *>(&nl_gcr_e67e623b6c100b4e_12_double_double)},
-// kidniki
- {"nl_gcr_e7e5566e352b80c1_67_double_double", reinterpret_cast<void *>(&nl_gcr_e7e5566e352b80c1_67_double_double)},
+ {"nl_gcr_ddffc2781d05acf_10_double_double", reinterpret_cast<void *>(&nl_gcr_ddffc2781d05acf_10_double_double)},
// gamemachine
- {"nl_gcr_ec17a9dbc8cd78fd_10_double_double", reinterpret_cast<void *>(&nl_gcr_ec17a9dbc8cd78fd_10_double_double)},
+ {"nl_gcr_df3a545642cc0a22_7_double_double", reinterpret_cast<void *>(&nl_gcr_df3a545642cc0a22_7_double_double)},
+// zac1b11142
+ {"nl_gcr_e3e057bb1961a530_178_double_double", reinterpret_cast<void *>(&nl_gcr_e3e057bb1961a530_178_double_double)},
+// konami2x
+ {"nl_gcr_e4c54910436826d1_85_double_double", reinterpret_cast<void *>(&nl_gcr_e4c54910436826d1_85_double_double)},
// 280zzzap
- {"nl_gcr_f1804fa5ede37373_95_double_double", reinterpret_cast<void *>(&nl_gcr_f1804fa5ede37373_95_double_double)},
+ {"nl_gcr_eb8f99b7d033585a_57_double_double", reinterpret_cast<void *>(&nl_gcr_eb8f99b7d033585a_57_double_double)},
+// dpatrol
+ {"nl_gcr_ef9b40abd2bf582c_22_double_double", reinterpret_cast<void *>(&nl_gcr_ef9b40abd2bf582c_22_double_double)},
+// zac1b11142
+ {"nl_gcr_f0a19b84f91ff24f_71_double_double", reinterpret_cast<void *>(&nl_gcr_f0a19b84f91ff24f_71_double_double)},
// breakout
- {"nl_gcr_fbbf6eebb7621abc_7_double_double", reinterpret_cast<void *>(&nl_gcr_fbbf6eebb7621abc_7_double_double)},
-// cheekyms
- {"nl_gcr_feb42362d28845e7_7_double_double", reinterpret_cast<void *>(&nl_gcr_feb42362d28845e7_7_double_double)},
+ {"nl_gcr_f6a620d52ca4719f_7_double_double", reinterpret_cast<void *>(&nl_gcr_f6a620d52ca4719f_7_double_double)},
{"", nullptr}
};
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp
index b09c60b901a..a9ac57f620d 100644
--- a/src/lib/netlist/nl_base.cpp
+++ b/src/lib/netlist/nl_base.cpp
@@ -27,7 +27,7 @@ namespace netlist
host_arena::unique_ptr<plib::dynlib_base> callbacks_t:: static_solver_lib() const
{
- return host_arena::make_unique<plib::dynlib_static>(nullptr);
+ return plib::make_unique<plib::dynlib_static, host_arena>(nullptr);
}
// ----------------------------------------------------------------------------------------
@@ -129,9 +129,9 @@ namespace netlist
m_lib = m_callbacks->static_solver_lib();
- m_setup = host_arena::make_unique<setup_t>(*this);
+ m_setup = plib::make_unique<setup_t, host_arena>(*this);
// create the run interface
- m_netlist = m_pool.make_unique<netlist_t>(*this, name);
+ m_netlist = plib::make_unique<netlist_t>(m_pool, *this, name);
// Make sure save states are invalidated when a new version is deployed
@@ -313,7 +313,7 @@ namespace netlist
case 0:
{
std::vector<core_device_t *> d;
- std::vector<nldelegate *> t;
+ std::vector<const nldelegate *> t;
log().verbose("Using default startup strategy");
for (auto &n : m_nets)
for (auto & term : n->core_terms())
@@ -402,7 +402,7 @@ namespace netlist
}
log().verbose("Total calls : {1:12} {2:12} {3:12}", total_count,
- total_time, total_time / static_cast<decltype(total_time)>((total_count > 0) ? total_count : 1));
+ total_time, total_time / gsl::narrow<decltype(total_time)>((total_count > 0) ? total_count : 1));
log().verbose("Total loop {1:15}", si.m_stat_mainloop());
log().verbose("Total time {1:15}", total_time);
@@ -424,8 +424,8 @@ namespace netlist
}
plib::pperftime_t<true>::type total_overhead = overhead()
- * static_cast<plib::pperftime_t<true>::type>(total_count)
- / static_cast<plib::pperftime_t<true>::type>(200000);
+ * gsl::narrow<plib::pperftime_t<true>::type>(total_count)
+ / gsl::narrow<plib::pperftime_t<true>::type>(200000);
log().verbose("Queue Pushes {1:15}", si.m_queue.m_prof_call());
log().verbose("Queue Moves {1:15}", si.m_queue.m_prof_sortmove());
@@ -436,7 +436,7 @@ namespace netlist
log().verbose("Take the next lines with a grain of salt. They depend on the measurement implementation.");
log().verbose("Total overhead {1:15}", total_overhead);
plib::pperftime_t<true>::type overhead_per_pop = (si.m_stat_mainloop()-2*total_overhead - (total_time - total_overhead))
- / static_cast<plib::pperftime_t<true>::type>(si.m_queue.m_prof_call());
+ / gsl::narrow<plib::pperftime_t<true>::type>(si.m_queue.m_prof_call());
log().verbose("Overhead per pop {1:11}", overhead_per_pop );
log().verbose("");
}
@@ -450,7 +450,7 @@ namespace netlist
if (stats->m_stat_inc_active() > 3 * stats->m_stat_total_time.count()
&& stats->m_stat_inc_active() > trigger)
log().verbose("HINT({}, NO_DEACTIVATE) // {} {} {}", ep->name(),
- static_cast<nl_fptype>(stats->m_stat_inc_active()) / static_cast<nl_fptype>(stats->m_stat_total_time.count()),
+ gsl::narrow<nl_fptype>(stats->m_stat_inc_active()) / gsl::narrow<nl_fptype>(stats->m_stat_total_time.count()),
stats->m_stat_inc_active(), stats->m_stat_total_time.count());
}
log().verbose("");
@@ -831,10 +831,8 @@ namespace netlist
device.state().setup().register_param_t(*this);
}
- param_t::~param_t() noexcept
- {
- // placed here to avoid weak vtable warnings
- }
+ // placed here to avoid weak vtable warnings
+ param_t::~param_t() noexcept = default;
param_t::param_type_t param_t::param_type() const noexcept(false)
{
@@ -858,14 +856,14 @@ namespace netlist
pstring param_t::get_initial(const core_device_t *dev, bool *found) const
{
pstring res = dev->state().setup().get_initial_param_val(this->name(), "");
- *found = (res != "");
+ *found = (!res.empty());
return res;
}
param_str_t::param_str_t(core_device_t &device, const pstring &name, const pstring &val)
: param_t(device, name)
{
- m_param = host_arena::make_unique<pstring>(val);
+ m_param = plib::make_unique<pstring, host_arena>(val);
*m_param = device.state().setup().get_initial_param_val(this->name(),val);
}
@@ -873,7 +871,7 @@ namespace netlist
: param_t(name)
{
// deviceless parameter, no registration, owner is responsible
- m_param = host_arena::make_unique<pstring>(val);
+ m_param = plib::make_unique<pstring, host_arena>(val);
*m_param = state.setup().get_initial_param_val(this->name(),val);
}
diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h
index 7597989d71b..97e3f404a36 100644
--- a/src/lib/netlist/nl_base.h
+++ b/src/lib/netlist/nl_base.h
@@ -708,9 +708,8 @@ namespace netlist
#endif
void set_delegate(const nldelegate &delegate) noexcept { m_delegate = delegate; }
- nldelegate &delegate() noexcept { return m_delegate; }
const nldelegate &delegate() const noexcept { return m_delegate; }
- inline void run_delegate() noexcept { m_delegate(); }
+ inline void run_delegate() noexcept { return m_delegate(); }
private:
nldelegate m_delegate;
net_t * m_net;
@@ -997,7 +996,7 @@ namespace netlist
{
public:
- using list_t = std::vector<analog_net_t *>;
+ using list_t = plib::aligned_vector<analog_net_t *>;
analog_net_t(netlist_state_t &nl, const pstring &aname, detail::core_terminal_t *railterminal = nullptr);
@@ -1209,7 +1208,7 @@ namespace netlist
pstring valstr() const override
{
- return plib::pfmt("{}").e(static_cast<nl_fptype>(m_param));
+ return plib::pfmt("{}").e(gsl::narrow<nl_fptype>(m_param));
}
private:
@@ -1309,7 +1308,7 @@ namespace netlist
public:
template <typename P, typename Y=T, typename DUMMY = std::enable_if_t<plib::is_arithmetic<Y>::value>>
value_base_t(P &param, const pstring &name)
- : m_value(static_cast<T>(param.value(name)))
+ : m_value(gsl::narrow<T>(param.value(name)))
{
}
template <typename P, typename Y=T, std::enable_if_t<!plib::is_arithmetic<Y>::value, int> = 0>
@@ -1513,7 +1512,8 @@ namespace netlist
~device_t() noexcept override = default;
- nldelegate default_delegate() { return nldelegate(&device_t::update, this); }
+ //nldelegate default_delegate() { return nldelegate(&device_t::update, this); }
+ nldelegate default_delegate() { return { &device_t::update, this }; }
protected:
NETLIB_UPDATEI() { }
@@ -1757,7 +1757,7 @@ namespace netlist
template<typename T, typename... Args>
device_arena::unique_ptr<T> make_pool_object(Args&&... args)
{
- return m_pool.make_unique<T>(std::forward<Args>(args)...);
+ return plib::make_unique<T>(m_pool, std::forward<Args>(args)...);
}
// memory pool - still needed in some places
device_arena &pool() noexcept { return m_pool; }
@@ -2302,6 +2302,7 @@ namespace netlist
inline void detail::net_t::remove_from_active_list(core_terminal_t &term) noexcept
{
+ gsl_Expects(!m_list_active.empty());
m_list_active.remove(&term);
if (m_list_active.empty())
railterminal().device().do_dec_active();
@@ -2309,24 +2310,24 @@ namespace netlist
inline const analog_net_t & analog_t::net() const noexcept
{
- return static_cast<const analog_net_t &>(core_terminal_t::net());
+ return plib::downcast<const analog_net_t &>(core_terminal_t::net());
}
inline analog_net_t & analog_t::net() noexcept
{
- return static_cast<analog_net_t &>(core_terminal_t::net());
+ return plib::downcast<analog_net_t &>(core_terminal_t::net());
}
inline nl_fptype terminal_t::operator ()() const noexcept { return net().Q_Analog(); }
inline logic_net_t & logic_t::net() noexcept
{
- return static_cast<logic_net_t &>(core_terminal_t::net());
+ return plib::downcast<logic_net_t &>(core_terminal_t::net());
}
inline const logic_net_t & logic_t::net() const noexcept
{
- return static_cast<const logic_net_t &>(core_terminal_t::net());
+ return plib::downcast<const logic_net_t &>(core_terminal_t::net());
}
inline netlist_sig_t logic_input_t::operator()() const noexcept
@@ -2516,7 +2517,7 @@ namespace netlist
if (plib::is_integral<T>::value)
if (plib::abs(valx - plib::trunc(valx)) > nlconst::magic(1e-6))
throw nl_exception(MF_INVALID_NUMBER_CONVERSION_1_2(device.name() + "." + name, p));
- m_param = static_cast<T>(valx);
+ m_param = plib::narrow_cast<T>(valx);
}
device.state().save(*this, m_param, this->name(), "m_param");
@@ -2599,7 +2600,7 @@ namespace netlist
state_container<C>::state_container(O &owner, const pstring &name,
const state_container<C>::value_type & value)
{
- owner.state().save(owner, *static_cast<C *>(this), owner.name(), name);
+ owner.state().save(owner, static_cast<C &>(*this), owner.name(), name);
for (std::size_t i=0; i < this->size(); i++)
(*this)[i] = value;
}
@@ -2610,7 +2611,7 @@ namespace netlist
std::size_t n, const state_container<C>::value_type & value)
: C(n, value)
{
- owner.state().save(owner, *static_cast<C *>(this), owner.name(), name);
+ owner.state().save(owner, static_cast<C &>(*this), owner.name(), name);
}
extern template struct state_var<std::uint8_t>;
diff --git a/src/lib/netlist/nl_config.h b/src/lib/netlist/nl_config.h
index 8740b5ddbd9..81e0c860aa9 100644
--- a/src/lib/netlist/nl_config.h
+++ b/src/lib/netlist/nl_config.h
@@ -200,6 +200,12 @@ namespace netlist
///
using MAX_QUEUE_SIZE = std::integral_constant<std::size_t, 512>; // NOLINT
+ using use_float_matrix = std::integral_constant<bool, NL_USE_FLOAT_MATRIX>;
+ using use_long_double_matrix = std::integral_constant<bool, NL_USE_LONG_DOUBLE_MATRIX>;
+ using use_float128_matrix = std::integral_constant<bool, NL_USE_FLOAT128>;
+
+ using use_mempool = std::integral_constant<bool, NL_USE_MEMPOOL>;
+
/// \brief Floating point types used
///
/// nl_fptype is the floating point type used throughout the
diff --git a/src/lib/netlist/nl_factory.cpp b/src/lib/netlist/nl_factory.cpp
index 8ef9799101a..519c4ea029c 100644
--- a/src/lib/netlist/nl_factory.cpp
+++ b/src/lib/netlist/nl_factory.cpp
@@ -76,7 +76,7 @@ namespace factory {
device_arena::unique_ptr<core_device_t> library_element_t::make_device(device_arena &pool, netlist_state_t &anetlist, const pstring &name)
{
- return pool.make_unique<NETLIB_NAME(wrapper)>(anetlist, name);
+ return plib::make_unique<NETLIB_NAME(wrapper)>(pool, anetlist, name);
}
diff --git a/src/lib/netlist/nl_factory.h b/src/lib/netlist/nl_factory.h
index 4c9a47cc749..5b3ee4bb3a6 100644
--- a/src/lib/netlist/nl_factory.h
+++ b/src/lib/netlist/nl_factory.h
@@ -129,7 +129,7 @@ namespace factory {
netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args, std::index_sequence<Is...>)
{
- return pool.make_unique<C>(anetlist, name, std::forward<Args>(std::get<Is>(args))...);
+ return plib::make_unique<C>(pool, anetlist, name, std::forward<Args>(std::get<Is>(args))...);
}
dev_uptr make_device(device_arena &pool,
@@ -149,7 +149,7 @@ namespace factory {
static uptr create(const pstring &name, properties &&props, Args&&... args)
{
- return host_arena::make_unique<device_element_t<C, Args...>>(name,
+ return plib::make_unique<device_element_t<C, Args...>, host_arena>(name,
std::move(props), std::forward<Args>(args)...);
}
private:
@@ -194,7 +194,7 @@ namespace factory {
template <typename T>
element_t::uptr constructor_t(const pstring &name, properties &&props)
{
- return host_arena::make_unique<device_element_t<T>>(name, std::move(props));
+ return plib::make_unique<device_element_t<T>, host_arena>(name, std::move(props));
}
// -----------------------------------------------------------------------------
diff --git a/src/lib/netlist/nl_parser.cpp b/src/lib/netlist/nl_parser.cpp
index 8e76538632a..e34683d5261 100644
--- a/src/lib/netlist/nl_parser.cpp
+++ b/src/lib/netlist/nl_parser.cpp
@@ -83,7 +83,7 @@ bool parser_t::parse(const pstring &nlname)
require_token(m_tok_paren_left);
token_t name = get_token();
require_token(m_tok_paren_right);
- if (name.str() == nlname || nlname == "")
+ if (name.str() == nlname || nlname.empty())
{
parse_netlist(name.str());
return true;
@@ -164,8 +164,8 @@ void parser_t::net_truthtable_start(const pstring &nlname)
netlist::tt_desc desc;
desc.name = name;
- desc.ni = static_cast<unsigned long>(ni);
- desc.no = static_cast<unsigned long>(no);
+ desc.ni = gsl::narrow<unsigned long>(ni);
+ desc.no = gsl::narrow<unsigned long>(no);
desc.family = "";
while (true)
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp
index 1b63b002492..b6c466be6e7 100644
--- a/src/lib/netlist/nl_setup.cpp
+++ b/src/lib/netlist/nl_setup.cpp
@@ -200,7 +200,7 @@ namespace netlist
|| plib::abs(value) > nlconst::magic(1e9))
register_param(param, plib::pfmt("{1:.9}").e(value));
else
- register_param(param, plib::pfmt("{1}")(static_cast<long>(value)));
+ register_param(param, plib::pfmt("{1}")(gsl::narrow<long>(value)));
}
void nlparse_t::register_param(const pstring &param, const pstring &value)
@@ -248,7 +248,7 @@ namespace netlist
void nlparse_t::register_lib_entry(const pstring &name, factory::properties &&props)
{
- m_factory.add(host_arena::make_unique<factory::library_element_t>(name, std::move(props)));
+ m_factory.add(plib::make_unique<factory::library_element_t, host_arena>(name, std::move(props)));
}
void nlparse_t::register_frontier(const pstring &attach, const pstring &r_IN,
@@ -508,7 +508,7 @@ pstring setup_t::resolve_alias(const pstring &name) const
ret = temp;
auto p = m_abstract.m_alias.find(ret);
temp = (p != m_abstract.m_alias.end() ? p->second : "");
- } while (temp != "" && temp != ret);
+ } while (!temp.empty() && temp != ret);
log().debug("{1}==>{2}\n", name, ret);
return ret;
@@ -532,7 +532,7 @@ pstring setup_t::de_alias(const pstring &alias) const
break;
}
}
- } while (temp != "" && temp != ret);
+ } while (!temp.empty() && temp != ret);
log().debug("{1}==>{2}\n", alias, ret);
return ret;
@@ -650,7 +650,7 @@ devices::nld_base_proxy *setup_t::get_d_a_proxy(const detail::core_terminal_t &o
{
nl_assert(out.is_logic());
- const auto &out_cast = static_cast<const logic_output_t &>(out);
+ const auto &out_cast = dynamic_cast<const logic_output_t &>(out);
auto iter_proxy(m_proxies.find(&out));
if (iter_proxy != m_proxies.end())
@@ -878,7 +878,7 @@ void setup_t::connect_terminals(detail::core_terminal_t &t1,detail::core_termina
{
log().debug("adding analog net ...\n");
// FIXME: Nets should have a unique name
- auto anet = nlstate().pool().make_owned<analog_net_t>(m_nlstate,"net." + t1.name());
+ auto anet = plib::make_owned<analog_net_t>(nlstate().pool(), m_nlstate,"net." + t1.name());
auto *anetp = anet.get();
m_nlstate.register_net(std::move(anet));
t1.set_net(anetp);
@@ -1043,7 +1043,7 @@ void setup_t::resolve_inputs()
detail::core_terminal_t *t1 = find_terminal(t1s);
detail::core_terminal_t *t2 = find_terminal(t2s);
if (connect(*t1, *t2))
- m_abstract.m_links.erase(m_abstract.m_links.begin() + static_cast<std::ptrdiff_t>(i));
+ m_abstract.m_links.erase(m_abstract.m_links.begin() + plib::narrow_cast<std::ptrdiff_t>(i));
else
i++;
}
@@ -1104,16 +1104,16 @@ void setup_t::resolve_inputs()
detail::core_terminal_t *term = i.second;
if (term->is_tristate_output())
{
- const auto *tri(static_cast<tristate_output_t *>(term));
+ const auto &tri(dynamic_cast<tristate_output_t &>(*term));
// check if we are connected to a proxy
- const auto iter_proxy(m_proxies.find(tri));
+ const auto iter_proxy(m_proxies.find(&tri));
- if (iter_proxy == m_proxies.end() && !tri->is_force_logic())
+ if (iter_proxy == m_proxies.end() && !tri.is_force_logic())
{
log().error(ME_TRISTATE_NO_PROXY_FOUND_2(term->name(), term->device().name()));
err = true;
}
- else if (iter_proxy != m_proxies.end() && tri->is_force_logic())
+ else if (iter_proxy != m_proxies.end() && tri.is_force_logic())
{
log().error(ME_TRISTATE_PROXY_FOUND_2(term->name(), term->device().name()));
err = true;
@@ -1256,7 +1256,7 @@ nl_fptype models_t::model_t::value(const pstring &entity) const
pstring tmp = value_str(entity);
nl_fptype factor = nlconst::one();
- auto p = std::next(tmp.begin(), static_cast<pstring::difference_type>(tmp.size() - 1));
+ auto p = std::next(tmp.begin(), plib::narrow_cast<pstring::difference_type>(tmp.size() - 1));
switch (*p)
{
case 'M': factor = nlconst::magic(1e6); break; // NOLINT
@@ -1390,7 +1390,7 @@ const logic_family_desc_t *setup_t::family_from_model(const pstring &model)
if (it != m_nlstate.family_cache().end())
return it->second.get();
- auto ret = host_arena::make_unique<logic_family_std_proxy_t>(ft);
+ auto ret = plib::make_unique<logic_family_std_proxy_t, host_arena>(ft);
ret->m_low_thresh_PCNT = modv.m_IVL();
ret->m_high_thresh_PCNT = modv.m_IVH();
@@ -1434,7 +1434,7 @@ void setup_t::prepare_to_run()
{
pstring envlog = plib::util::environment("NL_LOGS", "");
- if (envlog != "")
+ if (!envlog.empty())
{
std::vector<pstring> loglist(plib::psplit(envlog, ":"));
m_parser.register_dynamic_log_devices(loglist);
@@ -1444,7 +1444,7 @@ void setup_t::prepare_to_run()
for (auto & e : m_abstract.m_defparams)
{
- auto param(host_arena::make_unique<param_str_t>(nlstate(), e.first, e.second));
+ auto param(plib::make_unique<param_str_t, host_arena>(nlstate(), e.first, e.second));
register_param_t(*param);
m_defparam_lifetime.push_back(std::move(param));
}
@@ -1597,7 +1597,7 @@ source_string_t::stream_ptr source_string_t::stream(const pstring &name)
plib::unused_var(name);
auto ret(std::make_unique<std::istringstream>(m_str));
ret->imbue(std::locale::classic());
- return std::move(ret); // FIXME: for c++11 clang builds
+ return ret;
}
source_mem_t::stream_ptr source_mem_t::stream(const pstring &name)
@@ -1605,7 +1605,7 @@ source_mem_t::stream_ptr source_mem_t::stream(const pstring &name)
plib::unused_var(name);
auto ret(std::make_unique<std::istringstream>(m_str, std::ios_base::binary));
ret->imbue(std::locale::classic());
- return std::move(ret); // FIXME: for c++11 clang builds
+ return ret;
}
source_file_t::stream_ptr source_file_t::stream(const pstring &name)
diff --git a/src/lib/netlist/nl_setup.h b/src/lib/netlist/nl_setup.h
index 9e6714007f0..6d99f1ca183 100644
--- a/src/lib/netlist/nl_setup.h
+++ b/src/lib/netlist/nl_setup.h
@@ -307,10 +307,10 @@ namespace netlist
void register_param(const pstring &param, nl_fptype value);
template <typename T>
- std::enable_if_t<plib::is_floating_point<T>::value || plib::is_integral<T>::value>
+ std::enable_if_t<plib::is_arithmetic<T>::value>
register_param_val(const pstring &param, T value)
{
- register_param(param, static_cast<nl_fptype>(value));
+ register_param(param, plib::narrow_cast<nl_fptype>(value));
}
void register_lib_entry(const pstring &name, factory::properties &&props);
diff --git a/src/lib/netlist/nltypes.h b/src/lib/netlist/nltypes.h
index 8ee9da300b2..98bfbb49a92 100644
--- a/src/lib/netlist/nltypes.h
+++ b/src/lib/netlist/nltypes.h
@@ -78,9 +78,9 @@ namespace netlist
/// \note This is not the right location yet.
///
- using device_arena = std::conditional<NL_USE_MEMPOOL,
+ using device_arena = std::conditional_t<config::use_mempool::value,
plib::mempool_arena<plib::aligned_arena>,
- plib::aligned_arena>::type;
+ plib::aligned_arena>;
using host_arena = plib::aligned_arena;
/// \brief Interface definition for netlist callbacks into calling code
@@ -187,7 +187,7 @@ namespace netlist
}
};
- /// \brief: used define a constant in device description struct
+ /// \brief: used to define a constant in device description struct
///
/// See the 74125 implementation
///
diff --git a/src/lib/netlist/plib/gmres.h b/src/lib/netlist/plib/gmres.h
index c8ea1cad2f8..df0fc787c52 100644
--- a/src/lib/netlist/plib/gmres.h
+++ b/src/lib/netlist/plib/gmres.h
@@ -38,9 +38,9 @@ namespace plib
mat_precondition_ILU(std::size_t size, std::size_t ilu_scale = 4
, std::size_t bw = plib::pmatrix_cr_t<FT, SIZE>::FILL_INFINITY)
- : m_mat(static_cast<typename mat_type::index_type>(size))
- , m_LU(static_cast<typename mat_type::index_type>(size))
- , m_ILU_scale(static_cast<std::size_t>(ilu_scale))
+ : m_mat(narrow_cast<typename mat_type::index_type>(size))
+ , m_LU(narrow_cast<typename mat_type::index_type>(size))
+ , m_ILU_scale(narrow_cast<std::size_t>(ilu_scale))
, m_band_width(bw)
{
}
@@ -103,7 +103,7 @@ namespace plib
if (m_mat.col_idx[k] == i && k < m_mat.row_idx[j+1])
nzcol[i].push_back(k);
}
- nzcol[i].push_back(static_cast<std::size_t>(-1));
+ nzcol[i].push_back(narrow_cast<std::size_t>(-1));
}
}
@@ -139,7 +139,7 @@ namespace plib
const auto &nz = nzcol[i];
std::size_t j;
- while ((j = nz[nzcolp++])!=static_cast<std::size_t>(-1)) // NOLINT(bugprone-infinite-loop)
+ while ((j = nz[nzcolp++])!=narrow_cast<std::size_t>(-1)) // NOLINT(bugprone-infinite-loop)
{
v += m_mat.A[j] * m_mat.A[j];
}
@@ -209,14 +209,12 @@ namespace plib
// FIXME: hardcoding RESTART to 20 becomes an issue on very large
// systems.
- template <typename FT, int SIZE, int RESTART = 80>
+ template <typename FT, int SIZE, int RESTART = 16>
struct gmres_t
{
public:
using float_type = FT;
- // FIXME: dirty hack to make this compile
- static constexpr const std::size_t storage_N = plib::sizeabs<FT, SIZE>::ABS();
explicit gmres_t(std::size_t size)
: residual(size)
@@ -236,7 +234,7 @@ namespace plib
g1 = s * g0_last + c * g1;
}
- std::size_t size() const { return (SIZE<=0) ? m_size : static_cast<std::size_t>(SIZE); }
+ std::size_t size() const { return (SIZE<=0) ? m_size : narrow_cast<std::size_t>(SIZE); }
template <int k, typename OPS, typename VT>
bool do_k(OPS &ops, VT &x, std::size_t &itr_used, FT rho_delta, bool dummy)
@@ -360,7 +358,7 @@ namespace plib
rho_delta = accuracy * rho_to_accuracy;
}
else
- rho_delta = accuracy * plib::sqrt(static_cast<FT>(n));
+ rho_delta = accuracy * plib::sqrt(narrow_cast<FT>(n));
//
// Using
@@ -407,8 +405,6 @@ namespace plib
private:
- //typedef typename plib::mat_cr_t<FT, SIZE>::index_type mattype;
-
plib::parray<float_type, SIZE> residual;
plib::parray<float_type, SIZE> Ax;
@@ -423,8 +419,6 @@ namespace plib
std::size_t m_size;
bool m_use_more_precise_stop_condition;
-
-
};
@@ -454,7 +448,7 @@ namespace plib
{
}
- std::size_t size() const { return (SIZE<=0) ? m_size : static_cast<std::size_t>(SIZE); }
+ std::size_t size() const { return (SIZE<=0) ? m_size : narrow_cast<std::size_t>(SIZE); }
template <typename OPS, typename VT, typename VRHS>
std::size_t solve(OPS &ops, VT &x0, const VRHS & rhs, const std::size_t iter_max, float_type accuracy)
@@ -478,7 +472,7 @@ namespace plib
ops.calc_rhs(Ax, x);
vec_sub(size(), rhs, Ax, residual);
- FT rho_delta = accuracy * std::sqrt(static_cast<FT>(size()));
+ FT rho_delta = accuracy * std::sqrt(narrow_cast<FT>(size()));
rho_delta = 1e-9;
diff --git a/src/lib/netlist/plib/mat_cr.h b/src/lib/netlist/plib/mat_cr.h
index 061e186d37f..2da661d39d7 100644
--- a/src/lib/netlist/plib/mat_cr.h
+++ b/src/lib/netlist/plib/mat_cr.h
@@ -73,7 +73,7 @@ namespace plib
~pmatrix_cr_t() = default;
- constexpr std::size_t size() const noexcept { return (N>0) ? static_cast<std::size_t>(N) : m_size; }
+ constexpr std::size_t size() const noexcept { return (N>0) ? narrow_cast<std::size_t>(N) : m_size; }
void clear() noexcept
{
@@ -132,9 +132,9 @@ namespace plib
row_idx[k] = nz;
for (std::size_t j=0; j < size(); j++)
- if (f[k][j] <= max_fill && plib::abs(static_cast<int>(k)-static_cast<int>(j)) <= static_cast<int>(band_width))
+ if (f[k][j] <= max_fill && plib::abs(narrow_cast<int>(k)-narrow_cast<int>(j)) <= narrow_cast<int>(band_width))
{
- col_idx[nz] = static_cast<C>(j);
+ col_idx[nz] = narrow_cast<C>(j);
if (j == k)
diag[k] = nz;
nz++;
@@ -150,7 +150,7 @@ namespace plib
{
for (std::size_t j=k + 1; j < size(); j++)
if (f[j][k] < FILL_INFINITY)
- nzbd[k].push_back(static_cast<C>(j));
+ nzbd[k].push_back(narrow_cast<C>(j));
nzbd[k].push_back(0); // end of sequence
}
@@ -343,7 +343,7 @@ namespace plib
{
for (std::size_t i = 0; i < m_ge_par.size(); i++)
if (plib::container::contains( m_ge_par[i], k))
- return static_cast<int>(i);
+ return narrow_cast<int>(i);
return -1;
}
@@ -525,7 +525,7 @@ namespace plib
}
}
if (found)
- ilu_rows[p++] = static_cast<index_type>(i);
+ ilu_rows[p++] = narrow_cast<index_type>(i);
}
ilu_rows[p] = 0; // end of array
this->build_from_fill_mat(fill, ilup); //, m_band_width); // ILU(2)
diff --git a/src/lib/netlist/plib/palloc.h b/src/lib/netlist/plib/palloc.h
index 045461c8418..b3ebcbc52e5 100644
--- a/src/lib/netlist/plib/palloc.h
+++ b/src/lib/netlist/plib/palloc.h
@@ -9,6 +9,7 @@
///
#include "pconfig.h"
+#include "pgsl.h"
#include "pmath.h"
#include "pstring.h"
#include "ptypes.h"
@@ -27,27 +28,51 @@
namespace plib {
//============================================================
+ // aligned types
+ //============================================================
+
+#if 0
+#if (PUSE_ALIGNED_HINTS)
+ template <typename T, std::size_t A>
+ using aligned_type __attribute__((aligned(A))) = T;
+#else
+ template <typename T, std::size_t A>
+ using aligned_type = T;
+#endif
+
+ template <typename T, std::size_t A>
+ using aligned_pointer = aligned_type<T, A> *;
+
+ template <typename T, std::size_t A>
+ using const_aligned_pointer = const aligned_type<T, A> *;
+
+ template <typename T, std::size_t A>
+ using aligned_reference = aligned_type<T, A> &;
+
+ template <typename T, std::size_t A>
+ using const_aligned_reference = const aligned_type<T, A> &;
+#endif
+ //============================================================
// Standard arena_deleter
//============================================================
- template <typename P, typename T, typename A = void>
- struct arena_deleter
+ template <typename P, typename T, bool X>
+ struct arena_deleter_base
{
-
};
template <typename P, typename T>
- struct arena_deleter<P, T, std::enable_if_t<!P::has_static_deallocator>>
+ struct arena_deleter_base<P, T, false>
{
using arena_storage_type = P;
- constexpr arena_deleter(arena_storage_type *a = nullptr) noexcept
+ constexpr arena_deleter_base(arena_storage_type *a = nullptr) noexcept
: m_a(a) { }
template<typename U, typename =
std::enable_if_t<std::is_convertible< U*, T*>::value>>
- arena_deleter(const arena_deleter<P, U> &rhs) noexcept
+ arena_deleter_base(const arena_deleter_base<P, U, false> &rhs) noexcept
: m_a(rhs.m_a) { }
void operator()(T *p) noexcept
@@ -61,18 +86,18 @@ namespace plib {
};
template <typename P, typename T>
- struct arena_deleter<P, T, std::enable_if_t<P::has_static_deallocator>>
+ struct arena_deleter_base<P, T, true>
{
using arena_storage_type = P;
- constexpr arena_deleter(arena_storage_type *a = nullptr) noexcept
+ constexpr arena_deleter_base(arena_storage_type *a = nullptr) noexcept
{
plib::unused_var(a);
}
template<typename U, typename = typename
std::enable_if<std::is_convertible< U*, T*>::value>::type>
- arena_deleter(const arena_deleter<P, U> &rhs) noexcept
+ arena_deleter_base(const arena_deleter_base<P, U, true> &rhs) noexcept
{
plib::unused_var(rhs);
}
@@ -85,6 +110,13 @@ namespace plib {
}
};
+ template <typename P, typename T>
+ struct arena_deleter : public arena_deleter_base<P, T, P::has_static_deallocator>
+ {
+ using base_type = arena_deleter_base<P, T, P::has_static_deallocator>;
+ using base_type::base_type;
+ };
+
//============================================================
// owned_ptr: smart pointer with ownership information
//============================================================
@@ -209,7 +241,8 @@ namespace plib {
{
public:
using value_type = T;
- static constexpr const std::size_t align_size = ALIGN;
+ using pointer = T *;
+ static /*constexpr*/ const std::size_t align_size = ALIGN;
using arena_type = ARENA;
static_assert(align_size >= alignof(T) && (align_size % alignof(T)) == 0,
@@ -237,14 +270,14 @@ namespace plib {
using other = arena_allocator<ARENA, U, ALIGN>;
};
- T* allocate(std::size_t n)
+ pointer allocate(std::size_t n)
{
return reinterpret_cast<T *>(m_a.allocate(ALIGN, sizeof(T) * n)); //NOLINT
}
- void deallocate(T* p, std::size_t n) noexcept
+ void deallocate(pointer p, std::size_t n) noexcept
{
- m_a.deallocate(p, n);
+ m_a.deallocate(p, sizeof(T) * n);
}
template<typename U, typename... Args>
@@ -296,171 +329,88 @@ namespace plib {
// The previous code compiled with gcc and clang on all platforms and
// compilers apart from MSVC.
- template <typename P, bool HSD>
+ template <typename P, bool HSD, bool HSA>
+ struct arena_base;
+
+ template <typename P, bool HSD, bool HSA>
struct arena_core
{
static constexpr const bool has_static_deallocator = HSD;
+ static constexpr const bool has_static_allocator = HSA;
using size_type = std::size_t;
template <class T, size_type ALIGN = alignof(T)>
using allocator_type = arena_allocator<P, T, ALIGN>;
+ template <class T>
+ using deleter_type = arena_deleter<P, T>;
+
+ template <typename T>
+ using unique_ptr = std::unique_ptr<T, deleter_type<T>>;
+
+ template <typename T>
+ using owned_ptr = plib::owned_ptr<T, deleter_type<T>>;
+
static inline P &instance() noexcept
{
static P s_arena;
return s_arena;
}
- size_type cur_alloc() const noexcept { return m_stat_cur_alloc(); } // NOLINT(readability-convert-member-functions-to-static)
- size_type max_alloc() const noexcept { return m_stat_max_alloc(); } // NOLINT(readability-convert-member-functions-to-static)
- protected:
- static size_t &m_stat_cur_alloc() noexcept { static size_t val = 0; return val; }
- static size_t &m_stat_max_alloc() noexcept { static size_t val = 0; return val; }
-
- };
-
- template <typename P, bool HSD>
- struct arena_hsd : public arena_core<P, HSD>
- {
- template<typename T>
- inline void free(T *ptr) noexcept
- {
- ptr->~T();
- static_cast<P *>(this)->deallocate(ptr, sizeof(T));
- }
- };
+ friend struct arena_base<P, HSD, HSA>;
+ private:
+ size_t m_stat_cur_alloc = 0;
+ size_t m_stat_max_alloc = 0;
- template <typename P>
- struct arena_hsd<P, true> : public arena_core<P, true>
- {
- template<typename T>
- static inline void free(T *ptr) noexcept
- {
- ptr->~T();
- P::deallocate(ptr, sizeof(T));
- }
};
-
template <typename P, bool HSD, bool HSA>
- struct arena_base : public arena_hsd<P, HSD>
+ struct arena_base : public arena_core<P, HSD, HSA>
{
- template <class T>
- using deleter_type = arena_deleter<P, T>;
+ using base_type = arena_core<P, HSD, HSA>;
+ using size_type = typename base_type::size_type;
- template <typename T>
- using unique_ptr = std::unique_ptr<T, deleter_type<T>>;
-
- template <typename T>
- using owned_ptr = plib::owned_ptr<T, deleter_type<T>>;
+ static size_type cur_alloc() noexcept { return base_type::instance().m_stat_cur_alloc; }
+ static size_type max_alloc() noexcept { return base_type::instance().m_stat_max_alloc; }
- template<typename T, typename... Args>
- inline unique_ptr<T> make_unique(Args&&... args)
+ static inline void inc_alloc_stat(size_type size)
{
- auto *mem = static_cast<P *>(this)->allocate(alignof(T), sizeof(T));
- try
- {
- // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- auto *mema = new (mem) T(std::forward<Args>(args)...);
- return unique_ptr<T>(mema, deleter_type<T>());
- }
- catch (...)
- {
- static_cast<P *>(this)->deallocate(mem, sizeof(T));
- throw;
- }
+ auto &i = base_type::instance();
+ i.m_stat_cur_alloc += size;
+ if (i.m_stat_max_alloc <i.m_stat_cur_alloc)
+ i.m_stat_max_alloc = i.m_stat_cur_alloc;
}
-
- template<typename T, typename... Args>
- inline owned_ptr<T> make_owned(Args&&... args)
+ static inline void dec_alloc_stat(size_type size)
{
- auto *mem = static_cast<P *>(this)->allocate(alignof(T), sizeof(T));
- try
- {
- // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- auto *mema = new (mem) T(std::forward<Args>(args)...);
- return owned_ptr<T>(mema, true, deleter_type<T>());
- }
- catch (...)
- {
- static_cast<P *>(this)->deallocate(mem, sizeof(T));
- throw;
- }
+ base_type::instance().m_stat_cur_alloc -= size;
}
-
- template<typename T, typename... Args>
- inline T * alloc(Args&&... args)
- {
- auto *p = static_cast<P *>(this)->allocate(alignof(T), sizeof(T));
- // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- return new(p) T(std::forward<Args>(args)...);
- }
-
};
- template <typename P, bool HSD>
- struct arena_base<P, HSD, true> : public arena_hsd<P, HSD>
+ template <typename P>
+ struct arena_base<P, false, false> : public arena_core<P, false, false>
{
- template <class T>
- using deleter_type = arena_deleter<P, T>;
+ using size_type = typename arena_core<P, false, false>::size_type;
- template <typename T>
- using unique_ptr = std::unique_ptr<T, deleter_type<T>>;
-
- template <typename T>
- using owned_ptr = plib::owned_ptr<T, deleter_type<T>>;
+ size_type cur_alloc() const noexcept { return this->m_stat_cur_alloc; }
+ size_type max_alloc() const noexcept { return this->m_stat_max_alloc; }
- template<typename T, typename... Args>
- static inline unique_ptr<T> make_unique(Args&&... args)
+ inline void inc_alloc_stat(size_type size)
{
- auto *mem = P::allocate(alignof(T), sizeof(T));
- try
- {
- // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- auto *mema = new (mem) T(std::forward<Args>(args)...);
- return unique_ptr<T>(mema, deleter_type<T>());
- }
- catch (...)
- {
- P::deallocate(mem, sizeof(T));
- throw;
- }
+ this->m_stat_cur_alloc += size;
+ if (this->m_stat_max_alloc < this->m_stat_cur_alloc)
+ this->m_stat_max_alloc = this->m_stat_cur_alloc;
}
-
- template<typename T, typename... Args>
- static inline owned_ptr<T> make_owned(Args&&... args)
+ inline void dec_alloc_stat(size_type size)
{
- auto *mem = P::allocate(alignof(T), sizeof(T));
- try
- {
- // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- auto *mema = new (mem) T(std::forward<Args>(args)...);
- return owned_ptr<T>(mema, true, deleter_type<T>());
- }
- catch (...)
- {
- P::deallocate(mem, sizeof(T));
- throw;
- }
- }
-
- template<typename T, typename... Args>
- static inline T * alloc(Args&&... args)
- {
- auto *p = P::allocate(alignof(T), sizeof(T));
- // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- return new(p) T(std::forward<Args>(args)...);
+ this->m_stat_cur_alloc -= size;
}
};
-
struct aligned_arena : public arena_base<aligned_arena, true, true>
{
- static inline void *allocate( size_t alignment, size_t size )
+ static inline gsl::owner<void *> allocate( size_t alignment, size_t size )
{
- m_stat_cur_alloc() += size;
- if (m_stat_max_alloc() < m_stat_cur_alloc())
- m_stat_max_alloc() = m_stat_cur_alloc();
+ inc_alloc_stat(size);
#if (PUSE_ALIGNED_ALLOCATION)
#if defined(_WIN32) || defined(_WIN64) || defined(_MSC_VER)
@@ -472,7 +422,7 @@ namespace plib {
}
return p;
#else
- return aligned_alloc(alignment, size);
+ return static_cast<gsl::owner<void *>>(aligned_alloc(alignment, size));
#endif
#else
unused_var(alignment);
@@ -480,10 +430,10 @@ namespace plib {
#endif
}
- static inline void deallocate( void *ptr, size_t size ) noexcept
+ static inline void deallocate(gsl::owner<void *> ptr, size_t size ) noexcept
{
//unused_var(size);
- m_stat_cur_alloc() -= size;
+ dec_alloc_stat(size);
#if (PUSE_ALIGNED_ALLOCATION)
// NOLINTNEXTLINE(cppcoreguidelines-no-malloc)
::free(ptr);
@@ -504,14 +454,14 @@ namespace plib {
{
static inline void *allocate( size_t alignment, size_t size )
{
- m_stat_cur_alloc() += size;
+ inc_alloc_stat(size);
unused_var(alignment);
return ::operator new(size);
}
static inline void deallocate( void *ptr, size_t size ) noexcept
{
- m_stat_cur_alloc() -= size;
+ dec_alloc_stat(size);
::operator delete(ptr);
}
@@ -522,31 +472,116 @@ namespace plib {
}
};
- template <typename T, std::size_t ALIGN>
- constexpr T *assume_aligned_ptr(T *p) noexcept
+ namespace detail
{
- static_assert(ALIGN >= alignof(T), "Alignment must be greater or equal to alignof(T)");
- static_assert(is_pow2(ALIGN), "Alignment must be a power of 2");
+ template<typename T, typename ARENA, typename... Args>
+ static inline T * alloc(Args&&... args)
+ {
+ auto *mem = ARENA::allocate(alignof(T), sizeof(T));
+ try
+ {
+ // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
+ return new (mem) T(std::forward<Args>(args)...);
+ }
+ catch (...)
+ {
+ ARENA::deallocate(mem, sizeof(T));
+ throw;
+ }
+ }
-#if (PUSE_ALIGNED_HINTS)
- return reinterpret_cast<T *>(__builtin_assume_aligned(p, ALIGN));
-#else
- return p;
-#endif
+ template<typename ARENA, typename T>
+ static inline void free(T *ptr) noexcept
+ {
+ ptr->~T();
+ ARENA::deallocate(ptr, sizeof(T));
+ }
+
+ template<typename T, typename ARENA, typename... Args>
+ static inline T * alloc(ARENA &arena, Args&&... args)
+ {
+ auto *mem = arena.allocate(alignof(T), sizeof(T));
+ try
+ {
+ // NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
+ return new (mem) T(std::forward<Args>(args)...);
+ }
+ catch (...)
+ {
+ arena.deallocate(mem, sizeof(T));
+ throw;
+ }
+ }
+
+ template<typename ARENA, typename T>
+ static inline void free(ARENA &arena, T *ptr) noexcept
+ {
+ ptr->~T();
+ arena.deallocate(ptr, sizeof(T));
+ }
+ } // namespace detail
+
+
+
+ template<typename T, typename ARENA, typename... Args>
+ static inline
+ std::enable_if_t<ARENA::has_static_allocator, typename ARENA::template unique_ptr<T>>
+ make_unique(Args&&... args)
+ {
+ using up_type = typename ARENA::template unique_ptr<T>;
+ using deleter_type = typename ARENA::template deleter_type<T>;
+ auto *mem = detail::alloc<T, ARENA>(std::forward<Args>(args)...);
+ return up_type(mem, deleter_type());
}
- template <typename T, std::size_t ALIGN>
- constexpr const T *assume_aligned_ptr(const T *p) noexcept
+ template<typename T, typename ARENA, typename... Args>
+ static inline
+ std::enable_if_t<!ARENA::has_static_allocator, typename ARENA::template unique_ptr<T>>
+ make_unique(Args&&... args)
{
- static_assert(ALIGN >= alignof(T), "Alignment must be greater or equal to alignof(T)");
- static_assert(is_pow2(ALIGN), "Alignment must be a power of 2");
-#if (PUSE_ALIGNED_HINTS)
- return reinterpret_cast<const T *>(__builtin_assume_aligned(p, ALIGN));
-#else
- return p;
-#endif
+ return make_unique<T>(ARENA::instance(), std::forward<Args>(args)...);
}
+ template<typename T, typename ARENA, typename... Args>
+ static inline
+ typename ARENA::template unique_ptr<T>
+ make_unique(ARENA &arena, Args&&... args)
+ {
+ using up_type = typename ARENA::template unique_ptr<T>;
+ using deleter_type = typename ARENA::template deleter_type<T>;
+ auto *mem = detail::alloc<T>(arena, std::forward<Args>(args)...);
+ return up_type(mem, deleter_type(&arena));
+ }
+
+ template<typename T, typename ARENA, typename... Args>
+ static inline
+ std::enable_if_t<ARENA::has_static_allocator, typename ARENA::template owned_ptr<T>>
+ make_owned(Args&&... args)
+ {
+ using op_type = typename ARENA::template owned_ptr<T>;
+ using deleter_type = typename ARENA::template deleter_type<T>;
+ auto *mem = detail::alloc<T, ARENA>(std::forward<Args>(args)...);
+ return op_type(mem, true, deleter_type());
+ }
+
+ template<typename T, typename ARENA, typename... Args>
+ static inline
+ std::enable_if_t<!ARENA::has_static_allocator, typename ARENA::template owned_ptr<T>>
+ make_owned(Args&&... args)
+ {
+ return make_owned<T>(ARENA::instance(), std::forward<Args>(args)...);
+ }
+
+ template<typename T, typename ARENA, typename... Args>
+ static inline typename ARENA::template owned_ptr<T> make_owned(ARENA &arena, Args&&... args)
+ {
+ using op_type = typename ARENA::template owned_ptr<T>;
+ using deleter_type = typename ARENA::template deleter_type<T>;
+ auto *mem = detail::alloc<T>(arena, std::forward<Args>(args)...);
+ return op_type(mem, true, deleter_type(&arena));
+ }
+
+
template <class T, std::size_t ALIGN = alignof(T)>
using aligned_allocator = aligned_arena::allocator_type<T, ALIGN>;
@@ -557,56 +592,71 @@ namespace plib {
PDEFINE_HAS_MEMBER(has_align, align_size);
- template <typename T, typename X = void>
- struct align_traits
+ template <typename T, bool X>
+ struct align_traits_base
{
+ static_assert(!has_align<T>::value, "no align");
static constexpr const std::size_t align_size = alignof(std::max_align_t);
static constexpr const std::size_t value_size = sizeof(typename T::value_type);
static constexpr const std::size_t stride_size = lcm(align_size, value_size) / value_size;
};
template <typename T>
- struct align_traits<T, std::enable_if_t<has_align<T>::value, void>>
+ struct align_traits_base<T, true>
{
+ static_assert(has_align<T>::value, "no align");
static constexpr const std::size_t align_size = T::align_size;
static constexpr const std::size_t value_size = sizeof(typename T::value_type);
static constexpr const std::size_t stride_size = lcm(align_size, value_size) / value_size;
};
- //============================================================
- // Aligned vector
- //============================================================
+ template <typename T>
+ struct align_traits : public align_traits_base<T, has_align<T>::value>
+ {};
- // FIXME: needs a separate file
- template <typename T, std::size_t ALIGN = PALIGN_VECTOROPT, typename A = aligned_allocator<T, ALIGN>>
- class aligned_vector : public std::vector<T, A>
+ template <typename BASEARENA = aligned_arena, std::size_t PAGESIZE = 1024>
+ class paged_arena : public arena_base<paged_arena<BASEARENA, PAGESIZE>, true, true>
{
public:
- using base = std::vector<T, A>;
-
- using reference = typename base::reference;
- using const_reference = typename base::const_reference;
- using pointer = typename base::pointer;
- using const_pointer = typename base::const_pointer;
- using size_type = typename base::size_type;
+ paged_arena()
+ {
+ }
- using base::base;
+ PCOPYASSIGNMOVE(paged_arena, delete)
- base & as_base() noexcept { return *this; }
- const base & as_base() const noexcept { return *this; }
+ ~paged_arena() = default;
- constexpr reference operator[](size_type i) noexcept
+ static void *allocate(size_t align, size_t size)
{
- return assume_aligned_ptr<T, ALIGN>(&(base::operator[](0)))[i];
+ plib::unused_var(align);
+ //size = ((size + PAGESIZE - 1) / PAGESIZE) * PAGESIZE;
+ return arena().allocate(PAGESIZE, size);
}
- constexpr const_reference operator[](size_type i) const noexcept
+ static void deallocate(void *ptr, size_t size) noexcept
{
- return assume_aligned_ptr<T, ALIGN>(&(base::operator[](0)))[i];
+ //size = ((size + PAGESIZE - 1) / PAGESIZE) * PAGESIZE;
+ arena().deallocate(ptr, size);
}
- pointer data() noexcept { return assume_aligned_ptr<T, ALIGN>(base::data()); }
- const_pointer data() const noexcept { return assume_aligned_ptr<T, ALIGN>(base::data()); }
+ bool operator ==(const paged_arena &rhs) const noexcept { return this == &rhs; }
+
+ static BASEARENA &arena() noexcept { static BASEARENA m_arena; return m_arena; }
+ private:
+ };
+
+ //============================================================
+ // Aligned vector
+ //============================================================
+
+ // FIXME: needs a separate file
+ template <typename T, std::size_t ALIGN = PALIGN_VECTOROPT, typename A = paged_arena<>>//aligned_arena>
+ class aligned_vector : public std::vector<T, typename A::template allocator_type<T, ALIGN>>
+ {
+ public:
+ using base = std::vector<T, typename A::template allocator_type<T, ALIGN>>;
+
+ using base::base;
};
diff --git a/src/lib/netlist/plib/parray.h b/src/lib/netlist/plib/parray.h
index 0d89a56195c..2c2b0fc4270 100644
--- a/src/lib/netlist/plib/parray.h
+++ b/src/lib/netlist/plib/parray.h
@@ -21,19 +21,20 @@
namespace plib {
- template <typename FT, int SIZE>
+ template <typename FT, int SIZE, typename ARENA>
struct sizeabs
{
- static constexpr std::size_t ABS() noexcept { return (SIZE < 0) ? static_cast<std::size_t>(0 - SIZE) : static_cast<std::size_t>(SIZE); }
+ static constexpr std::size_t ABS() noexcept { return (SIZE < 0) ? narrow_cast<std::size_t>(0 - SIZE) : narrow_cast<std::size_t>(SIZE); }
using container = typename std::array<FT, ABS()> ;
};
- template <typename FT>
- struct sizeabs<FT, 0>
+ template <typename FT, typename ARENA>
+ struct sizeabs<FT, 0, ARENA>
{
static constexpr std::size_t ABS() noexcept { return 0; }
+ using allocator_type = typename ARENA::template allocator_type<FT, PALIGN_VECTOROPT>;
//using container = typename std::vector<FT, arena_allocator<mempool, FT, 64>>;
- using container = typename std::vector<FT, aligned_allocator<FT, PALIGN_VECTOROPT>>;
+ using container = typename std::vector<FT, allocator_type>;
};
/// \brief Array with preallocated or dynamic allocation.
@@ -51,17 +52,20 @@ namespace plib {
/// I consider > 10% performance difference to be a use case.
///
- template <typename FT, int SIZE>
+ template <typename FT, int SIZE, typename ARENA = aligned_arena>
struct parray
{
public:
- static constexpr std::size_t SIZEABS() noexcept { return sizeabs<FT, SIZE>::ABS(); }
+ static constexpr std::size_t SIZEABS() noexcept { return sizeabs<FT, SIZE, ARENA>::ABS(); }
- using base_type = typename sizeabs<FT, SIZE>::container;
+ using base_type = typename sizeabs<FT, SIZE, ARENA>::container;
using size_type = typename base_type::size_type;
- using reference = typename base_type::reference;
- using const_reference = typename base_type::const_reference;
- using value_type = typename base_type::value_type;
+ using value_type = FT;
+ using reference = FT &;
+ using const_reference = const FT &;
+
+ using pointer = FT *;
+ using const_pointer = const FT *;
template <int X = SIZE >
parray(size_type size, std::enable_if_t<(X==0), int> = 0)
@@ -70,7 +74,7 @@ namespace plib {
}
template <int X = SIZE >
- parray(size_type size, FT val, std::enable_if_t<(X==0), int> = 0)
+ parray(size_type size, const FT &val, std::enable_if_t<(X==0), int> = 0)
: m_a(size, val), m_size(size)
{
}
@@ -85,7 +89,7 @@ namespace plib {
}
template <int X = SIZE >
- parray(size_type size, FT val, std::enable_if_t<(X != 0), int> = 0) noexcept(false)
+ parray(size_type size, const FT &val, std::enable_if_t<(X != 0), int> = 0) noexcept(false)
: m_size(size)
{
if ((SIZE < 0 && size > SIZEABS())
@@ -131,20 +135,19 @@ namespace plib {
constexpr reference operator[](size_type i) noexcept
{
- return assume_aligned_ptr<FT, PALIGN_VECTOROPT>(&m_a[0])[i];
+ return data()[i];
}
constexpr const_reference operator[](size_type i) const noexcept
{
- return assume_aligned_ptr<FT, PALIGN_VECTOROPT>(&m_a[0])[i];
+ return data()[i];
}
- FT * data() noexcept { return assume_aligned_ptr<FT, PALIGN_VECTOROPT>(m_a.data()); }
- const FT * data() const noexcept { return assume_aligned_ptr<FT, PALIGN_VECTOROPT>(m_a.data()); }
+ pointer data() noexcept { return m_a.data(); }
+ const_pointer data() const noexcept { return m_a.data(); }
private:
PALIGNAS_VECTOROPT()
base_type m_a;
- PALIGNAS_CACHELINE()
size_type m_size;
};
diff --git a/src/lib/netlist/plib/pchrono.h b/src/lib/netlist/plib/pchrono.h
index feee8a30c3e..4a5e77d9ca2 100644
--- a/src/lib/netlist/plib/pchrono.h
+++ b/src/lib/netlist/plib/pchrono.h
@@ -9,6 +9,7 @@
///
#include "pconfig.h"
+#include "pgsl.h"
#include "ptypes.h"
#include <chrono>
@@ -212,8 +213,8 @@ namespace plib {
ctype count() const noexcept { return m_count; }
template <typename S>
- S as_seconds() const noexcept { return static_cast<S>(total())
- / static_cast<S>(T::per_second()); }
+ S as_seconds() const noexcept { return narrow_cast<S>(total())
+ / narrow_cast<S>(T::per_second()); }
guard_t guard() noexcept { return guard_t(*this); }
private:
@@ -244,7 +245,7 @@ namespace plib {
constexpr type total() const noexcept { return 0; }
constexpr ctype count() const noexcept { return 0; }
template <typename S>
- S as_seconds() const noexcept { return static_cast<S>(0.0); }
+ S as_seconds() const noexcept { return narrow_cast<S>(0); }
constexpr static bool enabled = false;
guard_t guard() { return guard_t(); }
};
diff --git a/src/lib/netlist/plib/pconfig.h b/src/lib/netlist/plib/pconfig.h
index b719139d73f..984ed944acb 100644
--- a/src/lib/netlist/plib/pconfig.h
+++ b/src/lib/netlist/plib/pconfig.h
@@ -72,10 +72,11 @@
#define PALIGNAS_CACHELINE() PALIGNAS(PALIGN_CACHELINE)
#define PALIGNAS_VECTOROPT() PALIGNAS(PALIGN_VECTOROPT)
-// FIXME: Breaks mame build on windows due to -Wattribute
+// FIXME: Breaks mame build on windows mingw due to -Wattribute
// also triggers -Wattribute on ARM
+// This is fixed on mingw version 10
// FIXME: no error on cross-compile - need further checks
-#if defined(__GNUC__) && (defined(_WIN32) || defined(__arm__) || defined(__ARMEL__))
+#if defined(__GNUC__) && ((defined(_WIN32) && __GNUC__ < 10) || defined(__arm__) || defined(__ARMEL__))
#define PALIGNAS(x)
#else
#define PALIGNAS(x) alignas(x)
@@ -83,7 +84,7 @@
/// \brief nvcc build flag.
///
-/// Set this to 1 if you are building with NVIDIA nvcc
+/// Set this to 101 if you are building with NVIDIA nvcc 10.1
///
#ifndef NVCCBUILD
#define NVCCBUILD (0)
@@ -166,5 +167,15 @@ typedef __float128 FLOAT128;
#endif
#endif
+#if (PUSE_FLOAT128)
+#if defined(__has_include)
+#if !__has_include(<quadmath.h>)
+//#pragma message "disabling PUSE_FLOAT128 due to missing quadmath.h"
+#undef PUSE_FLOAT128
+#define PUSE_FLOAT128 (0)
+#endif
+#endif
+#endif
+
#endif // PCONFIG_H_
diff --git a/src/lib/netlist/plib/pdynlib.h b/src/lib/netlist/plib/pdynlib.h
index ffb3ae03b99..6fe91953529 100644
--- a/src/lib/netlist/plib/pdynlib.h
+++ b/src/lib/netlist/plib/pdynlib.h
@@ -31,6 +31,7 @@ namespace plib {
template <typename T>
T getsym(const pstring &name) const noexcept
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return reinterpret_cast<T>(getsym_p(name));
}
diff --git a/src/lib/netlist/plib/penum.h b/src/lib/netlist/plib/penum.h
index ff15c9252c0..f965411d546 100644
--- a/src/lib/netlist/plib/penum.h
+++ b/src/lib/netlist/plib/penum.h
@@ -24,7 +24,7 @@ namespace plib
// Implementation in putil.cpp.
// Putting the code here leads to a performance decrease.
static int from_string_int(const pstring &str, const pstring &x);
- static pstring nthstr(int n, const pstring &str);
+ static pstring nthstr(std::size_t n, const pstring &str);
};
} // namespace plib
@@ -34,7 +34,6 @@ namespace plib
enum E { __VA_ARGS__ }; \
constexpr ename (const E &v) : m_v(v) { } \
template <typename T> explicit constexpr ename(const T &val) { m_v = static_cast<E>(val); } \
- template <typename T> explicit constexpr ename(T && val) { m_v = static_cast<E>(val); } \
bool set_from_string (const pstring &s) { \
int f = from_string_int(strings(), s); \
if (f>=0) { m_v = static_cast<E>(f); return true; } \
@@ -44,7 +43,7 @@ namespace plib
constexpr bool operator==(const ename &rhs) const noexcept {return m_v == rhs.m_v;} \
constexpr bool operator==(const E &rhs) const noexcept {return m_v == rhs;} \
pstring name() const { \
- return nthstr(static_cast<int>(m_v), strings()); \
+ return nthstr(m_v, strings()); \
} \
private: E m_v; \
static pstring strings() {\
diff --git a/src/lib/netlist/plib/pexception.cpp b/src/lib/netlist/plib/pexception.cpp
index d332f989321..56ef7f93efb 100644
--- a/src/lib/netlist/plib/pexception.cpp
+++ b/src/lib/netlist/plib/pexception.cpp
@@ -5,8 +5,8 @@
#include "pfmtlog.h"
#include <cfenv>
-#include <iostream>
#include <cfloat>
+#include <iostream>
#if (defined(__x86_64__) || defined(__i386__)) && defined(__linux__)
#define HAS_FEENABLE_EXCEPT (1)
diff --git a/src/lib/netlist/plib/pfmtlog.cpp b/src/lib/netlist/plib/pfmtlog.cpp
index d776e0133da..ddb9b5dd2e5 100644
--- a/src/lib/netlist/plib/pfmtlog.cpp
+++ b/src/lib/netlist/plib/pfmtlog.cpp
@@ -92,7 +92,7 @@ pfmt::rtype pfmt::setfmt(std::stringstream &strm, char32_t cfmt_spec)
// a.b format here ...
char32_t pend(0);
int width(0);
- if (fmt != "" && pstring("duxofge").find(static_cast<pstring::value_type>(cfmt_spec)) != pstring::npos)
+ if (!fmt.empty() && pstring("duxofge").find(static_cast<pstring::value_type>(cfmt_spec)) != pstring::npos)
{
pend = static_cast<char32_t>(fmt.at(fmt.size() - 1));
if (pstring("duxofge").find(static_cast<pstring::value_type>(pend)) == pstring::npos)
@@ -113,7 +113,7 @@ pfmt::rtype pfmt::setfmt(std::stringstream &strm, char32_t cfmt_spec)
strm << std::setprecision(pstonum_ne_def<int>(fmt.substr(pdot + 1), 6));
width = pstonum_ne_def<int>(left(fmt,pdot), 0);
}
- else if (fmt != "")
+ else if (!fmt.empty())
width = pstonum_ne_def<int>(fmt, 0);
auto aw(plib::abs(width));
diff --git a/src/lib/netlist/plib/pfmtlog.h b/src/lib/netlist/plib/pfmtlog.h
index 793c59bf954..ac2a5e9a747 100644
--- a/src/lib/netlist/plib/pfmtlog.h
+++ b/src/lib/netlist/plib/pfmtlog.h
@@ -55,7 +55,7 @@ namespace plib {
static char32_t fmt_spec() { return 'f'; }
static inline void streamify(std::ostream &s, const FLOAT128 &v)
{
- s << static_cast<long double>(v);
+ s << narrow_cast<long double>(v);
}
};
#endif
@@ -322,7 +322,7 @@ namespace plib {
if (build_enabled && enabled && m_enabled)
{
pfmt pf(fmt);
- static_cast<T *>(this)->vdowrite(xlog(pf, std::forward<Args>(args)...));
+ dynamic_cast<T &>(*this).vdowrite(xlog(pf, std::forward<Args>(args)...));
}
}
@@ -332,7 +332,7 @@ namespace plib {
if (build_enabled && m_enabled)
{
pfmt pf(fmt);
- static_cast<const T *>(this)->vdowrite(xlog(pf, std::forward<Args>(args)...));
+ static_cast<const T &>(*this).vdowrite(xlog(pf, std::forward<Args>(args)...));
}
}
diff --git a/src/lib/netlist/plib/pfunction.cpp b/src/lib/netlist/plib/pfunction.cpp
index c5e011dfbb9..3a360c7a33f 100644
--- a/src/lib/netlist/plib/pfunction.cpp
+++ b/src/lib/netlist/plib/pfunction.cpp
@@ -25,26 +25,26 @@ namespace plib {
{
static std::map<pstring, F> units_si_stat =
{
- //{ "Y", static_cast<F>(1e24) }, // NOLINT: Yotta
- //{ "Z", static_cast<F>(1e21) }, // NOLINT: Zetta
- //{ "E", static_cast<F>(1e18) }, // NOLINT: Exa
- { "P", static_cast<F>(1e15) }, // NOLINT: Peta
- { "T", static_cast<F>(1e12) }, // NOLINT: Tera
- { "G", static_cast<F>( 1e9) }, // NOLINT: Giga
- { "M", static_cast<F>( 1e6) }, // NOLINT: Mega
- { "k", static_cast<F>( 1e3) }, // NOLINT: Kilo
- { "h", static_cast<F>( 1e2) }, // NOLINT: Hekto
- //{ "da", static_cast<F>(1e1) }, // NOLINT: Deka
- { "d", static_cast<F>(1e-1) }, // NOLINT: Dezi
- { "c", static_cast<F>(1e-2) }, // NOLINT: Zenti
- { "m", static_cast<F>(1e-3) }, // NOLINT: Milli
- { "μ", static_cast<F>(1e-6) }, // NOLINT: Mikro
- { "n", static_cast<F>(1e-9) }, // NOLINT: Nano
- { "p", static_cast<F>(1e-12) }, // NOLINT: Piko
- { "f", static_cast<F>(1e-15) }, // NOLINT: Femto
- { "a", static_cast<F>(1e-18) }, // NOLINT: Atto
- { "z", static_cast<F>(1e-21) }, // NOLINT: Zepto
- { "y", static_cast<F>(1e-24) }, // NOLINT: Yokto
+ //{ "Y", narrow_cast<F>(1e24) }, // NOLINT: Yotta
+ //{ "Z", narrow_cast<F>(1e21) }, // NOLINT: Zetta
+ //{ "E", narrow_cast<F>(1e18) }, // NOLINT: Exa
+ { "P", narrow_cast<F>(1e15) }, // NOLINT: Peta
+ { "T", narrow_cast<F>(1e12) }, // NOLINT: Tera
+ { "G", narrow_cast<F>( 1e9) }, // NOLINT: Giga
+ { "M", narrow_cast<F>( 1e6) }, // NOLINT: Mega
+ { "k", narrow_cast<F>( 1e3) }, // NOLINT: Kilo
+ { "h", narrow_cast<F>( 1e2) }, // NOLINT: Hekto
+ //{ "da", narrow_cast<F>(1e1) }, // NOLINT: Deka
+ { "d", narrow_cast<F>(1e-1) }, // NOLINT: Dezi
+ { "c", narrow_cast<F>(1e-2) }, // NOLINT: Zenti
+ { "m", narrow_cast<F>(1e-3) }, // NOLINT: Milli
+ { "μ", narrow_cast<F>(1e-6) }, // NOLINT: Mikro
+ { "n", narrow_cast<F>(1e-9) }, // NOLINT: Nano
+ { "p", narrow_cast<F>(1e-12) }, // NOLINT: Piko
+ { "f", narrow_cast<F>(1e-15) }, // NOLINT: Femto
+ { "a", narrow_cast<F>(1e-18) }, // NOLINT: Atto
+ { "z", narrow_cast<F>(1e-21) }, // NOLINT: Zepto
+ { "y", narrow_cast<F>(1e-24) }, // NOLINT: Yokto
};
return units_si_stat;
}
@@ -105,7 +105,7 @@ namespace plib {
if (inputs[i] == cmd)
{
rc.m_cmd = PUSH_INPUT;
- rc.m_param = static_cast<NT>(i);
+ rc.m_param = narrow_cast<NT>(i);
stk += 1;
break;
}
@@ -128,7 +128,7 @@ namespace plib {
}
if (stk < 1)
throw pexception(plib::pfmt("pfunction: stack underflow on token <{1}> in <{2}>")(cmd)(expr));
- if (stk >= static_cast<int>(MAX_STACK))
+ if (stk >= narrow_cast<int>(MAX_STACK))
throw pexception(plib::pfmt("pfunction: stack overflow on token <{1}> in <{2}>")(cmd)(expr));
m_precompiled.push_back(rc);
}
@@ -286,7 +286,7 @@ namespace plib {
lfsr >>= 1;
if (lsb)
lfsr ^= 0xB400U; // NOLINT: taps 15, 13, 12, 10
- return static_cast<NT>(lfsr) / static_cast<NT>(0xffffU); // NOLINT
+ return narrow_cast<NT>(lfsr) / narrow_cast<NT>(0xffffU); // NOLINT
}
template <typename NT>
@@ -297,7 +297,7 @@ namespace plib {
lfsr >>= 1;
if (lsb)
lfsr ^= 0xB400U; // NOLINT: taps 15, 13, 12, 10
- return static_cast<NT>(lfsr);
+ return narrow_cast<NT>(lfsr);
}
#define ST1 stack[ptr]
@@ -333,7 +333,7 @@ namespace plib {
stack[ptr++] = lfsr_random<value_type>(m_lfsr);
break;
case PUSH_INPUT:
- stack[ptr++] = values[static_cast<unsigned>(rc.m_param)];
+ stack[ptr++] = values[narrow_cast<unsigned>(rc.m_param)];
break;
case PUSH_CONST:
stack[ptr++] = rc.m_param;
diff --git a/src/lib/netlist/plib/pgsl.h b/src/lib/netlist/plib/pgsl.h
new file mode 100644
index 00000000000..ab7798071a5
--- /dev/null
+++ b/src/lib/netlist/plib/pgsl.h
@@ -0,0 +1,105 @@
+// license:GPL-2.0+
+// copyright-holders:Couriersud
+
+#ifndef PGSL_H_
+#define PGSL_H_
+
+///
+/// \file pgsl.h
+///
+/// This core guidelines gsl implementation currently provides only enough
+/// functionality to syntactically support a very limited number of the
+/// gsl specification.
+///
+/// Going forward this approach may be extended.
+///
+
+#include "pconfig.h"
+#include "pexception.h"
+#include "ptypes.h"
+
+#include <exception>
+#include <type_traits>
+#include <utility>
+
+#if defined(__has_builtin) // clang and gcc 10
+ #if __has_builtin(__builtin_unreachable)
+ #define gsl_Expects(e) ((e) ? static_cast<void>(0) : __builtin_unreachable())
+ #endif
+#elif defined(__GNUC__) && !(defined( __CUDACC__ ) && defined( __CUDA_ARCH__ ))
+ #define gsl_Expects(e) ((e) ? static_cast<void>(0) : __builtin_unreachable())
+#elif defined(_MSC_VER)
+ #define gsl_Expects(e) __assume(e)
+#else
+ #define gsl_Expects(e) ((e) ? static_cast<void>(0) : static_cast<void>(0))
+#endif
+
+#undef gsl_Expects
+#define gsl_Expects(e) do {} while (0)
+#define gsl_Ensures(e) gsl_Expects(e)
+
+namespace plib {
+ namespace pgsl {
+
+ struct narrowing_error : public std::exception {};
+
+ template <typename T>
+ using owner = T;
+
+ template <typename T>
+ using not_null = T;
+
+ /// \brief perform a narrowing cast without checks
+ ///
+ template <typename T, typename O>
+ inline constexpr T narrow_cast(O && v) noexcept
+ {
+ static_assert(plib::is_arithmetic<T>::value && std::is_convertible<std::remove_reference_t<O>, T>::value, "narrow cast expects conversion between arithmetic types");
+ return static_cast<T>(std::forward<O>(v));
+ }
+
+ /// \brief perform a narrowing cast terminating if loss of precision
+ ///
+ /// The c++ core guidelines require the narrow function to raise an error
+ /// This will make narrow noexcept(false). This has shown to have a
+ /// measurable impact on performance and thus we deviate we deviate from
+ /// the standard here.
+ ///
+ template <typename T, typename O>
+ inline T narrow(O && v) noexcept
+ {
+ static_assert(plib::is_arithmetic<T>::value && std::is_convertible<std::remove_reference_t<O>, T>::value, "narrow cast expects conversion between arithmetic types");
+
+ const auto val = static_cast<T>(std::forward<O>(v));
+ if( v == static_cast<std::remove_reference_t<O>>(val))
+ {
+ return val;
+ }
+
+ plib::terminate("narrowing_error");
+ // throw narrowing_error();
+ }
+
+ } // namespace pgsl
+
+ /// \brief downcast from base tpye to derived type
+ ///
+ /// The cpp core guidelines require a very careful use of static cast
+ /// for downcast operations. This template is used to identify these uses
+ /// and later for debug builds use dynamic_cast.
+ ///
+ template <typename D, typename B>
+ inline constexpr D downcast(B && b) noexcept
+ {
+ static_assert(std::is_pointer<D>::value || std::is_reference<D>::value, "downcast only supports pointers or reference for derived");
+ static_assert(std::is_pointer<B>::value || std::is_reference<B>::value, "downcast only supports pointers or reference for base");
+ return static_cast<D>(std::forward<B>(b));
+ }
+
+ using pgsl::narrow_cast;
+} // namespace plib
+
+//FIXME: This is the place to use more complete implementations
+namespace gsl = plib::pgsl;
+
+#endif // PGSL_H_
diff --git a/src/lib/netlist/plib/plists.h b/src/lib/netlist/plib/plists.h
index f5151b95011..4e3ddace57e 100644
--- a/src/lib/netlist/plib/plists.h
+++ b/src/lib/netlist/plib/plists.h
@@ -62,11 +62,13 @@ namespace plib {
reference operator[](size_type index) noexcept
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return reinterpret_cast<reference>(m_buf[index]);
}
constexpr const_reference operator[](size_type index) const noexcept
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return reinterpret_cast<const_reference>(m_buf[index]);
}
@@ -78,13 +80,19 @@ namespace plib {
new (&m_buf[index]) C(std::forward<Args>(args)...);
}
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
iterator begin() const noexcept { return reinterpret_cast<iterator>(&m_buf[0]); }
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
iterator end() const noexcept { return reinterpret_cast<iterator>(&m_buf[N]); }
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
iterator begin() noexcept { return reinterpret_cast<iterator>(&m_buf[0]); }
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
iterator end() noexcept { return reinterpret_cast<iterator>(&m_buf[N]); }
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
const_iterator cbegin() const noexcept { return reinterpret_cast<const_iterator>(&m_buf[0]); }
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
const_iterator cend() const noexcept { return reinterpret_cast<const_iterator>(&m_buf[N]); }
protected:
diff --git a/src/lib/netlist/plib/pmain.cpp b/src/lib/netlist/plib/pmain.cpp
index 1e4791adea8..fb428a179fa 100644
--- a/src/lib/netlist/plib/pmain.cpp
+++ b/src/lib/netlist/plib/pmain.cpp
@@ -29,8 +29,8 @@ namespace plib {
int app::main_utfX(int argc, char *argv[])
{
std::vector<putf8string> arg;
- for (std::size_t i = 0; i < static_cast<std::size_t>(argc); i++)
- arg.push_back(putf8string(argv[i]));
+ for (std::size_t i = 0; i < narrow_cast<std::size_t>(argc); i++)
+ arg.emplace_back(putf8string(argv[i]));
return main_utfX(arg);
}
@@ -38,8 +38,8 @@ namespace plib {
int app::main_utfX(int argc, wchar_t *argv[])
{
std::vector<putf8string> arg;
- for (std::size_t i = 0; i < static_cast<std::size_t>(argc); i++)
- arg.push_back(putf8string(pwstring(argv[i])));
+ for (std::size_t i = 0; i < narrow_cast<std::size_t>(argc); i++)
+ arg.emplace_back(putf8string(pwstring(argv[i])));
return main_utfX(arg);
}
diff --git a/src/lib/netlist/plib/pmath.h b/src/lib/netlist/plib/pmath.h
index 652cff059d2..e70c8f7fd55 100644
--- a/src/lib/netlist/plib/pmath.h
+++ b/src/lib/netlist/plib/pmath.h
@@ -15,9 +15,7 @@
#include <cmath>
#include <type_traits>
-#if (PUSE_FLOAT128)
-#include <quadmath.h>
-#endif
+// quadmath.h included by ptypes.h
namespace plib
{
diff --git a/src/lib/netlist/plib/pmatrix2d.h b/src/lib/netlist/plib/pmatrix2d.h
index b48c531a921..b9a2ebee116 100644..100755
--- a/src/lib/netlist/plib/pmatrix2d.h
+++ b/src/lib/netlist/plib/pmatrix2d.h
@@ -17,51 +17,182 @@
namespace plib
{
- template<typename T, typename A = aligned_allocator<T>>
+ template<typename T, typename A = aligned_arena>
class pmatrix2d
{
public:
using size_type = std::size_t;
+ using arena_type = A;
+ using allocator_type = typename A::template allocator_type<T>;
+
+ static constexpr const size_type align_size = align_traits<allocator_type>::align_size;
+ static constexpr const size_type stride_size = align_traits<allocator_type>::stride_size;
+
using value_type = T;
- using allocator_type = A;
+ using reference = T &;
+ using const_reference = const T &;
+
+ using pointer = T *;
+ using const_pointer = const T *;
- static constexpr const size_type align_size = align_traits<A>::align_size;
- static constexpr const size_type stride_size = align_traits<A>::stride_size;
pmatrix2d() noexcept
- : m_N(0), m_M(0), m_stride(8), m_v()
+ : m_N(0), m_M(0), m_stride(8), m_v(nullptr)
{
}
pmatrix2d(size_type N, size_type M)
: m_N(N), m_M(M), m_v()
{
+ gsl_Expects(N>0);
+ gsl_Expects(M>0);
m_stride = ((M + stride_size-1) / stride_size) * stride_size;
- m_v.resize(N * m_stride);
+ m_v = m_a.allocate(N * m_stride);
+ for (std::size_t i = 0; i < N * m_stride; i++)
+ ::new(&m_v[i]) T();
+ }
+
+ ~pmatrix2d()
+ {
+ if (m_v != nullptr)
+ {
+ for (std::size_t i = 0; i < m_N * m_stride; i++)
+ (&m_v[i])->~T();
+ m_a.deallocate(m_v, m_N * m_stride);
+ }
}
void resize(size_type N, size_type M)
{
+ gsl_Expects(N>0);
+ gsl_Expects(M>0);
+ if (m_v != nullptr)
+ {
+ for (std::size_t i = 0; i < N * m_stride; i++)
+ (&m_v[i])->~T();
+ m_a.deallocate(m_v, N * m_stride);
+ }
m_N = N;
m_M = M;
m_stride = ((M + stride_size-1) / stride_size) * stride_size;
- m_v.resize(N * m_stride);
+ m_v = m_a.allocate(N * m_stride);
+ for (std::size_t i = 0; i < N * m_stride; i++)
+ ::new(&m_v[i]) T();
+ }
+
+ constexpr pointer operator[] (size_type row) noexcept
+ {
+ return &m_v[m_stride * row];
+ }
+
+ constexpr const_pointer operator[] (size_type row) const noexcept
+ {
+ return &m_v[m_stride * row];
+ }
+
+ reference operator()(size_type r, size_type c) noexcept
+ {
+ return (*this)[r][c];
+ }
+
+ const_reference operator()(size_type r, size_type c) const noexcept
+ {
+ return (*this)[r][c];
+ }
+
+ // for compatibility with vrl variant
+ void set(size_type r, size_type c, const value_type &v) noexcept
+ {
+ (*this)[r][c] = v;
+ }
+
+ pointer data() noexcept
+ {
+ return m_v;
+ }
+
+ const_pointer data() const noexcept
+ {
+ return m_v;
+ }
+
+ size_type didx(size_type r, size_type c) const noexcept
+ {
+ return m_stride * r + c;
+ }
+ private:
+
+ size_type m_N;
+ size_type m_M;
+ size_type m_stride;
+
+ T * __restrict m_v;
+
+ allocator_type m_a;
+ };
+
+ // variable row length matrix
+ template<typename T, typename A = aligned_arena>
+ class pmatrix2d_vrl
+ {
+ public:
+ using size_type = std::size_t;
+ using value_type = T;
+ using arena_type = A;
+ using allocator_type = typename A::template allocator_type<T>;
+
+ static constexpr const size_type align_size = align_traits<allocator_type>::align_size;
+ static constexpr const size_type stride_size = align_traits<allocator_type>::stride_size;
+ pmatrix2d_vrl() noexcept
+ : m_N(0), m_M(0), m_v()
+ {
+ }
+
+ pmatrix2d_vrl(size_type N, size_type M)
+ : m_N(N), m_M(M), m_v()
+ {
+ m_row.resize(N + 1, 0);
+ m_v.resize(N); //FIXME
+ }
+
+ void resize(size_type N, size_type M)
+ {
+ m_N = N;
+ m_M = M;
+ m_row.resize(N + 1);
+ for (std::size_t i = 0; i < m_N; i++)
+ m_row[i] = 0;
+ m_v.resize(N); //FIXME
}
constexpr T * operator[] (size_type row) noexcept
{
- return assume_aligned_ptr<T, align_size>(&m_v[m_stride * row]);
+ return &(m_v[m_row[row]]);
}
constexpr const T * operator[] (size_type row) const noexcept
{
- return assume_aligned_ptr<T, align_size>(&m_v[m_stride * row]);
+ return &(m_v[m_row[row]]);
}
+ //FIXME: no check!
T & operator()(size_type r, size_type c) noexcept
{
return (*this)[r][c];
}
+ void set(size_type r, size_type c, const T &v) noexcept
+ {
+ if (c + m_row[r] >= m_row[r + 1])
+ {
+ m_v.insert(m_v.begin() + narrow_cast<std::ptrdiff_t>(m_row[r+1]), v);
+ for (size_type i = r + 1; i <= m_N; i++)
+ m_row[i] = m_row[i] + 1;
+ }
+ else
+ (*this)[r][c] = v;
+ }
+
+ //FIXME: no check!
const T & operator()(size_type r, size_type c) const noexcept
{
return (*this)[r][c];
@@ -77,19 +208,22 @@ namespace plib
return m_v.data();
}
+ //FIXME: no check!
size_type didx(size_type r, size_type c) const noexcept
{
- return m_stride * r + c;
+ return m_row[r] + c;
}
+
+ std::size_t tx() const { return m_v.size(); }
private:
size_type m_N;
size_type m_M;
- size_type m_stride;
-
- std::vector<T, A> m_v;
+ std::vector<size_type, typename A::template allocator_type<size_type>> m_row;
+ std::vector<T, allocator_type> m_v;
};
+
} // namespace plib
#endif // PMATRIX2D_H_
diff --git a/src/lib/netlist/plib/pmempool.h b/src/lib/netlist/plib/pmempool.h
index 441595d9e58..ece0f117a8d 100644
--- a/src/lib/netlist/plib/pmempool.h
+++ b/src/lib/netlist/plib/pmempool.h
@@ -40,31 +40,26 @@ namespace plib {
mempool_arena(size_t min_alloc = (1<<21), size_t min_align = PALIGN_CACHELINE)
: m_min_alloc(min_alloc)
, m_min_align(min_align)
+ , m_block_align(1024)
, m_blocks(base_allocator_type<block *>(m_arena))
{
- icount()++;
}
PCOPYASSIGNMOVE(mempool_arena, delete)
~mempool_arena()
{
-
for (auto & b : m_blocks)
{
if (b->m_num_alloc != 0)
{
- plib::perrlogger("Found {} info blocks\n", sinfo().size());
+ plib::perrlogger("Found {} info blocks\n", m_info.size());
plib::perrlogger("Found block with {} dangling allocations\n", b->m_num_alloc);
}
- m_arena.free(b);
- //::operator delete(b->m_data);
- }
- if (icount()-- == 1)
- {
- if (!sinfo().empty())
- plib::perrlogger("Still found {} info blocks after last mempool deleted\n", sinfo().size());
+ detail::free(m_arena, b);
}
+ if (!m_info.empty())
+ plib::perrlogger("Still found {} info blocks after mempool deleted\n", m_info.size());
}
void *allocate(size_t align, size_t size)
@@ -92,21 +87,18 @@ namespace plib {
void *ret = reinterpret_cast<void *>(b->m_data + b->m_cur);
auto capacity(rs);
ret = std::align(align, size, ret, capacity);
- sinfo().insert({ ret, info(b, b->m_cur)});
+ m_info.insert({ ret, info(b, b->m_cur)});
rs -= (capacity - size);
b->m_cur += rs;
- base_type::m_stat_cur_alloc() += size;
- if (base_type::m_stat_max_alloc() < base_type::m_stat_cur_alloc())
- base_type::m_stat_max_alloc() = base_type::m_stat_cur_alloc();
+ this->inc_alloc_stat(size);
return ret;
}
- /*static */ void deallocate(void *ptr, size_t size) noexcept
+ void deallocate(void *ptr, size_t size) noexcept
{
-
- auto it = sinfo().find(ptr);
- if (it == sinfo().end())
+ auto it = m_info.find(ptr);
+ if (it == m_info.end())
plib::terminate("mempool::free - pointer not found");
block *b = it->second.m_block;
if (b->m_num_alloc == 0)
@@ -115,7 +107,7 @@ namespace plib {
{
mempool_arena &mp = b->m_mempool;
b->m_num_alloc--;
- mp.m_stat_cur_alloc() -= size;
+ mp.dec_alloc_stat(size);
if (b->m_num_alloc == 0)
{
auto itb = std::find(mp.m_blocks.begin(), mp.m_blocks.end(), b);
@@ -123,14 +115,15 @@ namespace plib {
plib::terminate("mempool::free - block not found");
mp.m_blocks.erase(itb);
- m_arena.free(b);
+ detail::free(mp.base_arena(), b);
}
- sinfo().erase(it);
+ m_info.erase(it);
}
}
bool operator ==(const mempool_arena &rhs) const noexcept { return this == &rhs; }
+ BASEARENA &base_arena() noexcept { return m_arena; }
private:
struct block
{
@@ -142,17 +135,19 @@ namespace plib {
{
min_bytes = std::max(mp.m_min_alloc, min_bytes);
m_free = min_bytes;
- size_type alloc_bytes = (min_bytes + mp.m_min_align); // - 1); // & ~(mp.m_min_align - 1);
+ m_bytes_allocated = (min_bytes + mp.m_block_align); // - 1); // & ~(mp.m_min_align - 1);
// NOLINTNEXTLINE(cppcoreguidelines-owning-memory)
- m_data_allocated = new std::uint8_t[alloc_bytes];
+ //m_data_allocated = new std::uint8_t[alloc_bytes];
+ m_data_allocated = static_cast<std::uint8_t *>(mp.base_arena().allocate(mp.m_block_align, m_bytes_allocated));
void *r = m_data_allocated;
- std::align(mp.m_min_align, min_bytes, r, alloc_bytes);
+ std::align(mp.m_block_align, min_bytes, r, m_bytes_allocated);
m_data = reinterpret_cast<std::uint8_t *>(r);
}
~block()
{
//::operator delete(m_data_allocated);
- delete [] m_data_allocated;
+ //delete [] m_data_allocated;
+ m_mempool.base_arena().deallocate(m_data_allocated, m_bytes_allocated);
}
block(const block &) = delete;
@@ -163,6 +158,7 @@ namespace plib {
size_type m_num_alloc;
size_type m_free;
size_type m_cur;
+ size_type m_bytes_allocated;
std::uint8_t *m_data;
std::uint8_t *m_data_allocated;
mempool_arena &m_mempool;
@@ -180,27 +176,20 @@ namespace plib {
block * new_block(size_type min_bytes)
{
- auto *b = m_arena.template alloc<block>(*this, min_bytes);
+ auto *b = detail::alloc<block>(m_arena, *this, min_bytes);
m_blocks.push_back(b);
return b;
}
- static std::unordered_map<void *, info> &sinfo()
- {
- static std::unordered_map<void *, info> spinfo;
- return spinfo;
- }
-
- static std::size_t &icount()
- {
- static std::size_t count = 0;
- return count;
- }
-
size_t m_min_alloc;
size_t m_min_align;
+ size_t m_block_align;
BASEARENA m_arena;
+ using base_allocator_typex = typename BASEARENA::template allocator_type<std::pair<void * const, info>>;
+ std::unordered_map<void *, info, std::hash<void *>, std::equal_to<void *>,
+ base_allocator_typex> m_info;
+// std::unordered_map<void *, info> m_info;
std::vector<block *, typename BASEARENA::template allocator_type<block *>> m_blocks;
};
diff --git a/src/lib/netlist/plib/poptions.cpp b/src/lib/netlist/plib/poptions.cpp
index 690feb38c61..c22076f6d0c 100644
--- a/src/lib/netlist/plib/poptions.cpp
+++ b/src/lib/netlist/plib/poptions.cpp
@@ -68,7 +68,7 @@ namespace plib {
auto *o = dynamic_cast<option *>(opt);
if (o != nullptr)
{
- if (o->short_opt() == "" && o->long_opt() == "")
+ if (o->short_opt().empty() && o->long_opt().empty())
{
auto *ov = dynamic_cast<option_args *>(o);
if (ov != nullptr)
@@ -103,7 +103,7 @@ namespace plib {
if (!seen_other_args && plib::startsWith(arg, "--"))
{
auto v = psplit(arg.substr(2),"=");
- if (!v.empty() && v[0] != "")
+ if (!v.empty() && !v[0].empty())
{
opt = getopt_long(v[0]);
has_equal_arg = (v.size() > 1);
@@ -210,11 +210,11 @@ namespace plib {
if (auto * const opt = dynamic_cast<option *>(optbase))
{
pstring line = "";
- if (opt->short_opt() != "")
+ if (!opt->short_opt().empty())
line += " -" + opt->short_opt();
- if (opt->long_opt() != "")
+ if (!opt->long_opt().empty())
{
- if (line != "")
+ if (!line.empty())
line += ", ";
else
line = " ";
@@ -248,7 +248,8 @@ namespace plib {
else if (auto *grp = dynamic_cast<option_group *>(optbase))
{
ret += "\n" + grp->group() + ":\n";
- if (grp->help() != "") ret += split_paragraphs(grp->help(), width, 4, 4) + "\n\n";
+ if (!grp->help().empty())
+ ret += split_paragraphs(grp->help(), width, 4, 4) + "\n\n";
}
}
// FIXME: other help ...
@@ -274,7 +275,7 @@ namespace plib {
for (const auto & optbase : m_opts)
{
auto *opt = dynamic_cast<option *>(optbase);
- if (opt != nullptr && arg != "" && opt->short_opt() == arg)
+ if (opt != nullptr && !arg.empty() && opt->short_opt() == arg)
return opt;
}
return nullptr;
@@ -284,7 +285,7 @@ namespace plib {
for (const auto & optbase : m_opts)
{
auto *opt = dynamic_cast<option *>(optbase);
- if (opt != nullptr && arg !="" && opt->long_opt() == arg)
+ if (opt != nullptr && !arg.empty() && opt->long_opt() == arg)
return opt;
}
return nullptr;
diff --git a/src/lib/netlist/plib/poptions.h b/src/lib/netlist/plib/poptions.h
index ba39ba24050..714a357da86 100644
--- a/src/lib/netlist/plib/poptions.h
+++ b/src/lib/netlist/plib/poptions.h
@@ -136,7 +136,7 @@ namespace plib {
if (raw != plib::container::npos)
{
- m_val = static_cast<T>(raw);
+ m_val = narrow_cast<T>(raw);
return 0;
}
diff --git a/src/lib/netlist/plib/ppmf.h b/src/lib/netlist/plib/ppmf.h
index 622a295d3dd..8e20ddcf2f1 100644
--- a/src/lib/netlist/plib/ppmf.h
+++ b/src/lib/netlist/plib/ppmf.h
@@ -159,32 +159,43 @@ namespace plib {
if (PMFINTERNAL == 1)
{
// apply the "this" delta to the object first
- // NOLINTNEXTLINE(clang-analyzer-core.UndefinedBinaryOperatorResult)
+ // NOLINTNEXTLINE(clang-analyzer-core.UndefinedBinaryOperatorResult,cppcoreguidelines-pro-type-reinterpret-cast)
generic_class *o_p_delta = reinterpret_cast<generic_class *>(reinterpret_cast<std::uint8_t *>(object) + m_this_delta);
// if the low bit of the vtable index is clear, then it is just a raw function pointer
if ((m_function & 1) == 0)
+ {
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
func = reinterpret_cast<generic_function>(m_function);
+ }
else
{
// otherwise, it is the byte index into the vtable where the actual function lives
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
std::uint8_t *vtable_base = *reinterpret_cast<std::uint8_t **>(o_p_delta);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
func = *reinterpret_cast<generic_function *>(vtable_base + m_function - 1);
}
object = o_p_delta;
}
else if (PMFINTERNAL == 2)
{
- if ((m_this_delta & 1) == 0) {
+ if ((m_this_delta & 1) == 0)
+ {
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
object = reinterpret_cast<generic_class *>(reinterpret_cast<std::uint8_t *>(object) + m_this_delta);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
func = reinterpret_cast<generic_function>(m_function);
}
else
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
object = reinterpret_cast<generic_class *>(reinterpret_cast<std::uint8_t *>(object));
// otherwise, it is the byte index into the vtable where the actual function lives
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
std::uint8_t *vtable_base = *reinterpret_cast<std::uint8_t **>(object);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
func = *reinterpret_cast<generic_function *>(vtable_base + m_function + m_this_delta - 1);
}
}
@@ -192,8 +203,10 @@ namespace plib {
{
const int SINGLE_MEMFUNCPTR_SIZE = sizeof(void (generic_class::*)());
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
func = reinterpret_cast<generic_function>(m_function);
if (m_size == SINGLE_MEMFUNCPTR_SIZE + sizeof(int))
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
object = reinterpret_cast<generic_class *>(reinterpret_cast<std::uint8_t *>(object) + m_this_delta);
}
}
@@ -231,8 +244,10 @@ namespace plib {
{
raw_type mfpo(mftp);
generic_function_storage rfunc(nullptr);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
auto *robject = reinterpret_cast<generic_class *>(object);
mfpo.convert_to_generic(rfunc, robject);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return std::make_pair(reinterpret_cast<FunctionType>(rfunc), reinterpret_cast<ObjectType *>(robject));
}
template<typename O>
@@ -259,6 +274,7 @@ namespace plib {
template<typename FunctionType, typename MemberFunctionType, typename ObjectType>
static std::pair<FunctionType, ObjectType *> get(MemberFunctionType mftp, ObjectType *object)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return std::make_pair(reinterpret_cast<FunctionType>(mftp), reinterpret_cast<ObjectType *>(object));
}
@@ -286,6 +302,7 @@ namespace plib {
template<typename FunctionType, typename MemberFunctionType, typename ObjectType>
static std::pair<FunctionType, ObjectType *> get(MemberFunctionType mftp, ObjectType *object)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return std::make_pair(reinterpret_cast<FunctionType>(object->*mftp), reinterpret_cast<ObjectType *>(object));
}
template<typename O>
@@ -315,6 +332,7 @@ namespace plib {
pmfp_base()
: m_obj(nullptr)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
auto *s = reinterpret_cast<std::uint8_t *>(&m_resolved);
std::fill(s, s + sizeof(m_resolved), 0);
}
@@ -323,6 +341,7 @@ namespace plib {
pmfp_base(specific_member_function<O> mftp, O *object)
: m_obj(nullptr)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
auto *s = reinterpret_cast<std::uint8_t *>(&m_resolved);
std::fill(s, s + sizeof(m_resolved), 0);
bind(object, &mftp);
@@ -351,6 +370,7 @@ namespace plib {
//auto pFunc = *reinterpret_cast<specific_member_function<O> *>(fraw); // mftp;
specific_member_function<O> pFunc;
static_assert(sizeof(pFunc) >= sizeof(MF), "size error");
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
*reinterpret_cast<MF *>(&pFunc) = *fraw;
auto r = helper::template get<member_abi_function<O>>(pFunc, object);
@@ -360,18 +380,21 @@ namespace plib {
//*reinterpret_cast<member_abi_function<O> *>(&m_resolved) = r.first;
reinterpret_copy(r.first, m_resolved);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
m_obj = reinterpret_cast<generic_class *>(r.second);
}
template<typename O>
R call(O *obj, Targs&&... args) const noexcept(true)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return helper::call(reinterpret_cast<member_abi_function<O> *>(&m_resolved),
obj, std::forward<Targs>(args)...);
}
R call(Targs&&... args) const noexcept(true)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return helper::call(reinterpret_cast<const member_abi_function<generic_class> *>(&m_resolved),
m_obj, std::forward<Targs>(args)...);
}
@@ -414,12 +437,13 @@ namespace plib {
using static_creator = return_type (*)(const generic_member_function *, generic_class *);
- late_pmfp() {}
+ late_pmfp() = default;
template<typename O>
late_pmfp(specific_member_function<O> mftp)
{
static_assert(sizeof(m_raw) >= sizeof(specific_member_function<O>), "size issue");
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
*reinterpret_cast<specific_member_function<O> *>(&m_raw) = mftp;
m_creator = creator<O>;
}
@@ -427,6 +451,7 @@ namespace plib {
template<typename O>
return_type operator()(O *object) const
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
return m_creator(&m_raw, reinterpret_cast<generic_class *>(object));
}
@@ -435,7 +460,9 @@ namespace plib {
template <typename O>
static return_type creator(const generic_member_function *raw, generic_class *obj)
{
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
auto p = reinterpret_cast<const specific_member_function<O> *>(raw);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
auto o = reinterpret_cast<O *>(obj);
return return_type(*p, o);
}
diff --git a/src/lib/netlist/plib/ppreprocessor.cpp b/src/lib/netlist/plib/ppreprocessor.cpp
index f13d3aeef43..b563576c6a8 100644
--- a/src/lib/netlist/plib/ppreprocessor.cpp
+++ b/src/lib/netlist/plib/ppreprocessor.cpp
@@ -461,7 +461,7 @@ namespace plib {
m_if_level++;
lt = replace_macros(lt);
simple_iter<ppreprocessor> t(this, tokenize(lt.substr(3), m_expr_sep, true, true));
- auto val = static_cast<int>(prepro_expr(t, 255));
+ auto val = narrow_cast<int>(prepro_expr(t, 255));
t.skip_ws();
if (!t.eod())
error("found unprocessed content at end of line");
@@ -489,7 +489,7 @@ namespace plib {
m_if_flag ^= (1 << m_if_level);
lt = replace_macros(lt);
simple_iter<ppreprocessor> t(this, tokenize(lt.substr(5), m_expr_sep, true, true));
- auto val = static_cast<int>(prepro_expr(t, 255));
+ auto val = narrow_cast<int>(prepro_expr(t, 255));
t.skip_ws();
if (!t.eod())
error("found unprocessed content at end of line");
@@ -559,7 +559,7 @@ namespace plib {
auto *prevdef = get_define(n);
if (lti.size() == 2)
{
- if (prevdef != nullptr && prevdef->m_replace != "")
+ if (prevdef != nullptr && !prevdef->m_replace.empty())
error("redefinition of " + n);
m_defines.insert({n, define_t(n, "")});
}
diff --git a/src/lib/netlist/plib/ppreprocessor.h b/src/lib/netlist/plib/ppreprocessor.h
index 115f344cc69..467db358264 100644
--- a/src/lib/netlist/plib/ppreprocessor.h
+++ b/src/lib/netlist/plib/ppreprocessor.h
@@ -95,14 +95,14 @@ namespace plib {
if (this->gptr() == this->egptr())
{
// clang reports sign error - weird
- std::size_t bytes = m_strm->m_outbuf.size() - static_cast<std::size_t>(m_strm->m_pos);
+ std::size_t bytes = m_strm->m_outbuf.size() - narrow_cast<std::size_t>(m_strm->m_pos);
if (bytes > m_buf.size())
bytes = m_buf.size();
std::copy(m_strm->m_outbuf.c_str() + m_strm->m_pos, m_strm->m_outbuf.c_str() + m_strm->m_pos + bytes, m_buf.data());
this->setg(m_buf.data(), m_buf.data(), m_buf.data() + bytes);
- m_strm->m_pos += static_cast<long>(bytes);
+ m_strm->m_pos += narrow_cast<long>(bytes);
}
return this->gptr() == this->egptr()
diff --git a/src/lib/netlist/plib/prandom.h b/src/lib/netlist/plib/prandom.h
index 65cdb3e1cf2..b2f9c89a9cf 100644
--- a/src/lib/netlist/plib/prandom.h
+++ b/src/lib/netlist/plib/prandom.h
@@ -9,6 +9,7 @@
///
#include "pconfig.h"
+#include "pgsl.h"
#include "pmath.h"
#include "ptypes.h"
@@ -50,7 +51,7 @@ namespace plib
seed(5489);
}
- static constexpr T min() noexcept { return static_cast<T>(0); }
+ static constexpr T min() noexcept { return T(0); }
static constexpr T max() noexcept { return ~T(0) >> (sizeof(T)*8 - w); }
template <typename ST>
@@ -103,7 +104,7 @@ namespace plib
void twist()
{
const T lowest_w(~T(0) >> (sizeof(T)*8 - w));
- const T lower_mask((static_cast<T>(1) << r) - 1); // That is, the binary number of r 1's
+ const T lower_mask((T(1) << r) - 1); // That is, the binary number of r 1's
const T upper_mask((~lower_mask) & lowest_w);
for (std::size_t i=0; i<N; i++)
@@ -122,10 +123,10 @@ namespace plib
template <typename FT, typename T>
FT normalize_uniform(T &p, FT m = constants<FT>::one(), FT b = constants<FT>::zero())
{
- const auto mmin(static_cast<FT>(p.min()));
- const auto mmax(static_cast<FT>(p.max()));
+ const auto mmin(narrow_cast<FT>(p.min()));
+ const auto mmax(narrow_cast<FT>(p.max()));
// -> 0 to a
- return (static_cast<FT>(p())- mmin) / (mmax - mmin) * m - b;
+ return (narrow_cast<FT>(p())- mmin) / (mmax - mmin) * m - b;
}
template<typename FT>
diff --git a/src/lib/netlist/plib/pstonum.h b/src/lib/netlist/plib/pstonum.h
index 630dee68422..c4bf692d177 100644
--- a/src/lib/netlist/plib/pstonum.h
+++ b/src/lib/netlist/plib/pstonum.h
@@ -10,6 +10,7 @@
#include "pconfig.h"
#include "pexception.h"
+#include "pgsl.h"
#include "pmath.h" // for pstonum
#include "pstring.h"
@@ -36,9 +37,9 @@ namespace plib
if (ss >> x)
{
auto pos(ss.tellg());
- if (pos == static_cast<decltype(pos)>(-1))
+ if (pos == decltype(pos)(-1))
pos = len;
- *idx = static_cast<std::size_t>(pos);
+ *idx = narrow_cast<std::size_t>(pos);
}
else
*idx = constants<std::size_t>::zero();
@@ -88,7 +89,7 @@ namespace plib
template <typename S>
FLOAT128 operator()(std::locale loc, const S &arg, std::size_t *idx)
{
- return static_cast<FLOAT128>(pstonum_locale<long double>(loc, arg, idx));
+ return narrow_cast<FLOAT128>(pstonum_locale<long double>(loc, arg, idx));
}
};
#endif
@@ -100,8 +101,8 @@ namespace plib
std::size_t idx(0);
auto ret = pstonum_helper<T>()(loc, cstr, &idx);
using ret_type = decltype(ret);
- if (ret >= static_cast<ret_type>(plib::numeric_limits<T>::lowest())
- && ret <= static_cast<ret_type>(plib::numeric_limits<T>::max()))
+ if (ret >= narrow_cast<ret_type>(plib::numeric_limits<T>::lowest())
+ && ret <= narrow_cast<ret_type>(plib::numeric_limits<T>::max()))
{
if (cstr[idx] != 0)
throw pexception(pstring("Continuation after numeric value ends: ") + pstring(cstr));
@@ -110,7 +111,7 @@ namespace plib
{
throw pexception(pstring("Out of range: ") + pstring(cstr));
}
- return static_cast<T>(ret);
+ return narrow_cast<T>(ret);
}
template<typename R, typename T>
diff --git a/src/lib/netlist/plib/pstream.h b/src/lib/netlist/plib/pstream.h
index 87bb9240b64..b96c1f91a3b 100644
--- a/src/lib/netlist/plib/pstream.h
+++ b/src/lib/netlist/plib/pstream.h
@@ -18,10 +18,10 @@
#include <array>
#include <fstream>
+#include <fstream>
#include <ios>
#include <iostream>
#include <sstream>
-#include <fstream>
#include <type_traits>
#include <vector>
@@ -204,7 +204,7 @@ public:
{
const auto sz(static_cast<std::streamsize>(val.size()));
write(sz);
- m_strm.write(reinterpret_cast<const std::ostream::char_type *>(val.data()), sz * static_cast<std::streamsize>(sizeof(T)));
+ m_strm.write(reinterpret_cast<const std::ostream::char_type *>(val.data()), sz * gsl::narrow<std::streamsize>(sizeof(T)));
}
private:
@@ -225,7 +225,7 @@ public:
template <typename T>
void read(T &val)
{
- m_strm.read(reinterpret_cast<std::istream::char_type *>(&val), sizeof(T));
+ m_strm.read(reinterpret_cast<std::istream::char_type *>(&val), gsl::narrow<std::streamsize>(sizeof(T)));
}
void read( pstring &s)
@@ -244,7 +244,7 @@ public:
std::size_t sz = 0;
read(sz);
val.resize(sz);
- m_strm.read(reinterpret_cast<std::istream::char_type *>(val.data()), static_cast<std::streamsize>(sizeof(T) * sz));
+ m_strm.read(reinterpret_cast<std::istream::char_type *>(val.data()), gsl::narrow<std::streamsize>(sizeof(T) * sz));
}
private:
@@ -289,7 +289,7 @@ public:
pstring_t<pwchar_traits>, pstring_t<putf8_traits>>::type;
template <typename T>
- explicit ofstream(const pstring_t<T> name, ios_base::openmode mode = ios_base::in)
+ explicit ofstream(const pstring_t<T> name, ios_base::openmode mode = ios_base::out | ios_base::trunc)
: std::ofstream(filename_type(name).c_str(), mode)
{
}
diff --git a/src/lib/netlist/plib/pstring.cpp b/src/lib/netlist/plib/pstring.cpp
index 5d26ed984aa..b0dc3d313c6 100644
--- a/src/lib/netlist/plib/pstring.cpp
+++ b/src/lib/netlist/plib/pstring.cpp
@@ -27,7 +27,7 @@ int pstring_t<F>::compare(const pstring_t &right) const noexcept
}
if (si != this->end() && ri != right.end())
- return static_cast<int>(*si) - static_cast<int>(*ri);
+ return plib::narrow_cast<int>(*si) - plib::narrow_cast<int>(*ri);
if (this->mem_t_size() > right.mem_t_size())
return 1;
if (this->mem_t_size() < right.mem_t_size())
@@ -45,8 +45,8 @@ pstring_t<F> pstring_t<F>::substr(size_type start, size_type nlen) const
{
if (nlen == npos || start + nlen > l)
nlen = l - start;
- auto ps = std::next(begin(), static_cast<difference_type>(start));
- auto pe = std::next(ps, static_cast<difference_type>(nlen));
+ auto ps = std::next(begin(), plib::narrow_cast<difference_type>(start));
+ auto pe = std::next(ps, plib::narrow_cast<difference_type>(nlen));
ret.m_str.assign(ps.p, pe.p);
}
return ret;
diff --git a/src/lib/netlist/plib/pstrutil.h b/src/lib/netlist/plib/pstrutil.h
index 651e5bfd558..2b79935dc3a 100644
--- a/src/lib/netlist/plib/pstrutil.h
+++ b/src/lib/netlist/plib/pstrutil.h
@@ -8,6 +8,7 @@
/// \file pstrutil.h
///
+#include "pgsl.h"
#include "pstring.h"
#include "ptypes.h"
@@ -157,13 +158,13 @@ namespace plib
template<typename T, typename TA>
bool startsWith(const T &str, const TA &arg)
{
- return startsWith(str, static_cast<pstring>(arg));
+ return startsWith(str, static_cast<T>(arg));
}
template<typename T, typename TA>
bool endsWith(const T &str, const TA &arg)
{
- return endsWith(str, static_cast<pstring>(arg));
+ return endsWith(str, static_cast<T>(arg));
}
template<typename T>
@@ -172,7 +173,7 @@ namespace plib
const T *p = str;
while (*p != 0)
p++;
- return static_cast<std::size_t>(p - str);
+ return narrow_cast<std::size_t>(p - str);
}
template<typename T>
diff --git a/src/lib/netlist/plib/ptimed_queue.h b/src/lib/netlist/plib/ptimed_queue.h
index 191657b60c0..f257580c726 100644
--- a/src/lib/netlist/plib/ptimed_queue.h
+++ b/src/lib/netlist/plib/ptimed_queue.h
@@ -210,7 +210,7 @@ namespace plib {
// save state support & mame disasm
const T *listptr() const noexcept { return &m_list[1]; }
- std::size_t size() const noexcept { return static_cast<std::size_t>(m_end - &m_list[1]); }
+ std::size_t size() const noexcept { return narrow_cast<std::size_t>(m_end - &m_list[1]); }
const T & operator[](std::size_t index) const noexcept { return m_list[ 1 + index]; }
private:
using mutex_type = pspin_mutex<TS>;
diff --git a/src/lib/netlist/plib/ptypes.h b/src/lib/netlist/plib/ptypes.h
index ef3dd724388..fdeeb69eca4 100644
--- a/src/lib/netlist/plib/ptypes.h
+++ b/src/lib/netlist/plib/ptypes.h
@@ -15,8 +15,12 @@
#include <type_traits>
#if (PUSE_FLOAT128)
+#if defined(__has_include)
+#if __has_include(<quadmath.h>)
#include <quadmath.h>
#endif
+#endif
+#endif
// noexcept on move operator -> issue with macosx clang
#define PCOPYASSIGNMOVE(name, def) \
@@ -273,7 +277,7 @@ namespace plib
template <typename T> class name \
{ \
template <typename U> static long test(decltype(&U:: member)); \
- template <typename U> static char test(...); \
+ template <typename U> static char test(...); \
public: \
static constexpr const bool value = sizeof(test<T>(nullptr)) == sizeof(long); \
}
diff --git a/src/lib/netlist/plib/putil.cpp b/src/lib/netlist/plib/putil.cpp
index 9cc6e5ec9ae..60eab248c9d 100644
--- a/src/lib/netlist/plib/putil.cpp
+++ b/src/lib/netlist/plib/putil.cpp
@@ -3,9 +3,9 @@
#include "putil.h"
#include "penum.h"
+#include "pstream.h"
#include "pstrutil.h"
#include "ptypes.h"
-#include "pstream.h"
#include <algorithm>
#include <cstdlib> // needed for getenv ...
@@ -22,7 +22,7 @@ namespace plib
{
auto p=find_last_of(filename, pstring(PATH_SEPS));
pstring ret = (p == pstring::npos) ? filename : filename.substr(p+1);
- if (suffix != "" && endsWith(ret, suffix))
+ if (!suffix.empty() && endsWith(ret, suffix))
return ret.substr(0, ret.length() - suffix.length());
return ret;
}
@@ -49,7 +49,7 @@ namespace plib
pstring ret = "";
for( const auto &elem : list )
{
- if (ret == "")
+ if (ret.empty())
ret = elem;
else
ret += (PATH_SEP + elem);
@@ -126,7 +126,7 @@ namespace plib
auto i = str.begin();
while (i != str.end())
{
- auto p = static_cast<std::size_t>(-1);
+ auto p = pstring::npos;
for (std::size_t j=0; j < onstrl.size(); j++)
{
if (std::equal(onstrl[j].begin(), onstrl[j].end(), i))
@@ -135,14 +135,14 @@ namespace plib
break;
}
}
- if (p != static_cast<std::size_t>(-1))
+ if (p != pstring::npos)
{
- if (col != "")
+ if (!col.empty())
ret.push_back(col);
col = "";
ret.push_back(onstrl[p]);
- i = std::next(i, static_cast<pstring::difference_type>(onstrl[p].length()));
+ i = std::next(i, narrow_cast<pstring::difference_type>(onstrl[p].length()));
}
else
{
@@ -151,7 +151,7 @@ namespace plib
i++;
}
}
- if (col != "")
+ if (!col.empty())
ret.push_back(col);
return ret;
@@ -170,8 +170,8 @@ namespace plib
return -1;
}
- pstring penum_base::nthstr(int n, const pstring &str)
+ pstring penum_base::nthstr(std::size_t n, const pstring &str)
{
- return psplit(str, ",", false)[static_cast<std::size_t>(n)];
+ return psplit(str, ",", false)[n];
}
} // namespace plib
diff --git a/src/lib/netlist/plib/putil.h b/src/lib/netlist/plib/putil.h
index 8ceec3d7151..dde1918ebaf 100644
--- a/src/lib/netlist/plib/putil.h
+++ b/src/lib/netlist/plib/putil.h
@@ -14,8 +14,8 @@
#include <algorithm>
#include <initializer_list>
-#include <vector>
#include <sstream>
+#include <vector>
#define PSTRINGIFY_HELP(y) # y
#define PSTRINGIFY(x) PSTRINGIFY_HELP(x)
@@ -262,7 +262,9 @@ namespace plib
void reinterpret_copy(S &s, D &d)
{
static_assert(sizeof(D) >= sizeof(S), "size mismatch");
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
auto *dp = reinterpret_cast<std::uint8_t *>(&d);
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
const auto *sp = reinterpret_cast<std::uint8_t *>(&s);
std::copy(sp, sp + sizeof(S), dp);
}
@@ -290,14 +292,14 @@ namespace plib
{
auto it = std::find(con.begin(), con.end(), elem);
if (it != con.end())
- return static_cast<std::size_t>(it - con.begin());
+ return narrow_cast<std::size_t>(it - con.begin());
return npos;
}
template <class C>
void insert_at(C &con, const std::size_t index, const typename C::value_type &elem)
{
- con.insert(con.begin() + static_cast<std::ptrdiff_t>(index), elem);
+ con.insert(con.begin() + narrow_cast<std::ptrdiff_t>(index), elem);
}
template <class C>
@@ -336,7 +338,7 @@ namespace plib
{
std::size_t result = 5381; // NOLINT
for (const T* p = buf; p != buf + size; p++)
- result = ((result << 5) + result ) ^ (result >> (32 - 5)) ^ static_cast<std::size_t>(*p); // NOLINT
+ result = ((result << 5) + result ) ^ (result >> (32 - 5)) ^ narrow_cast<std::size_t>(*p); // NOLINT
return result;
}
diff --git a/src/lib/netlist/prg/nltool.cpp b/src/lib/netlist/prg/nltool.cpp
index e267a19c60d..a7eaa6927a9 100644
--- a/src/lib/netlist/prg/nltool.cpp
+++ b/src/lib/netlist/prg/nltool.cpp
@@ -206,7 +206,7 @@ public:
return stream_ptr(nullptr);
strm->imbue(std::locale::classic());
- return std::move(strm); // FIXME: for c++11 clang builds;
+ return strm;
}
private:
@@ -225,14 +225,14 @@ public:
netlist::host_arena::unique_ptr<plib::dynlib_base> static_solver_lib() const override
{
if (m_boostlib == "builtin")
- return netlist::host_arena::make_unique<plib::dynlib_static>(nl_static_solver_syms);
+ return plib::make_unique<plib::dynlib_static, netlist::host_arena>(nl_static_solver_syms);
if (m_boostlib == "generic")
- return netlist::host_arena::make_unique<plib::dynlib_static>(nullptr);
+ return plib::make_unique<plib::dynlib_static, netlist::host_arena>(nullptr);
if (NL_DISABLE_DYNAMIC_LOAD)
throw netlist::nl_exception("Dynamic library loading not supported due to project security concerns.");
//pstring libpath = plib::util::environment("NL_BOOSTLIB", plib::util::buildpath({".", "nlboost.so"}));
- return netlist::host_arena::make_unique<plib::dynlib>(m_boostlib);
+ return plib::make_unique<plib::dynlib, netlist::host_arena>(m_boostlib);
}
private:
@@ -245,7 +245,7 @@ class netlist_tool_t : public netlist::netlist_state_t
public:
netlist_tool_t(tool_app_t &app, const pstring &name, const pstring &boostlib)
- : netlist::netlist_state_t(name, netlist::host_arena::make_unique<netlist_tool_callbacks_t>(app, boostlib))
+ : netlist::netlist_state_t(name, plib::make_unique<netlist_tool_callbacks_t, netlist::host_arena>(app, boostlib))
{
}
@@ -364,13 +364,13 @@ struct input_t
case netlist::param_t::POINTER:
throw netlist::nl_exception(plib::pfmt("param {1} is not numeric\n")(m_param.param().name()));
case netlist::param_t::DOUBLE:
- static_cast<netlist::param_fp_t*>(&m_param.param())->set(m_value);
+ plib::downcast<netlist::param_fp_t &>(m_param.param()).set(m_value);
break;
case netlist::param_t::INTEGER:
- static_cast<netlist::param_int_t*>(&m_param.param())->set(static_cast<int>(m_value));
+ plib::downcast<netlist::param_int_t &>(m_param.param()).set(static_cast<int>(m_value));
break;
case netlist::param_t::LOGIC:
- static_cast<netlist::param_logic_t*>(&m_param.param())->set(static_cast<bool>(m_value));
+ plib::downcast<netlist::param_logic_t &>(m_param.param()).set(static_cast<bool>(m_value));
break;
}
}
@@ -383,7 +383,7 @@ struct input_t
static std::vector<input_t> read_input(const netlist::setup_t &setup, const pstring &fname)
{
std::vector<input_t> ret;
- if (fname != "")
+ if (!fname.empty())
{
plib::putf8_reader r = plib::putf8_reader(std::make_unique<plib::ifstream>(plib::filesystem::u8path(fname)));
if (r.stream().fail())
@@ -392,7 +392,7 @@ static std::vector<input_t> read_input(const netlist::setup_t &setup, const pstr
pstring l;
while (r.readline(l))
{
- if (l != "")
+ if (!l.empty())
{
input_t inp(setup, l);
ret.push_back(inp);
@@ -659,6 +659,8 @@ void tool_app_t::static_compile()
}
}
plib::ofstream sout(opt_out());
+ if (sout.fail())
+ throw netlist::nl_exception(netlist::MF_FILE_OPEN_ERROR(opt_out()));
sout << "#include \"plib/pdynlib.h\"\n\n";
for (auto &e : map)
@@ -666,6 +668,7 @@ void tool_app_t::static_compile()
sout << "// " << e.second.m_module << "\n";
sout << e.second.m_code;
}
+ sout << "extern plib::dynlib_static_sym nl_static_solver_syms[];\n";
sout << "plib::dynlib_static_sym nl_static_solver_syms[] = {\n";
for (auto &e : map)
{
@@ -721,7 +724,7 @@ static doc_ext read_docsrc(const pstring &fname, const pstring &id)
if (plib::startsWith(l, "//-"))
{
l = plib::trim(l.substr(3));
- if (l != "")
+ if (!l.empty())
{
auto a(plib::psplit(l, ":", true));
if (a.empty() || (a.size() > 2))
@@ -761,7 +764,7 @@ static doc_ext read_docsrc(const pstring &fname, const pstring &id)
else if (n == "FunctionTable")
ret.functiontable = v;
else if (n == "Param")
- ret.params.push_back(std::pair<pstring, pstring>(v2, plib::trim(v.substr(v2.length()))));
+ ret.params.emplace_back(v2, plib::trim(v.substr(v2.length())));
else if (n == "Example")
{
ret.example = plib::psplit(plib::trim(v),",",true);
@@ -818,7 +821,7 @@ void tool_app_t::header_entry(const netlist::factory::element_t *e)
avs += ", " + s.substr(1);
mac_out("// usage : " + e->name() + "(name" + vs + ")", false);
- if (avs != "")
+ if (!avs.empty())
mac_out("// auto connect: " + avs.substr(2), false);
mac_out("#define " + e->name() + "(...)");
@@ -942,7 +945,7 @@ void tool_app_t::create_docheader()
{
auto d(read_docsrc(e->source().file_name(), e->name()));
- if (d.id != "")
+ if (!d.id.empty())
{
pout("//! [{1} csynopsis]\n", e->name());
header_entry(e.get());
@@ -964,7 +967,7 @@ void tool_app_t::create_docheader()
{
//auto d(read_docsrc(e->source().file_name(), e->name()));
- if (d.id != "")
+ if (!d.id.empty())
{
poutprefix("///", "");
@@ -1017,7 +1020,7 @@ void tool_app_t::create_docheader()
poutprefix("///", "");
poutprefix("///", " @section {}_4 Function Table", d.id);
poutprefix("///", "");
- if (d.functiontable == "")
+ if (!d.functiontable.empty())
poutprefix("///", " Please refer to the datasheet.");
else
poutprefix("///", " {}", d.functiontable);
diff --git a/src/lib/netlist/prg/nlwav.cpp b/src/lib/netlist/prg/nlwav.cpp
index 9e3ba795554..2317495c677 100755
--- a/src/lib/netlist/prg/nlwav.cpp
+++ b/src/lib/netlist/prg/nlwav.cpp
@@ -655,10 +655,10 @@ void nlwav_app::convert_wav(std::ostream &ostrm, wav_t::format fmt)
double dt = plib::reciprocal(static_cast<double>(opt_rate()));
auto nchan = m_instrms.size();
- auto wo = arena::make_unique<wavwriter>(ostrm, opt_out() != "-", fmt, nchan, opt_rate(), opt_amp());
- auto ago = arena::make_unique<aggregator>(nchan, dt, aggregator::callback_type(&wavwriter::process, wo.get()));
- auto fgo_hp = arena::make_unique<filter_hp>(opt_highpass(), opt_hpboost(), nchan, filter_hp::callback_type(&aggregator::process, ago.get()));
- auto fgo_lp = arena::make_unique<filter_lp>(opt_lowpass(), nchan, filter_lp::callback_type(&filter_hp::process, fgo_hp.get()));
+ auto wo = plib::make_unique<wavwriter, arena>(ostrm, opt_out() != "-", fmt, nchan, opt_rate(), opt_amp());
+ auto ago = plib::make_unique<aggregator, arena>(nchan, dt, aggregator::callback_type(&wavwriter::process, wo.get()));
+ auto fgo_hp = plib::make_unique<filter_hp, arena>(opt_highpass(), opt_hpboost(), nchan, filter_hp::callback_type(&aggregator::process, ago.get()));
+ auto fgo_lp = plib::make_unique<filter_lp, arena>(opt_lowpass(), nchan, filter_lp::callback_type(&filter_hp::process, fgo_hp.get()));
auto topcb = log_processor::callback_type(&filter_lp::process, fgo_lp.get());
@@ -680,7 +680,7 @@ void nlwav_app::convert_wav(std::ostream &ostrm, wav_t::format fmt)
void nlwav_app::convert_vcd(std::ostream &ostrm, vcdwriter::format_e format)
{
- arena::unique_ptr<vcdwriter> wo = arena::make_unique<vcdwriter>(ostrm, opt_args(),
+ arena::unique_ptr<vcdwriter> wo = plib::make_unique<vcdwriter, arena>(ostrm, opt_args(),
format, opt_high(), opt_low());
log_processor::callback_type agcb = log_processor::callback_type(&vcdwriter::process, wo.get());
@@ -702,7 +702,7 @@ void nlwav_app::convert_vcd(std::ostream &ostrm, vcdwriter::format_e format)
void nlwav_app::convert_tab(std::ostream &ostrm)
{
- auto wo = arena::make_unique<tabwriter>(ostrm, opt_args(),
+ auto wo = plib::make_unique<tabwriter, arena>(ostrm, opt_args(),
opt_start(), opt_inc(), opt_samples());
log_processor::callback_type agcb = log_processor::callback_type(&tabwriter::process, wo.get());
diff --git a/src/lib/netlist/solver/nld_matrix_solver.cpp b/src/lib/netlist/solver/nld_matrix_solver.cpp
index b5b2adf2245..87ae2de71d7 100644
--- a/src/lib/netlist/solver/nld_matrix_solver.cpp
+++ b/src/lib/netlist/solver/nld_matrix_solver.cpp
@@ -121,7 +121,7 @@ namespace solver
{
pstring nname(this->name() + "." + pstring(plib::pfmt("m{1}")(m_inps.size())));
nl_assert(p->net().is_analog());
- auto net_proxy_output_u = state().make_pool_object<proxied_analog_output_t>(*this, nname, static_cast<analog_net_t *>(&p->net()));
+ auto net_proxy_output_u = state().make_pool_object<proxied_analog_output_t>(*this, nname, &dynamic_cast<analog_net_t &>(p->net()));
net_proxy_output = net_proxy_output_u.get();
m_inps.emplace_back(std::move(net_proxy_output_u));
}
@@ -375,6 +375,17 @@ namespace solver
m_Idrn.resize(iN, max_count);
m_connected_net_Vn.resize(iN, max_count);
+ // Initialize arrays to 0 (in case the vrl one is used
+ for (std::size_t k = 0; k < iN; k++)
+ for (std::size_t j = 0; j < m_terms[k].count(); j++)
+ {
+ m_gtn.set(k,j, nlconst::zero());
+ m_gonn.set(k,j, nlconst::zero());
+ m_Idrn.set(k,j, nlconst::zero());
+ m_connected_net_Vn.set(k, j, nullptr);
+ }
+
+
for (std::size_t k = 0; k < iN; k++)
{
auto count = m_terms[k].count();
@@ -421,7 +432,7 @@ namespace solver
void matrix_solver_t::step(netlist_time delta) noexcept
{
- const auto dd(delta.as_fp<nl_fptype>());
+ const auto dd(delta.as_fp<fptype>());
for (auto &d : m_step_funcs)
d(dd);
}
@@ -478,7 +489,7 @@ namespace solver
if (m_params.m_dynamic_ts)
- return compute_next_timestep(delta.as_fp<nl_fptype>(), m_params.m_max_timestep);
+ return compute_next_timestep(delta.as_fp<fptype>(), m_params.m_max_timestep);
return netlist_time::from_fp(m_params.m_max_timestep);
}
@@ -523,7 +534,7 @@ namespace solver
return {colmax, colmin};
}
- nl_fptype matrix_solver_t::get_weight_around_diag(std::size_t row, std::size_t diag)
+ matrix_solver_t::fptype matrix_solver_t::get_weight_around_diag(std::size_t row, std::size_t diag)
{
{
//
@@ -532,7 +543,7 @@ namespace solver
std::vector<bool> touched(1024, false); // FIXME!
- nl_fptype weight = nlconst::zero();
+ fptype weight = nlconst::zero();
auto &term = m_terms[row];
for (std::size_t i = 0; i < term.count(); i++)
{
@@ -545,7 +556,7 @@ namespace solver
if (colu==row) colu = static_cast<unsigned>(diag);
else if (colu==diag) colu = static_cast<unsigned>(row);
- weight = weight + plib::abs(static_cast<nl_fptype>(colu) - static_cast<nl_fptype>(diag));
+ weight = weight + plib::abs(static_cast<fptype>(colu) - static_cast<fptype>(diag));
touched[colu] = true;
}
}
@@ -585,14 +596,14 @@ namespace solver
log().verbose(" has {1} dynamic elements", this->dynamic_device_count());
log().verbose(" has {1} timestep elements", this->timestep_device_count());
log().verbose(" {1:6.3} average newton raphson loops",
- static_cast<nl_fptype>(this->m_stat_newton_raphson) / static_cast<nl_fptype>(this->m_stat_vsolver_calls));
+ static_cast<fptype>(this->m_stat_newton_raphson) / static_cast<fptype>(this->m_stat_vsolver_calls));
log().verbose(" {1:10} invocations ({2:6.0} Hz) {3:10} gs fails ({4:6.2} %) {5:6.3} average",
this->m_stat_calculations,
- static_cast<nl_fptype>(this->m_stat_calculations) / this->exec().time().as_fp<nl_fptype>(),
+ static_cast<fptype>(this->m_stat_calculations) / this->exec().time().as_fp<fptype>(),
this->m_iterative_fail,
- nlconst::hundred() * static_cast<nl_fptype>(this->m_iterative_fail)
- / static_cast<nl_fptype>(this->m_stat_calculations),
- static_cast<nl_fptype>(this->m_iterative_total) / static_cast<nl_fptype>(this->m_stat_calculations));
+ nlconst::hundred() * static_cast<fptype>(this->m_iterative_fail)
+ / static_cast<fptype>(this->m_stat_calculations),
+ static_cast<fptype>(this->m_iterative_total) / static_cast<fptype>(this->m_stat_calculations));
}
}
diff --git a/src/lib/netlist/solver/nld_matrix_solver.h b/src/lib/netlist/solver/nld_matrix_solver.h
index fef3ec4a29b..6a769775248 100644
--- a/src/lib/netlist/solver/nld_matrix_solver.h
+++ b/src/lib/netlist/solver/nld_matrix_solver.h
@@ -14,6 +14,7 @@
#include "netlist/plib/palloc.h"
#include "netlist/plib/penum.h"
#include "netlist/plib/pmatrix2d.h"
+#include "netlist/plib/pmempool.h"
#include "netlist/plib/putil.h"
#include "netlist/plib/vector_ops.h"
@@ -183,6 +184,8 @@ namespace solver
{
public:
using list_t = std::vector<matrix_solver_t *>;
+ using fptype = nl_fptype;
+ using arena_type = plib::mempool_arena<plib::aligned_arena>;
// after every call to solve, update inputs must be called.
// this can be done as well as a batch to ease parallel processing.
@@ -259,50 +262,31 @@ namespace solver
}
// return number of floating point operations for solve
- std::size_t ops() const { return m_ops; }
+ constexpr std::size_t ops() const { return m_ops; }
protected:
- template <typename T>
- using aligned_alloc = plib::aligned_allocator<T, PALIGN_VECTOROPT>;
-
matrix_solver_t(netlist_state_t &anetlist, const pstring &name,
const analog_net_t::list_t &nets,
const solver_parameters_t *params);
virtual void vsolve_non_dynamic() = 0;
- virtual netlist_time compute_next_timestep(nl_fptype cur_ts, nl_fptype max_ts) = 0;
- virtual bool check_err() = 0;
+ virtual netlist_time compute_next_timestep(fptype cur_ts, fptype max_ts) = 0;
+ virtual bool check_err() const = 0;
virtual void store() = 0;
- plib::pmatrix2d<nl_fptype, aligned_alloc<nl_fptype>> m_gonn;
- plib::pmatrix2d<nl_fptype, aligned_alloc<nl_fptype>> m_gtn;
- plib::pmatrix2d<nl_fptype, aligned_alloc<nl_fptype>> m_Idrn;
- plib::pmatrix2d<nl_fptype *, aligned_alloc<nl_fptype *>> m_connected_net_Vn;
-
- plib::aligned_vector<terms_for_net_t> m_terms;
+ plib::pmatrix2d_vrl<fptype, arena_type> m_gonn;
+ plib::pmatrix2d_vrl<fptype, arena_type> m_gtn;
+ plib::pmatrix2d_vrl<fptype, arena_type> m_Idrn;
+ plib::pmatrix2d_vrl<fptype *, arena_type> m_connected_net_Vn;
const solver_parameters_t &m_params;
state_var<std::size_t> m_iterative_fail;
state_var<std::size_t> m_iterative_total;
- private:
-
- plib::aligned_vector<terms_for_net_t> m_rails_temp;
- std::vector<device_arena::unique_ptr<proxied_analog_output_t>> m_inps;
-
- state_var<std::size_t> m_stat_calculations;
- state_var<std::size_t> m_stat_newton_raphson;
- state_var<std::size_t> m_stat_vsolver_calls;
-
- state_var<netlist_time_ext> m_last_step;
- plib::aligned_vector<nldelegate_ts> m_step_funcs;
- plib::aligned_vector<nldelegate_dyn> m_dynamic_funcs;
+ plib::aligned_vector<terms_for_net_t> m_terms; // setup only
- logic_input_t m_fb_sync;
- logic_output_t m_Q_sync;
-
- std::size_t m_ops;
+ private:
// base setup - called from constructor
void setup_base(setup_t &setup, const analog_net_t::list_t &nets) noexcept(false);
@@ -314,7 +298,7 @@ namespace solver
int get_net_idx(const analog_net_t *net) const noexcept;
std::pair<int, int> get_left_right_of_diag(std::size_t irow, std::size_t idiag);
- nl_fptype get_weight_around_diag(std::size_t row, std::size_t diag);
+ fptype get_weight_around_diag(std::size_t row, std::size_t diag);
void add_term(std::size_t net_idx, terminal_t *term) noexcept(false);
@@ -325,272 +309,21 @@ namespace solver
analog_net_t *get_connected_net(terminal_t *term);
- };
-
- template <typename FT, int SIZE>
- class matrix_solver_ext_t: public matrix_solver_t
- {
- public:
-
- using float_type = FT;
-
- matrix_solver_ext_t(netlist_state_t &anetlist, const pstring &name,
- const analog_net_t::list_t &nets,
- const solver_parameters_t *params, const std::size_t size)
- : matrix_solver_t(anetlist, name, nets, params)
- , m_dim(size)
- , m_new_V(size)
- , m_RHS(size)
- , m_mat_ptr(size, this->max_railstart() + 1)
- , m_last_V(size, nlconst::zero())
- , m_DD_n_m_1(size, nlconst::zero())
- , m_h_n_m_1(size, nlconst::magic(1e-6)) // we need a non zero value here
- {
- //
- // save states
- //
- state().save(*this, m_last_V.as_base(), this->name(), "m_last_V");
- state().save(*this, m_DD_n_m_1.as_base(), this->name(), "m_DD_n_m_1");
- state().save(*this, m_h_n_m_1.as_base(), this->name(), "m_h_n_m_1");
- }
-
-
- private:
- const std::size_t m_dim;
-
- protected:
- static constexpr const std::size_t SIZEABS = plib::parray<FT, SIZE>::SIZEABS();
- static constexpr const std::size_t m_pitch_ABS = (((SIZEABS + 0) + 7) / 8) * 8;
-
- PALIGNAS_VECTOROPT()
- plib::parray<float_type, SIZE> m_new_V;
- PALIGNAS_VECTOROPT()
- plib::parray<float_type, SIZE> m_RHS;
-
- PALIGNAS_VECTOROPT()
- plib::pmatrix2d<float_type *> m_mat_ptr;
-
- // FIXME: below should be private
- // state - variable time_stepping
- PALIGNAS_VECTOROPT()
- plib::parray<nl_fptype, SIZE> m_last_V;
- PALIGNAS_VECTOROPT()
- plib::parray<nl_fptype, SIZE> m_DD_n_m_1;
- PALIGNAS_VECTOROPT()
- plib::parray<nl_fptype, SIZE> m_h_n_m_1;
-
- std::size_t max_railstart() const noexcept
- {
- std::size_t max_rail = 0;
- for (std::size_t k = 0; k < m_terms.size(); k++)
- max_rail = std::max(max_rail, m_terms[k].railstart());
- return max_rail;
- }
-
-
- template <typename T, typename M>
- void log_fill(const T &fill, M &mat)
- {
- const std::size_t iN = fill.size();
-
- // FIXME: Not yet working, mat_cr.h needs some more work
-#if 0
- auto mat_GE = dynamic_cast<plib::pGEmatrix_cr_t<typename M::base> *>(&mat);
-#else
- plib::unused_var(mat);
-#endif
- std::vector<unsigned> levL(iN, 0);
- std::vector<unsigned> levU(iN, 0);
-
- // parallel scheme for L x = y
- for (std::size_t k = 0; k < iN; k++)
- {
- unsigned lm=0;
- for (std::size_t j = 0; j<k; j++)
- if (fill[k][j] < M::FILL_INFINITY)
- lm = std::max(lm, levL[j]);
- levL[k] = 1+lm;
- }
-
- // parallel scheme for U x = y
- for (std::size_t k = iN; k-- > 0; )
- {
- unsigned lm=0;
- for (std::size_t j = iN; --j > k; )
- if (fill[k][j] < M::FILL_INFINITY)
- lm = std::max(lm, levU[j]);
- levU[k] = 1+lm;
- }
- for (std::size_t k = 0; k < iN; k++)
- {
- unsigned fm = 0;
- pstring ml = "";
- for (std::size_t j = 0; j < iN; j++)
- {
- ml += fill[k][j] == 0 ? 'X' : fill[k][j] < M::FILL_INFINITY ? '+' : '.';
- if (fill[k][j] < M::FILL_INFINITY)
- if (fill[k][j] > fm)
- fm = fill[k][j];
- }
-#if 0
- this->log().verbose("{1:4} {2} {3:4} {4:4} {5:4} {6:4}", k, ml,
- levL[k], levU[k], mat_GE ? mat_GE->get_parallel_level(k) : 0, fm);
-#else
- this->log().verbose("{1:4} {2} {3:4} {4:4} {5:4} {6:4}", k, ml,
- levL[k], levU[k], 0, fm);
-#endif
- }
- }
-
- constexpr std::size_t size() const noexcept
- {
- return (SIZE > 0) ? static_cast<std::size_t>(SIZE) : m_dim;
- }
-
-#if 1
- void store() override
- {
- const std::size_t iN = size();
- for (std::size_t i = 0; i < iN; i++)
- this->m_terms[i].setV(static_cast<nl_fptype>(m_new_V[i]));
- }
-#else
- // global tanh damping (4.197)
- // partially cures the symptoms but not the cause
- void store() override
- {
- const std::size_t iN = size();
- for (std::size_t i = 0; i < iN; i++)
- {
- auto oldV = this->m_terms[i].template getV<nl_fptype>();
- this->m_terms[i].setV(oldV + 0.02 * plib::tanh((m_new_V[i]-oldV)*50.0));
- }
- }
-#endif
- bool check_err() override
- {
- // NOTE: Ideally we should also include currents (RHS) here. This would
- // need a reevaluation of the right hand side after voltages have been updated
- // and thus belong into a different calculation. This applies to all solvers.
-
- const std::size_t iN = size();
- const auto reltol(static_cast<float_type>(m_params.m_reltol));
- const auto vntol(static_cast<float_type>(m_params.m_vntol));
- for (std::size_t i = 0; i < iN; i++)
- {
- const auto vold(static_cast<float_type>(this->m_terms[i].getV()));
- const auto vnew(m_new_V[i]);
- const auto tol(vntol + reltol * std::max(plib::abs(vnew),plib::abs(vold)));
- if (plib::abs(vnew - vold) > tol)
- return true;
- }
- return false;
- }
-
- netlist_time compute_next_timestep(nl_fptype cur_ts, nl_fptype max_ts) override
- {
- nl_fptype new_solver_timestep(max_ts);
-
- for (std::size_t k = 0; k < size(); k++)
- {
- const auto &t = m_terms[k];
- const auto v(static_cast<nl_fptype>(t.getV()));
- // avoid floating point exceptions
- const nl_fptype DD_n = std::max(-fp_constants<nl_fptype>::TIMESTEP_MAXDIFF(),
- std::min(+fp_constants<nl_fptype>::TIMESTEP_MAXDIFF(),(v - m_last_V[k])));
-
- m_last_V[k] = v;
- const nl_fptype hn = cur_ts;
-
- nl_fptype DD2 = (DD_n / hn - m_DD_n_m_1[k] / m_h_n_m_1[k]) / (hn + m_h_n_m_1[k]);
- nl_fptype new_net_timestep(0);
-
- m_h_n_m_1[k] = hn;
- m_DD_n_m_1[k] = DD_n;
- if (plib::abs(DD2) > fp_constants<nl_fptype>::TIMESTEP_MINDIV()) // avoid div-by-zero
- new_net_timestep = plib::sqrt(m_params.m_dynamic_lte / plib::abs(nlconst::half()*DD2));
- else
- new_net_timestep = m_params.m_max_timestep;
-
- new_solver_timestep = std::min(new_net_timestep, new_solver_timestep);
- }
- new_solver_timestep = std::max(new_solver_timestep, m_params.m_min_timestep);
-
- // FIXME: Factor 2 below is important. Without, we get timing issues. This must be a bug elsewhere.
- return std::max(netlist_time::from_fp(new_solver_timestep), netlist_time::quantum() * 2);
- }
-
- template <typename M>
- void build_mat_ptr(M &mat)
- {
- const std::size_t iN = size();
-
- for (std::size_t k=0; k<iN; k++)
- {
- std::size_t cnt(0);
- // build pointers into the compressed row format matrix for each terminal
- for (std::size_t j=0; j< this->m_terms[k].railstart();j++)
- {
- int other = this->m_terms[k].m_connected_net_idx[j];
- if (other >= 0)
- {
- m_mat_ptr[k][j] = &(mat[k][static_cast<std::size_t>(other)]);
- cnt++;
- }
- }
- nl_assert_always(cnt == this->m_terms[k].railstart(), "Count and railstart mismatch");
- m_mat_ptr[k][this->m_terms[k].railstart()] = &(mat[k][k]);
- }
- }
-
- template <typename M>
- void clear_square_mat(M &m)
- {
- const std::size_t n = size();
- for (std::size_t k=0; k < n; k++)
- {
- auto *p = &(m[k][0]);
- using mat_elem_type = typename std::decay<decltype(*p)>::type;
- for (std::size_t i=0; i < n; i++)
- p[i] = plib::constants<mat_elem_type>::zero();
- }
- }
-
- void fill_matrix_and_rhs()
- {
- const std::size_t N = size();
-
- for (std::size_t k = 0; k < N; k++)
- {
- auto &net = m_terms[k];
- auto **tcr_r = &(m_mat_ptr[k][0]);
-
- using source_type = typename decltype(m_gtn)::value_type;
- const std::size_t term_count = net.count();
- const std::size_t railstart = net.railstart();
- const auto &go = m_gonn[k];
- const auto &gt = m_gtn[k];
- const auto &Idr = m_Idrn[k];
- const auto &cnV = m_connected_net_Vn[k];
-
- // FIXME: gonn, gtn and Idr - which float types should they have?
-
- auto gtot_t = std::accumulate(gt, gt + term_count, plib::constants<source_type>::zero());
-
- // update diagonal element ...
- *tcr_r[railstart] = static_cast<FT>(gtot_t); //mat.A[mat.diag[k]] += gtot_t;
+ state_var<std::size_t> m_stat_calculations;
+ state_var<std::size_t> m_stat_newton_raphson;
+ state_var<std::size_t> m_stat_vsolver_calls;
- for (std::size_t i = 0; i < railstart; i++)
- *tcr_r[i] += static_cast<FT>(go[i]);
+ state_var<netlist_time_ext> m_last_step;
+ plib::aligned_vector<nldelegate_ts> m_step_funcs;
+ plib::aligned_vector<nldelegate_dyn> m_dynamic_funcs;
+ plib::aligned_vector<device_arena::unique_ptr<proxied_analog_output_t>> m_inps;
- auto RHS_t(std::accumulate(Idr, Idr + term_count, plib::constants<source_type>::zero()));
+ logic_input_t m_fb_sync;
+ logic_output_t m_Q_sync;
- for (std::size_t i = railstart; i < term_count; i++)
- RHS_t += (- go[i]) * *cnV[i];
+ std::size_t m_ops;
- m_RHS[k] = static_cast<FT>(RHS_t);
- }
- }
+ plib::aligned_vector<terms_for_net_t> m_rails_temp; // setup only
};
diff --git a/src/lib/netlist/solver/nld_matrix_solver_ext.h b/src/lib/netlist/solver/nld_matrix_solver_ext.h
new file mode 100644
index 00000000000..275ef135c69
--- /dev/null
+++ b/src/lib/netlist/solver/nld_matrix_solver_ext.h
@@ -0,0 +1,288 @@
+// license:GPL-2.0+
+// copyright-holders:Couriersud
+
+#ifndef NLD_MATRIX_SOLVER_EXT_H_
+#define NLD_MATRIX_SOLVER_EXT_H_
+
+///
+/// \file nld_matrix_solver.h
+///
+
+#include "nld_matrix_solver.h"
+
+#include <numeric>
+
+namespace netlist
+{
+namespace solver
+{
+
+ template <typename FT, int SIZE>
+ class matrix_solver_ext_t: public matrix_solver_t
+ {
+ public:
+
+ using float_type = FT;
+
+ matrix_solver_ext_t(netlist_state_t &anetlist, const pstring &name,
+ const analog_net_t::list_t &nets,
+ const solver_parameters_t *params, const std::size_t size)
+ : matrix_solver_t(anetlist, name, nets, params)
+ , m_new_V(size)
+ , m_RHS(size)
+ , m_mat_ptr(size, this->max_railstart() + 1)
+ , m_last_V(size, nlconst::zero())
+ , m_DD_n_m_1(size, nlconst::zero())
+ , m_h_n_m_1(size, nlconst::magic(1e-6)) // we need a non zero value here
+ , m_dim(size)
+ {
+ //
+ // save states
+ //
+ state().save(*this, m_last_V.as_base(), this->name(), "m_last_V");
+ state().save(*this, m_DD_n_m_1.as_base(), this->name(), "m_DD_n_m_1");
+ state().save(*this, m_h_n_m_1.as_base(), this->name(), "m_h_n_m_1");
+ }
+
+ protected:
+ static constexpr const std::size_t SIZEABS = plib::parray<FT, SIZE>::SIZEABS();
+ static constexpr const std::size_t m_pitch_ABS = (((SIZEABS + 0) + 7) / 8) * 8;
+
+ //PALIGNAS_VECTOROPT() parrays define alignment already
+ plib::parray<float_type, SIZE> m_new_V;
+ //PALIGNAS_VECTOROPT() parrays define alignment already
+ plib::parray<float_type, SIZE> m_RHS;
+
+ //PALIGNAS_VECTOROPT() parrays define alignment already
+ plib::pmatrix2d<float_type *> m_mat_ptr;
+
+ std::size_t max_railstart() const noexcept
+ {
+ std::size_t max_rail = 0;
+ for (std::size_t k = 0; k < m_terms.size(); k++)
+ max_rail = std::max(max_rail, m_terms[k].railstart());
+ return max_rail;
+ }
+
+
+ template <typename T, typename M>
+ void log_fill(const T &fill, M &mat)
+ {
+ const std::size_t iN = fill.size();
+
+ // FIXME: Not yet working, mat_cr.h needs some more work
+#if 0
+ auto mat_GE = dynamic_cast<plib::pGEmatrix_cr_t<typename M::base> *>(&mat);
+#else
+ plib::unused_var(mat);
+#endif
+ std::vector<unsigned> levL(iN, 0);
+ std::vector<unsigned> levU(iN, 0);
+
+ // parallel scheme for L x = y
+ for (std::size_t k = 0; k < iN; k++)
+ {
+ unsigned lm=0;
+ for (std::size_t j = 0; j<k; j++)
+ if (fill[k][j] < M::FILL_INFINITY)
+ lm = std::max(lm, levL[j]);
+ levL[k] = 1+lm;
+ }
+
+ // parallel scheme for U x = y
+ for (std::size_t k = iN; k-- > 0; )
+ {
+ unsigned lm=0;
+ for (std::size_t j = iN; --j > k; )
+ if (fill[k][j] < M::FILL_INFINITY)
+ lm = std::max(lm, levU[j]);
+ levU[k] = 1+lm;
+ }
+ for (std::size_t k = 0; k < iN; k++)
+ {
+ unsigned fm = 0;
+ pstring ml = "";
+ for (std::size_t j = 0; j < iN; j++)
+ {
+ ml += fill[k][j] == 0 ? 'X' : fill[k][j] < M::FILL_INFINITY ? '+' : '.';
+ if (fill[k][j] < M::FILL_INFINITY)
+ if (fill[k][j] > fm)
+ fm = fill[k][j];
+ }
+#if 0
+ this->log().verbose("{1:4} {2} {3:4} {4:4} {5:4} {6:4}", k, ml,
+ levL[k], levU[k], mat_GE ? mat_GE->get_parallel_level(k) : 0, fm);
+#else
+ this->log().verbose("{1:4} {2} {3:4} {4:4} {5:4} {6:4}", k, ml,
+ levL[k], levU[k], 0, fm);
+#endif
+ }
+ }
+
+ constexpr std::size_t size() const noexcept
+ {
+ return (SIZE > 0) ? static_cast<std::size_t>(SIZE) : m_dim;
+ }
+
+#if 1
+ void store() override
+ {
+ const std::size_t iN = size();
+ for (std::size_t i = 0; i < iN; i++)
+ this->m_terms[i].setV(static_cast<fptype>(m_new_V[i]));
+ }
+#else
+ // global tanh damping (4.197)
+ // partially cures the symptoms but not the cause
+ void store() override
+ {
+ const std::size_t iN = size();
+ for (std::size_t i = 0; i < iN; i++)
+ {
+ auto oldV = this->m_terms[i].template getV<fptype>();
+ this->m_terms[i].setV(oldV + 0.02 * plib::tanh((m_new_V[i]-oldV)*50.0));
+ }
+ }
+#endif
+ bool check_err() const override
+ {
+ // NOTE: Ideally we should also include currents (RHS) here. This would
+ // need a reevaluation of the right hand side after voltages have been updated
+ // and thus belong into a different calculation. This applies to all solvers.
+
+ const std::size_t iN = size();
+ const auto reltol(static_cast<float_type>(m_params.m_reltol));
+ const auto vntol(static_cast<float_type>(m_params.m_vntol));
+ for (std::size_t i = 0; i < iN; i++)
+ {
+ const auto vold(static_cast<float_type>(this->m_terms[i].getV()));
+ const auto vnew(m_new_V[i]);
+ const auto tol(vntol + reltol * std::max(plib::abs(vnew),plib::abs(vold)));
+ if (plib::abs(vnew - vold) > tol)
+ return true;
+ }
+ return false;
+ }
+
+ netlist_time compute_next_timestep(fptype cur_ts, fptype max_ts) override
+ {
+ fptype new_solver_timestep(max_ts);
+
+ for (std::size_t k = 0; k < size(); k++)
+ {
+ const auto &t = m_terms[k];
+ const auto v(static_cast<fptype>(t.getV()));
+ // avoid floating point exceptions
+ const fptype DD_n = std::max(-fp_constants<fptype>::TIMESTEP_MAXDIFF(),
+ std::min(+fp_constants<fptype>::TIMESTEP_MAXDIFF(),(v - m_last_V[k])));
+
+ m_last_V[k] = v;
+ const fptype hn = cur_ts;
+
+ fptype DD2 = (DD_n / hn - m_DD_n_m_1[k] / m_h_n_m_1[k]) / (hn + m_h_n_m_1[k]);
+ fptype new_net_timestep(0);
+
+ m_h_n_m_1[k] = hn;
+ m_DD_n_m_1[k] = DD_n;
+ if (plib::abs(DD2) > fp_constants<fptype>::TIMESTEP_MINDIV()) // avoid div-by-zero
+ new_net_timestep = plib::sqrt(m_params.m_dynamic_lte / plib::abs(nlconst::half()*DD2));
+ else
+ new_net_timestep = m_params.m_max_timestep;
+
+ new_solver_timestep = std::min(new_net_timestep, new_solver_timestep);
+ }
+ new_solver_timestep = std::max(new_solver_timestep, m_params.m_min_timestep);
+
+ // FIXME: Factor 2 below is important. Without, we get timing issues. This must be a bug elsewhere.
+ return std::max(netlist_time::from_fp(new_solver_timestep), netlist_time::quantum() * 2);
+ }
+
+ template <typename M>
+ void build_mat_ptr(M &mat)
+ {
+ const std::size_t iN = size();
+
+ for (std::size_t k=0; k<iN; k++)
+ {
+ std::size_t cnt(0);
+ // build pointers into the compressed row format matrix for each terminal
+ for (std::size_t j=0; j< this->m_terms[k].railstart();j++)
+ {
+ int other = this->m_terms[k].m_connected_net_idx[j];
+ if (other >= 0)
+ {
+ m_mat_ptr[k][j] = &(mat[k][static_cast<std::size_t>(other)]);
+ cnt++;
+ }
+ }
+ nl_assert_always(cnt == this->m_terms[k].railstart(), "Count and railstart mismatch");
+ m_mat_ptr[k][this->m_terms[k].railstart()] = &(mat[k][k]);
+ }
+ }
+
+ template <typename M>
+ void clear_square_mat(M &m)
+ {
+ const std::size_t n = size();
+ for (std::size_t k=0; k < n; k++)
+ {
+ auto *p = &(m[k][0]);
+ using mat_elem_type = typename std::decay<decltype(*p)>::type;
+ for (std::size_t i=0; i < n; i++)
+ p[i] = plib::constants<mat_elem_type>::zero();
+ }
+ }
+
+ void fill_matrix_and_rhs()
+ {
+ const std::size_t N = size();
+
+ for (std::size_t k = 0; k < N; k++)
+ {
+ auto &net = m_terms[k];
+ auto **tcr_r = &(m_mat_ptr[k][0]);
+
+ using source_type = typename decltype(m_gtn)::value_type;
+ const std::size_t term_count = net.count();
+ const std::size_t railstart = net.railstart();
+ const auto &go = m_gonn[k];
+ const auto &gt = m_gtn[k];
+ const auto &Idr = m_Idrn[k];
+ const auto &cnV = m_connected_net_Vn[k];
+
+ // FIXME: gonn, gtn and Idr - which float types should they have?
+
+ auto gtot_t = std::accumulate(gt, gt + term_count, plib::constants<source_type>::zero());
+
+ // update diagonal element ...
+ *tcr_r[railstart] = static_cast<FT>(gtot_t); //mat.A[mat.diag[k]] += gtot_t;
+
+ for (std::size_t i = 0; i < railstart; i++)
+ *tcr_r[i] += static_cast<FT>(go[i]);
+
+ auto RHS_t(std::accumulate(Idr, Idr + term_count, plib::constants<source_type>::zero()));
+
+ for (std::size_t i = railstart; i < term_count; i++)
+ RHS_t += (- go[i]) * *cnV[i];
+
+ m_RHS[k] = static_cast<FT>(RHS_t);
+ }
+ }
+
+ private:
+ // state - variable time_stepping
+ //PALIGNAS_VECTOROPT() parrays define alignment already
+ plib::parray<fptype, SIZE> m_last_V;
+ // PALIGNAS_VECTOROPT() parrays define alignment already
+ plib::parray<fptype, SIZE> m_DD_n_m_1;
+ // PALIGNAS_VECTOROPT() parrays define alignment already
+ plib::parray<fptype, SIZE> m_h_n_m_1;
+
+ const std::size_t m_dim;
+
+ };
+
+} // namespace solver
+} // namespace netlist
+
+#endif // NLD_MATRIX_SOLVER_EXT_H_
diff --git a/src/lib/netlist/solver/nld_ms_direct.h b/src/lib/netlist/solver/nld_ms_direct.h
index ab4df0758e1..b32e4d2172b 100644
--- a/src/lib/netlist/solver/nld_ms_direct.h
+++ b/src/lib/netlist/solver/nld_ms_direct.h
@@ -13,6 +13,8 @@
#include "plib/parray.h"
#include "plib/vector_ops.h"
+#include "nld_matrix_solver_ext.h"
+
#include <algorithm>
namespace netlist
@@ -49,7 +51,7 @@ namespace solver
template <typename T>
void LE_back_subst(T & x);
- PALIGNAS_VECTOROPT()
+ // PALIGNAS_VECTOROPT() parrays define alignment already
plib::parray2D<FT, SIZE, m_pitch_ABS> m_A;
};
diff --git a/src/lib/netlist/solver/nld_ms_direct1.h b/src/lib/netlist/solver/nld_ms_direct1.h
index 095d35a30c0..e33846ad403 100644
--- a/src/lib/netlist/solver/nld_ms_direct1.h
+++ b/src/lib/netlist/solver/nld_ms_direct1.h
@@ -8,6 +8,7 @@
/// \file nld_ms_direct1.h
///
+#include "nld_matrix_solver_ext.h"
#include "nld_ms_direct.h"
#include "nld_solver.h"
diff --git a/src/lib/netlist/solver/nld_ms_direct2.h b/src/lib/netlist/solver/nld_ms_direct2.h
index 744737b3892..365c1cac33e 100644
--- a/src/lib/netlist/solver/nld_ms_direct2.h
+++ b/src/lib/netlist/solver/nld_ms_direct2.h
@@ -8,6 +8,7 @@
/// \file nld_ms_direct2.h
///
+#include "nld_matrix_solver_ext.h"
#include "nld_ms_direct.h"
#include "nld_solver.h"
diff --git a/src/lib/netlist/solver/nld_ms_gcr.h b/src/lib/netlist/solver/nld_ms_gcr.h
index 72e5c45f525..3de955627ee 100644
--- a/src/lib/netlist/solver/nld_ms_gcr.h
+++ b/src/lib/netlist/solver/nld_ms_gcr.h
@@ -12,7 +12,8 @@
#include "plib/mat_cr.h"
-#include "nld_ms_direct.h"
+//#include "nld_ms_direct.h"
+#include "nld_matrix_solver_ext.h"
#include "nld_solver.h"
#include "plib/pdynlib.h"
#include "plib/pstream.h"
@@ -31,6 +32,8 @@ namespace solver
public:
using mat_type = plib::pGEmatrix_cr_t<plib::pmatrix_cr_t<FT, SIZE>>;
+ using base_type = matrix_solver_ext_t<FT, SIZE>;
+ using fptype = typename base_type::fptype;
matrix_solver_GCR_t(netlist_state_t &anetlist, const pstring &name,
const analog_net_t::list_t &nets,
@@ -85,9 +88,9 @@ namespace solver
anetlist.log().verbose("maximum fill: {1}", gr.first);
anetlist.log().verbose("Post elimination occupancy ratio: {2} Ops: {1}", gr.second,
- static_cast<nl_fptype>(mat.nz_num) / static_cast<nl_fptype>(iN * iN));
+ static_cast<fptype>(mat.nz_num) / static_cast<fptype>(iN * iN));
anetlist.log().verbose(" Pre elimination occupancy ratio: {2}",
- static_cast<nl_fptype>(raw_elements) / static_cast<nl_fptype>(iN * iN));
+ static_cast<fptype>(raw_elements) / static_cast<fptype>(iN * iN));
// FIXME: Move me
//
@@ -123,7 +126,7 @@ namespace solver
pstring static_compile_name();
mat_type mat;
- plib::dynproc<void, FT *, nl_fptype *, nl_fptype *, nl_fptype *, nl_fptype ** > m_proc;
+ plib::dynproc<void, FT *, fptype *, fptype *, fptype *, fptype ** > m_proc;
};
@@ -139,7 +142,7 @@ namespace solver
pstring fpsuffix(fp_constants<FT>::suffix());
for (std::size_t i = 0; i < mat.nz_num; i++)
- strm("{1} m_A{2}(0.0);\n", fptype, i, i);
+ strm("\t{1} m_A{2}(0.0);\n", fptype, i, i);
for (std::size_t k = 0; k < iN; k++)
{
@@ -150,23 +153,27 @@ namespace solver
//auto gtot_t = std::accumulate(gt, gt + term_count, plib::constants<FT>::zero());
//*tcr_r[railstart] = static_cast<FT>(gtot_t); //mat.A[mat.diag[k]] += gtot_t;
auto pd = this->m_mat_ptr[k][net.railstart()] - &this->mat.A[0];
+#if 0
pstring terms = plib::pfmt("m_A{1} = gt[{2}]")(pd, this->m_gtn.didx(k,0));
for (std::size_t i=1; i < net.count(); i++)
terms += plib::pfmt(" + gt[{1}]")(this->m_gtn.didx(k,i));
strm("\t{1};\n", terms);
-
+#else
+ for (std::size_t i=0; i < net.count(); i++)
+ strm("\tm_A{1} += gt[{2}];\n", pd, this->m_gtn.didx(k,i));
+#endif
//for (std::size_t i = 0; i < railstart; i++)
// *tcr_r[i] += static_cast<FT>(go[i]);
for (std::size_t i = 0; i < net.railstart(); i++)
{
auto p = this->m_mat_ptr[k][i] - &this->mat.A[0];
- strm("\tm_A{1} = m_A{1} + go[{2}];\n", p, this->m_gonn.didx(k,i));
+ strm("\tm_A{1} += go[{2}];\n", p, this->m_gonn.didx(k,i));
}
+#if 0
//auto RHS_t(std::accumulate(Idr, Idr + term_count, plib::constants<FT>::zero()));
-
terms = plib::pfmt("{1} RHS{2} = Idr[{3}]")(fptype, k, this->m_Idrn.didx(k,0));
for (std::size_t i=1; i < net.count(); i++)
terms += plib::pfmt(" + Idr[{1}]")(this->m_Idrn.didx(k,i));
@@ -174,9 +181,21 @@ namespace solver
// RHS_t += (- go[i]) * *cnV[i];
for (std::size_t i = net.railstart(); i < net.count(); i++)
- terms += plib::pfmt(" - go[{1}] * *cnV[{1}]")(this->m_gonn.didx(k,i), this->m_connected_net_Vn.didx(k,i));
+ terms += plib::pfmt(" - go[{1}] * *cnV[{2}]")(this->m_gonn.didx(k,i), this->m_connected_net_Vn.didx(k,i));
strm("\t{1};\n", terms);
+#else
+ //auto RHS_t(std::accumulate(Idr, Idr + term_count, plib::constants<FT>::zero()));
+ strm("\t{1} RHS{2} = Idr[{3}];\n", fptype, k, this->m_Idrn.didx(k,0));
+ for (std::size_t i=1; i < net.count(); i++)
+ strm("\tRHS{1} += Idr[{2}];\n", k, this->m_Idrn.didx(k,i));
+ //for (std::size_t i = railstart; i < term_count; i++)
+ // RHS_t += (- go[i]) * *cnV[i];
+
+ for (std::size_t i = net.railstart(); i < net.count(); i++)
+ strm("\tRHS{1} -= go[{2}] * *cnV[{3}];\n", k, this->m_gonn.didx(k,i), this->m_connected_net_Vn.didx(k,i));
+
+#endif
}
for (std::size_t i = 0; i < iN - 1; i++)
@@ -188,7 +207,7 @@ namespace solver
std::size_t pi = mat.diag[i];
//const FT f = 1.0 / m_A[pi++];
- strm("const {1} f{2} = 1.0{3} / m_A{4};\n", fptype, i, fpsuffix, pi);
+ strm("\tconst {1} f{2} = 1.0{3} / m_A{4};\n", fptype, i, fpsuffix, pi);
pi++;
const std::size_t piie = mat.row_idx[i+1];
@@ -224,6 +243,7 @@ namespace solver
strm("\tV[{1}] = RHS{2} / m_A{3};\n", iN - 1, iN - 1, mat.diag[iN - 1]);
for (std::size_t j = iN - 1; j-- > 0;)
{
+#if 1
strm("\t{1} tmp{2} = 0.0{3};\n", fptype, j, fpsuffix);
const std::size_t e = mat.row_idx[j+1];
for (std::size_t pk = mat.diag[j] + 1; pk < e; pk++)
@@ -231,6 +251,24 @@ namespace solver
strm("\ttmp{1} += m_A{2} * V[{3}];\n", j, pk, mat.col_idx[pk]);
}
strm("\tV[{1}] = (RHS{1} - tmp{1}) / m_A{4};\n", j, j, j, mat.diag[j]);
+#else
+ pstring tmp;
+ const std::size_t e = mat.row_idx[j+1];
+ for (std::size_t pk = mat.diag[j] + 1; pk < e; pk++)
+ {
+ tmp = tmp + plib::pfmt(" + m_A{2} * V[{3}]")(j, pk, mat.col_idx[pk]);
+ }
+ if (tmp.empty())
+ {
+ strm("\tV[{1}] = RHS{1} / m_A{2};\n", j, mat.diag[j]);
+ }
+ else
+ {
+ //strm("\tconst {1} tmp{2} = {3};\n", fptype, j, tmp.substr(3));
+ //strm("\tV[{1}] = (RHS{1} - tmp{1}) / m_A{2};\n", j, mat.diag[j]);
+ strm("\tV[{1}] = (RHS{1} - ({2})) / m_A{3};\n", j, tmp.substr(3), mat.diag[j]);
+ }
+#endif
}
}
@@ -238,7 +276,7 @@ namespace solver
pstring matrix_solver_GCR_t<FT, SIZE>::static_compile_name()
{
pstring str_floattype(fp_constants<FT>::name());
- pstring str_fptype(fp_constants<nl_fptype>::name());
+ pstring str_fptype(fp_constants<fptype>::name());
std::stringstream t;
t.imbue(std::locale::classic());
plib::putf8_fmt_writer w(&t);
@@ -255,7 +293,7 @@ namespace solver
plib::putf8_fmt_writer strm(&t);
pstring name = static_compile_name();
pstring str_floattype(fp_constants<FT>::name());
- pstring str_fptype(fp_constants<nl_fptype>::name());
+ pstring str_fptype(fp_constants<fptype>::name());
pstring extqual;
if (target == CXX_EXTERNAL_C)
@@ -263,8 +301,8 @@ namespace solver
else if (target == CXX_STATIC)
extqual = "static";
strm.writeline(plib::pfmt("{1} void {2}({3} * __restrict V, "
- "{4} * __restrict go, {4} * __restrict gt, "
- "{4} * __restrict Idr, {4} ** __restrict cnV)\n")(extqual, name, str_floattype, str_fptype));
+ "const {4} * __restrict go, const {4} * __restrict gt, "
+ "const {4} * __restrict Idr, const {4} * const * __restrict cnV)\n")(extqual, name, str_floattype, str_fptype));
strm.writeline("{\n");
generate_code(strm);
strm.writeline("}\n");
diff --git a/src/lib/netlist/solver/nld_ms_gmres.h b/src/lib/netlist/solver/nld_ms_gmres.h
index add885c2bfb..837c0bc780e 100644
--- a/src/lib/netlist/solver/nld_ms_gmres.h
+++ b/src/lib/netlist/solver/nld_ms_gmres.h
@@ -8,6 +8,7 @@
/// \file nld_ms_gmres.h
///
+#include "nld_matrix_solver_ext.h"
#include "nld_ms_direct.h"
#include "nld_solver.h"
#include "plib/gmres.h"
diff --git a/src/lib/netlist/solver/nld_ms_sm.h b/src/lib/netlist/solver/nld_ms_sm.h
index 599252adf6a..fd11a32a102 100644
--- a/src/lib/netlist/solver/nld_ms_sm.h
+++ b/src/lib/netlist/solver/nld_ms_sm.h
@@ -33,6 +33,7 @@
///
#include "nld_matrix_solver.h"
+#include "nld_matrix_solver_ext.h"
#include "nld_solver.h"
#include "plib/vector_ops.h"
diff --git a/src/lib/netlist/solver/nld_ms_sor.h b/src/lib/netlist/solver/nld_ms_sor.h
index a253f160c4a..6b1a21afd39 100644
--- a/src/lib/netlist/solver/nld_ms_sor.h
+++ b/src/lib/netlist/solver/nld_ms_sor.h
@@ -12,8 +12,8 @@
/// Fow w==1 we will do the classic Gauss-Seidel approach.
///
+#include "nld_matrix_solver_ext.h"
#include "nld_ms_direct.h"
-#include "nld_solver.h"
#include <algorithm>
@@ -70,16 +70,19 @@ namespace solver
for (std::size_t k = 0; k < iN; k++)
{
- nl_fptype gtot_t = nlconst::zero();
- nl_fptype gabs_t = nlconst::zero();
- nl_fptype RHS_t = nlconst::zero();
const std::size_t term_count = this->m_terms[k].count();
- const nl_fptype * const gt = this->m_gtn[k];
- const nl_fptype * const go = this->m_gonn[k];
- const nl_fptype * const Idr = this->m_Idrn[k];
+ const auto * const gt = this->m_gtn[k];
+ const auto * const go = this->m_gonn[k];
+ const auto * const Idr = this->m_Idrn[k];
auto other_cur_analog = this->m_connected_net_Vn[k];
+ using fpaggtype = std::remove_reference_t<std::remove_cv_t<decltype(this->m_gtn[0][0])>>;
+
+ fpaggtype gtot_t = nlconst_base<fpaggtype>::zero();
+ fpaggtype gabs_t = nlconst_base<fpaggtype>::zero();
+ fpaggtype RHS_t = nlconst_base<fpaggtype>::zero();
+
this->m_new_V[k] = static_cast<float_type>(this->m_terms[k].getV());
for (std::size_t i = 0; i < term_count; i++)
@@ -126,7 +129,7 @@ namespace solver
{
const int * net_other = this->m_terms[k].m_connected_net_idx.data();
const std::size_t railstart = this->m_terms[k].railstart();
- const nl_fptype * go = this->m_gonn[k];
+ const auto * go = this->m_gonn[k];
float_type Idrive = plib::constants<float_type>::zero();
for (std::size_t i = 0; i < railstart; i++)
diff --git a/src/lib/netlist/solver/nld_ms_sor_mat.h b/src/lib/netlist/solver/nld_ms_sor_mat.h
index d575cbb1f37..2d29d0f01cd 100644
--- a/src/lib/netlist/solver/nld_ms_sor_mat.h
+++ b/src/lib/netlist/solver/nld_ms_sor_mat.h
@@ -12,9 +12,8 @@
/// For w==1 we will do the classic Gauss-Seidel approach
///
-#include "nld_matrix_solver.h"
+#include "nld_matrix_solver_ext.h"
#include "nld_ms_direct.h"
-#include "nld_solver.h"
#include <algorithm>
diff --git a/src/lib/netlist/solver/nld_ms_w.h b/src/lib/netlist/solver/nld_ms_w.h
index 8571d459ad8..598a4b9e516 100644
--- a/src/lib/netlist/solver/nld_ms_w.h
+++ b/src/lib/netlist/solver/nld_ms_w.h
@@ -40,8 +40,7 @@
/// introduces numerical instability.
///
-#include "nld_matrix_solver.h"
-#include "nld_solver.h"
+#include "nld_matrix_solver_ext.h"
#include "plib/vector_ops.h"
#include <algorithm>
diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp
index 8787247e505..4e0d8f4c4b3 100644
--- a/src/lib/netlist/solver/nld_solver.cpp
+++ b/src/lib/netlist/solver/nld_solver.cpp
@@ -87,7 +87,7 @@ namespace devices
analog_net_t::list_t &nets,
solver::solver_parameters_t &params, std::size_t size)
{
- return host_arena::make_unique<C>(nl, name, nets, &params, size);
+ return plib::make_unique<C, host_arena>(nl, name, nets, &params, size);
}
template <typename FT, int SIZE>
@@ -136,29 +136,21 @@ namespace devices
switch (net_count)
{
case 1:
- return host_arena::make_unique<solver::matrix_solver_direct1_t<FT>>(state(), sname, nets, &m_params);
- break;
+ return plib::make_unique<solver::matrix_solver_direct1_t<FT>, host_arena>(state(), sname, nets, &m_params);
case 2:
- return host_arena::make_unique<solver::matrix_solver_direct2_t<FT>>(state(), sname, nets, &m_params);
- break;
+ return plib::make_unique<solver::matrix_solver_direct2_t<FT>, host_arena>(state(), sname, nets, &m_params);
case 3:
return create_solver<FT, 3>(3, sname, nets);
- break;
case 4:
return create_solver<FT, 4>(4, sname, nets);
- break;
case 5:
return create_solver<FT, 5>(5, sname, nets);
- break;
case 6:
return create_solver<FT, 6>(6, sname, nets);
- break;
case 7:
return create_solver<FT, 7>(7, sname, nets);
- break;
case 8:
return create_solver<FT, 8>(8, sname, nets);
- break;
default:
log().info(MI_NO_SPECIFIC_SOLVER(net_count));
if (net_count <= 16)
@@ -186,7 +178,6 @@ namespace devices
return create_solver<FT, -512>(net_count, sname, nets);
}
return create_solver<FT, 0>(net_count, sname, nets);
- break;
}
}
@@ -201,7 +192,7 @@ namespace devices
{
netlist.log().verbose(" ==> not a rail net");
// Must be an analog net
- auto &n = *static_cast<analog_net_t *>(net.get());
+ auto &n = dynamic_cast<analog_net_t &>(*net);
if (!already_processed(n))
{
groupspre.emplace_back(analog_net_t::list_t());
@@ -273,9 +264,9 @@ namespace devices
// only process analog terminals
if (term->is_type(detail::terminal_type::TERMINAL))
{
- auto *pt = static_cast<terminal_t *>(term);
+ auto &pt = dynamic_cast<terminal_t &>(*term);
// check the connected terminal
- analog_net_t &connected_net = netlist.setup().get_connected_terminal(*pt)->net();
+ analog_net_t &connected_net = netlist.setup().get_connected_terminal(pt)->net();
netlist.log().verbose(" Connected net {}", connected_net.name());
if (!check_if_processed_and_join(connected_net))
process_net(netlist, connected_net);
@@ -306,17 +297,17 @@ namespace devices
switch (m_params.m_fp_type())
{
case solver::matrix_fp_type_e::FLOAT:
- if (!NL_USE_FLOAT_MATRIX)
+ if (!config::use_float_matrix())
log().info("FPTYPE {1} not supported. Using DOUBLE", m_params.m_fp_type().name());
- ms = create_solvers<std::conditional_t<NL_USE_FLOAT_MATRIX,float, double>>(sname, grp);
+ ms = create_solvers<std::conditional_t<config::use_float_matrix::value, float, double>>(sname, grp);
break;
case solver::matrix_fp_type_e::DOUBLE:
ms = create_solvers<double>(sname, grp);
break;
case solver::matrix_fp_type_e::LONGDOUBLE:
- if (!NL_USE_LONG_DOUBLE_MATRIX)
+ if (!config::use_long_double_matrix())
log().info("FPTYPE {1} not supported. Using DOUBLE", m_params.m_fp_type().name());
- ms = create_solvers<std::conditional_t<NL_USE_LONG_DOUBLE_MATRIX, long double, double>>(sname, grp);
+ ms = create_solvers<std::conditional_t<config::use_long_double_matrix::value, long double, double>>(sname, grp);
break;
case solver::matrix_fp_type_e::FLOATQ128:
#if (NL_USE_FLOAT128)
@@ -355,7 +346,7 @@ namespace devices
for (auto & s : m_mat_solvers)
{
auto r = s->create_solver_code(target);
- if (r.first != "") // ignore solvers not supporting static compile
+ if (!r.first.empty()) // ignore solvers not supporting static compile
mp.push_back(r);
}
return mp;
diff --git a/src/lib/netlist/solver/nld_solver.h b/src/lib/netlist/solver/nld_solver.h
index a0c28e6b302..e9734af1520 100644
--- a/src/lib/netlist/solver/nld_solver.h
+++ b/src/lib/netlist/solver/nld_solver.h
@@ -39,7 +39,7 @@ namespace devices
void post_start();
void stop();
- nl_fptype gmin() const { return m_params.m_gmin(); }
+ auto gmin() const -> decltype(solver::solver_parameters_t::m_gmin()) { return m_params.m_gmin(); }
solver::static_compile_container create_solver_code(solver::static_compile_target target);
diff --git a/src/lib/netlist/tools/nl_convert.cpp b/src/lib/netlist/tools/nl_convert.cpp
index 393456a67f2..ee6a9827eb3 100644
--- a/src/lib/netlist/tools/nl_convert.cpp
+++ b/src/lib/netlist/tools/nl_convert.cpp
@@ -112,7 +112,7 @@ nl_convert_base_t::~nl_convert_base_t()
void nl_convert_base_t::add_pin_alias(const pstring &devname, const pstring &name, const pstring &alias)
{
pstring pname = devname + "." + name;
- m_pins.emplace(pname, arena::make_unique<pin_alias_t>(pname, devname + "." + alias));
+ m_pins.emplace(pname, plib::make_unique<pin_alias_t, arena>(pname, devname + "." + alias));
}
void nl_convert_base_t::add_ext_alias(const pstring &alias)
@@ -138,15 +138,15 @@ void nl_convert_base_t::add_device(arena::unique_ptr<dev_t> dev)
void nl_convert_base_t::add_device(const pstring &atype, const pstring &aname, const pstring &amodel)
{
- add_device(arena::make_unique<dev_t>(atype, aname, amodel));
+ add_device(plib::make_unique<dev_t, arena>(atype, aname, amodel));
}
void nl_convert_base_t::add_device(const pstring &atype, const pstring &aname, double aval)
{
- add_device(arena::make_unique<dev_t>(atype, aname, aval));
+ add_device(plib::make_unique<dev_t, arena>(atype, aname, aval));
}
void nl_convert_base_t::add_device(const pstring &atype, const pstring &aname)
{
- add_device(arena::make_unique<dev_t>(atype, aname));
+ add_device(plib::make_unique<dev_t, arena>(atype, aname));
}
void nl_convert_base_t::add_term(const pstring &netname, const pstring &termname)
@@ -161,7 +161,7 @@ void nl_convert_base_t::add_term(const pstring &netname, const pstring &termname
net = m_nets[netname].get();
else
{
- auto nets = arena::make_unique<net_t>(netname);
+ auto nets = plib::make_unique<net_t, arena>(netname);
net = nets.get();
m_nets.emplace(netname, std::move(nets));
}
@@ -245,6 +245,7 @@ void nl_convert_base_t::dump_nl()
}
std::vector<size_t> sorted;
+ sorted.reserve(m_devs.size());
for (size_t i=0; i < m_devs.size(); i++)
sorted.push_back(i);
std::sort(sorted.begin(), sorted.end(),
@@ -436,7 +437,7 @@ static int npoly(const pstring &s)
void nl_convert_spice_t::process_line(const pstring &line)
{
- if (line != "")
+ if (!line.empty())
{
//printf("// %s\n", line.c_str());
std::vector<pstring> tt(plib::psplit(line, " ", true));
@@ -976,7 +977,7 @@ void nl_convert_rinf_t::convert(const pstring &contents)
pstring sim = attr["Simulation"];
pstring val = attr["Value"];
pstring com = attr["Comment"];
- if (val == "")
+ if (val.empty())
val = com;
if (sim == "CAP")