2UF5PDYFOGJQLZCSARSLEADY5WLGRY6MSDNT3AZ5B75QORVRSJ6QC
# With "implements", we give our thorn its unique name.
implements: BaikalETK
# By "inheriting" other thorns, we tell the Toolkit that we
# will rely on variables/function that exist within those
# functions.
inherits: ADMBase ODESolvers
public:
CCTK_REAL evol_variables type = GF Timelevels=3 TAGS='rhs="evol_variables_rhs"'
{
aDD00GF,aDD01GF,aDD02GF,aDD11GF,aDD12GF,aDD22GF,alphaGF,betU0GF,betU1GF,betU2GF,cfGF,hDD00GF,hDD01GF,hDD02GF,hDD11GF,hDD12GF,hDD22GF,lambdaU0GF,lambdaU1GF,lambdaU2GF,trKGF,vetU0GF,vetU1GF,vetU2GF
} "BSSN evolved gridfunctions"
CCTK_REAL evol_variables_rhs type = GF Timelevels=1 TAGS='InterpNumTimelevels=1 prolongation="none"'
{
aDD00_rhsGF,aDD01_rhsGF,aDD02_rhsGF,aDD11_rhsGF,aDD12_rhsGF,aDD22_rhsGF,alpha_rhsGF,betU0_rhsGF,betU1_rhsGF,betU2_rhsGF,cf_rhsGF,hDD00_rhsGF,hDD01_rhsGF,hDD02_rhsGF,hDD11_rhsGF,hDD12_rhsGF,hDD22_rhsGF,lambdaU0_rhsGF,lambdaU1_rhsGF,lambdaU2_rhsGF,trK_rhsGF,vetU0_rhsGF,vetU1_rhsGF,vetU2_rhsGF
} "right-hand-side storage for BSSN evolved gridfunctions"
CCTK_REAL aux_variables type = GF Timelevels=3
{
HGF,MU0GF,MU1GF,MU2GF
} "Auxiliary gridfunctions for BSSN diagnostics"
CCTK_REAL auxevol_variables type = GF Timelevels=1 TAGS='InterpNumTimelevels=1 prolongation="none"'
{
RbarDD00GF,RbarDD01GF,RbarDD02GF,RbarDD11GF,RbarDD12GF,RbarDD22GF
} "Auxiliary gridfunctions needed for evaluating the BSSN RHSs"
# This param.ccl file was automatically generated by NRPy+.
# You are advised against modifying it directly.
shares: ADMBase
restricted:
CCTK_REAL eta "eta (see NRPy+ for parameter definition)"
{
*:* :: "All values accepted. NRPy+ does not restrict the allowed ranges of parameters yet."
} 2.0
CCTK_REAL diss_strength "diss_strength (see NRPy+ for parameter definition)"
{
*:* :: "All values accepted. NRPy+ does not restrict the allowed ranges of parameters yet."
} 0.1
# First allocate storage for all ADMBase gridfunctions, which are needed by NRPy+
STORAGE: ADMBase::metric, ADMBase::curv, ADMBase::lapse, ADMBase::shift
# Next allocate storage for all 3 gridfunction groups used in BaikalETK
STORAGE: evol_variables[3] # Evolution variables
STORAGE: evol_variables_rhs[1] # Variables storing right-hand-sides
STORAGE: aux_variables[3] # Diagnostics variables
STORAGE: auxevol_variables[1] # Single-timelevel storage of variables needed for evolutions.
# The following scheduler is based on Lean/LeanBSSNMoL/schedule.ccl
schedule BaikalETK_Banner at STARTUP
{
LANG: C
OPTIONS: meta
} "Output ASCII art banner"
schedule BaikalETK_ADM_to_BSSN at CCTK_INITIAL after ADMBase_PostInitial
{
LANG: C
OPTIONS: Local
SYNC: evol_variables
} "Convert initial data into BSSN variables"
# MoL: compute RHSs, etc
schedule driver_pt1_BSSN_Ricci in ODESolvers_RHS as BaikalETK_Ricci before BaikalETK_RHS
{
LANG: C
} "MoL: Compute Ricci tensor"
schedule driver_pt2_BSSN_RHSs in ODESolvers_RHS as BaikalETK_RHS after BaikalETK_Ricci
{
LANG: C
} "MoL: Evaluate BSSN RHSs"
schedule enforce_detgammabar_constraint in MoL_PostStep before BC_Update
{
LANG: C
} "Enforce detgammabar = detgammahat (= 1 in Cartesian)"
# Next update ADM quantities
schedule BaikalETK_BSSN_to_ADM in MoL_PostStep after BaikalETK_ApplyBCs before ADMBase_SetADMVars
{
LANG: C
OPTIONS: Local
} "Perform BSSN-to-ADM conversion. Useful for diagnostics."
# Compute Hamiltonian & momentum constraints
schedule BaikalETK_BSSN_constraints in MoL_PseudoEvolution
{
LANG: C
OPTIONS: Local
} "Compute BSSN (Hamiltonian and momentum) constraints"
#include <math.h>
#include <loop.hxx>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
void BaikalETK_ADM_to_BSSN(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
CCTK_REAL *alphaSphorCartGF = alp;
CCTK_REAL *BSphorCartU0GF = dtbetax;
CCTK_REAL *BSphorCartU1GF = dtbetay;
CCTK_REAL *BSphorCartU2GF = dtbetaz;
CCTK_REAL *KSphorCartDD00GF = kxx;
CCTK_REAL *KSphorCartDD01GF = kxy;
CCTK_REAL *KSphorCartDD02GF = kxz;
CCTK_REAL *KSphorCartDD11GF = kyy;
CCTK_REAL *KSphorCartDD12GF = kyz;
CCTK_REAL *KSphorCartDD22GF = kzz;
CCTK_REAL *betaSphorCartU0GF = betax;
CCTK_REAL *betaSphorCartU1GF = betay;
CCTK_REAL *betaSphorCartU2GF = betaz;
CCTK_REAL *gammaSphorCartDD00GF = gxx;
CCTK_REAL *gammaSphorCartDD01GF = gxy;
CCTK_REAL *gammaSphorCartDD02GF = gxz;
CCTK_REAL *gammaSphorCartDD11GF = gyy;
CCTK_REAL *gammaSphorCartDD12GF = gyz;
CCTK_REAL *gammaSphorCartDD22GF = gzz;
Loop::GF3D<CCTK_REAL,0,0,0> alphaSphorCartGF_(cctkGH,alphaSphorCartGF);
Loop::GF3D<CCTK_REAL,0,0,0> trKGF_(cctkGH,trKGF);
Loop::GF3D<CCTK_REAL,0,0,0> alphaGF_(cctkGH,alphaGF);
Loop::GF3D<CCTK_REAL,0,0,0> cfGF_(cctkGH,cfGF);
Loop::GF3D<CCTK_REAL,0,0,0> betaSphorCartU0GF_(cctkGH,betaSphorCartU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> BSphorCartU0GF_(cctkGH,BSphorCartU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU0GF_(cctkGH,vetU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU0GF_(cctkGH,betU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU0GF_(cctkGH,lambdaU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> gammaSphorCartDD00GF_(cctkGH,gammaSphorCartDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> KSphorCartDD00GF_(cctkGH,KSphorCartDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD00GF_(cctkGH,hDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD00GF_(cctkGH,aDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> gammaSphorCartDD01GF_(cctkGH,gammaSphorCartDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> KSphorCartDD01GF_(cctkGH,KSphorCartDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01GF_(cctkGH,hDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD01GF_(cctkGH,aDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> gammaSphorCartDD02GF_(cctkGH,gammaSphorCartDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> KSphorCartDD02GF_(cctkGH,KSphorCartDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02GF_(cctkGH,hDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD02GF_(cctkGH,aDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> betaSphorCartU1GF_(cctkGH,betaSphorCartU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> BSphorCartU1GF_(cctkGH,BSphorCartU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU1GF_(cctkGH,vetU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU1GF_(cctkGH,betU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU1GF_(cctkGH,lambdaU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> gammaSphorCartDD11GF_(cctkGH,gammaSphorCartDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> KSphorCartDD11GF_(cctkGH,KSphorCartDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11GF_(cctkGH,hDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD11GF_(cctkGH,aDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> gammaSphorCartDD12GF_(cctkGH,gammaSphorCartDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> KSphorCartDD12GF_(cctkGH,KSphorCartDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12GF_(cctkGH,hDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD12GF_(cctkGH,aDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> betaSphorCartU2GF_(cctkGH,betaSphorCartU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> BSphorCartU2GF_(cctkGH,BSphorCartU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU2GF_(cctkGH,vetU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU2GF_(cctkGH,betU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU2GF_(cctkGH,lambdaU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> gammaSphorCartDD22GF_(cctkGH,gammaSphorCartDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> KSphorCartDD22GF_(cctkGH,KSphorCartDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22GF_(cctkGH,hDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD22GF_(cctkGH,aDD22GF);
const CCTK_REAL invdx0 = 1.0/CCTK_DELTA_SPACE(0);
const CCTK_REAL invdx1 = 1.0/CCTK_DELTA_SPACE(1);
const CCTK_REAL invdx2 = 1.0/CCTK_DELTA_SPACE(2);
Loop::loop_all<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 1: Read from main memory and compute finite difference stencils:
*/
const double alphaSphorCart = alphaSphorCartGF_.ptr[alphaSphorCartGF_.offset(i0,i1,i2)];
const double betaSphorCartU0 = betaSphorCartU0GF_.ptr[betaSphorCartU0GF_.offset(i0,i1,i2)];
const double betaSphorCartU1 = betaSphorCartU1GF_.ptr[betaSphorCartU1GF_.offset(i0,i1,i2)];
const double betaSphorCartU2 = betaSphorCartU2GF_.ptr[betaSphorCartU2GF_.offset(i0,i1,i2)];
const double BSphorCartU0 = BSphorCartU0GF_.ptr[BSphorCartU0GF_.offset(i0,i1,i2)];
const double BSphorCartU1 = BSphorCartU1GF_.ptr[BSphorCartU1GF_.offset(i0,i1,i2)];
const double BSphorCartU2 = BSphorCartU2GF_.ptr[BSphorCartU2GF_.offset(i0,i1,i2)];
const double gammaSphorCartDD00 = gammaSphorCartDD00GF_.ptr[gammaSphorCartDD00GF_.offset(i0,i1,i2)];
const double gammaSphorCartDD01 = gammaSphorCartDD01GF_.ptr[gammaSphorCartDD01GF_.offset(i0,i1,i2)];
const double gammaSphorCartDD02 = gammaSphorCartDD02GF_.ptr[gammaSphorCartDD02GF_.offset(i0,i1,i2)];
const double gammaSphorCartDD11 = gammaSphorCartDD11GF_.ptr[gammaSphorCartDD11GF_.offset(i0,i1,i2)];
const double gammaSphorCartDD12 = gammaSphorCartDD12GF_.ptr[gammaSphorCartDD12GF_.offset(i0,i1,i2)];
const double gammaSphorCartDD22 = gammaSphorCartDD22GF_.ptr[gammaSphorCartDD22GF_.offset(i0,i1,i2)];
const double KSphorCartDD00 = KSphorCartDD00GF_.ptr[KSphorCartDD00GF_.offset(i0,i1,i2)];
const double KSphorCartDD01 = KSphorCartDD01GF_.ptr[KSphorCartDD01GF_.offset(i0,i1,i2)];
const double KSphorCartDD02 = KSphorCartDD02GF_.ptr[KSphorCartDD02GF_.offset(i0,i1,i2)];
const double KSphorCartDD11 = KSphorCartDD11GF_.ptr[KSphorCartDD11GF_.offset(i0,i1,i2)];
const double KSphorCartDD12 = KSphorCartDD12GF_.ptr[KSphorCartDD12GF_.offset(i0,i1,i2)];
const double KSphorCartDD22 = KSphorCartDD22GF_.ptr[KSphorCartDD22GF_.offset(i0,i1,i2)];
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 1: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = gammaSphorCartDD11*gammaSphorCartDD22;
const double tmp1 = gammaSphorCartDD00*tmp0;
const double tmp2 = gammaSphorCartDD02*gammaSphorCartDD12;
const double tmp3 = 2*gammaSphorCartDD01*tmp2;
const double tmp4 = ((gammaSphorCartDD12)*(gammaSphorCartDD12));
const double tmp5 = gammaSphorCartDD00*tmp4;
const double tmp6 = ((gammaSphorCartDD01)*(gammaSphorCartDD01));
const double tmp7 = gammaSphorCartDD22*tmp6;
const double tmp8 = ((gammaSphorCartDD02)*(gammaSphorCartDD02));
const double tmp9 = gammaSphorCartDD11*tmp8;
const double tmp10 = tmp1 + tmp3 - tmp5 - tmp7 - tmp9;
const double tmp11 = (1.0/(tmp10));
const double tmp12 = cbrt(tmp11);
const double tmp13 = 2*tmp11;
const double tmp14 = KSphorCartDD00*tmp11*(tmp0 - tmp4) + KSphorCartDD01*tmp13*(-gammaSphorCartDD01*gammaSphorCartDD22 + tmp2) + KSphorCartDD02*tmp13*(gammaSphorCartDD01*gammaSphorCartDD12 - gammaSphorCartDD02*gammaSphorCartDD11) + KSphorCartDD11*tmp11*(gammaSphorCartDD00*gammaSphorCartDD22 - tmp8) + KSphorCartDD12*tmp13*(-gammaSphorCartDD00*gammaSphorCartDD12 + gammaSphorCartDD01*gammaSphorCartDD02) + KSphorCartDD22*tmp11*(gammaSphorCartDD00*gammaSphorCartDD11 - tmp6);
const double tmp15 = (1.0/3.0)*tmp14;
hDD00GF_.ptr[hDD00GF_.offset(i0, i1, i2)] = gammaSphorCartDD00*tmp12 - 1;
hDD01GF_.ptr[hDD01GF_.offset(i0, i1, i2)] = gammaSphorCartDD01*tmp12;
hDD02GF_.ptr[hDD02GF_.offset(i0, i1, i2)] = gammaSphorCartDD02*tmp12;
hDD11GF_.ptr[hDD11GF_.offset(i0, i1, i2)] = gammaSphorCartDD11*tmp12 - 1;
hDD12GF_.ptr[hDD12GF_.offset(i0, i1, i2)] = gammaSphorCartDD12*tmp12;
hDD22GF_.ptr[hDD22GF_.offset(i0, i1, i2)] = gammaSphorCartDD22*tmp12 - 1;
aDD00GF_.ptr[aDD00GF_.offset(i0, i1, i2)] = tmp12*(KSphorCartDD00 - gammaSphorCartDD00*tmp15);
aDD01GF_.ptr[aDD01GF_.offset(i0, i1, i2)] = tmp12*(KSphorCartDD01 - gammaSphorCartDD01*tmp15);
aDD02GF_.ptr[aDD02GF_.offset(i0, i1, i2)] = tmp12*(KSphorCartDD02 - gammaSphorCartDD02*tmp15);
aDD11GF_.ptr[aDD11GF_.offset(i0, i1, i2)] = tmp12*(KSphorCartDD11 - gammaSphorCartDD11*tmp15);
aDD12GF_.ptr[aDD12GF_.offset(i0, i1, i2)] = tmp12*(KSphorCartDD12 - gammaSphorCartDD12*tmp15);
aDD22GF_.ptr[aDD22GF_.offset(i0, i1, i2)] = tmp12*(KSphorCartDD22 - gammaSphorCartDD22*tmp15);
trKGF_.ptr[trKGF_.offset(i0, i1, i2)] = tmp14;
vetU0GF_.ptr[vetU0GF_.offset(i0, i1, i2)] = betaSphorCartU0;
vetU1GF_.ptr[vetU1GF_.offset(i0, i1, i2)] = betaSphorCartU1;
vetU2GF_.ptr[vetU2GF_.offset(i0, i1, i2)] = betaSphorCartU2;
betU0GF_.ptr[betU0GF_.offset(i0, i1, i2)] = BSphorCartU0;
betU1GF_.ptr[betU1GF_.offset(i0, i1, i2)] = BSphorCartU1;
betU2GF_.ptr[betU2GF_.offset(i0, i1, i2)] = BSphorCartU2;
alphaGF_.ptr[alphaGF_.offset(i0, i1, i2)] = alphaSphorCart;
cfGF_.ptr[cfGF_.offset(i0, i1, i2)] = pow(tmp10/(tmp1*tmp11 + tmp11*tmp3 - tmp11*tmp5 - tmp11*tmp7 - tmp11*tmp9), -1.0/6.0);
});
Loop::loop_all<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 2: Read from main memory and compute finite difference stencils:
*/
const double hDD00_i0_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-2)];
const double hDD00_i0_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-1)];
const double hDD00_i0_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2)];
const double hDD00_i0_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2)];
const double hDD00_i0m2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2)];
const double hDD00_i0m1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2)];
const double hDD00 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2)];
const double hDD00_i0p1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2)];
const double hDD00_i0p2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2)];
const double hDD00_i0_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2)];
const double hDD00_i0_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2)];
const double hDD00_i0_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+1)];
const double hDD00_i0_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+2)];
const double hDD01_i0_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-2)];
const double hDD01_i0_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-1)];
const double hDD01_i0_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2)];
const double hDD01_i0_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2)];
const double hDD01_i0m2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2)];
const double hDD01_i0m1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2)];
const double hDD01 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2)];
const double hDD01_i0p1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2)];
const double hDD01_i0p2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2)];
const double hDD01_i0_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2)];
const double hDD01_i0_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2)];
const double hDD01_i0_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+1)];
const double hDD01_i0_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+2)];
const double hDD02_i0_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-2)];
const double hDD02_i0_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-1)];
const double hDD02_i0_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2)];
const double hDD02_i0_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2)];
const double hDD02_i0m2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2)];
const double hDD02_i0m1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2)];
const double hDD02 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2)];
const double hDD02_i0p1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2)];
const double hDD02_i0p2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2)];
const double hDD02_i0_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2)];
const double hDD02_i0_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2)];
const double hDD02_i0_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+1)];
const double hDD02_i0_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+2)];
const double hDD11_i0_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-2)];
const double hDD11_i0_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-1)];
const double hDD11_i0_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2)];
const double hDD11_i0_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2)];
const double hDD11_i0m2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2)];
const double hDD11_i0m1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2)];
const double hDD11 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2)];
const double hDD11_i0p1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2)];
const double hDD11_i0p2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2)];
const double hDD11_i0_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2)];
const double hDD11_i0_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2)];
const double hDD11_i0_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+1)];
const double hDD11_i0_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+2)];
const double hDD12_i0_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-2)];
const double hDD12_i0_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-1)];
const double hDD12_i0_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2)];
const double hDD12_i0_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2)];
const double hDD12_i0m2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2)];
const double hDD12_i0m1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2)];
const double hDD12 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2)];
const double hDD12_i0p1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2)];
const double hDD12_i0p2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2)];
const double hDD12_i0_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2)];
const double hDD12_i0_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2)];
const double hDD12_i0_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+1)];
const double hDD12_i0_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+2)];
const double hDD22_i0_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-2)];
const double hDD22_i0_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-1)];
const double hDD22_i0_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2)];
const double hDD22_i0_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2)];
const double hDD22_i0m2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2)];
const double hDD22_i0m1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2)];
const double hDD22 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2)];
const double hDD22_i0p1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2)];
const double hDD22_i0p2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2)];
const double hDD22_i0_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2)];
const double hDD22_i0_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2)];
const double hDD22_i0_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+1)];
const double hDD22_i0_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+2)];
const double hDD_dD000 = invdx0*(-2.0/3.0*hDD00_i0m1_i1_i2 + (1.0/12.0)*hDD00_i0m2_i1_i2 + (2.0/3.0)*hDD00_i0p1_i1_i2 - 1.0/12.0*hDD00_i0p2_i1_i2);
const double hDD_dD001 = invdx1*(-2.0/3.0*hDD00_i0_i1m1_i2 + (1.0/12.0)*hDD00_i0_i1m2_i2 + (2.0/3.0)*hDD00_i0_i1p1_i2 - 1.0/12.0*hDD00_i0_i1p2_i2);
const double hDD_dD002 = invdx2*(-2.0/3.0*hDD00_i0_i1_i2m1 + (1.0/12.0)*hDD00_i0_i1_i2m2 + (2.0/3.0)*hDD00_i0_i1_i2p1 - 1.0/12.0*hDD00_i0_i1_i2p2);
const double hDD_dD010 = invdx0*(-2.0/3.0*hDD01_i0m1_i1_i2 + (1.0/12.0)*hDD01_i0m2_i1_i2 + (2.0/3.0)*hDD01_i0p1_i1_i2 - 1.0/12.0*hDD01_i0p2_i1_i2);
const double hDD_dD011 = invdx1*(-2.0/3.0*hDD01_i0_i1m1_i2 + (1.0/12.0)*hDD01_i0_i1m2_i2 + (2.0/3.0)*hDD01_i0_i1p1_i2 - 1.0/12.0*hDD01_i0_i1p2_i2);
const double hDD_dD012 = invdx2*(-2.0/3.0*hDD01_i0_i1_i2m1 + (1.0/12.0)*hDD01_i0_i1_i2m2 + (2.0/3.0)*hDD01_i0_i1_i2p1 - 1.0/12.0*hDD01_i0_i1_i2p2);
const double hDD_dD020 = invdx0*(-2.0/3.0*hDD02_i0m1_i1_i2 + (1.0/12.0)*hDD02_i0m2_i1_i2 + (2.0/3.0)*hDD02_i0p1_i1_i2 - 1.0/12.0*hDD02_i0p2_i1_i2);
const double hDD_dD021 = invdx1*(-2.0/3.0*hDD02_i0_i1m1_i2 + (1.0/12.0)*hDD02_i0_i1m2_i2 + (2.0/3.0)*hDD02_i0_i1p1_i2 - 1.0/12.0*hDD02_i0_i1p2_i2);
const double hDD_dD022 = invdx2*(-2.0/3.0*hDD02_i0_i1_i2m1 + (1.0/12.0)*hDD02_i0_i1_i2m2 + (2.0/3.0)*hDD02_i0_i1_i2p1 - 1.0/12.0*hDD02_i0_i1_i2p2);
const double hDD_dD110 = invdx0*(-2.0/3.0*hDD11_i0m1_i1_i2 + (1.0/12.0)*hDD11_i0m2_i1_i2 + (2.0/3.0)*hDD11_i0p1_i1_i2 - 1.0/12.0*hDD11_i0p2_i1_i2);
const double hDD_dD111 = invdx1*(-2.0/3.0*hDD11_i0_i1m1_i2 + (1.0/12.0)*hDD11_i0_i1m2_i2 + (2.0/3.0)*hDD11_i0_i1p1_i2 - 1.0/12.0*hDD11_i0_i1p2_i2);
const double hDD_dD112 = invdx2*(-2.0/3.0*hDD11_i0_i1_i2m1 + (1.0/12.0)*hDD11_i0_i1_i2m2 + (2.0/3.0)*hDD11_i0_i1_i2p1 - 1.0/12.0*hDD11_i0_i1_i2p2);
const double hDD_dD120 = invdx0*(-2.0/3.0*hDD12_i0m1_i1_i2 + (1.0/12.0)*hDD12_i0m2_i1_i2 + (2.0/3.0)*hDD12_i0p1_i1_i2 - 1.0/12.0*hDD12_i0p2_i1_i2);
const double hDD_dD121 = invdx1*(-2.0/3.0*hDD12_i0_i1m1_i2 + (1.0/12.0)*hDD12_i0_i1m2_i2 + (2.0/3.0)*hDD12_i0_i1p1_i2 - 1.0/12.0*hDD12_i0_i1p2_i2);
const double hDD_dD122 = invdx2*(-2.0/3.0*hDD12_i0_i1_i2m1 + (1.0/12.0)*hDD12_i0_i1_i2m2 + (2.0/3.0)*hDD12_i0_i1_i2p1 - 1.0/12.0*hDD12_i0_i1_i2p2);
const double hDD_dD220 = invdx0*(-2.0/3.0*hDD22_i0m1_i1_i2 + (1.0/12.0)*hDD22_i0m2_i1_i2 + (2.0/3.0)*hDD22_i0p1_i1_i2 - 1.0/12.0*hDD22_i0p2_i1_i2);
const double hDD_dD221 = invdx1*(-2.0/3.0*hDD22_i0_i1m1_i2 + (1.0/12.0)*hDD22_i0_i1m2_i2 + (2.0/3.0)*hDD22_i0_i1p1_i2 - 1.0/12.0*hDD22_i0_i1p2_i2);
const double hDD_dD222 = invdx2*(-2.0/3.0*hDD22_i0_i1_i2m1 + (1.0/12.0)*hDD22_i0_i1_i2m2 + (2.0/3.0)*hDD22_i0_i1_i2p1 - 1.0/12.0*hDD22_i0_i1_i2p2);
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 2: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = hDD22 + 1;
const double tmp1 = -hDD01*tmp0 + hDD02*hDD12;
const double tmp2 = hDD01*hDD12;
const double tmp3 = ((hDD01)*(hDD01));
const double tmp4 = ((hDD02)*(hDD02));
const double tmp5 = hDD11 + 1;
const double tmp6 = ((hDD12)*(hDD12));
const double tmp7 = hDD00 + 1;
const double tmp8 = tmp5*tmp7;
const double tmp9 = (1.0/(2*hDD02*tmp2 - tmp0*tmp3 + tmp0*tmp8 - tmp4*tmp5 - tmp6*tmp7));
const double tmp10 = (1.0/2.0)*tmp9;
const double tmp11 = tmp1*tmp10;
const double tmp12 = -hDD02*tmp5 + tmp2;
const double tmp13 = tmp10*tmp12;
const double tmp14 = hDD_dD012 + hDD_dD021 - hDD_dD120;
const double tmp15 = tmp9*(tmp0*tmp5 - tmp6);
const double tmp16 = (1.0/2.0)*tmp15;
const double tmp17 = hDD01*hDD02 - hDD12*tmp7;
const double tmp18 = 2*tmp9;
const double tmp19 = tmp17*tmp18;
const double tmp20 = hDD_dD012 - hDD_dD021 + hDD_dD120;
const double tmp21 = tmp12*tmp18;
const double tmp22 = -hDD_dD012 + hDD_dD021 + hDD_dD120;
const double tmp23 = tmp1*tmp18;
const double tmp24 = 2*hDD_dD122 - hDD_dD221;
const double tmp25 = 2*hDD_dD022 - hDD_dD220;
const double tmp26 = tmp9*(-tmp3 + tmp8);
const double tmp27 = -hDD_dD112 + 2*hDD_dD121;
const double tmp28 = 2*hDD_dD011 - hDD_dD110;
const double tmp29 = tmp9*(tmp0*tmp7 - tmp4);
const double tmp30 = -hDD_dD001 + 2*hDD_dD010;
const double tmp31 = -hDD_dD002 + 2*hDD_dD020;
const double tmp32 = tmp10*tmp17;
const double tmp33 = (1.0/2.0)*tmp29;
const double tmp34 = (1.0/2.0)*tmp26;
lambdaU0GF_.ptr[lambdaU0GF_.offset(i0, i1, i2)] = tmp15*(hDD_dD000*tmp16 + tmp11*tmp30 + tmp13*tmp31) + tmp19*(hDD_dD112*tmp11 + hDD_dD221*tmp13 + tmp14*tmp16) + tmp21*(hDD_dD002*tmp16 + hDD_dD220*tmp13 + tmp11*tmp20) + tmp23*(hDD_dD001*tmp16 + hDD_dD110*tmp11 + tmp13*tmp22) + tmp26*(hDD_dD222*tmp13 + tmp11*tmp24 + tmp16*tmp25) + tmp29*(hDD_dD111*tmp11 + tmp13*tmp27 + tmp16*tmp28);
lambdaU1GF_.ptr[lambdaU1GF_.offset(i0, i1, i2)] = tmp15*(hDD_dD000*tmp11 + tmp30*tmp33 + tmp31*tmp32) + tmp19*(hDD_dD112*tmp33 + hDD_dD221*tmp32 + tmp11*tmp14) + tmp21*(hDD_dD002*tmp11 + hDD_dD220*tmp32 + tmp20*tmp33) + tmp23*(hDD_dD001*tmp11 + hDD_dD110*tmp33 + tmp22*tmp32) + tmp26*(hDD_dD222*tmp32 + tmp11*tmp25 + tmp24*tmp33) + tmp29*(hDD_dD111*tmp33 + tmp11*tmp28 + tmp27*tmp32);
lambdaU2GF_.ptr[lambdaU2GF_.offset(i0, i1, i2)] = tmp15*(hDD_dD000*tmp13 + tmp30*tmp32 + tmp31*tmp34) + tmp19*(hDD_dD112*tmp32 + hDD_dD221*tmp34 + tmp13*tmp14) + tmp21*(hDD_dD002*tmp13 + hDD_dD220*tmp34 + tmp20*tmp32) + tmp23*(hDD_dD001*tmp13 + hDD_dD110*tmp32 + tmp22*tmp34) + tmp26*(hDD_dD222*tmp34 + tmp13*tmp25 + tmp24*tmp32) + tmp29*(hDD_dD111*tmp32 + tmp13*tmp28 + tmp27*tmp34);
});
//ExtrapolateGammas(cctkGH,lambdaU0GF);
//ExtrapolateGammas(cctkGH,lambdaU1GF);
//ExtrapolateGammas(cctkGH,lambdaU2GF);
}
Loop::loop_int<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
{
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 3: Read from main memory and compute finite difference stencils:
*/
const double hDD00_i0_i1_i2m3 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-3)];
const double hDD00_i0_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-2)];
const double hDD00_i0_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-1)];
const double hDD00_i0_i1m3_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-3,i2)];
const double hDD00_i0_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2)];
const double hDD00_i0_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2)];
const double hDD00_i0m3_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-3,i1,i2)];
const double hDD00_i0m2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2)];
const double hDD00_i0m1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2)];
const double hDD00 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2)];
const double hDD00_i0p1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2)];
const double hDD00_i0p2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2)];
const double hDD00_i0p3_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+3,i1,i2)];
const double hDD00_i0_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2)];
const double hDD00_i0_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2)];
const double hDD00_i0_i1p3_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+3,i2)];
const double hDD00_i0_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+1)];
const double hDD00_i0_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+2)];
const double hDD00_i0_i1_i2p3 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+3)];
const double hDD01_i0_i1_i2m3 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-3)];
const double hDD01_i0_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-2)];
const double hDD01_i0_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-1)];
const double hDD01_i0_i1m3_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-3,i2)];
const double hDD01_i0_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2)];
const double hDD01_i0_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2)];
const double hDD01_i0m3_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-3,i1,i2)];
const double hDD01_i0m2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2)];
const double hDD01_i0m1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2)];
const double hDD01 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2)];
const double hDD01_i0p1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2)];
const double hDD01_i0p2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2)];
const double hDD01_i0p3_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+3,i1,i2)];
const double hDD01_i0_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2)];
const double hDD01_i0_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2)];
const double hDD01_i0_i1p3_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+3,i2)];
const double hDD01_i0_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+1)];
const double hDD01_i0_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+2)];
const double hDD01_i0_i1_i2p3 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+3)];
const double hDD02_i0_i1_i2m3 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-3)];
const double hDD02_i0_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-2)];
const double hDD02_i0_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-1)];
const double hDD02_i0_i1m3_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-3,i2)];
const double hDD02_i0_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2)];
const double hDD02_i0_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2)];
const double hDD02_i0m3_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-3,i1,i2)];
const double hDD02_i0m2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2)];
const double hDD02_i0m1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2)];
const double hDD02 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2)];
const double hDD02_i0p1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2)];
const double hDD02_i0p2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2)];
const double hDD02_i0p3_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+3,i1,i2)];
const double hDD02_i0_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2)];
const double hDD02_i0_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2)];
const double hDD02_i0_i1p3_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+3,i2)];
const double hDD02_i0_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+1)];
const double hDD02_i0_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+2)];
const double hDD02_i0_i1_i2p3 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+3)];
const double hDD11_i0_i1_i2m3 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-3)];
const double hDD11_i0_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-2)];
const double hDD11_i0_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-1)];
const double hDD11_i0_i1m3_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-3,i2)];
const double hDD11_i0_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2)];
const double hDD11_i0_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2)];
const double hDD11_i0m3_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-3,i1,i2)];
const double hDD11_i0m2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2)];
const double hDD11_i0m1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2)];
const double hDD11 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2)];
const double hDD11_i0p1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2)];
const double hDD11_i0p2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2)];
const double hDD11_i0p3_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+3,i1,i2)];
const double hDD11_i0_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2)];
const double hDD11_i0_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2)];
const double hDD11_i0_i1p3_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+3,i2)];
const double hDD11_i0_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+1)];
const double hDD11_i0_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+2)];
const double hDD11_i0_i1_i2p3 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+3)];
const double hDD12_i0_i1_i2m3 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-3)];
const double hDD12_i0_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-2)];
const double hDD12_i0_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-1)];
const double hDD12_i0_i1m3_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-3,i2)];
const double hDD12_i0_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2)];
const double hDD12_i0_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2)];
const double hDD12_i0m3_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-3,i1,i2)];
const double hDD12_i0m2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2)];
const double hDD12_i0m1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2)];
const double hDD12 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2)];
const double hDD12_i0p1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2)];
const double hDD12_i0p2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2)];
const double hDD12_i0p3_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+3,i1,i2)];
const double hDD12_i0_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2)];
const double hDD12_i0_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2)];
const double hDD12_i0_i1p3_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+3,i2)];
const double hDD12_i0_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+1)];
const double hDD12_i0_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+2)];
const double hDD12_i0_i1_i2p3 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+3)];
const double hDD22_i0_i1_i2m3 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-3)];
const double hDD22_i0_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-2)];
const double hDD22_i0_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-1)];
const double hDD22_i0_i1m3_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-3,i2)];
const double hDD22_i0_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2)];
const double hDD22_i0_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2)];
const double hDD22_i0m3_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-3,i1,i2)];
const double hDD22_i0m2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2)];
const double hDD22_i0m1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2)];
const double hDD22 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2)];
const double hDD22_i0p1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2)];
const double hDD22_i0p2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2)];
const double hDD22_i0p3_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+3,i1,i2)];
const double hDD22_i0_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2)];
const double hDD22_i0_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2)];
const double hDD22_i0_i1p3_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+3,i2)];
const double hDD22_i0_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+1)];
const double hDD22_i0_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+2)];
const double hDD22_i0_i1_i2p3 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+3)];
const double aDD00_i0_i1_i2m3 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2-3)];
const double aDD00_i0_i1_i2m2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2-2)];
const double aDD00_i0_i1_i2m1 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2-1)];
const double aDD00_i0_i1m3_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1-3,i2)];
const double aDD00_i0_i1m2_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1-2,i2)];
const double aDD00_i0_i1m1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1-1,i2)];
const double aDD00_i0m3_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0-3,i1,i2)];
const double aDD00_i0m2_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0-2,i1,i2)];
const double aDD00_i0m1_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0-1,i1,i2)];
const double aDD00 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2)];
const double aDD00_i0p1_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0+1,i1,i2)];
const double aDD00_i0p2_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0+2,i1,i2)];
const double aDD00_i0p3_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0+3,i1,i2)];
const double aDD00_i0_i1p1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1+1,i2)];
const double aDD00_i0_i1p2_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1+2,i2)];
const double aDD00_i0_i1p3_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1+3,i2)];
const double aDD00_i0_i1_i2p1 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2+1)];
const double aDD00_i0_i1_i2p2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2+2)];
const double aDD00_i0_i1_i2p3 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2+3)];
const double aDD01_i0_i1_i2m3 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2-3)];
const double aDD01_i0_i1_i2m2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2-2)];
const double aDD01_i0_i1_i2m1 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2-1)];
const double aDD01_i0_i1m3_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1-3,i2)];
const double aDD01_i0_i1m2_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1-2,i2)];
const double aDD01_i0_i1m1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1-1,i2)];
const double aDD01_i0m3_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0-3,i1,i2)];
const double aDD01_i0m2_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0-2,i1,i2)];
const double aDD01_i0m1_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0-1,i1,i2)];
const double aDD01 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2)];
const double aDD01_i0p1_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0+1,i1,i2)];
const double aDD01_i0p2_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0+2,i1,i2)];
const double aDD01_i0p3_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0+3,i1,i2)];
const double aDD01_i0_i1p1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1+1,i2)];
const double aDD01_i0_i1p2_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1+2,i2)];
const double aDD01_i0_i1p3_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1+3,i2)];
const double aDD01_i0_i1_i2p1 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2+1)];
const double aDD01_i0_i1_i2p2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2+2)];
const double aDD01_i0_i1_i2p3 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2+3)];
const double aDD02_i0_i1_i2m3 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2-3)];
const double aDD02_i0_i1_i2m2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2-2)];
const double aDD02_i0_i1_i2m1 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2-1)];
const double aDD02_i0_i1m3_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1-3,i2)];
const double aDD02_i0_i1m2_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1-2,i2)];
const double aDD02_i0_i1m1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1-1,i2)];
const double aDD02_i0m3_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0-3,i1,i2)];
const double aDD02_i0m2_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0-2,i1,i2)];
const double aDD02_i0m1_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0-1,i1,i2)];
const double aDD02 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2)];
const double aDD02_i0p1_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0+1,i1,i2)];
const double aDD02_i0p2_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0+2,i1,i2)];
const double aDD02_i0p3_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0+3,i1,i2)];
const double aDD02_i0_i1p1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1+1,i2)];
const double aDD02_i0_i1p2_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1+2,i2)];
const double aDD02_i0_i1p3_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1+3,i2)];
const double aDD02_i0_i1_i2p1 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2+1)];
const double aDD02_i0_i1_i2p2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2+2)];
const double aDD02_i0_i1_i2p3 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2+3)];
const double aDD11_i0_i1_i2m3 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2-3)];
const double aDD11_i0_i1_i2m2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2-2)];
const double aDD11_i0_i1_i2m1 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2-1)];
const double aDD11_i0_i1m3_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1-3,i2)];
const double aDD11_i0_i1m2_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1-2,i2)];
const double aDD11_i0_i1m1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1-1,i2)];
const double aDD11_i0m3_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0-3,i1,i2)];
const double aDD11_i0m2_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0-2,i1,i2)];
const double aDD11_i0m1_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0-1,i1,i2)];
const double aDD11 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2)];
const double aDD11_i0p1_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0+1,i1,i2)];
const double aDD11_i0p2_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0+2,i1,i2)];
const double aDD11_i0p3_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0+3,i1,i2)];
const double aDD11_i0_i1p1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1+1,i2)];
const double aDD11_i0_i1p2_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1+2,i2)];
const double aDD11_i0_i1p3_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1+3,i2)];
const double aDD11_i0_i1_i2p1 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2+1)];
const double aDD11_i0_i1_i2p2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2+2)];
const double aDD11_i0_i1_i2p3 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2+3)];
const double aDD12_i0_i1_i2m3 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2-3)];
const double aDD12_i0_i1_i2m2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2-2)];
const double aDD12_i0_i1_i2m1 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2-1)];
const double aDD12_i0_i1m3_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1-3,i2)];
const double aDD12_i0_i1m2_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1-2,i2)];
const double aDD12_i0_i1m1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1-1,i2)];
const double aDD12_i0m3_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0-3,i1,i2)];
const double aDD12_i0m2_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0-2,i1,i2)];
const double aDD12_i0m1_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0-1,i1,i2)];
const double aDD12 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2)];
const double aDD12_i0p1_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0+1,i1,i2)];
const double aDD12_i0p2_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0+2,i1,i2)];
const double aDD12_i0p3_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0+3,i1,i2)];
const double aDD12_i0_i1p1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1+1,i2)];
const double aDD12_i0_i1p2_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1+2,i2)];
const double aDD12_i0_i1p3_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1+3,i2)];
const double aDD12_i0_i1_i2p1 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2+1)];
const double aDD12_i0_i1_i2p2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2+2)];
const double aDD12_i0_i1_i2p3 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2+3)];
const double aDD22_i0_i1_i2m3 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2-3)];
const double aDD22_i0_i1_i2m2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2-2)];
const double aDD22_i0_i1_i2m1 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2-1)];
const double aDD22_i0_i1m3_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1-3,i2)];
const double aDD22_i0_i1m2_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1-2,i2)];
const double aDD22_i0_i1m1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1-1,i2)];
const double aDD22_i0m3_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0-3,i1,i2)];
const double aDD22_i0m2_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0-2,i1,i2)];
const double aDD22_i0m1_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0-1,i1,i2)];
const double aDD22 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2)];
const double aDD22_i0p1_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0+1,i1,i2)];
const double aDD22_i0p2_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0+2,i1,i2)];
const double aDD22_i0p3_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0+3,i1,i2)];
const double aDD22_i0_i1p1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1+1,i2)];
const double aDD22_i0_i1p2_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1+2,i2)];
const double aDD22_i0_i1p3_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1+3,i2)];
const double aDD22_i0_i1_i2p1 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2+1)];
const double aDD22_i0_i1_i2p2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2+2)];
const double aDD22_i0_i1_i2p3 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2+3)];
const double lambdaU0_i0_i1_i2m3 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-3)];
const double lambdaU0_i0_i1_i2m2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-2)];
const double lambdaU0_i0_i1_i2m1 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-1)];
const double lambdaU0_i0_i1m3_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-3,i2)];
const double lambdaU0_i0_i1m2_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-2,i2)];
const double lambdaU0_i0_i1m1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-1,i2)];
const double lambdaU0_i0m3_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-3,i1,i2)];
const double lambdaU0_i0m2_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-2,i1,i2)];
const double lambdaU0_i0m1_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-1,i1,i2)];
const double lambdaU0 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2)];
const double lambdaU0_i0p1_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+1,i1,i2)];
const double lambdaU0_i0p2_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+2,i1,i2)];
const double lambdaU0_i0p3_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+3,i1,i2)];
const double lambdaU0_i0_i1p1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+1,i2)];
const double lambdaU0_i0_i1p2_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+2,i2)];
const double lambdaU0_i0_i1p3_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+3,i2)];
const double lambdaU0_i0_i1_i2p1 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+1)];
const double lambdaU0_i0_i1_i2p2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+2)];
const double lambdaU0_i0_i1_i2p3 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+3)];
const double lambdaU1_i0_i1_i2m3 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-3)];
const double lambdaU1_i0_i1_i2m2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-2)];
const double lambdaU1_i0_i1_i2m1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-1)];
const double lambdaU1_i0_i1m3_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-3,i2)];
const double lambdaU1_i0_i1m2_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-2,i2)];
const double lambdaU1_i0_i1m1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-1,i2)];
const double lambdaU1_i0m3_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-3,i1,i2)];
const double lambdaU1_i0m2_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-2,i1,i2)];
const double lambdaU1_i0m1_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-1,i1,i2)];
const double lambdaU1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2)];
const double lambdaU1_i0p1_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+1,i1,i2)];
const double lambdaU1_i0p2_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+2,i1,i2)];
const double lambdaU1_i0p3_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+3,i1,i2)];
const double lambdaU1_i0_i1p1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+1,i2)];
const double lambdaU1_i0_i1p2_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+2,i2)];
const double lambdaU1_i0_i1p3_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+3,i2)];
const double lambdaU1_i0_i1_i2p1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+1)];
const double lambdaU1_i0_i1_i2p2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+2)];
const double lambdaU1_i0_i1_i2p3 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+3)];
const double lambdaU2_i0_i1_i2m3 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-3)];
const double lambdaU2_i0_i1_i2m2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-2)];
const double lambdaU2_i0_i1_i2m1 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-1)];
const double lambdaU2_i0_i1m3_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-3,i2)];
const double lambdaU2_i0_i1m2_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-2,i2)];
const double lambdaU2_i0_i1m1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-1,i2)];
const double lambdaU2_i0m3_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-3,i1,i2)];
const double lambdaU2_i0m2_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-2,i1,i2)];
const double lambdaU2_i0m1_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-1,i1,i2)];
const double lambdaU2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2)];
const double lambdaU2_i0p1_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+1,i1,i2)];
const double lambdaU2_i0p2_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+2,i1,i2)];
const double lambdaU2_i0p3_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+3,i1,i2)];
const double lambdaU2_i0_i1p1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+1,i2)];
const double lambdaU2_i0_i1p2_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+2,i2)];
const double lambdaU2_i0_i1p3_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+3,i2)];
const double lambdaU2_i0_i1_i2p1 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+1)];
const double lambdaU2_i0_i1_i2p2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+2)];
const double lambdaU2_i0_i1_i2p3 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+3)];
const double vetU0_i0_i1_i2m3 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2-3)];
const double vetU0_i0_i1m2_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-2,i2-2)];
const double vetU0_i0_i1m1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-1,i2-2)];
const double vetU0_i0m2_i1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1,i2-2)];
const double vetU0_i0m1_i1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1,i2-2)];
const double vetU0_i0_i1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2-2)];
const double vetU0_i0p1_i1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1,i2-2)];
const double vetU0_i0p2_i1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1,i2-2)];
const double vetU0_i0_i1p1_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+1,i2-2)];
const double vetU0_i0_i1p2_i2m2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+2,i2-2)];
const double vetU0_i0_i1m2_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-2,i2-1)];
const double vetU0_i0_i1m1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-1,i2-1)];
const double vetU0_i0m2_i1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1,i2-1)];
const double vetU0_i0m1_i1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1,i2-1)];
const double vetU0_i0_i1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2-1)];
const double vetU0_i0p1_i1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1,i2-1)];
const double vetU0_i0p2_i1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1,i2-1)];
const double vetU0_i0_i1p1_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+1,i2-1)];
const double vetU0_i0_i1p2_i2m1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+2,i2-1)];
const double vetU0_i0_i1m3_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-3,i2)];
const double vetU0_i0m2_i1m2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1-2,i2)];
const double vetU0_i0m1_i1m2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1-2,i2)];
const double vetU0_i0_i1m2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-2,i2)];
const double vetU0_i0p1_i1m2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1-2,i2)];
const double vetU0_i0p2_i1m2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1-2,i2)];
const double vetU0_i0m2_i1m1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1-1,i2)];
const double vetU0_i0m1_i1m1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1-1,i2)];
const double vetU0_i0_i1m1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-1,i2)];
const double vetU0_i0p1_i1m1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1-1,i2)];
const double vetU0_i0p2_i1m1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1-1,i2)];
const double vetU0_i0m3_i1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-3,i1,i2)];
const double vetU0_i0m2_i1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1,i2)];
const double vetU0_i0m1_i1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1,i2)];
const double vetU0 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2)];
const double vetU0_i0p1_i1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1,i2)];
const double vetU0_i0p2_i1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1,i2)];
const double vetU0_i0p3_i1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+3,i1,i2)];
const double vetU0_i0m2_i1p1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1+1,i2)];
const double vetU0_i0m1_i1p1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1+1,i2)];
const double vetU0_i0_i1p1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+1,i2)];
const double vetU0_i0p1_i1p1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1+1,i2)];
const double vetU0_i0p2_i1p1_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1+1,i2)];
const double vetU0_i0m2_i1p2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1+2,i2)];
const double vetU0_i0m1_i1p2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1+2,i2)];
const double vetU0_i0_i1p2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+2,i2)];
const double vetU0_i0p1_i1p2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1+2,i2)];
const double vetU0_i0p2_i1p2_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1+2,i2)];
const double vetU0_i0_i1p3_i2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+3,i2)];
const double vetU0_i0_i1m2_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-2,i2+1)];
const double vetU0_i0_i1m1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-1,i2+1)];
const double vetU0_i0m2_i1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1,i2+1)];
const double vetU0_i0m1_i1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1,i2+1)];
const double vetU0_i0_i1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2+1)];
const double vetU0_i0p1_i1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1,i2+1)];
const double vetU0_i0p2_i1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1,i2+1)];
const double vetU0_i0_i1p1_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+1,i2+1)];
const double vetU0_i0_i1p2_i2p1 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+2,i2+1)];
const double vetU0_i0_i1m2_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-2,i2+2)];
const double vetU0_i0_i1m1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1-1,i2+2)];
const double vetU0_i0m2_i1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0-2,i1,i2+2)];
const double vetU0_i0m1_i1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0-1,i1,i2+2)];
const double vetU0_i0_i1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2+2)];
const double vetU0_i0p1_i1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0+1,i1,i2+2)];
const double vetU0_i0p2_i1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0+2,i1,i2+2)];
const double vetU0_i0_i1p1_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+1,i2+2)];
const double vetU0_i0_i1p2_i2p2 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1+2,i2+2)];
const double vetU0_i0_i1_i2p3 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2+3)];
const double vetU1_i0_i1_i2m3 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2-3)];
const double vetU1_i0_i1m2_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-2,i2-2)];
const double vetU1_i0_i1m1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-1,i2-2)];
const double vetU1_i0m2_i1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1,i2-2)];
const double vetU1_i0m1_i1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1,i2-2)];
const double vetU1_i0_i1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2-2)];
const double vetU1_i0p1_i1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1,i2-2)];
const double vetU1_i0p2_i1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1,i2-2)];
const double vetU1_i0_i1p1_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+1,i2-2)];
const double vetU1_i0_i1p2_i2m2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+2,i2-2)];
const double vetU1_i0_i1m2_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-2,i2-1)];
const double vetU1_i0_i1m1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-1,i2-1)];
const double vetU1_i0m2_i1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1,i2-1)];
const double vetU1_i0m1_i1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1,i2-1)];
const double vetU1_i0_i1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2-1)];
const double vetU1_i0p1_i1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1,i2-1)];
const double vetU1_i0p2_i1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1,i2-1)];
const double vetU1_i0_i1p1_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+1,i2-1)];
const double vetU1_i0_i1p2_i2m1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+2,i2-1)];
const double vetU1_i0_i1m3_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-3,i2)];
const double vetU1_i0m2_i1m2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1-2,i2)];
const double vetU1_i0m1_i1m2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1-2,i2)];
const double vetU1_i0_i1m2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-2,i2)];
const double vetU1_i0p1_i1m2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1-2,i2)];
const double vetU1_i0p2_i1m2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1-2,i2)];
const double vetU1_i0m2_i1m1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1-1,i2)];
const double vetU1_i0m1_i1m1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1-1,i2)];
const double vetU1_i0_i1m1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-1,i2)];
const double vetU1_i0p1_i1m1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1-1,i2)];
const double vetU1_i0p2_i1m1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1-1,i2)];
const double vetU1_i0m3_i1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-3,i1,i2)];
const double vetU1_i0m2_i1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1,i2)];
const double vetU1_i0m1_i1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1,i2)];
const double vetU1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2)];
const double vetU1_i0p1_i1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1,i2)];
const double vetU1_i0p2_i1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1,i2)];
const double vetU1_i0p3_i1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+3,i1,i2)];
const double vetU1_i0m2_i1p1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1+1,i2)];
const double vetU1_i0m1_i1p1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1+1,i2)];
const double vetU1_i0_i1p1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+1,i2)];
const double vetU1_i0p1_i1p1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1+1,i2)];
const double vetU1_i0p2_i1p1_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1+1,i2)];
const double vetU1_i0m2_i1p2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1+2,i2)];
const double vetU1_i0m1_i1p2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1+2,i2)];
const double vetU1_i0_i1p2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+2,i2)];
const double vetU1_i0p1_i1p2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1+2,i2)];
const double vetU1_i0p2_i1p2_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1+2,i2)];
const double vetU1_i0_i1p3_i2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+3,i2)];
const double vetU1_i0_i1m2_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-2,i2+1)];
const double vetU1_i0_i1m1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-1,i2+1)];
const double vetU1_i0m2_i1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1,i2+1)];
const double vetU1_i0m1_i1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1,i2+1)];
const double vetU1_i0_i1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2+1)];
const double vetU1_i0p1_i1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1,i2+1)];
const double vetU1_i0p2_i1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1,i2+1)];
const double vetU1_i0_i1p1_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+1,i2+1)];
const double vetU1_i0_i1p2_i2p1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+2,i2+1)];
const double vetU1_i0_i1m2_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-2,i2+2)];
const double vetU1_i0_i1m1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1-1,i2+2)];
const double vetU1_i0m2_i1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0-2,i1,i2+2)];
const double vetU1_i0m1_i1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0-1,i1,i2+2)];
const double vetU1_i0_i1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2+2)];
const double vetU1_i0p1_i1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0+1,i1,i2+2)];
const double vetU1_i0p2_i1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0+2,i1,i2+2)];
const double vetU1_i0_i1p1_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+1,i2+2)];
const double vetU1_i0_i1p2_i2p2 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1+2,i2+2)];
const double vetU1_i0_i1_i2p3 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2+3)];
const double vetU2_i0_i1_i2m3 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2-3)];
const double vetU2_i0_i1m2_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-2,i2-2)];
const double vetU2_i0_i1m1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-1,i2-2)];
const double vetU2_i0m2_i1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1,i2-2)];
const double vetU2_i0m1_i1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1,i2-2)];
const double vetU2_i0_i1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2-2)];
const double vetU2_i0p1_i1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1,i2-2)];
const double vetU2_i0p2_i1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1,i2-2)];
const double vetU2_i0_i1p1_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+1,i2-2)];
const double vetU2_i0_i1p2_i2m2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+2,i2-2)];
const double vetU2_i0_i1m2_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-2,i2-1)];
const double vetU2_i0_i1m1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-1,i2-1)];
const double vetU2_i0m2_i1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1,i2-1)];
const double vetU2_i0m1_i1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1,i2-1)];
const double vetU2_i0_i1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2-1)];
const double vetU2_i0p1_i1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1,i2-1)];
const double vetU2_i0p2_i1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1,i2-1)];
const double vetU2_i0_i1p1_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+1,i2-1)];
const double vetU2_i0_i1p2_i2m1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+2,i2-1)];
const double vetU2_i0_i1m3_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-3,i2)];
const double vetU2_i0m2_i1m2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1-2,i2)];
const double vetU2_i0m1_i1m2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1-2,i2)];
const double vetU2_i0_i1m2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-2,i2)];
const double vetU2_i0p1_i1m2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1-2,i2)];
const double vetU2_i0p2_i1m2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1-2,i2)];
const double vetU2_i0m2_i1m1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1-1,i2)];
const double vetU2_i0m1_i1m1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1-1,i2)];
const double vetU2_i0_i1m1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-1,i2)];
const double vetU2_i0p1_i1m1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1-1,i2)];
const double vetU2_i0p2_i1m1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1-1,i2)];
const double vetU2_i0m3_i1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-3,i1,i2)];
const double vetU2_i0m2_i1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1,i2)];
const double vetU2_i0m1_i1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1,i2)];
const double vetU2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2)];
const double vetU2_i0p1_i1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1,i2)];
const double vetU2_i0p2_i1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1,i2)];
const double vetU2_i0p3_i1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+3,i1,i2)];
const double vetU2_i0m2_i1p1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1+1,i2)];
const double vetU2_i0m1_i1p1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1+1,i2)];
const double vetU2_i0_i1p1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+1,i2)];
const double vetU2_i0p1_i1p1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1+1,i2)];
const double vetU2_i0p2_i1p1_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1+1,i2)];
const double vetU2_i0m2_i1p2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1+2,i2)];
const double vetU2_i0m1_i1p2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1+2,i2)];
const double vetU2_i0_i1p2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+2,i2)];
const double vetU2_i0p1_i1p2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1+2,i2)];
const double vetU2_i0p2_i1p2_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1+2,i2)];
const double vetU2_i0_i1p3_i2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+3,i2)];
const double vetU2_i0_i1m2_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-2,i2+1)];
const double vetU2_i0_i1m1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-1,i2+1)];
const double vetU2_i0m2_i1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1,i2+1)];
const double vetU2_i0m1_i1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1,i2+1)];
const double vetU2_i0_i1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2+1)];
const double vetU2_i0p1_i1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1,i2+1)];
const double vetU2_i0p2_i1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1,i2+1)];
const double vetU2_i0_i1p1_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+1,i2+1)];
const double vetU2_i0_i1p2_i2p1 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+2,i2+1)];
const double vetU2_i0_i1m2_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-2,i2+2)];
const double vetU2_i0_i1m1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1-1,i2+2)];
const double vetU2_i0m2_i1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0-2,i1,i2+2)];
const double vetU2_i0m1_i1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0-1,i1,i2+2)];
const double vetU2_i0_i1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2+2)];
const double vetU2_i0p1_i1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0+1,i1,i2+2)];
const double vetU2_i0p2_i1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0+2,i1,i2+2)];
const double vetU2_i0_i1p1_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+1,i2+2)];
const double vetU2_i0_i1p2_i2p2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1+2,i2+2)];
const double vetU2_i0_i1_i2p3 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2+3)];
const double betU0_i0_i1_i2m3 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2-3)];
const double betU0_i0_i1_i2m2 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2-2)];
const double betU0_i0_i1_i2m1 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2-1)];
const double betU0_i0_i1m3_i2 = betU0GF_.ptr[betU0GF_.offset(i0,i1-3,i2)];
const double betU0_i0_i1m2_i2 = betU0GF_.ptr[betU0GF_.offset(i0,i1-2,i2)];
const double betU0_i0_i1m1_i2 = betU0GF_.ptr[betU0GF_.offset(i0,i1-1,i2)];
const double betU0_i0m3_i1_i2 = betU0GF_.ptr[betU0GF_.offset(i0-3,i1,i2)];
const double betU0_i0m2_i1_i2 = betU0GF_.ptr[betU0GF_.offset(i0-2,i1,i2)];
const double betU0_i0m1_i1_i2 = betU0GF_.ptr[betU0GF_.offset(i0-1,i1,i2)];
const double betU0 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2)];
const double betU0_i0p1_i1_i2 = betU0GF_.ptr[betU0GF_.offset(i0+1,i1,i2)];
const double betU0_i0p2_i1_i2 = betU0GF_.ptr[betU0GF_.offset(i0+2,i1,i2)];
const double betU0_i0p3_i1_i2 = betU0GF_.ptr[betU0GF_.offset(i0+3,i1,i2)];
const double betU0_i0_i1p1_i2 = betU0GF_.ptr[betU0GF_.offset(i0,i1+1,i2)];
const double betU0_i0_i1p2_i2 = betU0GF_.ptr[betU0GF_.offset(i0,i1+2,i2)];
const double betU0_i0_i1p3_i2 = betU0GF_.ptr[betU0GF_.offset(i0,i1+3,i2)];
const double betU0_i0_i1_i2p1 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2+1)];
const double betU0_i0_i1_i2p2 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2+2)];
const double betU0_i0_i1_i2p3 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2+3)];
const double betU1_i0_i1_i2m3 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2-3)];
const double betU1_i0_i1_i2m2 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2-2)];
const double betU1_i0_i1_i2m1 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2-1)];
const double betU1_i0_i1m3_i2 = betU1GF_.ptr[betU1GF_.offset(i0,i1-3,i2)];
const double betU1_i0_i1m2_i2 = betU1GF_.ptr[betU1GF_.offset(i0,i1-2,i2)];
const double betU1_i0_i1m1_i2 = betU1GF_.ptr[betU1GF_.offset(i0,i1-1,i2)];
const double betU1_i0m3_i1_i2 = betU1GF_.ptr[betU1GF_.offset(i0-3,i1,i2)];
const double betU1_i0m2_i1_i2 = betU1GF_.ptr[betU1GF_.offset(i0-2,i1,i2)];
const double betU1_i0m1_i1_i2 = betU1GF_.ptr[betU1GF_.offset(i0-1,i1,i2)];
const double betU1 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2)];
const double betU1_i0p1_i1_i2 = betU1GF_.ptr[betU1GF_.offset(i0+1,i1,i2)];
const double betU1_i0p2_i1_i2 = betU1GF_.ptr[betU1GF_.offset(i0+2,i1,i2)];
const double betU1_i0p3_i1_i2 = betU1GF_.ptr[betU1GF_.offset(i0+3,i1,i2)];
const double betU1_i0_i1p1_i2 = betU1GF_.ptr[betU1GF_.offset(i0,i1+1,i2)];
const double betU1_i0_i1p2_i2 = betU1GF_.ptr[betU1GF_.offset(i0,i1+2,i2)];
const double betU1_i0_i1p3_i2 = betU1GF_.ptr[betU1GF_.offset(i0,i1+3,i2)];
const double betU1_i0_i1_i2p1 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2+1)];
const double betU1_i0_i1_i2p2 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2+2)];
const double betU1_i0_i1_i2p3 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2+3)];
const double betU2_i0_i1_i2m3 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2-3)];
const double betU2_i0_i1_i2m2 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2-2)];
const double betU2_i0_i1_i2m1 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2-1)];
const double betU2_i0_i1m3_i2 = betU2GF_.ptr[betU2GF_.offset(i0,i1-3,i2)];
const double betU2_i0_i1m2_i2 = betU2GF_.ptr[betU2GF_.offset(i0,i1-2,i2)];
const double betU2_i0_i1m1_i2 = betU2GF_.ptr[betU2GF_.offset(i0,i1-1,i2)];
const double betU2_i0m3_i1_i2 = betU2GF_.ptr[betU2GF_.offset(i0-3,i1,i2)];
const double betU2_i0m2_i1_i2 = betU2GF_.ptr[betU2GF_.offset(i0-2,i1,i2)];
const double betU2_i0m1_i1_i2 = betU2GF_.ptr[betU2GF_.offset(i0-1,i1,i2)];
const double betU2 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2)];
const double betU2_i0p1_i1_i2 = betU2GF_.ptr[betU2GF_.offset(i0+1,i1,i2)];
const double betU2_i0p2_i1_i2 = betU2GF_.ptr[betU2GF_.offset(i0+2,i1,i2)];
const double betU2_i0p3_i1_i2 = betU2GF_.ptr[betU2GF_.offset(i0+3,i1,i2)];
const double betU2_i0_i1p1_i2 = betU2GF_.ptr[betU2GF_.offset(i0,i1+1,i2)];
const double betU2_i0_i1p2_i2 = betU2GF_.ptr[betU2GF_.offset(i0,i1+2,i2)];
const double betU2_i0_i1p3_i2 = betU2GF_.ptr[betU2GF_.offset(i0,i1+3,i2)];
const double betU2_i0_i1_i2p1 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2+1)];
const double betU2_i0_i1_i2p2 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2+2)];
const double betU2_i0_i1_i2p3 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2+3)];
const double trK_i0_i1_i2m3 = trKGF_.ptr[trKGF_.offset(i0,i1,i2-3)];
const double trK_i0_i1_i2m2 = trKGF_.ptr[trKGF_.offset(i0,i1,i2-2)];
const double trK_i0_i1_i2m1 = trKGF_.ptr[trKGF_.offset(i0,i1,i2-1)];
const double trK_i0_i1m3_i2 = trKGF_.ptr[trKGF_.offset(i0,i1-3,i2)];
const double trK_i0_i1m2_i2 = trKGF_.ptr[trKGF_.offset(i0,i1-2,i2)];
const double trK_i0_i1m1_i2 = trKGF_.ptr[trKGF_.offset(i0,i1-1,i2)];
const double trK_i0m3_i1_i2 = trKGF_.ptr[trKGF_.offset(i0-3,i1,i2)];
const double trK_i0m2_i1_i2 = trKGF_.ptr[trKGF_.offset(i0-2,i1,i2)];
const double trK_i0m1_i1_i2 = trKGF_.ptr[trKGF_.offset(i0-1,i1,i2)];
const double trK = trKGF_.ptr[trKGF_.offset(i0,i1,i2)];
const double trK_i0p1_i1_i2 = trKGF_.ptr[trKGF_.offset(i0+1,i1,i2)];
const double trK_i0p2_i1_i2 = trKGF_.ptr[trKGF_.offset(i0+2,i1,i2)];
const double trK_i0p3_i1_i2 = trKGF_.ptr[trKGF_.offset(i0+3,i1,i2)];
const double trK_i0_i1p1_i2 = trKGF_.ptr[trKGF_.offset(i0,i1+1,i2)];
const double trK_i0_i1p2_i2 = trKGF_.ptr[trKGF_.offset(i0,i1+2,i2)];
const double trK_i0_i1p3_i2 = trKGF_.ptr[trKGF_.offset(i0,i1+3,i2)];
const double trK_i0_i1_i2p1 = trKGF_.ptr[trKGF_.offset(i0,i1,i2+1)];
const double trK_i0_i1_i2p2 = trKGF_.ptr[trKGF_.offset(i0,i1,i2+2)];
const double trK_i0_i1_i2p3 = trKGF_.ptr[trKGF_.offset(i0,i1,i2+3)];
const double cf_i0_i1_i2m3 = cfGF_.ptr[cfGF_.offset(i0,i1,i2-3)];
const double cf_i0_i1m2_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2-2)];
const double cf_i0_i1m1_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2-2)];
const double cf_i0m2_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2-2)];
const double cf_i0m1_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2-2)];
const double cf_i0_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1,i2-2)];
const double cf_i0p1_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2-2)];
const double cf_i0p2_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2-2)];
const double cf_i0_i1p1_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2-2)];
const double cf_i0_i1p2_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2-2)];
const double cf_i0_i1m2_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2-1)];
const double cf_i0_i1m1_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2-1)];
const double cf_i0m2_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2-1)];
const double cf_i0m1_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2-1)];
const double cf_i0_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1,i2-1)];
const double cf_i0p1_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2-1)];
const double cf_i0p2_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2-1)];
const double cf_i0_i1p1_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2-1)];
const double cf_i0_i1p2_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2-1)];
const double cf_i0_i1m3_i2 = cfGF_.ptr[cfGF_.offset(i0,i1-3,i2)];
const double cf_i0m2_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1-2,i2)];
const double cf_i0m1_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1-2,i2)];
const double cf_i0_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2)];
const double cf_i0p1_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1-2,i2)];
const double cf_i0p2_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1-2,i2)];
const double cf_i0m2_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1-1,i2)];
const double cf_i0m1_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1-1,i2)];
const double cf_i0_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2)];
const double cf_i0p1_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1-1,i2)];
const double cf_i0p2_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1-1,i2)];
const double cf_i0m3_i1_i2 = cfGF_.ptr[cfGF_.offset(i0-3,i1,i2)];
const double cf_i0m2_i1_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2)];
const double cf_i0m1_i1_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2)];
const double cf = cfGF_.ptr[cfGF_.offset(i0,i1,i2)];
const double cf_i0p1_i1_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2)];
const double cf_i0p2_i1_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2)];
const double cf_i0p3_i1_i2 = cfGF_.ptr[cfGF_.offset(i0+3,i1,i2)];
const double cf_i0m2_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1+1,i2)];
const double cf_i0m1_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1+1,i2)];
const double cf_i0_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2)];
const double cf_i0p1_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1+1,i2)];
const double cf_i0p2_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1+1,i2)];
const double cf_i0m2_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1+2,i2)];
const double cf_i0m1_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1+2,i2)];
const double cf_i0_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2)];
const double cf_i0p1_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1+2,i2)];
const double cf_i0p2_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1+2,i2)];
const double cf_i0_i1p3_i2 = cfGF_.ptr[cfGF_.offset(i0,i1+3,i2)];
const double cf_i0_i1m2_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2+1)];
const double cf_i0_i1m1_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2+1)];
const double cf_i0m2_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2+1)];
const double cf_i0m1_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2+1)];
const double cf_i0_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1,i2+1)];
const double cf_i0p1_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2+1)];
const double cf_i0p2_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2+1)];
const double cf_i0_i1p1_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2+1)];
const double cf_i0_i1p2_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2+1)];
const double cf_i0_i1m2_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2+2)];
const double cf_i0_i1m1_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2+2)];
const double cf_i0m2_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2+2)];
const double cf_i0m1_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2+2)];
const double cf_i0_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1,i2+2)];
const double cf_i0p1_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2+2)];
const double cf_i0p2_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2+2)];
const double cf_i0_i1p1_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2+2)];
const double cf_i0_i1p2_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2+2)];
const double cf_i0_i1_i2p3 = cfGF_.ptr[cfGF_.offset(i0,i1,i2+3)];
const double alpha_i0_i1_i2m3 = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2-3)];
const double alpha_i0_i1m2_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-2,i2-2)];
const double alpha_i0_i1m1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-1,i2-2)];
const double alpha_i0m2_i1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1,i2-2)];
const double alpha_i0m1_i1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1,i2-2)];
const double alpha_i0_i1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2-2)];
const double alpha_i0p1_i1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1,i2-2)];
const double alpha_i0p2_i1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1,i2-2)];
const double alpha_i0_i1p1_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+1,i2-2)];
const double alpha_i0_i1p2_i2m2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+2,i2-2)];
const double alpha_i0_i1m2_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0,i1-2,i2-1)];
const double alpha_i0_i1m1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0,i1-1,i2-1)];
const double alpha_i0m2_i1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1,i2-1)];
const double alpha_i0m1_i1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1,i2-1)];
const double alpha_i0_i1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2-1)];
const double alpha_i0p1_i1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1,i2-1)];
const double alpha_i0p2_i1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1,i2-1)];
const double alpha_i0_i1p1_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0,i1+1,i2-1)];
const double alpha_i0_i1p2_i2m1 = alphaGF_.ptr[alphaGF_.offset(i0,i1+2,i2-1)];
const double alpha_i0_i1m3_i2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-3,i2)];
const double alpha_i0m2_i1m2_i2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1-2,i2)];
const double alpha_i0m1_i1m2_i2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1-2,i2)];
const double alpha_i0_i1m2_i2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-2,i2)];
const double alpha_i0p1_i1m2_i2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1-2,i2)];
const double alpha_i0p2_i1m2_i2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1-2,i2)];
const double alpha_i0m2_i1m1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1-1,i2)];
const double alpha_i0m1_i1m1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1-1,i2)];
const double alpha_i0_i1m1_i2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-1,i2)];
const double alpha_i0p1_i1m1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1-1,i2)];
const double alpha_i0p2_i1m1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1-1,i2)];
const double alpha_i0m3_i1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-3,i1,i2)];
const double alpha_i0m2_i1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1,i2)];
const double alpha_i0m1_i1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1,i2)];
const double alpha = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2)];
const double alpha_i0p1_i1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1,i2)];
const double alpha_i0p2_i1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1,i2)];
const double alpha_i0p3_i1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+3,i1,i2)];
const double alpha_i0m2_i1p1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1+1,i2)];
const double alpha_i0m1_i1p1_i2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1+1,i2)];
const double alpha_i0_i1p1_i2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+1,i2)];
const double alpha_i0p1_i1p1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1+1,i2)];
const double alpha_i0p2_i1p1_i2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1+1,i2)];
const double alpha_i0m2_i1p2_i2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1+2,i2)];
const double alpha_i0m1_i1p2_i2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1+2,i2)];
const double alpha_i0_i1p2_i2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+2,i2)];
const double alpha_i0p1_i1p2_i2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1+2,i2)];
const double alpha_i0p2_i1p2_i2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1+2,i2)];
const double alpha_i0_i1p3_i2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+3,i2)];
const double alpha_i0_i1m2_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0,i1-2,i2+1)];
const double alpha_i0_i1m1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0,i1-1,i2+1)];
const double alpha_i0m2_i1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1,i2+1)];
const double alpha_i0m1_i1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1,i2+1)];
const double alpha_i0_i1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2+1)];
const double alpha_i0p1_i1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1,i2+1)];
const double alpha_i0p2_i1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1,i2+1)];
const double alpha_i0_i1p1_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0,i1+1,i2+1)];
const double alpha_i0_i1p2_i2p1 = alphaGF_.ptr[alphaGF_.offset(i0,i1+2,i2+1)];
const double alpha_i0_i1m2_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-2,i2+2)];
const double alpha_i0_i1m1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0,i1-1,i2+2)];
const double alpha_i0m2_i1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0-2,i1,i2+2)];
const double alpha_i0m1_i1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0-1,i1,i2+2)];
const double alpha_i0_i1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2+2)];
const double alpha_i0p1_i1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0+1,i1,i2+2)];
const double alpha_i0p2_i1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0+2,i1,i2+2)];
const double alpha_i0_i1p1_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+1,i2+2)];
const double alpha_i0_i1p2_i2p2 = alphaGF_.ptr[alphaGF_.offset(i0,i1+2,i2+2)];
const double alpha_i0_i1_i2p3 = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2+3)];
const double RbarDD00 = RbarDD00GF_.ptr[RbarDD00GF_.offset(i0,i1,i2)];
const double RbarDD01 = RbarDD01GF_.ptr[RbarDD01GF_.offset(i0,i1,i2)];
const double RbarDD02 = RbarDD02GF_.ptr[RbarDD02GF_.offset(i0,i1,i2)];
const double RbarDD11 = RbarDD11GF_.ptr[RbarDD11GF_.offset(i0,i1,i2)];
const double RbarDD12 = RbarDD12GF_.ptr[RbarDD12GF_.offset(i0,i1,i2)];
const double RbarDD22 = RbarDD22GF_.ptr[RbarDD22GF_.offset(i0,i1,i2)];
const double tmpFD0 = -5.0/16.0*aDD00;
const double tmpFD1 = -5.0/16.0*aDD01;
const double tmpFD2 = -5.0/16.0*aDD02;
const double tmpFD3 = -5.0/16.0*aDD11;
const double tmpFD4 = -5.0/16.0*aDD12;
const double tmpFD5 = -5.0/16.0*aDD22;
const double tmpFD6 = (5.0/6.0)*aDD00;
const double tmpFD7 = (5.0/6.0)*aDD01;
const double tmpFD8 = (5.0/6.0)*aDD02;
const double tmpFD9 = (5.0/6.0)*aDD11;
const double tmpFD10 = (5.0/6.0)*aDD12;
const double tmpFD11 = (5.0/6.0)*aDD22;
const double tmpFD12 = -tmpFD6;
const double tmpFD13 = -tmpFD7;
const double tmpFD14 = -tmpFD8;
const double tmpFD15 = -tmpFD9;
const double tmpFD16 = -tmpFD10;
const double tmpFD17 = -tmpFD11;
const double tmpFD18 = (1.0/12.0)*alpha_i0m2_i1_i2;
const double tmpFD19 = -1.0/12.0*alpha_i0p2_i1_i2;
const double tmpFD20 = (1.0/12.0)*alpha_i0_i1m2_i2;
const double tmpFD21 = -1.0/12.0*alpha_i0_i1p2_i2;
const double tmpFD22 = (1.0/12.0)*alpha_i0_i1_i2m2;
const double tmpFD23 = -1.0/12.0*alpha_i0_i1_i2p2;
const double tmpFD24 = ((invdx0)*(invdx0));
const double tmpFD25 = -5.0/2.0*alpha;
const double tmpFD26 = invdx0*invdx1;
const double tmpFD27 = invdx0*invdx2;
const double tmpFD28 = ((invdx1)*(invdx1));
const double tmpFD29 = invdx1*invdx2;
const double tmpFD30 = ((invdx2)*(invdx2));
const double tmpFD31 = -5.0/16.0*alpha;
const double tmpFD32 = (5.0/6.0)*alpha;
const double tmpFD33 = -tmpFD32;
const double tmpFD34 = -5.0/16.0*betU0;
const double tmpFD35 = -5.0/16.0*betU1;
const double tmpFD36 = -5.0/16.0*betU2;
const double tmpFD37 = (5.0/6.0)*betU0;
const double tmpFD38 = (5.0/6.0)*betU1;
const double tmpFD39 = (5.0/6.0)*betU2;
const double tmpFD40 = -tmpFD37;
const double tmpFD41 = -tmpFD38;
const double tmpFD42 = -tmpFD39;
const double tmpFD43 = (1.0/12.0)*cf_i0m2_i1_i2;
const double tmpFD44 = -1.0/12.0*cf_i0p2_i1_i2;
const double tmpFD45 = (1.0/12.0)*cf_i0_i1m2_i2;
const double tmpFD46 = -1.0/12.0*cf_i0_i1p2_i2;
const double tmpFD47 = (1.0/12.0)*cf_i0_i1_i2m2;
const double tmpFD48 = -1.0/12.0*cf_i0_i1_i2p2;
const double tmpFD49 = -5.0/2.0*cf;
const double tmpFD50 = -5.0/16.0*cf;
const double tmpFD51 = (5.0/6.0)*cf;
const double tmpFD52 = -tmpFD51;
const double tmpFD53 = -5.0/16.0*hDD00;
const double tmpFD54 = -5.0/16.0*hDD01;
const double tmpFD55 = -5.0/16.0*hDD02;
const double tmpFD56 = -5.0/16.0*hDD11;
const double tmpFD57 = -5.0/16.0*hDD12;
const double tmpFD58 = -5.0/16.0*hDD22;
const double tmpFD59 = (5.0/6.0)*hDD00;
const double tmpFD60 = (5.0/6.0)*hDD01;
const double tmpFD61 = (5.0/6.0)*hDD02;
const double tmpFD62 = (5.0/6.0)*hDD11;
const double tmpFD63 = (5.0/6.0)*hDD12;
const double tmpFD64 = (5.0/6.0)*hDD22;
const double tmpFD65 = -tmpFD59;
const double tmpFD66 = -tmpFD60;
const double tmpFD67 = -tmpFD61;
const double tmpFD68 = -tmpFD62;
const double tmpFD69 = -tmpFD63;
const double tmpFD70 = -tmpFD64;
const double tmpFD71 = -5.0/16.0*lambdaU0;
const double tmpFD72 = -5.0/16.0*lambdaU1;
const double tmpFD73 = -5.0/16.0*lambdaU2;
const double tmpFD74 = (5.0/6.0)*lambdaU0;
const double tmpFD75 = (5.0/6.0)*lambdaU1;
const double tmpFD76 = (5.0/6.0)*lambdaU2;
const double tmpFD77 = -tmpFD74;
const double tmpFD78 = -tmpFD75;
const double tmpFD79 = -tmpFD76;
const double tmpFD80 = -5.0/16.0*trK;
const double tmpFD81 = (5.0/6.0)*trK;
const double tmpFD82 = -tmpFD81;
const double tmpFD83 = (1.0/12.0)*vetU0_i0m2_i1_i2;
const double tmpFD84 = -1.0/12.0*vetU0_i0p2_i1_i2;
const double tmpFD85 = (1.0/12.0)*vetU0_i0_i1m2_i2;
const double tmpFD86 = -1.0/12.0*vetU0_i0_i1p2_i2;
const double tmpFD87 = (1.0/12.0)*vetU0_i0_i1_i2m2;
const double tmpFD88 = -1.0/12.0*vetU0_i0_i1_i2p2;
const double tmpFD89 = (1.0/12.0)*vetU1_i0m2_i1_i2;
const double tmpFD90 = -1.0/12.0*vetU1_i0p2_i1_i2;
const double tmpFD91 = (1.0/12.0)*vetU1_i0_i1m2_i2;
const double tmpFD92 = -1.0/12.0*vetU1_i0_i1p2_i2;
const double tmpFD93 = (1.0/12.0)*vetU1_i0_i1_i2m2;
const double tmpFD94 = -1.0/12.0*vetU1_i0_i1_i2p2;
const double tmpFD95 = (1.0/12.0)*vetU2_i0m2_i1_i2;
const double tmpFD96 = -1.0/12.0*vetU2_i0p2_i1_i2;
const double tmpFD97 = (1.0/12.0)*vetU2_i0_i1m2_i2;
const double tmpFD98 = -1.0/12.0*vetU2_i0_i1p2_i2;
const double tmpFD99 = (1.0/12.0)*vetU2_i0_i1_i2m2;
const double tmpFD100 = -1.0/12.0*vetU2_i0_i1_i2p2;
const double tmpFD101 = -5.0/2.0*vetU0;
const double tmpFD102 = -5.0/2.0*vetU1;
const double tmpFD103 = -5.0/2.0*vetU2;
const double tmpFD104 = -5.0/16.0*vetU0;
const double tmpFD105 = -5.0/16.0*vetU1;
const double tmpFD106 = -5.0/16.0*vetU2;
const double tmpFD107 = (5.0/6.0)*vetU0;
const double tmpFD108 = (5.0/6.0)*vetU1;
const double tmpFD109 = (5.0/6.0)*vetU2;
const double tmpFD110 = -tmpFD107;
const double tmpFD111 = -tmpFD108;
const double tmpFD112 = -tmpFD109;
const double aDD_dKOD000 = invdx0*((15.0/64.0)*aDD00_i0m1_i1_i2 - 3.0/32.0*aDD00_i0m2_i1_i2 + (1.0/64.0)*aDD00_i0m3_i1_i2 + (15.0/64.0)*aDD00_i0p1_i1_i2 - 3.0/32.0*aDD00_i0p2_i1_i2 + (1.0/64.0)*aDD00_i0p3_i1_i2 + tmpFD0);
const double aDD_dKOD001 = invdx1*((15.0/64.0)*aDD00_i0_i1m1_i2 - 3.0/32.0*aDD00_i0_i1m2_i2 + (1.0/64.0)*aDD00_i0_i1m3_i2 + (15.0/64.0)*aDD00_i0_i1p1_i2 - 3.0/32.0*aDD00_i0_i1p2_i2 + (1.0/64.0)*aDD00_i0_i1p3_i2 + tmpFD0);
const double aDD_dKOD002 = invdx2*((15.0/64.0)*aDD00_i0_i1_i2m1 - 3.0/32.0*aDD00_i0_i1_i2m2 + (1.0/64.0)*aDD00_i0_i1_i2m3 + (15.0/64.0)*aDD00_i0_i1_i2p1 - 3.0/32.0*aDD00_i0_i1_i2p2 + (1.0/64.0)*aDD00_i0_i1_i2p3 + tmpFD0);
const double aDD_dKOD010 = invdx0*((15.0/64.0)*aDD01_i0m1_i1_i2 - 3.0/32.0*aDD01_i0m2_i1_i2 + (1.0/64.0)*aDD01_i0m3_i1_i2 + (15.0/64.0)*aDD01_i0p1_i1_i2 - 3.0/32.0*aDD01_i0p2_i1_i2 + (1.0/64.0)*aDD01_i0p3_i1_i2 + tmpFD1);
const double aDD_dKOD011 = invdx1*((15.0/64.0)*aDD01_i0_i1m1_i2 - 3.0/32.0*aDD01_i0_i1m2_i2 + (1.0/64.0)*aDD01_i0_i1m3_i2 + (15.0/64.0)*aDD01_i0_i1p1_i2 - 3.0/32.0*aDD01_i0_i1p2_i2 + (1.0/64.0)*aDD01_i0_i1p3_i2 + tmpFD1);
const double aDD_dKOD012 = invdx2*((15.0/64.0)*aDD01_i0_i1_i2m1 - 3.0/32.0*aDD01_i0_i1_i2m2 + (1.0/64.0)*aDD01_i0_i1_i2m3 + (15.0/64.0)*aDD01_i0_i1_i2p1 - 3.0/32.0*aDD01_i0_i1_i2p2 + (1.0/64.0)*aDD01_i0_i1_i2p3 + tmpFD1);
const double aDD_dKOD020 = invdx0*((15.0/64.0)*aDD02_i0m1_i1_i2 - 3.0/32.0*aDD02_i0m2_i1_i2 + (1.0/64.0)*aDD02_i0m3_i1_i2 + (15.0/64.0)*aDD02_i0p1_i1_i2 - 3.0/32.0*aDD02_i0p2_i1_i2 + (1.0/64.0)*aDD02_i0p3_i1_i2 + tmpFD2);
const double aDD_dKOD021 = invdx1*((15.0/64.0)*aDD02_i0_i1m1_i2 - 3.0/32.0*aDD02_i0_i1m2_i2 + (1.0/64.0)*aDD02_i0_i1m3_i2 + (15.0/64.0)*aDD02_i0_i1p1_i2 - 3.0/32.0*aDD02_i0_i1p2_i2 + (1.0/64.0)*aDD02_i0_i1p3_i2 + tmpFD2);
const double aDD_dKOD022 = invdx2*((15.0/64.0)*aDD02_i0_i1_i2m1 - 3.0/32.0*aDD02_i0_i1_i2m2 + (1.0/64.0)*aDD02_i0_i1_i2m3 + (15.0/64.0)*aDD02_i0_i1_i2p1 - 3.0/32.0*aDD02_i0_i1_i2p2 + (1.0/64.0)*aDD02_i0_i1_i2p3 + tmpFD2);
const double aDD_dKOD110 = invdx0*((15.0/64.0)*aDD11_i0m1_i1_i2 - 3.0/32.0*aDD11_i0m2_i1_i2 + (1.0/64.0)*aDD11_i0m3_i1_i2 + (15.0/64.0)*aDD11_i0p1_i1_i2 - 3.0/32.0*aDD11_i0p2_i1_i2 + (1.0/64.0)*aDD11_i0p3_i1_i2 + tmpFD3);
const double aDD_dKOD111 = invdx1*((15.0/64.0)*aDD11_i0_i1m1_i2 - 3.0/32.0*aDD11_i0_i1m2_i2 + (1.0/64.0)*aDD11_i0_i1m3_i2 + (15.0/64.0)*aDD11_i0_i1p1_i2 - 3.0/32.0*aDD11_i0_i1p2_i2 + (1.0/64.0)*aDD11_i0_i1p3_i2 + tmpFD3);
const double aDD_dKOD112 = invdx2*((15.0/64.0)*aDD11_i0_i1_i2m1 - 3.0/32.0*aDD11_i0_i1_i2m2 + (1.0/64.0)*aDD11_i0_i1_i2m3 + (15.0/64.0)*aDD11_i0_i1_i2p1 - 3.0/32.0*aDD11_i0_i1_i2p2 + (1.0/64.0)*aDD11_i0_i1_i2p3 + tmpFD3);
const double aDD_dKOD120 = invdx0*((15.0/64.0)*aDD12_i0m1_i1_i2 - 3.0/32.0*aDD12_i0m2_i1_i2 + (1.0/64.0)*aDD12_i0m3_i1_i2 + (15.0/64.0)*aDD12_i0p1_i1_i2 - 3.0/32.0*aDD12_i0p2_i1_i2 + (1.0/64.0)*aDD12_i0p3_i1_i2 + tmpFD4);
const double aDD_dKOD121 = invdx1*((15.0/64.0)*aDD12_i0_i1m1_i2 - 3.0/32.0*aDD12_i0_i1m2_i2 + (1.0/64.0)*aDD12_i0_i1m3_i2 + (15.0/64.0)*aDD12_i0_i1p1_i2 - 3.0/32.0*aDD12_i0_i1p2_i2 + (1.0/64.0)*aDD12_i0_i1p3_i2 + tmpFD4);
const double aDD_dKOD122 = invdx2*((15.0/64.0)*aDD12_i0_i1_i2m1 - 3.0/32.0*aDD12_i0_i1_i2m2 + (1.0/64.0)*aDD12_i0_i1_i2m3 + (15.0/64.0)*aDD12_i0_i1_i2p1 - 3.0/32.0*aDD12_i0_i1_i2p2 + (1.0/64.0)*aDD12_i0_i1_i2p3 + tmpFD4);
const double aDD_dKOD220 = invdx0*((15.0/64.0)*aDD22_i0m1_i1_i2 - 3.0/32.0*aDD22_i0m2_i1_i2 + (1.0/64.0)*aDD22_i0m3_i1_i2 + (15.0/64.0)*aDD22_i0p1_i1_i2 - 3.0/32.0*aDD22_i0p2_i1_i2 + (1.0/64.0)*aDD22_i0p3_i1_i2 + tmpFD5);
const double aDD_dKOD221 = invdx1*((15.0/64.0)*aDD22_i0_i1m1_i2 - 3.0/32.0*aDD22_i0_i1m2_i2 + (1.0/64.0)*aDD22_i0_i1m3_i2 + (15.0/64.0)*aDD22_i0_i1p1_i2 - 3.0/32.0*aDD22_i0_i1p2_i2 + (1.0/64.0)*aDD22_i0_i1p3_i2 + tmpFD5);
const double aDD_dKOD222 = invdx2*((15.0/64.0)*aDD22_i0_i1_i2m1 - 3.0/32.0*aDD22_i0_i1_i2m2 + (1.0/64.0)*aDD22_i0_i1_i2m3 + (15.0/64.0)*aDD22_i0_i1_i2p1 - 3.0/32.0*aDD22_i0_i1_i2p2 + (1.0/64.0)*aDD22_i0_i1_i2p3 + tmpFD5);
const double UpwindAlgInputaDD_ddnD000 = invdx0*(-3.0/2.0*aDD00_i0m1_i1_i2 + (1.0/2.0)*aDD00_i0m2_i1_i2 - 1.0/12.0*aDD00_i0m3_i1_i2 + (1.0/4.0)*aDD00_i0p1_i1_i2 + tmpFD6);
const double UpwindAlgInputaDD_ddnD001 = invdx1*(-3.0/2.0*aDD00_i0_i1m1_i2 + (1.0/2.0)*aDD00_i0_i1m2_i2 - 1.0/12.0*aDD00_i0_i1m3_i2 + (1.0/4.0)*aDD00_i0_i1p1_i2 + tmpFD6);
const double UpwindAlgInputaDD_ddnD002 = invdx2*(-3.0/2.0*aDD00_i0_i1_i2m1 + (1.0/2.0)*aDD00_i0_i1_i2m2 - 1.0/12.0*aDD00_i0_i1_i2m3 + (1.0/4.0)*aDD00_i0_i1_i2p1 + tmpFD6);
const double UpwindAlgInputaDD_ddnD010 = invdx0*(-3.0/2.0*aDD01_i0m1_i1_i2 + (1.0/2.0)*aDD01_i0m2_i1_i2 - 1.0/12.0*aDD01_i0m3_i1_i2 + (1.0/4.0)*aDD01_i0p1_i1_i2 + tmpFD7);
const double UpwindAlgInputaDD_ddnD011 = invdx1*(-3.0/2.0*aDD01_i0_i1m1_i2 + (1.0/2.0)*aDD01_i0_i1m2_i2 - 1.0/12.0*aDD01_i0_i1m3_i2 + (1.0/4.0)*aDD01_i0_i1p1_i2 + tmpFD7);
const double UpwindAlgInputaDD_ddnD012 = invdx2*(-3.0/2.0*aDD01_i0_i1_i2m1 + (1.0/2.0)*aDD01_i0_i1_i2m2 - 1.0/12.0*aDD01_i0_i1_i2m3 + (1.0/4.0)*aDD01_i0_i1_i2p1 + tmpFD7);
const double UpwindAlgInputaDD_ddnD020 = invdx0*(-3.0/2.0*aDD02_i0m1_i1_i2 + (1.0/2.0)*aDD02_i0m2_i1_i2 - 1.0/12.0*aDD02_i0m3_i1_i2 + (1.0/4.0)*aDD02_i0p1_i1_i2 + tmpFD8);
const double UpwindAlgInputaDD_ddnD021 = invdx1*(-3.0/2.0*aDD02_i0_i1m1_i2 + (1.0/2.0)*aDD02_i0_i1m2_i2 - 1.0/12.0*aDD02_i0_i1m3_i2 + (1.0/4.0)*aDD02_i0_i1p1_i2 + tmpFD8);
const double UpwindAlgInputaDD_ddnD022 = invdx2*(-3.0/2.0*aDD02_i0_i1_i2m1 + (1.0/2.0)*aDD02_i0_i1_i2m2 - 1.0/12.0*aDD02_i0_i1_i2m3 + (1.0/4.0)*aDD02_i0_i1_i2p1 + tmpFD8);
const double UpwindAlgInputaDD_ddnD110 = invdx0*(-3.0/2.0*aDD11_i0m1_i1_i2 + (1.0/2.0)*aDD11_i0m2_i1_i2 - 1.0/12.0*aDD11_i0m3_i1_i2 + (1.0/4.0)*aDD11_i0p1_i1_i2 + tmpFD9);
const double UpwindAlgInputaDD_ddnD111 = invdx1*(-3.0/2.0*aDD11_i0_i1m1_i2 + (1.0/2.0)*aDD11_i0_i1m2_i2 - 1.0/12.0*aDD11_i0_i1m3_i2 + (1.0/4.0)*aDD11_i0_i1p1_i2 + tmpFD9);
const double UpwindAlgInputaDD_ddnD112 = invdx2*(-3.0/2.0*aDD11_i0_i1_i2m1 + (1.0/2.0)*aDD11_i0_i1_i2m2 - 1.0/12.0*aDD11_i0_i1_i2m3 + (1.0/4.0)*aDD11_i0_i1_i2p1 + tmpFD9);
const double UpwindAlgInputaDD_ddnD120 = invdx0*(-3.0/2.0*aDD12_i0m1_i1_i2 + (1.0/2.0)*aDD12_i0m2_i1_i2 - 1.0/12.0*aDD12_i0m3_i1_i2 + (1.0/4.0)*aDD12_i0p1_i1_i2 + tmpFD10);
const double UpwindAlgInputaDD_ddnD121 = invdx1*(-3.0/2.0*aDD12_i0_i1m1_i2 + (1.0/2.0)*aDD12_i0_i1m2_i2 - 1.0/12.0*aDD12_i0_i1m3_i2 + (1.0/4.0)*aDD12_i0_i1p1_i2 + tmpFD10);
const double UpwindAlgInputaDD_ddnD122 = invdx2*(-3.0/2.0*aDD12_i0_i1_i2m1 + (1.0/2.0)*aDD12_i0_i1_i2m2 - 1.0/12.0*aDD12_i0_i1_i2m3 + (1.0/4.0)*aDD12_i0_i1_i2p1 + tmpFD10);
const double UpwindAlgInputaDD_ddnD220 = invdx0*(-3.0/2.0*aDD22_i0m1_i1_i2 + (1.0/2.0)*aDD22_i0m2_i1_i2 - 1.0/12.0*aDD22_i0m3_i1_i2 + (1.0/4.0)*aDD22_i0p1_i1_i2 + tmpFD11);
const double UpwindAlgInputaDD_ddnD221 = invdx1*(-3.0/2.0*aDD22_i0_i1m1_i2 + (1.0/2.0)*aDD22_i0_i1m2_i2 - 1.0/12.0*aDD22_i0_i1m3_i2 + (1.0/4.0)*aDD22_i0_i1p1_i2 + tmpFD11);
const double UpwindAlgInputaDD_ddnD222 = invdx2*(-3.0/2.0*aDD22_i0_i1_i2m1 + (1.0/2.0)*aDD22_i0_i1_i2m2 - 1.0/12.0*aDD22_i0_i1_i2m3 + (1.0/4.0)*aDD22_i0_i1_i2p1 + tmpFD11);
const double UpwindAlgInputaDD_dupD000 = invdx0*(-1.0/4.0*aDD00_i0m1_i1_i2 + (3.0/2.0)*aDD00_i0p1_i1_i2 - 1.0/2.0*aDD00_i0p2_i1_i2 + (1.0/12.0)*aDD00_i0p3_i1_i2 + tmpFD12);
const double UpwindAlgInputaDD_dupD001 = invdx1*(-1.0/4.0*aDD00_i0_i1m1_i2 + (3.0/2.0)*aDD00_i0_i1p1_i2 - 1.0/2.0*aDD00_i0_i1p2_i2 + (1.0/12.0)*aDD00_i0_i1p3_i2 + tmpFD12);
const double UpwindAlgInputaDD_dupD002 = invdx2*(-1.0/4.0*aDD00_i0_i1_i2m1 + (3.0/2.0)*aDD00_i0_i1_i2p1 - 1.0/2.0*aDD00_i0_i1_i2p2 + (1.0/12.0)*aDD00_i0_i1_i2p3 + tmpFD12);
const double UpwindAlgInputaDD_dupD010 = invdx0*(-1.0/4.0*aDD01_i0m1_i1_i2 + (3.0/2.0)*aDD01_i0p1_i1_i2 - 1.0/2.0*aDD01_i0p2_i1_i2 + (1.0/12.0)*aDD01_i0p3_i1_i2 + tmpFD13);
const double UpwindAlgInputaDD_dupD011 = invdx1*(-1.0/4.0*aDD01_i0_i1m1_i2 + (3.0/2.0)*aDD01_i0_i1p1_i2 - 1.0/2.0*aDD01_i0_i1p2_i2 + (1.0/12.0)*aDD01_i0_i1p3_i2 + tmpFD13);
const double UpwindAlgInputaDD_dupD012 = invdx2*(-1.0/4.0*aDD01_i0_i1_i2m1 + (3.0/2.0)*aDD01_i0_i1_i2p1 - 1.0/2.0*aDD01_i0_i1_i2p2 + (1.0/12.0)*aDD01_i0_i1_i2p3 + tmpFD13);
const double UpwindAlgInputaDD_dupD020 = invdx0*(-1.0/4.0*aDD02_i0m1_i1_i2 + (3.0/2.0)*aDD02_i0p1_i1_i2 - 1.0/2.0*aDD02_i0p2_i1_i2 + (1.0/12.0)*aDD02_i0p3_i1_i2 + tmpFD14);
const double UpwindAlgInputaDD_dupD021 = invdx1*(-1.0/4.0*aDD02_i0_i1m1_i2 + (3.0/2.0)*aDD02_i0_i1p1_i2 - 1.0/2.0*aDD02_i0_i1p2_i2 + (1.0/12.0)*aDD02_i0_i1p3_i2 + tmpFD14);
const double UpwindAlgInputaDD_dupD022 = invdx2*(-1.0/4.0*aDD02_i0_i1_i2m1 + (3.0/2.0)*aDD02_i0_i1_i2p1 - 1.0/2.0*aDD02_i0_i1_i2p2 + (1.0/12.0)*aDD02_i0_i1_i2p3 + tmpFD14);
const double UpwindAlgInputaDD_dupD110 = invdx0*(-1.0/4.0*aDD11_i0m1_i1_i2 + (3.0/2.0)*aDD11_i0p1_i1_i2 - 1.0/2.0*aDD11_i0p2_i1_i2 + (1.0/12.0)*aDD11_i0p3_i1_i2 + tmpFD15);
const double UpwindAlgInputaDD_dupD111 = invdx1*(-1.0/4.0*aDD11_i0_i1m1_i2 + (3.0/2.0)*aDD11_i0_i1p1_i2 - 1.0/2.0*aDD11_i0_i1p2_i2 + (1.0/12.0)*aDD11_i0_i1p3_i2 + tmpFD15);
const double UpwindAlgInputaDD_dupD112 = invdx2*(-1.0/4.0*aDD11_i0_i1_i2m1 + (3.0/2.0)*aDD11_i0_i1_i2p1 - 1.0/2.0*aDD11_i0_i1_i2p2 + (1.0/12.0)*aDD11_i0_i1_i2p3 + tmpFD15);
const double UpwindAlgInputaDD_dupD120 = invdx0*(-1.0/4.0*aDD12_i0m1_i1_i2 + (3.0/2.0)*aDD12_i0p1_i1_i2 - 1.0/2.0*aDD12_i0p2_i1_i2 + (1.0/12.0)*aDD12_i0p3_i1_i2 + tmpFD16);
const double UpwindAlgInputaDD_dupD121 = invdx1*(-1.0/4.0*aDD12_i0_i1m1_i2 + (3.0/2.0)*aDD12_i0_i1p1_i2 - 1.0/2.0*aDD12_i0_i1p2_i2 + (1.0/12.0)*aDD12_i0_i1p3_i2 + tmpFD16);
const double UpwindAlgInputaDD_dupD122 = invdx2*(-1.0/4.0*aDD12_i0_i1_i2m1 + (3.0/2.0)*aDD12_i0_i1_i2p1 - 1.0/2.0*aDD12_i0_i1_i2p2 + (1.0/12.0)*aDD12_i0_i1_i2p3 + tmpFD16);
const double UpwindAlgInputaDD_dupD220 = invdx0*(-1.0/4.0*aDD22_i0m1_i1_i2 + (3.0/2.0)*aDD22_i0p1_i1_i2 - 1.0/2.0*aDD22_i0p2_i1_i2 + (1.0/12.0)*aDD22_i0p3_i1_i2 + tmpFD17);
const double UpwindAlgInputaDD_dupD221 = invdx1*(-1.0/4.0*aDD22_i0_i1m1_i2 + (3.0/2.0)*aDD22_i0_i1p1_i2 - 1.0/2.0*aDD22_i0_i1p2_i2 + (1.0/12.0)*aDD22_i0_i1p3_i2 + tmpFD17);
const double UpwindAlgInputaDD_dupD222 = invdx2*(-1.0/4.0*aDD22_i0_i1_i2m1 + (3.0/2.0)*aDD22_i0_i1_i2p1 - 1.0/2.0*aDD22_i0_i1_i2p2 + (1.0/12.0)*aDD22_i0_i1_i2p3 + tmpFD17);
const double alpha_dD0 = invdx0*(-2.0/3.0*alpha_i0m1_i1_i2 + (2.0/3.0)*alpha_i0p1_i1_i2 + tmpFD18 + tmpFD19);
const double alpha_dD1 = invdx1*(-2.0/3.0*alpha_i0_i1m1_i2 + (2.0/3.0)*alpha_i0_i1p1_i2 + tmpFD20 + tmpFD21);
const double alpha_dD2 = invdx2*(-2.0/3.0*alpha_i0_i1_i2m1 + (2.0/3.0)*alpha_i0_i1_i2p1 + tmpFD22 + tmpFD23);
const double alpha_dDD00 = tmpFD24*((4.0/3.0)*alpha_i0m1_i1_i2 + (4.0/3.0)*alpha_i0p1_i1_i2 - tmpFD18 + tmpFD19 + tmpFD25);
const double alpha_dDD01 = tmpFD26*((4.0/9.0)*alpha_i0m1_i1m1_i2 - 1.0/18.0*alpha_i0m1_i1m2_i2 - 4.0/9.0*alpha_i0m1_i1p1_i2 + (1.0/18.0)*alpha_i0m1_i1p2_i2 - 1.0/18.0*alpha_i0m2_i1m1_i2 + (1.0/144.0)*alpha_i0m2_i1m2_i2 + (1.0/18.0)*alpha_i0m2_i1p1_i2 - 1.0/144.0*alpha_i0m2_i1p2_i2 - 4.0/9.0*alpha_i0p1_i1m1_i2 + (1.0/18.0)*alpha_i0p1_i1m2_i2 + (4.0/9.0)*alpha_i0p1_i1p1_i2 - 1.0/18.0*alpha_i0p1_i1p2_i2 + (1.0/18.0)*alpha_i0p2_i1m1_i2 - 1.0/144.0*alpha_i0p2_i1m2_i2 - 1.0/18.0*alpha_i0p2_i1p1_i2 + (1.0/144.0)*alpha_i0p2_i1p2_i2);
const double alpha_dDD02 = tmpFD27*((4.0/9.0)*alpha_i0m1_i1_i2m1 - 1.0/18.0*alpha_i0m1_i1_i2m2 - 4.0/9.0*alpha_i0m1_i1_i2p1 + (1.0/18.0)*alpha_i0m1_i1_i2p2 - 1.0/18.0*alpha_i0m2_i1_i2m1 + (1.0/144.0)*alpha_i0m2_i1_i2m2 + (1.0/18.0)*alpha_i0m2_i1_i2p1 - 1.0/144.0*alpha_i0m2_i1_i2p2 - 4.0/9.0*alpha_i0p1_i1_i2m1 + (1.0/18.0)*alpha_i0p1_i1_i2m2 + (4.0/9.0)*alpha_i0p1_i1_i2p1 - 1.0/18.0*alpha_i0p1_i1_i2p2 + (1.0/18.0)*alpha_i0p2_i1_i2m1 - 1.0/144.0*alpha_i0p2_i1_i2m2 - 1.0/18.0*alpha_i0p2_i1_i2p1 + (1.0/144.0)*alpha_i0p2_i1_i2p2);
const double alpha_dDD11 = tmpFD28*((4.0/3.0)*alpha_i0_i1m1_i2 + (4.0/3.0)*alpha_i0_i1p1_i2 - tmpFD20 + tmpFD21 + tmpFD25);
const double alpha_dDD12 = tmpFD29*((4.0/9.0)*alpha_i0_i1m1_i2m1 - 1.0/18.0*alpha_i0_i1m1_i2m2 - 4.0/9.0*alpha_i0_i1m1_i2p1 + (1.0/18.0)*alpha_i0_i1m1_i2p2 - 1.0/18.0*alpha_i0_i1m2_i2m1 + (1.0/144.0)*alpha_i0_i1m2_i2m2 + (1.0/18.0)*alpha_i0_i1m2_i2p1 - 1.0/144.0*alpha_i0_i1m2_i2p2 - 4.0/9.0*alpha_i0_i1p1_i2m1 + (1.0/18.0)*alpha_i0_i1p1_i2m2 + (4.0/9.0)*alpha_i0_i1p1_i2p1 - 1.0/18.0*alpha_i0_i1p1_i2p2 + (1.0/18.0)*alpha_i0_i1p2_i2m1 - 1.0/144.0*alpha_i0_i1p2_i2m2 - 1.0/18.0*alpha_i0_i1p2_i2p1 + (1.0/144.0)*alpha_i0_i1p2_i2p2);
const double alpha_dDD22 = tmpFD30*((4.0/3.0)*alpha_i0_i1_i2m1 + (4.0/3.0)*alpha_i0_i1_i2p1 - tmpFD22 + tmpFD23 + tmpFD25);
const double alpha_dKOD0 = invdx0*((15.0/64.0)*alpha_i0m1_i1_i2 - 3.0/32.0*alpha_i0m2_i1_i2 + (1.0/64.0)*alpha_i0m3_i1_i2 + (15.0/64.0)*alpha_i0p1_i1_i2 - 3.0/32.0*alpha_i0p2_i1_i2 + (1.0/64.0)*alpha_i0p3_i1_i2 + tmpFD31);
const double alpha_dKOD1 = invdx1*((15.0/64.0)*alpha_i0_i1m1_i2 - 3.0/32.0*alpha_i0_i1m2_i2 + (1.0/64.0)*alpha_i0_i1m3_i2 + (15.0/64.0)*alpha_i0_i1p1_i2 - 3.0/32.0*alpha_i0_i1p2_i2 + (1.0/64.0)*alpha_i0_i1p3_i2 + tmpFD31);
const double alpha_dKOD2 = invdx2*((15.0/64.0)*alpha_i0_i1_i2m1 - 3.0/32.0*alpha_i0_i1_i2m2 + (1.0/64.0)*alpha_i0_i1_i2m3 + (15.0/64.0)*alpha_i0_i1_i2p1 - 3.0/32.0*alpha_i0_i1_i2p2 + (1.0/64.0)*alpha_i0_i1_i2p3 + tmpFD31);
const double UpwindAlgInputalpha_ddnD0 = invdx0*(-3.0/2.0*alpha_i0m1_i1_i2 + (1.0/2.0)*alpha_i0m2_i1_i2 - 1.0/12.0*alpha_i0m3_i1_i2 + (1.0/4.0)*alpha_i0p1_i1_i2 + tmpFD32);
const double UpwindAlgInputalpha_ddnD1 = invdx1*(-3.0/2.0*alpha_i0_i1m1_i2 + (1.0/2.0)*alpha_i0_i1m2_i2 - 1.0/12.0*alpha_i0_i1m3_i2 + (1.0/4.0)*alpha_i0_i1p1_i2 + tmpFD32);
const double UpwindAlgInputalpha_ddnD2 = invdx2*(-3.0/2.0*alpha_i0_i1_i2m1 + (1.0/2.0)*alpha_i0_i1_i2m2 - 1.0/12.0*alpha_i0_i1_i2m3 + (1.0/4.0)*alpha_i0_i1_i2p1 + tmpFD32);
const double UpwindAlgInputalpha_dupD0 = invdx0*(-1.0/4.0*alpha_i0m1_i1_i2 + (3.0/2.0)*alpha_i0p1_i1_i2 - 1.0/2.0*alpha_i0p2_i1_i2 + (1.0/12.0)*alpha_i0p3_i1_i2 + tmpFD33);
const double UpwindAlgInputalpha_dupD1 = invdx1*(-1.0/4.0*alpha_i0_i1m1_i2 + (3.0/2.0)*alpha_i0_i1p1_i2 - 1.0/2.0*alpha_i0_i1p2_i2 + (1.0/12.0)*alpha_i0_i1p3_i2 + tmpFD33);
const double UpwindAlgInputalpha_dupD2 = invdx2*(-1.0/4.0*alpha_i0_i1_i2m1 + (3.0/2.0)*alpha_i0_i1_i2p1 - 1.0/2.0*alpha_i0_i1_i2p2 + (1.0/12.0)*alpha_i0_i1_i2p3 + tmpFD33);
const double betU_dKOD00 = invdx0*((15.0/64.0)*betU0_i0m1_i1_i2 - 3.0/32.0*betU0_i0m2_i1_i2 + (1.0/64.0)*betU0_i0m3_i1_i2 + (15.0/64.0)*betU0_i0p1_i1_i2 - 3.0/32.0*betU0_i0p2_i1_i2 + (1.0/64.0)*betU0_i0p3_i1_i2 + tmpFD34);
const double betU_dKOD01 = invdx1*((15.0/64.0)*betU0_i0_i1m1_i2 - 3.0/32.0*betU0_i0_i1m2_i2 + (1.0/64.0)*betU0_i0_i1m3_i2 + (15.0/64.0)*betU0_i0_i1p1_i2 - 3.0/32.0*betU0_i0_i1p2_i2 + (1.0/64.0)*betU0_i0_i1p3_i2 + tmpFD34);
const double betU_dKOD02 = invdx2*((15.0/64.0)*betU0_i0_i1_i2m1 - 3.0/32.0*betU0_i0_i1_i2m2 + (1.0/64.0)*betU0_i0_i1_i2m3 + (15.0/64.0)*betU0_i0_i1_i2p1 - 3.0/32.0*betU0_i0_i1_i2p2 + (1.0/64.0)*betU0_i0_i1_i2p3 + tmpFD34);
const double betU_dKOD10 = invdx0*((15.0/64.0)*betU1_i0m1_i1_i2 - 3.0/32.0*betU1_i0m2_i1_i2 + (1.0/64.0)*betU1_i0m3_i1_i2 + (15.0/64.0)*betU1_i0p1_i1_i2 - 3.0/32.0*betU1_i0p2_i1_i2 + (1.0/64.0)*betU1_i0p3_i1_i2 + tmpFD35);
const double betU_dKOD11 = invdx1*((15.0/64.0)*betU1_i0_i1m1_i2 - 3.0/32.0*betU1_i0_i1m2_i2 + (1.0/64.0)*betU1_i0_i1m3_i2 + (15.0/64.0)*betU1_i0_i1p1_i2 - 3.0/32.0*betU1_i0_i1p2_i2 + (1.0/64.0)*betU1_i0_i1p3_i2 + tmpFD35);
const double betU_dKOD12 = invdx2*((15.0/64.0)*betU1_i0_i1_i2m1 - 3.0/32.0*betU1_i0_i1_i2m2 + (1.0/64.0)*betU1_i0_i1_i2m3 + (15.0/64.0)*betU1_i0_i1_i2p1 - 3.0/32.0*betU1_i0_i1_i2p2 + (1.0/64.0)*betU1_i0_i1_i2p3 + tmpFD35);
const double betU_dKOD20 = invdx0*((15.0/64.0)*betU2_i0m1_i1_i2 - 3.0/32.0*betU2_i0m2_i1_i2 + (1.0/64.0)*betU2_i0m3_i1_i2 + (15.0/64.0)*betU2_i0p1_i1_i2 - 3.0/32.0*betU2_i0p2_i1_i2 + (1.0/64.0)*betU2_i0p3_i1_i2 + tmpFD36);
const double betU_dKOD21 = invdx1*((15.0/64.0)*betU2_i0_i1m1_i2 - 3.0/32.0*betU2_i0_i1m2_i2 + (1.0/64.0)*betU2_i0_i1m3_i2 + (15.0/64.0)*betU2_i0_i1p1_i2 - 3.0/32.0*betU2_i0_i1p2_i2 + (1.0/64.0)*betU2_i0_i1p3_i2 + tmpFD36);
const double betU_dKOD22 = invdx2*((15.0/64.0)*betU2_i0_i1_i2m1 - 3.0/32.0*betU2_i0_i1_i2m2 + (1.0/64.0)*betU2_i0_i1_i2m3 + (15.0/64.0)*betU2_i0_i1_i2p1 - 3.0/32.0*betU2_i0_i1_i2p2 + (1.0/64.0)*betU2_i0_i1_i2p3 + tmpFD36);
const double UpwindAlgInputbetU_ddnD00 = invdx0*(-3.0/2.0*betU0_i0m1_i1_i2 + (1.0/2.0)*betU0_i0m2_i1_i2 - 1.0/12.0*betU0_i0m3_i1_i2 + (1.0/4.0)*betU0_i0p1_i1_i2 + tmpFD37);
const double UpwindAlgInputbetU_ddnD01 = invdx1*(-3.0/2.0*betU0_i0_i1m1_i2 + (1.0/2.0)*betU0_i0_i1m2_i2 - 1.0/12.0*betU0_i0_i1m3_i2 + (1.0/4.0)*betU0_i0_i1p1_i2 + tmpFD37);
const double UpwindAlgInputbetU_ddnD02 = invdx2*(-3.0/2.0*betU0_i0_i1_i2m1 + (1.0/2.0)*betU0_i0_i1_i2m2 - 1.0/12.0*betU0_i0_i1_i2m3 + (1.0/4.0)*betU0_i0_i1_i2p1 + tmpFD37);
const double UpwindAlgInputbetU_ddnD10 = invdx0*(-3.0/2.0*betU1_i0m1_i1_i2 + (1.0/2.0)*betU1_i0m2_i1_i2 - 1.0/12.0*betU1_i0m3_i1_i2 + (1.0/4.0)*betU1_i0p1_i1_i2 + tmpFD38);
const double UpwindAlgInputbetU_ddnD11 = invdx1*(-3.0/2.0*betU1_i0_i1m1_i2 + (1.0/2.0)*betU1_i0_i1m2_i2 - 1.0/12.0*betU1_i0_i1m3_i2 + (1.0/4.0)*betU1_i0_i1p1_i2 + tmpFD38);
const double UpwindAlgInputbetU_ddnD12 = invdx2*(-3.0/2.0*betU1_i0_i1_i2m1 + (1.0/2.0)*betU1_i0_i1_i2m2 - 1.0/12.0*betU1_i0_i1_i2m3 + (1.0/4.0)*betU1_i0_i1_i2p1 + tmpFD38);
const double UpwindAlgInputbetU_ddnD20 = invdx0*(-3.0/2.0*betU2_i0m1_i1_i2 + (1.0/2.0)*betU2_i0m2_i1_i2 - 1.0/12.0*betU2_i0m3_i1_i2 + (1.0/4.0)*betU2_i0p1_i1_i2 + tmpFD39);
const double UpwindAlgInputbetU_ddnD21 = invdx1*(-3.0/2.0*betU2_i0_i1m1_i2 + (1.0/2.0)*betU2_i0_i1m2_i2 - 1.0/12.0*betU2_i0_i1m3_i2 + (1.0/4.0)*betU2_i0_i1p1_i2 + tmpFD39);
const double UpwindAlgInputbetU_ddnD22 = invdx2*(-3.0/2.0*betU2_i0_i1_i2m1 + (1.0/2.0)*betU2_i0_i1_i2m2 - 1.0/12.0*betU2_i0_i1_i2m3 + (1.0/4.0)*betU2_i0_i1_i2p1 + tmpFD39);
const double UpwindAlgInputbetU_dupD00 = invdx0*(-1.0/4.0*betU0_i0m1_i1_i2 + (3.0/2.0)*betU0_i0p1_i1_i2 - 1.0/2.0*betU0_i0p2_i1_i2 + (1.0/12.0)*betU0_i0p3_i1_i2 + tmpFD40);
const double UpwindAlgInputbetU_dupD01 = invdx1*(-1.0/4.0*betU0_i0_i1m1_i2 + (3.0/2.0)*betU0_i0_i1p1_i2 - 1.0/2.0*betU0_i0_i1p2_i2 + (1.0/12.0)*betU0_i0_i1p3_i2 + tmpFD40);
const double UpwindAlgInputbetU_dupD02 = invdx2*(-1.0/4.0*betU0_i0_i1_i2m1 + (3.0/2.0)*betU0_i0_i1_i2p1 - 1.0/2.0*betU0_i0_i1_i2p2 + (1.0/12.0)*betU0_i0_i1_i2p3 + tmpFD40);
const double UpwindAlgInputbetU_dupD10 = invdx0*(-1.0/4.0*betU1_i0m1_i1_i2 + (3.0/2.0)*betU1_i0p1_i1_i2 - 1.0/2.0*betU1_i0p2_i1_i2 + (1.0/12.0)*betU1_i0p3_i1_i2 + tmpFD41);
const double UpwindAlgInputbetU_dupD11 = invdx1*(-1.0/4.0*betU1_i0_i1m1_i2 + (3.0/2.0)*betU1_i0_i1p1_i2 - 1.0/2.0*betU1_i0_i1p2_i2 + (1.0/12.0)*betU1_i0_i1p3_i2 + tmpFD41);
const double UpwindAlgInputbetU_dupD12 = invdx2*(-1.0/4.0*betU1_i0_i1_i2m1 + (3.0/2.0)*betU1_i0_i1_i2p1 - 1.0/2.0*betU1_i0_i1_i2p2 + (1.0/12.0)*betU1_i0_i1_i2p3 + tmpFD41);
const double UpwindAlgInputbetU_dupD20 = invdx0*(-1.0/4.0*betU2_i0m1_i1_i2 + (3.0/2.0)*betU2_i0p1_i1_i2 - 1.0/2.0*betU2_i0p2_i1_i2 + (1.0/12.0)*betU2_i0p3_i1_i2 + tmpFD42);
const double UpwindAlgInputbetU_dupD21 = invdx1*(-1.0/4.0*betU2_i0_i1m1_i2 + (3.0/2.0)*betU2_i0_i1p1_i2 - 1.0/2.0*betU2_i0_i1p2_i2 + (1.0/12.0)*betU2_i0_i1p3_i2 + tmpFD42);
const double UpwindAlgInputbetU_dupD22 = invdx2*(-1.0/4.0*betU2_i0_i1_i2m1 + (3.0/2.0)*betU2_i0_i1_i2p1 - 1.0/2.0*betU2_i0_i1_i2p2 + (1.0/12.0)*betU2_i0_i1_i2p3 + tmpFD42);
const double cf_dD0 = invdx0*(-2.0/3.0*cf_i0m1_i1_i2 + (2.0/3.0)*cf_i0p1_i1_i2 + tmpFD43 + tmpFD44);
const double cf_dD1 = invdx1*(-2.0/3.0*cf_i0_i1m1_i2 + (2.0/3.0)*cf_i0_i1p1_i2 + tmpFD45 + tmpFD46);
const double cf_dD2 = invdx2*(-2.0/3.0*cf_i0_i1_i2m1 + (2.0/3.0)*cf_i0_i1_i2p1 + tmpFD47 + tmpFD48);
const double cf_dDD00 = tmpFD24*((4.0/3.0)*cf_i0m1_i1_i2 + (4.0/3.0)*cf_i0p1_i1_i2 - tmpFD43 + tmpFD44 + tmpFD49);
const double cf_dDD01 = tmpFD26*((4.0/9.0)*cf_i0m1_i1m1_i2 - 1.0/18.0*cf_i0m1_i1m2_i2 - 4.0/9.0*cf_i0m1_i1p1_i2 + (1.0/18.0)*cf_i0m1_i1p2_i2 - 1.0/18.0*cf_i0m2_i1m1_i2 + (1.0/144.0)*cf_i0m2_i1m2_i2 + (1.0/18.0)*cf_i0m2_i1p1_i2 - 1.0/144.0*cf_i0m2_i1p2_i2 - 4.0/9.0*cf_i0p1_i1m1_i2 + (1.0/18.0)*cf_i0p1_i1m2_i2 + (4.0/9.0)*cf_i0p1_i1p1_i2 - 1.0/18.0*cf_i0p1_i1p2_i2 + (1.0/18.0)*cf_i0p2_i1m1_i2 - 1.0/144.0*cf_i0p2_i1m2_i2 - 1.0/18.0*cf_i0p2_i1p1_i2 + (1.0/144.0)*cf_i0p2_i1p2_i2);
const double cf_dDD02 = tmpFD27*((4.0/9.0)*cf_i0m1_i1_i2m1 - 1.0/18.0*cf_i0m1_i1_i2m2 - 4.0/9.0*cf_i0m1_i1_i2p1 + (1.0/18.0)*cf_i0m1_i1_i2p2 - 1.0/18.0*cf_i0m2_i1_i2m1 + (1.0/144.0)*cf_i0m2_i1_i2m2 + (1.0/18.0)*cf_i0m2_i1_i2p1 - 1.0/144.0*cf_i0m2_i1_i2p2 - 4.0/9.0*cf_i0p1_i1_i2m1 + (1.0/18.0)*cf_i0p1_i1_i2m2 + (4.0/9.0)*cf_i0p1_i1_i2p1 - 1.0/18.0*cf_i0p1_i1_i2p2 + (1.0/18.0)*cf_i0p2_i1_i2m1 - 1.0/144.0*cf_i0p2_i1_i2m2 - 1.0/18.0*cf_i0p2_i1_i2p1 + (1.0/144.0)*cf_i0p2_i1_i2p2);
const double cf_dDD11 = tmpFD28*((4.0/3.0)*cf_i0_i1m1_i2 + (4.0/3.0)*cf_i0_i1p1_i2 - tmpFD45 + tmpFD46 + tmpFD49);
const double cf_dDD12 = tmpFD29*((4.0/9.0)*cf_i0_i1m1_i2m1 - 1.0/18.0*cf_i0_i1m1_i2m2 - 4.0/9.0*cf_i0_i1m1_i2p1 + (1.0/18.0)*cf_i0_i1m1_i2p2 - 1.0/18.0*cf_i0_i1m2_i2m1 + (1.0/144.0)*cf_i0_i1m2_i2m2 + (1.0/18.0)*cf_i0_i1m2_i2p1 - 1.0/144.0*cf_i0_i1m2_i2p2 - 4.0/9.0*cf_i0_i1p1_i2m1 + (1.0/18.0)*cf_i0_i1p1_i2m2 + (4.0/9.0)*cf_i0_i1p1_i2p1 - 1.0/18.0*cf_i0_i1p1_i2p2 + (1.0/18.0)*cf_i0_i1p2_i2m1 - 1.0/144.0*cf_i0_i1p2_i2m2 - 1.0/18.0*cf_i0_i1p2_i2p1 + (1.0/144.0)*cf_i0_i1p2_i2p2);
const double cf_dDD22 = tmpFD30*((4.0/3.0)*cf_i0_i1_i2m1 + (4.0/3.0)*cf_i0_i1_i2p1 - tmpFD47 + tmpFD48 + tmpFD49);
const double cf_dKOD0 = invdx0*((15.0/64.0)*cf_i0m1_i1_i2 - 3.0/32.0*cf_i0m2_i1_i2 + (1.0/64.0)*cf_i0m3_i1_i2 + (15.0/64.0)*cf_i0p1_i1_i2 - 3.0/32.0*cf_i0p2_i1_i2 + (1.0/64.0)*cf_i0p3_i1_i2 + tmpFD50);
const double cf_dKOD1 = invdx1*((15.0/64.0)*cf_i0_i1m1_i2 - 3.0/32.0*cf_i0_i1m2_i2 + (1.0/64.0)*cf_i0_i1m3_i2 + (15.0/64.0)*cf_i0_i1p1_i2 - 3.0/32.0*cf_i0_i1p2_i2 + (1.0/64.0)*cf_i0_i1p3_i2 + tmpFD50);
const double cf_dKOD2 = invdx2*((15.0/64.0)*cf_i0_i1_i2m1 - 3.0/32.0*cf_i0_i1_i2m2 + (1.0/64.0)*cf_i0_i1_i2m3 + (15.0/64.0)*cf_i0_i1_i2p1 - 3.0/32.0*cf_i0_i1_i2p2 + (1.0/64.0)*cf_i0_i1_i2p3 + tmpFD50);
const double UpwindAlgInputcf_ddnD0 = invdx0*(-3.0/2.0*cf_i0m1_i1_i2 + (1.0/2.0)*cf_i0m2_i1_i2 - 1.0/12.0*cf_i0m3_i1_i2 + (1.0/4.0)*cf_i0p1_i1_i2 + tmpFD51);
const double UpwindAlgInputcf_ddnD1 = invdx1*(-3.0/2.0*cf_i0_i1m1_i2 + (1.0/2.0)*cf_i0_i1m2_i2 - 1.0/12.0*cf_i0_i1m3_i2 + (1.0/4.0)*cf_i0_i1p1_i2 + tmpFD51);
const double UpwindAlgInputcf_ddnD2 = invdx2*(-3.0/2.0*cf_i0_i1_i2m1 + (1.0/2.0)*cf_i0_i1_i2m2 - 1.0/12.0*cf_i0_i1_i2m3 + (1.0/4.0)*cf_i0_i1_i2p1 + tmpFD51);
const double UpwindAlgInputcf_dupD0 = invdx0*(-1.0/4.0*cf_i0m1_i1_i2 + (3.0/2.0)*cf_i0p1_i1_i2 - 1.0/2.0*cf_i0p2_i1_i2 + (1.0/12.0)*cf_i0p3_i1_i2 + tmpFD52);
const double UpwindAlgInputcf_dupD1 = invdx1*(-1.0/4.0*cf_i0_i1m1_i2 + (3.0/2.0)*cf_i0_i1p1_i2 - 1.0/2.0*cf_i0_i1p2_i2 + (1.0/12.0)*cf_i0_i1p3_i2 + tmpFD52);
const double UpwindAlgInputcf_dupD2 = invdx2*(-1.0/4.0*cf_i0_i1_i2m1 + (3.0/2.0)*cf_i0_i1_i2p1 - 1.0/2.0*cf_i0_i1_i2p2 + (1.0/12.0)*cf_i0_i1_i2p3 + tmpFD52);
const double hDD_dD000 = invdx0*(-2.0/3.0*hDD00_i0m1_i1_i2 + (1.0/12.0)*hDD00_i0m2_i1_i2 + (2.0/3.0)*hDD00_i0p1_i1_i2 - 1.0/12.0*hDD00_i0p2_i1_i2);
const double hDD_dD001 = invdx1*(-2.0/3.0*hDD00_i0_i1m1_i2 + (1.0/12.0)*hDD00_i0_i1m2_i2 + (2.0/3.0)*hDD00_i0_i1p1_i2 - 1.0/12.0*hDD00_i0_i1p2_i2);
const double hDD_dD002 = invdx2*(-2.0/3.0*hDD00_i0_i1_i2m1 + (1.0/12.0)*hDD00_i0_i1_i2m2 + (2.0/3.0)*hDD00_i0_i1_i2p1 - 1.0/12.0*hDD00_i0_i1_i2p2);
const double hDD_dD010 = invdx0*(-2.0/3.0*hDD01_i0m1_i1_i2 + (1.0/12.0)*hDD01_i0m2_i1_i2 + (2.0/3.0)*hDD01_i0p1_i1_i2 - 1.0/12.0*hDD01_i0p2_i1_i2);
const double hDD_dD011 = invdx1*(-2.0/3.0*hDD01_i0_i1m1_i2 + (1.0/12.0)*hDD01_i0_i1m2_i2 + (2.0/3.0)*hDD01_i0_i1p1_i2 - 1.0/12.0*hDD01_i0_i1p2_i2);
const double hDD_dD012 = invdx2*(-2.0/3.0*hDD01_i0_i1_i2m1 + (1.0/12.0)*hDD01_i0_i1_i2m2 + (2.0/3.0)*hDD01_i0_i1_i2p1 - 1.0/12.0*hDD01_i0_i1_i2p2);
const double hDD_dD020 = invdx0*(-2.0/3.0*hDD02_i0m1_i1_i2 + (1.0/12.0)*hDD02_i0m2_i1_i2 + (2.0/3.0)*hDD02_i0p1_i1_i2 - 1.0/12.0*hDD02_i0p2_i1_i2);
const double hDD_dD021 = invdx1*(-2.0/3.0*hDD02_i0_i1m1_i2 + (1.0/12.0)*hDD02_i0_i1m2_i2 + (2.0/3.0)*hDD02_i0_i1p1_i2 - 1.0/12.0*hDD02_i0_i1p2_i2);
const double hDD_dD022 = invdx2*(-2.0/3.0*hDD02_i0_i1_i2m1 + (1.0/12.0)*hDD02_i0_i1_i2m2 + (2.0/3.0)*hDD02_i0_i1_i2p1 - 1.0/12.0*hDD02_i0_i1_i2p2);
const double hDD_dD110 = invdx0*(-2.0/3.0*hDD11_i0m1_i1_i2 + (1.0/12.0)*hDD11_i0m2_i1_i2 + (2.0/3.0)*hDD11_i0p1_i1_i2 - 1.0/12.0*hDD11_i0p2_i1_i2);
const double hDD_dD111 = invdx1*(-2.0/3.0*hDD11_i0_i1m1_i2 + (1.0/12.0)*hDD11_i0_i1m2_i2 + (2.0/3.0)*hDD11_i0_i1p1_i2 - 1.0/12.0*hDD11_i0_i1p2_i2);
const double hDD_dD112 = invdx2*(-2.0/3.0*hDD11_i0_i1_i2m1 + (1.0/12.0)*hDD11_i0_i1_i2m2 + (2.0/3.0)*hDD11_i0_i1_i2p1 - 1.0/12.0*hDD11_i0_i1_i2p2);
const double hDD_dD120 = invdx0*(-2.0/3.0*hDD12_i0m1_i1_i2 + (1.0/12.0)*hDD12_i0m2_i1_i2 + (2.0/3.0)*hDD12_i0p1_i1_i2 - 1.0/12.0*hDD12_i0p2_i1_i2);
const double hDD_dD121 = invdx1*(-2.0/3.0*hDD12_i0_i1m1_i2 + (1.0/12.0)*hDD12_i0_i1m2_i2 + (2.0/3.0)*hDD12_i0_i1p1_i2 - 1.0/12.0*hDD12_i0_i1p2_i2);
const double hDD_dD122 = invdx2*(-2.0/3.0*hDD12_i0_i1_i2m1 + (1.0/12.0)*hDD12_i0_i1_i2m2 + (2.0/3.0)*hDD12_i0_i1_i2p1 - 1.0/12.0*hDD12_i0_i1_i2p2);
const double hDD_dD220 = invdx0*(-2.0/3.0*hDD22_i0m1_i1_i2 + (1.0/12.0)*hDD22_i0m2_i1_i2 + (2.0/3.0)*hDD22_i0p1_i1_i2 - 1.0/12.0*hDD22_i0p2_i1_i2);
const double hDD_dD221 = invdx1*(-2.0/3.0*hDD22_i0_i1m1_i2 + (1.0/12.0)*hDD22_i0_i1m2_i2 + (2.0/3.0)*hDD22_i0_i1p1_i2 - 1.0/12.0*hDD22_i0_i1p2_i2);
const double hDD_dD222 = invdx2*(-2.0/3.0*hDD22_i0_i1_i2m1 + (1.0/12.0)*hDD22_i0_i1_i2m2 + (2.0/3.0)*hDD22_i0_i1_i2p1 - 1.0/12.0*hDD22_i0_i1_i2p2);
const double hDD_dKOD000 = invdx0*((15.0/64.0)*hDD00_i0m1_i1_i2 - 3.0/32.0*hDD00_i0m2_i1_i2 + (1.0/64.0)*hDD00_i0m3_i1_i2 + (15.0/64.0)*hDD00_i0p1_i1_i2 - 3.0/32.0*hDD00_i0p2_i1_i2 + (1.0/64.0)*hDD00_i0p3_i1_i2 + tmpFD53);
const double hDD_dKOD001 = invdx1*((15.0/64.0)*hDD00_i0_i1m1_i2 - 3.0/32.0*hDD00_i0_i1m2_i2 + (1.0/64.0)*hDD00_i0_i1m3_i2 + (15.0/64.0)*hDD00_i0_i1p1_i2 - 3.0/32.0*hDD00_i0_i1p2_i2 + (1.0/64.0)*hDD00_i0_i1p3_i2 + tmpFD53);
const double hDD_dKOD002 = invdx2*((15.0/64.0)*hDD00_i0_i1_i2m1 - 3.0/32.0*hDD00_i0_i1_i2m2 + (1.0/64.0)*hDD00_i0_i1_i2m3 + (15.0/64.0)*hDD00_i0_i1_i2p1 - 3.0/32.0*hDD00_i0_i1_i2p2 + (1.0/64.0)*hDD00_i0_i1_i2p3 + tmpFD53);
const double hDD_dKOD010 = invdx0*((15.0/64.0)*hDD01_i0m1_i1_i2 - 3.0/32.0*hDD01_i0m2_i1_i2 + (1.0/64.0)*hDD01_i0m3_i1_i2 + (15.0/64.0)*hDD01_i0p1_i1_i2 - 3.0/32.0*hDD01_i0p2_i1_i2 + (1.0/64.0)*hDD01_i0p3_i1_i2 + tmpFD54);
const double hDD_dKOD011 = invdx1*((15.0/64.0)*hDD01_i0_i1m1_i2 - 3.0/32.0*hDD01_i0_i1m2_i2 + (1.0/64.0)*hDD01_i0_i1m3_i2 + (15.0/64.0)*hDD01_i0_i1p1_i2 - 3.0/32.0*hDD01_i0_i1p2_i2 + (1.0/64.0)*hDD01_i0_i1p3_i2 + tmpFD54);
const double hDD_dKOD012 = invdx2*((15.0/64.0)*hDD01_i0_i1_i2m1 - 3.0/32.0*hDD01_i0_i1_i2m2 + (1.0/64.0)*hDD01_i0_i1_i2m3 + (15.0/64.0)*hDD01_i0_i1_i2p1 - 3.0/32.0*hDD01_i0_i1_i2p2 + (1.0/64.0)*hDD01_i0_i1_i2p3 + tmpFD54);
const double hDD_dKOD020 = invdx0*((15.0/64.0)*hDD02_i0m1_i1_i2 - 3.0/32.0*hDD02_i0m2_i1_i2 + (1.0/64.0)*hDD02_i0m3_i1_i2 + (15.0/64.0)*hDD02_i0p1_i1_i2 - 3.0/32.0*hDD02_i0p2_i1_i2 + (1.0/64.0)*hDD02_i0p3_i1_i2 + tmpFD55);
const double hDD_dKOD021 = invdx1*((15.0/64.0)*hDD02_i0_i1m1_i2 - 3.0/32.0*hDD02_i0_i1m2_i2 + (1.0/64.0)*hDD02_i0_i1m3_i2 + (15.0/64.0)*hDD02_i0_i1p1_i2 - 3.0/32.0*hDD02_i0_i1p2_i2 + (1.0/64.0)*hDD02_i0_i1p3_i2 + tmpFD55);
const double hDD_dKOD022 = invdx2*((15.0/64.0)*hDD02_i0_i1_i2m1 - 3.0/32.0*hDD02_i0_i1_i2m2 + (1.0/64.0)*hDD02_i0_i1_i2m3 + (15.0/64.0)*hDD02_i0_i1_i2p1 - 3.0/32.0*hDD02_i0_i1_i2p2 + (1.0/64.0)*hDD02_i0_i1_i2p3 + tmpFD55);
const double hDD_dKOD110 = invdx0*((15.0/64.0)*hDD11_i0m1_i1_i2 - 3.0/32.0*hDD11_i0m2_i1_i2 + (1.0/64.0)*hDD11_i0m3_i1_i2 + (15.0/64.0)*hDD11_i0p1_i1_i2 - 3.0/32.0*hDD11_i0p2_i1_i2 + (1.0/64.0)*hDD11_i0p3_i1_i2 + tmpFD56);
const double hDD_dKOD111 = invdx1*((15.0/64.0)*hDD11_i0_i1m1_i2 - 3.0/32.0*hDD11_i0_i1m2_i2 + (1.0/64.0)*hDD11_i0_i1m3_i2 + (15.0/64.0)*hDD11_i0_i1p1_i2 - 3.0/32.0*hDD11_i0_i1p2_i2 + (1.0/64.0)*hDD11_i0_i1p3_i2 + tmpFD56);
const double hDD_dKOD112 = invdx2*((15.0/64.0)*hDD11_i0_i1_i2m1 - 3.0/32.0*hDD11_i0_i1_i2m2 + (1.0/64.0)*hDD11_i0_i1_i2m3 + (15.0/64.0)*hDD11_i0_i1_i2p1 - 3.0/32.0*hDD11_i0_i1_i2p2 + (1.0/64.0)*hDD11_i0_i1_i2p3 + tmpFD56);
const double hDD_dKOD120 = invdx0*((15.0/64.0)*hDD12_i0m1_i1_i2 - 3.0/32.0*hDD12_i0m2_i1_i2 + (1.0/64.0)*hDD12_i0m3_i1_i2 + (15.0/64.0)*hDD12_i0p1_i1_i2 - 3.0/32.0*hDD12_i0p2_i1_i2 + (1.0/64.0)*hDD12_i0p3_i1_i2 + tmpFD57);
const double hDD_dKOD121 = invdx1*((15.0/64.0)*hDD12_i0_i1m1_i2 - 3.0/32.0*hDD12_i0_i1m2_i2 + (1.0/64.0)*hDD12_i0_i1m3_i2 + (15.0/64.0)*hDD12_i0_i1p1_i2 - 3.0/32.0*hDD12_i0_i1p2_i2 + (1.0/64.0)*hDD12_i0_i1p3_i2 + tmpFD57);
const double hDD_dKOD122 = invdx2*((15.0/64.0)*hDD12_i0_i1_i2m1 - 3.0/32.0*hDD12_i0_i1_i2m2 + (1.0/64.0)*hDD12_i0_i1_i2m3 + (15.0/64.0)*hDD12_i0_i1_i2p1 - 3.0/32.0*hDD12_i0_i1_i2p2 + (1.0/64.0)*hDD12_i0_i1_i2p3 + tmpFD57);
const double hDD_dKOD220 = invdx0*((15.0/64.0)*hDD22_i0m1_i1_i2 - 3.0/32.0*hDD22_i0m2_i1_i2 + (1.0/64.0)*hDD22_i0m3_i1_i2 + (15.0/64.0)*hDD22_i0p1_i1_i2 - 3.0/32.0*hDD22_i0p2_i1_i2 + (1.0/64.0)*hDD22_i0p3_i1_i2 + tmpFD58);
const double hDD_dKOD221 = invdx1*((15.0/64.0)*hDD22_i0_i1m1_i2 - 3.0/32.0*hDD22_i0_i1m2_i2 + (1.0/64.0)*hDD22_i0_i1m3_i2 + (15.0/64.0)*hDD22_i0_i1p1_i2 - 3.0/32.0*hDD22_i0_i1p2_i2 + (1.0/64.0)*hDD22_i0_i1p3_i2 + tmpFD58);
const double hDD_dKOD222 = invdx2*((15.0/64.0)*hDD22_i0_i1_i2m1 - 3.0/32.0*hDD22_i0_i1_i2m2 + (1.0/64.0)*hDD22_i0_i1_i2m3 + (15.0/64.0)*hDD22_i0_i1_i2p1 - 3.0/32.0*hDD22_i0_i1_i2p2 + (1.0/64.0)*hDD22_i0_i1_i2p3 + tmpFD58);
const double UpwindAlgInputhDD_ddnD000 = invdx0*(-3.0/2.0*hDD00_i0m1_i1_i2 + (1.0/2.0)*hDD00_i0m2_i1_i2 - 1.0/12.0*hDD00_i0m3_i1_i2 + (1.0/4.0)*hDD00_i0p1_i1_i2 + tmpFD59);
const double UpwindAlgInputhDD_ddnD001 = invdx1*(-3.0/2.0*hDD00_i0_i1m1_i2 + (1.0/2.0)*hDD00_i0_i1m2_i2 - 1.0/12.0*hDD00_i0_i1m3_i2 + (1.0/4.0)*hDD00_i0_i1p1_i2 + tmpFD59);
const double UpwindAlgInputhDD_ddnD002 = invdx2*(-3.0/2.0*hDD00_i0_i1_i2m1 + (1.0/2.0)*hDD00_i0_i1_i2m2 - 1.0/12.0*hDD00_i0_i1_i2m3 + (1.0/4.0)*hDD00_i0_i1_i2p1 + tmpFD59);
const double UpwindAlgInputhDD_ddnD010 = invdx0*(-3.0/2.0*hDD01_i0m1_i1_i2 + (1.0/2.0)*hDD01_i0m2_i1_i2 - 1.0/12.0*hDD01_i0m3_i1_i2 + (1.0/4.0)*hDD01_i0p1_i1_i2 + tmpFD60);
const double UpwindAlgInputhDD_ddnD011 = invdx1*(-3.0/2.0*hDD01_i0_i1m1_i2 + (1.0/2.0)*hDD01_i0_i1m2_i2 - 1.0/12.0*hDD01_i0_i1m3_i2 + (1.0/4.0)*hDD01_i0_i1p1_i2 + tmpFD60);
const double UpwindAlgInputhDD_ddnD012 = invdx2*(-3.0/2.0*hDD01_i0_i1_i2m1 + (1.0/2.0)*hDD01_i0_i1_i2m2 - 1.0/12.0*hDD01_i0_i1_i2m3 + (1.0/4.0)*hDD01_i0_i1_i2p1 + tmpFD60);
const double UpwindAlgInputhDD_ddnD020 = invdx0*(-3.0/2.0*hDD02_i0m1_i1_i2 + (1.0/2.0)*hDD02_i0m2_i1_i2 - 1.0/12.0*hDD02_i0m3_i1_i2 + (1.0/4.0)*hDD02_i0p1_i1_i2 + tmpFD61);
const double UpwindAlgInputhDD_ddnD021 = invdx1*(-3.0/2.0*hDD02_i0_i1m1_i2 + (1.0/2.0)*hDD02_i0_i1m2_i2 - 1.0/12.0*hDD02_i0_i1m3_i2 + (1.0/4.0)*hDD02_i0_i1p1_i2 + tmpFD61);
const double UpwindAlgInputhDD_ddnD022 = invdx2*(-3.0/2.0*hDD02_i0_i1_i2m1 + (1.0/2.0)*hDD02_i0_i1_i2m2 - 1.0/12.0*hDD02_i0_i1_i2m3 + (1.0/4.0)*hDD02_i0_i1_i2p1 + tmpFD61);
const double UpwindAlgInputhDD_ddnD110 = invdx0*(-3.0/2.0*hDD11_i0m1_i1_i2 + (1.0/2.0)*hDD11_i0m2_i1_i2 - 1.0/12.0*hDD11_i0m3_i1_i2 + (1.0/4.0)*hDD11_i0p1_i1_i2 + tmpFD62);
const double UpwindAlgInputhDD_ddnD111 = invdx1*(-3.0/2.0*hDD11_i0_i1m1_i2 + (1.0/2.0)*hDD11_i0_i1m2_i2 - 1.0/12.0*hDD11_i0_i1m3_i2 + (1.0/4.0)*hDD11_i0_i1p1_i2 + tmpFD62);
const double UpwindAlgInputhDD_ddnD112 = invdx2*(-3.0/2.0*hDD11_i0_i1_i2m1 + (1.0/2.0)*hDD11_i0_i1_i2m2 - 1.0/12.0*hDD11_i0_i1_i2m3 + (1.0/4.0)*hDD11_i0_i1_i2p1 + tmpFD62);
const double UpwindAlgInputhDD_ddnD120 = invdx0*(-3.0/2.0*hDD12_i0m1_i1_i2 + (1.0/2.0)*hDD12_i0m2_i1_i2 - 1.0/12.0*hDD12_i0m3_i1_i2 + (1.0/4.0)*hDD12_i0p1_i1_i2 + tmpFD63);
const double UpwindAlgInputhDD_ddnD121 = invdx1*(-3.0/2.0*hDD12_i0_i1m1_i2 + (1.0/2.0)*hDD12_i0_i1m2_i2 - 1.0/12.0*hDD12_i0_i1m3_i2 + (1.0/4.0)*hDD12_i0_i1p1_i2 + tmpFD63);
const double UpwindAlgInputhDD_ddnD122 = invdx2*(-3.0/2.0*hDD12_i0_i1_i2m1 + (1.0/2.0)*hDD12_i0_i1_i2m2 - 1.0/12.0*hDD12_i0_i1_i2m3 + (1.0/4.0)*hDD12_i0_i1_i2p1 + tmpFD63);
const double UpwindAlgInputhDD_ddnD220 = invdx0*(-3.0/2.0*hDD22_i0m1_i1_i2 + (1.0/2.0)*hDD22_i0m2_i1_i2 - 1.0/12.0*hDD22_i0m3_i1_i2 + (1.0/4.0)*hDD22_i0p1_i1_i2 + tmpFD64);
const double UpwindAlgInputhDD_ddnD221 = invdx1*(-3.0/2.0*hDD22_i0_i1m1_i2 + (1.0/2.0)*hDD22_i0_i1m2_i2 - 1.0/12.0*hDD22_i0_i1m3_i2 + (1.0/4.0)*hDD22_i0_i1p1_i2 + tmpFD64);
const double UpwindAlgInputhDD_ddnD222 = invdx2*(-3.0/2.0*hDD22_i0_i1_i2m1 + (1.0/2.0)*hDD22_i0_i1_i2m2 - 1.0/12.0*hDD22_i0_i1_i2m3 + (1.0/4.0)*hDD22_i0_i1_i2p1 + tmpFD64);
const double UpwindAlgInputhDD_dupD000 = invdx0*(-1.0/4.0*hDD00_i0m1_i1_i2 + (3.0/2.0)*hDD00_i0p1_i1_i2 - 1.0/2.0*hDD00_i0p2_i1_i2 + (1.0/12.0)*hDD00_i0p3_i1_i2 + tmpFD65);
const double UpwindAlgInputhDD_dupD001 = invdx1*(-1.0/4.0*hDD00_i0_i1m1_i2 + (3.0/2.0)*hDD00_i0_i1p1_i2 - 1.0/2.0*hDD00_i0_i1p2_i2 + (1.0/12.0)*hDD00_i0_i1p3_i2 + tmpFD65);
const double UpwindAlgInputhDD_dupD002 = invdx2*(-1.0/4.0*hDD00_i0_i1_i2m1 + (3.0/2.0)*hDD00_i0_i1_i2p1 - 1.0/2.0*hDD00_i0_i1_i2p2 + (1.0/12.0)*hDD00_i0_i1_i2p3 + tmpFD65);
const double UpwindAlgInputhDD_dupD010 = invdx0*(-1.0/4.0*hDD01_i0m1_i1_i2 + (3.0/2.0)*hDD01_i0p1_i1_i2 - 1.0/2.0*hDD01_i0p2_i1_i2 + (1.0/12.0)*hDD01_i0p3_i1_i2 + tmpFD66);
const double UpwindAlgInputhDD_dupD011 = invdx1*(-1.0/4.0*hDD01_i0_i1m1_i2 + (3.0/2.0)*hDD01_i0_i1p1_i2 - 1.0/2.0*hDD01_i0_i1p2_i2 + (1.0/12.0)*hDD01_i0_i1p3_i2 + tmpFD66);
const double UpwindAlgInputhDD_dupD012 = invdx2*(-1.0/4.0*hDD01_i0_i1_i2m1 + (3.0/2.0)*hDD01_i0_i1_i2p1 - 1.0/2.0*hDD01_i0_i1_i2p2 + (1.0/12.0)*hDD01_i0_i1_i2p3 + tmpFD66);
const double UpwindAlgInputhDD_dupD020 = invdx0*(-1.0/4.0*hDD02_i0m1_i1_i2 + (3.0/2.0)*hDD02_i0p1_i1_i2 - 1.0/2.0*hDD02_i0p2_i1_i2 + (1.0/12.0)*hDD02_i0p3_i1_i2 + tmpFD67);
const double UpwindAlgInputhDD_dupD021 = invdx1*(-1.0/4.0*hDD02_i0_i1m1_i2 + (3.0/2.0)*hDD02_i0_i1p1_i2 - 1.0/2.0*hDD02_i0_i1p2_i2 + (1.0/12.0)*hDD02_i0_i1p3_i2 + tmpFD67);
const double UpwindAlgInputhDD_dupD022 = invdx2*(-1.0/4.0*hDD02_i0_i1_i2m1 + (3.0/2.0)*hDD02_i0_i1_i2p1 - 1.0/2.0*hDD02_i0_i1_i2p2 + (1.0/12.0)*hDD02_i0_i1_i2p3 + tmpFD67);
const double UpwindAlgInputhDD_dupD110 = invdx0*(-1.0/4.0*hDD11_i0m1_i1_i2 + (3.0/2.0)*hDD11_i0p1_i1_i2 - 1.0/2.0*hDD11_i0p2_i1_i2 + (1.0/12.0)*hDD11_i0p3_i1_i2 + tmpFD68);
const double UpwindAlgInputhDD_dupD111 = invdx1*(-1.0/4.0*hDD11_i0_i1m1_i2 + (3.0/2.0)*hDD11_i0_i1p1_i2 - 1.0/2.0*hDD11_i0_i1p2_i2 + (1.0/12.0)*hDD11_i0_i1p3_i2 + tmpFD68);
const double UpwindAlgInputhDD_dupD112 = invdx2*(-1.0/4.0*hDD11_i0_i1_i2m1 + (3.0/2.0)*hDD11_i0_i1_i2p1 - 1.0/2.0*hDD11_i0_i1_i2p2 + (1.0/12.0)*hDD11_i0_i1_i2p3 + tmpFD68);
const double UpwindAlgInputhDD_dupD120 = invdx0*(-1.0/4.0*hDD12_i0m1_i1_i2 + (3.0/2.0)*hDD12_i0p1_i1_i2 - 1.0/2.0*hDD12_i0p2_i1_i2 + (1.0/12.0)*hDD12_i0p3_i1_i2 + tmpFD69);
const double UpwindAlgInputhDD_dupD121 = invdx1*(-1.0/4.0*hDD12_i0_i1m1_i2 + (3.0/2.0)*hDD12_i0_i1p1_i2 - 1.0/2.0*hDD12_i0_i1p2_i2 + (1.0/12.0)*hDD12_i0_i1p3_i2 + tmpFD69);
const double UpwindAlgInputhDD_dupD122 = invdx2*(-1.0/4.0*hDD12_i0_i1_i2m1 + (3.0/2.0)*hDD12_i0_i1_i2p1 - 1.0/2.0*hDD12_i0_i1_i2p2 + (1.0/12.0)*hDD12_i0_i1_i2p3 + tmpFD69);
const double UpwindAlgInputhDD_dupD220 = invdx0*(-1.0/4.0*hDD22_i0m1_i1_i2 + (3.0/2.0)*hDD22_i0p1_i1_i2 - 1.0/2.0*hDD22_i0p2_i1_i2 + (1.0/12.0)*hDD22_i0p3_i1_i2 + tmpFD70);
const double UpwindAlgInputhDD_dupD221 = invdx1*(-1.0/4.0*hDD22_i0_i1m1_i2 + (3.0/2.0)*hDD22_i0_i1p1_i2 - 1.0/2.0*hDD22_i0_i1p2_i2 + (1.0/12.0)*hDD22_i0_i1p3_i2 + tmpFD70);
const double UpwindAlgInputhDD_dupD222 = invdx2*(-1.0/4.0*hDD22_i0_i1_i2m1 + (3.0/2.0)*hDD22_i0_i1_i2p1 - 1.0/2.0*hDD22_i0_i1_i2p2 + (1.0/12.0)*hDD22_i0_i1_i2p3 + tmpFD70);
const double lambdaU_dKOD00 = invdx0*((15.0/64.0)*lambdaU0_i0m1_i1_i2 - 3.0/32.0*lambdaU0_i0m2_i1_i2 + (1.0/64.0)*lambdaU0_i0m3_i1_i2 + (15.0/64.0)*lambdaU0_i0p1_i1_i2 - 3.0/32.0*lambdaU0_i0p2_i1_i2 + (1.0/64.0)*lambdaU0_i0p3_i1_i2 + tmpFD71);
const double lambdaU_dKOD01 = invdx1*((15.0/64.0)*lambdaU0_i0_i1m1_i2 - 3.0/32.0*lambdaU0_i0_i1m2_i2 + (1.0/64.0)*lambdaU0_i0_i1m3_i2 + (15.0/64.0)*lambdaU0_i0_i1p1_i2 - 3.0/32.0*lambdaU0_i0_i1p2_i2 + (1.0/64.0)*lambdaU0_i0_i1p3_i2 + tmpFD71);
const double lambdaU_dKOD02 = invdx2*((15.0/64.0)*lambdaU0_i0_i1_i2m1 - 3.0/32.0*lambdaU0_i0_i1_i2m2 + (1.0/64.0)*lambdaU0_i0_i1_i2m3 + (15.0/64.0)*lambdaU0_i0_i1_i2p1 - 3.0/32.0*lambdaU0_i0_i1_i2p2 + (1.0/64.0)*lambdaU0_i0_i1_i2p3 + tmpFD71);
const double lambdaU_dKOD10 = invdx0*((15.0/64.0)*lambdaU1_i0m1_i1_i2 - 3.0/32.0*lambdaU1_i0m2_i1_i2 + (1.0/64.0)*lambdaU1_i0m3_i1_i2 + (15.0/64.0)*lambdaU1_i0p1_i1_i2 - 3.0/32.0*lambdaU1_i0p2_i1_i2 + (1.0/64.0)*lambdaU1_i0p3_i1_i2 + tmpFD72);
const double lambdaU_dKOD11 = invdx1*((15.0/64.0)*lambdaU1_i0_i1m1_i2 - 3.0/32.0*lambdaU1_i0_i1m2_i2 + (1.0/64.0)*lambdaU1_i0_i1m3_i2 + (15.0/64.0)*lambdaU1_i0_i1p1_i2 - 3.0/32.0*lambdaU1_i0_i1p2_i2 + (1.0/64.0)*lambdaU1_i0_i1p3_i2 + tmpFD72);
const double lambdaU_dKOD12 = invdx2*((15.0/64.0)*lambdaU1_i0_i1_i2m1 - 3.0/32.0*lambdaU1_i0_i1_i2m2 + (1.0/64.0)*lambdaU1_i0_i1_i2m3 + (15.0/64.0)*lambdaU1_i0_i1_i2p1 - 3.0/32.0*lambdaU1_i0_i1_i2p2 + (1.0/64.0)*lambdaU1_i0_i1_i2p3 + tmpFD72);
const double lambdaU_dKOD20 = invdx0*((15.0/64.0)*lambdaU2_i0m1_i1_i2 - 3.0/32.0*lambdaU2_i0m2_i1_i2 + (1.0/64.0)*lambdaU2_i0m3_i1_i2 + (15.0/64.0)*lambdaU2_i0p1_i1_i2 - 3.0/32.0*lambdaU2_i0p2_i1_i2 + (1.0/64.0)*lambdaU2_i0p3_i1_i2 + tmpFD73);
const double lambdaU_dKOD21 = invdx1*((15.0/64.0)*lambdaU2_i0_i1m1_i2 - 3.0/32.0*lambdaU2_i0_i1m2_i2 + (1.0/64.0)*lambdaU2_i0_i1m3_i2 + (15.0/64.0)*lambdaU2_i0_i1p1_i2 - 3.0/32.0*lambdaU2_i0_i1p2_i2 + (1.0/64.0)*lambdaU2_i0_i1p3_i2 + tmpFD73);
const double lambdaU_dKOD22 = invdx2*((15.0/64.0)*lambdaU2_i0_i1_i2m1 - 3.0/32.0*lambdaU2_i0_i1_i2m2 + (1.0/64.0)*lambdaU2_i0_i1_i2m3 + (15.0/64.0)*lambdaU2_i0_i1_i2p1 - 3.0/32.0*lambdaU2_i0_i1_i2p2 + (1.0/64.0)*lambdaU2_i0_i1_i2p3 + tmpFD73);
const double UpwindAlgInputlambdaU_ddnD00 = invdx0*(-3.0/2.0*lambdaU0_i0m1_i1_i2 + (1.0/2.0)*lambdaU0_i0m2_i1_i2 - 1.0/12.0*lambdaU0_i0m3_i1_i2 + (1.0/4.0)*lambdaU0_i0p1_i1_i2 + tmpFD74);
const double UpwindAlgInputlambdaU_ddnD01 = invdx1*(-3.0/2.0*lambdaU0_i0_i1m1_i2 + (1.0/2.0)*lambdaU0_i0_i1m2_i2 - 1.0/12.0*lambdaU0_i0_i1m3_i2 + (1.0/4.0)*lambdaU0_i0_i1p1_i2 + tmpFD74);
const double UpwindAlgInputlambdaU_ddnD02 = invdx2*(-3.0/2.0*lambdaU0_i0_i1_i2m1 + (1.0/2.0)*lambdaU0_i0_i1_i2m2 - 1.0/12.0*lambdaU0_i0_i1_i2m3 + (1.0/4.0)*lambdaU0_i0_i1_i2p1 + tmpFD74);
const double UpwindAlgInputlambdaU_ddnD10 = invdx0*(-3.0/2.0*lambdaU1_i0m1_i1_i2 + (1.0/2.0)*lambdaU1_i0m2_i1_i2 - 1.0/12.0*lambdaU1_i0m3_i1_i2 + (1.0/4.0)*lambdaU1_i0p1_i1_i2 + tmpFD75);
const double UpwindAlgInputlambdaU_ddnD11 = invdx1*(-3.0/2.0*lambdaU1_i0_i1m1_i2 + (1.0/2.0)*lambdaU1_i0_i1m2_i2 - 1.0/12.0*lambdaU1_i0_i1m3_i2 + (1.0/4.0)*lambdaU1_i0_i1p1_i2 + tmpFD75);
const double UpwindAlgInputlambdaU_ddnD12 = invdx2*(-3.0/2.0*lambdaU1_i0_i1_i2m1 + (1.0/2.0)*lambdaU1_i0_i1_i2m2 - 1.0/12.0*lambdaU1_i0_i1_i2m3 + (1.0/4.0)*lambdaU1_i0_i1_i2p1 + tmpFD75);
const double UpwindAlgInputlambdaU_ddnD20 = invdx0*(-3.0/2.0*lambdaU2_i0m1_i1_i2 + (1.0/2.0)*lambdaU2_i0m2_i1_i2 - 1.0/12.0*lambdaU2_i0m3_i1_i2 + (1.0/4.0)*lambdaU2_i0p1_i1_i2 + tmpFD76);
const double UpwindAlgInputlambdaU_ddnD21 = invdx1*(-3.0/2.0*lambdaU2_i0_i1m1_i2 + (1.0/2.0)*lambdaU2_i0_i1m2_i2 - 1.0/12.0*lambdaU2_i0_i1m3_i2 + (1.0/4.0)*lambdaU2_i0_i1p1_i2 + tmpFD76);
const double UpwindAlgInputlambdaU_ddnD22 = invdx2*(-3.0/2.0*lambdaU2_i0_i1_i2m1 + (1.0/2.0)*lambdaU2_i0_i1_i2m2 - 1.0/12.0*lambdaU2_i0_i1_i2m3 + (1.0/4.0)*lambdaU2_i0_i1_i2p1 + tmpFD76);
const double UpwindAlgInputlambdaU_dupD00 = invdx0*(-1.0/4.0*lambdaU0_i0m1_i1_i2 + (3.0/2.0)*lambdaU0_i0p1_i1_i2 - 1.0/2.0*lambdaU0_i0p2_i1_i2 + (1.0/12.0)*lambdaU0_i0p3_i1_i2 + tmpFD77);
const double UpwindAlgInputlambdaU_dupD01 = invdx1*(-1.0/4.0*lambdaU0_i0_i1m1_i2 + (3.0/2.0)*lambdaU0_i0_i1p1_i2 - 1.0/2.0*lambdaU0_i0_i1p2_i2 + (1.0/12.0)*lambdaU0_i0_i1p3_i2 + tmpFD77);
const double UpwindAlgInputlambdaU_dupD02 = invdx2*(-1.0/4.0*lambdaU0_i0_i1_i2m1 + (3.0/2.0)*lambdaU0_i0_i1_i2p1 - 1.0/2.0*lambdaU0_i0_i1_i2p2 + (1.0/12.0)*lambdaU0_i0_i1_i2p3 + tmpFD77);
const double UpwindAlgInputlambdaU_dupD10 = invdx0*(-1.0/4.0*lambdaU1_i0m1_i1_i2 + (3.0/2.0)*lambdaU1_i0p1_i1_i2 - 1.0/2.0*lambdaU1_i0p2_i1_i2 + (1.0/12.0)*lambdaU1_i0p3_i1_i2 + tmpFD78);
const double UpwindAlgInputlambdaU_dupD11 = invdx1*(-1.0/4.0*lambdaU1_i0_i1m1_i2 + (3.0/2.0)*lambdaU1_i0_i1p1_i2 - 1.0/2.0*lambdaU1_i0_i1p2_i2 + (1.0/12.0)*lambdaU1_i0_i1p3_i2 + tmpFD78);
const double UpwindAlgInputlambdaU_dupD12 = invdx2*(-1.0/4.0*lambdaU1_i0_i1_i2m1 + (3.0/2.0)*lambdaU1_i0_i1_i2p1 - 1.0/2.0*lambdaU1_i0_i1_i2p2 + (1.0/12.0)*lambdaU1_i0_i1_i2p3 + tmpFD78);
const double UpwindAlgInputlambdaU_dupD20 = invdx0*(-1.0/4.0*lambdaU2_i0m1_i1_i2 + (3.0/2.0)*lambdaU2_i0p1_i1_i2 - 1.0/2.0*lambdaU2_i0p2_i1_i2 + (1.0/12.0)*lambdaU2_i0p3_i1_i2 + tmpFD79);
const double UpwindAlgInputlambdaU_dupD21 = invdx1*(-1.0/4.0*lambdaU2_i0_i1m1_i2 + (3.0/2.0)*lambdaU2_i0_i1p1_i2 - 1.0/2.0*lambdaU2_i0_i1p2_i2 + (1.0/12.0)*lambdaU2_i0_i1p3_i2 + tmpFD79);
const double UpwindAlgInputlambdaU_dupD22 = invdx2*(-1.0/4.0*lambdaU2_i0_i1_i2m1 + (3.0/2.0)*lambdaU2_i0_i1_i2p1 - 1.0/2.0*lambdaU2_i0_i1_i2p2 + (1.0/12.0)*lambdaU2_i0_i1_i2p3 + tmpFD79);
const double trK_dD0 = invdx0*(-2.0/3.0*trK_i0m1_i1_i2 + (1.0/12.0)*trK_i0m2_i1_i2 + (2.0/3.0)*trK_i0p1_i1_i2 - 1.0/12.0*trK_i0p2_i1_i2);
const double trK_dD1 = invdx1*(-2.0/3.0*trK_i0_i1m1_i2 + (1.0/12.0)*trK_i0_i1m2_i2 + (2.0/3.0)*trK_i0_i1p1_i2 - 1.0/12.0*trK_i0_i1p2_i2);
const double trK_dD2 = invdx2*(-2.0/3.0*trK_i0_i1_i2m1 + (1.0/12.0)*trK_i0_i1_i2m2 + (2.0/3.0)*trK_i0_i1_i2p1 - 1.0/12.0*trK_i0_i1_i2p2);
const double trK_dKOD0 = invdx0*(tmpFD80 + (15.0/64.0)*trK_i0m1_i1_i2 - 3.0/32.0*trK_i0m2_i1_i2 + (1.0/64.0)*trK_i0m3_i1_i2 + (15.0/64.0)*trK_i0p1_i1_i2 - 3.0/32.0*trK_i0p2_i1_i2 + (1.0/64.0)*trK_i0p3_i1_i2);
const double trK_dKOD1 = invdx1*(tmpFD80 + (15.0/64.0)*trK_i0_i1m1_i2 - 3.0/32.0*trK_i0_i1m2_i2 + (1.0/64.0)*trK_i0_i1m3_i2 + (15.0/64.0)*trK_i0_i1p1_i2 - 3.0/32.0*trK_i0_i1p2_i2 + (1.0/64.0)*trK_i0_i1p3_i2);
const double trK_dKOD2 = invdx2*(tmpFD80 + (15.0/64.0)*trK_i0_i1_i2m1 - 3.0/32.0*trK_i0_i1_i2m2 + (1.0/64.0)*trK_i0_i1_i2m3 + (15.0/64.0)*trK_i0_i1_i2p1 - 3.0/32.0*trK_i0_i1_i2p2 + (1.0/64.0)*trK_i0_i1_i2p3);
const double UpwindAlgInputtrK_ddnD0 = invdx0*(tmpFD81 - 3.0/2.0*trK_i0m1_i1_i2 + (1.0/2.0)*trK_i0m2_i1_i2 - 1.0/12.0*trK_i0m3_i1_i2 + (1.0/4.0)*trK_i0p1_i1_i2);
const double UpwindAlgInputtrK_ddnD1 = invdx1*(tmpFD81 - 3.0/2.0*trK_i0_i1m1_i2 + (1.0/2.0)*trK_i0_i1m2_i2 - 1.0/12.0*trK_i0_i1m3_i2 + (1.0/4.0)*trK_i0_i1p1_i2);
const double UpwindAlgInputtrK_ddnD2 = invdx2*(tmpFD81 - 3.0/2.0*trK_i0_i1_i2m1 + (1.0/2.0)*trK_i0_i1_i2m2 - 1.0/12.0*trK_i0_i1_i2m3 + (1.0/4.0)*trK_i0_i1_i2p1);
const double UpwindAlgInputtrK_dupD0 = invdx0*(tmpFD82 - 1.0/4.0*trK_i0m1_i1_i2 + (3.0/2.0)*trK_i0p1_i1_i2 - 1.0/2.0*trK_i0p2_i1_i2 + (1.0/12.0)*trK_i0p3_i1_i2);
const double UpwindAlgInputtrK_dupD1 = invdx1*(tmpFD82 - 1.0/4.0*trK_i0_i1m1_i2 + (3.0/2.0)*trK_i0_i1p1_i2 - 1.0/2.0*trK_i0_i1p2_i2 + (1.0/12.0)*trK_i0_i1p3_i2);
const double UpwindAlgInputtrK_dupD2 = invdx2*(tmpFD82 - 1.0/4.0*trK_i0_i1_i2m1 + (3.0/2.0)*trK_i0_i1_i2p1 - 1.0/2.0*trK_i0_i1_i2p2 + (1.0/12.0)*trK_i0_i1_i2p3);
const double vetU_dD00 = invdx0*(tmpFD83 + tmpFD84 - 2.0/3.0*vetU0_i0m1_i1_i2 + (2.0/3.0)*vetU0_i0p1_i1_i2);
const double vetU_dD01 = invdx1*(tmpFD85 + tmpFD86 - 2.0/3.0*vetU0_i0_i1m1_i2 + (2.0/3.0)*vetU0_i0_i1p1_i2);
const double vetU_dD02 = invdx2*(tmpFD87 + tmpFD88 - 2.0/3.0*vetU0_i0_i1_i2m1 + (2.0/3.0)*vetU0_i0_i1_i2p1);
const double vetU_dD10 = invdx0*(tmpFD89 + tmpFD90 - 2.0/3.0*vetU1_i0m1_i1_i2 + (2.0/3.0)*vetU1_i0p1_i1_i2);
const double vetU_dD11 = invdx1*(tmpFD91 + tmpFD92 - 2.0/3.0*vetU1_i0_i1m1_i2 + (2.0/3.0)*vetU1_i0_i1p1_i2);
const double vetU_dD12 = invdx2*(tmpFD93 + tmpFD94 - 2.0/3.0*vetU1_i0_i1_i2m1 + (2.0/3.0)*vetU1_i0_i1_i2p1);
const double vetU_dD20 = invdx0*(tmpFD95 + tmpFD96 - 2.0/3.0*vetU2_i0m1_i1_i2 + (2.0/3.0)*vetU2_i0p1_i1_i2);
const double vetU_dD21 = invdx1*(tmpFD97 + tmpFD98 - 2.0/3.0*vetU2_i0_i1m1_i2 + (2.0/3.0)*vetU2_i0_i1p1_i2);
const double vetU_dD22 = invdx2*(tmpFD100 + tmpFD99 - 2.0/3.0*vetU2_i0_i1_i2m1 + (2.0/3.0)*vetU2_i0_i1_i2p1);
const double vetU_dDD000 = tmpFD24*(tmpFD101 - tmpFD83 + tmpFD84 + (4.0/3.0)*vetU0_i0m1_i1_i2 + (4.0/3.0)*vetU0_i0p1_i1_i2);
const double vetU_dDD001 = tmpFD26*((4.0/9.0)*vetU0_i0m1_i1m1_i2 - 1.0/18.0*vetU0_i0m1_i1m2_i2 - 4.0/9.0*vetU0_i0m1_i1p1_i2 + (1.0/18.0)*vetU0_i0m1_i1p2_i2 - 1.0/18.0*vetU0_i0m2_i1m1_i2 + (1.0/144.0)*vetU0_i0m2_i1m2_i2 + (1.0/18.0)*vetU0_i0m2_i1p1_i2 - 1.0/144.0*vetU0_i0m2_i1p2_i2 - 4.0/9.0*vetU0_i0p1_i1m1_i2 + (1.0/18.0)*vetU0_i0p1_i1m2_i2 + (4.0/9.0)*vetU0_i0p1_i1p1_i2 - 1.0/18.0*vetU0_i0p1_i1p2_i2 + (1.0/18.0)*vetU0_i0p2_i1m1_i2 - 1.0/144.0*vetU0_i0p2_i1m2_i2 - 1.0/18.0*vetU0_i0p2_i1p1_i2 + (1.0/144.0)*vetU0_i0p2_i1p2_i2);
const double vetU_dDD002 = tmpFD27*((4.0/9.0)*vetU0_i0m1_i1_i2m1 - 1.0/18.0*vetU0_i0m1_i1_i2m2 - 4.0/9.0*vetU0_i0m1_i1_i2p1 + (1.0/18.0)*vetU0_i0m1_i1_i2p2 - 1.0/18.0*vetU0_i0m2_i1_i2m1 + (1.0/144.0)*vetU0_i0m2_i1_i2m2 + (1.0/18.0)*vetU0_i0m2_i1_i2p1 - 1.0/144.0*vetU0_i0m2_i1_i2p2 - 4.0/9.0*vetU0_i0p1_i1_i2m1 + (1.0/18.0)*vetU0_i0p1_i1_i2m2 + (4.0/9.0)*vetU0_i0p1_i1_i2p1 - 1.0/18.0*vetU0_i0p1_i1_i2p2 + (1.0/18.0)*vetU0_i0p2_i1_i2m1 - 1.0/144.0*vetU0_i0p2_i1_i2m2 - 1.0/18.0*vetU0_i0p2_i1_i2p1 + (1.0/144.0)*vetU0_i0p2_i1_i2p2);
const double vetU_dDD011 = tmpFD28*(tmpFD101 - tmpFD85 + tmpFD86 + (4.0/3.0)*vetU0_i0_i1m1_i2 + (4.0/3.0)*vetU0_i0_i1p1_i2);
const double vetU_dDD012 = tmpFD29*((4.0/9.0)*vetU0_i0_i1m1_i2m1 - 1.0/18.0*vetU0_i0_i1m1_i2m2 - 4.0/9.0*vetU0_i0_i1m1_i2p1 + (1.0/18.0)*vetU0_i0_i1m1_i2p2 - 1.0/18.0*vetU0_i0_i1m2_i2m1 + (1.0/144.0)*vetU0_i0_i1m2_i2m2 + (1.0/18.0)*vetU0_i0_i1m2_i2p1 - 1.0/144.0*vetU0_i0_i1m2_i2p2 - 4.0/9.0*vetU0_i0_i1p1_i2m1 + (1.0/18.0)*vetU0_i0_i1p1_i2m2 + (4.0/9.0)*vetU0_i0_i1p1_i2p1 - 1.0/18.0*vetU0_i0_i1p1_i2p2 + (1.0/18.0)*vetU0_i0_i1p2_i2m1 - 1.0/144.0*vetU0_i0_i1p2_i2m2 - 1.0/18.0*vetU0_i0_i1p2_i2p1 + (1.0/144.0)*vetU0_i0_i1p2_i2p2);
const double vetU_dDD022 = tmpFD30*(tmpFD101 - tmpFD87 + tmpFD88 + (4.0/3.0)*vetU0_i0_i1_i2m1 + (4.0/3.0)*vetU0_i0_i1_i2p1);
const double vetU_dDD100 = tmpFD24*(tmpFD102 - tmpFD89 + tmpFD90 + (4.0/3.0)*vetU1_i0m1_i1_i2 + (4.0/3.0)*vetU1_i0p1_i1_i2);
const double vetU_dDD101 = tmpFD26*((4.0/9.0)*vetU1_i0m1_i1m1_i2 - 1.0/18.0*vetU1_i0m1_i1m2_i2 - 4.0/9.0*vetU1_i0m1_i1p1_i2 + (1.0/18.0)*vetU1_i0m1_i1p2_i2 - 1.0/18.0*vetU1_i0m2_i1m1_i2 + (1.0/144.0)*vetU1_i0m2_i1m2_i2 + (1.0/18.0)*vetU1_i0m2_i1p1_i2 - 1.0/144.0*vetU1_i0m2_i1p2_i2 - 4.0/9.0*vetU1_i0p1_i1m1_i2 + (1.0/18.0)*vetU1_i0p1_i1m2_i2 + (4.0/9.0)*vetU1_i0p1_i1p1_i2 - 1.0/18.0*vetU1_i0p1_i1p2_i2 + (1.0/18.0)*vetU1_i0p2_i1m1_i2 - 1.0/144.0*vetU1_i0p2_i1m2_i2 - 1.0/18.0*vetU1_i0p2_i1p1_i2 + (1.0/144.0)*vetU1_i0p2_i1p2_i2);
const double vetU_dDD102 = tmpFD27*((4.0/9.0)*vetU1_i0m1_i1_i2m1 - 1.0/18.0*vetU1_i0m1_i1_i2m2 - 4.0/9.0*vetU1_i0m1_i1_i2p1 + (1.0/18.0)*vetU1_i0m1_i1_i2p2 - 1.0/18.0*vetU1_i0m2_i1_i2m1 + (1.0/144.0)*vetU1_i0m2_i1_i2m2 + (1.0/18.0)*vetU1_i0m2_i1_i2p1 - 1.0/144.0*vetU1_i0m2_i1_i2p2 - 4.0/9.0*vetU1_i0p1_i1_i2m1 + (1.0/18.0)*vetU1_i0p1_i1_i2m2 + (4.0/9.0)*vetU1_i0p1_i1_i2p1 - 1.0/18.0*vetU1_i0p1_i1_i2p2 + (1.0/18.0)*vetU1_i0p2_i1_i2m1 - 1.0/144.0*vetU1_i0p2_i1_i2m2 - 1.0/18.0*vetU1_i0p2_i1_i2p1 + (1.0/144.0)*vetU1_i0p2_i1_i2p2);
const double vetU_dDD111 = tmpFD28*(tmpFD102 - tmpFD91 + tmpFD92 + (4.0/3.0)*vetU1_i0_i1m1_i2 + (4.0/3.0)*vetU1_i0_i1p1_i2);
const double vetU_dDD112 = tmpFD29*((4.0/9.0)*vetU1_i0_i1m1_i2m1 - 1.0/18.0*vetU1_i0_i1m1_i2m2 - 4.0/9.0*vetU1_i0_i1m1_i2p1 + (1.0/18.0)*vetU1_i0_i1m1_i2p2 - 1.0/18.0*vetU1_i0_i1m2_i2m1 + (1.0/144.0)*vetU1_i0_i1m2_i2m2 + (1.0/18.0)*vetU1_i0_i1m2_i2p1 - 1.0/144.0*vetU1_i0_i1m2_i2p2 - 4.0/9.0*vetU1_i0_i1p1_i2m1 + (1.0/18.0)*vetU1_i0_i1p1_i2m2 + (4.0/9.0)*vetU1_i0_i1p1_i2p1 - 1.0/18.0*vetU1_i0_i1p1_i2p2 + (1.0/18.0)*vetU1_i0_i1p2_i2m1 - 1.0/144.0*vetU1_i0_i1p2_i2m2 - 1.0/18.0*vetU1_i0_i1p2_i2p1 + (1.0/144.0)*vetU1_i0_i1p2_i2p2);
const double vetU_dDD122 = tmpFD30*(tmpFD102 - tmpFD93 + tmpFD94 + (4.0/3.0)*vetU1_i0_i1_i2m1 + (4.0/3.0)*vetU1_i0_i1_i2p1);
const double vetU_dDD200 = tmpFD24*(tmpFD103 - tmpFD95 + tmpFD96 + (4.0/3.0)*vetU2_i0m1_i1_i2 + (4.0/3.0)*vetU2_i0p1_i1_i2);
const double vetU_dDD201 = tmpFD26*((4.0/9.0)*vetU2_i0m1_i1m1_i2 - 1.0/18.0*vetU2_i0m1_i1m2_i2 - 4.0/9.0*vetU2_i0m1_i1p1_i2 + (1.0/18.0)*vetU2_i0m1_i1p2_i2 - 1.0/18.0*vetU2_i0m2_i1m1_i2 + (1.0/144.0)*vetU2_i0m2_i1m2_i2 + (1.0/18.0)*vetU2_i0m2_i1p1_i2 - 1.0/144.0*vetU2_i0m2_i1p2_i2 - 4.0/9.0*vetU2_i0p1_i1m1_i2 + (1.0/18.0)*vetU2_i0p1_i1m2_i2 + (4.0/9.0)*vetU2_i0p1_i1p1_i2 - 1.0/18.0*vetU2_i0p1_i1p2_i2 + (1.0/18.0)*vetU2_i0p2_i1m1_i2 - 1.0/144.0*vetU2_i0p2_i1m2_i2 - 1.0/18.0*vetU2_i0p2_i1p1_i2 + (1.0/144.0)*vetU2_i0p2_i1p2_i2);
const double vetU_dDD202 = tmpFD27*((4.0/9.0)*vetU2_i0m1_i1_i2m1 - 1.0/18.0*vetU2_i0m1_i1_i2m2 - 4.0/9.0*vetU2_i0m1_i1_i2p1 + (1.0/18.0)*vetU2_i0m1_i1_i2p2 - 1.0/18.0*vetU2_i0m2_i1_i2m1 + (1.0/144.0)*vetU2_i0m2_i1_i2m2 + (1.0/18.0)*vetU2_i0m2_i1_i2p1 - 1.0/144.0*vetU2_i0m2_i1_i2p2 - 4.0/9.0*vetU2_i0p1_i1_i2m1 + (1.0/18.0)*vetU2_i0p1_i1_i2m2 + (4.0/9.0)*vetU2_i0p1_i1_i2p1 - 1.0/18.0*vetU2_i0p1_i1_i2p2 + (1.0/18.0)*vetU2_i0p2_i1_i2m1 - 1.0/144.0*vetU2_i0p2_i1_i2m2 - 1.0/18.0*vetU2_i0p2_i1_i2p1 + (1.0/144.0)*vetU2_i0p2_i1_i2p2);
const double vetU_dDD211 = tmpFD28*(tmpFD103 - tmpFD97 + tmpFD98 + (4.0/3.0)*vetU2_i0_i1m1_i2 + (4.0/3.0)*vetU2_i0_i1p1_i2);
const double vetU_dDD212 = tmpFD29*((4.0/9.0)*vetU2_i0_i1m1_i2m1 - 1.0/18.0*vetU2_i0_i1m1_i2m2 - 4.0/9.0*vetU2_i0_i1m1_i2p1 + (1.0/18.0)*vetU2_i0_i1m1_i2p2 - 1.0/18.0*vetU2_i0_i1m2_i2m1 + (1.0/144.0)*vetU2_i0_i1m2_i2m2 + (1.0/18.0)*vetU2_i0_i1m2_i2p1 - 1.0/144.0*vetU2_i0_i1m2_i2p2 - 4.0/9.0*vetU2_i0_i1p1_i2m1 + (1.0/18.0)*vetU2_i0_i1p1_i2m2 + (4.0/9.0)*vetU2_i0_i1p1_i2p1 - 1.0/18.0*vetU2_i0_i1p1_i2p2 + (1.0/18.0)*vetU2_i0_i1p2_i2m1 - 1.0/144.0*vetU2_i0_i1p2_i2m2 - 1.0/18.0*vetU2_i0_i1p2_i2p1 + (1.0/144.0)*vetU2_i0_i1p2_i2p2);
const double vetU_dDD222 = tmpFD30*(tmpFD100 + tmpFD103 - tmpFD99 + (4.0/3.0)*vetU2_i0_i1_i2m1 + (4.0/3.0)*vetU2_i0_i1_i2p1);
const double vetU_dKOD00 = invdx0*(tmpFD104 + (15.0/64.0)*vetU0_i0m1_i1_i2 - 3.0/32.0*vetU0_i0m2_i1_i2 + (1.0/64.0)*vetU0_i0m3_i1_i2 + (15.0/64.0)*vetU0_i0p1_i1_i2 - 3.0/32.0*vetU0_i0p2_i1_i2 + (1.0/64.0)*vetU0_i0p3_i1_i2);
const double vetU_dKOD01 = invdx1*(tmpFD104 + (15.0/64.0)*vetU0_i0_i1m1_i2 - 3.0/32.0*vetU0_i0_i1m2_i2 + (1.0/64.0)*vetU0_i0_i1m3_i2 + (15.0/64.0)*vetU0_i0_i1p1_i2 - 3.0/32.0*vetU0_i0_i1p2_i2 + (1.0/64.0)*vetU0_i0_i1p3_i2);
const double vetU_dKOD02 = invdx2*(tmpFD104 + (15.0/64.0)*vetU0_i0_i1_i2m1 - 3.0/32.0*vetU0_i0_i1_i2m2 + (1.0/64.0)*vetU0_i0_i1_i2m3 + (15.0/64.0)*vetU0_i0_i1_i2p1 - 3.0/32.0*vetU0_i0_i1_i2p2 + (1.0/64.0)*vetU0_i0_i1_i2p3);
const double vetU_dKOD10 = invdx0*(tmpFD105 + (15.0/64.0)*vetU1_i0m1_i1_i2 - 3.0/32.0*vetU1_i0m2_i1_i2 + (1.0/64.0)*vetU1_i0m3_i1_i2 + (15.0/64.0)*vetU1_i0p1_i1_i2 - 3.0/32.0*vetU1_i0p2_i1_i2 + (1.0/64.0)*vetU1_i0p3_i1_i2);
const double vetU_dKOD11 = invdx1*(tmpFD105 + (15.0/64.0)*vetU1_i0_i1m1_i2 - 3.0/32.0*vetU1_i0_i1m2_i2 + (1.0/64.0)*vetU1_i0_i1m3_i2 + (15.0/64.0)*vetU1_i0_i1p1_i2 - 3.0/32.0*vetU1_i0_i1p2_i2 + (1.0/64.0)*vetU1_i0_i1p3_i2);
const double vetU_dKOD12 = invdx2*(tmpFD105 + (15.0/64.0)*vetU1_i0_i1_i2m1 - 3.0/32.0*vetU1_i0_i1_i2m2 + (1.0/64.0)*vetU1_i0_i1_i2m3 + (15.0/64.0)*vetU1_i0_i1_i2p1 - 3.0/32.0*vetU1_i0_i1_i2p2 + (1.0/64.0)*vetU1_i0_i1_i2p3);
const double vetU_dKOD20 = invdx0*(tmpFD106 + (15.0/64.0)*vetU2_i0m1_i1_i2 - 3.0/32.0*vetU2_i0m2_i1_i2 + (1.0/64.0)*vetU2_i0m3_i1_i2 + (15.0/64.0)*vetU2_i0p1_i1_i2 - 3.0/32.0*vetU2_i0p2_i1_i2 + (1.0/64.0)*vetU2_i0p3_i1_i2);
const double vetU_dKOD21 = invdx1*(tmpFD106 + (15.0/64.0)*vetU2_i0_i1m1_i2 - 3.0/32.0*vetU2_i0_i1m2_i2 + (1.0/64.0)*vetU2_i0_i1m3_i2 + (15.0/64.0)*vetU2_i0_i1p1_i2 - 3.0/32.0*vetU2_i0_i1p2_i2 + (1.0/64.0)*vetU2_i0_i1p3_i2);
const double vetU_dKOD22 = invdx2*(tmpFD106 + (15.0/64.0)*vetU2_i0_i1_i2m1 - 3.0/32.0*vetU2_i0_i1_i2m2 + (1.0/64.0)*vetU2_i0_i1_i2m3 + (15.0/64.0)*vetU2_i0_i1_i2p1 - 3.0/32.0*vetU2_i0_i1_i2p2 + (1.0/64.0)*vetU2_i0_i1_i2p3);
const double UpwindAlgInputvetU_ddnD00 = invdx0*(tmpFD107 - 3.0/2.0*vetU0_i0m1_i1_i2 + (1.0/2.0)*vetU0_i0m2_i1_i2 - 1.0/12.0*vetU0_i0m3_i1_i2 + (1.0/4.0)*vetU0_i0p1_i1_i2);
const double UpwindAlgInputvetU_ddnD01 = invdx1*(tmpFD107 - 3.0/2.0*vetU0_i0_i1m1_i2 + (1.0/2.0)*vetU0_i0_i1m2_i2 - 1.0/12.0*vetU0_i0_i1m3_i2 + (1.0/4.0)*vetU0_i0_i1p1_i2);
const double UpwindAlgInputvetU_ddnD02 = invdx2*(tmpFD107 - 3.0/2.0*vetU0_i0_i1_i2m1 + (1.0/2.0)*vetU0_i0_i1_i2m2 - 1.0/12.0*vetU0_i0_i1_i2m3 + (1.0/4.0)*vetU0_i0_i1_i2p1);
const double UpwindAlgInputvetU_ddnD10 = invdx0*(tmpFD108 - 3.0/2.0*vetU1_i0m1_i1_i2 + (1.0/2.0)*vetU1_i0m2_i1_i2 - 1.0/12.0*vetU1_i0m3_i1_i2 + (1.0/4.0)*vetU1_i0p1_i1_i2);
const double UpwindAlgInputvetU_ddnD11 = invdx1*(tmpFD108 - 3.0/2.0*vetU1_i0_i1m1_i2 + (1.0/2.0)*vetU1_i0_i1m2_i2 - 1.0/12.0*vetU1_i0_i1m3_i2 + (1.0/4.0)*vetU1_i0_i1p1_i2);
const double UpwindAlgInputvetU_ddnD12 = invdx2*(tmpFD108 - 3.0/2.0*vetU1_i0_i1_i2m1 + (1.0/2.0)*vetU1_i0_i1_i2m2 - 1.0/12.0*vetU1_i0_i1_i2m3 + (1.0/4.0)*vetU1_i0_i1_i2p1);
const double UpwindAlgInputvetU_ddnD20 = invdx0*(tmpFD109 - 3.0/2.0*vetU2_i0m1_i1_i2 + (1.0/2.0)*vetU2_i0m2_i1_i2 - 1.0/12.0*vetU2_i0m3_i1_i2 + (1.0/4.0)*vetU2_i0p1_i1_i2);
const double UpwindAlgInputvetU_ddnD21 = invdx1*(tmpFD109 - 3.0/2.0*vetU2_i0_i1m1_i2 + (1.0/2.0)*vetU2_i0_i1m2_i2 - 1.0/12.0*vetU2_i0_i1m3_i2 + (1.0/4.0)*vetU2_i0_i1p1_i2);
const double UpwindAlgInputvetU_ddnD22 = invdx2*(tmpFD109 - 3.0/2.0*vetU2_i0_i1_i2m1 + (1.0/2.0)*vetU2_i0_i1_i2m2 - 1.0/12.0*vetU2_i0_i1_i2m3 + (1.0/4.0)*vetU2_i0_i1_i2p1);
const double UpwindAlgInputvetU_dupD00 = invdx0*(tmpFD110 - 1.0/4.0*vetU0_i0m1_i1_i2 + (3.0/2.0)*vetU0_i0p1_i1_i2 - 1.0/2.0*vetU0_i0p2_i1_i2 + (1.0/12.0)*vetU0_i0p3_i1_i2);
const double UpwindAlgInputvetU_dupD01 = invdx1*(tmpFD110 - 1.0/4.0*vetU0_i0_i1m1_i2 + (3.0/2.0)*vetU0_i0_i1p1_i2 - 1.0/2.0*vetU0_i0_i1p2_i2 + (1.0/12.0)*vetU0_i0_i1p3_i2);
const double UpwindAlgInputvetU_dupD02 = invdx2*(tmpFD110 - 1.0/4.0*vetU0_i0_i1_i2m1 + (3.0/2.0)*vetU0_i0_i1_i2p1 - 1.0/2.0*vetU0_i0_i1_i2p2 + (1.0/12.0)*vetU0_i0_i1_i2p3);
const double UpwindAlgInputvetU_dupD10 = invdx0*(tmpFD111 - 1.0/4.0*vetU1_i0m1_i1_i2 + (3.0/2.0)*vetU1_i0p1_i1_i2 - 1.0/2.0*vetU1_i0p2_i1_i2 + (1.0/12.0)*vetU1_i0p3_i1_i2);
const double UpwindAlgInputvetU_dupD11 = invdx1*(tmpFD111 - 1.0/4.0*vetU1_i0_i1m1_i2 + (3.0/2.0)*vetU1_i0_i1p1_i2 - 1.0/2.0*vetU1_i0_i1p2_i2 + (1.0/12.0)*vetU1_i0_i1p3_i2);
const double UpwindAlgInputvetU_dupD12 = invdx2*(tmpFD111 - 1.0/4.0*vetU1_i0_i1_i2m1 + (3.0/2.0)*vetU1_i0_i1_i2p1 - 1.0/2.0*vetU1_i0_i1_i2p2 + (1.0/12.0)*vetU1_i0_i1_i2p3);
const double UpwindAlgInputvetU_dupD20 = invdx0*(tmpFD112 - 1.0/4.0*vetU2_i0m1_i1_i2 + (3.0/2.0)*vetU2_i0p1_i1_i2 - 1.0/2.0*vetU2_i0p2_i1_i2 + (1.0/12.0)*vetU2_i0p3_i1_i2);
const double UpwindAlgInputvetU_dupD21 = invdx1*(tmpFD112 - 1.0/4.0*vetU2_i0_i1m1_i2 + (3.0/2.0)*vetU2_i0_i1p1_i2 - 1.0/2.0*vetU2_i0_i1p2_i2 + (1.0/12.0)*vetU2_i0_i1p3_i2);
const double UpwindAlgInputvetU_dupD22 = invdx2*(tmpFD112 - 1.0/4.0*vetU2_i0_i1_i2m1 + (3.0/2.0)*vetU2_i0_i1_i2p1 - 1.0/2.0*vetU2_i0_i1_i2p2 + (1.0/12.0)*vetU2_i0_i1_i2p3);
const double UpwindControlVectorU0 = vetU0;
const double UpwindControlVectorU1 = vetU1;
const double UpwindControlVectorU2 = vetU2;
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 3: Implement upwinding algorithm:
*/
const double UpWind0 = UPWIND_ALG(UpwindControlVectorU0);
const double UpWind1 = UPWIND_ALG(UpwindControlVectorU1);
const double UpWind2 = UPWIND_ALG(UpwindControlVectorU2);
const double aDD_dupD000 = UpWind0*(-UpwindAlgInputaDD_ddnD000 + UpwindAlgInputaDD_dupD000) + UpwindAlgInputaDD_ddnD000;
const double aDD_dupD001 = UpWind1*(-UpwindAlgInputaDD_ddnD001 + UpwindAlgInputaDD_dupD001) + UpwindAlgInputaDD_ddnD001;
const double aDD_dupD002 = UpWind2*(-UpwindAlgInputaDD_ddnD002 + UpwindAlgInputaDD_dupD002) + UpwindAlgInputaDD_ddnD002;
const double aDD_dupD010 = UpWind0*(-UpwindAlgInputaDD_ddnD010 + UpwindAlgInputaDD_dupD010) + UpwindAlgInputaDD_ddnD010;
const double aDD_dupD011 = UpWind1*(-UpwindAlgInputaDD_ddnD011 + UpwindAlgInputaDD_dupD011) + UpwindAlgInputaDD_ddnD011;
const double aDD_dupD012 = UpWind2*(-UpwindAlgInputaDD_ddnD012 + UpwindAlgInputaDD_dupD012) + UpwindAlgInputaDD_ddnD012;
const double aDD_dupD020 = UpWind0*(-UpwindAlgInputaDD_ddnD020 + UpwindAlgInputaDD_dupD020) + UpwindAlgInputaDD_ddnD020;
const double aDD_dupD021 = UpWind1*(-UpwindAlgInputaDD_ddnD021 + UpwindAlgInputaDD_dupD021) + UpwindAlgInputaDD_ddnD021;
const double aDD_dupD022 = UpWind2*(-UpwindAlgInputaDD_ddnD022 + UpwindAlgInputaDD_dupD022) + UpwindAlgInputaDD_ddnD022;
const double aDD_dupD110 = UpWind0*(-UpwindAlgInputaDD_ddnD110 + UpwindAlgInputaDD_dupD110) + UpwindAlgInputaDD_ddnD110;
const double aDD_dupD111 = UpWind1*(-UpwindAlgInputaDD_ddnD111 + UpwindAlgInputaDD_dupD111) + UpwindAlgInputaDD_ddnD111;
const double aDD_dupD112 = UpWind2*(-UpwindAlgInputaDD_ddnD112 + UpwindAlgInputaDD_dupD112) + UpwindAlgInputaDD_ddnD112;
const double aDD_dupD120 = UpWind0*(-UpwindAlgInputaDD_ddnD120 + UpwindAlgInputaDD_dupD120) + UpwindAlgInputaDD_ddnD120;
const double aDD_dupD121 = UpWind1*(-UpwindAlgInputaDD_ddnD121 + UpwindAlgInputaDD_dupD121) + UpwindAlgInputaDD_ddnD121;
const double aDD_dupD122 = UpWind2*(-UpwindAlgInputaDD_ddnD122 + UpwindAlgInputaDD_dupD122) + UpwindAlgInputaDD_ddnD122;
const double aDD_dupD220 = UpWind0*(-UpwindAlgInputaDD_ddnD220 + UpwindAlgInputaDD_dupD220) + UpwindAlgInputaDD_ddnD220;
const double aDD_dupD221 = UpWind1*(-UpwindAlgInputaDD_ddnD221 + UpwindAlgInputaDD_dupD221) + UpwindAlgInputaDD_ddnD221;
const double aDD_dupD222 = UpWind2*(-UpwindAlgInputaDD_ddnD222 + UpwindAlgInputaDD_dupD222) + UpwindAlgInputaDD_ddnD222;
const double alpha_dupD0 = UpWind0*(-UpwindAlgInputalpha_ddnD0 + UpwindAlgInputalpha_dupD0) + UpwindAlgInputalpha_ddnD0;
const double alpha_dupD1 = UpWind1*(-UpwindAlgInputalpha_ddnD1 + UpwindAlgInputalpha_dupD1) + UpwindAlgInputalpha_ddnD1;
const double alpha_dupD2 = UpWind2*(-UpwindAlgInputalpha_ddnD2 + UpwindAlgInputalpha_dupD2) + UpwindAlgInputalpha_ddnD2;
const double betU_dupD00 = UpWind0*(-UpwindAlgInputbetU_ddnD00 + UpwindAlgInputbetU_dupD00) + UpwindAlgInputbetU_ddnD00;
const double betU_dupD01 = UpWind1*(-UpwindAlgInputbetU_ddnD01 + UpwindAlgInputbetU_dupD01) + UpwindAlgInputbetU_ddnD01;
const double betU_dupD02 = UpWind2*(-UpwindAlgInputbetU_ddnD02 + UpwindAlgInputbetU_dupD02) + UpwindAlgInputbetU_ddnD02;
const double betU_dupD10 = UpWind0*(-UpwindAlgInputbetU_ddnD10 + UpwindAlgInputbetU_dupD10) + UpwindAlgInputbetU_ddnD10;
const double betU_dupD11 = UpWind1*(-UpwindAlgInputbetU_ddnD11 + UpwindAlgInputbetU_dupD11) + UpwindAlgInputbetU_ddnD11;
const double betU_dupD12 = UpWind2*(-UpwindAlgInputbetU_ddnD12 + UpwindAlgInputbetU_dupD12) + UpwindAlgInputbetU_ddnD12;
const double betU_dupD20 = UpWind0*(-UpwindAlgInputbetU_ddnD20 + UpwindAlgInputbetU_dupD20) + UpwindAlgInputbetU_ddnD20;
const double betU_dupD21 = UpWind1*(-UpwindAlgInputbetU_ddnD21 + UpwindAlgInputbetU_dupD21) + UpwindAlgInputbetU_ddnD21;
const double betU_dupD22 = UpWind2*(-UpwindAlgInputbetU_ddnD22 + UpwindAlgInputbetU_dupD22) + UpwindAlgInputbetU_ddnD22;
const double cf_dupD0 = UpWind0*(-UpwindAlgInputcf_ddnD0 + UpwindAlgInputcf_dupD0) + UpwindAlgInputcf_ddnD0;
const double cf_dupD1 = UpWind1*(-UpwindAlgInputcf_ddnD1 + UpwindAlgInputcf_dupD1) + UpwindAlgInputcf_ddnD1;
const double cf_dupD2 = UpWind2*(-UpwindAlgInputcf_ddnD2 + UpwindAlgInputcf_dupD2) + UpwindAlgInputcf_ddnD2;
const double hDD_dupD000 = UpWind0*(-UpwindAlgInputhDD_ddnD000 + UpwindAlgInputhDD_dupD000) + UpwindAlgInputhDD_ddnD000;
const double hDD_dupD001 = UpWind1*(-UpwindAlgInputhDD_ddnD001 + UpwindAlgInputhDD_dupD001) + UpwindAlgInputhDD_ddnD001;
const double hDD_dupD002 = UpWind2*(-UpwindAlgInputhDD_ddnD002 + UpwindAlgInputhDD_dupD002) + UpwindAlgInputhDD_ddnD002;
const double hDD_dupD010 = UpWind0*(-UpwindAlgInputhDD_ddnD010 + UpwindAlgInputhDD_dupD010) + UpwindAlgInputhDD_ddnD010;
const double hDD_dupD011 = UpWind1*(-UpwindAlgInputhDD_ddnD011 + UpwindAlgInputhDD_dupD011) + UpwindAlgInputhDD_ddnD011;
const double hDD_dupD012 = UpWind2*(-UpwindAlgInputhDD_ddnD012 + UpwindAlgInputhDD_dupD012) + UpwindAlgInputhDD_ddnD012;
const double hDD_dupD020 = UpWind0*(-UpwindAlgInputhDD_ddnD020 + UpwindAlgInputhDD_dupD020) + UpwindAlgInputhDD_ddnD020;
const double hDD_dupD021 = UpWind1*(-UpwindAlgInputhDD_ddnD021 + UpwindAlgInputhDD_dupD021) + UpwindAlgInputhDD_ddnD021;
const double hDD_dupD022 = UpWind2*(-UpwindAlgInputhDD_ddnD022 + UpwindAlgInputhDD_dupD022) + UpwindAlgInputhDD_ddnD022;
const double hDD_dupD110 = UpWind0*(-UpwindAlgInputhDD_ddnD110 + UpwindAlgInputhDD_dupD110) + UpwindAlgInputhDD_ddnD110;
const double hDD_dupD111 = UpWind1*(-UpwindAlgInputhDD_ddnD111 + UpwindAlgInputhDD_dupD111) + UpwindAlgInputhDD_ddnD111;
const double hDD_dupD112 = UpWind2*(-UpwindAlgInputhDD_ddnD112 + UpwindAlgInputhDD_dupD112) + UpwindAlgInputhDD_ddnD112;
const double hDD_dupD120 = UpWind0*(-UpwindAlgInputhDD_ddnD120 + UpwindAlgInputhDD_dupD120) + UpwindAlgInputhDD_ddnD120;
const double hDD_dupD121 = UpWind1*(-UpwindAlgInputhDD_ddnD121 + UpwindAlgInputhDD_dupD121) + UpwindAlgInputhDD_ddnD121;
const double hDD_dupD122 = UpWind2*(-UpwindAlgInputhDD_ddnD122 + UpwindAlgInputhDD_dupD122) + UpwindAlgInputhDD_ddnD122;
const double hDD_dupD220 = UpWind0*(-UpwindAlgInputhDD_ddnD220 + UpwindAlgInputhDD_dupD220) + UpwindAlgInputhDD_ddnD220;
const double hDD_dupD221 = UpWind1*(-UpwindAlgInputhDD_ddnD221 + UpwindAlgInputhDD_dupD221) + UpwindAlgInputhDD_ddnD221;
const double hDD_dupD222 = UpWind2*(-UpwindAlgInputhDD_ddnD222 + UpwindAlgInputhDD_dupD222) + UpwindAlgInputhDD_ddnD222;
const double lambdaU_dupD00 = UpWind0*(-UpwindAlgInputlambdaU_ddnD00 + UpwindAlgInputlambdaU_dupD00) + UpwindAlgInputlambdaU_ddnD00;
const double lambdaU_dupD01 = UpWind1*(-UpwindAlgInputlambdaU_ddnD01 + UpwindAlgInputlambdaU_dupD01) + UpwindAlgInputlambdaU_ddnD01;
const double lambdaU_dupD02 = UpWind2*(-UpwindAlgInputlambdaU_ddnD02 + UpwindAlgInputlambdaU_dupD02) + UpwindAlgInputlambdaU_ddnD02;
const double lambdaU_dupD10 = UpWind0*(-UpwindAlgInputlambdaU_ddnD10 + UpwindAlgInputlambdaU_dupD10) + UpwindAlgInputlambdaU_ddnD10;
const double lambdaU_dupD11 = UpWind1*(-UpwindAlgInputlambdaU_ddnD11 + UpwindAlgInputlambdaU_dupD11) + UpwindAlgInputlambdaU_ddnD11;
const double lambdaU_dupD12 = UpWind2*(-UpwindAlgInputlambdaU_ddnD12 + UpwindAlgInputlambdaU_dupD12) + UpwindAlgInputlambdaU_ddnD12;
const double lambdaU_dupD20 = UpWind0*(-UpwindAlgInputlambdaU_ddnD20 + UpwindAlgInputlambdaU_dupD20) + UpwindAlgInputlambdaU_ddnD20;
const double lambdaU_dupD21 = UpWind1*(-UpwindAlgInputlambdaU_ddnD21 + UpwindAlgInputlambdaU_dupD21) + UpwindAlgInputlambdaU_ddnD21;
const double lambdaU_dupD22 = UpWind2*(-UpwindAlgInputlambdaU_ddnD22 + UpwindAlgInputlambdaU_dupD22) + UpwindAlgInputlambdaU_ddnD22;
const double trK_dupD0 = UpWind0*(-UpwindAlgInputtrK_ddnD0 + UpwindAlgInputtrK_dupD0) + UpwindAlgInputtrK_ddnD0;
const double trK_dupD1 = UpWind1*(-UpwindAlgInputtrK_ddnD1 + UpwindAlgInputtrK_dupD1) + UpwindAlgInputtrK_ddnD1;
const double trK_dupD2 = UpWind2*(-UpwindAlgInputtrK_ddnD2 + UpwindAlgInputtrK_dupD2) + UpwindAlgInputtrK_ddnD2;
const double vetU_dupD00 = UpWind0*(-UpwindAlgInputvetU_ddnD00 + UpwindAlgInputvetU_dupD00) + UpwindAlgInputvetU_ddnD00;
const double vetU_dupD01 = UpWind1*(-UpwindAlgInputvetU_ddnD01 + UpwindAlgInputvetU_dupD01) + UpwindAlgInputvetU_ddnD01;
const double vetU_dupD02 = UpWind2*(-UpwindAlgInputvetU_ddnD02 + UpwindAlgInputvetU_dupD02) + UpwindAlgInputvetU_ddnD02;
const double vetU_dupD10 = UpWind0*(-UpwindAlgInputvetU_ddnD10 + UpwindAlgInputvetU_dupD10) + UpwindAlgInputvetU_ddnD10;
const double vetU_dupD11 = UpWind1*(-UpwindAlgInputvetU_ddnD11 + UpwindAlgInputvetU_dupD11) + UpwindAlgInputvetU_ddnD11;
const double vetU_dupD12 = UpWind2*(-UpwindAlgInputvetU_ddnD12 + UpwindAlgInputvetU_dupD12) + UpwindAlgInputvetU_ddnD12;
const double vetU_dupD20 = UpWind0*(-UpwindAlgInputvetU_ddnD20 + UpwindAlgInputvetU_dupD20) + UpwindAlgInputvetU_ddnD20;
const double vetU_dupD21 = UpWind1*(-UpwindAlgInputvetU_ddnD21 + UpwindAlgInputvetU_dupD21) + UpwindAlgInputvetU_ddnD21;
const double vetU_dupD22 = UpWind2*(-UpwindAlgInputvetU_ddnD22 + UpwindAlgInputvetU_dupD22) + UpwindAlgInputvetU_ddnD22;
/*
* NRPy+ Finite Difference Code Generation, Step 3 of 3: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = 2*vetU_dD00;
const double tmp1 = 2*aDD01;
const double tmp2 = 2*aDD02;
const double tmp3 = alpha*trK;
const double tmp4 = vetU_dD00 + vetU_dD11 + vetU_dD22;
const double tmp5 = (2.0/3.0)*tmp4;
const double tmp6 = hDD02*hDD12;
const double tmp7 = 2*hDD01;
const double tmp8 = ((hDD01)*(hDD01));
const double tmp9 = hDD22 + 1;
const double tmp10 = ((hDD02)*(hDD02));
const double tmp11 = hDD11 + 1;
const double tmp12 = ((hDD12)*(hDD12));
const double tmp13 = hDD00 + 1;
const double tmp14 = tmp11*tmp9;
const double tmp15 = -tmp10*tmp11 - tmp12*tmp13 + tmp13*tmp14 + tmp6*tmp7 - tmp8*tmp9;
const double tmp16 = (1.0/(tmp15));
const double tmp17 = -hDD01*tmp9 + tmp6;
const double tmp18 = tmp16*tmp17;
const double tmp19 = aDD01*tmp18;
const double tmp20 = hDD01*hDD12 - hDD02*tmp11;
const double tmp21 = aDD02*tmp16;
const double tmp22 = tmp20*tmp21;
const double tmp23 = -tmp12 + tmp14;
const double tmp24 = tmp16*tmp23;
const double tmp25 = aDD00*tmp24;
const double tmp26 = 2*alpha;
const double tmp27 = aDD00*tmp26;
const double tmp28 = hDD01*hDD02 - hDD12*tmp13;
const double tmp29 = -tmp10 + tmp13*tmp9;
const double tmp30 = tmp16*tmp29;
const double tmp31 = aDD01*tmp26;
const double tmp32 = tmp16*tmp20;
const double tmp33 = tmp16*tmp28;
const double tmp34 = tmp11*tmp13 - tmp8;
const double tmp35 = tmp16*tmp34;
const double tmp36 = aDD02*tmp26;
const double tmp37 = ((cf)*(cf));
const double tmp38 = (1.0/(cf));
const double tmp39 = cf_dD2*tmp38;
const double tmp40 = -alpha_dD1*tmp39;
const double tmp41 = alpha_dD2*tmp38;
const double tmp42 = -cf_dD1*tmp41;
const double tmp43 = alpha/tmp37;
const double tmp44 = cf_dD2*tmp43;
const double tmp45 = (1.0/2.0)*hDD_dD112;
const double tmp46 = tmp18*tmp45;
const double tmp47 = (1.0/2.0)*hDD_dD221;
const double tmp48 = tmp32*tmp47;
const double tmp49 = (1.0/2.0)*hDD_dD012 + (1.0/2.0)*hDD_dD021 - 1.0/2.0*hDD_dD120;
const double tmp50 = tmp24*tmp49;
const double tmp51 = -tmp46 - tmp48 - tmp50;
const double tmp52 = alpha_dD0*tmp51;
const double tmp53 = tmp33*tmp47;
const double tmp54 = tmp30*tmp45;
const double tmp55 = tmp18*tmp49;
const double tmp56 = -tmp53 - tmp54 - tmp55;
const double tmp57 = alpha_dD1*tmp56;
const double tmp58 = tmp33*tmp45;
const double tmp59 = tmp35*tmp47;
const double tmp60 = tmp32*tmp49;
const double tmp61 = -tmp58 - tmp59 - tmp60;
const double tmp62 = alpha_dD2*tmp61;
const double tmp63 = (1.0/2.0)*tmp38;
const double tmp64 = cf_dD0*tmp63;
const double tmp65 = cf_dD1*tmp63;
const double tmp66 = cf_dD2*tmp63;
const double tmp67 = RbarDD12*alpha - alpha_dDD12 + cf_dD1*tmp44 - tmp26*(-tmp51*tmp64 - tmp56*tmp65 - tmp61*tmp66 + tmp63*(cf_dD1*tmp39 - cf_dDD12)) + tmp40 + tmp42 - tmp52 - tmp57 - tmp62;
const double tmp68 = 2*tmp33;
const double tmp69 = -alpha_dD0*tmp39;
const double tmp70 = -cf_dD0*tmp41;
const double tmp71 = (1.0/2.0)*hDD_dD220;
const double tmp72 = tmp32*tmp71;
const double tmp73 = (1.0/2.0)*hDD_dD002;
const double tmp74 = tmp24*tmp73;
const double tmp75 = (1.0/2.0)*hDD_dD012 - 1.0/2.0*hDD_dD021 + (1.0/2.0)*hDD_dD120;
const double tmp76 = tmp18*tmp75;
const double tmp77 = -tmp72 - tmp74 - tmp76;
const double tmp78 = alpha_dD0*tmp77;
const double tmp79 = tmp18*tmp73;
const double tmp80 = tmp33*tmp71;
const double tmp81 = tmp30*tmp75;
const double tmp82 = -tmp79 - tmp80 - tmp81;
const double tmp83 = alpha_dD1*tmp82;
const double tmp84 = tmp32*tmp73;
const double tmp85 = tmp35*tmp71;
const double tmp86 = tmp33*tmp75;
const double tmp87 = -tmp84 - tmp85 - tmp86;
const double tmp88 = alpha_dD2*tmp87;
const double tmp89 = RbarDD02*alpha - alpha_dDD02 + cf_dD0*tmp44 - tmp26*(tmp63*(cf_dD0*tmp39 - cf_dDD02) - tmp64*tmp77 - tmp65*tmp82 - tmp66*tmp87) + tmp69 + tmp70 - tmp78 - tmp83 - tmp88;
const double tmp90 = 2*tmp32;
const double tmp91 = cf_dD1*tmp38;
const double tmp92 = -alpha_dD0*tmp91;
const double tmp93 = cf_dD0*tmp38;
const double tmp94 = -alpha_dD1*tmp93;
const double tmp95 = (1.0/2.0)*hDD_dD110;
const double tmp96 = tmp18*tmp95;
const double tmp97 = (1.0/2.0)*hDD_dD001;
const double tmp98 = tmp24*tmp97;
const double tmp99 = -1.0/2.0*hDD_dD012 + (1.0/2.0)*hDD_dD021 + (1.0/2.0)*hDD_dD120;
const double tmp100 = tmp32*tmp99;
const double tmp101 = -tmp100 - tmp96 - tmp98;
const double tmp102 = alpha_dD0*tmp101;
const double tmp103 = tmp18*tmp97;
const double tmp104 = tmp30*tmp95;
const double tmp105 = tmp33*tmp99;
const double tmp106 = -tmp103 - tmp104 - tmp105;
const double tmp107 = alpha_dD1*tmp106;
const double tmp108 = tmp32*tmp97;
const double tmp109 = tmp33*tmp95;
const double tmp110 = tmp35*tmp99;
const double tmp111 = -tmp108 - tmp109 - tmp110;
const double tmp112 = alpha_dD2*tmp111;
const double tmp113 = RbarDD01*alpha - alpha_dDD01 + cf_dD0*cf_dD1*tmp43 - tmp102 - tmp107 - tmp112 - tmp26*(-tmp101*tmp64 - tmp106*tmp65 - tmp111*tmp66 + tmp63*(cf_dD0*tmp91 - cf_dDD01)) + tmp92 + tmp94;
const double tmp114 = 2*tmp18;
const double tmp115 = alpha_dD2*tmp39;
const double tmp116 = ((cf_dD2)*(cf_dD2));
const double tmp117 = (1.0/2.0)*hDD_dD222;
const double tmp118 = tmp117*tmp32;
const double tmp119 = hDD_dD122 - 1.0/2.0*hDD_dD221;
const double tmp120 = tmp119*tmp18;
const double tmp121 = hDD_dD022 - 1.0/2.0*hDD_dD220;
const double tmp122 = tmp121*tmp24;
const double tmp123 = -tmp118 - tmp120 - tmp122;
const double tmp124 = alpha_dD0*tmp123;
const double tmp125 = tmp117*tmp33;
const double tmp126 = tmp121*tmp18;
const double tmp127 = tmp119*tmp30;
const double tmp128 = -tmp125 - tmp126 - tmp127;
const double tmp129 = alpha_dD1*tmp128;
const double tmp130 = tmp117*tmp35;
const double tmp131 = tmp121*tmp32;
const double tmp132 = tmp119*tmp33;
const double tmp133 = -tmp130 - tmp131 - tmp132;
const double tmp134 = alpha_dD2*tmp133;
const double tmp135 = RbarDD22*alpha - alpha_dDD22 - 2*tmp115 + tmp116*tmp43 - tmp124 - tmp129 - tmp134 - tmp26*(-tmp123*tmp64 - tmp128*tmp65 - tmp133*tmp66 + tmp63*(-cf_dDD22 + tmp116*tmp38));
const double tmp136 = alpha_dD1*tmp91;
const double tmp137 = ((cf_dD1)*(cf_dD1));
const double tmp138 = (1.0/2.0)*hDD_dD111;
const double tmp139 = tmp138*tmp18;
const double tmp140 = -1.0/2.0*hDD_dD112 + hDD_dD121;
const double tmp141 = tmp140*tmp32;
const double tmp142 = hDD_dD011 - 1.0/2.0*hDD_dD110;
const double tmp143 = tmp142*tmp24;
const double tmp144 = -tmp139 - tmp141 - tmp143;
const double tmp145 = alpha_dD0*tmp144;
const double tmp146 = tmp138*tmp30;
const double tmp147 = tmp142*tmp18;
const double tmp148 = tmp140*tmp33;
const double tmp149 = -tmp146 - tmp147 - tmp148;
const double tmp150 = alpha_dD1*tmp149;
const double tmp151 = tmp138*tmp33;
const double tmp152 = tmp142*tmp32;
const double tmp153 = tmp140*tmp35;
const double tmp154 = -tmp151 - tmp152 - tmp153;
const double tmp155 = alpha_dD2*tmp154;
const double tmp156 = RbarDD11*alpha - alpha_dDD11 - 2*tmp136 + tmp137*tmp43 - tmp145 - tmp150 - tmp155 - tmp26*(-tmp144*tmp64 - tmp149*tmp65 - tmp154*tmp66 + tmp63*(-cf_dDD11 + tmp137*tmp38));
const double tmp157 = alpha_dD0*tmp93;
const double tmp158 = ((cf_dD0)*(cf_dD0));
const double tmp159 = (1.0/2.0)*hDD_dD000;
const double tmp160 = tmp159*tmp24;
const double tmp161 = -1.0/2.0*hDD_dD001 + hDD_dD010;
const double tmp162 = tmp161*tmp18;
const double tmp163 = -1.0/2.0*hDD_dD002 + hDD_dD020;
const double tmp164 = tmp163*tmp32;
const double tmp165 = -tmp160 - tmp162 - tmp164;
const double tmp166 = alpha_dD0*tmp165;
const double tmp167 = tmp159*tmp18;
const double tmp168 = tmp163*tmp33;
const double tmp169 = tmp161*tmp30;
const double tmp170 = -tmp167 - tmp168 - tmp169;
const double tmp171 = alpha_dD1*tmp170;
const double tmp172 = tmp159*tmp32;
const double tmp173 = tmp161*tmp33;
const double tmp174 = tmp163*tmp35;
const double tmp175 = -tmp172 - tmp173 - tmp174;
const double tmp176 = alpha_dD2*tmp175;
const double tmp177 = RbarDD00*alpha - alpha_dDD00 - 2*tmp157 + tmp158*tmp43 - tmp166 - tmp171 - tmp176 - tmp26*(-tmp165*tmp64 - tmp170*tmp65 - tmp175*tmp66 + tmp63*(-cf_dDD00 + tmp158*tmp38));
const double tmp178 = tmp113*tmp114 + tmp135*tmp35 + tmp156*tmp30 + tmp177*tmp24 + tmp67*tmp68 + tmp89*tmp90;
const double tmp179 = aDD01*tmp24 + aDD11*tmp18 + aDD12*tmp32;
const double tmp180 = aDD12*tmp33;
const double tmp181 = aDD11*tmp30;
const double tmp182 = tmp180 + tmp181 + tmp19;
const double tmp183 = aDD01*tmp32 + aDD11*tmp33 + aDD12*tmp35;
const double tmp184 = (1.0/3.0)*tmp178;
const double tmp185 = aDD02*tmp24 + aDD12*tmp18 + aDD22*tmp32;
const double tmp186 = aDD02*tmp18 + aDD12*tmp30 + aDD22*tmp33;
const double tmp187 = aDD22*tmp35;
const double tmp188 = tmp180 + tmp187 + tmp22;
const double tmp189 = 2*vetU_dD11;
const double tmp190 = 2*aDD12;
const double tmp191 = aDD11*tmp26;
const double tmp192 = aDD12*tmp26;
const double tmp193 = 2*vetU_dD22;
const double tmp194 = aDD22*tmp26;
const double tmp195 = lambdaU0*vetU_dD00;
const double tmp196 = lambdaU1*vetU_dD01;
const double tmp197 = lambdaU2*vetU_dD02;
const double tmp198 = (3.0/2.0)*tmp18;
const double tmp199 = (3.0/2.0)*tmp32;
const double tmp200 = (3.0/2.0)*tmp33;
const double tmp201 = alpha*trK_dD1;
const double tmp202 = alpha*trK_dD2;
const double tmp203 = tmp24*vetU_dDD000;
const double tmp204 = tmp30*vetU_dDD011;
const double tmp205 = tmp35*vetU_dDD022;
const double tmp206 = vetU_dDD002 + vetU_dDD112 + vetU_dDD222;
const double tmp207 = (1.0/4.0)*tmp206;
const double tmp208 = vetU_dDD001 + vetU_dDD111 + vetU_dDD212;
const double tmp209 = (1.0/4.0)*tmp208;
const double tmp210 = alpha*trK_dD0;
const double tmp211 = tmp210*tmp24;
const double tmp212 = vetU_dDD000 + vetU_dDD101 + vetU_dDD202;
const double tmp213 = (1.0/4.0)*tmp212;
const double tmp214 = 3*alpha;
const double tmp215 = alpha_dD0 + tmp214*tmp93;
const double tmp216 = (1.0/((tmp15)*(tmp15)));
const double tmp217 = ((tmp17)*(tmp17))*tmp216;
const double tmp218 = aDD11*tmp217;
const double tmp219 = ((tmp20)*(tmp20))*tmp216;
const double tmp220 = aDD22*tmp219;
const double tmp221 = aDD00*tmp216;
const double tmp222 = tmp221*((tmp23)*(tmp23));
const double tmp223 = tmp20*tmp216;
const double tmp224 = tmp17*tmp223;
const double tmp225 = 4*aDD12;
const double tmp226 = tmp216*tmp23;
const double tmp227 = aDD01*tmp226;
const double tmp228 = aDD02*tmp226;
const double tmp229 = tmp215*(-4*tmp17*tmp227 - 4*tmp20*tmp228 - 2*tmp218 - 2*tmp220 - 2*tmp222 - tmp224*tmp225);
const double tmp230 = tmp160 + tmp162 + tmp164;
const double tmp231 = tmp1*tmp226;
const double tmp232 = tmp2*tmp226;
const double tmp233 = tmp17*tmp231 + tmp190*tmp224 + tmp20*tmp232 + tmp218 + tmp220 + tmp222;
const double tmp234 = alpha*tmp233;
const double tmp235 = (3.0/2.0)*tmp234;
const double tmp236 = tmp139 + tmp141 + tmp143;
const double tmp237 = aDD00*tmp217;
const double tmp238 = tmp216*((tmp28)*(tmp28));
const double tmp239 = aDD22*tmp238;
const double tmp240 = aDD11*tmp216;
const double tmp241 = tmp240*((tmp29)*(tmp29));
const double tmp242 = tmp17*tmp216;
const double tmp243 = tmp242*tmp28;
const double tmp244 = tmp242*tmp29;
const double tmp245 = tmp28*tmp29;
const double tmp246 = tmp216*tmp245;
const double tmp247 = tmp1*tmp244 + tmp190*tmp246 + tmp2*tmp243 + tmp237 + tmp239 + tmp241;
const double tmp248 = alpha*tmp247;
const double tmp249 = (3.0/2.0)*tmp248;
const double tmp250 = tmp118 + tmp120 + tmp122;
const double tmp251 = aDD00*tmp219;
const double tmp252 = aDD11*tmp238;
const double tmp253 = aDD22*tmp216;
const double tmp254 = tmp253*((tmp34)*(tmp34));
const double tmp255 = tmp223*tmp28;
const double tmp256 = tmp223*tmp34;
const double tmp257 = tmp216*tmp34;
const double tmp258 = tmp257*tmp28;
const double tmp259 = tmp1*tmp255 + tmp190*tmp258 + tmp2*tmp256 + tmp251 + tmp252 + tmp254;
const double tmp260 = alpha*tmp259;
const double tmp261 = (3.0/2.0)*tmp260;
const double tmp262 = alpha_dD1 + tmp214*tmp91;
const double tmp263 = tmp20*tmp253;
const double tmp264 = tmp263*tmp28;
const double tmp265 = tmp221*tmp23;
const double tmp266 = tmp17*tmp265;
const double tmp267 = tmp17*tmp240;
const double tmp268 = tmp267*tmp29;
const double tmp269 = tmp223*tmp29;
const double tmp270 = -tmp1*tmp217 - tmp190*tmp243 - tmp190*tmp269 - tmp2*tmp224 - tmp231*tmp29 - tmp232*tmp28 - 2*tmp264 - 2*tmp266 - 2*tmp268;
const double tmp271 = tmp262*tmp270;
const double tmp272 = alpha_dD2 + tmp214*tmp39;
const double tmp273 = tmp267*tmp28;
const double tmp274 = tmp20*tmp265;
const double tmp275 = tmp242*tmp34;
const double tmp276 = tmp263*tmp34;
const double tmp277 = -tmp1*tmp224 - tmp190*tmp255 - tmp190*tmp275 - tmp2*tmp219 - tmp231*tmp28 - tmp232*tmp34 - 2*tmp273 - 2*tmp274 - 2*tmp276;
const double tmp278 = tmp272*tmp277;
const double tmp279 = tmp100 + tmp96 + tmp98;
const double tmp280 = aDD12*tmp242;
const double tmp281 = aDD12*tmp223;
const double tmp282 = aDD01*tmp217 + aDD02*tmp224 + tmp227*tmp29 + tmp228*tmp28 + tmp264 + tmp266 + tmp268 + tmp28*tmp280 + tmp281*tmp29;
const double tmp283 = tmp214*tmp282;
const double tmp284 = tmp72 + tmp74 + tmp76;
const double tmp285 = aDD01*tmp224 + aDD02*tmp219 + tmp227*tmp28 + tmp228*tmp34 + tmp273 + tmp274 + tmp276 + tmp28*tmp281 + tmp280*tmp34;
const double tmp286 = tmp214*tmp285;
const double tmp287 = tmp46 + tmp48 + tmp50;
const double tmp288 = tmp17*tmp20*tmp221;
const double tmp289 = tmp240*tmp245;
const double tmp290 = tmp253*tmp28*tmp34;
const double tmp291 = tmp257*tmp29;
const double tmp292 = aDD01*tmp243 + aDD01*tmp269 + aDD02*tmp255 + aDD02*tmp275 + aDD12*tmp238 + aDD12*tmp291 + tmp288 + tmp289 + tmp290;
const double tmp293 = tmp214*tmp292;
const double tmp294 = (4.0/3.0)*tmp33;
const double tmp295 = (4.0/3.0)*tmp32;
const double tmp296 = (4.0/3.0)*tmp18;
const double tmp297 = (2.0/3.0)*tmp35;
const double tmp298 = (2.0/3.0)*tmp30;
const double tmp299 = (2.0/3.0)*tmp24;
const double tmp300 = tmp4*(tmp230*tmp299 + tmp236*tmp298 + tmp250*tmp297 + tmp279*tmp296 + tmp284*tmp295 + tmp287*tmp294);
const double tmp301 = lambdaU0*vetU_dD10;
const double tmp302 = lambdaU1*vetU_dD11;
const double tmp303 = lambdaU2*vetU_dD12;
const double tmp304 = tmp24*vetU_dDD100;
const double tmp305 = tmp30*vetU_dDD111;
const double tmp306 = tmp35*vetU_dDD122;
const double tmp307 = tmp201*tmp30;
const double tmp308 = 4*aDD02;
const double tmp309 = 4*aDD01;
const double tmp310 = tmp262*(-tmp225*tmp246 - 2*tmp237 - 2*tmp239 - 2*tmp241 - tmp243*tmp308 - tmp244*tmp309);
const double tmp311 = tmp167 + tmp168 + tmp169;
const double tmp312 = tmp146 + tmp147 + tmp148;
const double tmp313 = tmp125 + tmp126 + tmp127;
const double tmp314 = tmp215*tmp270;
const double tmp315 = -tmp1*tmp243 - tmp1*tmp269 - tmp190*tmp238 - tmp190*tmp291 - tmp2*tmp255 - tmp2*tmp275 - 2*tmp288 - 2*tmp289 - 2*tmp290;
const double tmp316 = tmp272*tmp315;
const double tmp317 = tmp103 + tmp104 + tmp105;
const double tmp318 = tmp79 + tmp80 + tmp81;
const double tmp319 = tmp53 + tmp54 + tmp55;
const double tmp320 = tmp4*(tmp294*tmp319 + tmp295*tmp318 + tmp296*tmp317 + tmp297*tmp313 + tmp298*tmp312 + tmp299*tmp311);
const double tmp321 = lambdaU0*vetU_dD20;
const double tmp322 = lambdaU1*vetU_dD21;
const double tmp323 = lambdaU2*vetU_dD22;
const double tmp324 = tmp24*vetU_dDD200;
const double tmp325 = tmp30*vetU_dDD211;
const double tmp326 = tmp35*vetU_dDD222;
const double tmp327 = tmp202*tmp35;
const double tmp328 = tmp272*(-tmp225*tmp258 - 2*tmp251 - 2*tmp252 - 2*tmp254 - tmp255*tmp309 - tmp256*tmp308);
const double tmp329 = tmp172 + tmp173 + tmp174;
const double tmp330 = tmp151 + tmp152 + tmp153;
const double tmp331 = tmp130 + tmp131 + tmp132;
const double tmp332 = tmp215*tmp277;
const double tmp333 = tmp262*tmp315;
const double tmp334 = tmp108 + tmp109 + tmp110;
const double tmp335 = tmp84 + tmp85 + tmp86;
const double tmp336 = tmp58 + tmp59 + tmp60;
const double tmp337 = tmp4*(tmp294*tmp336 + tmp295*tmp335 + tmp296*tmp334 + tmp297*tmp331 + tmp298*tmp330 + tmp299*tmp329);
const double tmp338 = 2*hDD02;
const double tmp339 = alpha*(tmp1*tmp18 + 2*tmp180 + tmp181 + tmp187 + tmp2*tmp32 + tmp25) - vetU_dD00 - vetU_dD11 - vetU_dD22;
const double tmp340 = (2.0/3.0)*tmp339;
const double tmp341 = 2*hDD12;
const double tmp342 = (1.0/3.0)*tmp206;
const double tmp343 = (1.0/3.0)*tmp208;
const double tmp344 = (1.0/3.0)*tmp212;
const double tmp345 = tmp233*tmp26;
const double tmp346 = tmp247*tmp26;
const double tmp347 = tmp259*tmp26;
const double tmp348 = 4*alpha;
const double tmp349 = tmp282*tmp348;
const double tmp350 = tmp285*tmp348;
const double tmp351 = tmp292*tmp348;
const double tmp352 = alpha_dDD12 + tmp52 + tmp57 + tmp62;
const double tmp353 = tmp33*tmp37;
const double tmp354 = alpha_dDD02 + tmp78 + tmp83 + tmp88;
const double tmp355 = tmp32*tmp37;
const double tmp356 = alpha_dDD01 + tmp102 + tmp107 + tmp112;
const double tmp357 = tmp18*tmp37;
aDD00_rhsGF_.ptr[aDD00_rhsGF_.offset(i0, i1, i2)] = aDD00*tmp0 + aDD00*tmp3 - aDD00*tmp5 + aDD_dKOD000*diss_strength + aDD_dKOD001*diss_strength + aDD_dKOD002*diss_strength + aDD_dupD000*vetU0 + aDD_dupD001*vetU1 + aDD_dupD002*vetU2 + tmp1*vetU_dD10 + tmp2*vetU_dD20 - tmp27*(tmp19 + tmp22 + tmp25) - tmp31*(aDD00*tmp18 + aDD01*tmp30 + tmp21*tmp28) - tmp36*(aDD00*tmp32 + aDD01*tmp33 + aDD02*tmp35) + tmp37*(tmp177 - tmp178*((1.0/3.0)*hDD00 + 1.0/3.0));
aDD01_rhsGF_.ptr[aDD01_rhsGF_.offset(i0, i1, i2)] = aDD00*vetU_dD01 + aDD01*tmp3 - aDD01*tmp5 + aDD01*vetU_dD00 + aDD01*vetU_dD11 + aDD02*vetU_dD21 + aDD11*vetU_dD10 + aDD12*vetU_dD20 + aDD_dKOD010*diss_strength + aDD_dKOD011*diss_strength + aDD_dKOD012*diss_strength + aDD_dupD010*vetU0 + aDD_dupD011*vetU1 + aDD_dupD012*vetU2 - tmp179*tmp27 - tmp182*tmp31 - tmp183*tmp36 + tmp37*(-hDD01*tmp184 + tmp113);
aDD02_rhsGF_.ptr[aDD02_rhsGF_.offset(i0, i1, i2)] = aDD00*vetU_dD02 + aDD01*vetU_dD12 + aDD02*tmp3 - aDD02*tmp5 + aDD02*vetU_dD00 + aDD02*vetU_dD22 + aDD12*vetU_dD10 + aDD22*vetU_dD20 + aDD_dKOD020*diss_strength + aDD_dKOD021*diss_strength + aDD_dKOD022*diss_strength + aDD_dupD020*vetU0 + aDD_dupD021*vetU1 + aDD_dupD022*vetU2 - tmp185*tmp27 - tmp186*tmp31 - tmp188*tmp36 + tmp37*(-hDD02*tmp184 + tmp89);
aDD11_rhsGF_.ptr[aDD11_rhsGF_.offset(i0, i1, i2)] = aDD11*tmp189 + aDD11*tmp3 - aDD11*tmp5 + aDD_dKOD110*diss_strength + aDD_dKOD111*diss_strength + aDD_dKOD112*diss_strength + aDD_dupD110*vetU0 + aDD_dupD111*vetU1 + aDD_dupD112*vetU2 + tmp1*vetU_dD01 - tmp179*tmp31 - tmp182*tmp191 - tmp183*tmp192 + tmp190*vetU_dD21 + tmp37*(tmp156 - tmp178*((1.0/3.0)*hDD11 + 1.0/3.0));
aDD12_rhsGF_.ptr[aDD12_rhsGF_.offset(i0, i1, i2)] = aDD01*vetU_dD02 + aDD02*vetU_dD01 + aDD11*vetU_dD12 + aDD12*tmp3 - aDD12*tmp5 + aDD12*vetU_dD11 + aDD12*vetU_dD22 + aDD22*vetU_dD21 + aDD_dKOD120*diss_strength + aDD_dKOD121*diss_strength + aDD_dKOD122*diss_strength + aDD_dupD120*vetU0 + aDD_dupD121*vetU1 + aDD_dupD122*vetU2 - tmp185*tmp31 - tmp186*tmp191 - tmp188*tmp192 + tmp37*(-hDD12*tmp184 + tmp67);
aDD22_rhsGF_.ptr[aDD22_rhsGF_.offset(i0, i1, i2)] = aDD22*tmp193 + aDD22*tmp3 - aDD22*tmp5 + aDD_dKOD220*diss_strength + aDD_dKOD221*diss_strength + aDD_dKOD222*diss_strength + aDD_dupD220*vetU0 + aDD_dupD221*vetU1 + aDD_dupD222*vetU2 - tmp185*tmp36 - tmp186*tmp192 - tmp188*tmp194 + tmp190*vetU_dD12 + tmp2*vetU_dD02 + tmp37*(tmp135 - tmp178*((1.0/3.0)*hDD22 + 1.0/3.0));
alpha_rhsGF_.ptr[alpha_rhsGF_.offset(i0, i1, i2)] = alpha_dKOD0*diss_strength + alpha_dKOD1*diss_strength + alpha_dKOD2*diss_strength + alpha_dupD0*vetU0 + alpha_dupD1*vetU1 + alpha_dupD2*vetU2 - tmp26*trK;
betU0_rhsGF_.ptr[betU0_rhsGF_.offset(i0, i1, i2)] = -betU0*eta + betU_dKOD00*diss_strength + betU_dKOD01*diss_strength + betU_dKOD02*diss_strength + betU_dupD00*vetU0 + betU_dupD01*vetU1 + betU_dupD02*vetU2 - tmp18*tmp201 + tmp18*tmp209 - 3.0/4.0*tmp195 - 3.0/4.0*tmp196 - 3.0/4.0*tmp197 + tmp198*vetU_dDD001 + tmp199*vetU_dDD002 + tmp200*vetU_dDD012 - tmp202*tmp32 + (3.0/4.0)*tmp203 + (3.0/4.0)*tmp204 + (3.0/4.0)*tmp205 + tmp207*tmp32 - tmp211 + tmp213*tmp24 + (3.0/4.0)*tmp229 + tmp230*tmp235 + tmp236*tmp249 + tmp250*tmp261 + (3.0/4.0)*tmp271 + (3.0/4.0)*tmp278 + tmp279*tmp283 + tmp284*tmp286 + tmp287*tmp293 + (3.0/4.0)*tmp300;
betU1_rhsGF_.ptr[betU1_rhsGF_.offset(i0, i1, i2)] = -betU1*eta + betU_dKOD10*diss_strength + betU_dKOD11*diss_strength + betU_dKOD12*diss_strength + betU_dupD10*vetU0 + betU_dupD11*vetU1 + betU_dupD12*vetU2 - tmp18*tmp210 + tmp18*tmp213 + tmp198*vetU_dDD101 + tmp199*vetU_dDD102 + tmp200*vetU_dDD112 - tmp202*tmp33 + tmp207*tmp33 + tmp209*tmp30 + tmp235*tmp311 + tmp249*tmp312 + tmp261*tmp313 + tmp283*tmp317 + tmp286*tmp318 + tmp293*tmp319 - 3.0/4.0*tmp301 - 3.0/4.0*tmp302 - 3.0/4.0*tmp303 + (3.0/4.0)*tmp304 + (3.0/4.0)*tmp305 + (3.0/4.0)*tmp306 - tmp307 + (3.0/4.0)*tmp310 + (3.0/4.0)*tmp314 + (3.0/4.0)*tmp316 + (3.0/4.0)*tmp320;
betU2_rhsGF_.ptr[betU2_rhsGF_.offset(i0, i1, i2)] = -betU2*eta + betU_dKOD20*diss_strength + betU_dKOD21*diss_strength + betU_dKOD22*diss_strength + betU_dupD20*vetU0 + betU_dupD21*vetU1 + betU_dupD22*vetU2 + tmp198*vetU_dDD201 + tmp199*vetU_dDD202 + tmp200*vetU_dDD212 - tmp201*tmp33 + tmp207*tmp35 + tmp209*tmp33 - tmp210*tmp32 + tmp213*tmp32 + tmp235*tmp329 + tmp249*tmp330 + tmp261*tmp331 + tmp283*tmp334 + tmp286*tmp335 + tmp293*tmp336 - 3.0/4.0*tmp321 - 3.0/4.0*tmp322 - 3.0/4.0*tmp323 + (3.0/4.0)*tmp324 + (3.0/4.0)*tmp325 + (3.0/4.0)*tmp326 - tmp327 + (3.0/4.0)*tmp328 + (3.0/4.0)*tmp332 + (3.0/4.0)*tmp333 + (3.0/4.0)*tmp337;
cf_rhsGF_.ptr[cf_rhsGF_.offset(i0, i1, i2)] = -2*cf*(-cf_dupD0*tmp63*vetU0 - cf_dupD1*tmp63*vetU1 - cf_dupD2*tmp63*vetU2 - 1.0/6.0*tmp3 + (1.0/6.0)*vetU_dD00 + (1.0/6.0)*vetU_dD11 + (1.0/6.0)*vetU_dD22) + cf_dKOD0*diss_strength + cf_dKOD1*diss_strength + cf_dKOD2*diss_strength;
hDD00_rhsGF_.ptr[hDD00_rhsGF_.offset(i0, i1, i2)] = diss_strength*hDD_dKOD000 + diss_strength*hDD_dKOD001 + diss_strength*hDD_dKOD002 + hDD_dupD000*vetU0 + hDD_dupD001*vetU1 + hDD_dupD002*vetU2 + tmp0*tmp13 - tmp27 + tmp338*vetU_dD20 + tmp339*((2.0/3.0)*hDD00 + 2.0/3.0) + tmp7*vetU_dD10;
hDD01_rhsGF_.ptr[hDD01_rhsGF_.offset(i0, i1, i2)] = diss_strength*hDD_dKOD010 + diss_strength*hDD_dKOD011 + diss_strength*hDD_dKOD012 + hDD01*tmp340 + hDD01*vetU_dD00 + hDD01*vetU_dD11 + hDD02*vetU_dD21 + hDD12*vetU_dD20 + hDD_dupD010*vetU0 + hDD_dupD011*vetU1 + hDD_dupD012*vetU2 + tmp11*vetU_dD10 + tmp13*vetU_dD01 - tmp31;
hDD02_rhsGF_.ptr[hDD02_rhsGF_.offset(i0, i1, i2)] = diss_strength*hDD_dKOD020 + diss_strength*hDD_dKOD021 + diss_strength*hDD_dKOD022 + hDD01*vetU_dD12 + hDD02*tmp340 + hDD02*vetU_dD00 + hDD02*vetU_dD22 + hDD12*vetU_dD10 + hDD_dupD020*vetU0 + hDD_dupD021*vetU1 + hDD_dupD022*vetU2 + tmp13*vetU_dD02 - tmp36 + tmp9*vetU_dD20;
hDD11_rhsGF_.ptr[hDD11_rhsGF_.offset(i0, i1, i2)] = diss_strength*hDD_dKOD110 + diss_strength*hDD_dKOD111 + diss_strength*hDD_dKOD112 + hDD_dupD110*vetU0 + hDD_dupD111*vetU1 + hDD_dupD112*vetU2 + tmp11*tmp189 - tmp191 + tmp339*((2.0/3.0)*hDD11 + 2.0/3.0) + tmp341*vetU_dD21 + tmp7*vetU_dD01;
hDD12_rhsGF_.ptr[hDD12_rhsGF_.offset(i0, i1, i2)] = diss_strength*hDD_dKOD120 + diss_strength*hDD_dKOD121 + diss_strength*hDD_dKOD122 + hDD01*vetU_dD02 + hDD02*vetU_dD01 + hDD12*tmp340 + hDD12*vetU_dD11 + hDD12*vetU_dD22 + hDD_dupD120*vetU0 + hDD_dupD121*vetU1 + hDD_dupD122*vetU2 + tmp11*vetU_dD12 - tmp192 + tmp9*vetU_dD21;
hDD22_rhsGF_.ptr[hDD22_rhsGF_.offset(i0, i1, i2)] = diss_strength*hDD_dKOD220 + diss_strength*hDD_dKOD221 + diss_strength*hDD_dKOD222 + hDD_dupD220*vetU0 + hDD_dupD221*vetU1 + hDD_dupD222*vetU2 + tmp193*tmp9 - tmp194 + tmp338*vetU_dD02 + tmp339*((2.0/3.0)*hDD22 + 2.0/3.0) + tmp341*vetU_dD12;
lambdaU0_rhsGF_.ptr[lambdaU0_rhsGF_.offset(i0, i1, i2)] = diss_strength*lambdaU_dKOD00 + diss_strength*lambdaU_dKOD01 + diss_strength*lambdaU_dKOD02 + lambdaU_dupD00*vetU0 + lambdaU_dupD01*vetU1 + lambdaU_dupD02*vetU2 + tmp114*vetU_dDD001 + tmp18*tmp343 - tmp195 - tmp196 - tmp197 - tmp201*tmp296 - tmp202*tmp295 + tmp203 + tmp204 + tmp205 - 4.0/3.0*tmp211 + tmp229 + tmp230*tmp345 + tmp236*tmp346 + tmp24*tmp344 + tmp250*tmp347 + tmp271 + tmp278 + tmp279*tmp349 + tmp284*tmp350 + tmp287*tmp351 + tmp300 + tmp32*tmp342 + tmp68*vetU_dDD012 + tmp90*vetU_dDD002;
lambdaU1_rhsGF_.ptr[lambdaU1_rhsGF_.offset(i0, i1, i2)] = diss_strength*lambdaU_dKOD10 + diss_strength*lambdaU_dKOD11 + diss_strength*lambdaU_dKOD12 + lambdaU_dupD10*vetU0 + lambdaU_dupD11*vetU1 + lambdaU_dupD12*vetU2 + tmp114*vetU_dDD101 + tmp18*tmp344 - tmp202*tmp294 - tmp210*tmp296 + tmp30*tmp343 - tmp301 - tmp302 - tmp303 + tmp304 + tmp305 + tmp306 - 4.0/3.0*tmp307 + tmp310 + tmp311*tmp345 + tmp312*tmp346 + tmp313*tmp347 + tmp314 + tmp316 + tmp317*tmp349 + tmp318*tmp350 + tmp319*tmp351 + tmp320 + tmp33*tmp342 + tmp68*vetU_dDD112 + tmp90*vetU_dDD102;
lambdaU2_rhsGF_.ptr[lambdaU2_rhsGF_.offset(i0, i1, i2)] = diss_strength*lambdaU_dKOD20 + diss_strength*lambdaU_dKOD21 + diss_strength*lambdaU_dKOD22 + lambdaU_dupD20*vetU0 + lambdaU_dupD21*vetU1 + lambdaU_dupD22*vetU2 + tmp114*vetU_dDD201 - tmp201*tmp294 - tmp210*tmp295 + tmp32*tmp344 - tmp321 - tmp322 - tmp323 + tmp324 + tmp325 + tmp326 - 4.0/3.0*tmp327 + tmp328 + tmp329*tmp345 + tmp33*tmp343 + tmp330*tmp346 + tmp331*tmp347 + tmp332 + tmp333 + tmp334*tmp349 + tmp335*tmp350 + tmp336*tmp351 + tmp337 + tmp342*tmp35 + tmp68*vetU_dDD212 + tmp90*vetU_dDD202;
trK_rhsGF_.ptr[trK_rhsGF_.offset(i0, i1, i2)] = aDD00*tmp234 + aDD11*tmp248 + aDD22*tmp260 + (1.0/3.0)*alpha*((trK)*(trK)) + diss_strength*trK_dKOD0 + diss_strength*trK_dKOD1 + diss_strength*trK_dKOD2 + tmp192*tmp292 - tmp24*tmp37*(alpha_dDD00 - tmp157 + tmp166 + tmp171 + tmp176) + tmp282*tmp31 + tmp285*tmp36 - tmp30*tmp37*(alpha_dDD11 - tmp136 + tmp145 + tmp150 + tmp155) - tmp35*tmp37*(alpha_dDD22 - tmp115 + tmp124 + tmp129 + tmp134) - tmp353*(tmp352 + tmp40) - tmp353*(tmp352 + tmp42) - tmp355*(tmp354 + tmp69) - tmp355*(tmp354 + tmp70) - tmp357*(tmp356 + tmp92) - tmp357*(tmp356 + tmp94) + trK_dupD0*vetU0 + trK_dupD1*vetU1 + trK_dupD2*vetU2;
vetU0_rhsGF_.ptr[vetU0_rhsGF_.offset(i0, i1, i2)] = betU0 + diss_strength*vetU_dKOD00 + diss_strength*vetU_dKOD01 + diss_strength*vetU_dKOD02 + vetU0*vetU_dupD00 + vetU1*vetU_dupD01 + vetU2*vetU_dupD02;
vetU1_rhsGF_.ptr[vetU1_rhsGF_.offset(i0, i1, i2)] = betU1 + diss_strength*vetU_dKOD10 + diss_strength*vetU_dKOD11 + diss_strength*vetU_dKOD12 + vetU0*vetU_dupD10 + vetU1*vetU_dupD11 + vetU2*vetU_dupD12;
vetU2_rhsGF_.ptr[vetU2_rhsGF_.offset(i0, i1, i2)] = betU2 + diss_strength*vetU_dKOD20 + diss_strength*vetU_dKOD21 + diss_strength*vetU_dKOD22 + vetU0*vetU_dupD20 + vetU1*vetU_dupD21 + vetU2*vetU_dupD22;
}
});
Loop::loop_int<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
{
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 2: Read from main memory and compute finite difference stencils:
*/
const double hDD00_i0_i1m2_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2-2)];
const double hDD00_i0_i1m1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2-2)];
const double hDD00_i0m2_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2-2)];
const double hDD00_i0m1_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2-2)];
const double hDD00_i0_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-2)];
const double hDD00_i0p1_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2-2)];
const double hDD00_i0p2_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2-2)];
const double hDD00_i0_i1p1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2-2)];
const double hDD00_i0_i1p2_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2-2)];
const double hDD00_i0_i1m2_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2-1)];
const double hDD00_i0_i1m1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2-1)];
const double hDD00_i0m2_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2-1)];
const double hDD00_i0m1_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2-1)];
const double hDD00_i0_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-1)];
const double hDD00_i0p1_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2-1)];
const double hDD00_i0p2_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2-1)];
const double hDD00_i0_i1p1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2-1)];
const double hDD00_i0_i1p2_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2-1)];
const double hDD00_i0m2_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1-2,i2)];
const double hDD00_i0m1_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1-2,i2)];
const double hDD00_i0_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2)];
const double hDD00_i0p1_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1-2,i2)];
const double hDD00_i0p2_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1-2,i2)];
const double hDD00_i0m2_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1-1,i2)];
const double hDD00_i0m1_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1-1,i2)];
const double hDD00_i0_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2)];
const double hDD00_i0p1_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1-1,i2)];
const double hDD00_i0p2_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1-1,i2)];
const double hDD00_i0m2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2)];
const double hDD00_i0m1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2)];
const double hDD00 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2)];
const double hDD00_i0p1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2)];
const double hDD00_i0p2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2)];
const double hDD00_i0m2_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1+1,i2)];
const double hDD00_i0m1_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1+1,i2)];
const double hDD00_i0_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2)];
const double hDD00_i0p1_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1+1,i2)];
const double hDD00_i0p2_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1+1,i2)];
const double hDD00_i0m2_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1+2,i2)];
const double hDD00_i0m1_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1+2,i2)];
const double hDD00_i0_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2)];
const double hDD00_i0p1_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1+2,i2)];
const double hDD00_i0p2_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1+2,i2)];
const double hDD00_i0_i1m2_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2+1)];
const double hDD00_i0_i1m1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2+1)];
const double hDD00_i0m2_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2+1)];
const double hDD00_i0m1_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2+1)];
const double hDD00_i0_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+1)];
const double hDD00_i0p1_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2+1)];
const double hDD00_i0p2_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2+1)];
const double hDD00_i0_i1p1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2+1)];
const double hDD00_i0_i1p2_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2+1)];
const double hDD00_i0_i1m2_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2+2)];
const double hDD00_i0_i1m1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2+2)];
const double hDD00_i0m2_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2+2)];
const double hDD00_i0m1_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2+2)];
const double hDD00_i0_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+2)];
const double hDD00_i0p1_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2+2)];
const double hDD00_i0p2_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2+2)];
const double hDD00_i0_i1p1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2+2)];
const double hDD00_i0_i1p2_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2+2)];
const double hDD01_i0_i1m2_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2-2)];
const double hDD01_i0_i1m1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2-2)];
const double hDD01_i0m2_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2-2)];
const double hDD01_i0m1_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2-2)];
const double hDD01_i0_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-2)];
const double hDD01_i0p1_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2-2)];
const double hDD01_i0p2_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2-2)];
const double hDD01_i0_i1p1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2-2)];
const double hDD01_i0_i1p2_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2-2)];
const double hDD01_i0_i1m2_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2-1)];
const double hDD01_i0_i1m1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2-1)];
const double hDD01_i0m2_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2-1)];
const double hDD01_i0m1_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2-1)];
const double hDD01_i0_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-1)];
const double hDD01_i0p1_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2-1)];
const double hDD01_i0p2_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2-1)];
const double hDD01_i0_i1p1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2-1)];
const double hDD01_i0_i1p2_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2-1)];
const double hDD01_i0m2_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1-2,i2)];
const double hDD01_i0m1_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1-2,i2)];
const double hDD01_i0_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2)];
const double hDD01_i0p1_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1-2,i2)];
const double hDD01_i0p2_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1-2,i2)];
const double hDD01_i0m2_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1-1,i2)];
const double hDD01_i0m1_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1-1,i2)];
const double hDD01_i0_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2)];
const double hDD01_i0p1_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1-1,i2)];
const double hDD01_i0p2_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1-1,i2)];
const double hDD01_i0m2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2)];
const double hDD01_i0m1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2)];
const double hDD01 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2)];
const double hDD01_i0p1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2)];
const double hDD01_i0p2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2)];
const double hDD01_i0m2_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1+1,i2)];
const double hDD01_i0m1_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1+1,i2)];
const double hDD01_i0_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2)];
const double hDD01_i0p1_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1+1,i2)];
const double hDD01_i0p2_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1+1,i2)];
const double hDD01_i0m2_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1+2,i2)];
const double hDD01_i0m1_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1+2,i2)];
const double hDD01_i0_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2)];
const double hDD01_i0p1_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1+2,i2)];
const double hDD01_i0p2_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1+2,i2)];
const double hDD01_i0_i1m2_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2+1)];
const double hDD01_i0_i1m1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2+1)];
const double hDD01_i0m2_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2+1)];
const double hDD01_i0m1_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2+1)];
const double hDD01_i0_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+1)];
const double hDD01_i0p1_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2+1)];
const double hDD01_i0p2_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2+1)];
const double hDD01_i0_i1p1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2+1)];
const double hDD01_i0_i1p2_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2+1)];
const double hDD01_i0_i1m2_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2+2)];
const double hDD01_i0_i1m1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2+2)];
const double hDD01_i0m2_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2+2)];
const double hDD01_i0m1_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2+2)];
const double hDD01_i0_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+2)];
const double hDD01_i0p1_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2+2)];
const double hDD01_i0p2_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2+2)];
const double hDD01_i0_i1p1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2+2)];
const double hDD01_i0_i1p2_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2+2)];
const double hDD02_i0_i1m2_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2-2)];
const double hDD02_i0_i1m1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2-2)];
const double hDD02_i0m2_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2-2)];
const double hDD02_i0m1_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2-2)];
const double hDD02_i0_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-2)];
const double hDD02_i0p1_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2-2)];
const double hDD02_i0p2_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2-2)];
const double hDD02_i0_i1p1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2-2)];
const double hDD02_i0_i1p2_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2-2)];
const double hDD02_i0_i1m2_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2-1)];
const double hDD02_i0_i1m1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2-1)];
const double hDD02_i0m2_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2-1)];
const double hDD02_i0m1_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2-1)];
const double hDD02_i0_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-1)];
const double hDD02_i0p1_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2-1)];
const double hDD02_i0p2_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2-1)];
const double hDD02_i0_i1p1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2-1)];
const double hDD02_i0_i1p2_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2-1)];
const double hDD02_i0m2_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1-2,i2)];
const double hDD02_i0m1_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1-2,i2)];
const double hDD02_i0_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2)];
const double hDD02_i0p1_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1-2,i2)];
const double hDD02_i0p2_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1-2,i2)];
const double hDD02_i0m2_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1-1,i2)];
const double hDD02_i0m1_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1-1,i2)];
const double hDD02_i0_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2)];
const double hDD02_i0p1_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1-1,i2)];
const double hDD02_i0p2_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1-1,i2)];
const double hDD02_i0m2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2)];
const double hDD02_i0m1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2)];
const double hDD02 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2)];
const double hDD02_i0p1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2)];
const double hDD02_i0p2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2)];
const double hDD02_i0m2_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1+1,i2)];
const double hDD02_i0m1_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1+1,i2)];
const double hDD02_i0_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2)];
const double hDD02_i0p1_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1+1,i2)];
const double hDD02_i0p2_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1+1,i2)];
const double hDD02_i0m2_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1+2,i2)];
const double hDD02_i0m1_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1+2,i2)];
const double hDD02_i0_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2)];
const double hDD02_i0p1_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1+2,i2)];
const double hDD02_i0p2_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1+2,i2)];
const double hDD02_i0_i1m2_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2+1)];
const double hDD02_i0_i1m1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2+1)];
const double hDD02_i0m2_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2+1)];
const double hDD02_i0m1_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2+1)];
const double hDD02_i0_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+1)];
const double hDD02_i0p1_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2+1)];
const double hDD02_i0p2_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2+1)];
const double hDD02_i0_i1p1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2+1)];
const double hDD02_i0_i1p2_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2+1)];
const double hDD02_i0_i1m2_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2+2)];
const double hDD02_i0_i1m1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2+2)];
const double hDD02_i0m2_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2+2)];
const double hDD02_i0m1_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2+2)];
const double hDD02_i0_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+2)];
const double hDD02_i0p1_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2+2)];
const double hDD02_i0p2_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2+2)];
const double hDD02_i0_i1p1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2+2)];
const double hDD02_i0_i1p2_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2+2)];
const double hDD11_i0_i1m2_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2-2)];
const double hDD11_i0_i1m1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2-2)];
const double hDD11_i0m2_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2-2)];
const double hDD11_i0m1_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2-2)];
const double hDD11_i0_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-2)];
const double hDD11_i0p1_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2-2)];
const double hDD11_i0p2_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2-2)];
const double hDD11_i0_i1p1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2-2)];
const double hDD11_i0_i1p2_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2-2)];
const double hDD11_i0_i1m2_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2-1)];
const double hDD11_i0_i1m1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2-1)];
const double hDD11_i0m2_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2-1)];
const double hDD11_i0m1_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2-1)];
const double hDD11_i0_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-1)];
const double hDD11_i0p1_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2-1)];
const double hDD11_i0p2_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2-1)];
const double hDD11_i0_i1p1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2-1)];
const double hDD11_i0_i1p2_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2-1)];
const double hDD11_i0m2_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1-2,i2)];
const double hDD11_i0m1_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1-2,i2)];
const double hDD11_i0_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2)];
const double hDD11_i0p1_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1-2,i2)];
const double hDD11_i0p2_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1-2,i2)];
const double hDD11_i0m2_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1-1,i2)];
const double hDD11_i0m1_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1-1,i2)];
const double hDD11_i0_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2)];
const double hDD11_i0p1_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1-1,i2)];
const double hDD11_i0p2_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1-1,i2)];
const double hDD11_i0m2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2)];
const double hDD11_i0m1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2)];
const double hDD11 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2)];
const double hDD11_i0p1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2)];
const double hDD11_i0p2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2)];
const double hDD11_i0m2_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1+1,i2)];
const double hDD11_i0m1_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1+1,i2)];
const double hDD11_i0_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2)];
const double hDD11_i0p1_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1+1,i2)];
const double hDD11_i0p2_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1+1,i2)];
const double hDD11_i0m2_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1+2,i2)];
const double hDD11_i0m1_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1+2,i2)];
const double hDD11_i0_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2)];
const double hDD11_i0p1_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1+2,i2)];
const double hDD11_i0p2_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1+2,i2)];
const double hDD11_i0_i1m2_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2+1)];
const double hDD11_i0_i1m1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2+1)];
const double hDD11_i0m2_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2+1)];
const double hDD11_i0m1_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2+1)];
const double hDD11_i0_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+1)];
const double hDD11_i0p1_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2+1)];
const double hDD11_i0p2_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2+1)];
const double hDD11_i0_i1p1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2+1)];
const double hDD11_i0_i1p2_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2+1)];
const double hDD11_i0_i1m2_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2+2)];
const double hDD11_i0_i1m1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2+2)];
const double hDD11_i0m2_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2+2)];
const double hDD11_i0m1_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2+2)];
const double hDD11_i0_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+2)];
const double hDD11_i0p1_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2+2)];
const double hDD11_i0p2_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2+2)];
const double hDD11_i0_i1p1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2+2)];
const double hDD11_i0_i1p2_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2+2)];
const double hDD12_i0_i1m2_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2-2)];
const double hDD12_i0_i1m1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2-2)];
const double hDD12_i0m2_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2-2)];
const double hDD12_i0m1_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2-2)];
const double hDD12_i0_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-2)];
const double hDD12_i0p1_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2-2)];
const double hDD12_i0p2_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2-2)];
const double hDD12_i0_i1p1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2-2)];
const double hDD12_i0_i1p2_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2-2)];
const double hDD12_i0_i1m2_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2-1)];
const double hDD12_i0_i1m1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2-1)];
const double hDD12_i0m2_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2-1)];
const double hDD12_i0m1_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2-1)];
const double hDD12_i0_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-1)];
const double hDD12_i0p1_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2-1)];
const double hDD12_i0p2_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2-1)];
const double hDD12_i0_i1p1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2-1)];
const double hDD12_i0_i1p2_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2-1)];
const double hDD12_i0m2_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1-2,i2)];
const double hDD12_i0m1_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1-2,i2)];
const double hDD12_i0_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2)];
const double hDD12_i0p1_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1-2,i2)];
const double hDD12_i0p2_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1-2,i2)];
const double hDD12_i0m2_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1-1,i2)];
const double hDD12_i0m1_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1-1,i2)];
const double hDD12_i0_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2)];
const double hDD12_i0p1_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1-1,i2)];
const double hDD12_i0p2_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1-1,i2)];
const double hDD12_i0m2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2)];
const double hDD12_i0m1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2)];
const double hDD12 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2)];
const double hDD12_i0p1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2)];
const double hDD12_i0p2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2)];
const double hDD12_i0m2_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1+1,i2)];
const double hDD12_i0m1_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1+1,i2)];
const double hDD12_i0_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2)];
const double hDD12_i0p1_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1+1,i2)];
const double hDD12_i0p2_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1+1,i2)];
const double hDD12_i0m2_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1+2,i2)];
const double hDD12_i0m1_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1+2,i2)];
const double hDD12_i0_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2)];
const double hDD12_i0p1_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1+2,i2)];
const double hDD12_i0p2_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1+2,i2)];
const double hDD12_i0_i1m2_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2+1)];
const double hDD12_i0_i1m1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2+1)];
const double hDD12_i0m2_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2+1)];
const double hDD12_i0m1_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2+1)];
const double hDD12_i0_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+1)];
const double hDD12_i0p1_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2+1)];
const double hDD12_i0p2_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2+1)];
const double hDD12_i0_i1p1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2+1)];
const double hDD12_i0_i1p2_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2+1)];
const double hDD12_i0_i1m2_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2+2)];
const double hDD12_i0_i1m1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2+2)];
const double hDD12_i0m2_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2+2)];
const double hDD12_i0m1_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2+2)];
const double hDD12_i0_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+2)];
const double hDD12_i0p1_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2+2)];
const double hDD12_i0p2_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2+2)];
const double hDD12_i0_i1p1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2+2)];
const double hDD12_i0_i1p2_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2+2)];
const double hDD22_i0_i1m2_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2-2)];
const double hDD22_i0_i1m1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2-2)];
const double hDD22_i0m2_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2-2)];
const double hDD22_i0m1_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2-2)];
const double hDD22_i0_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-2)];
const double hDD22_i0p1_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2-2)];
const double hDD22_i0p2_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2-2)];
const double hDD22_i0_i1p1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2-2)];
const double hDD22_i0_i1p2_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2-2)];
const double hDD22_i0_i1m2_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2-1)];
const double hDD22_i0_i1m1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2-1)];
const double hDD22_i0m2_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2-1)];
const double hDD22_i0m1_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2-1)];
const double hDD22_i0_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-1)];
const double hDD22_i0p1_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2-1)];
const double hDD22_i0p2_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2-1)];
const double hDD22_i0_i1p1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2-1)];
const double hDD22_i0_i1p2_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2-1)];
const double hDD22_i0m2_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1-2,i2)];
const double hDD22_i0m1_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1-2,i2)];
const double hDD22_i0_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2)];
const double hDD22_i0p1_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1-2,i2)];
const double hDD22_i0p2_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1-2,i2)];
const double hDD22_i0m2_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1-1,i2)];
const double hDD22_i0m1_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1-1,i2)];
const double hDD22_i0_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2)];
const double hDD22_i0p1_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1-1,i2)];
const double hDD22_i0p2_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1-1,i2)];
const double hDD22_i0m2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2)];
const double hDD22_i0m1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2)];
const double hDD22 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2)];
const double hDD22_i0p1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2)];
const double hDD22_i0p2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2)];
const double hDD22_i0m2_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1+1,i2)];
const double hDD22_i0m1_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1+1,i2)];
const double hDD22_i0_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2)];
const double hDD22_i0p1_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1+1,i2)];
const double hDD22_i0p2_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1+1,i2)];
const double hDD22_i0m2_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1+2,i2)];
const double hDD22_i0m1_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1+2,i2)];
const double hDD22_i0_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2)];
const double hDD22_i0p1_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1+2,i2)];
const double hDD22_i0p2_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1+2,i2)];
const double hDD22_i0_i1m2_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2+1)];
const double hDD22_i0_i1m1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2+1)];
const double hDD22_i0m2_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2+1)];
const double hDD22_i0m1_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2+1)];
const double hDD22_i0_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+1)];
const double hDD22_i0p1_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2+1)];
const double hDD22_i0p2_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2+1)];
const double hDD22_i0_i1p1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2+1)];
const double hDD22_i0_i1p2_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2+1)];
const double hDD22_i0_i1m2_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2+2)];
const double hDD22_i0_i1m1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2+2)];
const double hDD22_i0m2_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2+2)];
const double hDD22_i0m1_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2+2)];
const double hDD22_i0_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+2)];
const double hDD22_i0p1_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2+2)];
const double hDD22_i0p2_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2+2)];
const double hDD22_i0_i1p1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2+2)];
const double hDD22_i0_i1p2_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2+2)];
const double lambdaU0_i0_i1_i2m2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-2)];
const double lambdaU0_i0_i1_i2m1 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-1)];
const double lambdaU0_i0_i1m2_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-2,i2)];
const double lambdaU0_i0_i1m1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-1,i2)];
const double lambdaU0_i0m2_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-2,i1,i2)];
const double lambdaU0_i0m1_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-1,i1,i2)];
const double lambdaU0_i0p1_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+1,i1,i2)];
const double lambdaU0_i0p2_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+2,i1,i2)];
const double lambdaU0_i0_i1p1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+1,i2)];
const double lambdaU0_i0_i1p2_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+2,i2)];
const double lambdaU0_i0_i1_i2p1 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+1)];
const double lambdaU0_i0_i1_i2p2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+2)];
const double lambdaU1_i0_i1_i2m2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-2)];
const double lambdaU1_i0_i1_i2m1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-1)];
const double lambdaU1_i0_i1m2_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-2,i2)];
const double lambdaU1_i0_i1m1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-1,i2)];
const double lambdaU1_i0m2_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-2,i1,i2)];
const double lambdaU1_i0m1_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-1,i1,i2)];
const double lambdaU1_i0p1_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+1,i1,i2)];
const double lambdaU1_i0p2_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+2,i1,i2)];
const double lambdaU1_i0_i1p1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+1,i2)];
const double lambdaU1_i0_i1p2_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+2,i2)];
const double lambdaU1_i0_i1_i2p1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+1)];
const double lambdaU1_i0_i1_i2p2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+2)];
const double lambdaU2_i0_i1_i2m2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-2)];
const double lambdaU2_i0_i1_i2m1 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-1)];
const double lambdaU2_i0_i1m2_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-2,i2)];
const double lambdaU2_i0_i1m1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-1,i2)];
const double lambdaU2_i0m2_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-2,i1,i2)];
const double lambdaU2_i0m1_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-1,i1,i2)];
const double lambdaU2_i0p1_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+1,i1,i2)];
const double lambdaU2_i0p2_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+2,i1,i2)];
const double lambdaU2_i0_i1p1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+1,i2)];
const double lambdaU2_i0_i1p2_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+2,i2)];
const double lambdaU2_i0_i1_i2p1 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+1)];
const double lambdaU2_i0_i1_i2p2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+2)];
const double tmpFD0 = (1.0/12.0)*hDD00_i0m2_i1_i2;
const double tmpFD1 = -1.0/12.0*hDD00_i0p2_i1_i2;
const double tmpFD2 = (1.0/12.0)*hDD00_i0_i1m2_i2;
const double tmpFD3 = -1.0/12.0*hDD00_i0_i1p2_i2;
const double tmpFD4 = (1.0/12.0)*hDD00_i0_i1_i2m2;
const double tmpFD5 = -1.0/12.0*hDD00_i0_i1_i2p2;
const double tmpFD6 = (1.0/12.0)*hDD01_i0m2_i1_i2;
const double tmpFD7 = -1.0/12.0*hDD01_i0p2_i1_i2;
const double tmpFD8 = (1.0/12.0)*hDD01_i0_i1m2_i2;
const double tmpFD9 = -1.0/12.0*hDD01_i0_i1p2_i2;
const double tmpFD10 = (1.0/12.0)*hDD01_i0_i1_i2m2;
const double tmpFD11 = -1.0/12.0*hDD01_i0_i1_i2p2;
const double tmpFD12 = (1.0/12.0)*hDD02_i0m2_i1_i2;
const double tmpFD13 = -1.0/12.0*hDD02_i0p2_i1_i2;
const double tmpFD14 = (1.0/12.0)*hDD02_i0_i1m2_i2;
const double tmpFD15 = -1.0/12.0*hDD02_i0_i1p2_i2;
const double tmpFD16 = (1.0/12.0)*hDD02_i0_i1_i2m2;
const double tmpFD17 = -1.0/12.0*hDD02_i0_i1_i2p2;
const double tmpFD18 = (1.0/12.0)*hDD11_i0m2_i1_i2;
const double tmpFD19 = -1.0/12.0*hDD11_i0p2_i1_i2;
const double tmpFD20 = (1.0/12.0)*hDD11_i0_i1m2_i2;
const double tmpFD21 = -1.0/12.0*hDD11_i0_i1p2_i2;
const double tmpFD22 = (1.0/12.0)*hDD11_i0_i1_i2m2;
const double tmpFD23 = -1.0/12.0*hDD11_i0_i1_i2p2;
const double tmpFD24 = (1.0/12.0)*hDD12_i0m2_i1_i2;
const double tmpFD25 = -1.0/12.0*hDD12_i0p2_i1_i2;
const double tmpFD26 = (1.0/12.0)*hDD12_i0_i1m2_i2;
const double tmpFD27 = -1.0/12.0*hDD12_i0_i1p2_i2;
const double tmpFD28 = (1.0/12.0)*hDD12_i0_i1_i2m2;
const double tmpFD29 = -1.0/12.0*hDD12_i0_i1_i2p2;
const double tmpFD30 = (1.0/12.0)*hDD22_i0m2_i1_i2;
const double tmpFD31 = -1.0/12.0*hDD22_i0p2_i1_i2;
const double tmpFD32 = (1.0/12.0)*hDD22_i0_i1m2_i2;
const double tmpFD33 = -1.0/12.0*hDD22_i0_i1p2_i2;
const double tmpFD34 = (1.0/12.0)*hDD22_i0_i1_i2m2;
const double tmpFD35 = -1.0/12.0*hDD22_i0_i1_i2p2;
const double tmpFD36 = ((invdx0)*(invdx0));
const double tmpFD37 = -5.0/2.0*hDD00;
const double tmpFD38 = invdx0*invdx1;
const double tmpFD39 = invdx0*invdx2;
const double tmpFD40 = ((invdx1)*(invdx1));
const double tmpFD41 = invdx1*invdx2;
const double tmpFD42 = ((invdx2)*(invdx2));
const double tmpFD43 = -5.0/2.0*hDD01;
const double tmpFD44 = -5.0/2.0*hDD02;
const double tmpFD45 = -5.0/2.0*hDD11;
const double tmpFD46 = -5.0/2.0*hDD12;
const double tmpFD47 = -5.0/2.0*hDD22;
const double hDD_dD000 = invdx0*(-2.0/3.0*hDD00_i0m1_i1_i2 + (2.0/3.0)*hDD00_i0p1_i1_i2 + tmpFD0 + tmpFD1);
const double hDD_dD001 = invdx1*(-2.0/3.0*hDD00_i0_i1m1_i2 + (2.0/3.0)*hDD00_i0_i1p1_i2 + tmpFD2 + tmpFD3);
const double hDD_dD002 = invdx2*(-2.0/3.0*hDD00_i0_i1_i2m1 + (2.0/3.0)*hDD00_i0_i1_i2p1 + tmpFD4 + tmpFD5);
const double hDD_dD010 = invdx0*(-2.0/3.0*hDD01_i0m1_i1_i2 + (2.0/3.0)*hDD01_i0p1_i1_i2 + tmpFD6 + tmpFD7);
const double hDD_dD011 = invdx1*(-2.0/3.0*hDD01_i0_i1m1_i2 + (2.0/3.0)*hDD01_i0_i1p1_i2 + tmpFD8 + tmpFD9);
const double hDD_dD012 = invdx2*(-2.0/3.0*hDD01_i0_i1_i2m1 + (2.0/3.0)*hDD01_i0_i1_i2p1 + tmpFD10 + tmpFD11);
const double hDD_dD020 = invdx0*(-2.0/3.0*hDD02_i0m1_i1_i2 + (2.0/3.0)*hDD02_i0p1_i1_i2 + tmpFD12 + tmpFD13);
const double hDD_dD021 = invdx1*(-2.0/3.0*hDD02_i0_i1m1_i2 + (2.0/3.0)*hDD02_i0_i1p1_i2 + tmpFD14 + tmpFD15);
const double hDD_dD022 = invdx2*(-2.0/3.0*hDD02_i0_i1_i2m1 + (2.0/3.0)*hDD02_i0_i1_i2p1 + tmpFD16 + tmpFD17);
const double hDD_dD110 = invdx0*(-2.0/3.0*hDD11_i0m1_i1_i2 + (2.0/3.0)*hDD11_i0p1_i1_i2 + tmpFD18 + tmpFD19);
const double hDD_dD111 = invdx1*(-2.0/3.0*hDD11_i0_i1m1_i2 + (2.0/3.0)*hDD11_i0_i1p1_i2 + tmpFD20 + tmpFD21);
const double hDD_dD112 = invdx2*(-2.0/3.0*hDD11_i0_i1_i2m1 + (2.0/3.0)*hDD11_i0_i1_i2p1 + tmpFD22 + tmpFD23);
const double hDD_dD120 = invdx0*(-2.0/3.0*hDD12_i0m1_i1_i2 + (2.0/3.0)*hDD12_i0p1_i1_i2 + tmpFD24 + tmpFD25);
const double hDD_dD121 = invdx1*(-2.0/3.0*hDD12_i0_i1m1_i2 + (2.0/3.0)*hDD12_i0_i1p1_i2 + tmpFD26 + tmpFD27);
const double hDD_dD122 = invdx2*(-2.0/3.0*hDD12_i0_i1_i2m1 + (2.0/3.0)*hDD12_i0_i1_i2p1 + tmpFD28 + tmpFD29);
const double hDD_dD220 = invdx0*(-2.0/3.0*hDD22_i0m1_i1_i2 + (2.0/3.0)*hDD22_i0p1_i1_i2 + tmpFD30 + tmpFD31);
const double hDD_dD221 = invdx1*(-2.0/3.0*hDD22_i0_i1m1_i2 + (2.0/3.0)*hDD22_i0_i1p1_i2 + tmpFD32 + tmpFD33);
const double hDD_dD222 = invdx2*(-2.0/3.0*hDD22_i0_i1_i2m1 + (2.0/3.0)*hDD22_i0_i1_i2p1 + tmpFD34 + tmpFD35);
const double hDD_dDD0000 = tmpFD36*((4.0/3.0)*hDD00_i0m1_i1_i2 + (4.0/3.0)*hDD00_i0p1_i1_i2 - tmpFD0 + tmpFD1 + tmpFD37);
const double hDD_dDD0001 = tmpFD38*((4.0/9.0)*hDD00_i0m1_i1m1_i2 - 1.0/18.0*hDD00_i0m1_i1m2_i2 - 4.0/9.0*hDD00_i0m1_i1p1_i2 + (1.0/18.0)*hDD00_i0m1_i1p2_i2 - 1.0/18.0*hDD00_i0m2_i1m1_i2 + (1.0/144.0)*hDD00_i0m2_i1m2_i2 + (1.0/18.0)*hDD00_i0m2_i1p1_i2 - 1.0/144.0*hDD00_i0m2_i1p2_i2 - 4.0/9.0*hDD00_i0p1_i1m1_i2 + (1.0/18.0)*hDD00_i0p1_i1m2_i2 + (4.0/9.0)*hDD00_i0p1_i1p1_i2 - 1.0/18.0*hDD00_i0p1_i1p2_i2 + (1.0/18.0)*hDD00_i0p2_i1m1_i2 - 1.0/144.0*hDD00_i0p2_i1m2_i2 - 1.0/18.0*hDD00_i0p2_i1p1_i2 + (1.0/144.0)*hDD00_i0p2_i1p2_i2);
const double hDD_dDD0002 = tmpFD39*((4.0/9.0)*hDD00_i0m1_i1_i2m1 - 1.0/18.0*hDD00_i0m1_i1_i2m2 - 4.0/9.0*hDD00_i0m1_i1_i2p1 + (1.0/18.0)*hDD00_i0m1_i1_i2p2 - 1.0/18.0*hDD00_i0m2_i1_i2m1 + (1.0/144.0)*hDD00_i0m2_i1_i2m2 + (1.0/18.0)*hDD00_i0m2_i1_i2p1 - 1.0/144.0*hDD00_i0m2_i1_i2p2 - 4.0/9.0*hDD00_i0p1_i1_i2m1 + (1.0/18.0)*hDD00_i0p1_i1_i2m2 + (4.0/9.0)*hDD00_i0p1_i1_i2p1 - 1.0/18.0*hDD00_i0p1_i1_i2p2 + (1.0/18.0)*hDD00_i0p2_i1_i2m1 - 1.0/144.0*hDD00_i0p2_i1_i2m2 - 1.0/18.0*hDD00_i0p2_i1_i2p1 + (1.0/144.0)*hDD00_i0p2_i1_i2p2);
const double hDD_dDD0011 = tmpFD40*((4.0/3.0)*hDD00_i0_i1m1_i2 + (4.0/3.0)*hDD00_i0_i1p1_i2 - tmpFD2 + tmpFD3 + tmpFD37);
const double hDD_dDD0012 = tmpFD41*((4.0/9.0)*hDD00_i0_i1m1_i2m1 - 1.0/18.0*hDD00_i0_i1m1_i2m2 - 4.0/9.0*hDD00_i0_i1m1_i2p1 + (1.0/18.0)*hDD00_i0_i1m1_i2p2 - 1.0/18.0*hDD00_i0_i1m2_i2m1 + (1.0/144.0)*hDD00_i0_i1m2_i2m2 + (1.0/18.0)*hDD00_i0_i1m2_i2p1 - 1.0/144.0*hDD00_i0_i1m2_i2p2 - 4.0/9.0*hDD00_i0_i1p1_i2m1 + (1.0/18.0)*hDD00_i0_i1p1_i2m2 + (4.0/9.0)*hDD00_i0_i1p1_i2p1 - 1.0/18.0*hDD00_i0_i1p1_i2p2 + (1.0/18.0)*hDD00_i0_i1p2_i2m1 - 1.0/144.0*hDD00_i0_i1p2_i2m2 - 1.0/18.0*hDD00_i0_i1p2_i2p1 + (1.0/144.0)*hDD00_i0_i1p2_i2p2);
const double hDD_dDD0022 = tmpFD42*((4.0/3.0)*hDD00_i0_i1_i2m1 + (4.0/3.0)*hDD00_i0_i1_i2p1 + tmpFD37 - tmpFD4 + tmpFD5);
const double hDD_dDD0100 = tmpFD36*((4.0/3.0)*hDD01_i0m1_i1_i2 + (4.0/3.0)*hDD01_i0p1_i1_i2 + tmpFD43 - tmpFD6 + tmpFD7);
const double hDD_dDD0101 = tmpFD38*((4.0/9.0)*hDD01_i0m1_i1m1_i2 - 1.0/18.0*hDD01_i0m1_i1m2_i2 - 4.0/9.0*hDD01_i0m1_i1p1_i2 + (1.0/18.0)*hDD01_i0m1_i1p2_i2 - 1.0/18.0*hDD01_i0m2_i1m1_i2 + (1.0/144.0)*hDD01_i0m2_i1m2_i2 + (1.0/18.0)*hDD01_i0m2_i1p1_i2 - 1.0/144.0*hDD01_i0m2_i1p2_i2 - 4.0/9.0*hDD01_i0p1_i1m1_i2 + (1.0/18.0)*hDD01_i0p1_i1m2_i2 + (4.0/9.0)*hDD01_i0p1_i1p1_i2 - 1.0/18.0*hDD01_i0p1_i1p2_i2 + (1.0/18.0)*hDD01_i0p2_i1m1_i2 - 1.0/144.0*hDD01_i0p2_i1m2_i2 - 1.0/18.0*hDD01_i0p2_i1p1_i2 + (1.0/144.0)*hDD01_i0p2_i1p2_i2);
const double hDD_dDD0102 = tmpFD39*((4.0/9.0)*hDD01_i0m1_i1_i2m1 - 1.0/18.0*hDD01_i0m1_i1_i2m2 - 4.0/9.0*hDD01_i0m1_i1_i2p1 + (1.0/18.0)*hDD01_i0m1_i1_i2p2 - 1.0/18.0*hDD01_i0m2_i1_i2m1 + (1.0/144.0)*hDD01_i0m2_i1_i2m2 + (1.0/18.0)*hDD01_i0m2_i1_i2p1 - 1.0/144.0*hDD01_i0m2_i1_i2p2 - 4.0/9.0*hDD01_i0p1_i1_i2m1 + (1.0/18.0)*hDD01_i0p1_i1_i2m2 + (4.0/9.0)*hDD01_i0p1_i1_i2p1 - 1.0/18.0*hDD01_i0p1_i1_i2p2 + (1.0/18.0)*hDD01_i0p2_i1_i2m1 - 1.0/144.0*hDD01_i0p2_i1_i2m2 - 1.0/18.0*hDD01_i0p2_i1_i2p1 + (1.0/144.0)*hDD01_i0p2_i1_i2p2);
const double hDD_dDD0111 = tmpFD40*((4.0/3.0)*hDD01_i0_i1m1_i2 + (4.0/3.0)*hDD01_i0_i1p1_i2 + tmpFD43 - tmpFD8 + tmpFD9);
const double hDD_dDD0112 = tmpFD41*((4.0/9.0)*hDD01_i0_i1m1_i2m1 - 1.0/18.0*hDD01_i0_i1m1_i2m2 - 4.0/9.0*hDD01_i0_i1m1_i2p1 + (1.0/18.0)*hDD01_i0_i1m1_i2p2 - 1.0/18.0*hDD01_i0_i1m2_i2m1 + (1.0/144.0)*hDD01_i0_i1m2_i2m2 + (1.0/18.0)*hDD01_i0_i1m2_i2p1 - 1.0/144.0*hDD01_i0_i1m2_i2p2 - 4.0/9.0*hDD01_i0_i1p1_i2m1 + (1.0/18.0)*hDD01_i0_i1p1_i2m2 + (4.0/9.0)*hDD01_i0_i1p1_i2p1 - 1.0/18.0*hDD01_i0_i1p1_i2p2 + (1.0/18.0)*hDD01_i0_i1p2_i2m1 - 1.0/144.0*hDD01_i0_i1p2_i2m2 - 1.0/18.0*hDD01_i0_i1p2_i2p1 + (1.0/144.0)*hDD01_i0_i1p2_i2p2);
const double hDD_dDD0122 = tmpFD42*((4.0/3.0)*hDD01_i0_i1_i2m1 + (4.0/3.0)*hDD01_i0_i1_i2p1 - tmpFD10 + tmpFD11 + tmpFD43);
const double hDD_dDD0200 = tmpFD36*((4.0/3.0)*hDD02_i0m1_i1_i2 + (4.0/3.0)*hDD02_i0p1_i1_i2 - tmpFD12 + tmpFD13 + tmpFD44);
const double hDD_dDD0201 = tmpFD38*((4.0/9.0)*hDD02_i0m1_i1m1_i2 - 1.0/18.0*hDD02_i0m1_i1m2_i2 - 4.0/9.0*hDD02_i0m1_i1p1_i2 + (1.0/18.0)*hDD02_i0m1_i1p2_i2 - 1.0/18.0*hDD02_i0m2_i1m1_i2 + (1.0/144.0)*hDD02_i0m2_i1m2_i2 + (1.0/18.0)*hDD02_i0m2_i1p1_i2 - 1.0/144.0*hDD02_i0m2_i1p2_i2 - 4.0/9.0*hDD02_i0p1_i1m1_i2 + (1.0/18.0)*hDD02_i0p1_i1m2_i2 + (4.0/9.0)*hDD02_i0p1_i1p1_i2 - 1.0/18.0*hDD02_i0p1_i1p2_i2 + (1.0/18.0)*hDD02_i0p2_i1m1_i2 - 1.0/144.0*hDD02_i0p2_i1m2_i2 - 1.0/18.0*hDD02_i0p2_i1p1_i2 + (1.0/144.0)*hDD02_i0p2_i1p2_i2);
const double hDD_dDD0202 = tmpFD39*((4.0/9.0)*hDD02_i0m1_i1_i2m1 - 1.0/18.0*hDD02_i0m1_i1_i2m2 - 4.0/9.0*hDD02_i0m1_i1_i2p1 + (1.0/18.0)*hDD02_i0m1_i1_i2p2 - 1.0/18.0*hDD02_i0m2_i1_i2m1 + (1.0/144.0)*hDD02_i0m2_i1_i2m2 + (1.0/18.0)*hDD02_i0m2_i1_i2p1 - 1.0/144.0*hDD02_i0m2_i1_i2p2 - 4.0/9.0*hDD02_i0p1_i1_i2m1 + (1.0/18.0)*hDD02_i0p1_i1_i2m2 + (4.0/9.0)*hDD02_i0p1_i1_i2p1 - 1.0/18.0*hDD02_i0p1_i1_i2p2 + (1.0/18.0)*hDD02_i0p2_i1_i2m1 - 1.0/144.0*hDD02_i0p2_i1_i2m2 - 1.0/18.0*hDD02_i0p2_i1_i2p1 + (1.0/144.0)*hDD02_i0p2_i1_i2p2);
const double hDD_dDD0211 = tmpFD40*((4.0/3.0)*hDD02_i0_i1m1_i2 + (4.0/3.0)*hDD02_i0_i1p1_i2 - tmpFD14 + tmpFD15 + tmpFD44);
const double hDD_dDD0212 = tmpFD41*((4.0/9.0)*hDD02_i0_i1m1_i2m1 - 1.0/18.0*hDD02_i0_i1m1_i2m2 - 4.0/9.0*hDD02_i0_i1m1_i2p1 + (1.0/18.0)*hDD02_i0_i1m1_i2p2 - 1.0/18.0*hDD02_i0_i1m2_i2m1 + (1.0/144.0)*hDD02_i0_i1m2_i2m2 + (1.0/18.0)*hDD02_i0_i1m2_i2p1 - 1.0/144.0*hDD02_i0_i1m2_i2p2 - 4.0/9.0*hDD02_i0_i1p1_i2m1 + (1.0/18.0)*hDD02_i0_i1p1_i2m2 + (4.0/9.0)*hDD02_i0_i1p1_i2p1 - 1.0/18.0*hDD02_i0_i1p1_i2p2 + (1.0/18.0)*hDD02_i0_i1p2_i2m1 - 1.0/144.0*hDD02_i0_i1p2_i2m2 - 1.0/18.0*hDD02_i0_i1p2_i2p1 + (1.0/144.0)*hDD02_i0_i1p2_i2p2);
const double hDD_dDD0222 = tmpFD42*((4.0/3.0)*hDD02_i0_i1_i2m1 + (4.0/3.0)*hDD02_i0_i1_i2p1 - tmpFD16 + tmpFD17 + tmpFD44);
const double hDD_dDD1100 = tmpFD36*((4.0/3.0)*hDD11_i0m1_i1_i2 + (4.0/3.0)*hDD11_i0p1_i1_i2 - tmpFD18 + tmpFD19 + tmpFD45);
const double hDD_dDD1101 = tmpFD38*((4.0/9.0)*hDD11_i0m1_i1m1_i2 - 1.0/18.0*hDD11_i0m1_i1m2_i2 - 4.0/9.0*hDD11_i0m1_i1p1_i2 + (1.0/18.0)*hDD11_i0m1_i1p2_i2 - 1.0/18.0*hDD11_i0m2_i1m1_i2 + (1.0/144.0)*hDD11_i0m2_i1m2_i2 + (1.0/18.0)*hDD11_i0m2_i1p1_i2 - 1.0/144.0*hDD11_i0m2_i1p2_i2 - 4.0/9.0*hDD11_i0p1_i1m1_i2 + (1.0/18.0)*hDD11_i0p1_i1m2_i2 + (4.0/9.0)*hDD11_i0p1_i1p1_i2 - 1.0/18.0*hDD11_i0p1_i1p2_i2 + (1.0/18.0)*hDD11_i0p2_i1m1_i2 - 1.0/144.0*hDD11_i0p2_i1m2_i2 - 1.0/18.0*hDD11_i0p2_i1p1_i2 + (1.0/144.0)*hDD11_i0p2_i1p2_i2);
const double hDD_dDD1102 = tmpFD39*((4.0/9.0)*hDD11_i0m1_i1_i2m1 - 1.0/18.0*hDD11_i0m1_i1_i2m2 - 4.0/9.0*hDD11_i0m1_i1_i2p1 + (1.0/18.0)*hDD11_i0m1_i1_i2p2 - 1.0/18.0*hDD11_i0m2_i1_i2m1 + (1.0/144.0)*hDD11_i0m2_i1_i2m2 + (1.0/18.0)*hDD11_i0m2_i1_i2p1 - 1.0/144.0*hDD11_i0m2_i1_i2p2 - 4.0/9.0*hDD11_i0p1_i1_i2m1 + (1.0/18.0)*hDD11_i0p1_i1_i2m2 + (4.0/9.0)*hDD11_i0p1_i1_i2p1 - 1.0/18.0*hDD11_i0p1_i1_i2p2 + (1.0/18.0)*hDD11_i0p2_i1_i2m1 - 1.0/144.0*hDD11_i0p2_i1_i2m2 - 1.0/18.0*hDD11_i0p2_i1_i2p1 + (1.0/144.0)*hDD11_i0p2_i1_i2p2);
const double hDD_dDD1111 = tmpFD40*((4.0/3.0)*hDD11_i0_i1m1_i2 + (4.0/3.0)*hDD11_i0_i1p1_i2 - tmpFD20 + tmpFD21 + tmpFD45);
const double hDD_dDD1112 = tmpFD41*((4.0/9.0)*hDD11_i0_i1m1_i2m1 - 1.0/18.0*hDD11_i0_i1m1_i2m2 - 4.0/9.0*hDD11_i0_i1m1_i2p1 + (1.0/18.0)*hDD11_i0_i1m1_i2p2 - 1.0/18.0*hDD11_i0_i1m2_i2m1 + (1.0/144.0)*hDD11_i0_i1m2_i2m2 + (1.0/18.0)*hDD11_i0_i1m2_i2p1 - 1.0/144.0*hDD11_i0_i1m2_i2p2 - 4.0/9.0*hDD11_i0_i1p1_i2m1 + (1.0/18.0)*hDD11_i0_i1p1_i2m2 + (4.0/9.0)*hDD11_i0_i1p1_i2p1 - 1.0/18.0*hDD11_i0_i1p1_i2p2 + (1.0/18.0)*hDD11_i0_i1p2_i2m1 - 1.0/144.0*hDD11_i0_i1p2_i2m2 - 1.0/18.0*hDD11_i0_i1p2_i2p1 + (1.0/144.0)*hDD11_i0_i1p2_i2p2);
const double hDD_dDD1122 = tmpFD42*((4.0/3.0)*hDD11_i0_i1_i2m1 + (4.0/3.0)*hDD11_i0_i1_i2p1 - tmpFD22 + tmpFD23 + tmpFD45);
const double hDD_dDD1200 = tmpFD36*((4.0/3.0)*hDD12_i0m1_i1_i2 + (4.0/3.0)*hDD12_i0p1_i1_i2 - tmpFD24 + tmpFD25 + tmpFD46);
const double hDD_dDD1201 = tmpFD38*((4.0/9.0)*hDD12_i0m1_i1m1_i2 - 1.0/18.0*hDD12_i0m1_i1m2_i2 - 4.0/9.0*hDD12_i0m1_i1p1_i2 + (1.0/18.0)*hDD12_i0m1_i1p2_i2 - 1.0/18.0*hDD12_i0m2_i1m1_i2 + (1.0/144.0)*hDD12_i0m2_i1m2_i2 + (1.0/18.0)*hDD12_i0m2_i1p1_i2 - 1.0/144.0*hDD12_i0m2_i1p2_i2 - 4.0/9.0*hDD12_i0p1_i1m1_i2 + (1.0/18.0)*hDD12_i0p1_i1m2_i2 + (4.0/9.0)*hDD12_i0p1_i1p1_i2 - 1.0/18.0*hDD12_i0p1_i1p2_i2 + (1.0/18.0)*hDD12_i0p2_i1m1_i2 - 1.0/144.0*hDD12_i0p2_i1m2_i2 - 1.0/18.0*hDD12_i0p2_i1p1_i2 + (1.0/144.0)*hDD12_i0p2_i1p2_i2);
const double hDD_dDD1202 = tmpFD39*((4.0/9.0)*hDD12_i0m1_i1_i2m1 - 1.0/18.0*hDD12_i0m1_i1_i2m2 - 4.0/9.0*hDD12_i0m1_i1_i2p1 + (1.0/18.0)*hDD12_i0m1_i1_i2p2 - 1.0/18.0*hDD12_i0m2_i1_i2m1 + (1.0/144.0)*hDD12_i0m2_i1_i2m2 + (1.0/18.0)*hDD12_i0m2_i1_i2p1 - 1.0/144.0*hDD12_i0m2_i1_i2p2 - 4.0/9.0*hDD12_i0p1_i1_i2m1 + (1.0/18.0)*hDD12_i0p1_i1_i2m2 + (4.0/9.0)*hDD12_i0p1_i1_i2p1 - 1.0/18.0*hDD12_i0p1_i1_i2p2 + (1.0/18.0)*hDD12_i0p2_i1_i2m1 - 1.0/144.0*hDD12_i0p2_i1_i2m2 - 1.0/18.0*hDD12_i0p2_i1_i2p1 + (1.0/144.0)*hDD12_i0p2_i1_i2p2);
const double hDD_dDD1211 = tmpFD40*((4.0/3.0)*hDD12_i0_i1m1_i2 + (4.0/3.0)*hDD12_i0_i1p1_i2 - tmpFD26 + tmpFD27 + tmpFD46);
const double hDD_dDD1212 = tmpFD41*((4.0/9.0)*hDD12_i0_i1m1_i2m1 - 1.0/18.0*hDD12_i0_i1m1_i2m2 - 4.0/9.0*hDD12_i0_i1m1_i2p1 + (1.0/18.0)*hDD12_i0_i1m1_i2p2 - 1.0/18.0*hDD12_i0_i1m2_i2m1 + (1.0/144.0)*hDD12_i0_i1m2_i2m2 + (1.0/18.0)*hDD12_i0_i1m2_i2p1 - 1.0/144.0*hDD12_i0_i1m2_i2p2 - 4.0/9.0*hDD12_i0_i1p1_i2m1 + (1.0/18.0)*hDD12_i0_i1p1_i2m2 + (4.0/9.0)*hDD12_i0_i1p1_i2p1 - 1.0/18.0*hDD12_i0_i1p1_i2p2 + (1.0/18.0)*hDD12_i0_i1p2_i2m1 - 1.0/144.0*hDD12_i0_i1p2_i2m2 - 1.0/18.0*hDD12_i0_i1p2_i2p1 + (1.0/144.0)*hDD12_i0_i1p2_i2p2);
const double hDD_dDD1222 = tmpFD42*((4.0/3.0)*hDD12_i0_i1_i2m1 + (4.0/3.0)*hDD12_i0_i1_i2p1 - tmpFD28 + tmpFD29 + tmpFD46);
const double hDD_dDD2200 = tmpFD36*((4.0/3.0)*hDD22_i0m1_i1_i2 + (4.0/3.0)*hDD22_i0p1_i1_i2 - tmpFD30 + tmpFD31 + tmpFD47);
const double hDD_dDD2201 = tmpFD38*((4.0/9.0)*hDD22_i0m1_i1m1_i2 - 1.0/18.0*hDD22_i0m1_i1m2_i2 - 4.0/9.0*hDD22_i0m1_i1p1_i2 + (1.0/18.0)*hDD22_i0m1_i1p2_i2 - 1.0/18.0*hDD22_i0m2_i1m1_i2 + (1.0/144.0)*hDD22_i0m2_i1m2_i2 + (1.0/18.0)*hDD22_i0m2_i1p1_i2 - 1.0/144.0*hDD22_i0m2_i1p2_i2 - 4.0/9.0*hDD22_i0p1_i1m1_i2 + (1.0/18.0)*hDD22_i0p1_i1m2_i2 + (4.0/9.0)*hDD22_i0p1_i1p1_i2 - 1.0/18.0*hDD22_i0p1_i1p2_i2 + (1.0/18.0)*hDD22_i0p2_i1m1_i2 - 1.0/144.0*hDD22_i0p2_i1m2_i2 - 1.0/18.0*hDD22_i0p2_i1p1_i2 + (1.0/144.0)*hDD22_i0p2_i1p2_i2);
const double hDD_dDD2202 = tmpFD39*((4.0/9.0)*hDD22_i0m1_i1_i2m1 - 1.0/18.0*hDD22_i0m1_i1_i2m2 - 4.0/9.0*hDD22_i0m1_i1_i2p1 + (1.0/18.0)*hDD22_i0m1_i1_i2p2 - 1.0/18.0*hDD22_i0m2_i1_i2m1 + (1.0/144.0)*hDD22_i0m2_i1_i2m2 + (1.0/18.0)*hDD22_i0m2_i1_i2p1 - 1.0/144.0*hDD22_i0m2_i1_i2p2 - 4.0/9.0*hDD22_i0p1_i1_i2m1 + (1.0/18.0)*hDD22_i0p1_i1_i2m2 + (4.0/9.0)*hDD22_i0p1_i1_i2p1 - 1.0/18.0*hDD22_i0p1_i1_i2p2 + (1.0/18.0)*hDD22_i0p2_i1_i2m1 - 1.0/144.0*hDD22_i0p2_i1_i2m2 - 1.0/18.0*hDD22_i0p2_i1_i2p1 + (1.0/144.0)*hDD22_i0p2_i1_i2p2);
const double hDD_dDD2211 = tmpFD40*((4.0/3.0)*hDD22_i0_i1m1_i2 + (4.0/3.0)*hDD22_i0_i1p1_i2 - tmpFD32 + tmpFD33 + tmpFD47);
const double hDD_dDD2212 = tmpFD41*((4.0/9.0)*hDD22_i0_i1m1_i2m1 - 1.0/18.0*hDD22_i0_i1m1_i2m2 - 4.0/9.0*hDD22_i0_i1m1_i2p1 + (1.0/18.0)*hDD22_i0_i1m1_i2p2 - 1.0/18.0*hDD22_i0_i1m2_i2m1 + (1.0/144.0)*hDD22_i0_i1m2_i2m2 + (1.0/18.0)*hDD22_i0_i1m2_i2p1 - 1.0/144.0*hDD22_i0_i1m2_i2p2 - 4.0/9.0*hDD22_i0_i1p1_i2m1 + (1.0/18.0)*hDD22_i0_i1p1_i2m2 + (4.0/9.0)*hDD22_i0_i1p1_i2p1 - 1.0/18.0*hDD22_i0_i1p1_i2p2 + (1.0/18.0)*hDD22_i0_i1p2_i2m1 - 1.0/144.0*hDD22_i0_i1p2_i2m2 - 1.0/18.0*hDD22_i0_i1p2_i2p1 + (1.0/144.0)*hDD22_i0_i1p2_i2p2);
const double hDD_dDD2222 = tmpFD42*((4.0/3.0)*hDD22_i0_i1_i2m1 + (4.0/3.0)*hDD22_i0_i1_i2p1 - tmpFD34 + tmpFD35 + tmpFD47);
const double lambdaU_dD00 = invdx0*(-2.0/3.0*lambdaU0_i0m1_i1_i2 + (1.0/12.0)*lambdaU0_i0m2_i1_i2 + (2.0/3.0)*lambdaU0_i0p1_i1_i2 - 1.0/12.0*lambdaU0_i0p2_i1_i2);
const double lambdaU_dD01 = invdx1*(-2.0/3.0*lambdaU0_i0_i1m1_i2 + (1.0/12.0)*lambdaU0_i0_i1m2_i2 + (2.0/3.0)*lambdaU0_i0_i1p1_i2 - 1.0/12.0*lambdaU0_i0_i1p2_i2);
const double lambdaU_dD02 = invdx2*(-2.0/3.0*lambdaU0_i0_i1_i2m1 + (1.0/12.0)*lambdaU0_i0_i1_i2m2 + (2.0/3.0)*lambdaU0_i0_i1_i2p1 - 1.0/12.0*lambdaU0_i0_i1_i2p2);
const double lambdaU_dD10 = invdx0*(-2.0/3.0*lambdaU1_i0m1_i1_i2 + (1.0/12.0)*lambdaU1_i0m2_i1_i2 + (2.0/3.0)*lambdaU1_i0p1_i1_i2 - 1.0/12.0*lambdaU1_i0p2_i1_i2);
const double lambdaU_dD11 = invdx1*(-2.0/3.0*lambdaU1_i0_i1m1_i2 + (1.0/12.0)*lambdaU1_i0_i1m2_i2 + (2.0/3.0)*lambdaU1_i0_i1p1_i2 - 1.0/12.0*lambdaU1_i0_i1p2_i2);
const double lambdaU_dD12 = invdx2*(-2.0/3.0*lambdaU1_i0_i1_i2m1 + (1.0/12.0)*lambdaU1_i0_i1_i2m2 + (2.0/3.0)*lambdaU1_i0_i1_i2p1 - 1.0/12.0*lambdaU1_i0_i1_i2p2);
const double lambdaU_dD20 = invdx0*(-2.0/3.0*lambdaU2_i0m1_i1_i2 + (1.0/12.0)*lambdaU2_i0m2_i1_i2 + (2.0/3.0)*lambdaU2_i0p1_i1_i2 - 1.0/12.0*lambdaU2_i0p2_i1_i2);
const double lambdaU_dD21 = invdx1*(-2.0/3.0*lambdaU2_i0_i1m1_i2 + (1.0/12.0)*lambdaU2_i0_i1m2_i2 + (2.0/3.0)*lambdaU2_i0_i1p1_i2 - 1.0/12.0*lambdaU2_i0_i1p2_i2);
const double lambdaU_dD22 = invdx2*(-2.0/3.0*lambdaU2_i0_i1_i2m1 + (1.0/12.0)*lambdaU2_i0_i1_i2m2 + (2.0/3.0)*lambdaU2_i0_i1_i2p1 - 1.0/12.0*lambdaU2_i0_i1_i2p2);
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 2: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = hDD00 + 1;
const double tmp1 = hDD02*hDD12;
const double tmp2 = ((hDD01)*(hDD01));
const double tmp3 = hDD22 + 1;
const double tmp4 = ((hDD02)*(hDD02));
const double tmp5 = hDD11 + 1;
const double tmp6 = ((hDD12)*(hDD12));
const double tmp7 = tmp0*tmp3;
const double tmp8 = (1.0/(2*hDD01*tmp1 - tmp0*tmp6 - tmp2*tmp3 - tmp4*tmp5 + tmp5*tmp7));
const double tmp9 = tmp8*(-hDD01*tmp3 + tmp1);
const double tmp10 = tmp8*(hDD01*hDD12 - hDD02*tmp5);
const double tmp11 = tmp8*(hDD01*hDD02 - hDD12*tmp0);
const double tmp12 = tmp8*(tmp3*tmp5 - tmp6);
const double tmp13 = (1.0/2.0)*tmp12;
const double tmp14 = tmp8*(-tmp4 + tmp7);
const double tmp15 = (1.0/2.0)*tmp14;
const double tmp16 = tmp8*(tmp0*tmp5 - tmp2);
const double tmp17 = (1.0/2.0)*tmp16;
const double tmp18 = (1.0/2.0)*tmp10;
const double tmp19 = hDD_dD012 - hDD_dD021 + hDD_dD120;
const double tmp20 = (1.0/2.0)*tmp9;
const double tmp21 = hDD_dD002*tmp13 + hDD_dD220*tmp18 + tmp19*tmp20;
const double tmp22 = -hDD_dD012 + hDD_dD021 + hDD_dD120;
const double tmp23 = (1.0/2.0)*tmp11;
const double tmp24 = hDD_dD001*tmp20 + hDD_dD110*tmp15 + tmp22*tmp23;
const double tmp25 = hDD01*tmp24;
const double tmp26 = hDD_dD001*tmp18 + hDD_dD110*tmp23 + tmp17*tmp22;
const double tmp27 = hDD02*tmp26;
const double tmp28 = hDD_dD001*tmp13 + hDD_dD110*tmp20 + tmp18*tmp22;
const double tmp29 = tmp0*tmp28;
const double tmp30 = tmp25 + tmp27 + tmp29;
const double tmp31 = tmp21*tmp30;
const double tmp32 = 3*tmp11;
const double tmp33 = hDD_dD002*tmp20 + hDD_dD220*tmp23 + tmp15*tmp19;
const double tmp34 = hDD01*tmp33;
const double tmp35 = hDD_dD002*tmp18 + hDD_dD220*tmp17 + tmp19*tmp23;
const double tmp36 = hDD02*tmp35;
const double tmp37 = tmp0*tmp21;
const double tmp38 = tmp34 + tmp36 + tmp37;
const double tmp39 = tmp28*tmp38;
const double tmp40 = tmp21*tmp38;
const double tmp41 = 3*tmp16;
const double tmp42 = tmp28*tmp30;
const double tmp43 = 3*tmp14;
const double tmp44 = (1.0/2.0)*hDD_dD000;
const double tmp45 = -1.0/2.0*hDD_dD001 + hDD_dD010;
const double tmp46 = -1.0/2.0*hDD_dD002 + hDD_dD020;
const double tmp47 = tmp10*tmp46 + tmp12*tmp44 + tmp45*tmp9;
const double tmp48 = tmp38*tmp47;
const double tmp49 = 3*tmp10;
const double tmp50 = tmp30*tmp47;
const double tmp51 = 3*tmp9;
const double tmp52 = tmp11*tmp46 + tmp14*tmp45 + tmp44*tmp9;
const double tmp53 = hDD01*tmp52;
const double tmp54 = tmp10*tmp44 + tmp11*tmp45 + tmp16*tmp46;
const double tmp55 = hDD02*tmp54;
const double tmp56 = tmp0*tmp47;
const double tmp57 = tmp53 + tmp55 + tmp56;
const double tmp58 = tmp21*tmp57;
const double tmp59 = tmp28*tmp57;
const double tmp60 = 3*tmp12;
const double tmp61 = hDD01*tmp21 + hDD12*tmp35 + tmp33*tmp5;
const double tmp62 = tmp24*tmp61;
const double tmp63 = hDD_dD012 + hDD_dD021 - hDD_dD120;
const double tmp64 = hDD_dD112*tmp15 + hDD_dD221*tmp23 + tmp20*tmp63;
const double tmp65 = hDD_dD112*tmp23 + hDD_dD221*tmp17 + tmp18*tmp63;
const double tmp66 = hDD_dD112*tmp20 + hDD_dD221*tmp18 + tmp13*tmp63;
const double tmp67 = hDD01*tmp64 + hDD02*tmp65 + tmp0*tmp66;
const double tmp68 = tmp24*tmp67;
const double tmp69 = hDD02*tmp28 + hDD12*tmp24 + tmp26*tmp3;
const double tmp70 = tmp35*tmp69;
const double tmp71 = tmp35*tmp67;
const double tmp72 = tmp33*tmp61;
const double tmp73 = tmp33*tmp67;
const double tmp74 = tmp26*tmp69;
const double tmp75 = tmp26*tmp67;
const double tmp76 = tmp52*tmp61;
const double tmp77 = 2*tmp52;
const double tmp78 = tmp54*tmp69;
const double tmp79 = 2*tmp54;
const double tmp80 = hDD01*tmp28;
const double tmp81 = hDD12*tmp26;
const double tmp82 = tmp24*tmp5;
const double tmp83 = tmp80 + tmp81 + tmp82;
const double tmp84 = tmp33*tmp83;
const double tmp85 = 2*hDD_dD011 - hDD_dD110;
const double tmp86 = -hDD_dD112 + 2*hDD_dD121;
const double tmp87 = hDD_dD111*tmp15 + tmp20*tmp85 + tmp23*tmp86;
const double tmp88 = hDD_dD111*tmp23 + tmp17*tmp86 + tmp18*tmp85;
const double tmp89 = hDD_dD111*tmp20 + tmp13*tmp85 + tmp18*tmp86;
const double tmp90 = hDD01*tmp87 + hDD02*tmp88 + tmp0*tmp89;
const double tmp91 = tmp33*tmp90;
const double tmp92 = hDD02*tmp21;
const double tmp93 = hDD12*tmp33;
const double tmp94 = tmp3*tmp35;
const double tmp95 = tmp92 + tmp93 + tmp94;
const double tmp96 = tmp26*tmp95;
const double tmp97 = 2*hDD_dD022 - hDD_dD220;
const double tmp98 = 2*hDD_dD122 - hDD_dD221;
const double tmp99 = hDD_dD222*tmp23 + tmp15*tmp98 + tmp20*tmp97;
const double tmp100 = hDD_dD222*tmp17 + tmp18*tmp97 + tmp23*tmp98;
const double tmp101 = hDD_dD222*tmp18 + tmp13*tmp97 + tmp20*tmp98;
const double tmp102 = hDD01*tmp99 + hDD02*tmp100 + tmp0*tmp101;
const double tmp103 = tmp102*tmp26;
const double tmp104 = tmp30*tmp33;
const double tmp105 = hDD01*tmp47 + hDD12*tmp54 + tmp5*tmp52;
const double tmp106 = tmp35*tmp38;
const double tmp107 = hDD02*tmp47 + hDD12*tmp52 + tmp3*tmp54;
const double tmp108 = tmp24*tmp30;
const double tmp109 = tmp26*tmp38;
const double tmp110 = tmp35*tmp95;
const double tmp111 = tmp102*tmp35;
const double tmp112 = tmp24*tmp83;
const double tmp113 = tmp24*tmp90;
const double tmp114 = tmp54*tmp95;
const double tmp115 = tmp52*tmp83;
const double tmp116 = tmp24*tmp9;
const double tmp117 = tmp10*tmp33 + tmp11*tmp64 + tmp116 + tmp13*tmp52 + tmp15*tmp87 + tmp17*tmp99;
const double tmp118 = tmp11*tmp65;
const double tmp119 = tmp10*tmp35;
const double tmp120 = tmp100*tmp17 + tmp118 + tmp119 + tmp13*tmp54 + tmp15*tmp88 + tmp26*tmp9;
const double tmp121 = tmp10*tmp21 + tmp101*tmp17 + tmp11*tmp66 + tmp13*tmp47 + tmp15*tmp89 + tmp28*tmp9;
const double tmp122 = (1.0/2.0)*hDD01;
const double tmp123 = (1.0/2.0)*hDD02;
const double tmp124 = (1.0/2.0)*hDD12;
const double tmp125 = (1.0/2.0)*tmp0;
const double tmp126 = (1.0/2.0)*tmp5;
const double tmp127 = tmp30*tmp64;
const double tmp128 = tmp64*tmp67;
const double tmp129 = hDD01*tmp66;
const double tmp130 = hDD12*tmp65;
const double tmp131 = tmp5*tmp64;
const double tmp132 = tmp129 + tmp130 + tmp131;
const double tmp133 = tmp132*tmp33;
const double tmp134 = tmp132*tmp24;
const double tmp135 = tmp132*tmp52;
const double tmp136 = tmp64*tmp90;
const double tmp137 = hDD01*tmp89;
const double tmp138 = hDD12*tmp88;
const double tmp139 = tmp5*tmp87;
const double tmp140 = tmp137 + tmp138 + tmp139;
const double tmp141 = tmp140*tmp33;
const double tmp142 = tmp35*tmp61;
const double tmp143 = tmp38*tmp65;
const double tmp144 = tmp21*tmp61;
const double tmp145 = tmp38*tmp66;
const double tmp146 = tmp21*tmp67;
const double tmp147 = tmp28*tmp61;
const double tmp148 = tmp28*tmp67;
const double tmp149 = tmp38*tmp89;
const double tmp150 = tmp26*tmp61;
const double tmp151 = tmp47*tmp67;
const double tmp152 = tmp21*tmp83;
const double tmp153 = tmp30*tmp66;
const double tmp154 = tmp65*tmp67;
const double tmp155 = tmp132*tmp35;
const double tmp156 = hDD02*tmp89 + hDD12*tmp87 + tmp3*tmp88;
const double tmp157 = tmp28*tmp83;
const double tmp158 = tmp30*tmp89;
const double tmp159 = tmp28*tmp90;
const double tmp160 = tmp132*tmp26;
const double tmp161 = tmp156*tmp26;
const double tmp162 = tmp105*tmp21;
const double tmp163 = tmp57*tmp66;
const double tmp164 = hDD02*tmp66;
const double tmp165 = hDD12*tmp64;
const double tmp166 = tmp3*tmp65;
const double tmp167 = tmp164 + tmp165 + tmp166;
const double tmp168 = tmp167*tmp35;
const double tmp169 = tmp102*tmp65;
const double tmp170 = hDD01*tmp101 + hDD12*tmp100 + tmp5*tmp99;
const double tmp171 = tmp170*tmp35;
const double tmp172 = tmp167*tmp26;
const double tmp173 = tmp170*tmp26;
const double tmp174 = tmp105*tmp28;
const double tmp175 = tmp167*tmp54;
const double tmp176 = (1.0/2.0)*tmp3;
const double tmp177 = 2*tmp96;
const double tmp178 = 2*tmp172;
const double tmp179 = hDD02*tmp101;
const double tmp180 = hDD12*tmp99;
const double tmp181 = tmp100*tmp3;
const double tmp182 = tmp179 + tmp180 + tmp181;
const double tmp183 = 2*tmp182;
const double tmp184 = tmp183*tmp26;
const double tmp185 = tmp24*tmp69 + tmp62;
const double tmp186 = tmp148 + tmp28*tmp69;
const double tmp187 = tmp21*tmp69;
const double tmp188 = tmp33*tmp69;
const double tmp189 = tmp102*tmp28 + tmp28*tmp95;
const double tmp190 = tmp167*tmp24 + tmp170*tmp24;
const double tmp191 = tmp21*tmp95;
const double tmp192 = tmp101*tmp38;
const double tmp193 = tmp102*tmp21;
const double tmp194 = tmp167*tmp33;
const double tmp195 = tmp170*tmp33;
const double tmp196 = tmp107*tmp28 + tmp39;
const double tmp197 = tmp134 + tmp156*tmp24;
const double tmp198 = tmp156*tmp33;
const double tmp199 = tmp107*tmp21;
const double tmp200 = tmp64*tmp83;
const double tmp201 = tmp132*tmp64;
const double tmp202 = tmp132*tmp87;
const double tmp203 = tmp140*tmp64;
const double tmp204 = tmp61*tmp65;
const double tmp205 = tmp66*tmp67;
const double tmp206 = tmp61*tmp66;
const double tmp207 = tmp67*tmp89;
const double tmp208 = 2*tmp89;
const double tmp209 = 2*tmp88;
const double tmp210 = tmp66*tmp83;
const double tmp211 = tmp132*tmp65;
const double tmp212 = tmp105*tmp66;
const double tmp213 = tmp167*tmp65;
const double tmp214 = tmp170*tmp65;
const double tmp215 = tmp167*tmp88;
const double tmp216 = 2*tmp95;
const double tmp217 = tmp66*tmp69;
const double tmp218 = tmp61*tmp64;
const double tmp219 = tmp64*tmp69;
const double tmp220 = tmp66*tmp95;
const double tmp221 = tmp102*tmp66;
const double tmp222 = tmp167*tmp64;
const double tmp223 = tmp132*tmp99;
const double tmp224 = tmp170*tmp64;
const double tmp225 = tmp156*tmp64;
const double tmp226 = tmp107*tmp66;
const double tmp227 = 3*tmp182;
const double tmp228 = 2*tmp101;
const double tmp229 = 2*tmp99;
RbarDD00GF_.ptr[RbarDD00GF_.offset(i0, i1, i2)] = hDD01*lambdaU_dD10 + hDD02*lambdaU_dD20 - hDD_dDD0000*tmp13 - hDD_dDD0001*tmp9 - hDD_dDD0002*tmp10 - hDD_dDD0011*tmp15 - hDD_dDD0012*tmp11 - hDD_dDD0022*tmp17 + lambdaU_dD00*tmp0 + tmp10*(2*tmp104 + tmp105*tmp33) + tmp10*(2*tmp106 + tmp107*tmp35) + tmp10*(tmp102*tmp79 + tmp114) + tmp10*(tmp67*tmp77 + tmp76) + tmp11*(2*tmp103 + tmp96) + tmp11*(tmp62 + 2*tmp68) + tmp11*(tmp70 + 2*tmp71) + tmp11*(tmp84 + 2*tmp91) + tmp117*(2*tmp25 + 2*tmp27 + 2*tmp29) + tmp12*(tmp105*tmp52 + tmp30*tmp77) + tmp12*(tmp107*tmp54 + tmp38*tmp79) + tmp120*(2*tmp34 + 2*tmp36 + 2*tmp37) + tmp121*(2*tmp53 + 2*tmp55 + 2*tmp56) + tmp14*(tmp112 + 2*tmp113) + tmp14*(tmp74 + 2*tmp75) + tmp16*(tmp110 + 2*tmp111) + tmp16*(tmp72 + 2*tmp73) + tmp31*tmp32 + tmp32*tmp39 + tmp40*tmp41 + tmp42*tmp43 + tmp47*tmp57*tmp60 + tmp48*tmp49 + tmp49*tmp58 + tmp50*tmp51 + tmp51*tmp59 + tmp9*(tmp115 + tmp77*tmp90) + tmp9*(tmp105*tmp24 + 2*tmp108) + tmp9*(tmp107*tmp26 + 2*tmp109) + tmp9*(tmp67*tmp79 + tmp78);
RbarDD01GF_.ptr[RbarDD01GF_.offset(i0, i1, i2)] = -hDD_dDD0100*tmp13 - hDD_dDD0101*tmp9 - hDD_dDD0102*tmp10 - hDD_dDD0111*tmp15 - hDD_dDD0112*tmp11 - hDD_dDD0122*tmp17 + lambdaU_dD00*tmp122 + lambdaU_dD01*tmp125 + lambdaU_dD10*tmp126 + lambdaU_dD11*tmp122 + lambdaU_dD20*tmp124 + lambdaU_dD21*tmp123 + tmp10*(tmp127 + 2*tmp84) + tmp10*(2*tmp135 + tmp68) + tmp10*(tmp103 + tmp170*tmp54 + tmp175) + tmp10*(tmp142 + tmp143 + tmp70) + tmp10*(tmp151 + tmp39 + tmp47*tmp61) + tmp10*(tmp162 + tmp163 + tmp31) + tmp11*(2*tmp134 + tmp67*tmp87) + tmp11*(tmp136 + 2*tmp141) + tmp11*(tmp147 + tmp148 + tmp149) + tmp11*(tmp152 + tmp153 + tmp21*tmp90) + tmp11*(tmp154 + tmp155 + tmp156*tmp35) + tmp11*(tmp102*tmp88 + tmp172 + tmp173) + tmp117*(tmp83 + tmp90) + tmp12*(tmp108 + 2*tmp115) + tmp12*(tmp109 + tmp54*tmp61 + tmp78) + tmp12*(tmp105*tmp47 + tmp50 + tmp59) + tmp120*(tmp61 + tmp67) + tmp121*(tmp105 + tmp30) + tmp14*(2*tmp140*tmp24 + tmp87*tmp90) + tmp14*(tmp157 + tmp158 + tmp159) + tmp14*(tmp160 + tmp161 + tmp67*tmp88) + tmp16*(tmp128 + 2*tmp133) + tmp16*(tmp144 + tmp145 + tmp146) + tmp16*(tmp168 + tmp169 + tmp171) + tmp9*(2*tmp112 + tmp30*tmp87) + tmp9*(tmp113 + tmp140*tmp77) + tmp9*(tmp150 + tmp38*tmp88 + tmp74) + tmp9*(tmp174 + tmp42 + tmp57*tmp89) + tmp9*(tmp42 + tmp47*tmp83 + tmp47*tmp90) + tmp9*(tmp132*tmp54 + tmp156*tmp54 + tmp75);
RbarDD02GF_.ptr[RbarDD02GF_.offset(i0, i1, i2)] = -hDD_dDD0200*tmp13 - hDD_dDD0201*tmp9 - hDD_dDD0202*tmp10 - hDD_dDD0211*tmp15 - hDD_dDD0212*tmp11 - hDD_dDD0222*tmp17 + lambdaU_dD00*tmp123 + lambdaU_dD02*tmp125 + lambdaU_dD10*tmp124 + lambdaU_dD12*tmp122 + lambdaU_dD20*tmp176 + lambdaU_dD22*tmp123 + tmp10*(tmp111 + tmp182*tmp79) + tmp10*(tmp100*tmp38 + 2*tmp110) + tmp10*(tmp188 + tmp30*tmp99 + tmp72) + tmp10*(tmp101*tmp57 + tmp199 + tmp40) + tmp10*(tmp102*tmp47 + tmp40 + tmp47*tmp95) + tmp10*(tmp167*tmp52 + tmp170*tmp52 + tmp73) + tmp11*(tmp128 + tmp190) + tmp11*(tmp145 + tmp189) + tmp11*(tmp169 + tmp184) + tmp11*(tmp100*tmp67 + 2*tmp168) + tmp11*(tmp133 + tmp198 + tmp90*tmp99) + tmp11*(tmp101*tmp30 + tmp146 + tmp187) + tmp117*(tmp67 + tmp69) + tmp12*(tmp106 + 2*tmp114) + tmp12*(tmp104 + tmp52*tmp69 + tmp76) + tmp12*(tmp107*tmp47 + tmp48 + tmp58) + tmp120*(tmp102 + tmp95) + tmp121*(tmp107 + tmp38) + tmp14*(tmp136 + tmp197) + tmp14*(tmp153 + tmp186) + tmp14*(tmp154 + tmp178) + tmp16*(tmp100*tmp102 + tmp183*tmp35) + tmp16*(tmp191 + tmp192 + tmp193) + tmp16*(tmp194 + tmp195 + tmp67*tmp99) + tmp9*(tmp127 + tmp185) + tmp9*(tmp143 + tmp177) + tmp9*(tmp163 + tmp196) + tmp9*(2*tmp175 + tmp71) + tmp9*(tmp135 + tmp156*tmp52 + tmp91) + tmp9*(tmp151 + tmp31 + tmp47*tmp69);
RbarDD11GF_.ptr[RbarDD11GF_.offset(i0, i1, i2)] = hDD01*lambdaU_dD01 + hDD12*lambdaU_dD21 - hDD_dDD1100*tmp13 - hDD_dDD1101*tmp9 - hDD_dDD1102*tmp10 - hDD_dDD1111*tmp15 - hDD_dDD1112*tmp11 - hDD_dDD1122*tmp17 + lambdaU_dD11*tmp5 + tmp10*(2*tmp147 + tmp148) + tmp10*(tmp153 + 2*tmp212) + tmp10*(tmp172 + 2*tmp173) + tmp10*(2*tmp204 + tmp65*tmp69) + tmp11*(tmp207 + tmp208*tmp61) + tmp11*(2*tmp210 + tmp66*tmp90) + tmp11*(tmp156*tmp65 + 2*tmp211) + tmp11*(tmp170*tmp209 + tmp215) + tmp112*tmp60 + 3*tmp116*tmp140 + tmp117*(2*tmp137 + 2*tmp138 + 2*tmp139) + tmp12*(2*tmp150 + tmp74) + tmp12*(2*tmp174 + tmp42) + tmp120*(2*tmp129 + 2*tmp130 + 2*tmp131) + tmp121*(2*tmp80 + 2*tmp81 + 2*tmp82) + tmp134*tmp49 + tmp14*(tmp132*tmp209 + tmp156*tmp88) + tmp14*(tmp208*tmp83 + tmp89*tmp90) + tmp140*tmp43*tmp87 + tmp16*(tmp205 + 2*tmp206) + tmp16*(tmp213 + 2*tmp214) + tmp200*tmp49 + tmp201*tmp41 + tmp202*tmp32 + tmp203*tmp32 + tmp51*tmp83*tmp87 + tmp9*(2*tmp157 + tmp159) + tmp9*(2*tmp160 + tmp161) + tmp9*(tmp105*tmp208 + tmp158) + tmp9*(tmp209*tmp61 + tmp69*tmp88);
RbarDD12GF_.ptr[RbarDD12GF_.offset(i0, i1, i2)] = -hDD_dDD1200*tmp13 - hDD_dDD1201*tmp9 - hDD_dDD1202*tmp10 - hDD_dDD1211*tmp15 - hDD_dDD1212*tmp11 - hDD_dDD1222*tmp17 + lambdaU_dD01*tmp123 + lambdaU_dD02*tmp122 + lambdaU_dD11*tmp124 + lambdaU_dD12*tmp126 + lambdaU_dD21*tmp176 + lambdaU_dD22*tmp124 + tmp10*(tmp133 + tmp190) + tmp10*(tmp144 + tmp189) + tmp10*(tmp171 + tmp184) + tmp10*(tmp100*tmp61 + tmp216*tmp65) + tmp10*(tmp218 + tmp219 + tmp83*tmp99) + tmp10*(tmp101*tmp105 + tmp145 + tmp226) + tmp11*(tmp100*tmp132 + 2*tmp213) + tmp11*(tmp183*tmp88 + tmp214) + tmp11*(tmp101*tmp83 + tmp205 + tmp217) + tmp11*(tmp102*tmp89 + tmp206 + tmp89*tmp95) + tmp11*(tmp140*tmp99 + tmp201 + tmp225) + tmp11*(tmp167*tmp87 + tmp170*tmp87 + tmp201) + tmp117*(tmp132 + tmp156) + tmp12*(tmp142 + tmp177) + tmp12*(tmp162 + tmp196) + tmp12*(tmp185 + tmp84) + tmp120*(tmp167 + tmp170) + tmp121*(tmp61 + tmp69) + tmp14*(tmp211 + 2*tmp215) + tmp14*(tmp207 + tmp210 + tmp69*tmp89) + tmp14*(tmp156*tmp87 + tmp202 + tmp203) + tmp16*(tmp100*tmp170 + tmp183*tmp65) + tmp16*(tmp222 + tmp223 + tmp224) + tmp16*(tmp101*tmp61 + tmp220 + tmp221) + tmp9*(tmp141 + tmp197) + tmp9*(tmp152 + tmp186) + tmp9*(tmp155 + tmp178) + tmp9*(tmp204 + tmp209*tmp95) + tmp9*(tmp200 + tmp61*tmp87 + tmp69*tmp87) + tmp9*(tmp107*tmp89 + tmp149 + tmp212);
RbarDD22GF_.ptr[RbarDD22GF_.offset(i0, i1, i2)] = hDD02*lambdaU_dD02 + hDD12*lambdaU_dD12 - hDD_dDD2200*tmp13 - hDD_dDD2201*tmp9 - hDD_dDD2202*tmp10 - hDD_dDD2211*tmp15 - hDD_dDD2212*tmp11 - hDD_dDD2222*tmp17 + lambdaU_dD22*tmp3 + tmp10*(2*tmp191 + tmp193) + tmp10*(2*tmp194 + tmp195) + tmp10*(tmp107*tmp228 + tmp192) + tmp10*(tmp229*tmp69 + tmp61*tmp99) + tmp100*tmp167*tmp32 + tmp100*tmp182*tmp41 + tmp100*tmp49*tmp95 + tmp11*(2*tmp220 + tmp221) + tmp11*(2*tmp222 + tmp224) + tmp11*(tmp101*tmp67 + tmp228*tmp69) + tmp11*(tmp156*tmp229 + tmp223) + tmp110*tmp60 + tmp117*(2*tmp164 + 2*tmp165 + 2*tmp166) + tmp118*tmp227 + tmp119*tmp227 + tmp12*(2*tmp188 + tmp72) + tmp12*(2*tmp199 + tmp40) + tmp120*(2*tmp179 + 2*tmp180 + 2*tmp181) + tmp121*(2*tmp92 + 2*tmp93 + 2*tmp94) + tmp14*(tmp201 + 2*tmp225) + tmp14*(tmp205 + 2*tmp217) + tmp16*(tmp101*tmp102 + tmp101*tmp216) + tmp16*(tmp167*tmp229 + tmp170*tmp99) + tmp168*tmp51 + tmp213*tmp43 + tmp51*tmp65*tmp95 + tmp9*(tmp133 + 2*tmp198) + tmp9*(tmp145 + 2*tmp226) + tmp9*(tmp146 + 2*tmp187) + tmp9*(tmp218 + 2*tmp219);
}
});
#include <math.h>
#include <loop.hxx>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
void BaikalETK_BSSN_constraints(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
const CCTK_REAL invdx0 = 1.0/CCTK_DELTA_SPACE(0);
const CCTK_REAL invdx1 = 1.0/CCTK_DELTA_SPACE(1);
const CCTK_REAL invdx2 = 1.0/CCTK_DELTA_SPACE(2);
Loop::GF3D<CCTK_REAL,0,0,0> trKGF_(cctkGH,trKGF);
Loop::GF3D<CCTK_REAL,0,0,0> cfGF_(cctkGH,cfGF);
Loop::GF3D<CCTK_REAL,0,0,0> HGF_(cctkGH,HGF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU0GF_(cctkGH,lambdaU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> MU0GF_(cctkGH,MU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD00GF_(cctkGH,hDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD00GF_(cctkGH,aDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01GF_(cctkGH,hDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD01GF_(cctkGH,aDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02GF_(cctkGH,hDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD02GF_(cctkGH,aDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU1GF_(cctkGH,lambdaU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> MU1GF_(cctkGH,MU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11GF_(cctkGH,hDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD11GF_(cctkGH,aDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12GF_(cctkGH,hDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD12GF_(cctkGH,aDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU2GF_(cctkGH,lambdaU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> MU2GF_(cctkGH,MU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22GF_(cctkGH,hDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD22GF_(cctkGH,aDD22GF);
#include "BSSN_constraints.h"
}
Loop::loop_int<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
{
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 2: Read from main memory and compute finite difference stencils:
*/
const double hDD00_i0_i1m2_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2-2)];
const double hDD00_i0_i1m1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2-2)];
const double hDD00_i0m2_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2-2)];
const double hDD00_i0m1_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2-2)];
const double hDD00_i0_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-2)];
const double hDD00_i0p1_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2-2)];
const double hDD00_i0p2_i1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2-2)];
const double hDD00_i0_i1p1_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2-2)];
const double hDD00_i0_i1p2_i2m2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2-2)];
const double hDD00_i0_i1m2_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2-1)];
const double hDD00_i0_i1m1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2-1)];
const double hDD00_i0m2_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2-1)];
const double hDD00_i0m1_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2-1)];
const double hDD00_i0_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2-1)];
const double hDD00_i0p1_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2-1)];
const double hDD00_i0p2_i1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2-1)];
const double hDD00_i0_i1p1_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2-1)];
const double hDD00_i0_i1p2_i2m1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2-1)];
const double hDD00_i0m2_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1-2,i2)];
const double hDD00_i0m1_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1-2,i2)];
const double hDD00_i0_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2)];
const double hDD00_i0p1_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1-2,i2)];
const double hDD00_i0p2_i1m2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1-2,i2)];
const double hDD00_i0m2_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1-1,i2)];
const double hDD00_i0m1_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1-1,i2)];
const double hDD00_i0_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2)];
const double hDD00_i0p1_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1-1,i2)];
const double hDD00_i0p2_i1m1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1-1,i2)];
const double hDD00_i0m2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2)];
const double hDD00_i0m1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2)];
const double hDD00 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2)];
const double hDD00_i0p1_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2)];
const double hDD00_i0p2_i1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2)];
const double hDD00_i0m2_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1+1,i2)];
const double hDD00_i0m1_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1+1,i2)];
const double hDD00_i0_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2)];
const double hDD00_i0p1_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1+1,i2)];
const double hDD00_i0p2_i1p1_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1+1,i2)];
const double hDD00_i0m2_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1+2,i2)];
const double hDD00_i0m1_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1+2,i2)];
const double hDD00_i0_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2)];
const double hDD00_i0p1_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1+2,i2)];
const double hDD00_i0p2_i1p2_i2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1+2,i2)];
const double hDD00_i0_i1m2_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2+1)];
const double hDD00_i0_i1m1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2+1)];
const double hDD00_i0m2_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2+1)];
const double hDD00_i0m1_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2+1)];
const double hDD00_i0_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+1)];
const double hDD00_i0p1_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2+1)];
const double hDD00_i0p2_i1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2+1)];
const double hDD00_i0_i1p1_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2+1)];
const double hDD00_i0_i1p2_i2p1 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2+1)];
const double hDD00_i0_i1m2_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-2,i2+2)];
const double hDD00_i0_i1m1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1-1,i2+2)];
const double hDD00_i0m2_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0-2,i1,i2+2)];
const double hDD00_i0m1_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0-1,i1,i2+2)];
const double hDD00_i0_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2+2)];
const double hDD00_i0p1_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0+1,i1,i2+2)];
const double hDD00_i0p2_i1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0+2,i1,i2+2)];
const double hDD00_i0_i1p1_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+1,i2+2)];
const double hDD00_i0_i1p2_i2p2 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1+2,i2+2)];
const double hDD01_i0_i1m2_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2-2)];
const double hDD01_i0_i1m1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2-2)];
const double hDD01_i0m2_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2-2)];
const double hDD01_i0m1_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2-2)];
const double hDD01_i0_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-2)];
const double hDD01_i0p1_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2-2)];
const double hDD01_i0p2_i1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2-2)];
const double hDD01_i0_i1p1_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2-2)];
const double hDD01_i0_i1p2_i2m2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2-2)];
const double hDD01_i0_i1m2_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2-1)];
const double hDD01_i0_i1m1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2-1)];
const double hDD01_i0m2_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2-1)];
const double hDD01_i0m1_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2-1)];
const double hDD01_i0_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2-1)];
const double hDD01_i0p1_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2-1)];
const double hDD01_i0p2_i1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2-1)];
const double hDD01_i0_i1p1_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2-1)];
const double hDD01_i0_i1p2_i2m1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2-1)];
const double hDD01_i0m2_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1-2,i2)];
const double hDD01_i0m1_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1-2,i2)];
const double hDD01_i0_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2)];
const double hDD01_i0p1_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1-2,i2)];
const double hDD01_i0p2_i1m2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1-2,i2)];
const double hDD01_i0m2_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1-1,i2)];
const double hDD01_i0m1_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1-1,i2)];
const double hDD01_i0_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2)];
const double hDD01_i0p1_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1-1,i2)];
const double hDD01_i0p2_i1m1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1-1,i2)];
const double hDD01_i0m2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2)];
const double hDD01_i0m1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2)];
const double hDD01 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2)];
const double hDD01_i0p1_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2)];
const double hDD01_i0p2_i1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2)];
const double hDD01_i0m2_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1+1,i2)];
const double hDD01_i0m1_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1+1,i2)];
const double hDD01_i0_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2)];
const double hDD01_i0p1_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1+1,i2)];
const double hDD01_i0p2_i1p1_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1+1,i2)];
const double hDD01_i0m2_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1+2,i2)];
const double hDD01_i0m1_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1+2,i2)];
const double hDD01_i0_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2)];
const double hDD01_i0p1_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1+2,i2)];
const double hDD01_i0p2_i1p2_i2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1+2,i2)];
const double hDD01_i0_i1m2_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2+1)];
const double hDD01_i0_i1m1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2+1)];
const double hDD01_i0m2_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2+1)];
const double hDD01_i0m1_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2+1)];
const double hDD01_i0_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+1)];
const double hDD01_i0p1_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2+1)];
const double hDD01_i0p2_i1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2+1)];
const double hDD01_i0_i1p1_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2+1)];
const double hDD01_i0_i1p2_i2p1 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2+1)];
const double hDD01_i0_i1m2_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-2,i2+2)];
const double hDD01_i0_i1m1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1-1,i2+2)];
const double hDD01_i0m2_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0-2,i1,i2+2)];
const double hDD01_i0m1_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0-1,i1,i2+2)];
const double hDD01_i0_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2+2)];
const double hDD01_i0p1_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0+1,i1,i2+2)];
const double hDD01_i0p2_i1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0+2,i1,i2+2)];
const double hDD01_i0_i1p1_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+1,i2+2)];
const double hDD01_i0_i1p2_i2p2 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1+2,i2+2)];
const double hDD02_i0_i1m2_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2-2)];
const double hDD02_i0_i1m1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2-2)];
const double hDD02_i0m2_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2-2)];
const double hDD02_i0m1_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2-2)];
const double hDD02_i0_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-2)];
const double hDD02_i0p1_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2-2)];
const double hDD02_i0p2_i1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2-2)];
const double hDD02_i0_i1p1_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2-2)];
const double hDD02_i0_i1p2_i2m2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2-2)];
const double hDD02_i0_i1m2_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2-1)];
const double hDD02_i0_i1m1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2-1)];
const double hDD02_i0m2_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2-1)];
const double hDD02_i0m1_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2-1)];
const double hDD02_i0_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2-1)];
const double hDD02_i0p1_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2-1)];
const double hDD02_i0p2_i1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2-1)];
const double hDD02_i0_i1p1_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2-1)];
const double hDD02_i0_i1p2_i2m1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2-1)];
const double hDD02_i0m2_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1-2,i2)];
const double hDD02_i0m1_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1-2,i2)];
const double hDD02_i0_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2)];
const double hDD02_i0p1_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1-2,i2)];
const double hDD02_i0p2_i1m2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1-2,i2)];
const double hDD02_i0m2_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1-1,i2)];
const double hDD02_i0m1_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1-1,i2)];
const double hDD02_i0_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2)];
const double hDD02_i0p1_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1-1,i2)];
const double hDD02_i0p2_i1m1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1-1,i2)];
const double hDD02_i0m2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2)];
const double hDD02_i0m1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2)];
const double hDD02 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2)];
const double hDD02_i0p1_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2)];
const double hDD02_i0p2_i1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2)];
const double hDD02_i0m2_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1+1,i2)];
const double hDD02_i0m1_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1+1,i2)];
const double hDD02_i0_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2)];
const double hDD02_i0p1_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1+1,i2)];
const double hDD02_i0p2_i1p1_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1+1,i2)];
const double hDD02_i0m2_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1+2,i2)];
const double hDD02_i0m1_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1+2,i2)];
const double hDD02_i0_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2)];
const double hDD02_i0p1_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1+2,i2)];
const double hDD02_i0p2_i1p2_i2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1+2,i2)];
const double hDD02_i0_i1m2_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2+1)];
const double hDD02_i0_i1m1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2+1)];
const double hDD02_i0m2_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2+1)];
const double hDD02_i0m1_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2+1)];
const double hDD02_i0_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+1)];
const double hDD02_i0p1_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2+1)];
const double hDD02_i0p2_i1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2+1)];
const double hDD02_i0_i1p1_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2+1)];
const double hDD02_i0_i1p2_i2p1 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2+1)];
const double hDD02_i0_i1m2_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-2,i2+2)];
const double hDD02_i0_i1m1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1-1,i2+2)];
const double hDD02_i0m2_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0-2,i1,i2+2)];
const double hDD02_i0m1_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0-1,i1,i2+2)];
const double hDD02_i0_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2+2)];
const double hDD02_i0p1_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0+1,i1,i2+2)];
const double hDD02_i0p2_i1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0+2,i1,i2+2)];
const double hDD02_i0_i1p1_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+1,i2+2)];
const double hDD02_i0_i1p2_i2p2 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1+2,i2+2)];
const double hDD11_i0_i1m2_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2-2)];
const double hDD11_i0_i1m1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2-2)];
const double hDD11_i0m2_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2-2)];
const double hDD11_i0m1_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2-2)];
const double hDD11_i0_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-2)];
const double hDD11_i0p1_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2-2)];
const double hDD11_i0p2_i1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2-2)];
const double hDD11_i0_i1p1_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2-2)];
const double hDD11_i0_i1p2_i2m2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2-2)];
const double hDD11_i0_i1m2_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2-1)];
const double hDD11_i0_i1m1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2-1)];
const double hDD11_i0m2_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2-1)];
const double hDD11_i0m1_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2-1)];
const double hDD11_i0_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2-1)];
const double hDD11_i0p1_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2-1)];
const double hDD11_i0p2_i1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2-1)];
const double hDD11_i0_i1p1_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2-1)];
const double hDD11_i0_i1p2_i2m1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2-1)];
const double hDD11_i0m2_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1-2,i2)];
const double hDD11_i0m1_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1-2,i2)];
const double hDD11_i0_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2)];
const double hDD11_i0p1_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1-2,i2)];
const double hDD11_i0p2_i1m2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1-2,i2)];
const double hDD11_i0m2_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1-1,i2)];
const double hDD11_i0m1_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1-1,i2)];
const double hDD11_i0_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2)];
const double hDD11_i0p1_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1-1,i2)];
const double hDD11_i0p2_i1m1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1-1,i2)];
const double hDD11_i0m2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2)];
const double hDD11_i0m1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2)];
const double hDD11 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2)];
const double hDD11_i0p1_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2)];
const double hDD11_i0p2_i1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2)];
const double hDD11_i0m2_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1+1,i2)];
const double hDD11_i0m1_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1+1,i2)];
const double hDD11_i0_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2)];
const double hDD11_i0p1_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1+1,i2)];
const double hDD11_i0p2_i1p1_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1+1,i2)];
const double hDD11_i0m2_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1+2,i2)];
const double hDD11_i0m1_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1+2,i2)];
const double hDD11_i0_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2)];
const double hDD11_i0p1_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1+2,i2)];
const double hDD11_i0p2_i1p2_i2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1+2,i2)];
const double hDD11_i0_i1m2_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2+1)];
const double hDD11_i0_i1m1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2+1)];
const double hDD11_i0m2_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2+1)];
const double hDD11_i0m1_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2+1)];
const double hDD11_i0_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+1)];
const double hDD11_i0p1_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2+1)];
const double hDD11_i0p2_i1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2+1)];
const double hDD11_i0_i1p1_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2+1)];
const double hDD11_i0_i1p2_i2p1 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2+1)];
const double hDD11_i0_i1m2_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-2,i2+2)];
const double hDD11_i0_i1m1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1-1,i2+2)];
const double hDD11_i0m2_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0-2,i1,i2+2)];
const double hDD11_i0m1_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0-1,i1,i2+2)];
const double hDD11_i0_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2+2)];
const double hDD11_i0p1_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0+1,i1,i2+2)];
const double hDD11_i0p2_i1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0+2,i1,i2+2)];
const double hDD11_i0_i1p1_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+1,i2+2)];
const double hDD11_i0_i1p2_i2p2 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1+2,i2+2)];
const double hDD12_i0_i1m2_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2-2)];
const double hDD12_i0_i1m1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2-2)];
const double hDD12_i0m2_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2-2)];
const double hDD12_i0m1_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2-2)];
const double hDD12_i0_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-2)];
const double hDD12_i0p1_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2-2)];
const double hDD12_i0p2_i1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2-2)];
const double hDD12_i0_i1p1_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2-2)];
const double hDD12_i0_i1p2_i2m2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2-2)];
const double hDD12_i0_i1m2_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2-1)];
const double hDD12_i0_i1m1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2-1)];
const double hDD12_i0m2_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2-1)];
const double hDD12_i0m1_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2-1)];
const double hDD12_i0_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2-1)];
const double hDD12_i0p1_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2-1)];
const double hDD12_i0p2_i1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2-1)];
const double hDD12_i0_i1p1_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2-1)];
const double hDD12_i0_i1p2_i2m1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2-1)];
const double hDD12_i0m2_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1-2,i2)];
const double hDD12_i0m1_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1-2,i2)];
const double hDD12_i0_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2)];
const double hDD12_i0p1_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1-2,i2)];
const double hDD12_i0p2_i1m2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1-2,i2)];
const double hDD12_i0m2_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1-1,i2)];
const double hDD12_i0m1_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1-1,i2)];
const double hDD12_i0_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2)];
const double hDD12_i0p1_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1-1,i2)];
const double hDD12_i0p2_i1m1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1-1,i2)];
const double hDD12_i0m2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2)];
const double hDD12_i0m1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2)];
const double hDD12 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2)];
const double hDD12_i0p1_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2)];
const double hDD12_i0p2_i1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2)];
const double hDD12_i0m2_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1+1,i2)];
const double hDD12_i0m1_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1+1,i2)];
const double hDD12_i0_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2)];
const double hDD12_i0p1_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1+1,i2)];
const double hDD12_i0p2_i1p1_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1+1,i2)];
const double hDD12_i0m2_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1+2,i2)];
const double hDD12_i0m1_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1+2,i2)];
const double hDD12_i0_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2)];
const double hDD12_i0p1_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1+2,i2)];
const double hDD12_i0p2_i1p2_i2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1+2,i2)];
const double hDD12_i0_i1m2_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2+1)];
const double hDD12_i0_i1m1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2+1)];
const double hDD12_i0m2_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2+1)];
const double hDD12_i0m1_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2+1)];
const double hDD12_i0_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+1)];
const double hDD12_i0p1_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2+1)];
const double hDD12_i0p2_i1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2+1)];
const double hDD12_i0_i1p1_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2+1)];
const double hDD12_i0_i1p2_i2p1 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2+1)];
const double hDD12_i0_i1m2_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-2,i2+2)];
const double hDD12_i0_i1m1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1-1,i2+2)];
const double hDD12_i0m2_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0-2,i1,i2+2)];
const double hDD12_i0m1_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0-1,i1,i2+2)];
const double hDD12_i0_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2+2)];
const double hDD12_i0p1_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0+1,i1,i2+2)];
const double hDD12_i0p2_i1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0+2,i1,i2+2)];
const double hDD12_i0_i1p1_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+1,i2+2)];
const double hDD12_i0_i1p2_i2p2 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1+2,i2+2)];
const double hDD22_i0_i1m2_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2-2)];
const double hDD22_i0_i1m1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2-2)];
const double hDD22_i0m2_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2-2)];
const double hDD22_i0m1_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2-2)];
const double hDD22_i0_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-2)];
const double hDD22_i0p1_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2-2)];
const double hDD22_i0p2_i1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2-2)];
const double hDD22_i0_i1p1_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2-2)];
const double hDD22_i0_i1p2_i2m2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2-2)];
const double hDD22_i0_i1m2_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2-1)];
const double hDD22_i0_i1m1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2-1)];
const double hDD22_i0m2_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2-1)];
const double hDD22_i0m1_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2-1)];
const double hDD22_i0_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2-1)];
const double hDD22_i0p1_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2-1)];
const double hDD22_i0p2_i1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2-1)];
const double hDD22_i0_i1p1_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2-1)];
const double hDD22_i0_i1p2_i2m1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2-1)];
const double hDD22_i0m2_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1-2,i2)];
const double hDD22_i0m1_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1-2,i2)];
const double hDD22_i0_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2)];
const double hDD22_i0p1_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1-2,i2)];
const double hDD22_i0p2_i1m2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1-2,i2)];
const double hDD22_i0m2_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1-1,i2)];
const double hDD22_i0m1_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1-1,i2)];
const double hDD22_i0_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2)];
const double hDD22_i0p1_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1-1,i2)];
const double hDD22_i0p2_i1m1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1-1,i2)];
const double hDD22_i0m2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2)];
const double hDD22_i0m1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2)];
const double hDD22 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2)];
const double hDD22_i0p1_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2)];
const double hDD22_i0p2_i1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2)];
const double hDD22_i0m2_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1+1,i2)];
const double hDD22_i0m1_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1+1,i2)];
const double hDD22_i0_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2)];
const double hDD22_i0p1_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1+1,i2)];
const double hDD22_i0p2_i1p1_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1+1,i2)];
const double hDD22_i0m2_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1+2,i2)];
const double hDD22_i0m1_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1+2,i2)];
const double hDD22_i0_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2)];
const double hDD22_i0p1_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1+2,i2)];
const double hDD22_i0p2_i1p2_i2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1+2,i2)];
const double hDD22_i0_i1m2_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2+1)];
const double hDD22_i0_i1m1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2+1)];
const double hDD22_i0m2_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2+1)];
const double hDD22_i0m1_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2+1)];
const double hDD22_i0_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+1)];
const double hDD22_i0p1_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2+1)];
const double hDD22_i0p2_i1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2+1)];
const double hDD22_i0_i1p1_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2+1)];
const double hDD22_i0_i1p2_i2p1 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2+1)];
const double hDD22_i0_i1m2_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-2,i2+2)];
const double hDD22_i0_i1m1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1-1,i2+2)];
const double hDD22_i0m2_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0-2,i1,i2+2)];
const double hDD22_i0m1_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0-1,i1,i2+2)];
const double hDD22_i0_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2+2)];
const double hDD22_i0p1_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0+1,i1,i2+2)];
const double hDD22_i0p2_i1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0+2,i1,i2+2)];
const double hDD22_i0_i1p1_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+1,i2+2)];
const double hDD22_i0_i1p2_i2p2 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1+2,i2+2)];
const double aDD00_i0_i1_i2m2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2-2)];
const double aDD00_i0_i1_i2m1 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2-1)];
const double aDD00_i0_i1m2_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1-2,i2)];
const double aDD00_i0_i1m1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1-1,i2)];
const double aDD00_i0m2_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0-2,i1,i2)];
const double aDD00_i0m1_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0-1,i1,i2)];
const double aDD00 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2)];
const double aDD00_i0p1_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0+1,i1,i2)];
const double aDD00_i0p2_i1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0+2,i1,i2)];
const double aDD00_i0_i1p1_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1+1,i2)];
const double aDD00_i0_i1p2_i2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1+2,i2)];
const double aDD00_i0_i1_i2p1 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2+1)];
const double aDD00_i0_i1_i2p2 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2+2)];
const double aDD01_i0_i1_i2m2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2-2)];
const double aDD01_i0_i1_i2m1 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2-1)];
const double aDD01_i0_i1m2_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1-2,i2)];
const double aDD01_i0_i1m1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1-1,i2)];
const double aDD01_i0m2_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0-2,i1,i2)];
const double aDD01_i0m1_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0-1,i1,i2)];
const double aDD01 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2)];
const double aDD01_i0p1_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0+1,i1,i2)];
const double aDD01_i0p2_i1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0+2,i1,i2)];
const double aDD01_i0_i1p1_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1+1,i2)];
const double aDD01_i0_i1p2_i2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1+2,i2)];
const double aDD01_i0_i1_i2p1 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2+1)];
const double aDD01_i0_i1_i2p2 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2+2)];
const double aDD02_i0_i1_i2m2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2-2)];
const double aDD02_i0_i1_i2m1 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2-1)];
const double aDD02_i0_i1m2_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1-2,i2)];
const double aDD02_i0_i1m1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1-1,i2)];
const double aDD02_i0m2_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0-2,i1,i2)];
const double aDD02_i0m1_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0-1,i1,i2)];
const double aDD02 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2)];
const double aDD02_i0p1_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0+1,i1,i2)];
const double aDD02_i0p2_i1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0+2,i1,i2)];
const double aDD02_i0_i1p1_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1+1,i2)];
const double aDD02_i0_i1p2_i2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1+2,i2)];
const double aDD02_i0_i1_i2p1 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2+1)];
const double aDD02_i0_i1_i2p2 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2+2)];
const double aDD11_i0_i1_i2m2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2-2)];
const double aDD11_i0_i1_i2m1 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2-1)];
const double aDD11_i0_i1m2_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1-2,i2)];
const double aDD11_i0_i1m1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1-1,i2)];
const double aDD11_i0m2_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0-2,i1,i2)];
const double aDD11_i0m1_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0-1,i1,i2)];
const double aDD11 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2)];
const double aDD11_i0p1_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0+1,i1,i2)];
const double aDD11_i0p2_i1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0+2,i1,i2)];
const double aDD11_i0_i1p1_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1+1,i2)];
const double aDD11_i0_i1p2_i2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1+2,i2)];
const double aDD11_i0_i1_i2p1 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2+1)];
const double aDD11_i0_i1_i2p2 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2+2)];
const double aDD12_i0_i1_i2m2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2-2)];
const double aDD12_i0_i1_i2m1 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2-1)];
const double aDD12_i0_i1m2_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1-2,i2)];
const double aDD12_i0_i1m1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1-1,i2)];
const double aDD12_i0m2_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0-2,i1,i2)];
const double aDD12_i0m1_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0-1,i1,i2)];
const double aDD12 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2)];
const double aDD12_i0p1_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0+1,i1,i2)];
const double aDD12_i0p2_i1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0+2,i1,i2)];
const double aDD12_i0_i1p1_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1+1,i2)];
const double aDD12_i0_i1p2_i2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1+2,i2)];
const double aDD12_i0_i1_i2p1 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2+1)];
const double aDD12_i0_i1_i2p2 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2+2)];
const double aDD22_i0_i1_i2m2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2-2)];
const double aDD22_i0_i1_i2m1 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2-1)];
const double aDD22_i0_i1m2_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1-2,i2)];
const double aDD22_i0_i1m1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1-1,i2)];
const double aDD22_i0m2_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0-2,i1,i2)];
const double aDD22_i0m1_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0-1,i1,i2)];
const double aDD22 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2)];
const double aDD22_i0p1_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0+1,i1,i2)];
const double aDD22_i0p2_i1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0+2,i1,i2)];
const double aDD22_i0_i1p1_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1+1,i2)];
const double aDD22_i0_i1p2_i2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1+2,i2)];
const double aDD22_i0_i1_i2p1 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2+1)];
const double aDD22_i0_i1_i2p2 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2+2)];
const double lambdaU0_i0_i1_i2m2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-2)];
const double lambdaU0_i0_i1_i2m1 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2-1)];
const double lambdaU0_i0_i1m2_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-2,i2)];
const double lambdaU0_i0_i1m1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1-1,i2)];
const double lambdaU0_i0m2_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-2,i1,i2)];
const double lambdaU0_i0m1_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0-1,i1,i2)];
const double lambdaU0_i0p1_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+1,i1,i2)];
const double lambdaU0_i0p2_i1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0+2,i1,i2)];
const double lambdaU0_i0_i1p1_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+1,i2)];
const double lambdaU0_i0_i1p2_i2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1+2,i2)];
const double lambdaU0_i0_i1_i2p1 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+1)];
const double lambdaU0_i0_i1_i2p2 = lambdaU0GF_.ptr[lambdaU0GF_.offset(i0,i1,i2+2)];
const double lambdaU1_i0_i1_i2m2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-2)];
const double lambdaU1_i0_i1_i2m1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2-1)];
const double lambdaU1_i0_i1m2_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-2,i2)];
const double lambdaU1_i0_i1m1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1-1,i2)];
const double lambdaU1_i0m2_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-2,i1,i2)];
const double lambdaU1_i0m1_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0-1,i1,i2)];
const double lambdaU1_i0p1_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+1,i1,i2)];
const double lambdaU1_i0p2_i1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0+2,i1,i2)];
const double lambdaU1_i0_i1p1_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+1,i2)];
const double lambdaU1_i0_i1p2_i2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1+2,i2)];
const double lambdaU1_i0_i1_i2p1 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+1)];
const double lambdaU1_i0_i1_i2p2 = lambdaU1GF_.ptr[lambdaU1GF_.offset(i0,i1,i2+2)];
const double lambdaU2_i0_i1_i2m2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-2)];
const double lambdaU2_i0_i1_i2m1 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2-1)];
const double lambdaU2_i0_i1m2_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-2,i2)];
const double lambdaU2_i0_i1m1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1-1,i2)];
const double lambdaU2_i0m2_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-2,i1,i2)];
const double lambdaU2_i0m1_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0-1,i1,i2)];
const double lambdaU2_i0p1_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+1,i1,i2)];
const double lambdaU2_i0p2_i1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0+2,i1,i2)];
const double lambdaU2_i0_i1p1_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+1,i2)];
const double lambdaU2_i0_i1p2_i2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1+2,i2)];
const double lambdaU2_i0_i1_i2p1 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+1)];
const double lambdaU2_i0_i1_i2p2 = lambdaU2GF_.ptr[lambdaU2GF_.offset(i0,i1,i2+2)];
const double trK_i0_i1_i2m2 = trKGF_.ptr[trKGF_.offset(i0,i1,i2-2)];
const double trK_i0_i1_i2m1 = trKGF_.ptr[trKGF_.offset(i0,i1,i2-1)];
const double trK_i0_i1m2_i2 = trKGF_.ptr[trKGF_.offset(i0,i1-2,i2)];
const double trK_i0_i1m1_i2 = trKGF_.ptr[trKGF_.offset(i0,i1-1,i2)];
const double trK_i0m2_i1_i2 = trKGF_.ptr[trKGF_.offset(i0-2,i1,i2)];
const double trK_i0m1_i1_i2 = trKGF_.ptr[trKGF_.offset(i0-1,i1,i2)];
const double trK = trKGF_.ptr[trKGF_.offset(i0,i1,i2)];
const double trK_i0p1_i1_i2 = trKGF_.ptr[trKGF_.offset(i0+1,i1,i2)];
const double trK_i0p2_i1_i2 = trKGF_.ptr[trKGF_.offset(i0+2,i1,i2)];
const double trK_i0_i1p1_i2 = trKGF_.ptr[trKGF_.offset(i0,i1+1,i2)];
const double trK_i0_i1p2_i2 = trKGF_.ptr[trKGF_.offset(i0,i1+2,i2)];
const double trK_i0_i1_i2p1 = trKGF_.ptr[trKGF_.offset(i0,i1,i2+1)];
const double trK_i0_i1_i2p2 = trKGF_.ptr[trKGF_.offset(i0,i1,i2+2)];
const double cf_i0_i1m2_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2-2)];
const double cf_i0_i1m1_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2-2)];
const double cf_i0m2_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2-2)];
const double cf_i0m1_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2-2)];
const double cf_i0_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1,i2-2)];
const double cf_i0p1_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2-2)];
const double cf_i0p2_i1_i2m2 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2-2)];
const double cf_i0_i1p1_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2-2)];
const double cf_i0_i1p2_i2m2 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2-2)];
const double cf_i0_i1m2_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2-1)];
const double cf_i0_i1m1_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2-1)];
const double cf_i0m2_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2-1)];
const double cf_i0m1_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2-1)];
const double cf_i0_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1,i2-1)];
const double cf_i0p1_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2-1)];
const double cf_i0p2_i1_i2m1 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2-1)];
const double cf_i0_i1p1_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2-1)];
const double cf_i0_i1p2_i2m1 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2-1)];
const double cf_i0m2_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1-2,i2)];
const double cf_i0m1_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1-2,i2)];
const double cf_i0_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2)];
const double cf_i0p1_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1-2,i2)];
const double cf_i0p2_i1m2_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1-2,i2)];
const double cf_i0m2_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1-1,i2)];
const double cf_i0m1_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1-1,i2)];
const double cf_i0_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2)];
const double cf_i0p1_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1-1,i2)];
const double cf_i0p2_i1m1_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1-1,i2)];
const double cf_i0m2_i1_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2)];
const double cf_i0m1_i1_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2)];
const double cf = cfGF_.ptr[cfGF_.offset(i0,i1,i2)];
const double cf_i0p1_i1_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2)];
const double cf_i0p2_i1_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2)];
const double cf_i0m2_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1+1,i2)];
const double cf_i0m1_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1+1,i2)];
const double cf_i0_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2)];
const double cf_i0p1_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1+1,i2)];
const double cf_i0p2_i1p1_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1+1,i2)];
const double cf_i0m2_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0-2,i1+2,i2)];
const double cf_i0m1_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0-1,i1+2,i2)];
const double cf_i0_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2)];
const double cf_i0p1_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0+1,i1+2,i2)];
const double cf_i0p2_i1p2_i2 = cfGF_.ptr[cfGF_.offset(i0+2,i1+2,i2)];
const double cf_i0_i1m2_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2+1)];
const double cf_i0_i1m1_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2+1)];
const double cf_i0m2_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2+1)];
const double cf_i0m1_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2+1)];
const double cf_i0_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1,i2+1)];
const double cf_i0p1_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2+1)];
const double cf_i0p2_i1_i2p1 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2+1)];
const double cf_i0_i1p1_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2+1)];
const double cf_i0_i1p2_i2p1 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2+1)];
const double cf_i0_i1m2_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1-2,i2+2)];
const double cf_i0_i1m1_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1-1,i2+2)];
const double cf_i0m2_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0-2,i1,i2+2)];
const double cf_i0m1_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0-1,i1,i2+2)];
const double cf_i0_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1,i2+2)];
const double cf_i0p1_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0+1,i1,i2+2)];
const double cf_i0p2_i1_i2p2 = cfGF_.ptr[cfGF_.offset(i0+2,i1,i2+2)];
const double cf_i0_i1p1_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1+1,i2+2)];
const double cf_i0_i1p2_i2p2 = cfGF_.ptr[cfGF_.offset(i0,i1+2,i2+2)];
const double tmpFD0 = (1.0/12.0)*cf_i0m2_i1_i2;
const double tmpFD1 = -1.0/12.0*cf_i0p2_i1_i2;
const double tmpFD2 = (1.0/12.0)*cf_i0_i1m2_i2;
const double tmpFD3 = -1.0/12.0*cf_i0_i1p2_i2;
const double tmpFD4 = (1.0/12.0)*cf_i0_i1_i2m2;
const double tmpFD5 = -1.0/12.0*cf_i0_i1_i2p2;
const double tmpFD6 = ((invdx0)*(invdx0));
const double tmpFD7 = -5.0/2.0*cf;
const double tmpFD8 = invdx0*invdx1;
const double tmpFD9 = invdx0*invdx2;
const double tmpFD10 = ((invdx1)*(invdx1));
const double tmpFD11 = invdx1*invdx2;
const double tmpFD12 = ((invdx2)*(invdx2));
const double tmpFD13 = (1.0/12.0)*hDD00_i0m2_i1_i2;
const double tmpFD14 = -1.0/12.0*hDD00_i0p2_i1_i2;
const double tmpFD15 = (1.0/12.0)*hDD00_i0_i1m2_i2;
const double tmpFD16 = -1.0/12.0*hDD00_i0_i1p2_i2;
const double tmpFD17 = (1.0/12.0)*hDD00_i0_i1_i2m2;
const double tmpFD18 = -1.0/12.0*hDD00_i0_i1_i2p2;
const double tmpFD19 = (1.0/12.0)*hDD01_i0m2_i1_i2;
const double tmpFD20 = -1.0/12.0*hDD01_i0p2_i1_i2;
const double tmpFD21 = (1.0/12.0)*hDD01_i0_i1m2_i2;
const double tmpFD22 = -1.0/12.0*hDD01_i0_i1p2_i2;
const double tmpFD23 = (1.0/12.0)*hDD01_i0_i1_i2m2;
const double tmpFD24 = -1.0/12.0*hDD01_i0_i1_i2p2;
const double tmpFD25 = (1.0/12.0)*hDD02_i0m2_i1_i2;
const double tmpFD26 = -1.0/12.0*hDD02_i0p2_i1_i2;
const double tmpFD27 = (1.0/12.0)*hDD02_i0_i1m2_i2;
const double tmpFD28 = -1.0/12.0*hDD02_i0_i1p2_i2;
const double tmpFD29 = (1.0/12.0)*hDD02_i0_i1_i2m2;
const double tmpFD30 = -1.0/12.0*hDD02_i0_i1_i2p2;
const double tmpFD31 = (1.0/12.0)*hDD11_i0m2_i1_i2;
const double tmpFD32 = -1.0/12.0*hDD11_i0p2_i1_i2;
const double tmpFD33 = (1.0/12.0)*hDD11_i0_i1m2_i2;
const double tmpFD34 = -1.0/12.0*hDD11_i0_i1p2_i2;
const double tmpFD35 = (1.0/12.0)*hDD11_i0_i1_i2m2;
const double tmpFD36 = -1.0/12.0*hDD11_i0_i1_i2p2;
const double tmpFD37 = (1.0/12.0)*hDD12_i0m2_i1_i2;
const double tmpFD38 = -1.0/12.0*hDD12_i0p2_i1_i2;
const double tmpFD39 = (1.0/12.0)*hDD12_i0_i1m2_i2;
const double tmpFD40 = -1.0/12.0*hDD12_i0_i1p2_i2;
const double tmpFD41 = (1.0/12.0)*hDD12_i0_i1_i2m2;
const double tmpFD42 = -1.0/12.0*hDD12_i0_i1_i2p2;
const double tmpFD43 = (1.0/12.0)*hDD22_i0m2_i1_i2;
const double tmpFD44 = -1.0/12.0*hDD22_i0p2_i1_i2;
const double tmpFD45 = (1.0/12.0)*hDD22_i0_i1m2_i2;
const double tmpFD46 = -1.0/12.0*hDD22_i0_i1p2_i2;
const double tmpFD47 = (1.0/12.0)*hDD22_i0_i1_i2m2;
const double tmpFD48 = -1.0/12.0*hDD22_i0_i1_i2p2;
const double tmpFD49 = -5.0/2.0*hDD00;
const double tmpFD50 = -5.0/2.0*hDD01;
const double tmpFD51 = -5.0/2.0*hDD02;
const double tmpFD52 = -5.0/2.0*hDD11;
const double tmpFD53 = -5.0/2.0*hDD12;
const double tmpFD54 = -5.0/2.0*hDD22;
const double aDD_dD000 = invdx0*(-2.0/3.0*aDD00_i0m1_i1_i2 + (1.0/12.0)*aDD00_i0m2_i1_i2 + (2.0/3.0)*aDD00_i0p1_i1_i2 - 1.0/12.0*aDD00_i0p2_i1_i2);
const double aDD_dD001 = invdx1*(-2.0/3.0*aDD00_i0_i1m1_i2 + (1.0/12.0)*aDD00_i0_i1m2_i2 + (2.0/3.0)*aDD00_i0_i1p1_i2 - 1.0/12.0*aDD00_i0_i1p2_i2);
const double aDD_dD002 = invdx2*(-2.0/3.0*aDD00_i0_i1_i2m1 + (1.0/12.0)*aDD00_i0_i1_i2m2 + (2.0/3.0)*aDD00_i0_i1_i2p1 - 1.0/12.0*aDD00_i0_i1_i2p2);
const double aDD_dD010 = invdx0*(-2.0/3.0*aDD01_i0m1_i1_i2 + (1.0/12.0)*aDD01_i0m2_i1_i2 + (2.0/3.0)*aDD01_i0p1_i1_i2 - 1.0/12.0*aDD01_i0p2_i1_i2);
const double aDD_dD011 = invdx1*(-2.0/3.0*aDD01_i0_i1m1_i2 + (1.0/12.0)*aDD01_i0_i1m2_i2 + (2.0/3.0)*aDD01_i0_i1p1_i2 - 1.0/12.0*aDD01_i0_i1p2_i2);
const double aDD_dD012 = invdx2*(-2.0/3.0*aDD01_i0_i1_i2m1 + (1.0/12.0)*aDD01_i0_i1_i2m2 + (2.0/3.0)*aDD01_i0_i1_i2p1 - 1.0/12.0*aDD01_i0_i1_i2p2);
const double aDD_dD020 = invdx0*(-2.0/3.0*aDD02_i0m1_i1_i2 + (1.0/12.0)*aDD02_i0m2_i1_i2 + (2.0/3.0)*aDD02_i0p1_i1_i2 - 1.0/12.0*aDD02_i0p2_i1_i2);
const double aDD_dD021 = invdx1*(-2.0/3.0*aDD02_i0_i1m1_i2 + (1.0/12.0)*aDD02_i0_i1m2_i2 + (2.0/3.0)*aDD02_i0_i1p1_i2 - 1.0/12.0*aDD02_i0_i1p2_i2);
const double aDD_dD022 = invdx2*(-2.0/3.0*aDD02_i0_i1_i2m1 + (1.0/12.0)*aDD02_i0_i1_i2m2 + (2.0/3.0)*aDD02_i0_i1_i2p1 - 1.0/12.0*aDD02_i0_i1_i2p2);
const double aDD_dD110 = invdx0*(-2.0/3.0*aDD11_i0m1_i1_i2 + (1.0/12.0)*aDD11_i0m2_i1_i2 + (2.0/3.0)*aDD11_i0p1_i1_i2 - 1.0/12.0*aDD11_i0p2_i1_i2);
const double aDD_dD111 = invdx1*(-2.0/3.0*aDD11_i0_i1m1_i2 + (1.0/12.0)*aDD11_i0_i1m2_i2 + (2.0/3.0)*aDD11_i0_i1p1_i2 - 1.0/12.0*aDD11_i0_i1p2_i2);
const double aDD_dD112 = invdx2*(-2.0/3.0*aDD11_i0_i1_i2m1 + (1.0/12.0)*aDD11_i0_i1_i2m2 + (2.0/3.0)*aDD11_i0_i1_i2p1 - 1.0/12.0*aDD11_i0_i1_i2p2);
const double aDD_dD120 = invdx0*(-2.0/3.0*aDD12_i0m1_i1_i2 + (1.0/12.0)*aDD12_i0m2_i1_i2 + (2.0/3.0)*aDD12_i0p1_i1_i2 - 1.0/12.0*aDD12_i0p2_i1_i2);
const double aDD_dD121 = invdx1*(-2.0/3.0*aDD12_i0_i1m1_i2 + (1.0/12.0)*aDD12_i0_i1m2_i2 + (2.0/3.0)*aDD12_i0_i1p1_i2 - 1.0/12.0*aDD12_i0_i1p2_i2);
const double aDD_dD122 = invdx2*(-2.0/3.0*aDD12_i0_i1_i2m1 + (1.0/12.0)*aDD12_i0_i1_i2m2 + (2.0/3.0)*aDD12_i0_i1_i2p1 - 1.0/12.0*aDD12_i0_i1_i2p2);
const double aDD_dD220 = invdx0*(-2.0/3.0*aDD22_i0m1_i1_i2 + (1.0/12.0)*aDD22_i0m2_i1_i2 + (2.0/3.0)*aDD22_i0p1_i1_i2 - 1.0/12.0*aDD22_i0p2_i1_i2);
const double aDD_dD221 = invdx1*(-2.0/3.0*aDD22_i0_i1m1_i2 + (1.0/12.0)*aDD22_i0_i1m2_i2 + (2.0/3.0)*aDD22_i0_i1p1_i2 - 1.0/12.0*aDD22_i0_i1p2_i2);
const double aDD_dD222 = invdx2*(-2.0/3.0*aDD22_i0_i1_i2m1 + (1.0/12.0)*aDD22_i0_i1_i2m2 + (2.0/3.0)*aDD22_i0_i1_i2p1 - 1.0/12.0*aDD22_i0_i1_i2p2);
const double cf_dD0 = invdx0*(-2.0/3.0*cf_i0m1_i1_i2 + (2.0/3.0)*cf_i0p1_i1_i2 + tmpFD0 + tmpFD1);
const double cf_dD1 = invdx1*(-2.0/3.0*cf_i0_i1m1_i2 + (2.0/3.0)*cf_i0_i1p1_i2 + tmpFD2 + tmpFD3);
const double cf_dD2 = invdx2*(-2.0/3.0*cf_i0_i1_i2m1 + (2.0/3.0)*cf_i0_i1_i2p1 + tmpFD4 + tmpFD5);
const double cf_dDD00 = tmpFD6*((4.0/3.0)*cf_i0m1_i1_i2 + (4.0/3.0)*cf_i0p1_i1_i2 - tmpFD0 + tmpFD1 + tmpFD7);
const double cf_dDD01 = tmpFD8*((4.0/9.0)*cf_i0m1_i1m1_i2 - 1.0/18.0*cf_i0m1_i1m2_i2 - 4.0/9.0*cf_i0m1_i1p1_i2 + (1.0/18.0)*cf_i0m1_i1p2_i2 - 1.0/18.0*cf_i0m2_i1m1_i2 + (1.0/144.0)*cf_i0m2_i1m2_i2 + (1.0/18.0)*cf_i0m2_i1p1_i2 - 1.0/144.0*cf_i0m2_i1p2_i2 - 4.0/9.0*cf_i0p1_i1m1_i2 + (1.0/18.0)*cf_i0p1_i1m2_i2 + (4.0/9.0)*cf_i0p1_i1p1_i2 - 1.0/18.0*cf_i0p1_i1p2_i2 + (1.0/18.0)*cf_i0p2_i1m1_i2 - 1.0/144.0*cf_i0p2_i1m2_i2 - 1.0/18.0*cf_i0p2_i1p1_i2 + (1.0/144.0)*cf_i0p2_i1p2_i2);
const double cf_dDD02 = tmpFD9*((4.0/9.0)*cf_i0m1_i1_i2m1 - 1.0/18.0*cf_i0m1_i1_i2m2 - 4.0/9.0*cf_i0m1_i1_i2p1 + (1.0/18.0)*cf_i0m1_i1_i2p2 - 1.0/18.0*cf_i0m2_i1_i2m1 + (1.0/144.0)*cf_i0m2_i1_i2m2 + (1.0/18.0)*cf_i0m2_i1_i2p1 - 1.0/144.0*cf_i0m2_i1_i2p2 - 4.0/9.0*cf_i0p1_i1_i2m1 + (1.0/18.0)*cf_i0p1_i1_i2m2 + (4.0/9.0)*cf_i0p1_i1_i2p1 - 1.0/18.0*cf_i0p1_i1_i2p2 + (1.0/18.0)*cf_i0p2_i1_i2m1 - 1.0/144.0*cf_i0p2_i1_i2m2 - 1.0/18.0*cf_i0p2_i1_i2p1 + (1.0/144.0)*cf_i0p2_i1_i2p2);
const double cf_dDD11 = tmpFD10*((4.0/3.0)*cf_i0_i1m1_i2 + (4.0/3.0)*cf_i0_i1p1_i2 - tmpFD2 + tmpFD3 + tmpFD7);
const double cf_dDD12 = tmpFD11*((4.0/9.0)*cf_i0_i1m1_i2m1 - 1.0/18.0*cf_i0_i1m1_i2m2 - 4.0/9.0*cf_i0_i1m1_i2p1 + (1.0/18.0)*cf_i0_i1m1_i2p2 - 1.0/18.0*cf_i0_i1m2_i2m1 + (1.0/144.0)*cf_i0_i1m2_i2m2 + (1.0/18.0)*cf_i0_i1m2_i2p1 - 1.0/144.0*cf_i0_i1m2_i2p2 - 4.0/9.0*cf_i0_i1p1_i2m1 + (1.0/18.0)*cf_i0_i1p1_i2m2 + (4.0/9.0)*cf_i0_i1p1_i2p1 - 1.0/18.0*cf_i0_i1p1_i2p2 + (1.0/18.0)*cf_i0_i1p2_i2m1 - 1.0/144.0*cf_i0_i1p2_i2m2 - 1.0/18.0*cf_i0_i1p2_i2p1 + (1.0/144.0)*cf_i0_i1p2_i2p2);
const double cf_dDD22 = tmpFD12*((4.0/3.0)*cf_i0_i1_i2m1 + (4.0/3.0)*cf_i0_i1_i2p1 - tmpFD4 + tmpFD5 + tmpFD7);
const double hDD_dD000 = invdx0*(-2.0/3.0*hDD00_i0m1_i1_i2 + (2.0/3.0)*hDD00_i0p1_i1_i2 + tmpFD13 + tmpFD14);
const double hDD_dD001 = invdx1*(-2.0/3.0*hDD00_i0_i1m1_i2 + (2.0/3.0)*hDD00_i0_i1p1_i2 + tmpFD15 + tmpFD16);
const double hDD_dD002 = invdx2*(-2.0/3.0*hDD00_i0_i1_i2m1 + (2.0/3.0)*hDD00_i0_i1_i2p1 + tmpFD17 + tmpFD18);
const double hDD_dD010 = invdx0*(-2.0/3.0*hDD01_i0m1_i1_i2 + (2.0/3.0)*hDD01_i0p1_i1_i2 + tmpFD19 + tmpFD20);
const double hDD_dD011 = invdx1*(-2.0/3.0*hDD01_i0_i1m1_i2 + (2.0/3.0)*hDD01_i0_i1p1_i2 + tmpFD21 + tmpFD22);
const double hDD_dD012 = invdx2*(-2.0/3.0*hDD01_i0_i1_i2m1 + (2.0/3.0)*hDD01_i0_i1_i2p1 + tmpFD23 + tmpFD24);
const double hDD_dD020 = invdx0*(-2.0/3.0*hDD02_i0m1_i1_i2 + (2.0/3.0)*hDD02_i0p1_i1_i2 + tmpFD25 + tmpFD26);
const double hDD_dD021 = invdx1*(-2.0/3.0*hDD02_i0_i1m1_i2 + (2.0/3.0)*hDD02_i0_i1p1_i2 + tmpFD27 + tmpFD28);
const double hDD_dD022 = invdx2*(-2.0/3.0*hDD02_i0_i1_i2m1 + (2.0/3.0)*hDD02_i0_i1_i2p1 + tmpFD29 + tmpFD30);
const double hDD_dD110 = invdx0*(-2.0/3.0*hDD11_i0m1_i1_i2 + (2.0/3.0)*hDD11_i0p1_i1_i2 + tmpFD31 + tmpFD32);
const double hDD_dD111 = invdx1*(-2.0/3.0*hDD11_i0_i1m1_i2 + (2.0/3.0)*hDD11_i0_i1p1_i2 + tmpFD33 + tmpFD34);
const double hDD_dD112 = invdx2*(-2.0/3.0*hDD11_i0_i1_i2m1 + (2.0/3.0)*hDD11_i0_i1_i2p1 + tmpFD35 + tmpFD36);
const double hDD_dD120 = invdx0*(-2.0/3.0*hDD12_i0m1_i1_i2 + (2.0/3.0)*hDD12_i0p1_i1_i2 + tmpFD37 + tmpFD38);
const double hDD_dD121 = invdx1*(-2.0/3.0*hDD12_i0_i1m1_i2 + (2.0/3.0)*hDD12_i0_i1p1_i2 + tmpFD39 + tmpFD40);
const double hDD_dD122 = invdx2*(-2.0/3.0*hDD12_i0_i1_i2m1 + (2.0/3.0)*hDD12_i0_i1_i2p1 + tmpFD41 + tmpFD42);
const double hDD_dD220 = invdx0*(-2.0/3.0*hDD22_i0m1_i1_i2 + (2.0/3.0)*hDD22_i0p1_i1_i2 + tmpFD43 + tmpFD44);
const double hDD_dD221 = invdx1*(-2.0/3.0*hDD22_i0_i1m1_i2 + (2.0/3.0)*hDD22_i0_i1p1_i2 + tmpFD45 + tmpFD46);
const double hDD_dD222 = invdx2*(-2.0/3.0*hDD22_i0_i1_i2m1 + (2.0/3.0)*hDD22_i0_i1_i2p1 + tmpFD47 + tmpFD48);
const double hDD_dDD0000 = tmpFD6*((4.0/3.0)*hDD00_i0m1_i1_i2 + (4.0/3.0)*hDD00_i0p1_i1_i2 - tmpFD13 + tmpFD14 + tmpFD49);
const double hDD_dDD0001 = tmpFD8*((4.0/9.0)*hDD00_i0m1_i1m1_i2 - 1.0/18.0*hDD00_i0m1_i1m2_i2 - 4.0/9.0*hDD00_i0m1_i1p1_i2 + (1.0/18.0)*hDD00_i0m1_i1p2_i2 - 1.0/18.0*hDD00_i0m2_i1m1_i2 + (1.0/144.0)*hDD00_i0m2_i1m2_i2 + (1.0/18.0)*hDD00_i0m2_i1p1_i2 - 1.0/144.0*hDD00_i0m2_i1p2_i2 - 4.0/9.0*hDD00_i0p1_i1m1_i2 + (1.0/18.0)*hDD00_i0p1_i1m2_i2 + (4.0/9.0)*hDD00_i0p1_i1p1_i2 - 1.0/18.0*hDD00_i0p1_i1p2_i2 + (1.0/18.0)*hDD00_i0p2_i1m1_i2 - 1.0/144.0*hDD00_i0p2_i1m2_i2 - 1.0/18.0*hDD00_i0p2_i1p1_i2 + (1.0/144.0)*hDD00_i0p2_i1p2_i2);
const double hDD_dDD0002 = tmpFD9*((4.0/9.0)*hDD00_i0m1_i1_i2m1 - 1.0/18.0*hDD00_i0m1_i1_i2m2 - 4.0/9.0*hDD00_i0m1_i1_i2p1 + (1.0/18.0)*hDD00_i0m1_i1_i2p2 - 1.0/18.0*hDD00_i0m2_i1_i2m1 + (1.0/144.0)*hDD00_i0m2_i1_i2m2 + (1.0/18.0)*hDD00_i0m2_i1_i2p1 - 1.0/144.0*hDD00_i0m2_i1_i2p2 - 4.0/9.0*hDD00_i0p1_i1_i2m1 + (1.0/18.0)*hDD00_i0p1_i1_i2m2 + (4.0/9.0)*hDD00_i0p1_i1_i2p1 - 1.0/18.0*hDD00_i0p1_i1_i2p2 + (1.0/18.0)*hDD00_i0p2_i1_i2m1 - 1.0/144.0*hDD00_i0p2_i1_i2m2 - 1.0/18.0*hDD00_i0p2_i1_i2p1 + (1.0/144.0)*hDD00_i0p2_i1_i2p2);
const double hDD_dDD0011 = tmpFD10*((4.0/3.0)*hDD00_i0_i1m1_i2 + (4.0/3.0)*hDD00_i0_i1p1_i2 - tmpFD15 + tmpFD16 + tmpFD49);
const double hDD_dDD0012 = tmpFD11*((4.0/9.0)*hDD00_i0_i1m1_i2m1 - 1.0/18.0*hDD00_i0_i1m1_i2m2 - 4.0/9.0*hDD00_i0_i1m1_i2p1 + (1.0/18.0)*hDD00_i0_i1m1_i2p2 - 1.0/18.0*hDD00_i0_i1m2_i2m1 + (1.0/144.0)*hDD00_i0_i1m2_i2m2 + (1.0/18.0)*hDD00_i0_i1m2_i2p1 - 1.0/144.0*hDD00_i0_i1m2_i2p2 - 4.0/9.0*hDD00_i0_i1p1_i2m1 + (1.0/18.0)*hDD00_i0_i1p1_i2m2 + (4.0/9.0)*hDD00_i0_i1p1_i2p1 - 1.0/18.0*hDD00_i0_i1p1_i2p2 + (1.0/18.0)*hDD00_i0_i1p2_i2m1 - 1.0/144.0*hDD00_i0_i1p2_i2m2 - 1.0/18.0*hDD00_i0_i1p2_i2p1 + (1.0/144.0)*hDD00_i0_i1p2_i2p2);
const double hDD_dDD0022 = tmpFD12*((4.0/3.0)*hDD00_i0_i1_i2m1 + (4.0/3.0)*hDD00_i0_i1_i2p1 - tmpFD17 + tmpFD18 + tmpFD49);
const double hDD_dDD0100 = tmpFD6*((4.0/3.0)*hDD01_i0m1_i1_i2 + (4.0/3.0)*hDD01_i0p1_i1_i2 - tmpFD19 + tmpFD20 + tmpFD50);
const double hDD_dDD0101 = tmpFD8*((4.0/9.0)*hDD01_i0m1_i1m1_i2 - 1.0/18.0*hDD01_i0m1_i1m2_i2 - 4.0/9.0*hDD01_i0m1_i1p1_i2 + (1.0/18.0)*hDD01_i0m1_i1p2_i2 - 1.0/18.0*hDD01_i0m2_i1m1_i2 + (1.0/144.0)*hDD01_i0m2_i1m2_i2 + (1.0/18.0)*hDD01_i0m2_i1p1_i2 - 1.0/144.0*hDD01_i0m2_i1p2_i2 - 4.0/9.0*hDD01_i0p1_i1m1_i2 + (1.0/18.0)*hDD01_i0p1_i1m2_i2 + (4.0/9.0)*hDD01_i0p1_i1p1_i2 - 1.0/18.0*hDD01_i0p1_i1p2_i2 + (1.0/18.0)*hDD01_i0p2_i1m1_i2 - 1.0/144.0*hDD01_i0p2_i1m2_i2 - 1.0/18.0*hDD01_i0p2_i1p1_i2 + (1.0/144.0)*hDD01_i0p2_i1p2_i2);
const double hDD_dDD0102 = tmpFD9*((4.0/9.0)*hDD01_i0m1_i1_i2m1 - 1.0/18.0*hDD01_i0m1_i1_i2m2 - 4.0/9.0*hDD01_i0m1_i1_i2p1 + (1.0/18.0)*hDD01_i0m1_i1_i2p2 - 1.0/18.0*hDD01_i0m2_i1_i2m1 + (1.0/144.0)*hDD01_i0m2_i1_i2m2 + (1.0/18.0)*hDD01_i0m2_i1_i2p1 - 1.0/144.0*hDD01_i0m2_i1_i2p2 - 4.0/9.0*hDD01_i0p1_i1_i2m1 + (1.0/18.0)*hDD01_i0p1_i1_i2m2 + (4.0/9.0)*hDD01_i0p1_i1_i2p1 - 1.0/18.0*hDD01_i0p1_i1_i2p2 + (1.0/18.0)*hDD01_i0p2_i1_i2m1 - 1.0/144.0*hDD01_i0p2_i1_i2m2 - 1.0/18.0*hDD01_i0p2_i1_i2p1 + (1.0/144.0)*hDD01_i0p2_i1_i2p2);
const double hDD_dDD0111 = tmpFD10*((4.0/3.0)*hDD01_i0_i1m1_i2 + (4.0/3.0)*hDD01_i0_i1p1_i2 - tmpFD21 + tmpFD22 + tmpFD50);
const double hDD_dDD0112 = tmpFD11*((4.0/9.0)*hDD01_i0_i1m1_i2m1 - 1.0/18.0*hDD01_i0_i1m1_i2m2 - 4.0/9.0*hDD01_i0_i1m1_i2p1 + (1.0/18.0)*hDD01_i0_i1m1_i2p2 - 1.0/18.0*hDD01_i0_i1m2_i2m1 + (1.0/144.0)*hDD01_i0_i1m2_i2m2 + (1.0/18.0)*hDD01_i0_i1m2_i2p1 - 1.0/144.0*hDD01_i0_i1m2_i2p2 - 4.0/9.0*hDD01_i0_i1p1_i2m1 + (1.0/18.0)*hDD01_i0_i1p1_i2m2 + (4.0/9.0)*hDD01_i0_i1p1_i2p1 - 1.0/18.0*hDD01_i0_i1p1_i2p2 + (1.0/18.0)*hDD01_i0_i1p2_i2m1 - 1.0/144.0*hDD01_i0_i1p2_i2m2 - 1.0/18.0*hDD01_i0_i1p2_i2p1 + (1.0/144.0)*hDD01_i0_i1p2_i2p2);
const double hDD_dDD0122 = tmpFD12*((4.0/3.0)*hDD01_i0_i1_i2m1 + (4.0/3.0)*hDD01_i0_i1_i2p1 - tmpFD23 + tmpFD24 + tmpFD50);
const double hDD_dDD0200 = tmpFD6*((4.0/3.0)*hDD02_i0m1_i1_i2 + (4.0/3.0)*hDD02_i0p1_i1_i2 - tmpFD25 + tmpFD26 + tmpFD51);
const double hDD_dDD0201 = tmpFD8*((4.0/9.0)*hDD02_i0m1_i1m1_i2 - 1.0/18.0*hDD02_i0m1_i1m2_i2 - 4.0/9.0*hDD02_i0m1_i1p1_i2 + (1.0/18.0)*hDD02_i0m1_i1p2_i2 - 1.0/18.0*hDD02_i0m2_i1m1_i2 + (1.0/144.0)*hDD02_i0m2_i1m2_i2 + (1.0/18.0)*hDD02_i0m2_i1p1_i2 - 1.0/144.0*hDD02_i0m2_i1p2_i2 - 4.0/9.0*hDD02_i0p1_i1m1_i2 + (1.0/18.0)*hDD02_i0p1_i1m2_i2 + (4.0/9.0)*hDD02_i0p1_i1p1_i2 - 1.0/18.0*hDD02_i0p1_i1p2_i2 + (1.0/18.0)*hDD02_i0p2_i1m1_i2 - 1.0/144.0*hDD02_i0p2_i1m2_i2 - 1.0/18.0*hDD02_i0p2_i1p1_i2 + (1.0/144.0)*hDD02_i0p2_i1p2_i2);
const double hDD_dDD0202 = tmpFD9*((4.0/9.0)*hDD02_i0m1_i1_i2m1 - 1.0/18.0*hDD02_i0m1_i1_i2m2 - 4.0/9.0*hDD02_i0m1_i1_i2p1 + (1.0/18.0)*hDD02_i0m1_i1_i2p2 - 1.0/18.0*hDD02_i0m2_i1_i2m1 + (1.0/144.0)*hDD02_i0m2_i1_i2m2 + (1.0/18.0)*hDD02_i0m2_i1_i2p1 - 1.0/144.0*hDD02_i0m2_i1_i2p2 - 4.0/9.0*hDD02_i0p1_i1_i2m1 + (1.0/18.0)*hDD02_i0p1_i1_i2m2 + (4.0/9.0)*hDD02_i0p1_i1_i2p1 - 1.0/18.0*hDD02_i0p1_i1_i2p2 + (1.0/18.0)*hDD02_i0p2_i1_i2m1 - 1.0/144.0*hDD02_i0p2_i1_i2m2 - 1.0/18.0*hDD02_i0p2_i1_i2p1 + (1.0/144.0)*hDD02_i0p2_i1_i2p2);
const double hDD_dDD0211 = tmpFD10*((4.0/3.0)*hDD02_i0_i1m1_i2 + (4.0/3.0)*hDD02_i0_i1p1_i2 - tmpFD27 + tmpFD28 + tmpFD51);
const double hDD_dDD0212 = tmpFD11*((4.0/9.0)*hDD02_i0_i1m1_i2m1 - 1.0/18.0*hDD02_i0_i1m1_i2m2 - 4.0/9.0*hDD02_i0_i1m1_i2p1 + (1.0/18.0)*hDD02_i0_i1m1_i2p2 - 1.0/18.0*hDD02_i0_i1m2_i2m1 + (1.0/144.0)*hDD02_i0_i1m2_i2m2 + (1.0/18.0)*hDD02_i0_i1m2_i2p1 - 1.0/144.0*hDD02_i0_i1m2_i2p2 - 4.0/9.0*hDD02_i0_i1p1_i2m1 + (1.0/18.0)*hDD02_i0_i1p1_i2m2 + (4.0/9.0)*hDD02_i0_i1p1_i2p1 - 1.0/18.0*hDD02_i0_i1p1_i2p2 + (1.0/18.0)*hDD02_i0_i1p2_i2m1 - 1.0/144.0*hDD02_i0_i1p2_i2m2 - 1.0/18.0*hDD02_i0_i1p2_i2p1 + (1.0/144.0)*hDD02_i0_i1p2_i2p2);
const double hDD_dDD0222 = tmpFD12*((4.0/3.0)*hDD02_i0_i1_i2m1 + (4.0/3.0)*hDD02_i0_i1_i2p1 - tmpFD29 + tmpFD30 + tmpFD51);
const double hDD_dDD1100 = tmpFD6*((4.0/3.0)*hDD11_i0m1_i1_i2 + (4.0/3.0)*hDD11_i0p1_i1_i2 - tmpFD31 + tmpFD32 + tmpFD52);
const double hDD_dDD1101 = tmpFD8*((4.0/9.0)*hDD11_i0m1_i1m1_i2 - 1.0/18.0*hDD11_i0m1_i1m2_i2 - 4.0/9.0*hDD11_i0m1_i1p1_i2 + (1.0/18.0)*hDD11_i0m1_i1p2_i2 - 1.0/18.0*hDD11_i0m2_i1m1_i2 + (1.0/144.0)*hDD11_i0m2_i1m2_i2 + (1.0/18.0)*hDD11_i0m2_i1p1_i2 - 1.0/144.0*hDD11_i0m2_i1p2_i2 - 4.0/9.0*hDD11_i0p1_i1m1_i2 + (1.0/18.0)*hDD11_i0p1_i1m2_i2 + (4.0/9.0)*hDD11_i0p1_i1p1_i2 - 1.0/18.0*hDD11_i0p1_i1p2_i2 + (1.0/18.0)*hDD11_i0p2_i1m1_i2 - 1.0/144.0*hDD11_i0p2_i1m2_i2 - 1.0/18.0*hDD11_i0p2_i1p1_i2 + (1.0/144.0)*hDD11_i0p2_i1p2_i2);
const double hDD_dDD1102 = tmpFD9*((4.0/9.0)*hDD11_i0m1_i1_i2m1 - 1.0/18.0*hDD11_i0m1_i1_i2m2 - 4.0/9.0*hDD11_i0m1_i1_i2p1 + (1.0/18.0)*hDD11_i0m1_i1_i2p2 - 1.0/18.0*hDD11_i0m2_i1_i2m1 + (1.0/144.0)*hDD11_i0m2_i1_i2m2 + (1.0/18.0)*hDD11_i0m2_i1_i2p1 - 1.0/144.0*hDD11_i0m2_i1_i2p2 - 4.0/9.0*hDD11_i0p1_i1_i2m1 + (1.0/18.0)*hDD11_i0p1_i1_i2m2 + (4.0/9.0)*hDD11_i0p1_i1_i2p1 - 1.0/18.0*hDD11_i0p1_i1_i2p2 + (1.0/18.0)*hDD11_i0p2_i1_i2m1 - 1.0/144.0*hDD11_i0p2_i1_i2m2 - 1.0/18.0*hDD11_i0p2_i1_i2p1 + (1.0/144.0)*hDD11_i0p2_i1_i2p2);
const double hDD_dDD1111 = tmpFD10*((4.0/3.0)*hDD11_i0_i1m1_i2 + (4.0/3.0)*hDD11_i0_i1p1_i2 - tmpFD33 + tmpFD34 + tmpFD52);
const double hDD_dDD1112 = tmpFD11*((4.0/9.0)*hDD11_i0_i1m1_i2m1 - 1.0/18.0*hDD11_i0_i1m1_i2m2 - 4.0/9.0*hDD11_i0_i1m1_i2p1 + (1.0/18.0)*hDD11_i0_i1m1_i2p2 - 1.0/18.0*hDD11_i0_i1m2_i2m1 + (1.0/144.0)*hDD11_i0_i1m2_i2m2 + (1.0/18.0)*hDD11_i0_i1m2_i2p1 - 1.0/144.0*hDD11_i0_i1m2_i2p2 - 4.0/9.0*hDD11_i0_i1p1_i2m1 + (1.0/18.0)*hDD11_i0_i1p1_i2m2 + (4.0/9.0)*hDD11_i0_i1p1_i2p1 - 1.0/18.0*hDD11_i0_i1p1_i2p2 + (1.0/18.0)*hDD11_i0_i1p2_i2m1 - 1.0/144.0*hDD11_i0_i1p2_i2m2 - 1.0/18.0*hDD11_i0_i1p2_i2p1 + (1.0/144.0)*hDD11_i0_i1p2_i2p2);
const double hDD_dDD1122 = tmpFD12*((4.0/3.0)*hDD11_i0_i1_i2m1 + (4.0/3.0)*hDD11_i0_i1_i2p1 - tmpFD35 + tmpFD36 + tmpFD52);
const double hDD_dDD1200 = tmpFD6*((4.0/3.0)*hDD12_i0m1_i1_i2 + (4.0/3.0)*hDD12_i0p1_i1_i2 - tmpFD37 + tmpFD38 + tmpFD53);
const double hDD_dDD1201 = tmpFD8*((4.0/9.0)*hDD12_i0m1_i1m1_i2 - 1.0/18.0*hDD12_i0m1_i1m2_i2 - 4.0/9.0*hDD12_i0m1_i1p1_i2 + (1.0/18.0)*hDD12_i0m1_i1p2_i2 - 1.0/18.0*hDD12_i0m2_i1m1_i2 + (1.0/144.0)*hDD12_i0m2_i1m2_i2 + (1.0/18.0)*hDD12_i0m2_i1p1_i2 - 1.0/144.0*hDD12_i0m2_i1p2_i2 - 4.0/9.0*hDD12_i0p1_i1m1_i2 + (1.0/18.0)*hDD12_i0p1_i1m2_i2 + (4.0/9.0)*hDD12_i0p1_i1p1_i2 - 1.0/18.0*hDD12_i0p1_i1p2_i2 + (1.0/18.0)*hDD12_i0p2_i1m1_i2 - 1.0/144.0*hDD12_i0p2_i1m2_i2 - 1.0/18.0*hDD12_i0p2_i1p1_i2 + (1.0/144.0)*hDD12_i0p2_i1p2_i2);
const double hDD_dDD1202 = tmpFD9*((4.0/9.0)*hDD12_i0m1_i1_i2m1 - 1.0/18.0*hDD12_i0m1_i1_i2m2 - 4.0/9.0*hDD12_i0m1_i1_i2p1 + (1.0/18.0)*hDD12_i0m1_i1_i2p2 - 1.0/18.0*hDD12_i0m2_i1_i2m1 + (1.0/144.0)*hDD12_i0m2_i1_i2m2 + (1.0/18.0)*hDD12_i0m2_i1_i2p1 - 1.0/144.0*hDD12_i0m2_i1_i2p2 - 4.0/9.0*hDD12_i0p1_i1_i2m1 + (1.0/18.0)*hDD12_i0p1_i1_i2m2 + (4.0/9.0)*hDD12_i0p1_i1_i2p1 - 1.0/18.0*hDD12_i0p1_i1_i2p2 + (1.0/18.0)*hDD12_i0p2_i1_i2m1 - 1.0/144.0*hDD12_i0p2_i1_i2m2 - 1.0/18.0*hDD12_i0p2_i1_i2p1 + (1.0/144.0)*hDD12_i0p2_i1_i2p2);
const double hDD_dDD1211 = tmpFD10*((4.0/3.0)*hDD12_i0_i1m1_i2 + (4.0/3.0)*hDD12_i0_i1p1_i2 - tmpFD39 + tmpFD40 + tmpFD53);
const double hDD_dDD1212 = tmpFD11*((4.0/9.0)*hDD12_i0_i1m1_i2m1 - 1.0/18.0*hDD12_i0_i1m1_i2m2 - 4.0/9.0*hDD12_i0_i1m1_i2p1 + (1.0/18.0)*hDD12_i0_i1m1_i2p2 - 1.0/18.0*hDD12_i0_i1m2_i2m1 + (1.0/144.0)*hDD12_i0_i1m2_i2m2 + (1.0/18.0)*hDD12_i0_i1m2_i2p1 - 1.0/144.0*hDD12_i0_i1m2_i2p2 - 4.0/9.0*hDD12_i0_i1p1_i2m1 + (1.0/18.0)*hDD12_i0_i1p1_i2m2 + (4.0/9.0)*hDD12_i0_i1p1_i2p1 - 1.0/18.0*hDD12_i0_i1p1_i2p2 + (1.0/18.0)*hDD12_i0_i1p2_i2m1 - 1.0/144.0*hDD12_i0_i1p2_i2m2 - 1.0/18.0*hDD12_i0_i1p2_i2p1 + (1.0/144.0)*hDD12_i0_i1p2_i2p2);
const double hDD_dDD1222 = tmpFD12*((4.0/3.0)*hDD12_i0_i1_i2m1 + (4.0/3.0)*hDD12_i0_i1_i2p1 - tmpFD41 + tmpFD42 + tmpFD53);
const double hDD_dDD2200 = tmpFD6*((4.0/3.0)*hDD22_i0m1_i1_i2 + (4.0/3.0)*hDD22_i0p1_i1_i2 - tmpFD43 + tmpFD44 + tmpFD54);
const double hDD_dDD2201 = tmpFD8*((4.0/9.0)*hDD22_i0m1_i1m1_i2 - 1.0/18.0*hDD22_i0m1_i1m2_i2 - 4.0/9.0*hDD22_i0m1_i1p1_i2 + (1.0/18.0)*hDD22_i0m1_i1p2_i2 - 1.0/18.0*hDD22_i0m2_i1m1_i2 + (1.0/144.0)*hDD22_i0m2_i1m2_i2 + (1.0/18.0)*hDD22_i0m2_i1p1_i2 - 1.0/144.0*hDD22_i0m2_i1p2_i2 - 4.0/9.0*hDD22_i0p1_i1m1_i2 + (1.0/18.0)*hDD22_i0p1_i1m2_i2 + (4.0/9.0)*hDD22_i0p1_i1p1_i2 - 1.0/18.0*hDD22_i0p1_i1p2_i2 + (1.0/18.0)*hDD22_i0p2_i1m1_i2 - 1.0/144.0*hDD22_i0p2_i1m2_i2 - 1.0/18.0*hDD22_i0p2_i1p1_i2 + (1.0/144.0)*hDD22_i0p2_i1p2_i2);
const double hDD_dDD2202 = tmpFD9*((4.0/9.0)*hDD22_i0m1_i1_i2m1 - 1.0/18.0*hDD22_i0m1_i1_i2m2 - 4.0/9.0*hDD22_i0m1_i1_i2p1 + (1.0/18.0)*hDD22_i0m1_i1_i2p2 - 1.0/18.0*hDD22_i0m2_i1_i2m1 + (1.0/144.0)*hDD22_i0m2_i1_i2m2 + (1.0/18.0)*hDD22_i0m2_i1_i2p1 - 1.0/144.0*hDD22_i0m2_i1_i2p2 - 4.0/9.0*hDD22_i0p1_i1_i2m1 + (1.0/18.0)*hDD22_i0p1_i1_i2m2 + (4.0/9.0)*hDD22_i0p1_i1_i2p1 - 1.0/18.0*hDD22_i0p1_i1_i2p2 + (1.0/18.0)*hDD22_i0p2_i1_i2m1 - 1.0/144.0*hDD22_i0p2_i1_i2m2 - 1.0/18.0*hDD22_i0p2_i1_i2p1 + (1.0/144.0)*hDD22_i0p2_i1_i2p2);
const double hDD_dDD2211 = tmpFD10*((4.0/3.0)*hDD22_i0_i1m1_i2 + (4.0/3.0)*hDD22_i0_i1p1_i2 - tmpFD45 + tmpFD46 + tmpFD54);
const double hDD_dDD2212 = tmpFD11*((4.0/9.0)*hDD22_i0_i1m1_i2m1 - 1.0/18.0*hDD22_i0_i1m1_i2m2 - 4.0/9.0*hDD22_i0_i1m1_i2p1 + (1.0/18.0)*hDD22_i0_i1m1_i2p2 - 1.0/18.0*hDD22_i0_i1m2_i2m1 + (1.0/144.0)*hDD22_i0_i1m2_i2m2 + (1.0/18.0)*hDD22_i0_i1m2_i2p1 - 1.0/144.0*hDD22_i0_i1m2_i2p2 - 4.0/9.0*hDD22_i0_i1p1_i2m1 + (1.0/18.0)*hDD22_i0_i1p1_i2m2 + (4.0/9.0)*hDD22_i0_i1p1_i2p1 - 1.0/18.0*hDD22_i0_i1p1_i2p2 + (1.0/18.0)*hDD22_i0_i1p2_i2m1 - 1.0/144.0*hDD22_i0_i1p2_i2m2 - 1.0/18.0*hDD22_i0_i1p2_i2p1 + (1.0/144.0)*hDD22_i0_i1p2_i2p2);
const double hDD_dDD2222 = tmpFD12*((4.0/3.0)*hDD22_i0_i1_i2m1 + (4.0/3.0)*hDD22_i0_i1_i2p1 - tmpFD47 + tmpFD48 + tmpFD54);
const double lambdaU_dD00 = invdx0*(-2.0/3.0*lambdaU0_i0m1_i1_i2 + (1.0/12.0)*lambdaU0_i0m2_i1_i2 + (2.0/3.0)*lambdaU0_i0p1_i1_i2 - 1.0/12.0*lambdaU0_i0p2_i1_i2);
const double lambdaU_dD01 = invdx1*(-2.0/3.0*lambdaU0_i0_i1m1_i2 + (1.0/12.0)*lambdaU0_i0_i1m2_i2 + (2.0/3.0)*lambdaU0_i0_i1p1_i2 - 1.0/12.0*lambdaU0_i0_i1p2_i2);
const double lambdaU_dD02 = invdx2*(-2.0/3.0*lambdaU0_i0_i1_i2m1 + (1.0/12.0)*lambdaU0_i0_i1_i2m2 + (2.0/3.0)*lambdaU0_i0_i1_i2p1 - 1.0/12.0*lambdaU0_i0_i1_i2p2);
const double lambdaU_dD10 = invdx0*(-2.0/3.0*lambdaU1_i0m1_i1_i2 + (1.0/12.0)*lambdaU1_i0m2_i1_i2 + (2.0/3.0)*lambdaU1_i0p1_i1_i2 - 1.0/12.0*lambdaU1_i0p2_i1_i2);
const double lambdaU_dD11 = invdx1*(-2.0/3.0*lambdaU1_i0_i1m1_i2 + (1.0/12.0)*lambdaU1_i0_i1m2_i2 + (2.0/3.0)*lambdaU1_i0_i1p1_i2 - 1.0/12.0*lambdaU1_i0_i1p2_i2);
const double lambdaU_dD12 = invdx2*(-2.0/3.0*lambdaU1_i0_i1_i2m1 + (1.0/12.0)*lambdaU1_i0_i1_i2m2 + (2.0/3.0)*lambdaU1_i0_i1_i2p1 - 1.0/12.0*lambdaU1_i0_i1_i2p2);
const double lambdaU_dD20 = invdx0*(-2.0/3.0*lambdaU2_i0m1_i1_i2 + (1.0/12.0)*lambdaU2_i0m2_i1_i2 + (2.0/3.0)*lambdaU2_i0p1_i1_i2 - 1.0/12.0*lambdaU2_i0p2_i1_i2);
const double lambdaU_dD21 = invdx1*(-2.0/3.0*lambdaU2_i0_i1m1_i2 + (1.0/12.0)*lambdaU2_i0_i1m2_i2 + (2.0/3.0)*lambdaU2_i0_i1p1_i2 - 1.0/12.0*lambdaU2_i0_i1p2_i2);
const double lambdaU_dD22 = invdx2*(-2.0/3.0*lambdaU2_i0_i1_i2m1 + (1.0/12.0)*lambdaU2_i0_i1_i2m2 + (2.0/3.0)*lambdaU2_i0_i1_i2p1 - 1.0/12.0*lambdaU2_i0_i1_i2p2);
const double trK_dD0 = invdx0*(-2.0/3.0*trK_i0m1_i1_i2 + (1.0/12.0)*trK_i0m2_i1_i2 + (2.0/3.0)*trK_i0p1_i1_i2 - 1.0/12.0*trK_i0p2_i1_i2);
const double trK_dD1 = invdx1*(-2.0/3.0*trK_i0_i1m1_i2 + (1.0/12.0)*trK_i0_i1m2_i2 + (2.0/3.0)*trK_i0_i1p1_i2 - 1.0/12.0*trK_i0_i1p2_i2);
const double trK_dD2 = invdx2*(-2.0/3.0*trK_i0_i1_i2m1 + (1.0/12.0)*trK_i0_i1_i2m2 + (2.0/3.0)*trK_i0_i1_i2p1 - 1.0/12.0*trK_i0_i1_i2p2);
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 2: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = hDD22 + 1;
const double tmp1 = -hDD01*tmp0 + hDD02*hDD12;
const double tmp2 = ((tmp1)*(tmp1));
const double tmp3 = hDD01*hDD12;
const double tmp4 = ((hDD01)*(hDD01));
const double tmp5 = ((hDD02)*(hDD02));
const double tmp6 = hDD11 + 1;
const double tmp7 = ((hDD12)*(hDD12));
const double tmp8 = hDD00 + 1;
const double tmp9 = tmp6*tmp8;
const double tmp10 = 2*hDD02*tmp3 - tmp0*tmp4 + tmp0*tmp9 - tmp5*tmp6 - tmp7*tmp8;
const double tmp11 = (1.0/((tmp10)*(tmp10)));
const double tmp12 = aDD11*tmp11;
const double tmp13 = tmp12*tmp2;
const double tmp14 = -hDD02*tmp6 + tmp3;
const double tmp15 = ((tmp14)*(tmp14));
const double tmp16 = aDD22*tmp11;
const double tmp17 = tmp15*tmp16;
const double tmp18 = tmp0*tmp6 - tmp7;
const double tmp19 = ((tmp18)*(tmp18));
const double tmp20 = aDD00*tmp11;
const double tmp21 = tmp19*tmp20;
const double tmp22 = 2*aDD12;
const double tmp23 = tmp11*tmp14;
const double tmp24 = tmp1*tmp23;
const double tmp25 = 2*aDD01;
const double tmp26 = tmp11*tmp18;
const double tmp27 = tmp1*tmp26;
const double tmp28 = 2*aDD02;
const double tmp29 = tmp14*tmp26;
const double tmp30 = tmp2*tmp20;
const double tmp31 = hDD01*hDD02 - hDD12*tmp8;
const double tmp32 = ((tmp31)*(tmp31));
const double tmp33 = tmp16*tmp32;
const double tmp34 = tmp0*tmp8 - tmp5;
const double tmp35 = ((tmp34)*(tmp34));
const double tmp36 = tmp12*tmp35;
const double tmp37 = tmp1*tmp11;
const double tmp38 = tmp31*tmp37;
const double tmp39 = tmp34*tmp37;
const double tmp40 = tmp31*tmp34;
const double tmp41 = tmp11*tmp40;
const double tmp42 = tmp15*tmp20;
const double tmp43 = tmp12*tmp32;
const double tmp44 = -tmp4 + tmp9;
const double tmp45 = ((tmp44)*(tmp44));
const double tmp46 = tmp16*tmp45;
const double tmp47 = tmp23*tmp31;
const double tmp48 = tmp23*tmp44;
const double tmp49 = tmp11*tmp44;
const double tmp50 = tmp31*tmp49;
const double tmp51 = tmp11*tmp2;
const double tmp52 = aDD01*tmp51;
const double tmp53 = aDD02*tmp24;
const double tmp54 = aDD12*tmp37;
const double tmp55 = tmp31*tmp54;
const double tmp56 = tmp14*tmp16;
const double tmp57 = tmp31*tmp56;
const double tmp58 = tmp18*tmp20;
const double tmp59 = tmp1*tmp58;
const double tmp60 = aDD02*tmp26;
const double tmp61 = tmp31*tmp60;
const double tmp62 = tmp1*tmp12;
const double tmp63 = tmp34*tmp62;
const double tmp64 = aDD12*tmp23;
const double tmp65 = tmp34*tmp64;
const double tmp66 = aDD01*tmp26;
const double tmp67 = tmp34*tmp66;
const double tmp68 = tmp11*tmp15;
const double tmp69 = aDD02*tmp68;
const double tmp70 = aDD01*tmp24;
const double tmp71 = tmp31*tmp62;
const double tmp72 = tmp31*tmp64;
const double tmp73 = tmp14*tmp58;
const double tmp74 = tmp31*tmp66;
const double tmp75 = tmp44*tmp54;
const double tmp76 = tmp44*tmp56;
const double tmp77 = tmp44*tmp60;
const double tmp78 = tmp11*tmp32;
const double tmp79 = aDD12*tmp78;
const double tmp80 = tmp1*tmp14*tmp20;
const double tmp81 = aDD01*tmp38;
const double tmp82 = aDD02*tmp47;
const double tmp83 = tmp23*tmp34;
const double tmp84 = aDD01*tmp83;
const double tmp85 = tmp37*tmp44;
const double tmp86 = aDD02*tmp85;
const double tmp87 = tmp12*tmp40;
const double tmp88 = tmp31*tmp44;
const double tmp89 = tmp16*tmp88;
const double tmp90 = tmp34*tmp49;
const double tmp91 = aDD12*tmp90;
const double tmp92 = ((cf)*(cf));
const double tmp93 = (1.0/(tmp10));
const double tmp94 = tmp1*tmp93;
const double tmp95 = cf_dD0*cf_dD1;
const double tmp96 = (1.0/(tmp92));
const double tmp97 = 4*tmp96;
const double tmp98 = tmp14*tmp93;
const double tmp99 = cf_dD2*tmp97;
const double tmp100 = tmp31*tmp93;
const double tmp101 = ((cf_dD0)*(cf_dD0));
const double tmp102 = tmp18*tmp93;
const double tmp103 = 2*tmp96;
const double tmp104 = ((cf_dD1)*(cf_dD1));
const double tmp105 = tmp34*tmp93;
const double tmp106 = ((cf_dD2)*(cf_dD2));
const double tmp107 = tmp44*tmp93;
const double tmp108 = (1.0/(cf));
const double tmp109 = cf_dD2*tmp108;
const double tmp110 = (1.0/2.0)*tmp108;
const double tmp111 = (1.0/2.0)*tmp94;
const double tmp112 = hDD_dD112*tmp111;
const double tmp113 = (1.0/2.0)*tmp98;
const double tmp114 = hDD_dD221*tmp113;
const double tmp115 = hDD_dD012 + hDD_dD021 - hDD_dD120;
const double tmp116 = (1.0/2.0)*tmp102;
const double tmp117 = tmp115*tmp116;
const double tmp118 = -tmp112 - tmp114 - tmp117;
const double tmp119 = cf_dD0*tmp110;
const double tmp120 = (1.0/2.0)*tmp100;
const double tmp121 = hDD_dD221*tmp120;
const double tmp122 = (1.0/2.0)*tmp105;
const double tmp123 = hDD_dD112*tmp122;
const double tmp124 = tmp111*tmp115;
const double tmp125 = -tmp121 - tmp123 - tmp124;
const double tmp126 = cf_dD1*tmp110;
const double tmp127 = hDD_dD112*tmp120;
const double tmp128 = (1.0/2.0)*tmp107;
const double tmp129 = hDD_dD221*tmp128;
const double tmp130 = tmp113*tmp115;
const double tmp131 = -tmp127 - tmp129 - tmp130;
const double tmp132 = (1.0/2.0)*tmp109;
const double tmp133 = (1.0/2.0)*hDD_dD220;
const double tmp134 = tmp133*tmp98;
const double tmp135 = (1.0/2.0)*hDD_dD002;
const double tmp136 = tmp102*tmp135;
const double tmp137 = (1.0/2.0)*hDD_dD012 - 1.0/2.0*hDD_dD021 + (1.0/2.0)*hDD_dD120;
const double tmp138 = tmp137*tmp94;
const double tmp139 = -tmp134 - tmp136 - tmp138;
const double tmp140 = tmp135*tmp94;
const double tmp141 = tmp100*tmp133;
const double tmp142 = tmp105*tmp137;
const double tmp143 = -tmp140 - tmp141 - tmp142;
const double tmp144 = tmp135*tmp98;
const double tmp145 = tmp107*tmp133;
const double tmp146 = tmp100*tmp137;
const double tmp147 = -tmp144 - tmp145 - tmp146;
const double tmp148 = hDD_dD110*tmp111;
const double tmp149 = hDD_dD001*tmp116;
const double tmp150 = -hDD_dD012 + hDD_dD021 + hDD_dD120;
const double tmp151 = tmp113*tmp150;
const double tmp152 = -tmp148 - tmp149 - tmp151;
const double tmp153 = hDD_dD001*tmp111;
const double tmp154 = hDD_dD110*tmp122;
const double tmp155 = tmp120*tmp150;
const double tmp156 = -tmp153 - tmp154 - tmp155;
const double tmp157 = hDD_dD001*tmp113;
const double tmp158 = hDD_dD110*tmp120;
const double tmp159 = tmp128*tmp150;
const double tmp160 = -tmp157 - tmp158 - tmp159;
const double tmp161 = hDD_dD222*tmp113;
const double tmp162 = 2*hDD_dD122 - hDD_dD221;
const double tmp163 = tmp111*tmp162;
const double tmp164 = 2*hDD_dD022 - hDD_dD220;
const double tmp165 = tmp116*tmp164;
const double tmp166 = -tmp161 - tmp163 - tmp165;
const double tmp167 = hDD_dD222*tmp120;
const double tmp168 = tmp111*tmp164;
const double tmp169 = tmp122*tmp162;
const double tmp170 = -tmp167 - tmp168 - tmp169;
const double tmp171 = hDD_dD222*tmp128;
const double tmp172 = tmp113*tmp164;
const double tmp173 = tmp120*tmp162;
const double tmp174 = -tmp171 - tmp172 - tmp173;
const double tmp175 = hDD_dD111*tmp111;
const double tmp176 = -hDD_dD112 + 2*hDD_dD121;
const double tmp177 = tmp113*tmp176;
const double tmp178 = 2*hDD_dD011 - hDD_dD110;
const double tmp179 = tmp116*tmp178;
const double tmp180 = -tmp175 - tmp177 - tmp179;
const double tmp181 = hDD_dD111*tmp122;
const double tmp182 = tmp111*tmp178;
const double tmp183 = tmp120*tmp176;
const double tmp184 = -tmp181 - tmp182 - tmp183;
const double tmp185 = hDD_dD111*tmp120;
const double tmp186 = tmp113*tmp178;
const double tmp187 = tmp128*tmp176;
const double tmp188 = -tmp185 - tmp186 - tmp187;
const double tmp189 = hDD_dD000*tmp116;
const double tmp190 = -hDD_dD001 + 2*hDD_dD010;
const double tmp191 = tmp111*tmp190;
const double tmp192 = -hDD_dD002 + 2*hDD_dD020;
const double tmp193 = tmp113*tmp192;
const double tmp194 = -tmp189 - tmp191 - tmp193;
const double tmp195 = hDD_dD000*tmp111;
const double tmp196 = tmp120*tmp192;
const double tmp197 = tmp122*tmp190;
const double tmp198 = -tmp195 - tmp196 - tmp197;
const double tmp199 = hDD_dD000*tmp113;
const double tmp200 = tmp120*tmp190;
const double tmp201 = tmp128*tmp192;
const double tmp202 = -tmp199 - tmp200 - tmp201;
const double tmp203 = tmp127 + tmp129 + tmp130;
const double tmp204 = tmp134 + tmp136 + tmp138;
const double tmp205 = hDD02*tmp204;
const double tmp206 = tmp140 + tmp141 + tmp142;
const double tmp207 = hDD12*tmp206;
const double tmp208 = tmp144 + tmp145 + tmp146;
const double tmp209 = tmp0*tmp208;
const double tmp210 = tmp205 + tmp207 + tmp209;
const double tmp211 = tmp203*tmp210;
const double tmp212 = 3*tmp94;
const double tmp213 = tmp112 + tmp114 + tmp117;
const double tmp214 = hDD02*tmp213;
const double tmp215 = tmp121 + tmp123 + tmp124;
const double tmp216 = hDD12*tmp215;
const double tmp217 = tmp0*tmp203;
const double tmp218 = tmp214 + tmp216 + tmp217;
const double tmp219 = tmp208*tmp218;
const double tmp220 = tmp203*tmp218;
const double tmp221 = 3*tmp105;
const double tmp222 = tmp208*tmp210;
const double tmp223 = 3*tmp102;
const double tmp224 = tmp171 + tmp172 + tmp173;
const double tmp225 = tmp218*tmp224;
const double tmp226 = 3*tmp100;
const double tmp227 = tmp210*tmp224;
const double tmp228 = 3*tmp98;
const double tmp229 = tmp161 + tmp163 + tmp165;
const double tmp230 = hDD02*tmp229;
const double tmp231 = tmp167 + tmp168 + tmp169;
const double tmp232 = hDD12*tmp231;
const double tmp233 = tmp0*tmp224;
const double tmp234 = tmp230 + tmp232 + tmp233;
const double tmp235 = tmp203*tmp234;
const double tmp236 = tmp208*tmp234;
const double tmp237 = 3*tmp107;
const double tmp238 = hDD01*tmp204 + hDD12*tmp208 + tmp206*tmp6;
const double tmp239 = tmp215*tmp238;
const double tmp240 = tmp148 + tmp149 + tmp151;
const double tmp241 = tmp153 + tmp154 + tmp155;
const double tmp242 = tmp157 + tmp158 + tmp159;
const double tmp243 = hDD02*tmp240 + hDD12*tmp241 + tmp0*tmp242;
const double tmp244 = tmp215*tmp243;
const double tmp245 = hDD01*tmp215 + hDD02*tmp203 + tmp213*tmp8;
const double tmp246 = tmp204*tmp245;
const double tmp247 = tmp204*tmp243;
const double tmp248 = tmp213*tmp245;
const double tmp249 = tmp213*tmp243;
const double tmp250 = tmp206*tmp238;
const double tmp251 = tmp206*tmp243;
const double tmp252 = tmp229*tmp245;
const double tmp253 = 2*tmp229;
const double tmp254 = tmp231*tmp238;
const double tmp255 = 2*tmp231;
const double tmp256 = tmp210*tmp213;
const double tmp257 = hDD01*tmp231 + hDD02*tmp224 + tmp229*tmp8;
const double tmp258 = tmp213*tmp257;
const double tmp259 = tmp215*tmp218;
const double tmp260 = hDD01*tmp229 + hDD12*tmp224 + tmp231*tmp6;
const double tmp261 = tmp215*tmp260;
const double tmp262 = tmp204*tmp210;
const double tmp263 = tmp204*tmp257;
const double tmp264 = tmp206*tmp218;
const double tmp265 = tmp206*tmp260;
const double tmp266 = hDD01*tmp206;
const double tmp267 = hDD02*tmp208;
const double tmp268 = tmp204*tmp8;
const double tmp269 = tmp266 + tmp267 + tmp268;
const double tmp270 = tmp213*tmp269;
const double tmp271 = tmp189 + tmp191 + tmp193;
const double tmp272 = tmp195 + tmp196 + tmp197;
const double tmp273 = tmp199 + tmp200 + tmp201;
const double tmp274 = hDD02*tmp271 + hDD12*tmp272 + tmp0*tmp273;
const double tmp275 = tmp213*tmp274;
const double tmp276 = hDD01*tmp213;
const double tmp277 = hDD12*tmp203;
const double tmp278 = tmp215*tmp6;
const double tmp279 = tmp276 + tmp277 + tmp278;
const double tmp280 = tmp206*tmp279;
const double tmp281 = tmp175 + tmp177 + tmp179;
const double tmp282 = tmp181 + tmp182 + tmp183;
const double tmp283 = tmp185 + tmp186 + tmp187;
const double tmp284 = hDD02*tmp281 + hDD12*tmp282 + tmp0*tmp283;
const double tmp285 = tmp206*tmp284;
const double tmp286 = tmp215*tmp279;
const double tmp287 = tmp215*tmp284;
const double tmp288 = tmp204*tmp269;
const double tmp289 = tmp204*tmp274;
const double tmp290 = tmp231*tmp279;
const double tmp291 = tmp229*tmp269;
const double tmp292 = tmp100*tmp213 + tmp116*tmp271 + tmp122*tmp281 + tmp128*tmp229 + tmp204*tmp98 + tmp240*tmp94;
const double tmp293 = tmp100*tmp215 + tmp116*tmp272 + tmp122*tmp282 + tmp128*tmp231 + tmp206*tmp98 + tmp241*tmp94;
const double tmp294 = tmp100*tmp203 + tmp116*tmp273 + tmp122*tmp283 + tmp128*tmp224 + tmp208*tmp98 + tmp242*tmp94;
const double tmp295 = hDD01*tmp240;
const double tmp296 = hDD12*tmp242;
const double tmp297 = tmp241*tmp6;
const double tmp298 = tmp295 + tmp296 + tmp297;
const double tmp299 = tmp215*tmp298;
const double tmp300 = tmp241*tmp279;
const double tmp301 = tmp241*tmp298;
const double tmp302 = tmp279*tmp282;
const double tmp303 = tmp282*tmp298;
const double tmp304 = hDD01*tmp281;
const double tmp305 = hDD12*tmp283;
const double tmp306 = tmp282*tmp6;
const double tmp307 = tmp304 + tmp305 + tmp306;
const double tmp308 = tmp215*tmp307;
const double tmp309 = tmp241*tmp307;
const double tmp310 = tmp240*tmp245;
const double tmp311 = tmp238*tmp240;
const double tmp312 = tmp203*tmp243;
const double tmp313 = tmp203*tmp238;
const double tmp314 = tmp213*tmp238;
const double tmp315 = tmp242*tmp243;
const double tmp316 = tmp238*tmp242;
const double tmp317 = tmp245*tmp281;
const double tmp318 = 2*tmp281;
const double tmp319 = tmp243*tmp283;
const double tmp320 = 2*tmp283;
const double tmp321 = tmp213*tmp298;
const double tmp322 = hDD01*tmp282 + hDD02*tmp283 + tmp281*tmp8;
const double tmp323 = tmp213*tmp322;
const double tmp324 = tmp203*tmp279;
const double tmp325 = tmp203*tmp284;
const double tmp326 = hDD01*tmp241;
const double tmp327 = hDD02*tmp242;
const double tmp328 = tmp240*tmp8;
const double tmp329 = tmp326 + tmp327 + tmp328;
const double tmp330 = tmp213*tmp329;
const double tmp331 = hDD01*tmp271 + hDD12*tmp273 + tmp272*tmp6;
const double tmp332 = tmp213*tmp331;
const double tmp333 = tmp218*tmp242;
const double tmp334 = tmp242*tmp260;
const double tmp335 = tmp240*tmp298;
const double tmp336 = tmp240*tmp322;
const double tmp337 = tmp242*tmp279;
const double tmp338 = tmp242*tmp284;
const double tmp339 = tmp203*tmp260;
const double tmp340 = tmp240*tmp329;
const double tmp341 = tmp240*tmp331;
const double tmp342 = tmp218*tmp283;
const double tmp343 = tmp281*tmp329;
const double tmp344 = tmp204*tmp329;
const double tmp345 = tmp240*tmp269;
const double tmp346 = tmp269*tmp271;
const double tmp347 = tmp271*tmp329;
const double tmp348 = hDD01*tmp272;
const double tmp349 = hDD02*tmp273;
const double tmp350 = tmp271*tmp8;
const double tmp351 = tmp348 + tmp349 + tmp350;
const double tmp352 = tmp204*tmp351;
const double tmp353 = tmp240*tmp351;
const double tmp354 = tmp238*tmp241;
const double tmp355 = tmp241*tmp245;
const double tmp356 = tmp208*tmp243;
const double tmp357 = tmp208*tmp245;
const double tmp358 = tmp206*tmp245;
const double tmp359 = tmp242*tmp245;
const double tmp360 = tmp238*tmp272;
const double tmp361 = 2*tmp272;
const double tmp362 = tmp243*tmp273;
const double tmp363 = 2*tmp273;
const double tmp364 = tmp206*tmp298;
const double tmp365 = tmp206*tmp322;
const double tmp366 = tmp210*tmp242;
const double tmp367 = tmp242*tmp257;
const double tmp368 = tmp206*tmp329;
const double tmp369 = tmp206*tmp331;
const double tmp370 = tmp208*tmp269;
const double tmp371 = tmp208*tmp274;
const double tmp372 = tmp241*tmp329;
const double tmp373 = tmp241*tmp331;
const double tmp374 = tmp242*tmp269;
const double tmp375 = tmp242*tmp274;
const double tmp376 = tmp208*tmp257;
const double tmp377 = tmp241*tmp322;
const double tmp378 = tmp210*tmp273;
const double tmp379 = tmp272*tmp298;
const double tmp380 = tmp229*tmp238 + tmp256;
const double tmp381 = tmp224*tmp260;
const double tmp382 = tmp282*tmp284;
const double tmp383 = tmp243*tmp281 + tmp321;
const double tmp384 = tmp241*tmp243;
const double tmp385 = 2*tmp364;
const double tmp386 = tmp240*tmp274;
const double tmp387 = tmp204*tmp331;
const double tmp388 = tmp386 + tmp387;
const double tmp389 = tmp208*tmp238;
const double tmp390 = tmp356 + tmp389;
const double tmp391 = tmp231*tmp307;
const double tmp392 = tmp218*tmp282;
const double tmp393 = tmp229*tmp298 + tmp249;
const double tmp394 = tmp210*tmp281 + tmp314;
const double tmp395 = tmp224*tmp279;
const double tmp396 = tmp234*tmp283;
const double tmp397 = tmp231*tmp298;
const double tmp398 = tmp218*tmp241;
const double tmp399 = 2*tmp280;
const double tmp400 = tmp229*tmp329;
const double tmp401 = tmp229*tmp331 + tmp275;
const double tmp402 = tmp210*tmp240;
const double tmp403 = tmp204*tmp238;
const double tmp404 = tmp402 + tmp403;
const double tmp405 = tmp224*tmp238;
const double tmp406 = tmp224*tmp243;
const double tmp407 = tmp234*tmp242;
const double tmp408 = tmp208*tmp260;
const double tmp409 = tmp219 + tmp408;
const double tmp410 = tmp243*tmp282;
const double tmp411 = tmp241*tmp284;
const double tmp412 = tmp206*tmp307;
const double tmp413 = 2*tmp412;
const double tmp414 = tmp274*tmp281 + tmp332;
const double tmp415 = tmp204*tmp322;
const double tmp416 = tmp240*tmp243;
const double tmp417 = tmp204*tmp298;
const double tmp418 = tmp416 + tmp417;
const double tmp419 = tmp210*tmp283;
const double tmp420 = tmp208*tmp279;
const double tmp421 = tmp208*tmp284 + tmp420;
const double tmp422 = (1.0/2.0)*hDD01;
const double tmp423 = (1.0/2.0)*hDD02;
const double tmp424 = (1.0/2.0)*hDD12;
const double tmp425 = (1.0/2.0)*tmp6;
const double tmp426 = (1.0/2.0)*tmp0;
const double tmp427 = -hDD_dDD1200*tmp116 - hDD_dDD1201*tmp94 - hDD_dDD1202*tmp98 - hDD_dDD1211*tmp122 - hDD_dDD1212*tmp100 - hDD_dDD1222*tmp128 + lambdaU_dD01*tmp423 + lambdaU_dD02*tmp422 + lambdaU_dD11*tmp424 + lambdaU_dD12*tmp425 + lambdaU_dD21*tmp426 + lambdaU_dD22*tmp424 + tmp292*(tmp238 + tmp243) + tmp293*(tmp279 + tmp284) + tmp294*(tmp218 + tmp260);
const double tmp428 = 2*tmp366;
const double tmp429 = tmp354 + tmp384;
const double tmp430 = 2*tmp407;
const double tmp431 = tmp240*tmp257;
const double tmp432 = tmp241*tmp260 + tmp398;
const double tmp433 = 2*tmp333;
const double tmp434 = tmp269*tmp281;
const double tmp435 = tmp238*tmp282;
const double tmp436 = tmp300 + tmp411;
const double tmp437 = tmp231*tmp245 + tmp264;
const double tmp438 = tmp224*tmp257;
const double tmp439 = 2*tmp330;
const double tmp440 = tmp215*tmp322;
const double tmp441 = tmp299 + tmp440;
const double tmp442 = tmp203*tmp245;
const double tmp443 = tmp312 + tmp442;
const double tmp444 = tmp271*tmp274;
const double tmp445 = tmp243*tmp272 + tmp368;
const double tmp446 = 2*tmp270;
const double tmp447 = tmp231*tmp322 + tmp285;
const double tmp448 = tmp215*tmp245;
const double tmp449 = tmp239 + tmp448;
const double tmp450 = tmp224*tmp245;
const double tmp451 = tmp203*tmp257;
const double tmp452 = tmp211 + tmp451;
const double tmp453 = tmp229*tmp351;
const double tmp454 = tmp210*tmp271;
const double tmp455 = tmp231*tmp329 + tmp251;
const double tmp456 = tmp218*tmp272 + tmp358;
const double tmp457 = tmp224*tmp269;
const double tmp458 = tmp234*tmp273;
const double tmp459 = tmp213*tmp351;
const double tmp460 = 2*tmp459;
const double tmp461 = tmp243*tmp271;
const double tmp462 = tmp215*tmp329;
const double tmp463 = tmp215*tmp331 + tmp462;
const double tmp464 = tmp272*tmp284 + tmp365;
const double tmp465 = tmp203*tmp269;
const double tmp466 = tmp203*tmp274 + tmp465;
const double tmp467 = tmp218*tmp273;
const double tmp468 = (1.0/2.0)*tmp8;
const double tmp469 = -hDD_dDD0200*tmp116 - hDD_dDD0201*tmp94 - hDD_dDD0202*tmp98 - hDD_dDD0211*tmp122 - hDD_dDD0212*tmp100 - hDD_dDD0222*tmp128 + lambdaU_dD00*tmp423 + lambdaU_dD02*tmp468 + lambdaU_dD10*tmp424 + lambdaU_dD12*tmp422 + lambdaU_dD20*tmp426 + lambdaU_dD22*tmp423 + tmp292*(tmp269 + tmp274) + tmp293*(tmp243 + tmp245) + tmp294*(tmp210 + tmp257);
const double tmp470 = tmp245*tmp271;
const double tmp471 = tmp272*tmp279;
const double tmp472 = tmp282*tmp322;
const double tmp473 = tmp245*tmp283 + tmp337;
const double tmp474 = tmp271*tmp331;
const double tmp475 = tmp238*tmp273 + tmp374;
const double tmp476 = tmp245*tmp282;
const double tmp477 = tmp257*tmp283 + tmp334;
const double tmp478 = tmp238*tmp271;
const double tmp479 = tmp260*tmp273 + tmp367;
const double tmp480 = tmp281*tmp351;
const double tmp481 = tmp271*tmp298;
const double tmp482 = tmp282*tmp329;
const double tmp483 = tmp272*tmp307;
const double tmp484 = tmp269*tmp283 + tmp316;
const double tmp485 = tmp273*tmp279 + tmp359;
const double tmp486 = -hDD_dDD0100*tmp116 - hDD_dDD0101*tmp94 - hDD_dDD0102*tmp98 - hDD_dDD0111*tmp122 - hDD_dDD0112*tmp100 - hDD_dDD0122*tmp128 + lambdaU_dD00*tmp422 + lambdaU_dD01*tmp468 + lambdaU_dD10*tmp425 + lambdaU_dD11*tmp422 + lambdaU_dD20*tmp424 + lambdaU_dD21*tmp423 + tmp292*(tmp329 + tmp331) + tmp293*(tmp298 + tmp322) + tmp294*(tmp238 + tmp245);
const double tmp487 = (2.0/3.0)*trK_dD1;
const double tmp488 = (2.0/3.0)*trK_dD2;
const double tmp489 = (2.0/3.0)*trK_dD0;
const double tmp490 = 12*aDD12;
const double tmp491 = aDD02*tmp139;
const double tmp492 = aDD12*tmp143;
const double tmp493 = aDD22*tmp147;
const double tmp494 = aDD_dD220 + 2*tmp491 + 2*tmp492 + 2*tmp493;
const double tmp495 = aDD01*tmp152;
const double tmp496 = aDD11*tmp156;
const double tmp497 = aDD12*tmp160;
const double tmp498 = aDD_dD110 + 2*tmp495 + 2*tmp496 + 2*tmp497;
const double tmp499 = aDD02*tmp118;
const double tmp500 = aDD12*tmp125;
const double tmp501 = aDD22*tmp131;
const double tmp502 = aDD_dD221 + 2*tmp499 + 2*tmp500 + 2*tmp501;
const double tmp503 = aDD01*tmp118;
const double tmp504 = aDD11*tmp125;
const double tmp505 = aDD12*tmp131;
const double tmp506 = aDD_dD112 + 2*tmp503 + 2*tmp504 + 2*tmp505;
const double tmp507 = aDD00*tmp139;
const double tmp508 = aDD01*tmp143;
const double tmp509 = aDD02*tmp147;
const double tmp510 = aDD_dD002 + 2*tmp507 + 2*tmp508 + 2*tmp509;
const double tmp511 = aDD00*tmp152;
const double tmp512 = aDD01*tmp156;
const double tmp513 = aDD02*tmp160;
const double tmp514 = aDD_dD001 + 2*tmp511 + 2*tmp512 + 2*tmp513;
const double tmp515 = 6*tmp52 + 6*tmp53 + 6*tmp55 + 6*tmp57 + 6*tmp59 + 6*tmp61 + 6*tmp63 + 6*tmp65 + 6*tmp67;
const double tmp516 = 6*tmp69 + 6*tmp70 + 6*tmp71 + 6*tmp72 + 6*tmp73 + 6*tmp74 + 6*tmp75 + 6*tmp76 + 6*tmp77;
const double tmp517 = tmp11*(2*aDD00*tmp194 + aDD_dD000 + tmp198*tmp25 + tmp202*tmp28);
const double tmp518 = tmp11*(2*aDD22*tmp174 + aDD_dD222 + tmp166*tmp28 + tmp170*tmp22);
const double tmp519 = tmp11*(2*aDD11*tmp184 + aDD_dD111 + tmp180*tmp25 + tmp188*tmp22);
const double tmp520 = aDD00*tmp118 + aDD01*tmp125 + aDD02*tmp131;
const double tmp521 = aDD01*tmp139 + aDD11*tmp143 + aDD12*tmp147;
const double tmp522 = aDD_dD012 + tmp520 + tmp521;
const double tmp523 = aDD02*tmp152 + aDD12*tmp156 + aDD22*tmp160;
const double tmp524 = aDD_dD021 + tmp520 + tmp523;
const double tmp525 = aDD_dD120 + tmp521 + tmp523;
const double tmp526 = tmp26*tmp31;
const double tmp527 = aDD00*tmp166 + aDD01*tmp170 + aDD02*tmp174 + aDD_dD022 + tmp491 + tmp492 + tmp493;
const double tmp528 = aDD00*tmp180 + aDD01*tmp184 + aDD02*tmp188 + aDD_dD011 + tmp495 + tmp496 + tmp497;
const double tmp529 = aDD01*tmp166 + aDD11*tmp170 + aDD12*tmp174 + aDD_dD122 + tmp499 + tmp500 + tmp501;
const double tmp530 = aDD02*tmp180 + aDD12*tmp184 + aDD22*tmp188 + aDD_dD121 + tmp503 + tmp504 + tmp505;
const double tmp531 = aDD02*tmp194 + aDD12*tmp198 + aDD22*tmp202 + aDD_dD020 + tmp507 + tmp508 + tmp509;
const double tmp532 = aDD01*tmp194 + aDD11*tmp198 + aDD12*tmp202 + aDD_dD010 + tmp511 + tmp512 + tmp513;
const double tmp533 = tmp26*tmp44;
const double tmp534 = tmp26*tmp34;
const double tmp535 = 12*aDD02;
const double tmp536 = 12*aDD01;
const double tmp537 = 6*tmp79 + 6*tmp80 + 6*tmp81 + 6*tmp82 + 6*tmp84 + 6*tmp86 + 6*tmp87 + 6*tmp89 + 6*tmp91;
const double tmp538 = tmp18*tmp517;
HGF_.ptr[HGF_.offset(i0, i1, i2)] = -aDD00*(tmp13 + tmp17 + tmp21 + tmp22*tmp24 + tmp25*tmp27 + tmp28*tmp29) - aDD11*(tmp22*tmp41 + tmp25*tmp39 + tmp28*tmp38 + tmp30 + tmp33 + tmp36) - aDD22*(tmp22*tmp50 + tmp25*tmp47 + tmp28*tmp48 + tmp42 + tmp43 + tmp46) - tmp22*(tmp79 + tmp80 + tmp81 + tmp82 + tmp84 + tmp86 + tmp87 + tmp89 + tmp91) - tmp25*(tmp52 + tmp53 + tmp55 + tmp57 + tmp59 + tmp61 + tmp63 + tmp65 + tmp67) - tmp28*(tmp69 + tmp70 + tmp71 + tmp72 + tmp73 + tmp74 + tmp75 + tmp76 + tmp77) + tmp92*(-cf_dD0*tmp98*tmp99 - cf_dD1*tmp100*tmp99 - 16*tmp100*(tmp110*(cf_dD1*tmp109 - cf_dDD12) - tmp118*tmp119 - tmp125*tmp126 - tmp131*tmp132) + tmp100*(tmp100*(2*tmp220 + tmp395) + tmp100*(tmp248 + tmp393) + tmp100*(tmp339 + 2*tmp396) + tmp100*(tmp257*tmp281 + tmp394) + tmp100*(tmp286 + tmp287 + tmp391) + tmp100*(tmp260*tmp282 + tmp286 + tmp392) + tmp102*(tmp345 + tmp388) + tmp102*(tmp364 + tmp429) + tmp102*(tmp389 + tmp428) + tmp105*(tmp317 + tmp383) + tmp105*(tmp324 + 2*tmp342) + tmp105*(tmp302 + tmp308 + tmp382) + tmp107*(2*tmp235 + tmp381) + tmp107*(tmp258 + tmp380) + tmp107*(tmp259 + tmp261 + tmp290) + tmp427 + tmp94*(tmp310 + tmp418) + tmp94*(tmp313 + 2*tmp419) + tmp94*(tmp412 + tmp436) + tmp94*(tmp414 + tmp434) + tmp94*(tmp420 + tmp433) + tmp94*(tmp299 + tmp410 + tmp435) + tmp98*(2*tmp211 + tmp405) + tmp98*(tmp270 + tmp401) + tmp98*(tmp280 + tmp432) + tmp98*(tmp404 + tmp431) + tmp98*(tmp408 + tmp430) + tmp98*(tmp239 + tmp244 + tmp397)) + tmp100*(tmp100*(tmp248 + tmp394) + tmp100*(2*tmp286 + tmp392) + tmp100*(tmp287 + 2*tmp391) + tmp100*(tmp229*tmp322 + tmp393) + tmp100*(tmp220 + tmp339 + tmp396) + tmp100*(tmp220 + tmp224*tmp284 + tmp395) + tmp102*(tmp344 + tmp388) + tmp102*(tmp366 + tmp390) + tmp102*(tmp384 + tmp385) + tmp105*(2*tmp308 + tmp382) + tmp105*(tmp323 + tmp383) + tmp105*(tmp324 + tmp325 + tmp342) + tmp107*(tmp252 + tmp380) + tmp107*(tmp259 + 2*tmp290) + tmp107*(tmp225 + tmp235 + tmp381) + tmp427 + tmp94*(2*tmp299 + tmp410) + tmp94*(tmp330 + tmp414) + tmp94*(tmp333 + tmp421) + tmp94*(tmp411 + tmp413) + tmp94*(tmp415 + tmp418) + tmp94*(tmp312 + tmp313 + tmp419) + tmp98*(tmp244 + 2*tmp397) + tmp98*(tmp246 + tmp404) + tmp98*(tmp398 + tmp399) + tmp98*(tmp400 + tmp401) + tmp98*(tmp407 + tmp409) + tmp98*(tmp211 + tmp405 + tmp406)) - tmp101*tmp102*tmp103 - 8*tmp102*(tmp110*(-cf_dDD00 + tmp101*tmp108) - tmp119*tmp194 - tmp126*tmp198 - tmp132*tmp202) + tmp102*(hDD01*lambdaU_dD10 + hDD02*lambdaU_dD20 - hDD_dDD0000*tmp116 - hDD_dDD0001*tmp94 - hDD_dDD0002*tmp98 - hDD_dDD0011*tmp122 - hDD_dDD0012*tmp100 - hDD_dDD0022*tmp128 + lambdaU_dD00*tmp8 + tmp100*(tmp354 + 2*tmp355) + tmp100*(tmp356 + 2*tmp357) + tmp100*(tmp364 + 2*tmp365) + tmp100*(tmp366 + 2*tmp367) + tmp102*(tmp269*tmp363 + tmp273*tmp274) + tmp102*(tmp272*tmp331 + tmp329*tmp361) + tmp105*(tmp301 + 2*tmp377) + tmp105*(tmp315 + 2*tmp359) + tmp107*(tmp222 + 2*tmp376) + tmp107*(tmp250 + 2*tmp358) + tmp212*tmp347 + tmp212*tmp353 + tmp221*tmp340 + tmp223*tmp271*tmp351 + tmp226*tmp344 + tmp226*tmp345 + tmp228*tmp346 + tmp228*tmp352 + tmp237*tmp288 + tmp292*(2*tmp348 + 2*tmp349 + 2*tmp350) + tmp293*(2*tmp326 + 2*tmp327 + 2*tmp328) + tmp294*(2*tmp266 + 2*tmp267 + 2*tmp268) + tmp94*(2*tmp372 + tmp373) + tmp94*(2*tmp374 + tmp375) + tmp94*(tmp245*tmp363 + tmp362) + tmp94*(tmp322*tmp361 + tmp379) + tmp98*(2*tmp368 + tmp369) + tmp98*(2*tmp370 + tmp371) + tmp98*(tmp245*tmp361 + tmp360) + tmp98*(tmp257*tmp363 + tmp378)) - tmp103*tmp104*tmp105 - tmp103*tmp106*tmp107 - 8*tmp105*(tmp110*(-cf_dDD11 + tmp104*tmp108) - tmp119*tmp180 - tmp126*tmp184 - tmp132*tmp188) + tmp105*(hDD01*lambdaU_dD01 + hDD12*lambdaU_dD21 - hDD_dDD1100*tmp116 - hDD_dDD1101*tmp94 - hDD_dDD1102*tmp98 - hDD_dDD1111*tmp122 - hDD_dDD1112*tmp100 - hDD_dDD1122*tmp128 + lambdaU_dD11*tmp6 + tmp100*(2*tmp321 + tmp323) + tmp100*(2*tmp324 + tmp325) + tmp100*(tmp238*tmp318 + tmp317) + tmp100*(tmp260*tmp320 + tmp342) + tmp102*(tmp315 + 2*tmp316) + tmp102*(tmp340 + 2*tmp341) + tmp105*(tmp279*tmp320 + tmp283*tmp284) + tmp105*(tmp281*tmp322 + tmp298*tmp318) + tmp107*(tmp220 + 2*tmp339) + tmp107*(tmp248 + 2*tmp314) + tmp212*tmp303 + tmp212*tmp309 + tmp221*tmp282*tmp307 + tmp223*tmp301 + tmp226*tmp302 + tmp226*tmp308 + tmp228*tmp299 + tmp228*tmp300 + tmp237*tmp286 + tmp292*(2*tmp295 + 2*tmp296 + 2*tmp297) + tmp293*(2*tmp304 + 2*tmp305 + 2*tmp306) + tmp294*(2*tmp276 + 2*tmp277 + 2*tmp278) + tmp94*(2*tmp335 + tmp336) + tmp94*(2*tmp337 + tmp338) + tmp94*(tmp238*tmp320 + tmp319) + tmp94*(tmp318*tmp331 + tmp343) + tmp98*(tmp310 + 2*tmp311) + tmp98*(tmp312 + 2*tmp313) + tmp98*(tmp330 + 2*tmp332) + tmp98*(tmp333 + 2*tmp334)) - 8*tmp107*(tmp110*(-cf_dDD22 + tmp106*tmp108) - tmp119*tmp166 - tmp126*tmp170 - tmp132*tmp174) + tmp107*(hDD02*lambdaU_dD02 + hDD12*lambdaU_dD12 - hDD_dDD2200*tmp116 - hDD_dDD2201*tmp94 - hDD_dDD2202*tmp98 - hDD_dDD2211*tmp122 - hDD_dDD2212*tmp100 - hDD_dDD2222*tmp128 + lambdaU_dD22*tmp0 + tmp100*(2*tmp256 + tmp258) + tmp100*(2*tmp259 + tmp261) + tmp100*(tmp243*tmp253 + tmp252) + tmp100*(tmp255*tmp284 + tmp290) + tmp102*(tmp250 + 2*tmp251) + tmp102*(tmp288 + 2*tmp289) + tmp105*(tmp248 + 2*tmp249) + tmp105*(tmp286 + 2*tmp287) + tmp107*(tmp210*tmp253 + tmp229*tmp257) + tmp107*(tmp218*tmp255 + tmp231*tmp260) + tmp211*tmp212 + tmp212*tmp219 + tmp220*tmp221 + tmp222*tmp223 + tmp224*tmp234*tmp237 + tmp225*tmp226 + tmp226*tmp235 + tmp227*tmp228 + tmp228*tmp236 + tmp292*(2*tmp205 + 2*tmp207 + 2*tmp209) + tmp293*(2*tmp214 + 2*tmp216 + 2*tmp217) + tmp294*(2*tmp230 + 2*tmp232 + 2*tmp233) + tmp94*(tmp239 + 2*tmp244) + tmp94*(tmp246 + 2*tmp247) + tmp94*(tmp270 + 2*tmp275) + tmp94*(tmp280 + 2*tmp285) + tmp98*(2*tmp262 + tmp263) + tmp98*(2*tmp264 + tmp265) + tmp98*(tmp243*tmp255 + tmp254) + tmp98*(tmp253*tmp274 + tmp291)) - tmp94*tmp95*tmp97 - 16*tmp94*(tmp110*(-cf_dDD01 + tmp108*tmp95) - tmp119*tmp152 - tmp126*tmp156 - tmp132*tmp160) + tmp94*(tmp100*(2*tmp300 + tmp476) + tmp100*(tmp333 + tmp477) + tmp100*(tmp413 + tmp440) + tmp100*(tmp421 + tmp442) + tmp100*(tmp310 + tmp311 + tmp434) + tmp100*(tmp330 + tmp415 + tmp417) + tmp102*(tmp362 + tmp475) + tmp102*(tmp372 + 2*tmp379) + tmp102*(tmp347 + tmp353 + tmp474) + tmp105*(2*tmp309 + tmp472) + tmp105*(tmp338 + tmp473) + tmp105*(tmp335 + tmp336 + tmp343) + tmp107*(tmp399 + tmp448) + tmp107*(tmp409 + tmp451) + tmp107*(tmp246 + tmp270 + tmp403) + tmp486 + tmp94*(2*tmp301 + tmp482) + tmp94*(tmp315 + tmp484) + tmp94*(tmp377 + 2*tmp483) + tmp94*(tmp273*tmp284 + tmp485) + tmp94*(tmp340 + tmp341 + tmp480) + tmp94*(tmp271*tmp322 + tmp340 + tmp481) + tmp98*(tmp355 + 2*tmp471) + tmp98*(tmp385 + tmp462) + tmp98*(tmp390 + tmp465) + tmp98*(tmp467 + tmp479) + tmp98*(tmp344 + tmp387 + tmp459) + tmp98*(tmp345 + tmp470 + tmp478)) + tmp94*(tmp100*(tmp311 + 2*tmp434) + tmp100*(tmp412 + tmp441) + tmp100*(tmp417 + tmp439) + tmp100*(tmp419 + tmp477) + tmp100*(tmp420 + tmp443) + tmp100*(tmp300 + tmp435 + tmp476) + tmp102*(2*tmp353 + tmp474) + tmp102*(tmp375 + tmp475) + tmp102*(tmp372 + tmp373 + tmp379) + tmp105*(tmp319 + tmp473) + tmp105*(tmp335 + 2*tmp343) + tmp105*(tmp303 + tmp309 + tmp472) + tmp107*(tmp280 + tmp449) + tmp107*(tmp403 + tmp446) + tmp107*(tmp408 + tmp452) + tmp486 + tmp94*(tmp315 + tmp485) + tmp94*(2*tmp340 + tmp481) + tmp94*(tmp341 + 2*tmp480) + tmp94*(tmp274*tmp283 + tmp484) + tmp94*(tmp301 + tmp377 + tmp483) + tmp94*(tmp282*tmp331 + tmp301 + tmp482) + tmp98*(2*tmp345 + tmp478) + tmp98*(tmp364 + tmp463) + tmp98*(tmp366 + tmp479) + tmp98*(tmp387 + tmp460) + tmp98*(tmp389 + tmp466) + tmp98*(tmp354 + tmp355 + tmp471)) - 16*tmp98*(tmp110*(cf_dD0*tmp109 - cf_dDD02) - tmp119*tmp139 - tmp126*tmp143 - tmp132*tmp147) + tmp98*(tmp100*(2*tmp219 + tmp450) + tmp100*(tmp280 + tmp447) + tmp100*(tmp430 + tmp451) + tmp100*(tmp432 + tmp448) + tmp100*(tmp246 + tmp247 + tmp400) + tmp100*(tmp270 + tmp402 + tmp431) + tmp102*(tmp360 + tmp445) + tmp102*(tmp370 + 2*tmp378) + tmp102*(tmp346 + tmp352 + tmp444) + tmp105*(tmp433 + tmp442) + tmp105*(tmp436 + tmp440) + tmp105*(tmp310 + tmp330 + tmp416) + tmp107*(2*tmp236 + tmp438) + tmp107*(tmp265 + tmp437) + tmp107*(tmp262 + tmp263 + tmp291) + tmp469 + tmp94*(tmp357 + 2*tmp467) + tmp94*(tmp428 + tmp465) + tmp94*(tmp429 + tmp462) + tmp94*(tmp464 + tmp471) + tmp94*(tmp344 + tmp461 + tmp470) + tmp94*(tmp345 + tmp386 + tmp459) + tmp98*(2*tmp222 + tmp457) + tmp98*(tmp250 + tmp455) + tmp98*(tmp376 + 2*tmp458) + tmp98*(tmp260*tmp272 + tmp456) + tmp98*(tmp288 + tmp289 + tmp453) + tmp98*(tmp257*tmp271 + tmp288 + tmp454)) + tmp98*(tmp100*(tmp247 + 2*tmp400) + tmp100*(tmp397 + tmp447) + tmp100*(tmp398 + tmp449) + tmp100*(tmp402 + tmp446) + tmp100*(tmp407 + tmp452) + tmp100*(tmp219 + tmp406 + tmp450) + tmp102*(2*tmp352 + tmp444) + tmp102*(tmp369 + tmp445) + tmp102*(tmp370 + tmp371 + tmp378) + tmp105*(tmp333 + tmp443) + tmp105*(tmp411 + tmp441) + tmp105*(tmp416 + tmp439) + tmp107*(tmp254 + tmp437) + tmp107*(tmp262 + 2*tmp291) + tmp107*(tmp227 + tmp236 + tmp438) + tmp469 + tmp94*(2*tmp344 + tmp461) + tmp94*(tmp364 + tmp464) + tmp94*(tmp366 + tmp466) + tmp94*(tmp384 + tmp463) + tmp94*(tmp386 + tmp460) + tmp94*(tmp356 + tmp357 + tmp467) + tmp98*(tmp250 + tmp456) + tmp98*(2*tmp288 + tmp454) + tmp98*(tmp289 + 2*tmp453) + tmp98*(tmp231*tmp331 + tmp455) + tmp98*(tmp222 + tmp376 + tmp458) + tmp98*(tmp222 + tmp224*tmp274 + tmp457))) + (2.0/3.0)*((trK)*(trK));
MU0GF_.ptr[MU0GF_.offset(i0, i1, i2)] = tmp92*(tmp1*tmp34*tmp519 - tmp102*tmp489 - tmp119*(12*tmp1*tmp66 + 6*tmp13 + 12*tmp14*tmp60 + 6*tmp17 + 6*tmp21 + tmp24*tmp490) - tmp126*tmp515 - tmp132*tmp516 + tmp14*tmp44*tmp518 + tmp19*tmp517 + tmp24*tmp522 + tmp24*tmp524 + 2*tmp24*tmp525 + tmp27*tmp514 + 2*tmp27*tmp532 + tmp29*tmp510 + 2*tmp29*tmp531 + tmp38*tmp506 + tmp38*tmp530 + tmp47*tmp502 + tmp47*tmp529 - tmp487*tmp94 - tmp488*tmp98 + tmp494*tmp68 + tmp498*tmp51 + tmp51*tmp528 + tmp522*tmp526 + tmp524*tmp526 + tmp527*tmp533 + tmp527*tmp68 + tmp528*tmp534 + tmp529*tmp85 + tmp530*tmp83);
MU1GF_.ptr[MU1GF_.offset(i0, i1, i2)] = tmp92*(tmp1*tmp538 - tmp100*tmp488 - tmp105*tmp487 - tmp119*tmp515 - tmp126*(6*tmp30 + 6*tmp33 + 6*tmp36 + tmp38*tmp535 + tmp39*tmp536 + tmp41*tmp490) - tmp132*tmp537 + tmp24*tmp510 + tmp24*tmp531 + tmp35*tmp519 + tmp38*tmp522 + 2*tmp38*tmp524 + tmp38*tmp525 + tmp39*tmp498 + 2*tmp39*tmp528 + tmp41*tmp506 + 2*tmp41*tmp530 + tmp47*tmp494 + tmp47*tmp527 - tmp489*tmp94 + tmp502*tmp78 + tmp51*tmp514 + tmp51*tmp532 + tmp518*tmp88 + tmp522*tmp83 + tmp525*tmp83 + tmp526*tmp531 + tmp527*tmp85 + tmp529*tmp78 + tmp529*tmp90 + tmp532*tmp534);
MU2GF_.ptr[MU2GF_.offset(i0, i1, i2)] = tmp92*(-tmp100*tmp487 - tmp107*tmp488 - tmp119*tmp516 - tmp126*tmp537 - tmp132*(6*tmp42 + 6*tmp43 + 6*tmp46 + tmp47*tmp536 + tmp48*tmp535 + tmp490*tmp50) + tmp14*tmp538 + tmp24*tmp514 + tmp24*tmp532 + tmp38*tmp498 + tmp38*tmp528 + tmp40*tmp519 + tmp45*tmp518 + 2*tmp47*tmp522 + tmp47*tmp524 + tmp47*tmp525 + tmp48*tmp494 + 2*tmp48*tmp527 - tmp489*tmp98 + tmp50*tmp502 + 2*tmp50*tmp529 + tmp506*tmp78 + tmp510*tmp68 + tmp524*tmp85 + tmp525*tmp85 + tmp526*tmp532 + tmp528*tmp83 + tmp530*tmp78 + tmp530*tmp90 + tmp531*tmp533 + tmp531*tmp68);
}
});
#include <loop.hxx>
#include <math.h>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
void BaikalETK_BSSN_to_ADM(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
Loop::GF3D<CCTK_REAL,0,0,0> trKGF_(cctkGH,trKGF);
Loop::GF3D<CCTK_REAL,0,0,0> alphaGF_(cctkGH,alphaGF);
Loop::GF3D<CCTK_REAL,0,0,0> alp_(cctkGH,alp);
Loop::GF3D<CCTK_REAL,0,0,0> cfGF_(cctkGH,cfGF);
Loop::GF3D<CCTK_REAL,0,0,0> betax_(cctkGH,betax);
Loop::GF3D<CCTK_REAL,0,0,0> dtbetax_(cctkGH,dtbetax);
Loop::GF3D<CCTK_REAL,0,0,0> vetU0GF_(cctkGH,vetU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU0GF_(cctkGH,betU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> gxx_(cctkGH,gxx);
Loop::GF3D<CCTK_REAL,0,0,0> kxx_(cctkGH,kxx);
Loop::GF3D<CCTK_REAL,0,0,0> hDD00GF_(cctkGH,hDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD00GF_(cctkGH,aDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> gxy_(cctkGH,gxy);
Loop::GF3D<CCTK_REAL,0,0,0> kxy_(cctkGH,kxy);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01GF_(cctkGH,hDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD01GF_(cctkGH,aDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> gxz_(cctkGH,gxz);
Loop::GF3D<CCTK_REAL,0,0,0> kxz_(cctkGH,kxz);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02GF_(cctkGH,hDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD02GF_(cctkGH,aDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> betay_(cctkGH,betay);
Loop::GF3D<CCTK_REAL,0,0,0> dtbetay_(cctkGH,dtbetay);
Loop::GF3D<CCTK_REAL,0,0,0> vetU1GF_(cctkGH,vetU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU1GF_(cctkGH,betU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> gyy_(cctkGH,gyy);
Loop::GF3D<CCTK_REAL,0,0,0> kyy_(cctkGH,kyy);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11GF_(cctkGH,hDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD11GF_(cctkGH,aDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> gyz_(cctkGH,gyz);
Loop::GF3D<CCTK_REAL,0,0,0> kyz_(cctkGH,kyz);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12GF_(cctkGH,hDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD12GF_(cctkGH,aDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> betaz_(cctkGH,betaz);
Loop::GF3D<CCTK_REAL,0,0,0> dtbetaz_(cctkGH,dtbetaz);
Loop::GF3D<CCTK_REAL,0,0,0> vetU2GF_(cctkGH,vetU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU2GF_(cctkGH,betU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> gzz_(cctkGH,gzz);
Loop::GF3D<CCTK_REAL,0,0,0> kzz_(cctkGH,kzz);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22GF_(cctkGH,hDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD22GF_(cctkGH,aDD22GF);
Loop::loop_all<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 1: Read from main memory and compute finite difference stencils:
*/
const double hDD00 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2)];
const double hDD01 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2)];
const double hDD02 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2)];
const double hDD11 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2)];
const double hDD12 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2)];
const double hDD22 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2)];
const double aDD00 = aDD00GF_.ptr[aDD00GF_.offset(i0,i1,i2)];
const double aDD01 = aDD01GF_.ptr[aDD01GF_.offset(i0,i1,i2)];
const double aDD02 = aDD02GF_.ptr[aDD02GF_.offset(i0,i1,i2)];
const double aDD11 = aDD11GF_.ptr[aDD11GF_.offset(i0,i1,i2)];
const double aDD12 = aDD12GF_.ptr[aDD12GF_.offset(i0,i1,i2)];
const double aDD22 = aDD22GF_.ptr[aDD22GF_.offset(i0,i1,i2)];
const double vetU0 = vetU0GF_.ptr[vetU0GF_.offset(i0,i1,i2)];
const double vetU1 = vetU1GF_.ptr[vetU1GF_.offset(i0,i1,i2)];
const double vetU2 = vetU2GF_.ptr[vetU2GF_.offset(i0,i1,i2)];
const double betU0 = betU0GF_.ptr[betU0GF_.offset(i0,i1,i2)];
const double betU1 = betU1GF_.ptr[betU1GF_.offset(i0,i1,i2)];
const double betU2 = betU2GF_.ptr[betU2GF_.offset(i0,i1,i2)];
const double trK = trKGF_.ptr[trKGF_.offset(i0,i1,i2)];
const double cf = cfGF_.ptr[cfGF_.offset(i0,i1,i2)];
const double alpha = alphaGF_.ptr[alphaGF_.offset(i0,i1,i2)];
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 1: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = (1.0/((cf)*(cf)));
const double tmp1 = tmp0*(hDD00 + 1);
const double tmp2 = hDD01*tmp0;
const double tmp3 = hDD02*tmp0;
const double tmp4 = tmp0*(hDD11 + 1);
const double tmp5 = hDD12*tmp0;
const double tmp6 = tmp0*(hDD22 + 1);
const double tmp7 = (1.0/3.0)*trK;
gxx_(p.I) = tmp1;
gxy_(p.I) = tmp2;
gxz_(p.I) = tmp3;
gyy_(p.I) = tmp4;
gyz_(p.I) = tmp5;
gzz_(p.I) = tmp6;
kxx_(p.I) = aDD00*tmp0 + tmp1*tmp7;
kxy_(p.I) = aDD01*tmp0 + tmp2*tmp7;
kxz_(p.I) = aDD02*tmp0 + tmp3*tmp7;
kyy_(p.I) = aDD11*tmp0 + tmp4*tmp7;
kyz_(p.I) = aDD12*tmp0 + tmp5*tmp7;
kzz_(p.I) = aDD22*tmp0 + tmp6*tmp7;
alp_(p.I) = alpha;
betax_(p.I) = vetU0;
betay_(p.I) = vetU1;
betaz_(p.I) = vetU2;
dtbetax_(p.I) = betU0;
dtbetay_(p.I) = betU1;
dtbetaz_(p.I) = betU2;
});
}
#include <stdio.h>
#include "cctk.h"
int BaikalETK_Banner(void)
{
printf("BaikalETK: another Einstein Toolkit thorn generated by\n");
printf("\n");
printf("ooooo ooo ooooooooo. ooooooooo. 88\n");
printf("`888b. `8' `888 `Y88. `888 `Y88. 888888 \n");
printf(" 8 `88b. 8 888 .d88' 888 .d88' oooo ooo 88\n");
printf(" 8 `88b. 8 888ooo88P' 888ooo88P' `88. .8'\n");
printf(" 8 `88b.8 888`88b. 888 `88..8'\n");
printf(" 8 `888 888 `88b. 888 `888'\n");
printf("o8o `8 o888o o888o o888o .8'\n");
printf(" .o..P'\n");
printf(" NRPy+: Python-based Code Generation `Y8P'\n");
printf(" for Numerical Relativity... and Beyond!\n");
printf(" - homepage: http://blackholesathome.net\n");
printf(" - download: https://github.com/zachetienne/nrpytutorial\n");
return 0;
}
#include <math.h>
#include <loop.hxx>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
void driver_pt1_BSSN_Ricci(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS;
const CCTK_REAL invdx0 = 1.0/CCTK_DELTA_SPACE(0);
const CCTK_REAL invdx1 = 1.0/CCTK_DELTA_SPACE(1);
const CCTK_REAL invdx2 = 1.0/CCTK_DELTA_SPACE(2);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU0GF_(cctkGH,lambdaU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD00GF_(cctkGH,hDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD00GF_(cctkGH,RbarDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01GF_(cctkGH,hDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD01GF_(cctkGH,RbarDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02GF_(cctkGH,hDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD02GF_(cctkGH,RbarDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU1GF_(cctkGH,lambdaU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11GF_(cctkGH,hDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD11GF_(cctkGH,RbarDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12GF_(cctkGH,hDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD12GF_(cctkGH,RbarDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU2GF_(cctkGH,lambdaU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22GF_(cctkGH,hDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD22GF_(cctkGH,RbarDD22GF);
#include "BSSN_Ricci.h"
}
#include <math.h>
#include <loop.hxx>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
//void BSSN_RHSs()
#define UPWIND_ALG(UpwindVecU) UpwindVecU > 0.0 ? 1.0 : 0.0
void driver_pt2_BSSN_RHSs(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
const CCTK_REAL invdx0 = 1.0/CCTK_DELTA_SPACE(0);
const CCTK_REAL invdx1 = 1.0/CCTK_DELTA_SPACE(1);
const CCTK_REAL invdx2 = 1.0/CCTK_DELTA_SPACE(2);
Loop::GF3D<CCTK_REAL,0,0,0> trKGF_(cctkGH,trKGF);
Loop::GF3D<CCTK_REAL,0,0,0> trK_rhsGF_(cctkGH,trK_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> alphaGF_(cctkGH,alphaGF);
Loop::GF3D<CCTK_REAL,0,0,0> alpha_rhsGF_(cctkGH,alpha_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> cfGF_(cctkGH,cfGF);
Loop::GF3D<CCTK_REAL,0,0,0> cf_rhsGF_(cctkGH,cf_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU0GF_(cctkGH,lambdaU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU0_rhsGF_(cctkGH,lambdaU0_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU0GF_(cctkGH,vetU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU0_rhsGF_(cctkGH,vetU0_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> betU0GF_(cctkGH,betU0GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU0_rhsGF_(cctkGH,betU0_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD00GF_(cctkGH,hDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD00GF_(cctkGH,aDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD00_rhsGF_(cctkGH,hDD00_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD00_rhsGF_(cctkGH,aDD00_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD00GF_(cctkGH,RbarDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01GF_(cctkGH,hDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD01GF_(cctkGH,aDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01_rhsGF_(cctkGH,hDD01_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD01_rhsGF_(cctkGH,aDD01_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD01GF_(cctkGH,RbarDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02GF_(cctkGH,hDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD02GF_(cctkGH,aDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02_rhsGF_(cctkGH,hDD02_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD02_rhsGF_(cctkGH,aDD02_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD02GF_(cctkGH,RbarDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU1GF_(cctkGH,lambdaU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU1_rhsGF_(cctkGH,lambdaU1_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU1GF_(cctkGH,vetU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU1_rhsGF_(cctkGH,vetU1_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> betU1GF_(cctkGH,betU1GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU1_rhsGF_(cctkGH,betU1_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11GF_(cctkGH,hDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD11GF_(cctkGH,aDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11_rhsGF_(cctkGH,hDD11_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD11_rhsGF_(cctkGH,aDD11_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD11GF_(cctkGH,RbarDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12GF_(cctkGH,hDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD12GF_(cctkGH,aDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12_rhsGF_(cctkGH,hDD12_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD12_rhsGF_(cctkGH,aDD12_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD12GF_(cctkGH,RbarDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU2GF_(cctkGH,lambdaU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> lambdaU2_rhsGF_(cctkGH,lambdaU2_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU2GF_(cctkGH,vetU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> vetU2_rhsGF_(cctkGH,vetU2_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> betU2GF_(cctkGH,betU2GF);
Loop::GF3D<CCTK_REAL,0,0,0> betU2_rhsGF_(cctkGH,betU2_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22GF_(cctkGH,hDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD22GF_(cctkGH,aDD22GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22_rhsGF_(cctkGH,hDD22_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> aDD22_rhsGF_(cctkGH,aDD22_rhsGF);
Loop::GF3D<CCTK_REAL,0,0,0> RbarDD22GF_(cctkGH,RbarDD22GF);
#include "BSSN_RHSs.h"
}
#include <math.h>
#include <loop.hxx>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
void enforce_detgammabar_constraint(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
Loop::GF3D<CCTK_REAL,0,0,0> hDD00GF_(cctkGH,hDD00GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD01GF_(cctkGH,hDD01GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD02GF_(cctkGH,hDD02GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD11GF_(cctkGH,hDD11GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD12GF_(cctkGH,hDD12GF);
Loop::GF3D<CCTK_REAL,0,0,0> hDD22GF_(cctkGH,hDD22GF);
#include "enforce_detgammabar_constraint.h"
}
Loop::loop_all<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
/*
* NRPy+ Finite Difference Code Generation, Step 1 of 1: Read from main memory and compute finite difference stencils:
*/
const double hDD00 = hDD00GF_.ptr[hDD00GF_.offset(i0,i1,i2)];
const double hDD01 = hDD01GF_.ptr[hDD01GF_.offset(i0,i1,i2)];
const double hDD02 = hDD02GF_.ptr[hDD02GF_.offset(i0,i1,i2)];
const double hDD11 = hDD11GF_.ptr[hDD11GF_.offset(i0,i1,i2)];
const double hDD12 = hDD12GF_.ptr[hDD12GF_.offset(i0,i1,i2)];
const double hDD22 = hDD22GF_.ptr[hDD22GF_.offset(i0,i1,i2)];
/*
* NRPy+ Finite Difference Code Generation, Step 2 of 1: Evaluate SymPy expressions and write to main memory:
*/
const double tmp0 = hDD00 + 1;
const double tmp1 = hDD22 + 1;
const double tmp2 = hDD11 + 1;
const double tmp3 = cbrt(fabs(1)/(-((hDD01)*(hDD01))*tmp1 + 2*hDD01*hDD02*hDD12 - ((hDD02)*(hDD02))*tmp2 - ((hDD12)*(hDD12))*tmp0 + tmp0*tmp1*tmp2));
hDD00GF_.ptr[hDD00GF_.offset(i0, i1, i2)] = tmp0*tmp3 - 1;
hDD01GF_.ptr[hDD01GF_.offset(i0, i1, i2)] = hDD01*tmp3;
hDD02GF_.ptr[hDD02GF_.offset(i0, i1, i2)] = hDD02*tmp3;
hDD11GF_.ptr[hDD11GF_.offset(i0, i1, i2)] = tmp2*tmp3 - 1;
hDD12GF_.ptr[hDD12GF_.offset(i0, i1, i2)] = hDD12*tmp3;
hDD22GF_.ptr[hDD22GF_.offset(i0, i1, i2)] = tmp1*tmp3 - 1;
});
# Main make.code.defn file for thorn BaikalETK
# Source files in this directory
SRCS = Banner.cc \
zero_rhss.cc \
ADM_to_BSSN.cc \
BSSN_to_ADM.cc \
driver_pt1_BSSN_Ricci.cc \
driver_pt2_BSSN_RHSs.cc \
enforce_detgammabar_constraint.cc \
BSSN_constraints.cc
typedef struct __rfmstruct__ {
} rfm_struct;
rfm_struct rfmstruct;
#include <loop.hxx>
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
#include "Symmetry.h"
void BaikalETK_zero_rhss(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
Loop::GF3D<CCTK_REAL, 0, 0, 0> aDD00_rhsGF_(cctkGH, aDD00_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> aDD01_rhsGF_(cctkGH, aDD01_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> aDD02_rhsGF_(cctkGH, aDD02_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> aDD11_rhsGF_(cctkGH, aDD11_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> aDD12_rhsGF_(cctkGH, aDD12_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> aDD22_rhsGF_(cctkGH, aDD22_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> alpha_rhsGF_(cctkGH, alpha_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> betU0_rhsGF_(cctkGH, betU0_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> betU1_rhsGF_(cctkGH, betU1_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> betU2_rhsGF_(cctkGH, betU2_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> cf_rhsGF_(cctkGH, cf_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> hDD00_rhsGF_(cctkGH, hDD00_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> hDD01_rhsGF_(cctkGH, hDD01_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> hDD02_rhsGF_(cctkGH, hDD02_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> hDD11_rhsGF_(cctkGH, hDD11_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> hDD12_rhsGF_(cctkGH, hDD12_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> hDD22_rhsGF_(cctkGH, hDD22_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> lambdaU0_rhsGF_(cctkGH, lambdaU0_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> lambdaU1_rhsGF_(cctkGH, lambdaU1_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> lambdaU2_rhsGF_(cctkGH, lambdaU2_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> trK_rhsGF_(cctkGH, trK_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> vetU0_rhsGF_(cctkGH, vetU0_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> vetU1_rhsGF_(cctkGH, vetU1_rhsGF);
Loop::GF3D<CCTK_REAL, 0, 0, 0> vetU2_rhsGF_(cctkGH, vetU2_rhsGF);
Loop::loop_all<0,0,0>(cctkGH, [&](const Loop::PointDesc &p){
const int i0 = p.i;
const int i1 = p.j;
const int i2 = p.k;
aDD00_rhsGF_(i0, i1, i2) = 0.0;
aDD01_rhsGF_(i0, i1, i2) = 0.0;
aDD02_rhsGF_(i0, i1, i2) = 0.0;
aDD11_rhsGF_(i0, i1, i2) = 0.0;
aDD12_rhsGF_(i0, i1, i2) = 0.0;
aDD22_rhsGF_(i0, i1, i2) = 0.0;
alpha_rhsGF_(i0, i1, i2) = 0.0;
betU0_rhsGF_(i0, i1, i2) = 0.0;
betU1_rhsGF_(i0, i1, i2) = 0.0;
betU2_rhsGF_(i0, i1, i2) = 0.0;
cf_rhsGF_(i0, i1, i2) = 0.0;
hDD00_rhsGF_(i0, i1, i2) = 0.0;
hDD01_rhsGF_(i0, i1, i2) = 0.0;
hDD02_rhsGF_(i0, i1, i2) = 0.0;
hDD11_rhsGF_(i0, i1, i2) = 0.0;
hDD12_rhsGF_(i0, i1, i2) = 0.0;
hDD22_rhsGF_(i0, i1, i2) = 0.0;
lambdaU0_rhsGF_(i0, i1, i2) = 0.0;
lambdaU1_rhsGF_(i0, i1, i2) = 0.0;
lambdaU2_rhsGF_(i0, i1, i2) = 0.0;
trK_rhsGF_(i0, i1, i2) = 0.0;
vetU0_rhsGF_(i0, i1, i2) = 0.0;
vetU1_rhsGF_(i0, i1, i2) = 0.0;
vetU2_rhsGF_(i0, i1, i2) = 0.0;
});
}