aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreschnett <eschnett@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2011-12-19 23:00:36 +0000
committereschnett <eschnett@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2011-12-19 23:00:36 +0000
commit996c41f9a3e22cf32668c164a3ad0d74c82e0cfd (patch)
treeed07a2faeadd92fd765dd17afbd6d73a32374822
parent0fddb205fff8225a93a93bcbd72966d9cefbf694 (diff)
Regenerate code
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/WeylScal4/trunk@100 4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843
-rw-r--r--configuration.ccl1
-rw-r--r--interface.ccl97
-rw-r--r--param.ccl96
-rw-r--r--schedule.ccl560
-rw-r--r--src/Differencing.h579
-rw-r--r--src/RegisterMoL.cc2
-rw-r--r--src/RegisterSymmetries.cc80
-rw-r--r--src/invars_calc_2nd.cc351
-rw-r--r--src/invars_calc_4th.cc351
-rw-r--r--src/invars_calc_Nth.cc351
-rw-r--r--src/make.code.defn2
-rw-r--r--src/psi4_calc_2nd.cc1895
-rw-r--r--src/psi4_calc_4th.cc1895
-rw-r--r--src/psi4_calc_Nth.cc1889
-rw-r--r--src/psis_calc_2nd.cc2470
-rw-r--r--src/psis_calc_4th.cc2470
-rw-r--r--src/psis_calc_Nth.cc2458
17 files changed, 12189 insertions, 3358 deletions
diff --git a/configuration.ccl b/configuration.ccl
index 8e2c3c5..bdbc1bd 100644
--- a/configuration.ccl
+++ b/configuration.ccl
@@ -2,3 +2,4 @@
REQUIRES GenericFD
REQUIRES LoopControl
+REQUIRES Vectors
diff --git a/interface.ccl b/interface.ccl
index eaae5f5..72961ed 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -11,6 +11,7 @@ USES INCLUDE: Symmetry.h
USES INCLUDE: sbp_calc_coeffs.h
USES INCLUDE: Boundary.h
USES INCLUDE: loopcontrol.h
+USES INCLUDE: vectors.h
CCTK_INT FUNCTION MoLRegisterEvolved(CCTK_INT IN EvolvedIndex, CCTK_INT IN RHSIndex)
USES FUNCTION MoLRegisterEvolved
@@ -28,6 +29,102 @@ CCTK_INT FUNCTION Boundary_SelectVarForBC(CCTK_POINTER_TO_CONST IN GH, CCTK_INT
USES FUNCTION Boundary_SelectVarForBC
public:
+CCTK_REAL curvIi_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvIi
+} "curvIi_group"
+
+public:
+CCTK_REAL curvIr_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvIr
+} "curvIr_group"
+
+public:
+CCTK_REAL curvJ1_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvJ1
+} "curvJ1_group"
+
+public:
+CCTK_REAL curvJ2_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvJ2
+} "curvJ2_group"
+
+public:
+CCTK_REAL curvJ3_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvJ3
+} "curvJ3_group"
+
+public:
+CCTK_REAL curvJ4_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvJ4
+} "curvJ4_group"
+
+public:
+CCTK_REAL curvJi_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvJi
+} "curvJi_group"
+
+public:
+CCTK_REAL curvJr_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0'
+{
+ curvJr
+} "curvJr_group"
+
+public:
+CCTK_REAL Psi0i_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0 tensorparity=-1'
+{
+ Psi0i
+} "Psi0i_group"
+
+public:
+CCTK_REAL Psi0r_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0 tensorparity=1'
+{
+ Psi0r
+} "Psi0r_group"
+
+public:
+CCTK_REAL Psi1i_group type=GF timelevels=3 tags='tensortypealias="ManualCartesian" tensorweight=0 cartesianreflectionparities="--+"'
+{
+ Psi1i
+} "Psi1i_group"
+
+public:
+CCTK_REAL Psi1r_group type=GF timelevels=3 tags='tensortypealias="ManualCartesian" tensorweight=0 cartesianreflectionparities="++-"'
+{
+ Psi1r
+} "Psi1r_group"
+
+public:
+CCTK_REAL Psi2i_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0 tensorparity=-1'
+{
+ Psi2i
+} "Psi2i_group"
+
+public:
+CCTK_REAL Psi2r_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0 tensorparity=1'
+{
+ Psi2r
+} "Psi2r_group"
+
+public:
+CCTK_REAL Psi3i_group type=GF timelevels=3 tags='tensortypealias="ManualCartesian" tensorweight=0 cartesianreflectionparities="--+"'
+{
+ Psi3i
+} "Psi3i_group"
+
+public:
+CCTK_REAL Psi3r_group type=GF timelevels=3 tags='tensortypealias="ManualCartesian" tensorweight=0 cartesianreflectionparities="--+"'
+{
+ Psi3r
+} "Psi3r_group"
+
+public:
CCTK_REAL Psi4i_group type=GF timelevels=3 tags='tensortypealias="Scalar" tensorweight=0 tensorparity=-1'
{
Psi4i
diff --git a/param.ccl b/param.ccl
index dbe8f32..e8dc259 100644
--- a/param.ccl
+++ b/param.ccl
@@ -3,11 +3,15 @@
shares: GenericFD
+USES CCTK_STRING jacobian_group
+USES CCTK_STRING jacobian_derivative_group
+USES CCTK_INT jacobian_identity_map
shares: MethodOfLines
USES CCTK_INT MoL_Num_Evolved_Vars
+USES CCTK_INT MoL_Num_ArrayEvolved_Vars
restricted:
CCTK_INT verbose "verbose" STEERABLE=ALWAYS
@@ -53,6 +57,20 @@ KEYWORD fd_order "fd_order"
"4th" :: "4th"
} "Nth"
+private:
+KEYWORD calc_scalars "Which scalars to calculate"
+{
+ "psi4" :: "psi4"
+ "psis" :: "psis"
+} "psi4"
+
+private:
+KEYWORD calc_invariants "Compute invariants"
+{
+ "always" :: "always"
+ "never" :: "never"
+} "never"
+
restricted:
CCTK_INT WeylScal4_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER
{
@@ -60,6 +78,12 @@ CCTK_INT WeylScal4_MaxNumEvolvedVars "Number of evolved variables used by this t
} 0
restricted:
+CCTK_INT WeylScal4_MaxNumArrayEvolvedVars "Number of Array evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_ArrayEvolved_Vars STEERABLE=RECOVER
+{
+ 0:0 :: "Number of Array evolved variables used by this thorn"
+} 0
+
+restricted:
CCTK_INT timelevels "Number of active timelevels" STEERABLE=RECOVER
{
0:3 :: ""
@@ -72,6 +96,24 @@ CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER
} 1
restricted:
+CCTK_INT psi4_calc_Nth_calc_every "psi4_calc_Nth_calc_every" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 1
+
+restricted:
+CCTK_INT psi4_calc_2nd_calc_every "psi4_calc_2nd_calc_every" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 1
+
+restricted:
+CCTK_INT psi4_calc_4th_calc_every "psi4_calc_4th_calc_every" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 1
+
+restricted:
CCTK_INT psis_calc_Nth_calc_every "psis_calc_Nth_calc_every" STEERABLE=ALWAYS
{
*:* :: ""
@@ -90,6 +132,42 @@ CCTK_INT psis_calc_4th_calc_every "psis_calc_4th_calc_every" STEERABLE=ALWAYS
} 1
restricted:
+CCTK_INT invars_calc_Nth_calc_every "invars_calc_Nth_calc_every" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 1
+
+restricted:
+CCTK_INT invars_calc_2nd_calc_every "invars_calc_2nd_calc_every" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 1
+
+restricted:
+CCTK_INT invars_calc_4th_calc_every "invars_calc_4th_calc_every" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 1
+
+restricted:
+CCTK_INT psi4_calc_Nth_calc_offset "psi4_calc_Nth_calc_offset" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 0
+
+restricted:
+CCTK_INT psi4_calc_2nd_calc_offset "psi4_calc_2nd_calc_offset" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 0
+
+restricted:
+CCTK_INT psi4_calc_4th_calc_offset "psi4_calc_4th_calc_offset" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 0
+
+restricted:
CCTK_INT psis_calc_Nth_calc_offset "psis_calc_Nth_calc_offset" STEERABLE=ALWAYS
{
*:* :: ""
@@ -107,3 +185,21 @@ CCTK_INT psis_calc_4th_calc_offset "psis_calc_4th_calc_offset" STEERABLE=ALWAYS
*:* :: ""
} 0
+restricted:
+CCTK_INT invars_calc_Nth_calc_offset "invars_calc_Nth_calc_offset" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 0
+
+restricted:
+CCTK_INT invars_calc_2nd_calc_offset "invars_calc_2nd_calc_offset" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 0
+
+restricted:
+CCTK_INT invars_calc_4th_calc_offset "invars_calc_4th_calc_offset" STEERABLE=ALWAYS
+{
+ *:* :: ""
+} 0
+
diff --git a/schedule.ccl b/schedule.ccl
index 11be848..d83325b 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,6 +1,38 @@
# File produced by Kranc
+STORAGE: curvIi_group[3]
+
+STORAGE: curvIr_group[3]
+
+STORAGE: curvJ1_group[3]
+
+STORAGE: curvJ2_group[3]
+
+STORAGE: curvJ3_group[3]
+
+STORAGE: curvJ4_group[3]
+
+STORAGE: curvJi_group[3]
+
+STORAGE: curvJr_group[3]
+
+STORAGE: Psi0i_group[3]
+
+STORAGE: Psi0r_group[3]
+
+STORAGE: Psi1i_group[3]
+
+STORAGE: Psi1r_group[3]
+
+STORAGE: Psi2i_group[3]
+
+STORAGE: Psi2r_group[3]
+
+STORAGE: Psi3i_group[3]
+
+STORAGE: Psi3r_group[3]
+
STORAGE: Psi4i_group[3]
STORAGE: Psi4r_group[3]
@@ -24,12 +56,187 @@ schedule WeylScal4_RegisterSymmetries in SymmetryRegister
} "register symmetries"
-if (CCTK_EQUALS(fd_order, "Nth"))
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group psi4_calc_Nth_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "psi4_calc_Nth"
+ }
+}
+
+schedule psi4_calc_Nth in psi4_calc_Nth_group
+{
+ LANG: C
+} "psi4_calc_Nth"
+
+schedule psi4_calc_Nth_SelectBCs in psi4_calc_Nth_bc_group
+{
+ LANG: C
+ OPTIONS: level
+ SYNC: Psi4i_group
+ SYNC: Psi4r_group
+} "psi4_calc_Nth_SelectBCs"
+
+schedule group ApplyBCs as psi4_calc_Nth_ApplyBCs in psi4_calc_Nth_bc_group after psi4_calc_Nth_SelectBCs
+{
+ # no language specified
+} "Apply BCs for groups set in psi4_calc_Nth"
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group psi4_calc_Nth_bc_group in psi4_calc_Nth_group after psi4_calc_Nth
+ {
+ # no language specified
+ } "psi4_calc_Nth"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group psi4_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "psi4_calc_Nth"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
{
- schedule group psis_calc_Nth_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
{
- # no language specified
- } "psis_calc_Nth"
+ schedule group psi4_calc_2nd_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "psi4_calc_2nd"
+ }
+}
+
+schedule psi4_calc_2nd in psi4_calc_2nd_group
+{
+ LANG: C
+} "psi4_calc_2nd"
+
+schedule psi4_calc_2nd_SelectBCs in psi4_calc_2nd_bc_group
+{
+ LANG: C
+ OPTIONS: level
+ SYNC: Psi4i_group
+ SYNC: Psi4r_group
+} "psi4_calc_2nd_SelectBCs"
+
+schedule group ApplyBCs as psi4_calc_2nd_ApplyBCs in psi4_calc_2nd_bc_group after psi4_calc_2nd_SelectBCs
+{
+ # no language specified
+} "Apply BCs for groups set in psi4_calc_2nd"
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
+ {
+ schedule group psi4_calc_2nd_bc_group in psi4_calc_2nd_group after psi4_calc_2nd
+ {
+ # no language specified
+ } "psi4_calc_2nd"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
+ {
+ schedule group psi4_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "psi4_calc_2nd"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group psi4_calc_4th_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "psi4_calc_4th"
+ }
+}
+
+schedule psi4_calc_4th in psi4_calc_4th_group
+{
+ LANG: C
+} "psi4_calc_4th"
+
+schedule psi4_calc_4th_SelectBCs in psi4_calc_4th_bc_group
+{
+ LANG: C
+ OPTIONS: level
+ SYNC: Psi4i_group
+ SYNC: Psi4r_group
+} "psi4_calc_4th_SelectBCs"
+
+schedule group ApplyBCs as psi4_calc_4th_ApplyBCs in psi4_calc_4th_bc_group after psi4_calc_4th_SelectBCs
+{
+ # no language specified
+} "Apply BCs for groups set in psi4_calc_4th"
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group psi4_calc_4th_bc_group in psi4_calc_4th_group after psi4_calc_4th
+ {
+ # no language specified
+ } "psi4_calc_4th"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psi4"))
+{
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group psi4_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "psi4_calc_4th"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psis"))
+{
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group psis_calc_Nth_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "psis_calc_Nth"
+ }
}
schedule psis_calc_Nth in psis_calc_Nth_group
@@ -41,6 +248,14 @@ schedule psis_calc_Nth_SelectBCs in psis_calc_Nth_bc_group
{
LANG: C
OPTIONS: level
+ SYNC: Psi0i_group
+ SYNC: Psi0r_group
+ SYNC: Psi1i_group
+ SYNC: Psi1r_group
+ SYNC: Psi2i_group
+ SYNC: Psi2r_group
+ SYNC: Psi3i_group
+ SYNC: Psi3r_group
SYNC: Psi4i_group
SYNC: Psi4r_group
} "psis_calc_Nth_SelectBCs"
@@ -51,30 +266,42 @@ schedule group ApplyBCs as psis_calc_Nth_ApplyBCs in psis_calc_Nth_bc_group afte
} "Apply BCs for groups set in psis_calc_Nth"
-if (CCTK_EQUALS(fd_order, "Nth"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
{
- schedule group psis_calc_Nth_bc_group in psis_calc_Nth_group after psis_calc_Nth
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
{
- # no language specified
- } "psis_calc_Nth"
+ schedule group psis_calc_Nth_bc_group in psis_calc_Nth_group after psis_calc_Nth
+ {
+ # no language specified
+ } "psis_calc_Nth"
+ }
}
-if (CCTK_EQUALS(fd_order, "Nth"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
{
- schedule group psis_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
{
- # no language specified
- } "psis_calc_Nth"
+ schedule group psis_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "psis_calc_Nth"
+ }
}
-if (CCTK_EQUALS(fd_order, "2nd"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
{
- schedule group psis_calc_2nd_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
{
- # no language specified
- } "psis_calc_2nd"
+ schedule group psis_calc_2nd_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "psis_calc_2nd"
+ }
}
schedule psis_calc_2nd in psis_calc_2nd_group
@@ -86,6 +313,14 @@ schedule psis_calc_2nd_SelectBCs in psis_calc_2nd_bc_group
{
LANG: C
OPTIONS: level
+ SYNC: Psi0i_group
+ SYNC: Psi0r_group
+ SYNC: Psi1i_group
+ SYNC: Psi1r_group
+ SYNC: Psi2i_group
+ SYNC: Psi2r_group
+ SYNC: Psi3i_group
+ SYNC: Psi3r_group
SYNC: Psi4i_group
SYNC: Psi4r_group
} "psis_calc_2nd_SelectBCs"
@@ -96,30 +331,42 @@ schedule group ApplyBCs as psis_calc_2nd_ApplyBCs in psis_calc_2nd_bc_group afte
} "Apply BCs for groups set in psis_calc_2nd"
-if (CCTK_EQUALS(fd_order, "2nd"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
{
- schedule group psis_calc_2nd_bc_group in psis_calc_2nd_group after psis_calc_2nd
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
{
- # no language specified
- } "psis_calc_2nd"
+ schedule group psis_calc_2nd_bc_group in psis_calc_2nd_group after psis_calc_2nd
+ {
+ # no language specified
+ } "psis_calc_2nd"
+ }
}
-if (CCTK_EQUALS(fd_order, "2nd"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
{
- schedule group psis_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
{
- # no language specified
- } "psis_calc_2nd"
+ schedule group psis_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "psis_calc_2nd"
+ }
}
-if (CCTK_EQUALS(fd_order, "4th"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
{
- schedule group psis_calc_4th_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+
+ if (CCTK_EQUALS(fd_order, "4th"))
{
- # no language specified
- } "psis_calc_4th"
+ schedule group psis_calc_4th_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "psis_calc_4th"
+ }
}
schedule psis_calc_4th in psis_calc_4th_group
@@ -131,6 +378,14 @@ schedule psis_calc_4th_SelectBCs in psis_calc_4th_bc_group
{
LANG: C
OPTIONS: level
+ SYNC: Psi0i_group
+ SYNC: Psi0r_group
+ SYNC: Psi1i_group
+ SYNC: Psi1r_group
+ SYNC: Psi2i_group
+ SYNC: Psi2r_group
+ SYNC: Psi3i_group
+ SYNC: Psi3r_group
SYNC: Psi4i_group
SYNC: Psi4r_group
} "psis_calc_4th_SelectBCs"
@@ -141,21 +396,254 @@ schedule group ApplyBCs as psis_calc_4th_ApplyBCs in psis_calc_4th_bc_group afte
} "Apply BCs for groups set in psis_calc_4th"
-if (CCTK_EQUALS(fd_order, "4th"))
+if (CCTK_EQUALS(calc_scalars, "psis"))
+{
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group psis_calc_4th_bc_group in psis_calc_4th_group after psis_calc_4th
+ {
+ # no language specified
+ } "psis_calc_4th"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_scalars, "psis"))
+{
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group psis_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "psis_calc_4th"
+ }
+}
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group invars_calc_Nth_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "invars_calc_Nth"
+ }
+ }
+}
+
+schedule invars_calc_Nth in invars_calc_Nth_group
+{
+ LANG: C
+} "invars_calc_Nth"
+
+schedule invars_calc_Nth_SelectBCs in invars_calc_Nth_bc_group
+{
+ LANG: C
+ OPTIONS: level
+ SYNC: curvIi_group
+ SYNC: curvIr_group
+ SYNC: curvJ1_group
+ SYNC: curvJ2_group
+ SYNC: curvJ3_group
+ SYNC: curvJ4_group
+ SYNC: curvJi_group
+ SYNC: curvJr_group
+} "invars_calc_Nth_SelectBCs"
+
+schedule group ApplyBCs as invars_calc_Nth_ApplyBCs in invars_calc_Nth_bc_group after invars_calc_Nth_SelectBCs
+{
+ # no language specified
+} "Apply BCs for groups set in invars_calc_Nth"
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group invars_calc_Nth_bc_group in invars_calc_Nth_group after invars_calc_Nth
+ {
+ # no language specified
+ } "invars_calc_Nth"
+ }
+ }
+}
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "Nth"))
+ {
+ schedule group invars_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "invars_calc_Nth"
+ }
+ }
+}
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
+ {
+ schedule group invars_calc_2nd_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "invars_calc_2nd"
+ }
+ }
+}
+
+schedule invars_calc_2nd in invars_calc_2nd_group
+{
+ LANG: C
+} "invars_calc_2nd"
+
+schedule invars_calc_2nd_SelectBCs in invars_calc_2nd_bc_group
+{
+ LANG: C
+ OPTIONS: level
+ SYNC: curvIi_group
+ SYNC: curvIr_group
+ SYNC: curvJ1_group
+ SYNC: curvJ2_group
+ SYNC: curvJ3_group
+ SYNC: curvJ4_group
+ SYNC: curvJi_group
+ SYNC: curvJr_group
+} "invars_calc_2nd_SelectBCs"
+
+schedule group ApplyBCs as invars_calc_2nd_ApplyBCs in invars_calc_2nd_bc_group after invars_calc_2nd_SelectBCs
+{
+ # no language specified
+} "Apply BCs for groups set in invars_calc_2nd"
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
+ {
+ schedule group invars_calc_2nd_bc_group in invars_calc_2nd_group after invars_calc_2nd
+ {
+ # no language specified
+ } "invars_calc_2nd"
+ }
+ }
+}
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "2nd"))
+ {
+ schedule group invars_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "invars_calc_2nd"
+ }
+ }
+}
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
+{
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
+ {
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group invars_calc_4th_group in MoL_PseudoEvolution after ADMBase_SetADMVars
+ {
+ # no language specified
+ } "invars_calc_4th"
+ }
+ }
+}
+
+schedule invars_calc_4th in invars_calc_4th_group
+{
+ LANG: C
+} "invars_calc_4th"
+
+schedule invars_calc_4th_SelectBCs in invars_calc_4th_bc_group
+{
+ LANG: C
+ OPTIONS: level
+ SYNC: curvIi_group
+ SYNC: curvIr_group
+ SYNC: curvJ1_group
+ SYNC: curvJ2_group
+ SYNC: curvJ3_group
+ SYNC: curvJ4_group
+ SYNC: curvJi_group
+ SYNC: curvJr_group
+} "invars_calc_4th_SelectBCs"
+
+schedule group ApplyBCs as invars_calc_4th_ApplyBCs in invars_calc_4th_bc_group after invars_calc_4th_SelectBCs
+{
+ # no language specified
+} "Apply BCs for groups set in invars_calc_4th"
+
+
+if (CCTK_EQUALS(calc_invariants, "always"))
{
- schedule group psis_calc_4th_bc_group in psis_calc_4th_group after psis_calc_4th
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
{
- # no language specified
- } "psis_calc_4th"
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group invars_calc_4th_bc_group in invars_calc_4th_group after invars_calc_4th
+ {
+ # no language specified
+ } "invars_calc_4th"
+ }
+ }
}
-if (CCTK_EQUALS(fd_order, "4th"))
+if (CCTK_EQUALS(calc_invariants, "always"))
{
- schedule group psis_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+
+ if (CCTK_EQUALS(calc_scalars, "psis"))
{
- # no language specified
- } "psis_calc_4th"
+
+ if (CCTK_EQUALS(fd_order, "4th"))
+ {
+ schedule group invars_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
+ {
+ # no language specified
+ } "invars_calc_4th"
+ }
+ }
}
schedule WeylScal4_SelectBoundConds in MoL_PostStep
diff --git a/src/Differencing.h b/src/Differencing.h
index 90af4e6..86cbd45 100644
--- a/src/Differencing.h
+++ b/src/Differencing.h
@@ -1,864 +1,867 @@
+#include <assert.h>
+#include "vectors.h"
+
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd1(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1o2dx)
+# define PDstandard2nd1(u) (kmul(p1o2dx,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,-1,0,0))))
#else
# define PDstandard2nd1(u) (PDstandard2nd1_impl(u,p1o2dx,cdj,cdk))
-static CCTK_REAL PDstandard2nd1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1o2dx;
+ return kmul(p1o2dx,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,-1,0,0)));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd2(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1o2dy)
+# define PDstandard2nd2(u) (kmul(p1o2dy,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,-1,0))))
#else
# define PDstandard2nd2(u) (PDstandard2nd2_impl(u,p1o2dy,cdj,cdk))
-static CCTK_REAL PDstandard2nd2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1o2dy;
+ return kmul(p1o2dy,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,-1,0)));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd3(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1o2dz)
+# define PDstandard2nd3(u) (kmul(p1o2dz,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,-1))))
#else
# define PDstandard2nd3(u) (PDstandard2nd3_impl(u,p1o2dz,cdj,cdk))
-static CCTK_REAL PDstandard2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1o2dz;
+ return kmul(p1o2dz,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,-1)));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd11(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx2)
+# define PDstandard2nd11(u) (kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0)))))
#else
# define PDstandard2nd11(u) (PDstandard2nd11_impl(u,p1odx2,cdj,cdk))
-static CCTK_REAL PDstandard2nd11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx2;
+ return kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd22(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody2)
+# define PDstandard2nd22(u) (kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0)))))
#else
# define PDstandard2nd22(u) (PDstandard2nd22_impl(u,p1ody2,cdj,cdk))
-static CCTK_REAL PDstandard2nd22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody2;
+ return kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd33(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz2)
+# define PDstandard2nd33(u) (kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1)))))
#else
# define PDstandard2nd33(u) (PDstandard2nd33_impl(u,p1odz2,cdj,cdk))
-static CCTK_REAL PDstandard2nd33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz2;
+ return kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd12(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy)
+# define PDstandard2nd12(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
#else
# define PDstandard2nd12(u) (PDstandard2nd12_impl(u,p1o4dxdy,cdj,cdk))
-static CCTK_REAL PDstandard2nd12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy;
+ return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd13(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz)
+# define PDstandard2nd13(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
#else
# define PDstandard2nd13(u) (PDstandard2nd13_impl(u,p1o4dxdz,cdj,cdk))
-static CCTK_REAL PDstandard2nd13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz;
+ return kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd21(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy)
+# define PDstandard2nd21(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
#else
# define PDstandard2nd21(u) (PDstandard2nd21_impl(u,p1o4dxdy,cdj,cdk))
-static CCTK_REAL PDstandard2nd21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy;
+ return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd23(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz)
+# define PDstandard2nd23(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
#else
# define PDstandard2nd23(u) (PDstandard2nd23_impl(u,p1o4dydz,cdj,cdk))
-static CCTK_REAL PDstandard2nd23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz;
+ return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd31(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz)
+# define PDstandard2nd31(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
#else
# define PDstandard2nd31(u) (PDstandard2nd31_impl(u,p1o4dxdz,cdj,cdk))
-static CCTK_REAL PDstandard2nd31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz;
+ return kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd32(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz)
+# define PDstandard2nd32(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
#else
# define PDstandard2nd32(u) (PDstandard2nd32_impl(u,p1o4dydz,cdj,cdk))
-static CCTK_REAL PDstandard2nd32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard2nd32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard2nd32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard2nd32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz;
+ return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th1(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx)
+# define PDstandard4th1(u) (kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0))))))
#else
# define PDstandard4th1(u) (PDstandard4th1_impl(u,p1o12dx,cdj,cdk))
-static CCTK_REAL PDstandard4th1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx;
+ return kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th2(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy)
+# define PDstandard4th2(u) (kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0))))))
#else
# define PDstandard4th2(u) (PDstandard4th2_impl(u,p1o12dy,cdj,cdk))
-static CCTK_REAL PDstandard4th2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy;
+ return kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th3(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz)
+# define PDstandard4th3(u) (kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2))))))
#else
# define PDstandard4th3(u) (PDstandard4th3_impl(u,p1o12dz,cdj,cdk))
-static CCTK_REAL PDstandard4th3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz;
+ return kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th11(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2)
+# define PDstandard4th11(u) (kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
#else
# define PDstandard4th11(u) (PDstandard4th11_impl(u,pm1o12dx2,cdj,cdk))
-static CCTK_REAL PDstandard4th11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2;
+ return kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th22(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2)
+# define PDstandard4th22(u) (kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
#else
# define PDstandard4th22(u) (PDstandard4th22_impl(u,pm1o12dy2,cdj,cdk))
-static CCTK_REAL PDstandard4th22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2;
+ return kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th33(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2)
+# define PDstandard4th33(u) (kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
#else
# define PDstandard4th33(u) (PDstandard4th33_impl(u,pm1o12dz2,cdj,cdk))
-static CCTK_REAL PDstandard4th33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2;
+ return kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th12(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy)
+# define PDstandard4th12(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
#else
# define PDstandard4th12(u) (PDstandard4th12_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL PDstandard4th12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy;
+ return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th13(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz)
+# define PDstandard4th13(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
#else
# define PDstandard4th13(u) (PDstandard4th13_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL PDstandard4th13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz;
+ return kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th21(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy)
+# define PDstandard4th21(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
#else
# define PDstandard4th21(u) (PDstandard4th21_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL PDstandard4th21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy;
+ return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th23(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz)
+# define PDstandard4th23(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
#else
# define PDstandard4th23(u) (PDstandard4th23_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL PDstandard4th23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz;
+ return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th31(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz)
+# define PDstandard4th31(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
#else
# define PDstandard4th31(u) (PDstandard4th31_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL PDstandard4th31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz;
+ return kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th32(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz)
+# define PDstandard4th32(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
#else
# define PDstandard4th32(u) (PDstandard4th32_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL PDstandard4th32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandard4th32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandard4th32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandard4th32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz;
+ return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder21(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1o2dx)
+# define PDstandardfdOrder21(u) (kmul(p1o2dx,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,-1,0,0))))
#else
# define PDstandardfdOrder21(u) (PDstandardfdOrder21_impl(u,p1o2dx,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1o2dx;
+ return kmul(p1o2dx,ksub(KRANC_GFOFFSET3D(u,1,0,0),KRANC_GFOFFSET3D(u,-1,0,0)));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder22(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1o2dy)
+# define PDstandardfdOrder22(u) (kmul(p1o2dy,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,-1,0))))
#else
# define PDstandardfdOrder22(u) (PDstandardfdOrder22_impl(u,p1o2dy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1o2dy;
+ return kmul(p1o2dy,ksub(KRANC_GFOFFSET3D(u,0,1,0),KRANC_GFOFFSET3D(u,0,-1,0)));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder23(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1o2dz)
+# define PDstandardfdOrder23(u) (kmul(p1o2dz,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,-1))))
#else
# define PDstandardfdOrder23(u) (PDstandardfdOrder23_impl(u,p1o2dz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1o2dz;
+ return kmul(p1o2dz,ksub(KRANC_GFOFFSET3D(u,0,0,1),KRANC_GFOFFSET3D(u,0,0,-1)));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder41(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx)
+# define PDstandardfdOrder41(u) (kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0))))))
#else
# define PDstandardfdOrder41(u) (PDstandardfdOrder41_impl(u,p1o12dx,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx;
+ return kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder42(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy)
+# define PDstandardfdOrder42(u) (kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0))))))
#else
# define PDstandardfdOrder42(u) (PDstandardfdOrder42_impl(u,p1o12dy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy;
+ return kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder43(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz)
+# define PDstandardfdOrder43(u) (kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2))))))
#else
# define PDstandardfdOrder43(u) (PDstandardfdOrder43_impl(u,p1o12dz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz;
+ return kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder61(u) ((-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]))*p1o60dx)
+# define PDstandardfdOrder61(u) (kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45))),KRANC_GFOFFSET3D(u,-3,0,0)))))))
#else
# define PDstandardfdOrder61(u) (PDstandardfdOrder61_impl(u,p1o60dx,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]))*p1o60dx;
+ return kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45))),KRANC_GFOFFSET3D(u,-3,0,0))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder62(u) ((-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]))*p1o60dy)
+# define PDstandardfdOrder62(u) (kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45))),KRANC_GFOFFSET3D(u,0,-3,0)))))))
#else
# define PDstandardfdOrder62(u) (PDstandardfdOrder62_impl(u,p1o60dy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]))*p1o60dy;
+ return kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45))),KRANC_GFOFFSET3D(u,0,-3,0))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder63(u) ((-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]))*p1o60dz)
+# define PDstandardfdOrder63(u) (kmul(p1o60dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(45))),KRANC_GFOFFSET3D(u,0,0,-3)))))))
#else
# define PDstandardfdOrder63(u) (PDstandardfdOrder63_impl(u,p1o60dz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]))*p1o60dz;
+ return kmul(p1o60dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(45))),KRANC_GFOFFSET3D(u,0,0,-3))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder81(u) ((-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]))*p1o840dx)
+# define PDstandardfdOrder81(u) (kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672)))))))))))
#else
# define PDstandardfdOrder81(u) (PDstandardfdOrder81_impl(u,p1o840dx,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]))*p1o840dx;
+ return kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder82(u) ((-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]))*p1o840dy)
+# define PDstandardfdOrder82(u) (kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672)))))))))))
#else
# define PDstandardfdOrder82(u) (PDstandardfdOrder82_impl(u,p1o840dy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]))*p1o840dy;
+ return kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder83(u) ((-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]))*p1o840dz)
+# define PDstandardfdOrder83(u) (kmul(p1o840dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(672)))))))))))
#else
# define PDstandardfdOrder83(u) (PDstandardfdOrder83_impl(u,p1o840dz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]))*p1o840dz;
+ return kmul(p1o840dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(672))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder211(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx2)
+# define PDstandardfdOrder211(u) (kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0)))))
#else
# define PDstandardfdOrder211(u) (PDstandardfdOrder211_impl(u,p1odx2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx2;
+ return kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder222(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody2)
+# define PDstandardfdOrder222(u) (kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0)))))
#else
# define PDstandardfdOrder222(u) (PDstandardfdOrder222_impl(u,p1ody2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody2;
+ return kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder233(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz2)
+# define PDstandardfdOrder233(u) (kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1)))))
#else
# define PDstandardfdOrder233(u) (PDstandardfdOrder233_impl(u,p1odz2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz2;
+ return kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder411(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2)
+# define PDstandardfdOrder411(u) (kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
#else
# define PDstandardfdOrder411(u) (PDstandardfdOrder411_impl(u,pm1o12dx2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2;
+ return kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder422(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2)
+# define PDstandardfdOrder422(u) (kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
#else
# define PDstandardfdOrder422(u) (PDstandardfdOrder422_impl(u,pm1o12dy2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2;
+ return kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder433(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2)
+# define PDstandardfdOrder433(u) (kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
#else
# define PDstandardfdOrder433(u) (PDstandardfdOrder433_impl(u,pm1o12dz2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2;
+ return kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder611(u) ((-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])))*p1o180dx2)
+# define PDstandardfdOrder611(u) (kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270)))))))
#else
# define PDstandardfdOrder611(u) (PDstandardfdOrder611_impl(u,p1o180dx2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])))*p1o180dx2;
+ return kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder622(u) ((-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])))*p1o180dy2)
+# define PDstandardfdOrder622(u) (kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270)))))))
#else
# define PDstandardfdOrder622(u) (PDstandardfdOrder622_impl(u,p1o180dy2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])))*p1o180dy2;
+ return kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder633(u) ((-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])))*p1o180dz2)
+# define PDstandardfdOrder633(u) (kmul(p1o180dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(270)))))))
#else
# define PDstandardfdOrder633(u) (PDstandardfdOrder633_impl(u,p1o180dz2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])))*p1o180dz2;
+ return kmul(p1o180dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(270))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder811(u) ((-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])))*p1o5040dx2)
+# define PDstandardfdOrder811(u) (kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064))))))))
#else
# define PDstandardfdOrder811(u) (PDstandardfdOrder811_impl(u,p1o5040dx2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])))*p1o5040dx2;
+ return kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder822(u) ((-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])))*p1o5040dy2)
+# define PDstandardfdOrder822(u) (kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064))))))))
#else
# define PDstandardfdOrder822(u) (PDstandardfdOrder822_impl(u,p1o5040dy2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])))*p1o5040dy2;
+ return kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder833(u) ((-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])))*p1o5040dz2)
+# define PDstandardfdOrder833(u) (kmul(p1o5040dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(8064))))))))
#else
# define PDstandardfdOrder833(u) (PDstandardfdOrder833_impl(u,p1o5040dz2,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])))*p1o5040dz2;
+ return kmul(p1o5040dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(8064)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder212(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy)
+# define PDstandardfdOrder212(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
#else
# define PDstandardfdOrder212(u) (PDstandardfdOrder212_impl(u,p1o4dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy;
+ return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder213(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz)
+# define PDstandardfdOrder213(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
#else
# define PDstandardfdOrder213(u) (PDstandardfdOrder213_impl(u,p1o4dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz;
+ return kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder221(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy)
+# define PDstandardfdOrder221(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
#else
# define PDstandardfdOrder221(u) (PDstandardfdOrder221_impl(u,p1o4dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy;
+ return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder223(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz)
+# define PDstandardfdOrder223(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
#else
# define PDstandardfdOrder223(u) (PDstandardfdOrder223_impl(u,p1o4dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz;
+ return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder231(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz)
+# define PDstandardfdOrder231(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
#else
# define PDstandardfdOrder231(u) (PDstandardfdOrder231_impl(u,p1o4dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz;
+ return kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder232(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz)
+# define PDstandardfdOrder232(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
#else
# define PDstandardfdOrder232(u) (PDstandardfdOrder232_impl(u,p1o4dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz;
+ return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder412(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy)
+# define PDstandardfdOrder412(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
#else
# define PDstandardfdOrder412(u) (PDstandardfdOrder412_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy;
+ return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder413(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz)
+# define PDstandardfdOrder413(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
#else
# define PDstandardfdOrder413(u) (PDstandardfdOrder413_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz;
+ return kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder421(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy)
+# define PDstandardfdOrder421(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
#else
# define PDstandardfdOrder421(u) (PDstandardfdOrder421_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy;
+ return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder423(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz)
+# define PDstandardfdOrder423(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
#else
# define PDstandardfdOrder423(u) (PDstandardfdOrder423_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz;
+ return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder431(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz)
+# define PDstandardfdOrder431(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
#else
# define PDstandardfdOrder431(u) (PDstandardfdOrder431_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz;
+ return kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder432(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz)
+# define PDstandardfdOrder432(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
#else
# define PDstandardfdOrder432(u) (PDstandardfdOrder432_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz;
+ return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder612(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy)
+# define PDstandardfdOrder612(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))))
#else
# define PDstandardfdOrder612(u) (PDstandardfdOrder612_impl(u,p1o3600dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy;
+ return kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder613(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz)
+# define PDstandardfdOrder613(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3)))))))))))
#else
# define PDstandardfdOrder613(u) (PDstandardfdOrder613_impl(u,p1o3600dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz;
+ return kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder621(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy)
+# define PDstandardfdOrder621(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))))
#else
# define PDstandardfdOrder621(u) (PDstandardfdOrder621_impl(u,p1o3600dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy;
+ return kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder623(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz)
+# define PDstandardfdOrder623(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))))
#else
# define PDstandardfdOrder623(u) (PDstandardfdOrder623_impl(u,p1o3600dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz;
+ return kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder631(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz)
+# define PDstandardfdOrder631(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3)))))))))))
#else
# define PDstandardfdOrder631(u) (PDstandardfdOrder631_impl(u,p1o3600dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz;
+ return kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder632(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz)
+# define PDstandardfdOrder632(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))))
#else
# define PDstandardfdOrder632(u) (PDstandardfdOrder632_impl(u,p1o3600dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz;
+ return kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder812(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy)
+# define PDstandardfdOrder812(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584)))))))))))))))))))))))
#else
# define PDstandardfdOrder812(u) (PDstandardfdOrder812_impl(u,p1o705600dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy;
+ return kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder813(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz)
+# define PDstandardfdOrder813(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584)))))))))))))))))))))))
#else
# define PDstandardfdOrder813(u) (PDstandardfdOrder813_impl(u,p1o705600dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz;
+ return kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder821(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy)
+# define PDstandardfdOrder821(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584)))))))))))))))))))))))
#else
# define PDstandardfdOrder821(u) (PDstandardfdOrder821_impl(u,p1o705600dxdy,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy;
+ return kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder823(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz)
+# define PDstandardfdOrder823(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584)))))))))))))))))))))))
#else
# define PDstandardfdOrder823(u) (PDstandardfdOrder823_impl(u,p1o705600dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz;
+ return kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder831(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz)
+# define PDstandardfdOrder831(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584)))))))))))))))))))))))
#else
# define PDstandardfdOrder831(u) (PDstandardfdOrder831_impl(u,p1o705600dxdz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz;
+ return kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder832(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz)
+# define PDstandardfdOrder832(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584)))))))))))))))))))))))
#else
# define PDstandardfdOrder832(u) (PDstandardfdOrder832_impl(u,p1o705600dydz,cdj,cdk))
-static CCTK_REAL PDstandardfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL PDstandardfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+static CCTK_REAL_VEC PDstandardfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz;
+ return kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584))))))))))))))))))))));
}
#endif
diff --git a/src/RegisterMoL.cc b/src/RegisterMoL.cc
index 261ce08..0138140 100644
--- a/src/RegisterMoL.cc
+++ b/src/RegisterMoL.cc
@@ -12,5 +12,7 @@ extern "C" void WeylScal4_RegisterVars(CCTK_ARGUMENTS)
CCTK_INT ierr = 0;
/* Register all the evolved grid functions with MoL */
+
+ /* Register all the evolved Array functions with MoL */
return;
}
diff --git a/src/RegisterSymmetries.cc b/src/RegisterSymmetries.cc
index 9471e31..bdf23bb 100644
--- a/src/RegisterSymmetries.cc
+++ b/src/RegisterSymmetries.cc
@@ -16,6 +16,86 @@ extern "C" void WeylScal4_RegisterSymmetries(CCTK_ARGUMENTS)
/* Register symmetries of grid functions */
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvIi");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvIr");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvJ1");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvJ2");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvJ3");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvJ4");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvJi");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::curvJr");
+
+ sym[0] = -1;
+ sym[1] = -1;
+ sym[2] = -1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi0i");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi0r");
+
+ sym[0] = -1;
+ sym[1] = -1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi1i");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = -1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi1r");
+
+ sym[0] = -1;
+ sym[1] = -1;
+ sym[2] = -1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi2i");
+
+ sym[0] = 1;
+ sym[1] = 1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi2r");
+
+ sym[0] = -1;
+ sym[1] = -1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi3i");
+
+ sym[0] = -1;
+ sym[1] = -1;
+ sym[2] = 1;
+ SetCartSymVN(cctkGH, sym, "WeylScal4::Psi3r");
+
sym[0] = -1;
sym[1] = -1;
sym[2] = -1;
diff --git a/src/invars_calc_2nd.cc b/src/invars_calc_2nd.cc
new file mode 100644
index 0000000..594fb40
--- /dev/null
+++ b/src/invars_calc_2nd.cc
@@ -0,0 +1,351 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+
+extern "C" void invars_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvIi_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvIi_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvIr_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvIr_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ1_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ1_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ2_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ2_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ3_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ3_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ4_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ4_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJi_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJi_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJr_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJr_group.");
+ return;
+}
+
+static void invars_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ ptrdiff_t const di = 1;
+ ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
+ ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
+ ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
+
+ /* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3VEC (invars_calc_2nd,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
+ {
+ ptrdiff_t const index = di*i + dj*j + dk*k;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC Psi0iL = vec_load(Psi0i[index]);
+ CCTK_REAL_VEC Psi0rL = vec_load(Psi0r[index]);
+ CCTK_REAL_VEC Psi1iL = vec_load(Psi1i[index]);
+ CCTK_REAL_VEC Psi1rL = vec_load(Psi1r[index]);
+ CCTK_REAL_VEC Psi2iL = vec_load(Psi2i[index]);
+ CCTK_REAL_VEC Psi2rL = vec_load(Psi2r[index]);
+ CCTK_REAL_VEC Psi3iL = vec_load(Psi3i[index]);
+ CCTK_REAL_VEC Psi3rL = vec_load(Psi3r[index]);
+ CCTK_REAL_VEC Psi4iL = vec_load(Psi4i[index]);
+ CCTK_REAL_VEC Psi4rL = vec_load(Psi4r[index]);
+
+
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC curvIrL =
+ kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmadd(SQR(Psi2iL),ToReal(-3),knmsub(Psi0iL,Psi4iL,kmadd(SQR(Psi2rL),ToReal(3),kmul(Psi1iL,kmul(Psi3iL,ToReal(4))))))));
+
+ CCTK_REAL_VEC curvIiL =
+ kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(-4),kmul(Psi2iL,kmul(Psi2rL,ToReal(6))))));
+
+ CCTK_REAL_VEC curvJrL =
+ ksub(kmadd(Psi4rL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0rL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2),knmsub(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(2)),kmul(Psi1iL,kmul(Psi3rL,ToReal(2)))))),kmadd(Psi2rL,kmadd(Psi0rL,Psi4rL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,kmul(SQR(Psi2iL),ToReal(3)))))))),CUB(Psi2rL));
+
+ CCTK_REAL_VEC curvJiL =
+ kadd(CUB(Psi2iL),kmadd(Psi4rL,kmadd(Psi0iL,Psi2rL,kmul(Psi1iL,kmul(Psi1rL,ToReal(-2)))),kmadd(Psi0rL,kmadd(Psi2rL,Psi4iL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-2)))),kmadd(Psi4iL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0iL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(Psi2rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)),kmul(Psi2iL,kmadd(Psi0rL,Psi4rL,kmadd(SQR(Psi2rL),ToReal(-3),kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL))))))))))));
+
+ CCTK_REAL_VEC curvJ1L =
+ kmul(ToReal(-16),kmadd(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-4)),kmadd(SQR(Psi2rL),ToReal(-3),knmsub(Psi0rL,Psi4rL,kmadd(SQR(Psi2iL),ToReal(3),kmul(Psi1rL,kmul(Psi3rL,ToReal(4)))))))));
+
+ CCTK_REAL_VEC curvJ2L =
+ kmul(kadd(CUB(Psi2rL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,ksub(SQR(Psi1rL),SQR(Psi1iL)),kmadd(Psi0rL,ksub(SQR(Psi3rL),SQR(Psi3iL)),kmadd(Psi2rL,kmadd(Psi0iL,Psi4iL,kmadd(SQR(Psi2iL),ToReal(-3),kmadd(Psi1rL,kmul(Psi3rL,ToReal(-2)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(2)),kmul(Psi0rL,Psi4rL))))),kmul(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)))))))))),ToReal(96));
+
+ CCTK_REAL_VEC curvJ3L =
+ kmul(kmadd(SQR(Psi4rL),ksub(SQR(Psi0rL),SQR(Psi0iL)),kmadd(SQR(Psi4iL),ksub(SQR(Psi0iL),SQR(Psi0rL)),kmadd(SQR(Psi2rL),kmul(kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(Psi0iL,Psi4iL)))),ToReal(6)),kmadd(kmadd(Psi0rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),Psi4iL),kmul(Psi0iL,kmul(Psi1rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))),ToReal(8),kmadd(Psi1iL,kmul(Psi3iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-64)),kmadd(Psi0iL,kmul(Psi4iL,ToReal(-8)),kmul(Psi0rL,kmul(Psi4rL,ToReal(8)))))),kmadd(Psi4rL,kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,ToReal(-4))),kmul(Psi3rL,kmadd(Psi0rL,kmul(Psi1rL,ToReal(-8)),kmul(Psi0iL,kmul(Psi1iL,ToReal(8)))))),kmadd(kadd(QAD(Psi2iL),QAD(Psi2rL)),ToReal(9),kmadd(SQR(Psi2iL),kmul(ToReal(-6),kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),knmsub(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(SQR(Psi2rL),ToReal(9))))))),kmadd(Psi2iL,kmul(Psi2rL,kmul(knmsub(Psi0rL,Psi4iL,kmsub(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(4),kmul(Psi0iL,Psi4rL))),ToReal(12))),kmadd(SQR(Psi3iL),kmadd(SQR(Psi1rL),ToReal(-16),kmul(SQR(Psi1iL),ToReal(16))),kmul(SQR(Psi3rL),kmadd(SQR(Psi1iL),ToReal(-16),kmul(SQR(Psi1rL),ToReal(16)))))))))))))),ToReal(64));
+
+ CCTK_REAL_VEC curvJ4L =
+ kmul(ToReal(-640),kmadd(Psi1iL,kmul(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),SQR(Psi1rL),kmul(Psi0rL,kmul(Psi3iL,SQR(Psi3rL)))),ToReal(-12)),kmadd(kmadd(Psi3iL,kmul(Psi4iL,CUB(Psi1rL)),kmul(Psi0iL,kmul(Psi1iL,CUB(Psi3rL)))),ToReal(-4),kmadd(kpow(Psi2rL,5),ToReal(-3),kmadd(Psi4rL,kmul(SQR(Psi3rL),ksub(SQR(Psi0iL),SQR(Psi0rL))),kmadd(Psi0rL,kmadd(SQR(Psi4iL),ksub(SQR(Psi1rL),SQR(Psi1iL)),kmul(SQR(Psi4rL),ksub(SQR(Psi1iL),SQR(Psi1rL)))),kmadd(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),CUB(Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,CUB(Psi1rL)),kmadd(Psi0rL,kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),Psi4rL,kmul(Psi1iL,CUB(Psi3iL))),kmul(Psi1rL,kmadd(Psi0iL,CUB(Psi3iL),kmul(Psi0rL,CUB(Psi3rL))))))),ToReal(4),kmadd(ToReal(-2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,SQR(Psi0iL)),kmul(Psi0iL,kmadd(Psi4rL,SQR(Psi1iL),kmul(Psi0rL,SQR(Psi3iL))))),kmadd(Psi0iL,kmul(Psi1iL,kmul(Psi1rL,SQR(Psi4iL))),kmul(CUB(Psi2rL),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))))),kmadd(ToReal(2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,SQR(Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,SQR(Psi1rL),kmul(Psi0rL,SQR(Psi3rL))))),kmadd(CUB(Psi2iL),kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(5)))),kmul(Psi2iL,kmadd(Psi3rL,kmadd(Psi1iL,kmul(SQR(Psi2rL),ToReal(-15)),kmul(Psi3iL,kmul(SQR(Psi1iL),ToReal(-8)))),kmadd(Psi4iL,kmadd(Psi2rL,kmul(SQR(Psi1iL),ToReal(-3)),kmul(Psi4rL,ksub(SQR(Psi0iL),SQR(Psi0rL)))),knmsub(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi2rL,kmul(SQR(Psi3rL),ToReal(-3)),kmadd(Psi0rL,ksub(SQR(Psi4rL),SQR(Psi4iL)),kmul(kmadd(Psi4rL,SQR(Psi2rL),kmul(Psi2rL,SQR(Psi3iL))),ToReal(3))))),kmadd(Psi0rL,kmadd(Psi1iL,kmul(Psi3rL,Psi4rL),kmadd(Psi4iL,kmul(SQR(Psi2rL),ToReal(-3)),kmul(Psi3iL,kmsub(Psi2rL,kmul(Psi3rL,ToReal(6)),kmul(Psi1iL,Psi4iL))))),kmadd(SQR(Psi1rL),kmadd(Psi2rL,kmul(Psi4iL,ToReal(3)),kmul(Psi3iL,kmul(Psi3rL,ToReal(8)))),kmul(Psi1rL,kmadd(Psi3iL,kmul(SQR(Psi2rL),ToReal(-15)),kmadd(Psi4iL,kmsub(Psi0rL,Psi3rL,kmul(Psi0iL,Psi3iL)),kmadd(Psi4rL,kmadd(Psi0rL,Psi3iL,kmadd(Psi0iL,Psi3rL,kmul(Psi1iL,kmul(Psi2rL,ToReal(6))))),kmul(Psi1iL,kmadd(SQR(Psi3iL),ToReal(-8),kmul(SQR(Psi3rL),ToReal(8)))))))))))))))),kmadd(ToReal(3),kmadd(SQR(Psi2rL),kmadd(Psi4rL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0rL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmul(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2)))),kmul(SQR(Psi2iL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,ksub(SQR(Psi1rL),SQR(Psi1iL)),kmadd(Psi0rL,ksub(SQR(Psi3rL),SQR(Psi3iL)),kmadd(Psi2rL,kmul(ToReal(2),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))),kmul(CUB(Psi2rL),ToReal(10)))))))),kmadd(SQR(Psi3iL),kmadd(Psi4rL,ksub(SQR(Psi0rL),SQR(Psi0iL)),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,ToReal(12))))),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,kmul(Psi3rL,SQR(Psi3iL)),kmul(Psi0iL,kmul(Psi3iL,SQR(Psi3rL)))),ToReal(-12),kmadd(Psi0iL,kmul(Psi1iL,kmul(SQR(Psi4rL),ToReal(2))),kmul(SQR(Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,ToReal(-12)),kmul(Psi3iL,kmul(Psi4iL,ToReal(12))))))),kmul(Psi2rL,kmadd(QAD(Psi2iL),ToReal(-15),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),kmadd(SQR(Psi4rL),ksub(SQR(Psi0rL),SQR(Psi0iL)),kmadd(SQR(Psi4iL),ksub(SQR(Psi0iL),SQR(Psi0rL)),kmadd(ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(SQR(Psi1iL),ToReal(-8),kmul(SQR(Psi1rL),ToReal(8))),kmul(ToReal(2),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,Psi3iL,kmul(Psi0iL,Psi3rL)),Psi4iL,kmul(Psi4rL,kmsub(Psi0iL,Psi3iL,kmul(Psi0rL,Psi3rL)))),kmul(Psi1iL,kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmadd(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi3iL,kmsub(Psi1rL,kmul(Psi3rL,ToReal(16)),kmul(Psi0iL,Psi4iL))))))))))))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(curvIi[index],curvIiL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvIr[index],curvIrL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ1[index],curvJ1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ2[index],curvJ2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ3[index],curvJ3L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ4[index],curvJ4L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJi[index],curvJiL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJr[index],curvJrL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(curvIi[index],curvIiL,elt_count);
+ vec_store_nta_partial_hi(curvIr[index],curvIrL,elt_count);
+ vec_store_nta_partial_hi(curvJ1[index],curvJ1L,elt_count);
+ vec_store_nta_partial_hi(curvJ2[index],curvJ2L,elt_count);
+ vec_store_nta_partial_hi(curvJ3[index],curvJ3L,elt_count);
+ vec_store_nta_partial_hi(curvJ4[index],curvJ4L,elt_count);
+ vec_store_nta_partial_hi(curvJi[index],curvJiL,elt_count);
+ vec_store_nta_partial_hi(curvJr[index],curvJrL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(curvIi[index],curvIiL,elt_count);
+ vec_store_nta_partial_lo(curvIr[index],curvIrL,elt_count);
+ vec_store_nta_partial_lo(curvJ1[index],curvJ1L,elt_count);
+ vec_store_nta_partial_lo(curvJ2[index],curvJ2L,elt_count);
+ vec_store_nta_partial_lo(curvJ3[index],curvJ3L,elt_count);
+ vec_store_nta_partial_lo(curvJ4[index],curvJ4L,elt_count);
+ vec_store_nta_partial_lo(curvJi[index],curvJiL,elt_count);
+ vec_store_nta_partial_lo(curvJr[index],curvJrL,elt_count);
+ break;
+ }
+ vec_store_nta(curvIi[index],curvIiL);
+ vec_store_nta(curvIr[index],curvIrL);
+ vec_store_nta(curvJ1[index],curvJ1L);
+ vec_store_nta(curvJ2[index],curvJ2L);
+ vec_store_nta(curvJ3[index],curvJ3L);
+ vec_store_nta(curvJ4[index],curvJ4L);
+ vec_store_nta(curvJi[index],curvJiL);
+ vec_store_nta(curvJr[index],curvJrL);
+ }
+ LC_ENDLOOP3VEC (invars_calc_2nd);
+}
+
+extern "C" void invars_calc_2nd(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering invars_calc_2nd_Body");
+ }
+
+ if (cctk_iteration % invars_calc_2nd_calc_every != invars_calc_2nd_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"WeylScal4::curvIi_group","WeylScal4::curvIr_group","WeylScal4::curvJ1_group","WeylScal4::curvJ2_group","WeylScal4::curvJ3_group","WeylScal4::curvJ4_group","WeylScal4::curvJi_group","WeylScal4::curvJr_group","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "invars_calc_2nd", 18, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
+ GenericFD_LoopOverInterior(cctkGH, &invars_calc_2nd_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving invars_calc_2nd_Body");
+ }
+}
diff --git a/src/invars_calc_4th.cc b/src/invars_calc_4th.cc
new file mode 100644
index 0000000..fe92321
--- /dev/null
+++ b/src/invars_calc_4th.cc
@@ -0,0 +1,351 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+
+extern "C" void invars_calc_4th_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvIi_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvIi_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvIr_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvIr_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ1_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ1_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ2_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ2_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ3_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ3_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ4_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ4_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJi_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJi_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJr_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJr_group.");
+ return;
+}
+
+static void invars_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ ptrdiff_t const di = 1;
+ ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
+ ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
+ ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
+
+ /* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3VEC (invars_calc_4th,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
+ {
+ ptrdiff_t const index = di*i + dj*j + dk*k;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC Psi0iL = vec_load(Psi0i[index]);
+ CCTK_REAL_VEC Psi0rL = vec_load(Psi0r[index]);
+ CCTK_REAL_VEC Psi1iL = vec_load(Psi1i[index]);
+ CCTK_REAL_VEC Psi1rL = vec_load(Psi1r[index]);
+ CCTK_REAL_VEC Psi2iL = vec_load(Psi2i[index]);
+ CCTK_REAL_VEC Psi2rL = vec_load(Psi2r[index]);
+ CCTK_REAL_VEC Psi3iL = vec_load(Psi3i[index]);
+ CCTK_REAL_VEC Psi3rL = vec_load(Psi3r[index]);
+ CCTK_REAL_VEC Psi4iL = vec_load(Psi4i[index]);
+ CCTK_REAL_VEC Psi4rL = vec_load(Psi4r[index]);
+
+
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC curvIrL =
+ kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmadd(SQR(Psi2iL),ToReal(-3),knmsub(Psi0iL,Psi4iL,kmadd(SQR(Psi2rL),ToReal(3),kmul(Psi1iL,kmul(Psi3iL,ToReal(4))))))));
+
+ CCTK_REAL_VEC curvIiL =
+ kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(-4),kmul(Psi2iL,kmul(Psi2rL,ToReal(6))))));
+
+ CCTK_REAL_VEC curvJrL =
+ ksub(kmadd(Psi4rL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0rL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2),knmsub(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(2)),kmul(Psi1iL,kmul(Psi3rL,ToReal(2)))))),kmadd(Psi2rL,kmadd(Psi0rL,Psi4rL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,kmul(SQR(Psi2iL),ToReal(3)))))))),CUB(Psi2rL));
+
+ CCTK_REAL_VEC curvJiL =
+ kadd(CUB(Psi2iL),kmadd(Psi4rL,kmadd(Psi0iL,Psi2rL,kmul(Psi1iL,kmul(Psi1rL,ToReal(-2)))),kmadd(Psi0rL,kmadd(Psi2rL,Psi4iL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-2)))),kmadd(Psi4iL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0iL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(Psi2rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)),kmul(Psi2iL,kmadd(Psi0rL,Psi4rL,kmadd(SQR(Psi2rL),ToReal(-3),kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL))))))))))));
+
+ CCTK_REAL_VEC curvJ1L =
+ kmul(ToReal(-16),kmadd(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-4)),kmadd(SQR(Psi2rL),ToReal(-3),knmsub(Psi0rL,Psi4rL,kmadd(SQR(Psi2iL),ToReal(3),kmul(Psi1rL,kmul(Psi3rL,ToReal(4)))))))));
+
+ CCTK_REAL_VEC curvJ2L =
+ kmul(kadd(CUB(Psi2rL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,ksub(SQR(Psi1rL),SQR(Psi1iL)),kmadd(Psi0rL,ksub(SQR(Psi3rL),SQR(Psi3iL)),kmadd(Psi2rL,kmadd(Psi0iL,Psi4iL,kmadd(SQR(Psi2iL),ToReal(-3),kmadd(Psi1rL,kmul(Psi3rL,ToReal(-2)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(2)),kmul(Psi0rL,Psi4rL))))),kmul(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)))))))))),ToReal(96));
+
+ CCTK_REAL_VEC curvJ3L =
+ kmul(kmadd(SQR(Psi4rL),ksub(SQR(Psi0rL),SQR(Psi0iL)),kmadd(SQR(Psi4iL),ksub(SQR(Psi0iL),SQR(Psi0rL)),kmadd(SQR(Psi2rL),kmul(kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(Psi0iL,Psi4iL)))),ToReal(6)),kmadd(kmadd(Psi0rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),Psi4iL),kmul(Psi0iL,kmul(Psi1rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))),ToReal(8),kmadd(Psi1iL,kmul(Psi3iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-64)),kmadd(Psi0iL,kmul(Psi4iL,ToReal(-8)),kmul(Psi0rL,kmul(Psi4rL,ToReal(8)))))),kmadd(Psi4rL,kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,ToReal(-4))),kmul(Psi3rL,kmadd(Psi0rL,kmul(Psi1rL,ToReal(-8)),kmul(Psi0iL,kmul(Psi1iL,ToReal(8)))))),kmadd(kadd(QAD(Psi2iL),QAD(Psi2rL)),ToReal(9),kmadd(SQR(Psi2iL),kmul(ToReal(-6),kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),knmsub(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(SQR(Psi2rL),ToReal(9))))))),kmadd(Psi2iL,kmul(Psi2rL,kmul(knmsub(Psi0rL,Psi4iL,kmsub(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(4),kmul(Psi0iL,Psi4rL))),ToReal(12))),kmadd(SQR(Psi3iL),kmadd(SQR(Psi1rL),ToReal(-16),kmul(SQR(Psi1iL),ToReal(16))),kmul(SQR(Psi3rL),kmadd(SQR(Psi1iL),ToReal(-16),kmul(SQR(Psi1rL),ToReal(16)))))))))))))),ToReal(64));
+
+ CCTK_REAL_VEC curvJ4L =
+ kmul(ToReal(-640),kmadd(Psi1iL,kmul(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),SQR(Psi1rL),kmul(Psi0rL,kmul(Psi3iL,SQR(Psi3rL)))),ToReal(-12)),kmadd(kmadd(Psi3iL,kmul(Psi4iL,CUB(Psi1rL)),kmul(Psi0iL,kmul(Psi1iL,CUB(Psi3rL)))),ToReal(-4),kmadd(kpow(Psi2rL,5),ToReal(-3),kmadd(Psi4rL,kmul(SQR(Psi3rL),ksub(SQR(Psi0iL),SQR(Psi0rL))),kmadd(Psi0rL,kmadd(SQR(Psi4iL),ksub(SQR(Psi1rL),SQR(Psi1iL)),kmul(SQR(Psi4rL),ksub(SQR(Psi1iL),SQR(Psi1rL)))),kmadd(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),CUB(Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,CUB(Psi1rL)),kmadd(Psi0rL,kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),Psi4rL,kmul(Psi1iL,CUB(Psi3iL))),kmul(Psi1rL,kmadd(Psi0iL,CUB(Psi3iL),kmul(Psi0rL,CUB(Psi3rL))))))),ToReal(4),kmadd(ToReal(-2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,SQR(Psi0iL)),kmul(Psi0iL,kmadd(Psi4rL,SQR(Psi1iL),kmul(Psi0rL,SQR(Psi3iL))))),kmadd(Psi0iL,kmul(Psi1iL,kmul(Psi1rL,SQR(Psi4iL))),kmul(CUB(Psi2rL),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))))),kmadd(ToReal(2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,SQR(Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,SQR(Psi1rL),kmul(Psi0rL,SQR(Psi3rL))))),kmadd(CUB(Psi2iL),kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(5)))),kmul(Psi2iL,kmadd(Psi3rL,kmadd(Psi1iL,kmul(SQR(Psi2rL),ToReal(-15)),kmul(Psi3iL,kmul(SQR(Psi1iL),ToReal(-8)))),kmadd(Psi4iL,kmadd(Psi2rL,kmul(SQR(Psi1iL),ToReal(-3)),kmul(Psi4rL,ksub(SQR(Psi0iL),SQR(Psi0rL)))),knmsub(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi2rL,kmul(SQR(Psi3rL),ToReal(-3)),kmadd(Psi0rL,ksub(SQR(Psi4rL),SQR(Psi4iL)),kmul(kmadd(Psi4rL,SQR(Psi2rL),kmul(Psi2rL,SQR(Psi3iL))),ToReal(3))))),kmadd(Psi0rL,kmadd(Psi1iL,kmul(Psi3rL,Psi4rL),kmadd(Psi4iL,kmul(SQR(Psi2rL),ToReal(-3)),kmul(Psi3iL,kmsub(Psi2rL,kmul(Psi3rL,ToReal(6)),kmul(Psi1iL,Psi4iL))))),kmadd(SQR(Psi1rL),kmadd(Psi2rL,kmul(Psi4iL,ToReal(3)),kmul(Psi3iL,kmul(Psi3rL,ToReal(8)))),kmul(Psi1rL,kmadd(Psi3iL,kmul(SQR(Psi2rL),ToReal(-15)),kmadd(Psi4iL,kmsub(Psi0rL,Psi3rL,kmul(Psi0iL,Psi3iL)),kmadd(Psi4rL,kmadd(Psi0rL,Psi3iL,kmadd(Psi0iL,Psi3rL,kmul(Psi1iL,kmul(Psi2rL,ToReal(6))))),kmul(Psi1iL,kmadd(SQR(Psi3iL),ToReal(-8),kmul(SQR(Psi3rL),ToReal(8)))))))))))))))),kmadd(ToReal(3),kmadd(SQR(Psi2rL),kmadd(Psi4rL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0rL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmul(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2)))),kmul(SQR(Psi2iL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,ksub(SQR(Psi1rL),SQR(Psi1iL)),kmadd(Psi0rL,ksub(SQR(Psi3rL),SQR(Psi3iL)),kmadd(Psi2rL,kmul(ToReal(2),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))),kmul(CUB(Psi2rL),ToReal(10)))))))),kmadd(SQR(Psi3iL),kmadd(Psi4rL,ksub(SQR(Psi0rL),SQR(Psi0iL)),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,ToReal(12))))),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,kmul(Psi3rL,SQR(Psi3iL)),kmul(Psi0iL,kmul(Psi3iL,SQR(Psi3rL)))),ToReal(-12),kmadd(Psi0iL,kmul(Psi1iL,kmul(SQR(Psi4rL),ToReal(2))),kmul(SQR(Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,ToReal(-12)),kmul(Psi3iL,kmul(Psi4iL,ToReal(12))))))),kmul(Psi2rL,kmadd(QAD(Psi2iL),ToReal(-15),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),kmadd(SQR(Psi4rL),ksub(SQR(Psi0rL),SQR(Psi0iL)),kmadd(SQR(Psi4iL),ksub(SQR(Psi0iL),SQR(Psi0rL)),kmadd(ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(SQR(Psi1iL),ToReal(-8),kmul(SQR(Psi1rL),ToReal(8))),kmul(ToReal(2),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,Psi3iL,kmul(Psi0iL,Psi3rL)),Psi4iL,kmul(Psi4rL,kmsub(Psi0iL,Psi3iL,kmul(Psi0rL,Psi3rL)))),kmul(Psi1iL,kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmadd(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi3iL,kmsub(Psi1rL,kmul(Psi3rL,ToReal(16)),kmul(Psi0iL,Psi4iL))))))))))))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(curvIi[index],curvIiL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvIr[index],curvIrL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ1[index],curvJ1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ2[index],curvJ2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ3[index],curvJ3L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ4[index],curvJ4L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJi[index],curvJiL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJr[index],curvJrL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(curvIi[index],curvIiL,elt_count);
+ vec_store_nta_partial_hi(curvIr[index],curvIrL,elt_count);
+ vec_store_nta_partial_hi(curvJ1[index],curvJ1L,elt_count);
+ vec_store_nta_partial_hi(curvJ2[index],curvJ2L,elt_count);
+ vec_store_nta_partial_hi(curvJ3[index],curvJ3L,elt_count);
+ vec_store_nta_partial_hi(curvJ4[index],curvJ4L,elt_count);
+ vec_store_nta_partial_hi(curvJi[index],curvJiL,elt_count);
+ vec_store_nta_partial_hi(curvJr[index],curvJrL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(curvIi[index],curvIiL,elt_count);
+ vec_store_nta_partial_lo(curvIr[index],curvIrL,elt_count);
+ vec_store_nta_partial_lo(curvJ1[index],curvJ1L,elt_count);
+ vec_store_nta_partial_lo(curvJ2[index],curvJ2L,elt_count);
+ vec_store_nta_partial_lo(curvJ3[index],curvJ3L,elt_count);
+ vec_store_nta_partial_lo(curvJ4[index],curvJ4L,elt_count);
+ vec_store_nta_partial_lo(curvJi[index],curvJiL,elt_count);
+ vec_store_nta_partial_lo(curvJr[index],curvJrL,elt_count);
+ break;
+ }
+ vec_store_nta(curvIi[index],curvIiL);
+ vec_store_nta(curvIr[index],curvIrL);
+ vec_store_nta(curvJ1[index],curvJ1L);
+ vec_store_nta(curvJ2[index],curvJ2L);
+ vec_store_nta(curvJ3[index],curvJ3L);
+ vec_store_nta(curvJ4[index],curvJ4L);
+ vec_store_nta(curvJi[index],curvJiL);
+ vec_store_nta(curvJr[index],curvJrL);
+ }
+ LC_ENDLOOP3VEC (invars_calc_4th);
+}
+
+extern "C" void invars_calc_4th(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering invars_calc_4th_Body");
+ }
+
+ if (cctk_iteration % invars_calc_4th_calc_every != invars_calc_4th_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"WeylScal4::curvIi_group","WeylScal4::curvIr_group","WeylScal4::curvJ1_group","WeylScal4::curvJ2_group","WeylScal4::curvJ3_group","WeylScal4::curvJ4_group","WeylScal4::curvJi_group","WeylScal4::curvJr_group","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "invars_calc_4th", 18, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
+ GenericFD_LoopOverInterior(cctkGH, &invars_calc_4th_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving invars_calc_4th_Body");
+ }
+}
diff --git a/src/invars_calc_Nth.cc b/src/invars_calc_Nth.cc
new file mode 100644
index 0000000..d918f44
--- /dev/null
+++ b/src/invars_calc_Nth.cc
@@ -0,0 +1,351 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+
+extern "C" void invars_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvIi_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvIi_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvIr_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvIr_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ1_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ1_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ2_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ2_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ3_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ3_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJ4_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJ4_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJi_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJi_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::curvJr_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::curvJr_group.");
+ return;
+}
+
+static void invars_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ ptrdiff_t const di = 1;
+ ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
+ ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
+ ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
+
+ /* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3VEC (invars_calc_Nth,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
+ {
+ ptrdiff_t const index = di*i + dj*j + dk*k;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC Psi0iL = vec_load(Psi0i[index]);
+ CCTK_REAL_VEC Psi0rL = vec_load(Psi0r[index]);
+ CCTK_REAL_VEC Psi1iL = vec_load(Psi1i[index]);
+ CCTK_REAL_VEC Psi1rL = vec_load(Psi1r[index]);
+ CCTK_REAL_VEC Psi2iL = vec_load(Psi2i[index]);
+ CCTK_REAL_VEC Psi2rL = vec_load(Psi2r[index]);
+ CCTK_REAL_VEC Psi3iL = vec_load(Psi3i[index]);
+ CCTK_REAL_VEC Psi3rL = vec_load(Psi3r[index]);
+ CCTK_REAL_VEC Psi4iL = vec_load(Psi4i[index]);
+ CCTK_REAL_VEC Psi4rL = vec_load(Psi4r[index]);
+
+
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC curvIrL =
+ kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmadd(SQR(Psi2iL),ToReal(-3),knmsub(Psi0iL,Psi4iL,kmadd(SQR(Psi2rL),ToReal(3),kmul(Psi1iL,kmul(Psi3iL,ToReal(4))))))));
+
+ CCTK_REAL_VEC curvIiL =
+ kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(-4),kmul(Psi2iL,kmul(Psi2rL,ToReal(6))))));
+
+ CCTK_REAL_VEC curvJrL =
+ ksub(kmadd(Psi4rL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0rL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2),knmsub(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(2)),kmul(Psi1iL,kmul(Psi3rL,ToReal(2)))))),kmadd(Psi2rL,kmadd(Psi0rL,Psi4rL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,kmul(SQR(Psi2iL),ToReal(3)))))))),CUB(Psi2rL));
+
+ CCTK_REAL_VEC curvJiL =
+ kadd(CUB(Psi2iL),kmadd(Psi4rL,kmadd(Psi0iL,Psi2rL,kmul(Psi1iL,kmul(Psi1rL,ToReal(-2)))),kmadd(Psi0rL,kmadd(Psi2rL,Psi4iL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-2)))),kmadd(Psi4iL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0iL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(Psi2rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)),kmul(Psi2iL,kmadd(Psi0rL,Psi4rL,kmadd(SQR(Psi2rL),ToReal(-3),kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL))))))))))));
+
+ CCTK_REAL_VEC curvJ1L =
+ kmul(ToReal(-16),kmadd(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-4)),kmadd(SQR(Psi2rL),ToReal(-3),knmsub(Psi0rL,Psi4rL,kmadd(SQR(Psi2iL),ToReal(3),kmul(Psi1rL,kmul(Psi3rL,ToReal(4)))))))));
+
+ CCTK_REAL_VEC curvJ2L =
+ kmul(kadd(CUB(Psi2rL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,ksub(SQR(Psi1rL),SQR(Psi1iL)),kmadd(Psi0rL,ksub(SQR(Psi3rL),SQR(Psi3iL)),kmadd(Psi2rL,kmadd(Psi0iL,Psi4iL,kmadd(SQR(Psi2iL),ToReal(-3),kmadd(Psi1rL,kmul(Psi3rL,ToReal(-2)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(2)),kmul(Psi0rL,Psi4rL))))),kmul(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)))))))))),ToReal(96));
+
+ CCTK_REAL_VEC curvJ3L =
+ kmul(kmadd(SQR(Psi4rL),ksub(SQR(Psi0rL),SQR(Psi0iL)),kmadd(SQR(Psi4iL),ksub(SQR(Psi0iL),SQR(Psi0rL)),kmadd(SQR(Psi2rL),kmul(kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(Psi0iL,Psi4iL)))),ToReal(6)),kmadd(kmadd(Psi0rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),Psi4iL),kmul(Psi0iL,kmul(Psi1rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))),ToReal(8),kmadd(Psi1iL,kmul(Psi3iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-64)),kmadd(Psi0iL,kmul(Psi4iL,ToReal(-8)),kmul(Psi0rL,kmul(Psi4rL,ToReal(8)))))),kmadd(Psi4rL,kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,ToReal(-4))),kmul(Psi3rL,kmadd(Psi0rL,kmul(Psi1rL,ToReal(-8)),kmul(Psi0iL,kmul(Psi1iL,ToReal(8)))))),kmadd(kadd(QAD(Psi2iL),QAD(Psi2rL)),ToReal(9),kmadd(SQR(Psi2iL),kmul(ToReal(-6),kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),knmsub(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(SQR(Psi2rL),ToReal(9))))))),kmadd(Psi2iL,kmul(Psi2rL,kmul(knmsub(Psi0rL,Psi4iL,kmsub(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(4),kmul(Psi0iL,Psi4rL))),ToReal(12))),kmadd(SQR(Psi3iL),kmadd(SQR(Psi1rL),ToReal(-16),kmul(SQR(Psi1iL),ToReal(16))),kmul(SQR(Psi3rL),kmadd(SQR(Psi1iL),ToReal(-16),kmul(SQR(Psi1rL),ToReal(16)))))))))))))),ToReal(64));
+
+ CCTK_REAL_VEC curvJ4L =
+ kmul(ToReal(-640),kmadd(Psi1iL,kmul(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),SQR(Psi1rL),kmul(Psi0rL,kmul(Psi3iL,SQR(Psi3rL)))),ToReal(-12)),kmadd(kmadd(Psi3iL,kmul(Psi4iL,CUB(Psi1rL)),kmul(Psi0iL,kmul(Psi1iL,CUB(Psi3rL)))),ToReal(-4),kmadd(kpow(Psi2rL,5),ToReal(-3),kmadd(Psi4rL,kmul(SQR(Psi3rL),ksub(SQR(Psi0iL),SQR(Psi0rL))),kmadd(Psi0rL,kmadd(SQR(Psi4iL),ksub(SQR(Psi1rL),SQR(Psi1iL)),kmul(SQR(Psi4rL),ksub(SQR(Psi1iL),SQR(Psi1rL)))),kmadd(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),CUB(Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,CUB(Psi1rL)),kmadd(Psi0rL,kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),Psi4rL,kmul(Psi1iL,CUB(Psi3iL))),kmul(Psi1rL,kmadd(Psi0iL,CUB(Psi3iL),kmul(Psi0rL,CUB(Psi3rL))))))),ToReal(4),kmadd(ToReal(-2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,SQR(Psi0iL)),kmul(Psi0iL,kmadd(Psi4rL,SQR(Psi1iL),kmul(Psi0rL,SQR(Psi3iL))))),kmadd(Psi0iL,kmul(Psi1iL,kmul(Psi1rL,SQR(Psi4iL))),kmul(CUB(Psi2rL),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))))),kmadd(ToReal(2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,SQR(Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,SQR(Psi1rL),kmul(Psi0rL,SQR(Psi3rL))))),kmadd(CUB(Psi2iL),kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(5)))),kmul(Psi2iL,kmadd(Psi3rL,kmadd(Psi1iL,kmul(SQR(Psi2rL),ToReal(-15)),kmul(Psi3iL,kmul(SQR(Psi1iL),ToReal(-8)))),kmadd(Psi4iL,kmadd(Psi2rL,kmul(SQR(Psi1iL),ToReal(-3)),kmul(Psi4rL,ksub(SQR(Psi0iL),SQR(Psi0rL)))),knmsub(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi2rL,kmul(SQR(Psi3rL),ToReal(-3)),kmadd(Psi0rL,ksub(SQR(Psi4rL),SQR(Psi4iL)),kmul(kmadd(Psi4rL,SQR(Psi2rL),kmul(Psi2rL,SQR(Psi3iL))),ToReal(3))))),kmadd(Psi0rL,kmadd(Psi1iL,kmul(Psi3rL,Psi4rL),kmadd(Psi4iL,kmul(SQR(Psi2rL),ToReal(-3)),kmul(Psi3iL,kmsub(Psi2rL,kmul(Psi3rL,ToReal(6)),kmul(Psi1iL,Psi4iL))))),kmadd(SQR(Psi1rL),kmadd(Psi2rL,kmul(Psi4iL,ToReal(3)),kmul(Psi3iL,kmul(Psi3rL,ToReal(8)))),kmul(Psi1rL,kmadd(Psi3iL,kmul(SQR(Psi2rL),ToReal(-15)),kmadd(Psi4iL,kmsub(Psi0rL,Psi3rL,kmul(Psi0iL,Psi3iL)),kmadd(Psi4rL,kmadd(Psi0rL,Psi3iL,kmadd(Psi0iL,Psi3rL,kmul(Psi1iL,kmul(Psi2rL,ToReal(6))))),kmul(Psi1iL,kmadd(SQR(Psi3iL),ToReal(-8),kmul(SQR(Psi3rL),ToReal(8)))))))))))))))),kmadd(ToReal(3),kmadd(SQR(Psi2rL),kmadd(Psi4rL,ksub(SQR(Psi1iL),SQR(Psi1rL)),kmadd(Psi0rL,ksub(SQR(Psi3iL),SQR(Psi3rL)),kmul(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2)))),kmul(SQR(Psi2iL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,ksub(SQR(Psi1rL),SQR(Psi1iL)),kmadd(Psi0rL,ksub(SQR(Psi3rL),SQR(Psi3iL)),kmadd(Psi2rL,kmul(ToReal(2),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))),kmul(CUB(Psi2rL),ToReal(10)))))))),kmadd(SQR(Psi3iL),kmadd(Psi4rL,ksub(SQR(Psi0rL),SQR(Psi0iL)),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,ToReal(12))))),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,kmul(Psi3rL,SQR(Psi3iL)),kmul(Psi0iL,kmul(Psi3iL,SQR(Psi3rL)))),ToReal(-12),kmadd(Psi0iL,kmul(Psi1iL,kmul(SQR(Psi4rL),ToReal(2))),kmul(SQR(Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,ToReal(-12)),kmul(Psi3iL,kmul(Psi4iL,ToReal(12))))))),kmul(Psi2rL,kmadd(QAD(Psi2iL),ToReal(-15),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),kmadd(SQR(Psi4rL),ksub(SQR(Psi0rL),SQR(Psi0iL)),kmadd(SQR(Psi4iL),ksub(SQR(Psi0iL),SQR(Psi0rL)),kmadd(ksub(SQR(Psi3iL),SQR(Psi3rL)),kmadd(SQR(Psi1iL),ToReal(-8),kmul(SQR(Psi1rL),ToReal(8))),kmul(ToReal(2),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,Psi3iL,kmul(Psi0iL,Psi3rL)),Psi4iL,kmul(Psi4rL,kmsub(Psi0iL,Psi3iL,kmul(Psi0rL,Psi3rL)))),kmul(Psi1iL,kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmadd(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi3iL,kmsub(Psi1rL,kmul(Psi3rL,ToReal(16)),kmul(Psi0iL,Psi4iL))))))))))))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(curvIi[index],curvIiL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvIr[index],curvIrL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ1[index],curvJ1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ2[index],curvJ2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ3[index],curvJ3L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJ4[index],curvJ4L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJi[index],curvJiL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(curvJr[index],curvJrL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(curvIi[index],curvIiL,elt_count);
+ vec_store_nta_partial_hi(curvIr[index],curvIrL,elt_count);
+ vec_store_nta_partial_hi(curvJ1[index],curvJ1L,elt_count);
+ vec_store_nta_partial_hi(curvJ2[index],curvJ2L,elt_count);
+ vec_store_nta_partial_hi(curvJ3[index],curvJ3L,elt_count);
+ vec_store_nta_partial_hi(curvJ4[index],curvJ4L,elt_count);
+ vec_store_nta_partial_hi(curvJi[index],curvJiL,elt_count);
+ vec_store_nta_partial_hi(curvJr[index],curvJrL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(curvIi[index],curvIiL,elt_count);
+ vec_store_nta_partial_lo(curvIr[index],curvIrL,elt_count);
+ vec_store_nta_partial_lo(curvJ1[index],curvJ1L,elt_count);
+ vec_store_nta_partial_lo(curvJ2[index],curvJ2L,elt_count);
+ vec_store_nta_partial_lo(curvJ3[index],curvJ3L,elt_count);
+ vec_store_nta_partial_lo(curvJ4[index],curvJ4L,elt_count);
+ vec_store_nta_partial_lo(curvJi[index],curvJiL,elt_count);
+ vec_store_nta_partial_lo(curvJr[index],curvJrL,elt_count);
+ break;
+ }
+ vec_store_nta(curvIi[index],curvIiL);
+ vec_store_nta(curvIr[index],curvIrL);
+ vec_store_nta(curvJ1[index],curvJ1L);
+ vec_store_nta(curvJ2[index],curvJ2L);
+ vec_store_nta(curvJ3[index],curvJ3L);
+ vec_store_nta(curvJ4[index],curvJ4L);
+ vec_store_nta(curvJi[index],curvJiL);
+ vec_store_nta(curvJr[index],curvJrL);
+ }
+ LC_ENDLOOP3VEC (invars_calc_Nth);
+}
+
+extern "C" void invars_calc_Nth(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering invars_calc_Nth_Body");
+ }
+
+ if (cctk_iteration % invars_calc_Nth_calc_every != invars_calc_Nth_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"WeylScal4::curvIi_group","WeylScal4::curvIr_group","WeylScal4::curvJ1_group","WeylScal4::curvJ2_group","WeylScal4::curvJ3_group","WeylScal4::curvJ4_group","WeylScal4::curvJi_group","WeylScal4::curvJr_group","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "invars_calc_Nth", 18, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
+ GenericFD_LoopOverInterior(cctkGH, &invars_calc_Nth_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving invars_calc_Nth_Body");
+ }
+}
diff --git a/src/make.code.defn b/src/make.code.defn
index d93eda1..0ca9d79 100644
--- a/src/make.code.defn
+++ b/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Startup.cc RegisterMoL.cc RegisterSymmetries.cc psis_calc_Nth.cc psis_calc_2nd.cc psis_calc_4th.cc Boundaries.cc
+SRCS = Startup.cc RegisterMoL.cc RegisterSymmetries.cc psi4_calc_Nth.cc psi4_calc_2nd.cc psi4_calc_4th.cc psis_calc_Nth.cc psis_calc_2nd.cc psis_calc_4th.cc invars_calc_Nth.cc invars_calc_2nd.cc invars_calc_4th.cc Boundaries.cc
diff --git a/src/psi4_calc_2nd.cc b/src/psi4_calc_2nd.cc
new file mode 100644
index 0000000..b0ecda7
--- /dev/null
+++ b/src/psi4_calc_2nd.cc
@@ -0,0 +1,1895 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+
+extern "C" void psi4_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
+ return;
+}
+
+static void psi4_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ ptrdiff_t const di = 1;
+ ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
+ ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
+ ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
+
+ /* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3VEC (psi4_calc_2nd,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
+ {
+ ptrdiff_t const index = di*i + dj*j + dk*k;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+ CCTK_REAL_VEC xL = vec_load(x[index]);
+ CCTK_REAL_VEC yL = vec_load(y[index]);
+ CCTK_REAL_VEC zL = vec_load(z[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL_VEC PDstandard2nd1gxx;
+ CCTK_REAL_VEC PDstandard2nd2gxx;
+ CCTK_REAL_VEC PDstandard2nd3gxx;
+ CCTK_REAL_VEC PDstandard2nd11gxx;
+ CCTK_REAL_VEC PDstandard2nd22gxx;
+ CCTK_REAL_VEC PDstandard2nd33gxx;
+ CCTK_REAL_VEC PDstandard2nd12gxx;
+ CCTK_REAL_VEC PDstandard2nd13gxx;
+ CCTK_REAL_VEC PDstandard2nd23gxx;
+ CCTK_REAL_VEC PDstandard2nd1gxy;
+ CCTK_REAL_VEC PDstandard2nd2gxy;
+ CCTK_REAL_VEC PDstandard2nd3gxy;
+ CCTK_REAL_VEC PDstandard2nd11gxy;
+ CCTK_REAL_VEC PDstandard2nd22gxy;
+ CCTK_REAL_VEC PDstandard2nd33gxy;
+ CCTK_REAL_VEC PDstandard2nd12gxy;
+ CCTK_REAL_VEC PDstandard2nd13gxy;
+ CCTK_REAL_VEC PDstandard2nd23gxy;
+ CCTK_REAL_VEC PDstandard2nd1gxz;
+ CCTK_REAL_VEC PDstandard2nd2gxz;
+ CCTK_REAL_VEC PDstandard2nd3gxz;
+ CCTK_REAL_VEC PDstandard2nd11gxz;
+ CCTK_REAL_VEC PDstandard2nd22gxz;
+ CCTK_REAL_VEC PDstandard2nd33gxz;
+ CCTK_REAL_VEC PDstandard2nd12gxz;
+ CCTK_REAL_VEC PDstandard2nd13gxz;
+ CCTK_REAL_VEC PDstandard2nd23gxz;
+ CCTK_REAL_VEC PDstandard2nd1gyy;
+ CCTK_REAL_VEC PDstandard2nd2gyy;
+ CCTK_REAL_VEC PDstandard2nd3gyy;
+ CCTK_REAL_VEC PDstandard2nd11gyy;
+ CCTK_REAL_VEC PDstandard2nd22gyy;
+ CCTK_REAL_VEC PDstandard2nd33gyy;
+ CCTK_REAL_VEC PDstandard2nd12gyy;
+ CCTK_REAL_VEC PDstandard2nd13gyy;
+ CCTK_REAL_VEC PDstandard2nd23gyy;
+ CCTK_REAL_VEC PDstandard2nd1gyz;
+ CCTK_REAL_VEC PDstandard2nd2gyz;
+ CCTK_REAL_VEC PDstandard2nd3gyz;
+ CCTK_REAL_VEC PDstandard2nd11gyz;
+ CCTK_REAL_VEC PDstandard2nd22gyz;
+ CCTK_REAL_VEC PDstandard2nd33gyz;
+ CCTK_REAL_VEC PDstandard2nd12gyz;
+ CCTK_REAL_VEC PDstandard2nd13gyz;
+ CCTK_REAL_VEC PDstandard2nd23gyz;
+ CCTK_REAL_VEC PDstandard2nd1gzz;
+ CCTK_REAL_VEC PDstandard2nd2gzz;
+ CCTK_REAL_VEC PDstandard2nd3gzz;
+ CCTK_REAL_VEC PDstandard2nd11gzz;
+ CCTK_REAL_VEC PDstandard2nd22gzz;
+ CCTK_REAL_VEC PDstandard2nd33gzz;
+ CCTK_REAL_VEC PDstandard2nd12gzz;
+ CCTK_REAL_VEC PDstandard2nd13gzz;
+ CCTK_REAL_VEC PDstandard2nd23gzz;
+ CCTK_REAL_VEC PDstandard2nd1kxx;
+ CCTK_REAL_VEC PDstandard2nd2kxx;
+ CCTK_REAL_VEC PDstandard2nd3kxx;
+ CCTK_REAL_VEC PDstandard2nd1kxy;
+ CCTK_REAL_VEC PDstandard2nd2kxy;
+ CCTK_REAL_VEC PDstandard2nd3kxy;
+ CCTK_REAL_VEC PDstandard2nd1kxz;
+ CCTK_REAL_VEC PDstandard2nd2kxz;
+ CCTK_REAL_VEC PDstandard2nd3kxz;
+ CCTK_REAL_VEC PDstandard2nd1kyy;
+ CCTK_REAL_VEC PDstandard2nd2kyy;
+ CCTK_REAL_VEC PDstandard2nd3kyy;
+ CCTK_REAL_VEC PDstandard2nd1kyz;
+ CCTK_REAL_VEC PDstandard2nd2kyz;
+ CCTK_REAL_VEC PDstandard2nd3kyz;
+ CCTK_REAL_VEC PDstandard2nd1kzz;
+ CCTK_REAL_VEC PDstandard2nd2kzz;
+ CCTK_REAL_VEC PDstandard2nd3kzz;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
+ PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
+ PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
+ PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
+ PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
+ PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
+ PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
+ PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
+ PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
+ PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
+ PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
+ PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
+ PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]);
+ PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
+ PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
+ PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
+ PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
+ PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
+ PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
+ PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
+ PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]);
+ PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
+ PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
+ PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
+ PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
+ PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
+ PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
+ PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
+ PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
+ PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
+ PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
+ PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
+ PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
+ PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]);
+ PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]);
+ PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
+ PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
+ PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
+ PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
+ PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
+ PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
+ PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
+ PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]);
+ PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]);
+ PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]);
+ PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
+ PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
+ PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
+ PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
+ PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
+ PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
+ PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
+ PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
+ PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
+ break;
+
+ case 4:
+ PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
+ PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
+ PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
+ PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
+ PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
+ PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
+ PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
+ PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
+ PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
+ PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
+ PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
+ PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
+ PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]);
+ PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
+ PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
+ PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
+ PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
+ PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
+ PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
+ PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
+ PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]);
+ PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
+ PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
+ PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
+ PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
+ PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
+ PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
+ PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
+ PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
+ PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
+ PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
+ PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
+ PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
+ PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]);
+ PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]);
+ PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
+ PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
+ PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
+ PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
+ PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
+ PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
+ PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
+ PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]);
+ PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]);
+ PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]);
+ PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
+ PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
+ PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
+ PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
+ PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
+ PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
+ PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
+ PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
+ PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
+ break;
+
+ case 6:
+ PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
+ PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
+ PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
+ PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
+ PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
+ PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
+ PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
+ PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
+ PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
+ PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
+ PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
+ PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
+ PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]);
+ PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
+ PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
+ PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
+ PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
+ PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
+ PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
+ PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
+ PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]);
+ PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
+ PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
+ PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
+ PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
+ PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
+ PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
+ PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
+ PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
+ PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
+ PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
+ PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
+ PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
+ PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]);
+ PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]);
+ PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
+ PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
+ PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
+ PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
+ PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
+ PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
+ PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
+ PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]);
+ PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]);
+ PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]);
+ PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
+ PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
+ PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
+ PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
+ PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
+ PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
+ PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
+ PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
+ PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
+ break;
+
+ case 8:
+ PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
+ PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
+ PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
+ PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
+ PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
+ PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
+ PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
+ PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
+ PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
+ PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
+ PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
+ PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
+ PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]);
+ PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
+ PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
+ PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
+ PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
+ PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
+ PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
+ PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
+ PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]);
+ PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
+ PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
+ PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
+ PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
+ PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
+ PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
+ PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
+ PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
+ PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
+ PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
+ PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
+ PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
+ PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]);
+ PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]);
+ PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
+ PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
+ PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
+ PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
+ PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
+ PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
+ PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
+ PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]);
+ PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]);
+ PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]);
+ PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
+ PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
+ PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
+ PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
+ PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
+ PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
+ PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
+ PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
+ PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
+ break;
+ }
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandard2nd11gxy;
+ CCTK_REAL_VEC JacPDstandard2nd11gxz;
+ CCTK_REAL_VEC JacPDstandard2nd11gyy;
+ CCTK_REAL_VEC JacPDstandard2nd11gyz;
+ CCTK_REAL_VEC JacPDstandard2nd11gzz;
+ CCTK_REAL_VEC JacPDstandard2nd12gxx;
+ CCTK_REAL_VEC JacPDstandard2nd12gxy;
+ CCTK_REAL_VEC JacPDstandard2nd12gxz;
+ CCTK_REAL_VEC JacPDstandard2nd12gyy;
+ CCTK_REAL_VEC JacPDstandard2nd12gyz;
+ CCTK_REAL_VEC JacPDstandard2nd12gzz;
+ CCTK_REAL_VEC JacPDstandard2nd13gxx;
+ CCTK_REAL_VEC JacPDstandard2nd13gxy;
+ CCTK_REAL_VEC JacPDstandard2nd13gxz;
+ CCTK_REAL_VEC JacPDstandard2nd13gyy;
+ CCTK_REAL_VEC JacPDstandard2nd13gyz;
+ CCTK_REAL_VEC JacPDstandard2nd13gzz;
+ CCTK_REAL_VEC JacPDstandard2nd1gxx;
+ CCTK_REAL_VEC JacPDstandard2nd1gxy;
+ CCTK_REAL_VEC JacPDstandard2nd1gxz;
+ CCTK_REAL_VEC JacPDstandard2nd1gyy;
+ CCTK_REAL_VEC JacPDstandard2nd1gyz;
+ CCTK_REAL_VEC JacPDstandard2nd1gzz;
+ CCTK_REAL_VEC JacPDstandard2nd1kxy;
+ CCTK_REAL_VEC JacPDstandard2nd1kxz;
+ CCTK_REAL_VEC JacPDstandard2nd1kyy;
+ CCTK_REAL_VEC JacPDstandard2nd1kyz;
+ CCTK_REAL_VEC JacPDstandard2nd1kzz;
+ CCTK_REAL_VEC JacPDstandard2nd21gxx;
+ CCTK_REAL_VEC JacPDstandard2nd21gxy;
+ CCTK_REAL_VEC JacPDstandard2nd21gxz;
+ CCTK_REAL_VEC JacPDstandard2nd21gyy;
+ CCTK_REAL_VEC JacPDstandard2nd21gyz;
+ CCTK_REAL_VEC JacPDstandard2nd21gzz;
+ CCTK_REAL_VEC JacPDstandard2nd22gxx;
+ CCTK_REAL_VEC JacPDstandard2nd22gxy;
+ CCTK_REAL_VEC JacPDstandard2nd22gxz;
+ CCTK_REAL_VEC JacPDstandard2nd22gyz;
+ CCTK_REAL_VEC JacPDstandard2nd22gzz;
+ CCTK_REAL_VEC JacPDstandard2nd23gxx;
+ CCTK_REAL_VEC JacPDstandard2nd23gxy;
+ CCTK_REAL_VEC JacPDstandard2nd23gxz;
+ CCTK_REAL_VEC JacPDstandard2nd23gyy;
+ CCTK_REAL_VEC JacPDstandard2nd23gyz;
+ CCTK_REAL_VEC JacPDstandard2nd23gzz;
+ CCTK_REAL_VEC JacPDstandard2nd2gxx;
+ CCTK_REAL_VEC JacPDstandard2nd2gxy;
+ CCTK_REAL_VEC JacPDstandard2nd2gxz;
+ CCTK_REAL_VEC JacPDstandard2nd2gyy;
+ CCTK_REAL_VEC JacPDstandard2nd2gyz;
+ CCTK_REAL_VEC JacPDstandard2nd2gzz;
+ CCTK_REAL_VEC JacPDstandard2nd2kxx;
+ CCTK_REAL_VEC JacPDstandard2nd2kxy;
+ CCTK_REAL_VEC JacPDstandard2nd2kxz;
+ CCTK_REAL_VEC JacPDstandard2nd2kyz;
+ CCTK_REAL_VEC JacPDstandard2nd2kzz;
+ CCTK_REAL_VEC JacPDstandard2nd31gxx;
+ CCTK_REAL_VEC JacPDstandard2nd31gxy;
+ CCTK_REAL_VEC JacPDstandard2nd31gxz;
+ CCTK_REAL_VEC JacPDstandard2nd31gyy;
+ CCTK_REAL_VEC JacPDstandard2nd31gyz;
+ CCTK_REAL_VEC JacPDstandard2nd31gzz;
+ CCTK_REAL_VEC JacPDstandard2nd32gxx;
+ CCTK_REAL_VEC JacPDstandard2nd32gxy;
+ CCTK_REAL_VEC JacPDstandard2nd32gxz;
+ CCTK_REAL_VEC JacPDstandard2nd32gyy;
+ CCTK_REAL_VEC JacPDstandard2nd32gyz;
+ CCTK_REAL_VEC JacPDstandard2nd32gzz;
+ CCTK_REAL_VEC JacPDstandard2nd33gxx;
+ CCTK_REAL_VEC JacPDstandard2nd33gxy;
+ CCTK_REAL_VEC JacPDstandard2nd33gxz;
+ CCTK_REAL_VEC JacPDstandard2nd33gyy;
+ CCTK_REAL_VEC JacPDstandard2nd33gyz;
+ CCTK_REAL_VEC JacPDstandard2nd3gxx;
+ CCTK_REAL_VEC JacPDstandard2nd3gxy;
+ CCTK_REAL_VEC JacPDstandard2nd3gxz;
+ CCTK_REAL_VEC JacPDstandard2nd3gyy;
+ CCTK_REAL_VEC JacPDstandard2nd3gyz;
+ CCTK_REAL_VEC JacPDstandard2nd3gzz;
+ CCTK_REAL_VEC JacPDstandard2nd3kxx;
+ CCTK_REAL_VEC JacPDstandard2nd3kxy;
+ CCTK_REAL_VEC JacPDstandard2nd3kxz;
+ CCTK_REAL_VEC JacPDstandard2nd3kyy;
+ CCTK_REAL_VEC JacPDstandard2nd3kyz;
+
+ if (use_jacobian)
+ {
+ JacPDstandard2nd1gxx =
+ kmadd(J11L,PDstandard2nd1gxx,kmadd(J21L,PDstandard2nd2gxx,kmul(J31L,PDstandard2nd3gxx)));
+
+ JacPDstandard2nd1gxy =
+ kmadd(J11L,PDstandard2nd1gxy,kmadd(J21L,PDstandard2nd2gxy,kmul(J31L,PDstandard2nd3gxy)));
+
+ JacPDstandard2nd1gxz =
+ kmadd(J11L,PDstandard2nd1gxz,kmadd(J21L,PDstandard2nd2gxz,kmul(J31L,PDstandard2nd3gxz)));
+
+ JacPDstandard2nd1gyy =
+ kmadd(J11L,PDstandard2nd1gyy,kmadd(J21L,PDstandard2nd2gyy,kmul(J31L,PDstandard2nd3gyy)));
+
+ JacPDstandard2nd1gyz =
+ kmadd(J11L,PDstandard2nd1gyz,kmadd(J21L,PDstandard2nd2gyz,kmul(J31L,PDstandard2nd3gyz)));
+
+ JacPDstandard2nd1gzz =
+ kmadd(J11L,PDstandard2nd1gzz,kmadd(J21L,PDstandard2nd2gzz,kmul(J31L,PDstandard2nd3gzz)));
+
+ JacPDstandard2nd1kxy =
+ kmadd(J11L,PDstandard2nd1kxy,kmadd(J21L,PDstandard2nd2kxy,kmul(J31L,PDstandard2nd3kxy)));
+
+ JacPDstandard2nd1kxz =
+ kmadd(J11L,PDstandard2nd1kxz,kmadd(J21L,PDstandard2nd2kxz,kmul(J31L,PDstandard2nd3kxz)));
+
+ JacPDstandard2nd1kyy =
+ kmadd(J11L,PDstandard2nd1kyy,kmadd(J21L,PDstandard2nd2kyy,kmul(J31L,PDstandard2nd3kyy)));
+
+ JacPDstandard2nd1kyz =
+ kmadd(J11L,PDstandard2nd1kyz,kmadd(J21L,PDstandard2nd2kyz,kmul(J31L,PDstandard2nd3kyz)));
+
+ JacPDstandard2nd1kzz =
+ kmadd(J11L,PDstandard2nd1kzz,kmadd(J21L,PDstandard2nd2kzz,kmul(J31L,PDstandard2nd3kzz)));
+
+ JacPDstandard2nd2gxx =
+ kmadd(J12L,PDstandard2nd1gxx,kmadd(J22L,PDstandard2nd2gxx,kmul(J32L,PDstandard2nd3gxx)));
+
+ JacPDstandard2nd2gxy =
+ kmadd(J12L,PDstandard2nd1gxy,kmadd(J22L,PDstandard2nd2gxy,kmul(J32L,PDstandard2nd3gxy)));
+
+ JacPDstandard2nd2gxz =
+ kmadd(J12L,PDstandard2nd1gxz,kmadd(J22L,PDstandard2nd2gxz,kmul(J32L,PDstandard2nd3gxz)));
+
+ JacPDstandard2nd2gyy =
+ kmadd(J12L,PDstandard2nd1gyy,kmadd(J22L,PDstandard2nd2gyy,kmul(J32L,PDstandard2nd3gyy)));
+
+ JacPDstandard2nd2gyz =
+ kmadd(J12L,PDstandard2nd1gyz,kmadd(J22L,PDstandard2nd2gyz,kmul(J32L,PDstandard2nd3gyz)));
+
+ JacPDstandard2nd2gzz =
+ kmadd(J12L,PDstandard2nd1gzz,kmadd(J22L,PDstandard2nd2gzz,kmul(J32L,PDstandard2nd3gzz)));
+
+ JacPDstandard2nd2kxx =
+ kmadd(J12L,PDstandard2nd1kxx,kmadd(J22L,PDstandard2nd2kxx,kmul(J32L,PDstandard2nd3kxx)));
+
+ JacPDstandard2nd2kxy =
+ kmadd(J12L,PDstandard2nd1kxy,kmadd(J22L,PDstandard2nd2kxy,kmul(J32L,PDstandard2nd3kxy)));
+
+ JacPDstandard2nd2kxz =
+ kmadd(J12L,PDstandard2nd1kxz,kmadd(J22L,PDstandard2nd2kxz,kmul(J32L,PDstandard2nd3kxz)));
+
+ JacPDstandard2nd2kyz =
+ kmadd(J12L,PDstandard2nd1kyz,kmadd(J22L,PDstandard2nd2kyz,kmul(J32L,PDstandard2nd3kyz)));
+
+ JacPDstandard2nd2kzz =
+ kmadd(J12L,PDstandard2nd1kzz,kmadd(J22L,PDstandard2nd2kzz,kmul(J32L,PDstandard2nd3kzz)));
+
+ JacPDstandard2nd3gxx =
+ kmadd(J13L,PDstandard2nd1gxx,kmadd(J23L,PDstandard2nd2gxx,kmul(J33L,PDstandard2nd3gxx)));
+
+ JacPDstandard2nd3gxy =
+ kmadd(J13L,PDstandard2nd1gxy,kmadd(J23L,PDstandard2nd2gxy,kmul(J33L,PDstandard2nd3gxy)));
+
+ JacPDstandard2nd3gxz =
+ kmadd(J13L,PDstandard2nd1gxz,kmadd(J23L,PDstandard2nd2gxz,kmul(J33L,PDstandard2nd3gxz)));
+
+ JacPDstandard2nd3gyy =
+ kmadd(J13L,PDstandard2nd1gyy,kmadd(J23L,PDstandard2nd2gyy,kmul(J33L,PDstandard2nd3gyy)));
+
+ JacPDstandard2nd3gyz =
+ kmadd(J13L,PDstandard2nd1gyz,kmadd(J23L,PDstandard2nd2gyz,kmul(J33L,PDstandard2nd3gyz)));
+
+ JacPDstandard2nd3gzz =
+ kmadd(J13L,PDstandard2nd1gzz,kmadd(J23L,PDstandard2nd2gzz,kmul(J33L,PDstandard2nd3gzz)));
+
+ JacPDstandard2nd3kxx =
+ kmadd(J13L,PDstandard2nd1kxx,kmadd(J23L,PDstandard2nd2kxx,kmul(J33L,PDstandard2nd3kxx)));
+
+ JacPDstandard2nd3kxy =
+ kmadd(J13L,PDstandard2nd1kxy,kmadd(J23L,PDstandard2nd2kxy,kmul(J33L,PDstandard2nd3kxy)));
+
+ JacPDstandard2nd3kxz =
+ kmadd(J13L,PDstandard2nd1kxz,kmadd(J23L,PDstandard2nd2kxz,kmul(J33L,PDstandard2nd3kxz)));
+
+ JacPDstandard2nd3kyy =
+ kmadd(J13L,PDstandard2nd1kyy,kmadd(J23L,PDstandard2nd2kyy,kmul(J33L,PDstandard2nd3kyy)));
+
+ JacPDstandard2nd3kyz =
+ kmadd(J13L,PDstandard2nd1kyz,kmadd(J23L,PDstandard2nd2kyz,kmul(J33L,PDstandard2nd3kyz)));
+
+ JacPDstandard2nd11gxy =
+ kmadd(dJ111L,PDstandard2nd1gxy,kmadd(dJ211L,PDstandard2nd2gxy,kmadd(dJ311L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,SQR(J11L),kmadd(PDstandard2nd22gxy,SQR(J21L),kmadd(PDstandard2nd33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy)),kmul(J21L,kmul(J31L,PDstandard2nd23gxy))),ToReal(2))))))));
+
+ JacPDstandard2nd11gxz =
+ kmadd(dJ111L,PDstandard2nd1gxz,kmadd(dJ211L,PDstandard2nd2gxz,kmadd(dJ311L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,SQR(J11L),kmadd(PDstandard2nd22gxz,SQR(J21L),kmadd(PDstandard2nd33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz)),kmul(J21L,kmul(J31L,PDstandard2nd23gxz))),ToReal(2))))))));
+
+ JacPDstandard2nd11gyy =
+ kmadd(dJ111L,PDstandard2nd1gyy,kmadd(dJ211L,PDstandard2nd2gyy,kmadd(dJ311L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,SQR(J11L),kmadd(PDstandard2nd22gyy,SQR(J21L),kmadd(PDstandard2nd33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy)),kmul(J21L,kmul(J31L,PDstandard2nd23gyy))),ToReal(2))))))));
+
+ JacPDstandard2nd11gyz =
+ kmadd(dJ111L,PDstandard2nd1gyz,kmadd(dJ211L,PDstandard2nd2gyz,kmadd(dJ311L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,SQR(J11L),kmadd(PDstandard2nd22gyz,SQR(J21L),kmadd(PDstandard2nd33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz)),kmul(J21L,kmul(J31L,PDstandard2nd23gyz))),ToReal(2))))))));
+
+ JacPDstandard2nd11gzz =
+ kmadd(dJ111L,PDstandard2nd1gzz,kmadd(dJ211L,PDstandard2nd2gzz,kmadd(dJ311L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,SQR(J11L),kmadd(PDstandard2nd22gzz,SQR(J21L),kmadd(PDstandard2nd33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz)),kmul(J21L,kmul(J31L,PDstandard2nd23gzz))),ToReal(2))))))));
+
+ JacPDstandard2nd22gxx =
+ kmadd(dJ122L,PDstandard2nd1gxx,kmadd(dJ222L,PDstandard2nd2gxx,kmadd(dJ322L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,SQR(J12L),kmadd(PDstandard2nd22gxx,SQR(J22L),kmadd(PDstandard2nd33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmul(J22L,kmul(J32L,PDstandard2nd23gxx))),ToReal(2))))))));
+
+ JacPDstandard2nd22gxy =
+ kmadd(dJ122L,PDstandard2nd1gxy,kmadd(dJ222L,PDstandard2nd2gxy,kmadd(dJ322L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,SQR(J12L),kmadd(PDstandard2nd22gxy,SQR(J22L),kmadd(PDstandard2nd33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmul(J22L,kmul(J32L,PDstandard2nd23gxy))),ToReal(2))))))));
+
+ JacPDstandard2nd22gxz =
+ kmadd(dJ122L,PDstandard2nd1gxz,kmadd(dJ222L,PDstandard2nd2gxz,kmadd(dJ322L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,SQR(J12L),kmadd(PDstandard2nd22gxz,SQR(J22L),kmadd(PDstandard2nd33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmul(J22L,kmul(J32L,PDstandard2nd23gxz))),ToReal(2))))))));
+
+ JacPDstandard2nd22gyz =
+ kmadd(dJ122L,PDstandard2nd1gyz,kmadd(dJ222L,PDstandard2nd2gyz,kmadd(dJ322L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,SQR(J12L),kmadd(PDstandard2nd22gyz,SQR(J22L),kmadd(PDstandard2nd33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz)),kmul(J22L,kmul(J32L,PDstandard2nd23gyz))),ToReal(2))))))));
+
+ JacPDstandard2nd22gzz =
+ kmadd(dJ122L,PDstandard2nd1gzz,kmadd(dJ222L,PDstandard2nd2gzz,kmadd(dJ322L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,SQR(J12L),kmadd(PDstandard2nd22gzz,SQR(J22L),kmadd(PDstandard2nd33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmul(J22L,kmul(J32L,PDstandard2nd23gzz))),ToReal(2))))))));
+
+ JacPDstandard2nd33gxx =
+ kmadd(dJ133L,PDstandard2nd1gxx,kmadd(dJ233L,PDstandard2nd2gxx,kmadd(dJ333L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,SQR(J13L),kmadd(PDstandard2nd22gxx,SQR(J23L),kmadd(PDstandard2nd33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmul(J23L,kmul(J33L,PDstandard2nd23gxx))),ToReal(2))))))));
+
+ JacPDstandard2nd33gxy =
+ kmadd(dJ133L,PDstandard2nd1gxy,kmadd(dJ233L,PDstandard2nd2gxy,kmadd(dJ333L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,SQR(J13L),kmadd(PDstandard2nd22gxy,SQR(J23L),kmadd(PDstandard2nd33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmul(J23L,kmul(J33L,PDstandard2nd23gxy))),ToReal(2))))))));
+
+ JacPDstandard2nd33gxz =
+ kmadd(dJ133L,PDstandard2nd1gxz,kmadd(dJ233L,PDstandard2nd2gxz,kmadd(dJ333L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,SQR(J13L),kmadd(PDstandard2nd22gxz,SQR(J23L),kmadd(PDstandard2nd33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmul(J23L,kmul(J33L,PDstandard2nd23gxz))),ToReal(2))))))));
+
+ JacPDstandard2nd33gyy =
+ kmadd(dJ133L,PDstandard2nd1gyy,kmadd(dJ233L,PDstandard2nd2gyy,kmadd(dJ333L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,SQR(J13L),kmadd(PDstandard2nd22gyy,SQR(J23L),kmadd(PDstandard2nd33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmul(J23L,kmul(J33L,PDstandard2nd23gyy))),ToReal(2))))))));
+
+ JacPDstandard2nd33gyz =
+ kmadd(dJ133L,PDstandard2nd1gyz,kmadd(dJ233L,PDstandard2nd2gyz,kmadd(dJ333L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,SQR(J13L),kmadd(PDstandard2nd22gyz,SQR(J23L),kmadd(PDstandard2nd33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmul(J23L,kmul(J33L,PDstandard2nd23gyz))),ToReal(2))))))));
+
+ JacPDstandard2nd12gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmadd(dJ112L,PDstandard2nd1gxx,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ212L,PDstandard2nd2gxx,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ312L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd12gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmadd(dJ112L,PDstandard2nd1gxy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ212L,PDstandard2nd2gxy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ312L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd12gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmadd(dJ112L,PDstandard2nd1gxz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ212L,PDstandard2nd2gxz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ312L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd12gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy)),kmadd(dJ112L,PDstandard2nd1gyy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ212L,PDstandard2nd2gyy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ312L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd12gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz)),kmadd(dJ112L,PDstandard2nd1gyz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ212L,PDstandard2nd2gyz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ312L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd12gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmadd(dJ112L,PDstandard2nd1gzz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ212L,PDstandard2nd2gzz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ312L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd13gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ113L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ213L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ313L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd13gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ113L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ213L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ313L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd13gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ113L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ213L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ313L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd13gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ113L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ213L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ313L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd13gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ113L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ213L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ313L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd13gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ113L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ213L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ313L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd21gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmadd(dJ112L,PDstandard2nd1gxx,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ212L,PDstandard2nd2gxx,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ312L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd21gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmadd(dJ112L,PDstandard2nd1gxy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ212L,PDstandard2nd2gxy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ312L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd21gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmadd(dJ112L,PDstandard2nd1gxz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ212L,PDstandard2nd2gxz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ312L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd21gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy)),kmadd(dJ112L,PDstandard2nd1gyy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ212L,PDstandard2nd2gyy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ312L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd21gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz)),kmadd(dJ112L,PDstandard2nd1gyz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ212L,PDstandard2nd2gyz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ312L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd21gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmadd(dJ112L,PDstandard2nd1gzz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ212L,PDstandard2nd2gzz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ312L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd23gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxx,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ123L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxx,kmul(J32L,PDstandard2nd23gxx)),kmadd(dJ223L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxx,kmul(J32L,PDstandard2nd33gxx)),kmul(dJ323L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd23gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxy,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ123L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxy,kmul(J32L,PDstandard2nd23gxy)),kmadd(dJ223L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxy,kmul(J32L,PDstandard2nd33gxy)),kmul(dJ323L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd23gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxz,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ123L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxz,kmul(J32L,PDstandard2nd23gxz)),kmadd(dJ223L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxz,kmul(J32L,PDstandard2nd33gxz)),kmul(dJ323L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd23gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyy,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ123L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyy,kmul(J32L,PDstandard2nd23gyy)),kmadd(dJ223L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyy,kmul(J32L,PDstandard2nd33gyy)),kmul(dJ323L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd23gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyz,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ123L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyz,kmul(J32L,PDstandard2nd23gyz)),kmadd(dJ223L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyz,kmul(J32L,PDstandard2nd33gyz)),kmul(dJ323L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd23gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gzz,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ123L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gzz,kmul(J32L,PDstandard2nd23gzz)),kmadd(dJ223L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gzz,kmul(J32L,PDstandard2nd33gzz)),kmul(dJ323L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd31gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ113L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ213L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ313L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd31gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ113L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ213L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ313L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd31gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ113L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ213L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ313L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd31gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ113L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ213L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ313L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd31gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ113L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ213L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ313L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd31gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ113L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ213L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ313L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd32gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxx,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ123L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxx,kmul(J32L,PDstandard2nd23gxx)),kmadd(dJ223L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxx,kmul(J32L,PDstandard2nd33gxx)),kmul(dJ323L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd32gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxy,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ123L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxy,kmul(J32L,PDstandard2nd23gxy)),kmadd(dJ223L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxy,kmul(J32L,PDstandard2nd33gxy)),kmul(dJ323L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd32gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxz,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ123L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxz,kmul(J32L,PDstandard2nd23gxz)),kmadd(dJ223L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxz,kmul(J32L,PDstandard2nd33gxz)),kmul(dJ323L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd32gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyy,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ123L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyy,kmul(J32L,PDstandard2nd23gyy)),kmadd(dJ223L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyy,kmul(J32L,PDstandard2nd33gyy)),kmul(dJ323L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd32gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyz,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ123L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyz,kmul(J32L,PDstandard2nd23gyz)),kmadd(dJ223L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyz,kmul(J32L,PDstandard2nd33gyz)),kmul(dJ323L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd32gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gzz,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ123L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gzz,kmul(J32L,PDstandard2nd23gzz)),kmadd(dJ223L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gzz,kmul(J32L,PDstandard2nd33gzz)),kmul(dJ323L,PDstandard2nd3gzz)))))));
+ }
+ else
+ {
+ JacPDstandard2nd1gxx = PDstandard2nd1gxx;
+
+ JacPDstandard2nd1gxy = PDstandard2nd1gxy;
+
+ JacPDstandard2nd1gxz = PDstandard2nd1gxz;
+
+ JacPDstandard2nd1gyy = PDstandard2nd1gyy;
+
+ JacPDstandard2nd1gyz = PDstandard2nd1gyz;
+
+ JacPDstandard2nd1gzz = PDstandard2nd1gzz;
+
+ JacPDstandard2nd1kxy = PDstandard2nd1kxy;
+
+ JacPDstandard2nd1kxz = PDstandard2nd1kxz;
+
+ JacPDstandard2nd1kyy = PDstandard2nd1kyy;
+
+ JacPDstandard2nd1kyz = PDstandard2nd1kyz;
+
+ JacPDstandard2nd1kzz = PDstandard2nd1kzz;
+
+ JacPDstandard2nd2gxx = PDstandard2nd2gxx;
+
+ JacPDstandard2nd2gxy = PDstandard2nd2gxy;
+
+ JacPDstandard2nd2gxz = PDstandard2nd2gxz;
+
+ JacPDstandard2nd2gyy = PDstandard2nd2gyy;
+
+ JacPDstandard2nd2gyz = PDstandard2nd2gyz;
+
+ JacPDstandard2nd2gzz = PDstandard2nd2gzz;
+
+ JacPDstandard2nd2kxx = PDstandard2nd2kxx;
+
+ JacPDstandard2nd2kxy = PDstandard2nd2kxy;
+
+ JacPDstandard2nd2kxz = PDstandard2nd2kxz;
+
+ JacPDstandard2nd2kyz = PDstandard2nd2kyz;
+
+ JacPDstandard2nd2kzz = PDstandard2nd2kzz;
+
+ JacPDstandard2nd3gxx = PDstandard2nd3gxx;
+
+ JacPDstandard2nd3gxy = PDstandard2nd3gxy;
+
+ JacPDstandard2nd3gxz = PDstandard2nd3gxz;
+
+ JacPDstandard2nd3gyy = PDstandard2nd3gyy;
+
+ JacPDstandard2nd3gyz = PDstandard2nd3gyz;
+
+ JacPDstandard2nd3gzz = PDstandard2nd3gzz;
+
+ JacPDstandard2nd3kxx = PDstandard2nd3kxx;
+
+ JacPDstandard2nd3kxy = PDstandard2nd3kxy;
+
+ JacPDstandard2nd3kxz = PDstandard2nd3kxz;
+
+ JacPDstandard2nd3kyy = PDstandard2nd3kyy;
+
+ JacPDstandard2nd3kyz = PDstandard2nd3kyz;
+
+ JacPDstandard2nd11gxy = PDstandard2nd11gxy;
+
+ JacPDstandard2nd11gxz = PDstandard2nd11gxz;
+
+ JacPDstandard2nd11gyy = PDstandard2nd11gyy;
+
+ JacPDstandard2nd11gyz = PDstandard2nd11gyz;
+
+ JacPDstandard2nd11gzz = PDstandard2nd11gzz;
+
+ JacPDstandard2nd22gxx = PDstandard2nd22gxx;
+
+ JacPDstandard2nd22gxy = PDstandard2nd22gxy;
+
+ JacPDstandard2nd22gxz = PDstandard2nd22gxz;
+
+ JacPDstandard2nd22gyz = PDstandard2nd22gyz;
+
+ JacPDstandard2nd22gzz = PDstandard2nd22gzz;
+
+ JacPDstandard2nd33gxx = PDstandard2nd33gxx;
+
+ JacPDstandard2nd33gxy = PDstandard2nd33gxy;
+
+ JacPDstandard2nd33gxz = PDstandard2nd33gxz;
+
+ JacPDstandard2nd33gyy = PDstandard2nd33gyy;
+
+ JacPDstandard2nd33gyz = PDstandard2nd33gyz;
+
+ JacPDstandard2nd12gxx = PDstandard2nd12gxx;
+
+ JacPDstandard2nd12gxy = PDstandard2nd12gxy;
+
+ JacPDstandard2nd12gxz = PDstandard2nd12gxz;
+
+ JacPDstandard2nd12gyy = PDstandard2nd12gyy;
+
+ JacPDstandard2nd12gyz = PDstandard2nd12gyz;
+
+ JacPDstandard2nd12gzz = PDstandard2nd12gzz;
+
+ JacPDstandard2nd13gxx = PDstandard2nd13gxx;
+
+ JacPDstandard2nd13gxy = PDstandard2nd13gxy;
+
+ JacPDstandard2nd13gxz = PDstandard2nd13gxz;
+
+ JacPDstandard2nd13gyy = PDstandard2nd13gyy;
+
+ JacPDstandard2nd13gyz = PDstandard2nd13gyz;
+
+ JacPDstandard2nd13gzz = PDstandard2nd13gzz;
+
+ JacPDstandard2nd21gxx = PDstandard2nd12gxx;
+
+ JacPDstandard2nd21gxy = PDstandard2nd12gxy;
+
+ JacPDstandard2nd21gxz = PDstandard2nd12gxz;
+
+ JacPDstandard2nd21gyy = PDstandard2nd12gyy;
+
+ JacPDstandard2nd21gyz = PDstandard2nd12gyz;
+
+ JacPDstandard2nd21gzz = PDstandard2nd12gzz;
+
+ JacPDstandard2nd23gxx = PDstandard2nd23gxx;
+
+ JacPDstandard2nd23gxy = PDstandard2nd23gxy;
+
+ JacPDstandard2nd23gxz = PDstandard2nd23gxz;
+
+ JacPDstandard2nd23gyy = PDstandard2nd23gyy;
+
+ JacPDstandard2nd23gyz = PDstandard2nd23gyz;
+
+ JacPDstandard2nd23gzz = PDstandard2nd23gzz;
+
+ JacPDstandard2nd31gxx = PDstandard2nd13gxx;
+
+ JacPDstandard2nd31gxy = PDstandard2nd13gxy;
+
+ JacPDstandard2nd31gxz = PDstandard2nd13gxz;
+
+ JacPDstandard2nd31gyy = PDstandard2nd13gyy;
+
+ JacPDstandard2nd31gyz = PDstandard2nd13gyz;
+
+ JacPDstandard2nd31gzz = PDstandard2nd13gzz;
+
+ JacPDstandard2nd32gxx = PDstandard2nd23gxx;
+
+ JacPDstandard2nd32gxy = PDstandard2nd23gxy;
+
+ JacPDstandard2nd32gxz = PDstandard2nd23gxz;
+
+ JacPDstandard2nd32gyy = PDstandard2nd23gyy;
+
+ JacPDstandard2nd32gyz = PDstandard2nd23gyz;
+
+ JacPDstandard2nd32gzz = PDstandard2nd23gzz;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+
+ CCTK_REAL_VEC invdetg = INV(detg);
+
+ CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL)));
+
+ CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL)));
+
+ CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL)));
+
+ CCTK_REAL_VEC gamma111 =
+ kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard2nd1gxx,knmsub(gInv12,JacPDstandard2nd2gxx,kmsub(kmadd(gInv12,JacPDstandard2nd1gxy,kmul(gInv13,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv13,JacPDstandard2nd3gxx)))));
+
+ CCTK_REAL_VEC gamma211 =
+ kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard2nd1gxx,knmsub(gInv22,JacPDstandard2nd2gxx,kmsub(kmadd(gInv22,JacPDstandard2nd1gxy,kmul(gInv23,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv23,JacPDstandard2nd3gxx)))));
+
+ CCTK_REAL_VEC gamma311 =
+ kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard2nd1gxx,knmsub(gInv32,JacPDstandard2nd2gxx,kmsub(kmadd(gInv32,JacPDstandard2nd1gxy,kmul(gInv33,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv33,JacPDstandard2nd3gxx)))));
+
+ CCTK_REAL_VEC gamma121 =
+ kmul(kmadd(gInv12,JacPDstandard2nd1gyy,kmadd(gInv11,JacPDstandard2nd2gxx,kmul(gInv13,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma221 =
+ kmul(kmadd(gInv22,JacPDstandard2nd1gyy,kmadd(gInv21,JacPDstandard2nd2gxx,kmul(gInv23,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma321 =
+ kmul(kmadd(gInv32,JacPDstandard2nd1gyy,kmadd(gInv31,JacPDstandard2nd2gxx,kmul(gInv33,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma131 =
+ kmul(kmadd(gInv13,JacPDstandard2nd1gzz,kmadd(gInv11,JacPDstandard2nd3gxx,kmul(gInv12,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma231 =
+ kmul(kmadd(gInv23,JacPDstandard2nd1gzz,kmadd(gInv21,JacPDstandard2nd3gxx,kmul(gInv22,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma331 =
+ kmul(kmadd(gInv33,JacPDstandard2nd1gzz,kmadd(gInv31,JacPDstandard2nd3gxx,kmul(gInv32,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma122 =
+ kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2nd2gyy,kmadd(gInv11,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv13,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+
+ CCTK_REAL_VEC gamma222 =
+ kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2nd2gyy,kmadd(gInv21,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv23,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+
+ CCTK_REAL_VEC gamma322 =
+ kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2nd2gyy,kmadd(gInv31,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv33,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+
+ CCTK_REAL_VEC gamma132 =
+ kmul(kmadd(gInv13,JacPDstandard2nd2gzz,kmadd(gInv12,JacPDstandard2nd3gyy,kmul(gInv11,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma232 =
+ kmul(kmadd(gInv23,JacPDstandard2nd2gzz,kmadd(gInv22,JacPDstandard2nd3gyy,kmul(gInv21,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma332 =
+ kmul(kmadd(gInv33,JacPDstandard2nd2gzz,kmadd(gInv32,JacPDstandard2nd3gyy,kmul(gInv31,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma133 =
+ kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard2nd3gzz,kmadd(gInv11,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv12,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+
+ CCTK_REAL_VEC gamma233 =
+ kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard2nd3gzz,kmadd(gInv21,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv22,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+
+ CCTK_REAL_VEC gamma333 =
+ kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard2nd3gzz,kmadd(gInv31,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv32,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+
+ CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig));
+
+ CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig));
+
+ CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig));
+
+ CCTK_REAL_VEC va1 = kneg(ymoved);
+
+ CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC va3 = ToReal(0);
+
+ CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC vb2 = ymoved;
+
+ CCTK_REAL_VEC vb3 = zmoved;
+
+ CCTK_REAL_VEC vc1 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+
+ CCTK_REAL_VEC vc2 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+
+ CCTK_REAL_VEC vc3 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+
+ CCTK_REAL_VEC wa1 = va1;
+
+ CCTK_REAL_VEC wa2 = va2;
+
+ CCTK_REAL_VEC wa3 = va3;
+
+ CCTK_REAL_VEC omega11 =
+ kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC omega12 =
+ kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
+
+ CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1);
+
+ CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2);
+
+ CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3);
+
+ CCTK_REAL_VEC omega22 =
+ kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC omega13 =
+ kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
+
+ CCTK_REAL_VEC omega23 =
+ kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
+
+ CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+
+ CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+
+ CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+
+ CCTK_REAL_VEC omega33 =
+ kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524);
+
+ CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2));
+
+ CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2));
+
+ CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2));
+
+ CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2);
+
+ CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2);
+
+ CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2);
+
+ CCTK_REAL_VEC im1 = kmul(ea1,isqrt2);
+
+ CCTK_REAL_VEC im2 = kmul(ea2,isqrt2);
+
+ CCTK_REAL_VEC im3 = kmul(ea3,isqrt2);
+
+ CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2);
+
+ CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2);
+
+ CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2);
+
+ CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2));
+
+ CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2));
+
+ CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2));
+
+ CCTK_REAL_VEC nn = isqrt2;
+
+ CCTK_REAL_VEC R1111 = ToReal(0);
+
+ CCTK_REAL_VEC R1112 =
+ kmul(ksub(JacPDstandard2nd21gxx,JacPDstandard2nd12gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1113 =
+ kmul(ksub(JacPDstandard2nd31gxx,JacPDstandard2nd13gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1121 =
+ kmul(ksub(JacPDstandard2nd21gxx,JacPDstandard2nd12gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1122 =
+ ksub(JacPDstandard2nd21gxy,JacPDstandard2nd12gxy);
+
+ CCTK_REAL_VEC R1123 =
+ kmul(kadd(JacPDstandard2nd21gxz,ksub(JacPDstandard2nd31gxy,kadd(JacPDstandard2nd13gxy,JacPDstandard2nd12gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1131 =
+ kmul(ksub(JacPDstandard2nd31gxx,JacPDstandard2nd13gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1132 =
+ kmul(kadd(JacPDstandard2nd21gxz,ksub(JacPDstandard2nd31gxy,kadd(JacPDstandard2nd13gxy,JacPDstandard2nd12gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1133 =
+ ksub(JacPDstandard2nd31gxz,JacPDstandard2nd13gxz);
+
+ CCTK_REAL_VEC R1211 =
+ kmul(ksub(JacPDstandard2nd12gxx,JacPDstandard2nd21gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1212 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxy,kadd(JacPDstandard2nd21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard2nd22gxx),JacPDstandard2nd11gyy)))));
+
+ CCTK_REAL_VEC R1213 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxz,kadd(JacPDstandard2nd31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxx),JacPDstandard2nd11gyz))))));
+
+ CCTK_REAL_VEC R1221 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyy,kadd(JacPDstandard2nd22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard2nd21gxy),JacPDstandard2nd12gxy))))),kmul(gxxL,SQR(gamma121)))));
+
+ CCTK_REAL_VEC R1222 =
+ kmul(ksub(JacPDstandard2nd21gyy,JacPDstandard2nd12gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R1223 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd22gxz,kadd(JacPDstandard2nd31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxy),JacPDstandard2nd12gyz))))));
+
+ CCTK_REAL_VEC R1231 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd21gxz),JacPDstandard2nd13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1232 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gyz,kadd(JacPDstandard2nd32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd22gxz),JacPDstandard2nd13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1233 =
+ kmul(kadd(JacPDstandard2nd31gyz,ksub(JacPDstandard2nd32gxz,kadd(JacPDstandard2nd23gxz,JacPDstandard2nd13gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1311 =
+ kmul(ksub(JacPDstandard2nd13gxx,JacPDstandard2nd31gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1312 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxx),JacPDstandard2nd11gyz))))));
+
+ CCTK_REAL_VEC R1313 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxz,kadd(JacPDstandard2nd31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard2nd33gxx),JacPDstandard2nd11gzz)))));
+
+ CCTK_REAL_VEC R1321 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gxy),JacPDstandard2nd12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1322 =
+ kmul(kadd(JacPDstandard2nd21gyz,ksub(JacPDstandard2nd23gxy,kadd(JacPDstandard2nd32gxy,JacPDstandard2nd12gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1323 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd12gzz))))));
+
+ CCTK_REAL_VEC R1331 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gzz,kadd(JacPDstandard2nd33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gxz),JacPDstandard2nd13gxz))))),kmul(gxxL,SQR(gamma131)))));
+
+ CCTK_REAL_VEC R1332 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gxz),JacPDstandard2nd13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R1333 =
+ kmul(ksub(JacPDstandard2nd31gzz,JacPDstandard2nd13gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R2111 =
+ kmul(ksub(JacPDstandard2nd12gxx,JacPDstandard2nd21gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R2112 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyy,kadd(JacPDstandard2nd22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard2nd21gxy),JacPDstandard2nd12gxy))))),kmul(gxxL,SQR(gamma121)))));
+
+ CCTK_REAL_VEC R2113 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd21gxz),JacPDstandard2nd13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2121 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxy,kadd(JacPDstandard2nd21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard2nd22gxx),JacPDstandard2nd11gyy)))));
+
+ CCTK_REAL_VEC R2122 =
+ kmul(ksub(JacPDstandard2nd21gyy,JacPDstandard2nd12gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2123 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gyz,kadd(JacPDstandard2nd32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd22gxz),JacPDstandard2nd13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2131 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxz,kadd(JacPDstandard2nd31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxx),JacPDstandard2nd11gyz))))));
+
+ CCTK_REAL_VEC R2132 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd22gxz,kadd(JacPDstandard2nd31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxy),JacPDstandard2nd12gyz))))));
+
+ CCTK_REAL_VEC R2133 =
+ kmul(kadd(JacPDstandard2nd31gyz,ksub(JacPDstandard2nd32gxz,kadd(JacPDstandard2nd23gxz,JacPDstandard2nd13gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2211 =
+ ksub(JacPDstandard2nd12gxy,JacPDstandard2nd21gxy);
+
+ CCTK_REAL_VEC R2212 =
+ kmul(ksub(JacPDstandard2nd12gyy,JacPDstandard2nd21gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2213 =
+ kmul(kadd(JacPDstandard2nd12gyz,ksub(JacPDstandard2nd32gxy,kadd(JacPDstandard2nd23gxy,JacPDstandard2nd21gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2221 =
+ kmul(ksub(JacPDstandard2nd12gyy,JacPDstandard2nd21gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2222 = ToReal(0);
+
+ CCTK_REAL_VEC R2223 =
+ kmul(ksub(JacPDstandard2nd32gyy,JacPDstandard2nd23gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2231 =
+ kmul(kadd(JacPDstandard2nd12gyz,ksub(JacPDstandard2nd32gxy,kadd(JacPDstandard2nd23gxy,JacPDstandard2nd21gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2232 =
+ kmul(ksub(JacPDstandard2nd32gyy,JacPDstandard2nd23gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2233 =
+ ksub(JacPDstandard2nd32gyz,JacPDstandard2nd23gyz);
+
+ CCTK_REAL_VEC R2311 =
+ kmul(kadd(JacPDstandard2nd12gxz,ksub(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd31gxy,JacPDstandard2nd21gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2312 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyy,kadd(JacPDstandard2nd22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxy),JacPDstandard2nd21gyz))))));
+
+ CCTK_REAL_VEC R2313 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyz,kadd(JacPDstandard2nd32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd21gzz))))));
+
+ CCTK_REAL_VEC R2321 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gyz,kadd(JacPDstandard2nd23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gyy),JacPDstandard2nd22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2322 =
+ kmul(ksub(JacPDstandard2nd23gyy,JacPDstandard2nd32gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2323 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd23gyz,kadd(JacPDstandard2nd32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard2nd33gyy),JacPDstandard2nd22gzz)))));
+
+ CCTK_REAL_VEC R2331 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gyz),JacPDstandard2nd23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R2332 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd22gzz,kadd(JacPDstandard2nd33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gyz),JacPDstandard2nd23gyz))))),kmul(gxxL,SQR(gamma132)))));
+
+ CCTK_REAL_VEC R2333 =
+ kmul(ksub(JacPDstandard2nd32gzz,JacPDstandard2nd23gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3111 =
+ kmul(ksub(JacPDstandard2nd13gxx,JacPDstandard2nd31gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R3112 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gxy),JacPDstandard2nd12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R3113 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gzz,kadd(JacPDstandard2nd33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gxz),JacPDstandard2nd13gxz))))),kmul(gxxL,SQR(gamma131)))));
+
+ CCTK_REAL_VEC R3121 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxx),JacPDstandard2nd11gyz))))));
+
+ CCTK_REAL_VEC R3122 =
+ kmul(kadd(JacPDstandard2nd21gyz,ksub(JacPDstandard2nd23gxy,kadd(JacPDstandard2nd32gxy,JacPDstandard2nd12gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3123 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gxz),JacPDstandard2nd13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R3131 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxz,kadd(JacPDstandard2nd31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard2nd33gxx),JacPDstandard2nd11gzz)))));
+
+ CCTK_REAL_VEC R3132 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd12gzz))))));
+
+ CCTK_REAL_VEC R3133 =
+ kmul(ksub(JacPDstandard2nd31gzz,JacPDstandard2nd13gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3211 =
+ kmul(kadd(JacPDstandard2nd12gxz,ksub(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd31gxy,JacPDstandard2nd21gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3212 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gyz,kadd(JacPDstandard2nd23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gyy),JacPDstandard2nd22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R3213 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gyz),JacPDstandard2nd23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R3221 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyy,kadd(JacPDstandard2nd22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxy),JacPDstandard2nd21gyz))))));
+
+ CCTK_REAL_VEC R3222 =
+ kmul(ksub(JacPDstandard2nd23gyy,JacPDstandard2nd32gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R3223 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd22gzz,kadd(JacPDstandard2nd33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gyz),JacPDstandard2nd23gyz))))),kmul(gxxL,SQR(gamma132)))));
+
+ CCTK_REAL_VEC R3231 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyz,kadd(JacPDstandard2nd32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd21gzz))))));
+
+ CCTK_REAL_VEC R3232 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd23gyz,kadd(JacPDstandard2nd32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard2nd33gyy),JacPDstandard2nd22gzz)))));
+
+ CCTK_REAL_VEC R3233 =
+ kmul(ksub(JacPDstandard2nd32gzz,JacPDstandard2nd23gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3311 =
+ ksub(JacPDstandard2nd13gxz,JacPDstandard2nd31gxz);
+
+ CCTK_REAL_VEC R3312 =
+ kmul(kadd(JacPDstandard2nd13gyz,ksub(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd32gxz,JacPDstandard2nd31gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3313 =
+ kmul(ksub(JacPDstandard2nd13gzz,JacPDstandard2nd31gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3321 =
+ kmul(kadd(JacPDstandard2nd13gyz,ksub(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd32gxz,JacPDstandard2nd31gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3322 =
+ ksub(JacPDstandard2nd23gyz,JacPDstandard2nd32gyz);
+
+ CCTK_REAL_VEC R3323 =
+ kmul(ksub(JacPDstandard2nd23gzz,JacPDstandard2nd32gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3331 =
+ kmul(ksub(JacPDstandard2nd13gzz,JacPDstandard2nd31gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3332 =
+ kmul(ksub(JacPDstandard2nd23gzz,JacPDstandard2nd32gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3333 = ToReal(0);
+
+ CCTK_REAL_VEC R4p1111 = R1111;
+
+ CCTK_REAL_VEC R4p1112 = R1112;
+
+ CCTK_REAL_VEC R4p1113 = R1113;
+
+ CCTK_REAL_VEC R4p1121 = R1121;
+
+ CCTK_REAL_VEC R4p1122 = R1122;
+
+ CCTK_REAL_VEC R4p1123 = R1123;
+
+ CCTK_REAL_VEC R4p1131 = R1131;
+
+ CCTK_REAL_VEC R4p1132 = R1132;
+
+ CCTK_REAL_VEC R4p1133 = R1133;
+
+ CCTK_REAL_VEC R4p1211 = R1211;
+
+ CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+
+ CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p1222 = R1222;
+
+ CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+
+ CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231));
+
+ CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232));
+
+ CCTK_REAL_VEC R4p1233 = R1233;
+
+ CCTK_REAL_VEC R4p1311 = R1311;
+
+ CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312));
+
+ CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321));
+
+ CCTK_REAL_VEC R4p1322 = R1322;
+
+ CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+
+ CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332));
+
+ CCTK_REAL_VEC R4p1333 = R1333;
+
+ CCTK_REAL_VEC R4p2111 = R2111;
+
+ CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113));
+
+ CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p2122 = R2122;
+
+ CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123));
+
+ CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131));
+
+ CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132));
+
+ CCTK_REAL_VEC R4p2133 = R2133;
+
+ CCTK_REAL_VEC R4p2211 = R2211;
+
+ CCTK_REAL_VEC R4p2212 = R2212;
+
+ CCTK_REAL_VEC R4p2213 = R2213;
+
+ CCTK_REAL_VEC R4p2221 = R2221;
+
+ CCTK_REAL_VEC R4p2222 = R2222;
+
+ CCTK_REAL_VEC R4p2223 = R2223;
+
+ CCTK_REAL_VEC R4p2231 = R2231;
+
+ CCTK_REAL_VEC R4p2232 = R2232;
+
+ CCTK_REAL_VEC R4p2233 = R2233;
+
+ CCTK_REAL_VEC R4p2311 = R2311;
+
+ CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312));
+
+ CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313));
+
+ CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321));
+
+ CCTK_REAL_VEC R4p2322 = R2322;
+
+ CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331));
+
+ CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p2333 = R2333;
+
+ CCTK_REAL_VEC R4p3111 = R3111;
+
+ CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112));
+
+ CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121));
+
+ CCTK_REAL_VEC R4p3122 = R3122;
+
+ CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123));
+
+ CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132));
+
+ CCTK_REAL_VEC R4p3133 = R3133;
+
+ CCTK_REAL_VEC R4p3211 = R3211;
+
+ CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212));
+
+ CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213));
+
+ CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221));
+
+ CCTK_REAL_VEC R4p3222 = R3222;
+
+ CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231));
+
+ CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p3233 = R3233;
+
+ CCTK_REAL_VEC R4p3311 = R3311;
+
+ CCTK_REAL_VEC R4p3312 = R3312;
+
+ CCTK_REAL_VEC R4p3313 = R3313;
+
+ CCTK_REAL_VEC R4p3321 = R3321;
+
+ CCTK_REAL_VEC R4p3322 = R3322;
+
+ CCTK_REAL_VEC R4p3323 = R3323;
+
+ CCTK_REAL_VEC R4p3331 = R3331;
+
+ CCTK_REAL_VEC R4p3332 = R3332;
+
+ CCTK_REAL_VEC R4p3333 = R3333;
+
+ CCTK_REAL_VEC Ro111 = ToReal(0);
+
+ CCTK_REAL_VEC Ro112 =
+ kadd(JacPDstandard2nd1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard2nd2kxx))));
+
+ CCTK_REAL_VEC Ro113 =
+ kadd(JacPDstandard2nd1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard2nd3kxx))));
+
+ CCTK_REAL_VEC Ro121 =
+ kadd(JacPDstandard2nd2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard2nd1kxy))));
+
+ CCTK_REAL_VEC Ro122 = ToReal(0);
+
+ CCTK_REAL_VEC Ro123 =
+ kadd(JacPDstandard2nd2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard2nd3kxy))));
+
+ CCTK_REAL_VEC Ro131 =
+ kadd(JacPDstandard2nd3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard2nd1kxz))));
+
+ CCTK_REAL_VEC Ro132 =
+ kadd(JacPDstandard2nd3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard2nd2kxz))));
+
+ CCTK_REAL_VEC Ro133 = ToReal(0);
+
+ CCTK_REAL_VEC Ro211 = ToReal(0);
+
+ CCTK_REAL_VEC Ro212 =
+ kadd(JacPDstandard2nd1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard2nd2kxy))));
+
+ CCTK_REAL_VEC Ro213 =
+ kadd(JacPDstandard2nd1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard2nd3kxy))));
+
+ CCTK_REAL_VEC Ro221 =
+ kadd(JacPDstandard2nd2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard2nd1kyy))));
+
+ CCTK_REAL_VEC Ro222 = ToReal(0);
+
+ CCTK_REAL_VEC Ro223 =
+ kadd(JacPDstandard2nd2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard2nd3kyy))));
+
+ CCTK_REAL_VEC Ro231 =
+ kadd(JacPDstandard2nd3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard2nd1kyz))));
+
+ CCTK_REAL_VEC Ro232 =
+ kadd(JacPDstandard2nd3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard2nd2kyz))));
+
+ CCTK_REAL_VEC Ro233 = ToReal(0);
+
+ CCTK_REAL_VEC Ro311 = ToReal(0);
+
+ CCTK_REAL_VEC Ro312 =
+ kadd(JacPDstandard2nd1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard2nd2kxz))));
+
+ CCTK_REAL_VEC Ro313 =
+ kadd(JacPDstandard2nd1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard2nd3kxz))));
+
+ CCTK_REAL_VEC Ro321 =
+ kadd(JacPDstandard2nd2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard2nd1kyz))));
+
+ CCTK_REAL_VEC Ro322 = ToReal(0);
+
+ CCTK_REAL_VEC Ro323 =
+ kadd(JacPDstandard2nd2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard2nd3kyz))));
+
+ CCTK_REAL_VEC Ro331 =
+ kadd(JacPDstandard2nd3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard2nd1kzz))));
+
+ CCTK_REAL_VEC Ro332 =
+ kadd(JacPDstandard2nd3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard2nd2kzz))));
+
+ CCTK_REAL_VEC Ro333 = ToReal(0);
+
+ CCTK_REAL_VEC Rojo11 =
+ kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))))))))))));
+
+ CCTK_REAL_VEC Rojo12 =
+ kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))))));
+
+ CCTK_REAL_VEC Rojo13 =
+ kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233)))))))))));
+
+ CCTK_REAL_VEC Rojo21 =
+ kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)))))))))));
+
+ CCTK_REAL_VEC Rojo22 =
+ kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo23 =
+ kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo31 =
+ kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312)))))))))));
+
+ CCTK_REAL_VEC Rojo32 =
+ kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo33 =
+ kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Psi4rL =
+ kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi4iL =
+ knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
+ break;
+ }
+ vec_store_nta(Psi4i[index],Psi4iL);
+ vec_store_nta(Psi4r[index],Psi4rL);
+ }
+ LC_ENDLOOP3VEC (psi4_calc_2nd);
+}
+
+extern "C" void psi4_calc_2nd(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering psi4_calc_2nd_Body");
+ }
+
+ if (cctk_iteration % psi4_calc_2nd_calc_every != psi4_calc_2nd_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "psi4_calc_2nd", 5, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_2nd", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_2nd", 1, 1, 1);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_2nd", 1, 1, 1);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_2nd", 1, 1, 1);
+ break;
+ }
+
+ GenericFD_LoopOverInterior(cctkGH, &psi4_calc_2nd_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving psi4_calc_2nd_Body");
+ }
+}
diff --git a/src/psi4_calc_4th.cc b/src/psi4_calc_4th.cc
new file mode 100644
index 0000000..1a82586
--- /dev/null
+++ b/src/psi4_calc_4th.cc
@@ -0,0 +1,1895 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+
+extern "C" void psi4_calc_4th_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
+ return;
+}
+
+static void psi4_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ ptrdiff_t const di = 1;
+ ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
+ ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
+ ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
+
+ /* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3VEC (psi4_calc_4th,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
+ {
+ ptrdiff_t const index = di*i + dj*j + dk*k;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+ CCTK_REAL_VEC xL = vec_load(x[index]);
+ CCTK_REAL_VEC yL = vec_load(y[index]);
+ CCTK_REAL_VEC zL = vec_load(z[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL_VEC PDstandard4th1gxx;
+ CCTK_REAL_VEC PDstandard4th2gxx;
+ CCTK_REAL_VEC PDstandard4th3gxx;
+ CCTK_REAL_VEC PDstandard4th11gxx;
+ CCTK_REAL_VEC PDstandard4th22gxx;
+ CCTK_REAL_VEC PDstandard4th33gxx;
+ CCTK_REAL_VEC PDstandard4th12gxx;
+ CCTK_REAL_VEC PDstandard4th13gxx;
+ CCTK_REAL_VEC PDstandard4th23gxx;
+ CCTK_REAL_VEC PDstandard4th1gxy;
+ CCTK_REAL_VEC PDstandard4th2gxy;
+ CCTK_REAL_VEC PDstandard4th3gxy;
+ CCTK_REAL_VEC PDstandard4th11gxy;
+ CCTK_REAL_VEC PDstandard4th22gxy;
+ CCTK_REAL_VEC PDstandard4th33gxy;
+ CCTK_REAL_VEC PDstandard4th12gxy;
+ CCTK_REAL_VEC PDstandard4th13gxy;
+ CCTK_REAL_VEC PDstandard4th23gxy;
+ CCTK_REAL_VEC PDstandard4th1gxz;
+ CCTK_REAL_VEC PDstandard4th2gxz;
+ CCTK_REAL_VEC PDstandard4th3gxz;
+ CCTK_REAL_VEC PDstandard4th11gxz;
+ CCTK_REAL_VEC PDstandard4th22gxz;
+ CCTK_REAL_VEC PDstandard4th33gxz;
+ CCTK_REAL_VEC PDstandard4th12gxz;
+ CCTK_REAL_VEC PDstandard4th13gxz;
+ CCTK_REAL_VEC PDstandard4th23gxz;
+ CCTK_REAL_VEC PDstandard4th1gyy;
+ CCTK_REAL_VEC PDstandard4th2gyy;
+ CCTK_REAL_VEC PDstandard4th3gyy;
+ CCTK_REAL_VEC PDstandard4th11gyy;
+ CCTK_REAL_VEC PDstandard4th22gyy;
+ CCTK_REAL_VEC PDstandard4th33gyy;
+ CCTK_REAL_VEC PDstandard4th12gyy;
+ CCTK_REAL_VEC PDstandard4th13gyy;
+ CCTK_REAL_VEC PDstandard4th23gyy;
+ CCTK_REAL_VEC PDstandard4th1gyz;
+ CCTK_REAL_VEC PDstandard4th2gyz;
+ CCTK_REAL_VEC PDstandard4th3gyz;
+ CCTK_REAL_VEC PDstandard4th11gyz;
+ CCTK_REAL_VEC PDstandard4th22gyz;
+ CCTK_REAL_VEC PDstandard4th33gyz;
+ CCTK_REAL_VEC PDstandard4th12gyz;
+ CCTK_REAL_VEC PDstandard4th13gyz;
+ CCTK_REAL_VEC PDstandard4th23gyz;
+ CCTK_REAL_VEC PDstandard4th1gzz;
+ CCTK_REAL_VEC PDstandard4th2gzz;
+ CCTK_REAL_VEC PDstandard4th3gzz;
+ CCTK_REAL_VEC PDstandard4th11gzz;
+ CCTK_REAL_VEC PDstandard4th22gzz;
+ CCTK_REAL_VEC PDstandard4th33gzz;
+ CCTK_REAL_VEC PDstandard4th12gzz;
+ CCTK_REAL_VEC PDstandard4th13gzz;
+ CCTK_REAL_VEC PDstandard4th23gzz;
+ CCTK_REAL_VEC PDstandard4th1kxx;
+ CCTK_REAL_VEC PDstandard4th2kxx;
+ CCTK_REAL_VEC PDstandard4th3kxx;
+ CCTK_REAL_VEC PDstandard4th1kxy;
+ CCTK_REAL_VEC PDstandard4th2kxy;
+ CCTK_REAL_VEC PDstandard4th3kxy;
+ CCTK_REAL_VEC PDstandard4th1kxz;
+ CCTK_REAL_VEC PDstandard4th2kxz;
+ CCTK_REAL_VEC PDstandard4th3kxz;
+ CCTK_REAL_VEC PDstandard4th1kyy;
+ CCTK_REAL_VEC PDstandard4th2kyy;
+ CCTK_REAL_VEC PDstandard4th3kyy;
+ CCTK_REAL_VEC PDstandard4th1kyz;
+ CCTK_REAL_VEC PDstandard4th2kyz;
+ CCTK_REAL_VEC PDstandard4th3kyz;
+ CCTK_REAL_VEC PDstandard4th1kzz;
+ CCTK_REAL_VEC PDstandard4th2kzz;
+ CCTK_REAL_VEC PDstandard4th3kzz;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
+ break;
+
+ case 4:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
+ break;
+
+ case 6:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
+ break;
+
+ case 8:
+ PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
+ PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
+ PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
+ PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
+ PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
+ PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
+ PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
+ PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
+ PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
+ PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
+ PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
+ PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
+ PDstandard4th23gxy = PDstandard4th23(&gxy[index]);
+ PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
+ PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
+ PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
+ PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
+ PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
+ PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
+ PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
+ PDstandard4th1gyy = PDstandard4th1(&gyy[index]);
+ PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
+ PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
+ PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
+ PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
+ PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
+ PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
+ PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
+ PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
+ PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
+ PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
+ PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
+ PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
+ PDstandard4th1gzz = PDstandard4th1(&gzz[index]);
+ PDstandard4th2gzz = PDstandard4th2(&gzz[index]);
+ PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
+ PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
+ PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
+ PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
+ PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
+ PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
+ PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
+ PDstandard4th2kxy = PDstandard4th2(&kxy[index]);
+ PDstandard4th3kxy = PDstandard4th3(&kxy[index]);
+ PDstandard4th1kxz = PDstandard4th1(&kxz[index]);
+ PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
+ PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
+ PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
+ PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
+ PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
+ PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
+ PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
+ PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
+ PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
+ break;
+ }
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandard4th11gxy;
+ CCTK_REAL_VEC JacPDstandard4th11gxz;
+ CCTK_REAL_VEC JacPDstandard4th11gyy;
+ CCTK_REAL_VEC JacPDstandard4th11gyz;
+ CCTK_REAL_VEC JacPDstandard4th11gzz;
+ CCTK_REAL_VEC JacPDstandard4th12gxx;
+ CCTK_REAL_VEC JacPDstandard4th12gxy;
+ CCTK_REAL_VEC JacPDstandard4th12gxz;
+ CCTK_REAL_VEC JacPDstandard4th12gyy;
+ CCTK_REAL_VEC JacPDstandard4th12gyz;
+ CCTK_REAL_VEC JacPDstandard4th12gzz;
+ CCTK_REAL_VEC JacPDstandard4th13gxx;
+ CCTK_REAL_VEC JacPDstandard4th13gxy;
+ CCTK_REAL_VEC JacPDstandard4th13gxz;
+ CCTK_REAL_VEC JacPDstandard4th13gyy;
+ CCTK_REAL_VEC JacPDstandard4th13gyz;
+ CCTK_REAL_VEC JacPDstandard4th13gzz;
+ CCTK_REAL_VEC JacPDstandard4th1gxx;
+ CCTK_REAL_VEC JacPDstandard4th1gxy;
+ CCTK_REAL_VEC JacPDstandard4th1gxz;
+ CCTK_REAL_VEC JacPDstandard4th1gyy;
+ CCTK_REAL_VEC JacPDstandard4th1gyz;
+ CCTK_REAL_VEC JacPDstandard4th1gzz;
+ CCTK_REAL_VEC JacPDstandard4th1kxy;
+ CCTK_REAL_VEC JacPDstandard4th1kxz;
+ CCTK_REAL_VEC JacPDstandard4th1kyy;
+ CCTK_REAL_VEC JacPDstandard4th1kyz;
+ CCTK_REAL_VEC JacPDstandard4th1kzz;
+ CCTK_REAL_VEC JacPDstandard4th21gxx;
+ CCTK_REAL_VEC JacPDstandard4th21gxy;
+ CCTK_REAL_VEC JacPDstandard4th21gxz;
+ CCTK_REAL_VEC JacPDstandard4th21gyy;
+ CCTK_REAL_VEC JacPDstandard4th21gyz;
+ CCTK_REAL_VEC JacPDstandard4th21gzz;
+ CCTK_REAL_VEC JacPDstandard4th22gxx;
+ CCTK_REAL_VEC JacPDstandard4th22gxy;
+ CCTK_REAL_VEC JacPDstandard4th22gxz;
+ CCTK_REAL_VEC JacPDstandard4th22gyz;
+ CCTK_REAL_VEC JacPDstandard4th22gzz;
+ CCTK_REAL_VEC JacPDstandard4th23gxx;
+ CCTK_REAL_VEC JacPDstandard4th23gxy;
+ CCTK_REAL_VEC JacPDstandard4th23gxz;
+ CCTK_REAL_VEC JacPDstandard4th23gyy;
+ CCTK_REAL_VEC JacPDstandard4th23gyz;
+ CCTK_REAL_VEC JacPDstandard4th23gzz;
+ CCTK_REAL_VEC JacPDstandard4th2gxx;
+ CCTK_REAL_VEC JacPDstandard4th2gxy;
+ CCTK_REAL_VEC JacPDstandard4th2gxz;
+ CCTK_REAL_VEC JacPDstandard4th2gyy;
+ CCTK_REAL_VEC JacPDstandard4th2gyz;
+ CCTK_REAL_VEC JacPDstandard4th2gzz;
+ CCTK_REAL_VEC JacPDstandard4th2kxx;
+ CCTK_REAL_VEC JacPDstandard4th2kxy;
+ CCTK_REAL_VEC JacPDstandard4th2kxz;
+ CCTK_REAL_VEC JacPDstandard4th2kyz;
+ CCTK_REAL_VEC JacPDstandard4th2kzz;
+ CCTK_REAL_VEC JacPDstandard4th31gxx;
+ CCTK_REAL_VEC JacPDstandard4th31gxy;
+ CCTK_REAL_VEC JacPDstandard4th31gxz;
+ CCTK_REAL_VEC JacPDstandard4th31gyy;
+ CCTK_REAL_VEC JacPDstandard4th31gyz;
+ CCTK_REAL_VEC JacPDstandard4th31gzz;
+ CCTK_REAL_VEC JacPDstandard4th32gxx;
+ CCTK_REAL_VEC JacPDstandard4th32gxy;
+ CCTK_REAL_VEC JacPDstandard4th32gxz;
+ CCTK_REAL_VEC JacPDstandard4th32gyy;
+ CCTK_REAL_VEC JacPDstandard4th32gyz;
+ CCTK_REAL_VEC JacPDstandard4th32gzz;
+ CCTK_REAL_VEC JacPDstandard4th33gxx;
+ CCTK_REAL_VEC JacPDstandard4th33gxy;
+ CCTK_REAL_VEC JacPDstandard4th33gxz;
+ CCTK_REAL_VEC JacPDstandard4th33gyy;
+ CCTK_REAL_VEC JacPDstandard4th33gyz;
+ CCTK_REAL_VEC JacPDstandard4th3gxx;
+ CCTK_REAL_VEC JacPDstandard4th3gxy;
+ CCTK_REAL_VEC JacPDstandard4th3gxz;
+ CCTK_REAL_VEC JacPDstandard4th3gyy;
+ CCTK_REAL_VEC JacPDstandard4th3gyz;
+ CCTK_REAL_VEC JacPDstandard4th3gzz;
+ CCTK_REAL_VEC JacPDstandard4th3kxx;
+ CCTK_REAL_VEC JacPDstandard4th3kxy;
+ CCTK_REAL_VEC JacPDstandard4th3kxz;
+ CCTK_REAL_VEC JacPDstandard4th3kyy;
+ CCTK_REAL_VEC JacPDstandard4th3kyz;
+
+ if (use_jacobian)
+ {
+ JacPDstandard4th1gxx =
+ kmadd(J11L,PDstandard4th1gxx,kmadd(J21L,PDstandard4th2gxx,kmul(J31L,PDstandard4th3gxx)));
+
+ JacPDstandard4th1gxy =
+ kmadd(J11L,PDstandard4th1gxy,kmadd(J21L,PDstandard4th2gxy,kmul(J31L,PDstandard4th3gxy)));
+
+ JacPDstandard4th1gxz =
+ kmadd(J11L,PDstandard4th1gxz,kmadd(J21L,PDstandard4th2gxz,kmul(J31L,PDstandard4th3gxz)));
+
+ JacPDstandard4th1gyy =
+ kmadd(J11L,PDstandard4th1gyy,kmadd(J21L,PDstandard4th2gyy,kmul(J31L,PDstandard4th3gyy)));
+
+ JacPDstandard4th1gyz =
+ kmadd(J11L,PDstandard4th1gyz,kmadd(J21L,PDstandard4th2gyz,kmul(J31L,PDstandard4th3gyz)));
+
+ JacPDstandard4th1gzz =
+ kmadd(J11L,PDstandard4th1gzz,kmadd(J21L,PDstandard4th2gzz,kmul(J31L,PDstandard4th3gzz)));
+
+ JacPDstandard4th1kxy =
+ kmadd(J11L,PDstandard4th1kxy,kmadd(J21L,PDstandard4th2kxy,kmul(J31L,PDstandard4th3kxy)));
+
+ JacPDstandard4th1kxz =
+ kmadd(J11L,PDstandard4th1kxz,kmadd(J21L,PDstandard4th2kxz,kmul(J31L,PDstandard4th3kxz)));
+
+ JacPDstandard4th1kyy =
+ kmadd(J11L,PDstandard4th1kyy,kmadd(J21L,PDstandard4th2kyy,kmul(J31L,PDstandard4th3kyy)));
+
+ JacPDstandard4th1kyz =
+ kmadd(J11L,PDstandard4th1kyz,kmadd(J21L,PDstandard4th2kyz,kmul(J31L,PDstandard4th3kyz)));
+
+ JacPDstandard4th1kzz =
+ kmadd(J11L,PDstandard4th1kzz,kmadd(J21L,PDstandard4th2kzz,kmul(J31L,PDstandard4th3kzz)));
+
+ JacPDstandard4th2gxx =
+ kmadd(J12L,PDstandard4th1gxx,kmadd(J22L,PDstandard4th2gxx,kmul(J32L,PDstandard4th3gxx)));
+
+ JacPDstandard4th2gxy =
+ kmadd(J12L,PDstandard4th1gxy,kmadd(J22L,PDstandard4th2gxy,kmul(J32L,PDstandard4th3gxy)));
+
+ JacPDstandard4th2gxz =
+ kmadd(J12L,PDstandard4th1gxz,kmadd(J22L,PDstandard4th2gxz,kmul(J32L,PDstandard4th3gxz)));
+
+ JacPDstandard4th2gyy =
+ kmadd(J12L,PDstandard4th1gyy,kmadd(J22L,PDstandard4th2gyy,kmul(J32L,PDstandard4th3gyy)));
+
+ JacPDstandard4th2gyz =
+ kmadd(J12L,PDstandard4th1gyz,kmadd(J22L,PDstandard4th2gyz,kmul(J32L,PDstandard4th3gyz)));
+
+ JacPDstandard4th2gzz =
+ kmadd(J12L,PDstandard4th1gzz,kmadd(J22L,PDstandard4th2gzz,kmul(J32L,PDstandard4th3gzz)));
+
+ JacPDstandard4th2kxx =
+ kmadd(J12L,PDstandard4th1kxx,kmadd(J22L,PDstandard4th2kxx,kmul(J32L,PDstandard4th3kxx)));
+
+ JacPDstandard4th2kxy =
+ kmadd(J12L,PDstandard4th1kxy,kmadd(J22L,PDstandard4th2kxy,kmul(J32L,PDstandard4th3kxy)));
+
+ JacPDstandard4th2kxz =
+ kmadd(J12L,PDstandard4th1kxz,kmadd(J22L,PDstandard4th2kxz,kmul(J32L,PDstandard4th3kxz)));
+
+ JacPDstandard4th2kyz =
+ kmadd(J12L,PDstandard4th1kyz,kmadd(J22L,PDstandard4th2kyz,kmul(J32L,PDstandard4th3kyz)));
+
+ JacPDstandard4th2kzz =
+ kmadd(J12L,PDstandard4th1kzz,kmadd(J22L,PDstandard4th2kzz,kmul(J32L,PDstandard4th3kzz)));
+
+ JacPDstandard4th3gxx =
+ kmadd(J13L,PDstandard4th1gxx,kmadd(J23L,PDstandard4th2gxx,kmul(J33L,PDstandard4th3gxx)));
+
+ JacPDstandard4th3gxy =
+ kmadd(J13L,PDstandard4th1gxy,kmadd(J23L,PDstandard4th2gxy,kmul(J33L,PDstandard4th3gxy)));
+
+ JacPDstandard4th3gxz =
+ kmadd(J13L,PDstandard4th1gxz,kmadd(J23L,PDstandard4th2gxz,kmul(J33L,PDstandard4th3gxz)));
+
+ JacPDstandard4th3gyy =
+ kmadd(J13L,PDstandard4th1gyy,kmadd(J23L,PDstandard4th2gyy,kmul(J33L,PDstandard4th3gyy)));
+
+ JacPDstandard4th3gyz =
+ kmadd(J13L,PDstandard4th1gyz,kmadd(J23L,PDstandard4th2gyz,kmul(J33L,PDstandard4th3gyz)));
+
+ JacPDstandard4th3gzz =
+ kmadd(J13L,PDstandard4th1gzz,kmadd(J23L,PDstandard4th2gzz,kmul(J33L,PDstandard4th3gzz)));
+
+ JacPDstandard4th3kxx =
+ kmadd(J13L,PDstandard4th1kxx,kmadd(J23L,PDstandard4th2kxx,kmul(J33L,PDstandard4th3kxx)));
+
+ JacPDstandard4th3kxy =
+ kmadd(J13L,PDstandard4th1kxy,kmadd(J23L,PDstandard4th2kxy,kmul(J33L,PDstandard4th3kxy)));
+
+ JacPDstandard4th3kxz =
+ kmadd(J13L,PDstandard4th1kxz,kmadd(J23L,PDstandard4th2kxz,kmul(J33L,PDstandard4th3kxz)));
+
+ JacPDstandard4th3kyy =
+ kmadd(J13L,PDstandard4th1kyy,kmadd(J23L,PDstandard4th2kyy,kmul(J33L,PDstandard4th3kyy)));
+
+ JacPDstandard4th3kyz =
+ kmadd(J13L,PDstandard4th1kyz,kmadd(J23L,PDstandard4th2kyz,kmul(J33L,PDstandard4th3kyz)));
+
+ JacPDstandard4th11gxy =
+ kmadd(dJ111L,PDstandard4th1gxy,kmadd(dJ211L,PDstandard4th2gxy,kmadd(dJ311L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J11L),kmadd(PDstandard4th22gxy,SQR(J21L),kmadd(PDstandard4th33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy)),kmul(J21L,kmul(J31L,PDstandard4th23gxy))),ToReal(2))))))));
+
+ JacPDstandard4th11gxz =
+ kmadd(dJ111L,PDstandard4th1gxz,kmadd(dJ211L,PDstandard4th2gxz,kmadd(dJ311L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J11L),kmadd(PDstandard4th22gxz,SQR(J21L),kmadd(PDstandard4th33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz)),kmul(J21L,kmul(J31L,PDstandard4th23gxz))),ToReal(2))))))));
+
+ JacPDstandard4th11gyy =
+ kmadd(dJ111L,PDstandard4th1gyy,kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,SQR(J11L),kmadd(PDstandard4th22gyy,SQR(J21L),kmadd(PDstandard4th33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),ToReal(2))))))));
+
+ JacPDstandard4th11gyz =
+ kmadd(dJ111L,PDstandard4th1gyz,kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J11L),kmadd(PDstandard4th22gyz,SQR(J21L),kmadd(PDstandard4th33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),ToReal(2))))))));
+
+ JacPDstandard4th11gzz =
+ kmadd(dJ111L,PDstandard4th1gzz,kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,SQR(J11L),kmadd(PDstandard4th22gzz,SQR(J21L),kmadd(PDstandard4th33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),ToReal(2))))))));
+
+ JacPDstandard4th22gxx =
+ kmadd(dJ122L,PDstandard4th1gxx,kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,SQR(J12L),kmadd(PDstandard4th22gxx,SQR(J22L),kmadd(PDstandard4th33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),ToReal(2))))))));
+
+ JacPDstandard4th22gxy =
+ kmadd(dJ122L,PDstandard4th1gxy,kmadd(dJ222L,PDstandard4th2gxy,kmadd(dJ322L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J12L),kmadd(PDstandard4th22gxy,SQR(J22L),kmadd(PDstandard4th33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmul(J22L,kmul(J32L,PDstandard4th23gxy))),ToReal(2))))))));
+
+ JacPDstandard4th22gxz =
+ kmadd(dJ122L,PDstandard4th1gxz,kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J12L),kmadd(PDstandard4th22gxz,SQR(J22L),kmadd(PDstandard4th33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),ToReal(2))))))));
+
+ JacPDstandard4th22gyz =
+ kmadd(dJ122L,PDstandard4th1gyz,kmadd(dJ222L,PDstandard4th2gyz,kmadd(dJ322L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J12L),kmadd(PDstandard4th22gyz,SQR(J22L),kmadd(PDstandard4th33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmul(J22L,kmul(J32L,PDstandard4th23gyz))),ToReal(2))))))));
+
+ JacPDstandard4th22gzz =
+ kmadd(dJ122L,PDstandard4th1gzz,kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,SQR(J12L),kmadd(PDstandard4th22gzz,SQR(J22L),kmadd(PDstandard4th33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),ToReal(2))))))));
+
+ JacPDstandard4th33gxx =
+ kmadd(dJ133L,PDstandard4th1gxx,kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,SQR(J13L),kmadd(PDstandard4th22gxx,SQR(J23L),kmadd(PDstandard4th33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),ToReal(2))))))));
+
+ JacPDstandard4th33gxy =
+ kmadd(dJ133L,PDstandard4th1gxy,kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J13L),kmadd(PDstandard4th22gxy,SQR(J23L),kmadd(PDstandard4th33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),ToReal(2))))))));
+
+ JacPDstandard4th33gxz =
+ kmadd(dJ133L,PDstandard4th1gxz,kmadd(dJ233L,PDstandard4th2gxz,kmadd(dJ333L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J13L),kmadd(PDstandard4th22gxz,SQR(J23L),kmadd(PDstandard4th33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmul(J23L,kmul(J33L,PDstandard4th23gxz))),ToReal(2))))))));
+
+ JacPDstandard4th33gyy =
+ kmadd(dJ133L,PDstandard4th1gyy,kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,SQR(J13L),kmadd(PDstandard4th22gyy,SQR(J23L),kmadd(PDstandard4th33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),ToReal(2))))))));
+
+ JacPDstandard4th33gyz =
+ kmadd(dJ133L,PDstandard4th1gyz,kmadd(dJ233L,PDstandard4th2gyz,kmadd(dJ333L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J13L),kmadd(PDstandard4th22gyz,SQR(J23L),kmadd(PDstandard4th33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmul(J23L,kmul(J33L,PDstandard4th23gyz))),ToReal(2))))))));
+
+ JacPDstandard4th12gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmadd(dJ112L,PDstandard4th1gxx,kmadd(J22L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ212L,PDstandard4th2gxx,kmadd(J32L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ312L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th12gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th12gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmadd(dJ112L,PDstandard4th1gxz,kmadd(J22L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ212L,PDstandard4th2gxz,kmadd(J32L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ312L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th12gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy)),kmadd(dJ112L,PDstandard4th1gyy,kmadd(J22L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ212L,PDstandard4th2gyy,kmadd(J32L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ312L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th12gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmadd(dJ112L,PDstandard4th1gyz,kmadd(J22L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ212L,PDstandard4th2gyz,kmadd(J32L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ312L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th12gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmadd(dJ112L,PDstandard4th1gzz,kmadd(J22L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ212L,PDstandard4th2gzz,kmadd(J32L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ312L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th13gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ113L,PDstandard4th1gxx,kmadd(J23L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ213L,PDstandard4th2gxx,kmadd(J33L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ313L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th13gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ113L,PDstandard4th1gxy,kmadd(J23L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ213L,PDstandard4th2gxy,kmadd(J33L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ313L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th13gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ113L,PDstandard4th1gxz,kmadd(J23L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ213L,PDstandard4th2gxz,kmadd(J33L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ313L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th13gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ113L,PDstandard4th1gyy,kmadd(J23L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ213L,PDstandard4th2gyy,kmadd(J33L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ313L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th13gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ113L,PDstandard4th1gyz,kmadd(J23L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ213L,PDstandard4th2gyz,kmadd(J33L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ313L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th13gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ113L,PDstandard4th1gzz,kmadd(J23L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ213L,PDstandard4th2gzz,kmadd(J33L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ313L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th21gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmadd(dJ112L,PDstandard4th1gxx,kmadd(J22L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ212L,PDstandard4th2gxx,kmadd(J32L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ312L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th21gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th21gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmadd(dJ112L,PDstandard4th1gxz,kmadd(J22L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ212L,PDstandard4th2gxz,kmadd(J32L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ312L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th21gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy)),kmadd(dJ112L,PDstandard4th1gyy,kmadd(J22L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ212L,PDstandard4th2gyy,kmadd(J32L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ312L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th21gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmadd(dJ112L,PDstandard4th1gyz,kmadd(J22L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ212L,PDstandard4th2gyz,kmadd(J32L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ312L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th21gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmadd(dJ112L,PDstandard4th1gzz,kmadd(J22L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ212L,PDstandard4th2gzz,kmadd(J32L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ312L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th23gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxx,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ123L,PDstandard4th1gxx,kmadd(J23L,kmadd(J22L,PDstandard4th22gxx,kmul(J32L,PDstandard4th23gxx)),kmadd(dJ223L,PDstandard4th2gxx,kmadd(J33L,kmadd(J22L,PDstandard4th23gxx,kmul(J32L,PDstandard4th33gxx)),kmul(dJ323L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th23gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxy,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ123L,PDstandard4th1gxy,kmadd(J23L,kmadd(J22L,PDstandard4th22gxy,kmul(J32L,PDstandard4th23gxy)),kmadd(dJ223L,PDstandard4th2gxy,kmadd(J33L,kmadd(J22L,PDstandard4th23gxy,kmul(J32L,PDstandard4th33gxy)),kmul(dJ323L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th23gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxz,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ123L,PDstandard4th1gxz,kmadd(J23L,kmadd(J22L,PDstandard4th22gxz,kmul(J32L,PDstandard4th23gxz)),kmadd(dJ223L,PDstandard4th2gxz,kmadd(J33L,kmadd(J22L,PDstandard4th23gxz,kmul(J32L,PDstandard4th33gxz)),kmul(dJ323L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th23gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyy,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ123L,PDstandard4th1gyy,kmadd(J23L,kmadd(J22L,PDstandard4th22gyy,kmul(J32L,PDstandard4th23gyy)),kmadd(dJ223L,PDstandard4th2gyy,kmadd(J33L,kmadd(J22L,PDstandard4th23gyy,kmul(J32L,PDstandard4th33gyy)),kmul(dJ323L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th23gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyz,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ123L,PDstandard4th1gyz,kmadd(J23L,kmadd(J22L,PDstandard4th22gyz,kmul(J32L,PDstandard4th23gyz)),kmadd(dJ223L,PDstandard4th2gyz,kmadd(J33L,kmadd(J22L,PDstandard4th23gyz,kmul(J32L,PDstandard4th33gyz)),kmul(dJ323L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th23gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gzz,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ123L,PDstandard4th1gzz,kmadd(J23L,kmadd(J22L,PDstandard4th22gzz,kmul(J32L,PDstandard4th23gzz)),kmadd(dJ223L,PDstandard4th2gzz,kmadd(J33L,kmadd(J22L,PDstandard4th23gzz,kmul(J32L,PDstandard4th33gzz)),kmul(dJ323L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th31gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ113L,PDstandard4th1gxx,kmadd(J23L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ213L,PDstandard4th2gxx,kmadd(J33L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ313L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th31gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ113L,PDstandard4th1gxy,kmadd(J23L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ213L,PDstandard4th2gxy,kmadd(J33L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ313L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th31gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ113L,PDstandard4th1gxz,kmadd(J23L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ213L,PDstandard4th2gxz,kmadd(J33L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ313L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th31gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ113L,PDstandard4th1gyy,kmadd(J23L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ213L,PDstandard4th2gyy,kmadd(J33L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ313L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th31gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ113L,PDstandard4th1gyz,kmadd(J23L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ213L,PDstandard4th2gyz,kmadd(J33L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ313L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th31gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ113L,PDstandard4th1gzz,kmadd(J23L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ213L,PDstandard4th2gzz,kmadd(J33L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ313L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th32gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxx,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ123L,PDstandard4th1gxx,kmadd(J23L,kmadd(J22L,PDstandard4th22gxx,kmul(J32L,PDstandard4th23gxx)),kmadd(dJ223L,PDstandard4th2gxx,kmadd(J33L,kmadd(J22L,PDstandard4th23gxx,kmul(J32L,PDstandard4th33gxx)),kmul(dJ323L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th32gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxy,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ123L,PDstandard4th1gxy,kmadd(J23L,kmadd(J22L,PDstandard4th22gxy,kmul(J32L,PDstandard4th23gxy)),kmadd(dJ223L,PDstandard4th2gxy,kmadd(J33L,kmadd(J22L,PDstandard4th23gxy,kmul(J32L,PDstandard4th33gxy)),kmul(dJ323L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th32gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxz,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ123L,PDstandard4th1gxz,kmadd(J23L,kmadd(J22L,PDstandard4th22gxz,kmul(J32L,PDstandard4th23gxz)),kmadd(dJ223L,PDstandard4th2gxz,kmadd(J33L,kmadd(J22L,PDstandard4th23gxz,kmul(J32L,PDstandard4th33gxz)),kmul(dJ323L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th32gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyy,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ123L,PDstandard4th1gyy,kmadd(J23L,kmadd(J22L,PDstandard4th22gyy,kmul(J32L,PDstandard4th23gyy)),kmadd(dJ223L,PDstandard4th2gyy,kmadd(J33L,kmadd(J22L,PDstandard4th23gyy,kmul(J32L,PDstandard4th33gyy)),kmul(dJ323L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th32gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyz,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ123L,PDstandard4th1gyz,kmadd(J23L,kmadd(J22L,PDstandard4th22gyz,kmul(J32L,PDstandard4th23gyz)),kmadd(dJ223L,PDstandard4th2gyz,kmadd(J33L,kmadd(J22L,PDstandard4th23gyz,kmul(J32L,PDstandard4th33gyz)),kmul(dJ323L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th32gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gzz,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ123L,PDstandard4th1gzz,kmadd(J23L,kmadd(J22L,PDstandard4th22gzz,kmul(J32L,PDstandard4th23gzz)),kmadd(dJ223L,PDstandard4th2gzz,kmadd(J33L,kmadd(J22L,PDstandard4th23gzz,kmul(J32L,PDstandard4th33gzz)),kmul(dJ323L,PDstandard4th3gzz)))))));
+ }
+ else
+ {
+ JacPDstandard4th1gxx = PDstandard4th1gxx;
+
+ JacPDstandard4th1gxy = PDstandard4th1gxy;
+
+ JacPDstandard4th1gxz = PDstandard4th1gxz;
+
+ JacPDstandard4th1gyy = PDstandard4th1gyy;
+
+ JacPDstandard4th1gyz = PDstandard4th1gyz;
+
+ JacPDstandard4th1gzz = PDstandard4th1gzz;
+
+ JacPDstandard4th1kxy = PDstandard4th1kxy;
+
+ JacPDstandard4th1kxz = PDstandard4th1kxz;
+
+ JacPDstandard4th1kyy = PDstandard4th1kyy;
+
+ JacPDstandard4th1kyz = PDstandard4th1kyz;
+
+ JacPDstandard4th1kzz = PDstandard4th1kzz;
+
+ JacPDstandard4th2gxx = PDstandard4th2gxx;
+
+ JacPDstandard4th2gxy = PDstandard4th2gxy;
+
+ JacPDstandard4th2gxz = PDstandard4th2gxz;
+
+ JacPDstandard4th2gyy = PDstandard4th2gyy;
+
+ JacPDstandard4th2gyz = PDstandard4th2gyz;
+
+ JacPDstandard4th2gzz = PDstandard4th2gzz;
+
+ JacPDstandard4th2kxx = PDstandard4th2kxx;
+
+ JacPDstandard4th2kxy = PDstandard4th2kxy;
+
+ JacPDstandard4th2kxz = PDstandard4th2kxz;
+
+ JacPDstandard4th2kyz = PDstandard4th2kyz;
+
+ JacPDstandard4th2kzz = PDstandard4th2kzz;
+
+ JacPDstandard4th3gxx = PDstandard4th3gxx;
+
+ JacPDstandard4th3gxy = PDstandard4th3gxy;
+
+ JacPDstandard4th3gxz = PDstandard4th3gxz;
+
+ JacPDstandard4th3gyy = PDstandard4th3gyy;
+
+ JacPDstandard4th3gyz = PDstandard4th3gyz;
+
+ JacPDstandard4th3gzz = PDstandard4th3gzz;
+
+ JacPDstandard4th3kxx = PDstandard4th3kxx;
+
+ JacPDstandard4th3kxy = PDstandard4th3kxy;
+
+ JacPDstandard4th3kxz = PDstandard4th3kxz;
+
+ JacPDstandard4th3kyy = PDstandard4th3kyy;
+
+ JacPDstandard4th3kyz = PDstandard4th3kyz;
+
+ JacPDstandard4th11gxy = PDstandard4th11gxy;
+
+ JacPDstandard4th11gxz = PDstandard4th11gxz;
+
+ JacPDstandard4th11gyy = PDstandard4th11gyy;
+
+ JacPDstandard4th11gyz = PDstandard4th11gyz;
+
+ JacPDstandard4th11gzz = PDstandard4th11gzz;
+
+ JacPDstandard4th22gxx = PDstandard4th22gxx;
+
+ JacPDstandard4th22gxy = PDstandard4th22gxy;
+
+ JacPDstandard4th22gxz = PDstandard4th22gxz;
+
+ JacPDstandard4th22gyz = PDstandard4th22gyz;
+
+ JacPDstandard4th22gzz = PDstandard4th22gzz;
+
+ JacPDstandard4th33gxx = PDstandard4th33gxx;
+
+ JacPDstandard4th33gxy = PDstandard4th33gxy;
+
+ JacPDstandard4th33gxz = PDstandard4th33gxz;
+
+ JacPDstandard4th33gyy = PDstandard4th33gyy;
+
+ JacPDstandard4th33gyz = PDstandard4th33gyz;
+
+ JacPDstandard4th12gxx = PDstandard4th12gxx;
+
+ JacPDstandard4th12gxy = PDstandard4th12gxy;
+
+ JacPDstandard4th12gxz = PDstandard4th12gxz;
+
+ JacPDstandard4th12gyy = PDstandard4th12gyy;
+
+ JacPDstandard4th12gyz = PDstandard4th12gyz;
+
+ JacPDstandard4th12gzz = PDstandard4th12gzz;
+
+ JacPDstandard4th13gxx = PDstandard4th13gxx;
+
+ JacPDstandard4th13gxy = PDstandard4th13gxy;
+
+ JacPDstandard4th13gxz = PDstandard4th13gxz;
+
+ JacPDstandard4th13gyy = PDstandard4th13gyy;
+
+ JacPDstandard4th13gyz = PDstandard4th13gyz;
+
+ JacPDstandard4th13gzz = PDstandard4th13gzz;
+
+ JacPDstandard4th21gxx = PDstandard4th12gxx;
+
+ JacPDstandard4th21gxy = PDstandard4th12gxy;
+
+ JacPDstandard4th21gxz = PDstandard4th12gxz;
+
+ JacPDstandard4th21gyy = PDstandard4th12gyy;
+
+ JacPDstandard4th21gyz = PDstandard4th12gyz;
+
+ JacPDstandard4th21gzz = PDstandard4th12gzz;
+
+ JacPDstandard4th23gxx = PDstandard4th23gxx;
+
+ JacPDstandard4th23gxy = PDstandard4th23gxy;
+
+ JacPDstandard4th23gxz = PDstandard4th23gxz;
+
+ JacPDstandard4th23gyy = PDstandard4th23gyy;
+
+ JacPDstandard4th23gyz = PDstandard4th23gyz;
+
+ JacPDstandard4th23gzz = PDstandard4th23gzz;
+
+ JacPDstandard4th31gxx = PDstandard4th13gxx;
+
+ JacPDstandard4th31gxy = PDstandard4th13gxy;
+
+ JacPDstandard4th31gxz = PDstandard4th13gxz;
+
+ JacPDstandard4th31gyy = PDstandard4th13gyy;
+
+ JacPDstandard4th31gyz = PDstandard4th13gyz;
+
+ JacPDstandard4th31gzz = PDstandard4th13gzz;
+
+ JacPDstandard4th32gxx = PDstandard4th23gxx;
+
+ JacPDstandard4th32gxy = PDstandard4th23gxy;
+
+ JacPDstandard4th32gxz = PDstandard4th23gxz;
+
+ JacPDstandard4th32gyy = PDstandard4th23gyy;
+
+ JacPDstandard4th32gyz = PDstandard4th23gyz;
+
+ JacPDstandard4th32gzz = PDstandard4th23gzz;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+
+ CCTK_REAL_VEC invdetg = INV(detg);
+
+ CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL)));
+
+ CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL)));
+
+ CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL)));
+
+ CCTK_REAL_VEC gamma111 =
+ kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard4th1gxx,knmsub(gInv12,JacPDstandard4th2gxx,kmsub(kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv13,JacPDstandard4th3gxx)))));
+
+ CCTK_REAL_VEC gamma211 =
+ kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard4th1gxx,knmsub(gInv22,JacPDstandard4th2gxx,kmsub(kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv23,JacPDstandard4th3gxx)))));
+
+ CCTK_REAL_VEC gamma311 =
+ kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard4th1gxx,knmsub(gInv32,JacPDstandard4th2gxx,kmsub(kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv33,JacPDstandard4th3gxx)))));
+
+ CCTK_REAL_VEC gamma121 =
+ kmul(kmadd(gInv12,JacPDstandard4th1gyy,kmadd(gInv11,JacPDstandard4th2gxx,kmul(gInv13,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma221 =
+ kmul(kmadd(gInv22,JacPDstandard4th1gyy,kmadd(gInv21,JacPDstandard4th2gxx,kmul(gInv23,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma321 =
+ kmul(kmadd(gInv32,JacPDstandard4th1gyy,kmadd(gInv31,JacPDstandard4th2gxx,kmul(gInv33,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma131 =
+ kmul(kmadd(gInv13,JacPDstandard4th1gzz,kmadd(gInv11,JacPDstandard4th3gxx,kmul(gInv12,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma231 =
+ kmul(kmadd(gInv23,JacPDstandard4th1gzz,kmadd(gInv21,JacPDstandard4th3gxx,kmul(gInv22,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma331 =
+ kmul(kmadd(gInv33,JacPDstandard4th1gzz,kmadd(gInv31,JacPDstandard4th3gxx,kmul(gInv32,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma122 =
+ kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard4th2gyy,kmadd(gInv11,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv13,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+
+ CCTK_REAL_VEC gamma222 =
+ kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard4th2gyy,kmadd(gInv21,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv23,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+
+ CCTK_REAL_VEC gamma322 =
+ kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard4th2gyy,kmadd(gInv31,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv33,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+
+ CCTK_REAL_VEC gamma132 =
+ kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv12,JacPDstandard4th3gyy,kmul(gInv11,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma232 =
+ kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv22,JacPDstandard4th3gyy,kmul(gInv21,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma332 =
+ kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv32,JacPDstandard4th3gyy,kmul(gInv31,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma133 =
+ kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard4th3gzz,kmadd(gInv11,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv12,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+
+ CCTK_REAL_VEC gamma233 =
+ kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard4th3gzz,kmadd(gInv21,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv22,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+
+ CCTK_REAL_VEC gamma333 =
+ kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard4th3gzz,kmadd(gInv31,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv32,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+
+ CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig));
+
+ CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig));
+
+ CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig));
+
+ CCTK_REAL_VEC va1 = kneg(ymoved);
+
+ CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC va3 = ToReal(0);
+
+ CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC vb2 = ymoved;
+
+ CCTK_REAL_VEC vb3 = zmoved;
+
+ CCTK_REAL_VEC vc1 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+
+ CCTK_REAL_VEC vc2 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+
+ CCTK_REAL_VEC vc3 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+
+ CCTK_REAL_VEC wa1 = va1;
+
+ CCTK_REAL_VEC wa2 = va2;
+
+ CCTK_REAL_VEC wa3 = va3;
+
+ CCTK_REAL_VEC omega11 =
+ kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC omega12 =
+ kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
+
+ CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1);
+
+ CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2);
+
+ CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3);
+
+ CCTK_REAL_VEC omega22 =
+ kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC omega13 =
+ kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
+
+ CCTK_REAL_VEC omega23 =
+ kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
+
+ CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+
+ CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+
+ CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+
+ CCTK_REAL_VEC omega33 =
+ kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524);
+
+ CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2));
+
+ CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2));
+
+ CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2));
+
+ CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2);
+
+ CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2);
+
+ CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2);
+
+ CCTK_REAL_VEC im1 = kmul(ea1,isqrt2);
+
+ CCTK_REAL_VEC im2 = kmul(ea2,isqrt2);
+
+ CCTK_REAL_VEC im3 = kmul(ea3,isqrt2);
+
+ CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2);
+
+ CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2);
+
+ CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2);
+
+ CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2));
+
+ CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2));
+
+ CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2));
+
+ CCTK_REAL_VEC nn = isqrt2;
+
+ CCTK_REAL_VEC R1111 = ToReal(0);
+
+ CCTK_REAL_VEC R1112 =
+ kmul(ksub(JacPDstandard4th21gxx,JacPDstandard4th12gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1113 =
+ kmul(ksub(JacPDstandard4th31gxx,JacPDstandard4th13gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1121 =
+ kmul(ksub(JacPDstandard4th21gxx,JacPDstandard4th12gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1122 =
+ ksub(JacPDstandard4th21gxy,JacPDstandard4th12gxy);
+
+ CCTK_REAL_VEC R1123 =
+ kmul(kadd(JacPDstandard4th21gxz,ksub(JacPDstandard4th31gxy,kadd(JacPDstandard4th13gxy,JacPDstandard4th12gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1131 =
+ kmul(ksub(JacPDstandard4th31gxx,JacPDstandard4th13gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1132 =
+ kmul(kadd(JacPDstandard4th21gxz,ksub(JacPDstandard4th31gxy,kadd(JacPDstandard4th13gxy,JacPDstandard4th12gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1133 =
+ ksub(JacPDstandard4th31gxz,JacPDstandard4th13gxz);
+
+ CCTK_REAL_VEC R1211 =
+ kmul(ksub(JacPDstandard4th12gxx,JacPDstandard4th21gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1212 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard4th22gxx),JacPDstandard4th11gyy)))));
+
+ CCTK_REAL_VEC R1213 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxx),JacPDstandard4th11gyz))))));
+
+ CCTK_REAL_VEC R1221 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyy,kadd(JacPDstandard4th22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard4th21gxy),JacPDstandard4th12gxy))))),kmul(gxxL,SQR(gamma121)))));
+
+ CCTK_REAL_VEC R1222 =
+ kmul(ksub(JacPDstandard4th21gyy,JacPDstandard4th12gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R1223 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxy),JacPDstandard4th12gyz))))));
+
+ CCTK_REAL_VEC R1231 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th21gxz),JacPDstandard4th13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1232 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gyz,kadd(JacPDstandard4th32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th22gxz),JacPDstandard4th13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1233 =
+ kmul(kadd(JacPDstandard4th31gyz,ksub(JacPDstandard4th32gxz,kadd(JacPDstandard4th23gxz,JacPDstandard4th13gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1311 =
+ kmul(ksub(JacPDstandard4th13gxx,JacPDstandard4th31gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1312 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gxy,kadd(JacPDstandard4th21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxx),JacPDstandard4th11gyz))))));
+
+ CCTK_REAL_VEC R1313 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard4th33gxx),JacPDstandard4th11gzz)))));
+
+ CCTK_REAL_VEC R1321 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gxy),JacPDstandard4th12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1322 =
+ kmul(kadd(JacPDstandard4th21gyz,ksub(JacPDstandard4th23gxy,kadd(JacPDstandard4th32gxy,JacPDstandard4th12gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1323 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th12gzz))))));
+
+ CCTK_REAL_VEC R1331 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gzz,kadd(JacPDstandard4th33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gxz),JacPDstandard4th13gxz))))),kmul(gxxL,SQR(gamma131)))));
+
+ CCTK_REAL_VEC R1332 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gxz),JacPDstandard4th13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R1333 =
+ kmul(ksub(JacPDstandard4th31gzz,JacPDstandard4th13gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R2111 =
+ kmul(ksub(JacPDstandard4th12gxx,JacPDstandard4th21gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R2112 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyy,kadd(JacPDstandard4th22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard4th21gxy),JacPDstandard4th12gxy))))),kmul(gxxL,SQR(gamma121)))));
+
+ CCTK_REAL_VEC R2113 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th21gxz),JacPDstandard4th13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2121 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard4th22gxx),JacPDstandard4th11gyy)))));
+
+ CCTK_REAL_VEC R2122 =
+ kmul(ksub(JacPDstandard4th21gyy,JacPDstandard4th12gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2123 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gyz,kadd(JacPDstandard4th32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th22gxz),JacPDstandard4th13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2131 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxx),JacPDstandard4th11gyz))))));
+
+ CCTK_REAL_VEC R2132 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxy),JacPDstandard4th12gyz))))));
+
+ CCTK_REAL_VEC R2133 =
+ kmul(kadd(JacPDstandard4th31gyz,ksub(JacPDstandard4th32gxz,kadd(JacPDstandard4th23gxz,JacPDstandard4th13gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2211 =
+ ksub(JacPDstandard4th12gxy,JacPDstandard4th21gxy);
+
+ CCTK_REAL_VEC R2212 =
+ kmul(ksub(JacPDstandard4th12gyy,JacPDstandard4th21gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2213 =
+ kmul(kadd(JacPDstandard4th12gyz,ksub(JacPDstandard4th32gxy,kadd(JacPDstandard4th23gxy,JacPDstandard4th21gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2221 =
+ kmul(ksub(JacPDstandard4th12gyy,JacPDstandard4th21gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2222 = ToReal(0);
+
+ CCTK_REAL_VEC R2223 =
+ kmul(ksub(JacPDstandard4th32gyy,JacPDstandard4th23gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2231 =
+ kmul(kadd(JacPDstandard4th12gyz,ksub(JacPDstandard4th32gxy,kadd(JacPDstandard4th23gxy,JacPDstandard4th21gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2232 =
+ kmul(ksub(JacPDstandard4th32gyy,JacPDstandard4th23gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2233 =
+ ksub(JacPDstandard4th32gyz,JacPDstandard4th23gyz);
+
+ CCTK_REAL_VEC R2311 =
+ kmul(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th13gxy,kadd(JacPDstandard4th31gxy,JacPDstandard4th21gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2312 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyy,kadd(JacPDstandard4th22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxy),JacPDstandard4th21gyz))))));
+
+ CCTK_REAL_VEC R2313 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyz,kadd(JacPDstandard4th32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th21gzz))))));
+
+ CCTK_REAL_VEC R2321 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gyz,kadd(JacPDstandard4th23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gyy),JacPDstandard4th22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2322 =
+ kmul(ksub(JacPDstandard4th23gyy,JacPDstandard4th32gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2323 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard4th33gyy),JacPDstandard4th22gzz)))));
+
+ CCTK_REAL_VEC R2331 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gyz),JacPDstandard4th23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R2332 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th22gzz,kadd(JacPDstandard4th33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gyz),JacPDstandard4th23gyz))))),kmul(gxxL,SQR(gamma132)))));
+
+ CCTK_REAL_VEC R2333 =
+ kmul(ksub(JacPDstandard4th32gzz,JacPDstandard4th23gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3111 =
+ kmul(ksub(JacPDstandard4th13gxx,JacPDstandard4th31gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R3112 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gxy),JacPDstandard4th12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R3113 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gzz,kadd(JacPDstandard4th33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gxz),JacPDstandard4th13gxz))))),kmul(gxxL,SQR(gamma131)))));
+
+ CCTK_REAL_VEC R3121 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gxy,kadd(JacPDstandard4th21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxx),JacPDstandard4th11gyz))))));
+
+ CCTK_REAL_VEC R3122 =
+ kmul(kadd(JacPDstandard4th21gyz,ksub(JacPDstandard4th23gxy,kadd(JacPDstandard4th32gxy,JacPDstandard4th12gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3123 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gxz),JacPDstandard4th13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R3131 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard4th33gxx),JacPDstandard4th11gzz)))));
+
+ CCTK_REAL_VEC R3132 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th12gzz))))));
+
+ CCTK_REAL_VEC R3133 =
+ kmul(ksub(JacPDstandard4th31gzz,JacPDstandard4th13gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3211 =
+ kmul(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th13gxy,kadd(JacPDstandard4th31gxy,JacPDstandard4th21gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3212 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gyz,kadd(JacPDstandard4th23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gyy),JacPDstandard4th22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R3213 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gyz),JacPDstandard4th23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R3221 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyy,kadd(JacPDstandard4th22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxy),JacPDstandard4th21gyz))))));
+
+ CCTK_REAL_VEC R3222 =
+ kmul(ksub(JacPDstandard4th23gyy,JacPDstandard4th32gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R3223 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th22gzz,kadd(JacPDstandard4th33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gyz),JacPDstandard4th23gyz))))),kmul(gxxL,SQR(gamma132)))));
+
+ CCTK_REAL_VEC R3231 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyz,kadd(JacPDstandard4th32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th21gzz))))));
+
+ CCTK_REAL_VEC R3232 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard4th33gyy),JacPDstandard4th22gzz)))));
+
+ CCTK_REAL_VEC R3233 =
+ kmul(ksub(JacPDstandard4th32gzz,JacPDstandard4th23gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3311 =
+ ksub(JacPDstandard4th13gxz,JacPDstandard4th31gxz);
+
+ CCTK_REAL_VEC R3312 =
+ kmul(kadd(JacPDstandard4th13gyz,ksub(JacPDstandard4th23gxz,kadd(JacPDstandard4th32gxz,JacPDstandard4th31gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3313 =
+ kmul(ksub(JacPDstandard4th13gzz,JacPDstandard4th31gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3321 =
+ kmul(kadd(JacPDstandard4th13gyz,ksub(JacPDstandard4th23gxz,kadd(JacPDstandard4th32gxz,JacPDstandard4th31gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3322 =
+ ksub(JacPDstandard4th23gyz,JacPDstandard4th32gyz);
+
+ CCTK_REAL_VEC R3323 =
+ kmul(ksub(JacPDstandard4th23gzz,JacPDstandard4th32gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3331 =
+ kmul(ksub(JacPDstandard4th13gzz,JacPDstandard4th31gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3332 =
+ kmul(ksub(JacPDstandard4th23gzz,JacPDstandard4th32gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3333 = ToReal(0);
+
+ CCTK_REAL_VEC R4p1111 = R1111;
+
+ CCTK_REAL_VEC R4p1112 = R1112;
+
+ CCTK_REAL_VEC R4p1113 = R1113;
+
+ CCTK_REAL_VEC R4p1121 = R1121;
+
+ CCTK_REAL_VEC R4p1122 = R1122;
+
+ CCTK_REAL_VEC R4p1123 = R1123;
+
+ CCTK_REAL_VEC R4p1131 = R1131;
+
+ CCTK_REAL_VEC R4p1132 = R1132;
+
+ CCTK_REAL_VEC R4p1133 = R1133;
+
+ CCTK_REAL_VEC R4p1211 = R1211;
+
+ CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+
+ CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p1222 = R1222;
+
+ CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+
+ CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231));
+
+ CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232));
+
+ CCTK_REAL_VEC R4p1233 = R1233;
+
+ CCTK_REAL_VEC R4p1311 = R1311;
+
+ CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312));
+
+ CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321));
+
+ CCTK_REAL_VEC R4p1322 = R1322;
+
+ CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+
+ CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332));
+
+ CCTK_REAL_VEC R4p1333 = R1333;
+
+ CCTK_REAL_VEC R4p2111 = R2111;
+
+ CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113));
+
+ CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p2122 = R2122;
+
+ CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123));
+
+ CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131));
+
+ CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132));
+
+ CCTK_REAL_VEC R4p2133 = R2133;
+
+ CCTK_REAL_VEC R4p2211 = R2211;
+
+ CCTK_REAL_VEC R4p2212 = R2212;
+
+ CCTK_REAL_VEC R4p2213 = R2213;
+
+ CCTK_REAL_VEC R4p2221 = R2221;
+
+ CCTK_REAL_VEC R4p2222 = R2222;
+
+ CCTK_REAL_VEC R4p2223 = R2223;
+
+ CCTK_REAL_VEC R4p2231 = R2231;
+
+ CCTK_REAL_VEC R4p2232 = R2232;
+
+ CCTK_REAL_VEC R4p2233 = R2233;
+
+ CCTK_REAL_VEC R4p2311 = R2311;
+
+ CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312));
+
+ CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313));
+
+ CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321));
+
+ CCTK_REAL_VEC R4p2322 = R2322;
+
+ CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331));
+
+ CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p2333 = R2333;
+
+ CCTK_REAL_VEC R4p3111 = R3111;
+
+ CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112));
+
+ CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121));
+
+ CCTK_REAL_VEC R4p3122 = R3122;
+
+ CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123));
+
+ CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132));
+
+ CCTK_REAL_VEC R4p3133 = R3133;
+
+ CCTK_REAL_VEC R4p3211 = R3211;
+
+ CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212));
+
+ CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213));
+
+ CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221));
+
+ CCTK_REAL_VEC R4p3222 = R3222;
+
+ CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231));
+
+ CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p3233 = R3233;
+
+ CCTK_REAL_VEC R4p3311 = R3311;
+
+ CCTK_REAL_VEC R4p3312 = R3312;
+
+ CCTK_REAL_VEC R4p3313 = R3313;
+
+ CCTK_REAL_VEC R4p3321 = R3321;
+
+ CCTK_REAL_VEC R4p3322 = R3322;
+
+ CCTK_REAL_VEC R4p3323 = R3323;
+
+ CCTK_REAL_VEC R4p3331 = R3331;
+
+ CCTK_REAL_VEC R4p3332 = R3332;
+
+ CCTK_REAL_VEC R4p3333 = R3333;
+
+ CCTK_REAL_VEC Ro111 = ToReal(0);
+
+ CCTK_REAL_VEC Ro112 =
+ kadd(JacPDstandard4th1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard4th2kxx))));
+
+ CCTK_REAL_VEC Ro113 =
+ kadd(JacPDstandard4th1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard4th3kxx))));
+
+ CCTK_REAL_VEC Ro121 =
+ kadd(JacPDstandard4th2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard4th1kxy))));
+
+ CCTK_REAL_VEC Ro122 = ToReal(0);
+
+ CCTK_REAL_VEC Ro123 =
+ kadd(JacPDstandard4th2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard4th3kxy))));
+
+ CCTK_REAL_VEC Ro131 =
+ kadd(JacPDstandard4th3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard4th1kxz))));
+
+ CCTK_REAL_VEC Ro132 =
+ kadd(JacPDstandard4th3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard4th2kxz))));
+
+ CCTK_REAL_VEC Ro133 = ToReal(0);
+
+ CCTK_REAL_VEC Ro211 = ToReal(0);
+
+ CCTK_REAL_VEC Ro212 =
+ kadd(JacPDstandard4th1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard4th2kxy))));
+
+ CCTK_REAL_VEC Ro213 =
+ kadd(JacPDstandard4th1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard4th3kxy))));
+
+ CCTK_REAL_VEC Ro221 =
+ kadd(JacPDstandard4th2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard4th1kyy))));
+
+ CCTK_REAL_VEC Ro222 = ToReal(0);
+
+ CCTK_REAL_VEC Ro223 =
+ kadd(JacPDstandard4th2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard4th3kyy))));
+
+ CCTK_REAL_VEC Ro231 =
+ kadd(JacPDstandard4th3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard4th1kyz))));
+
+ CCTK_REAL_VEC Ro232 =
+ kadd(JacPDstandard4th3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard4th2kyz))));
+
+ CCTK_REAL_VEC Ro233 = ToReal(0);
+
+ CCTK_REAL_VEC Ro311 = ToReal(0);
+
+ CCTK_REAL_VEC Ro312 =
+ kadd(JacPDstandard4th1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard4th2kxz))));
+
+ CCTK_REAL_VEC Ro313 =
+ kadd(JacPDstandard4th1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard4th3kxz))));
+
+ CCTK_REAL_VEC Ro321 =
+ kadd(JacPDstandard4th2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard4th1kyz))));
+
+ CCTK_REAL_VEC Ro322 = ToReal(0);
+
+ CCTK_REAL_VEC Ro323 =
+ kadd(JacPDstandard4th2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard4th3kyz))));
+
+ CCTK_REAL_VEC Ro331 =
+ kadd(JacPDstandard4th3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard4th1kzz))));
+
+ CCTK_REAL_VEC Ro332 =
+ kadd(JacPDstandard4th3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard4th2kzz))));
+
+ CCTK_REAL_VEC Ro333 = ToReal(0);
+
+ CCTK_REAL_VEC Rojo11 =
+ kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))))))))))));
+
+ CCTK_REAL_VEC Rojo12 =
+ kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))))));
+
+ CCTK_REAL_VEC Rojo13 =
+ kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233)))))))))));
+
+ CCTK_REAL_VEC Rojo21 =
+ kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)))))))))));
+
+ CCTK_REAL_VEC Rojo22 =
+ kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo23 =
+ kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo31 =
+ kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312)))))))))));
+
+ CCTK_REAL_VEC Rojo32 =
+ kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo33 =
+ kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Psi4rL =
+ kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi4iL =
+ knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
+ break;
+ }
+ vec_store_nta(Psi4i[index],Psi4iL);
+ vec_store_nta(Psi4r[index],Psi4rL);
+ }
+ LC_ENDLOOP3VEC (psi4_calc_4th);
+}
+
+extern "C" void psi4_calc_4th(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering psi4_calc_4th_Body");
+ }
+
+ if (cctk_iteration % psi4_calc_4th_calc_every != psi4_calc_4th_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "psi4_calc_4th", 5, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2);
+ break;
+ }
+
+ GenericFD_LoopOverInterior(cctkGH, &psi4_calc_4th_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving psi4_calc_4th_Body");
+ }
+}
diff --git a/src/psi4_calc_Nth.cc b/src/psi4_calc_Nth.cc
new file mode 100644
index 0000000..3d795d2
--- /dev/null
+++ b/src/psi4_calc_Nth.cc
@@ -0,0 +1,1889 @@
+/* File produced by Kranc */
+
+#define KRANC_C
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "GenericFD.h"
+#include "Differencing.h"
+#include "loopcontrol.h"
+#include "vectors.h"
+
+/* Define macros used in calculations */
+#define INITVALUE (42)
+#define QAD(x) (SQR(SQR(x)))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
+
+extern "C" void psi4_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
+ return;
+}
+
+static void psi4_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ /* Declare finite differencing variables */
+
+ /* Include user-supplied include files */
+
+ /* Initialise finite differencing variables */
+ ptrdiff_t const di = 1;
+ ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
+ ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
+ ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
+
+ /* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
+
+ /* Loop over the grid points */
+ #pragma omp parallel
+ LC_LOOP3VEC (psi4_calc_Nth,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
+ {
+ ptrdiff_t const index = di*i + dj*j + dk*k;
+
+ /* Assign local copies of grid functions */
+
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+ CCTK_REAL_VEC xL = vec_load(x[index]);
+ CCTK_REAL_VEC yL = vec_load(y[index]);
+ CCTK_REAL_VEC zL = vec_load(z[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
+ /* Include user supplied include files */
+
+ /* Precompute derivatives */
+ CCTK_REAL_VEC PDstandard1gxx;
+ CCTK_REAL_VEC PDstandard2gxx;
+ CCTK_REAL_VEC PDstandard3gxx;
+ CCTK_REAL_VEC PDstandard11gxx;
+ CCTK_REAL_VEC PDstandard22gxx;
+ CCTK_REAL_VEC PDstandard33gxx;
+ CCTK_REAL_VEC PDstandard12gxx;
+ CCTK_REAL_VEC PDstandard13gxx;
+ CCTK_REAL_VEC PDstandard23gxx;
+ CCTK_REAL_VEC PDstandard1gxy;
+ CCTK_REAL_VEC PDstandard2gxy;
+ CCTK_REAL_VEC PDstandard3gxy;
+ CCTK_REAL_VEC PDstandard11gxy;
+ CCTK_REAL_VEC PDstandard22gxy;
+ CCTK_REAL_VEC PDstandard33gxy;
+ CCTK_REAL_VEC PDstandard12gxy;
+ CCTK_REAL_VEC PDstandard13gxy;
+ CCTK_REAL_VEC PDstandard23gxy;
+ CCTK_REAL_VEC PDstandard1gxz;
+ CCTK_REAL_VEC PDstandard2gxz;
+ CCTK_REAL_VEC PDstandard3gxz;
+ CCTK_REAL_VEC PDstandard11gxz;
+ CCTK_REAL_VEC PDstandard22gxz;
+ CCTK_REAL_VEC PDstandard33gxz;
+ CCTK_REAL_VEC PDstandard12gxz;
+ CCTK_REAL_VEC PDstandard13gxz;
+ CCTK_REAL_VEC PDstandard23gxz;
+ CCTK_REAL_VEC PDstandard1gyy;
+ CCTK_REAL_VEC PDstandard2gyy;
+ CCTK_REAL_VEC PDstandard3gyy;
+ CCTK_REAL_VEC PDstandard11gyy;
+ CCTK_REAL_VEC PDstandard22gyy;
+ CCTK_REAL_VEC PDstandard33gyy;
+ CCTK_REAL_VEC PDstandard12gyy;
+ CCTK_REAL_VEC PDstandard13gyy;
+ CCTK_REAL_VEC PDstandard23gyy;
+ CCTK_REAL_VEC PDstandard1gyz;
+ CCTK_REAL_VEC PDstandard2gyz;
+ CCTK_REAL_VEC PDstandard3gyz;
+ CCTK_REAL_VEC PDstandard11gyz;
+ CCTK_REAL_VEC PDstandard22gyz;
+ CCTK_REAL_VEC PDstandard33gyz;
+ CCTK_REAL_VEC PDstandard12gyz;
+ CCTK_REAL_VEC PDstandard13gyz;
+ CCTK_REAL_VEC PDstandard23gyz;
+ CCTK_REAL_VEC PDstandard1gzz;
+ CCTK_REAL_VEC PDstandard2gzz;
+ CCTK_REAL_VEC PDstandard3gzz;
+ CCTK_REAL_VEC PDstandard11gzz;
+ CCTK_REAL_VEC PDstandard22gzz;
+ CCTK_REAL_VEC PDstandard33gzz;
+ CCTK_REAL_VEC PDstandard12gzz;
+ CCTK_REAL_VEC PDstandard13gzz;
+ CCTK_REAL_VEC PDstandard23gzz;
+ CCTK_REAL_VEC PDstandard1kxx;
+ CCTK_REAL_VEC PDstandard2kxx;
+ CCTK_REAL_VEC PDstandard3kxx;
+ CCTK_REAL_VEC PDstandard1kxy;
+ CCTK_REAL_VEC PDstandard2kxy;
+ CCTK_REAL_VEC PDstandard3kxy;
+ CCTK_REAL_VEC PDstandard1kxz;
+ CCTK_REAL_VEC PDstandard2kxz;
+ CCTK_REAL_VEC PDstandard3kxz;
+ CCTK_REAL_VEC PDstandard1kyy;
+ CCTK_REAL_VEC PDstandard2kyy;
+ CCTK_REAL_VEC PDstandard3kyy;
+ CCTK_REAL_VEC PDstandard1kyz;
+ CCTK_REAL_VEC PDstandard2kyz;
+ CCTK_REAL_VEC PDstandard3kyz;
+ CCTK_REAL_VEC PDstandard1kzz;
+ CCTK_REAL_VEC PDstandard2kzz;
+ CCTK_REAL_VEC PDstandard3kzz;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandard1gxx = PDstandardfdOrder21(&gxx[index]);
+ PDstandard2gxx = PDstandardfdOrder22(&gxx[index]);
+ PDstandard3gxx = PDstandardfdOrder23(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder211(&gxx[index]);
+ PDstandard22gxx = PDstandardfdOrder222(&gxx[index]);
+ PDstandard33gxx = PDstandardfdOrder233(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder212(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder213(&gxx[index]);
+ PDstandard23gxx = PDstandardfdOrder223(&gxx[index]);
+ PDstandard1gxy = PDstandardfdOrder21(&gxy[index]);
+ PDstandard2gxy = PDstandardfdOrder22(&gxy[index]);
+ PDstandard3gxy = PDstandardfdOrder23(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder211(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder222(&gxy[index]);
+ PDstandard33gxy = PDstandardfdOrder233(&gxy[index]);
+ PDstandard12gxy = PDstandardfdOrder212(&gxy[index]);
+ PDstandard13gxy = PDstandardfdOrder213(&gxy[index]);
+ PDstandard23gxy = PDstandardfdOrder223(&gxy[index]);
+ PDstandard1gxz = PDstandardfdOrder21(&gxz[index]);
+ PDstandard2gxz = PDstandardfdOrder22(&gxz[index]);
+ PDstandard3gxz = PDstandardfdOrder23(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder211(&gxz[index]);
+ PDstandard22gxz = PDstandardfdOrder222(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder233(&gxz[index]);
+ PDstandard12gxz = PDstandardfdOrder212(&gxz[index]);
+ PDstandard13gxz = PDstandardfdOrder213(&gxz[index]);
+ PDstandard23gxz = PDstandardfdOrder223(&gxz[index]);
+ PDstandard1gyy = PDstandardfdOrder21(&gyy[index]);
+ PDstandard2gyy = PDstandardfdOrder22(&gyy[index]);
+ PDstandard3gyy = PDstandardfdOrder23(&gyy[index]);
+ PDstandard11gyy = PDstandardfdOrder211(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder222(&gyy[index]);
+ PDstandard33gyy = PDstandardfdOrder233(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder212(&gyy[index]);
+ PDstandard13gyy = PDstandardfdOrder213(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder223(&gyy[index]);
+ PDstandard1gyz = PDstandardfdOrder21(&gyz[index]);
+ PDstandard2gyz = PDstandardfdOrder22(&gyz[index]);
+ PDstandard3gyz = PDstandardfdOrder23(&gyz[index]);
+ PDstandard11gyz = PDstandardfdOrder211(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder222(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder233(&gyz[index]);
+ PDstandard12gyz = PDstandardfdOrder212(&gyz[index]);
+ PDstandard13gyz = PDstandardfdOrder213(&gyz[index]);
+ PDstandard23gyz = PDstandardfdOrder223(&gyz[index]);
+ PDstandard1gzz = PDstandardfdOrder21(&gzz[index]);
+ PDstandard2gzz = PDstandardfdOrder22(&gzz[index]);
+ PDstandard3gzz = PDstandardfdOrder23(&gzz[index]);
+ PDstandard11gzz = PDstandardfdOrder211(&gzz[index]);
+ PDstandard22gzz = PDstandardfdOrder222(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder233(&gzz[index]);
+ PDstandard12gzz = PDstandardfdOrder212(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder213(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder223(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder21(&kxx[index]);
+ PDstandard2kxx = PDstandardfdOrder22(&kxx[index]);
+ PDstandard3kxx = PDstandardfdOrder23(&kxx[index]);
+ PDstandard1kxy = PDstandardfdOrder21(&kxy[index]);
+ PDstandard2kxy = PDstandardfdOrder22(&kxy[index]);
+ PDstandard3kxy = PDstandardfdOrder23(&kxy[index]);
+ PDstandard1kxz = PDstandardfdOrder21(&kxz[index]);
+ PDstandard2kxz = PDstandardfdOrder22(&kxz[index]);
+ PDstandard3kxz = PDstandardfdOrder23(&kxz[index]);
+ PDstandard1kyy = PDstandardfdOrder21(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder22(&kyy[index]);
+ PDstandard3kyy = PDstandardfdOrder23(&kyy[index]);
+ PDstandard1kyz = PDstandardfdOrder21(&kyz[index]);
+ PDstandard2kyz = PDstandardfdOrder22(&kyz[index]);
+ PDstandard3kyz = PDstandardfdOrder23(&kyz[index]);
+ PDstandard1kzz = PDstandardfdOrder21(&kzz[index]);
+ PDstandard2kzz = PDstandardfdOrder22(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder23(&kzz[index]);
+ break;
+
+ case 4:
+ PDstandard1gxx = PDstandardfdOrder41(&gxx[index]);
+ PDstandard2gxx = PDstandardfdOrder42(&gxx[index]);
+ PDstandard3gxx = PDstandardfdOrder43(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder411(&gxx[index]);
+ PDstandard22gxx = PDstandardfdOrder422(&gxx[index]);
+ PDstandard33gxx = PDstandardfdOrder433(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder412(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder413(&gxx[index]);
+ PDstandard23gxx = PDstandardfdOrder423(&gxx[index]);
+ PDstandard1gxy = PDstandardfdOrder41(&gxy[index]);
+ PDstandard2gxy = PDstandardfdOrder42(&gxy[index]);
+ PDstandard3gxy = PDstandardfdOrder43(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder411(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder422(&gxy[index]);
+ PDstandard33gxy = PDstandardfdOrder433(&gxy[index]);
+ PDstandard12gxy = PDstandardfdOrder412(&gxy[index]);
+ PDstandard13gxy = PDstandardfdOrder413(&gxy[index]);
+ PDstandard23gxy = PDstandardfdOrder423(&gxy[index]);
+ PDstandard1gxz = PDstandardfdOrder41(&gxz[index]);
+ PDstandard2gxz = PDstandardfdOrder42(&gxz[index]);
+ PDstandard3gxz = PDstandardfdOrder43(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder411(&gxz[index]);
+ PDstandard22gxz = PDstandardfdOrder422(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder433(&gxz[index]);
+ PDstandard12gxz = PDstandardfdOrder412(&gxz[index]);
+ PDstandard13gxz = PDstandardfdOrder413(&gxz[index]);
+ PDstandard23gxz = PDstandardfdOrder423(&gxz[index]);
+ PDstandard1gyy = PDstandardfdOrder41(&gyy[index]);
+ PDstandard2gyy = PDstandardfdOrder42(&gyy[index]);
+ PDstandard3gyy = PDstandardfdOrder43(&gyy[index]);
+ PDstandard11gyy = PDstandardfdOrder411(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder422(&gyy[index]);
+ PDstandard33gyy = PDstandardfdOrder433(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder412(&gyy[index]);
+ PDstandard13gyy = PDstandardfdOrder413(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder423(&gyy[index]);
+ PDstandard1gyz = PDstandardfdOrder41(&gyz[index]);
+ PDstandard2gyz = PDstandardfdOrder42(&gyz[index]);
+ PDstandard3gyz = PDstandardfdOrder43(&gyz[index]);
+ PDstandard11gyz = PDstandardfdOrder411(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder422(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder433(&gyz[index]);
+ PDstandard12gyz = PDstandardfdOrder412(&gyz[index]);
+ PDstandard13gyz = PDstandardfdOrder413(&gyz[index]);
+ PDstandard23gyz = PDstandardfdOrder423(&gyz[index]);
+ PDstandard1gzz = PDstandardfdOrder41(&gzz[index]);
+ PDstandard2gzz = PDstandardfdOrder42(&gzz[index]);
+ PDstandard3gzz = PDstandardfdOrder43(&gzz[index]);
+ PDstandard11gzz = PDstandardfdOrder411(&gzz[index]);
+ PDstandard22gzz = PDstandardfdOrder422(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder433(&gzz[index]);
+ PDstandard12gzz = PDstandardfdOrder412(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder413(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder423(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder41(&kxx[index]);
+ PDstandard2kxx = PDstandardfdOrder42(&kxx[index]);
+ PDstandard3kxx = PDstandardfdOrder43(&kxx[index]);
+ PDstandard1kxy = PDstandardfdOrder41(&kxy[index]);
+ PDstandard2kxy = PDstandardfdOrder42(&kxy[index]);
+ PDstandard3kxy = PDstandardfdOrder43(&kxy[index]);
+ PDstandard1kxz = PDstandardfdOrder41(&kxz[index]);
+ PDstandard2kxz = PDstandardfdOrder42(&kxz[index]);
+ PDstandard3kxz = PDstandardfdOrder43(&kxz[index]);
+ PDstandard1kyy = PDstandardfdOrder41(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder42(&kyy[index]);
+ PDstandard3kyy = PDstandardfdOrder43(&kyy[index]);
+ PDstandard1kyz = PDstandardfdOrder41(&kyz[index]);
+ PDstandard2kyz = PDstandardfdOrder42(&kyz[index]);
+ PDstandard3kyz = PDstandardfdOrder43(&kyz[index]);
+ PDstandard1kzz = PDstandardfdOrder41(&kzz[index]);
+ PDstandard2kzz = PDstandardfdOrder42(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder43(&kzz[index]);
+ break;
+
+ case 6:
+ PDstandard1gxx = PDstandardfdOrder61(&gxx[index]);
+ PDstandard2gxx = PDstandardfdOrder62(&gxx[index]);
+ PDstandard3gxx = PDstandardfdOrder63(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder611(&gxx[index]);
+ PDstandard22gxx = PDstandardfdOrder622(&gxx[index]);
+ PDstandard33gxx = PDstandardfdOrder633(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder612(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder613(&gxx[index]);
+ PDstandard23gxx = PDstandardfdOrder623(&gxx[index]);
+ PDstandard1gxy = PDstandardfdOrder61(&gxy[index]);
+ PDstandard2gxy = PDstandardfdOrder62(&gxy[index]);
+ PDstandard3gxy = PDstandardfdOrder63(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder611(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder622(&gxy[index]);
+ PDstandard33gxy = PDstandardfdOrder633(&gxy[index]);
+ PDstandard12gxy = PDstandardfdOrder612(&gxy[index]);
+ PDstandard13gxy = PDstandardfdOrder613(&gxy[index]);
+ PDstandard23gxy = PDstandardfdOrder623(&gxy[index]);
+ PDstandard1gxz = PDstandardfdOrder61(&gxz[index]);
+ PDstandard2gxz = PDstandardfdOrder62(&gxz[index]);
+ PDstandard3gxz = PDstandardfdOrder63(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder611(&gxz[index]);
+ PDstandard22gxz = PDstandardfdOrder622(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder633(&gxz[index]);
+ PDstandard12gxz = PDstandardfdOrder612(&gxz[index]);
+ PDstandard13gxz = PDstandardfdOrder613(&gxz[index]);
+ PDstandard23gxz = PDstandardfdOrder623(&gxz[index]);
+ PDstandard1gyy = PDstandardfdOrder61(&gyy[index]);
+ PDstandard2gyy = PDstandardfdOrder62(&gyy[index]);
+ PDstandard3gyy = PDstandardfdOrder63(&gyy[index]);
+ PDstandard11gyy = PDstandardfdOrder611(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder622(&gyy[index]);
+ PDstandard33gyy = PDstandardfdOrder633(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder612(&gyy[index]);
+ PDstandard13gyy = PDstandardfdOrder613(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder623(&gyy[index]);
+ PDstandard1gyz = PDstandardfdOrder61(&gyz[index]);
+ PDstandard2gyz = PDstandardfdOrder62(&gyz[index]);
+ PDstandard3gyz = PDstandardfdOrder63(&gyz[index]);
+ PDstandard11gyz = PDstandardfdOrder611(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder622(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder633(&gyz[index]);
+ PDstandard12gyz = PDstandardfdOrder612(&gyz[index]);
+ PDstandard13gyz = PDstandardfdOrder613(&gyz[index]);
+ PDstandard23gyz = PDstandardfdOrder623(&gyz[index]);
+ PDstandard1gzz = PDstandardfdOrder61(&gzz[index]);
+ PDstandard2gzz = PDstandardfdOrder62(&gzz[index]);
+ PDstandard3gzz = PDstandardfdOrder63(&gzz[index]);
+ PDstandard11gzz = PDstandardfdOrder611(&gzz[index]);
+ PDstandard22gzz = PDstandardfdOrder622(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder633(&gzz[index]);
+ PDstandard12gzz = PDstandardfdOrder612(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder613(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder623(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder61(&kxx[index]);
+ PDstandard2kxx = PDstandardfdOrder62(&kxx[index]);
+ PDstandard3kxx = PDstandardfdOrder63(&kxx[index]);
+ PDstandard1kxy = PDstandardfdOrder61(&kxy[index]);
+ PDstandard2kxy = PDstandardfdOrder62(&kxy[index]);
+ PDstandard3kxy = PDstandardfdOrder63(&kxy[index]);
+ PDstandard1kxz = PDstandardfdOrder61(&kxz[index]);
+ PDstandard2kxz = PDstandardfdOrder62(&kxz[index]);
+ PDstandard3kxz = PDstandardfdOrder63(&kxz[index]);
+ PDstandard1kyy = PDstandardfdOrder61(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder62(&kyy[index]);
+ PDstandard3kyy = PDstandardfdOrder63(&kyy[index]);
+ PDstandard1kyz = PDstandardfdOrder61(&kyz[index]);
+ PDstandard2kyz = PDstandardfdOrder62(&kyz[index]);
+ PDstandard3kyz = PDstandardfdOrder63(&kyz[index]);
+ PDstandard1kzz = PDstandardfdOrder61(&kzz[index]);
+ PDstandard2kzz = PDstandardfdOrder62(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder63(&kzz[index]);
+ break;
+
+ case 8:
+ PDstandard1gxx = PDstandardfdOrder81(&gxx[index]);
+ PDstandard2gxx = PDstandardfdOrder82(&gxx[index]);
+ PDstandard3gxx = PDstandardfdOrder83(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder811(&gxx[index]);
+ PDstandard22gxx = PDstandardfdOrder822(&gxx[index]);
+ PDstandard33gxx = PDstandardfdOrder833(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder812(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder813(&gxx[index]);
+ PDstandard23gxx = PDstandardfdOrder823(&gxx[index]);
+ PDstandard1gxy = PDstandardfdOrder81(&gxy[index]);
+ PDstandard2gxy = PDstandardfdOrder82(&gxy[index]);
+ PDstandard3gxy = PDstandardfdOrder83(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder811(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder822(&gxy[index]);
+ PDstandard33gxy = PDstandardfdOrder833(&gxy[index]);
+ PDstandard12gxy = PDstandardfdOrder812(&gxy[index]);
+ PDstandard13gxy = PDstandardfdOrder813(&gxy[index]);
+ PDstandard23gxy = PDstandardfdOrder823(&gxy[index]);
+ PDstandard1gxz = PDstandardfdOrder81(&gxz[index]);
+ PDstandard2gxz = PDstandardfdOrder82(&gxz[index]);
+ PDstandard3gxz = PDstandardfdOrder83(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder811(&gxz[index]);
+ PDstandard22gxz = PDstandardfdOrder822(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder833(&gxz[index]);
+ PDstandard12gxz = PDstandardfdOrder812(&gxz[index]);
+ PDstandard13gxz = PDstandardfdOrder813(&gxz[index]);
+ PDstandard23gxz = PDstandardfdOrder823(&gxz[index]);
+ PDstandard1gyy = PDstandardfdOrder81(&gyy[index]);
+ PDstandard2gyy = PDstandardfdOrder82(&gyy[index]);
+ PDstandard3gyy = PDstandardfdOrder83(&gyy[index]);
+ PDstandard11gyy = PDstandardfdOrder811(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder822(&gyy[index]);
+ PDstandard33gyy = PDstandardfdOrder833(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder812(&gyy[index]);
+ PDstandard13gyy = PDstandardfdOrder813(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder823(&gyy[index]);
+ PDstandard1gyz = PDstandardfdOrder81(&gyz[index]);
+ PDstandard2gyz = PDstandardfdOrder82(&gyz[index]);
+ PDstandard3gyz = PDstandardfdOrder83(&gyz[index]);
+ PDstandard11gyz = PDstandardfdOrder811(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder822(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder833(&gyz[index]);
+ PDstandard12gyz = PDstandardfdOrder812(&gyz[index]);
+ PDstandard13gyz = PDstandardfdOrder813(&gyz[index]);
+ PDstandard23gyz = PDstandardfdOrder823(&gyz[index]);
+ PDstandard1gzz = PDstandardfdOrder81(&gzz[index]);
+ PDstandard2gzz = PDstandardfdOrder82(&gzz[index]);
+ PDstandard3gzz = PDstandardfdOrder83(&gzz[index]);
+ PDstandard11gzz = PDstandardfdOrder811(&gzz[index]);
+ PDstandard22gzz = PDstandardfdOrder822(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder833(&gzz[index]);
+ PDstandard12gzz = PDstandardfdOrder812(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder813(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder823(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder81(&kxx[index]);
+ PDstandard2kxx = PDstandardfdOrder82(&kxx[index]);
+ PDstandard3kxx = PDstandardfdOrder83(&kxx[index]);
+ PDstandard1kxy = PDstandardfdOrder81(&kxy[index]);
+ PDstandard2kxy = PDstandardfdOrder82(&kxy[index]);
+ PDstandard3kxy = PDstandardfdOrder83(&kxy[index]);
+ PDstandard1kxz = PDstandardfdOrder81(&kxz[index]);
+ PDstandard2kxz = PDstandardfdOrder82(&kxz[index]);
+ PDstandard3kxz = PDstandardfdOrder83(&kxz[index]);
+ PDstandard1kyy = PDstandardfdOrder81(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder82(&kyy[index]);
+ PDstandard3kyy = PDstandardfdOrder83(&kyy[index]);
+ PDstandard1kyz = PDstandardfdOrder81(&kyz[index]);
+ PDstandard2kyz = PDstandardfdOrder82(&kyz[index]);
+ PDstandard3kyz = PDstandardfdOrder83(&kyz[index]);
+ PDstandard1kzz = PDstandardfdOrder81(&kzz[index]);
+ PDstandard2kzz = PDstandardfdOrder82(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder83(&kzz[index]);
+ break;
+ }
+
+ /* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandard11gxy;
+ CCTK_REAL_VEC JacPDstandard11gxz;
+ CCTK_REAL_VEC JacPDstandard11gyy;
+ CCTK_REAL_VEC JacPDstandard11gyz;
+ CCTK_REAL_VEC JacPDstandard11gzz;
+ CCTK_REAL_VEC JacPDstandard12gxx;
+ CCTK_REAL_VEC JacPDstandard12gxy;
+ CCTK_REAL_VEC JacPDstandard12gxz;
+ CCTK_REAL_VEC JacPDstandard12gyy;
+ CCTK_REAL_VEC JacPDstandard12gyz;
+ CCTK_REAL_VEC JacPDstandard12gzz;
+ CCTK_REAL_VEC JacPDstandard13gxx;
+ CCTK_REAL_VEC JacPDstandard13gxy;
+ CCTK_REAL_VEC JacPDstandard13gxz;
+ CCTK_REAL_VEC JacPDstandard13gyy;
+ CCTK_REAL_VEC JacPDstandard13gyz;
+ CCTK_REAL_VEC JacPDstandard13gzz;
+ CCTK_REAL_VEC JacPDstandard1gxx;
+ CCTK_REAL_VEC JacPDstandard1gxy;
+ CCTK_REAL_VEC JacPDstandard1gxz;
+ CCTK_REAL_VEC JacPDstandard1gyy;
+ CCTK_REAL_VEC JacPDstandard1gyz;
+ CCTK_REAL_VEC JacPDstandard1gzz;
+ CCTK_REAL_VEC JacPDstandard1kxy;
+ CCTK_REAL_VEC JacPDstandard1kxz;
+ CCTK_REAL_VEC JacPDstandard1kyy;
+ CCTK_REAL_VEC JacPDstandard1kyz;
+ CCTK_REAL_VEC JacPDstandard1kzz;
+ CCTK_REAL_VEC JacPDstandard21gxx;
+ CCTK_REAL_VEC JacPDstandard21gxy;
+ CCTK_REAL_VEC JacPDstandard21gxz;
+ CCTK_REAL_VEC JacPDstandard21gyy;
+ CCTK_REAL_VEC JacPDstandard21gyz;
+ CCTK_REAL_VEC JacPDstandard21gzz;
+ CCTK_REAL_VEC JacPDstandard22gxx;
+ CCTK_REAL_VEC JacPDstandard22gxy;
+ CCTK_REAL_VEC JacPDstandard22gxz;
+ CCTK_REAL_VEC JacPDstandard22gyz;
+ CCTK_REAL_VEC JacPDstandard22gzz;
+ CCTK_REAL_VEC JacPDstandard23gxx;
+ CCTK_REAL_VEC JacPDstandard23gxy;
+ CCTK_REAL_VEC JacPDstandard23gxz;
+ CCTK_REAL_VEC JacPDstandard23gyy;
+ CCTK_REAL_VEC JacPDstandard23gyz;
+ CCTK_REAL_VEC JacPDstandard23gzz;
+ CCTK_REAL_VEC JacPDstandard2gxx;
+ CCTK_REAL_VEC JacPDstandard2gxy;
+ CCTK_REAL_VEC JacPDstandard2gxz;
+ CCTK_REAL_VEC JacPDstandard2gyy;
+ CCTK_REAL_VEC JacPDstandard2gyz;
+ CCTK_REAL_VEC JacPDstandard2gzz;
+ CCTK_REAL_VEC JacPDstandard2kxx;
+ CCTK_REAL_VEC JacPDstandard2kxy;
+ CCTK_REAL_VEC JacPDstandard2kxz;
+ CCTK_REAL_VEC JacPDstandard2kyz;
+ CCTK_REAL_VEC JacPDstandard2kzz;
+ CCTK_REAL_VEC JacPDstandard31gxx;
+ CCTK_REAL_VEC JacPDstandard31gxy;
+ CCTK_REAL_VEC JacPDstandard31gxz;
+ CCTK_REAL_VEC JacPDstandard31gyy;
+ CCTK_REAL_VEC JacPDstandard31gyz;
+ CCTK_REAL_VEC JacPDstandard31gzz;
+ CCTK_REAL_VEC JacPDstandard32gxx;
+ CCTK_REAL_VEC JacPDstandard32gxy;
+ CCTK_REAL_VEC JacPDstandard32gxz;
+ CCTK_REAL_VEC JacPDstandard32gyy;
+ CCTK_REAL_VEC JacPDstandard32gyz;
+ CCTK_REAL_VEC JacPDstandard32gzz;
+ CCTK_REAL_VEC JacPDstandard33gxx;
+ CCTK_REAL_VEC JacPDstandard33gxy;
+ CCTK_REAL_VEC JacPDstandard33gxz;
+ CCTK_REAL_VEC JacPDstandard33gyy;
+ CCTK_REAL_VEC JacPDstandard33gyz;
+ CCTK_REAL_VEC JacPDstandard3gxx;
+ CCTK_REAL_VEC JacPDstandard3gxy;
+ CCTK_REAL_VEC JacPDstandard3gxz;
+ CCTK_REAL_VEC JacPDstandard3gyy;
+ CCTK_REAL_VEC JacPDstandard3gyz;
+ CCTK_REAL_VEC JacPDstandard3gzz;
+ CCTK_REAL_VEC JacPDstandard3kxx;
+ CCTK_REAL_VEC JacPDstandard3kxy;
+ CCTK_REAL_VEC JacPDstandard3kxz;
+ CCTK_REAL_VEC JacPDstandard3kyy;
+ CCTK_REAL_VEC JacPDstandard3kyz;
+
+ if (use_jacobian)
+ {
+ JacPDstandard1gxx =
+ kmadd(J11L,PDstandard1gxx,kmadd(J21L,PDstandard2gxx,kmul(J31L,PDstandard3gxx)));
+
+ JacPDstandard1gxy =
+ kmadd(J11L,PDstandard1gxy,kmadd(J21L,PDstandard2gxy,kmul(J31L,PDstandard3gxy)));
+
+ JacPDstandard1gxz =
+ kmadd(J11L,PDstandard1gxz,kmadd(J21L,PDstandard2gxz,kmul(J31L,PDstandard3gxz)));
+
+ JacPDstandard1gyy =
+ kmadd(J11L,PDstandard1gyy,kmadd(J21L,PDstandard2gyy,kmul(J31L,PDstandard3gyy)));
+
+ JacPDstandard1gyz =
+ kmadd(J11L,PDstandard1gyz,kmadd(J21L,PDstandard2gyz,kmul(J31L,PDstandard3gyz)));
+
+ JacPDstandard1gzz =
+ kmadd(J11L,PDstandard1gzz,kmadd(J21L,PDstandard2gzz,kmul(J31L,PDstandard3gzz)));
+
+ JacPDstandard1kxy =
+ kmadd(J11L,PDstandard1kxy,kmadd(J21L,PDstandard2kxy,kmul(J31L,PDstandard3kxy)));
+
+ JacPDstandard1kxz =
+ kmadd(J11L,PDstandard1kxz,kmadd(J21L,PDstandard2kxz,kmul(J31L,PDstandard3kxz)));
+
+ JacPDstandard1kyy =
+ kmadd(J11L,PDstandard1kyy,kmadd(J21L,PDstandard2kyy,kmul(J31L,PDstandard3kyy)));
+
+ JacPDstandard1kyz =
+ kmadd(J11L,PDstandard1kyz,kmadd(J21L,PDstandard2kyz,kmul(J31L,PDstandard3kyz)));
+
+ JacPDstandard1kzz =
+ kmadd(J11L,PDstandard1kzz,kmadd(J21L,PDstandard2kzz,kmul(J31L,PDstandard3kzz)));
+
+ JacPDstandard2gxx =
+ kmadd(J12L,PDstandard1gxx,kmadd(J22L,PDstandard2gxx,kmul(J32L,PDstandard3gxx)));
+
+ JacPDstandard2gxy =
+ kmadd(J12L,PDstandard1gxy,kmadd(J22L,PDstandard2gxy,kmul(J32L,PDstandard3gxy)));
+
+ JacPDstandard2gxz =
+ kmadd(J12L,PDstandard1gxz,kmadd(J22L,PDstandard2gxz,kmul(J32L,PDstandard3gxz)));
+
+ JacPDstandard2gyy =
+ kmadd(J12L,PDstandard1gyy,kmadd(J22L,PDstandard2gyy,kmul(J32L,PDstandard3gyy)));
+
+ JacPDstandard2gyz =
+ kmadd(J12L,PDstandard1gyz,kmadd(J22L,PDstandard2gyz,kmul(J32L,PDstandard3gyz)));
+
+ JacPDstandard2gzz =
+ kmadd(J12L,PDstandard1gzz,kmadd(J22L,PDstandard2gzz,kmul(J32L,PDstandard3gzz)));
+
+ JacPDstandard2kxx =
+ kmadd(J12L,PDstandard1kxx,kmadd(J22L,PDstandard2kxx,kmul(J32L,PDstandard3kxx)));
+
+ JacPDstandard2kxy =
+ kmadd(J12L,PDstandard1kxy,kmadd(J22L,PDstandard2kxy,kmul(J32L,PDstandard3kxy)));
+
+ JacPDstandard2kxz =
+ kmadd(J12L,PDstandard1kxz,kmadd(J22L,PDstandard2kxz,kmul(J32L,PDstandard3kxz)));
+
+ JacPDstandard2kyz =
+ kmadd(J12L,PDstandard1kyz,kmadd(J22L,PDstandard2kyz,kmul(J32L,PDstandard3kyz)));
+
+ JacPDstandard2kzz =
+ kmadd(J12L,PDstandard1kzz,kmadd(J22L,PDstandard2kzz,kmul(J32L,PDstandard3kzz)));
+
+ JacPDstandard3gxx =
+ kmadd(J13L,PDstandard1gxx,kmadd(J23L,PDstandard2gxx,kmul(J33L,PDstandard3gxx)));
+
+ JacPDstandard3gxy =
+ kmadd(J13L,PDstandard1gxy,kmadd(J23L,PDstandard2gxy,kmul(J33L,PDstandard3gxy)));
+
+ JacPDstandard3gxz =
+ kmadd(J13L,PDstandard1gxz,kmadd(J23L,PDstandard2gxz,kmul(J33L,PDstandard3gxz)));
+
+ JacPDstandard3gyy =
+ kmadd(J13L,PDstandard1gyy,kmadd(J23L,PDstandard2gyy,kmul(J33L,PDstandard3gyy)));
+
+ JacPDstandard3gyz =
+ kmadd(J13L,PDstandard1gyz,kmadd(J23L,PDstandard2gyz,kmul(J33L,PDstandard3gyz)));
+
+ JacPDstandard3gzz =
+ kmadd(J13L,PDstandard1gzz,kmadd(J23L,PDstandard2gzz,kmul(J33L,PDstandard3gzz)));
+
+ JacPDstandard3kxx =
+ kmadd(J13L,PDstandard1kxx,kmadd(J23L,PDstandard2kxx,kmul(J33L,PDstandard3kxx)));
+
+ JacPDstandard3kxy =
+ kmadd(J13L,PDstandard1kxy,kmadd(J23L,PDstandard2kxy,kmul(J33L,PDstandard3kxy)));
+
+ JacPDstandard3kxz =
+ kmadd(J13L,PDstandard1kxz,kmadd(J23L,PDstandard2kxz,kmul(J33L,PDstandard3kxz)));
+
+ JacPDstandard3kyy =
+ kmadd(J13L,PDstandard1kyy,kmadd(J23L,PDstandard2kyy,kmul(J33L,PDstandard3kyy)));
+
+ JacPDstandard3kyz =
+ kmadd(J13L,PDstandard1kyz,kmadd(J23L,PDstandard2kyz,kmul(J33L,PDstandard3kyz)));
+
+ JacPDstandard11gxy =
+ kmadd(dJ111L,PDstandard1gxy,kmadd(dJ211L,PDstandard2gxy,kmadd(dJ311L,PDstandard3gxy,kmadd(PDstandard11gxy,SQR(J11L),kmadd(PDstandard22gxy,SQR(J21L),kmadd(PDstandard33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy)),kmul(J21L,kmul(J31L,PDstandard23gxy))),ToReal(2))))))));
+
+ JacPDstandard11gxz =
+ kmadd(dJ111L,PDstandard1gxz,kmadd(dJ211L,PDstandard2gxz,kmadd(dJ311L,PDstandard3gxz,kmadd(PDstandard11gxz,SQR(J11L),kmadd(PDstandard22gxz,SQR(J21L),kmadd(PDstandard33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz)),kmul(J21L,kmul(J31L,PDstandard23gxz))),ToReal(2))))))));
+
+ JacPDstandard11gyy =
+ kmadd(dJ111L,PDstandard1gyy,kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,SQR(J11L),kmadd(PDstandard22gyy,SQR(J21L),kmadd(PDstandard33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),ToReal(2))))))));
+
+ JacPDstandard11gyz =
+ kmadd(dJ111L,PDstandard1gyz,kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,SQR(J11L),kmadd(PDstandard22gyz,SQR(J21L),kmadd(PDstandard33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),ToReal(2))))))));
+
+ JacPDstandard11gzz =
+ kmadd(dJ111L,PDstandard1gzz,kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,SQR(J11L),kmadd(PDstandard22gzz,SQR(J21L),kmadd(PDstandard33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),ToReal(2))))))));
+
+ JacPDstandard22gxx =
+ kmadd(dJ122L,PDstandard1gxx,kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,SQR(J12L),kmadd(PDstandard22gxx,SQR(J22L),kmadd(PDstandard33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),ToReal(2))))))));
+
+ JacPDstandard22gxy =
+ kmadd(dJ122L,PDstandard1gxy,kmadd(dJ222L,PDstandard2gxy,kmadd(dJ322L,PDstandard3gxy,kmadd(PDstandard11gxy,SQR(J12L),kmadd(PDstandard22gxy,SQR(J22L),kmadd(PDstandard33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmul(J22L,kmul(J32L,PDstandard23gxy))),ToReal(2))))))));
+
+ JacPDstandard22gxz =
+ kmadd(dJ122L,PDstandard1gxz,kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,SQR(J12L),kmadd(PDstandard22gxz,SQR(J22L),kmadd(PDstandard33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),ToReal(2))))))));
+
+ JacPDstandard22gyz =
+ kmadd(dJ122L,PDstandard1gyz,kmadd(dJ222L,PDstandard2gyz,kmadd(dJ322L,PDstandard3gyz,kmadd(PDstandard11gyz,SQR(J12L),kmadd(PDstandard22gyz,SQR(J22L),kmadd(PDstandard33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmul(J22L,kmul(J32L,PDstandard23gyz))),ToReal(2))))))));
+
+ JacPDstandard22gzz =
+ kmadd(dJ122L,PDstandard1gzz,kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,SQR(J12L),kmadd(PDstandard22gzz,SQR(J22L),kmadd(PDstandard33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),ToReal(2))))))));
+
+ JacPDstandard33gxx =
+ kmadd(dJ133L,PDstandard1gxx,kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,SQR(J13L),kmadd(PDstandard22gxx,SQR(J23L),kmadd(PDstandard33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),ToReal(2))))))));
+
+ JacPDstandard33gxy =
+ kmadd(dJ133L,PDstandard1gxy,kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,SQR(J13L),kmadd(PDstandard22gxy,SQR(J23L),kmadd(PDstandard33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),ToReal(2))))))));
+
+ JacPDstandard33gxz =
+ kmadd(dJ133L,PDstandard1gxz,kmadd(dJ233L,PDstandard2gxz,kmadd(dJ333L,PDstandard3gxz,kmadd(PDstandard11gxz,SQR(J13L),kmadd(PDstandard22gxz,SQR(J23L),kmadd(PDstandard33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmul(J23L,kmul(J33L,PDstandard23gxz))),ToReal(2))))))));
+
+ JacPDstandard33gyy =
+ kmadd(dJ133L,PDstandard1gyy,kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,SQR(J13L),kmadd(PDstandard22gyy,SQR(J23L),kmadd(PDstandard33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),ToReal(2))))))));
+
+ JacPDstandard33gyz =
+ kmadd(dJ133L,PDstandard1gyz,kmadd(dJ233L,PDstandard2gyz,kmadd(dJ333L,PDstandard3gyz,kmadd(PDstandard11gyz,SQR(J13L),kmadd(PDstandard22gyz,SQR(J23L),kmadd(PDstandard33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmul(J23L,kmul(J33L,PDstandard23gyz))),ToReal(2))))))));
+
+ JacPDstandard12gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmadd(dJ112L,PDstandard1gxx,kmadd(J22L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ212L,PDstandard2gxx,kmadd(J32L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ312L,PDstandard3gxx)))))));
+
+ JacPDstandard12gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy)))))));
+
+ JacPDstandard12gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmadd(dJ112L,PDstandard1gxz,kmadd(J22L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ212L,PDstandard2gxz,kmadd(J32L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ312L,PDstandard3gxz)))))));
+
+ JacPDstandard12gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy)),kmadd(dJ112L,PDstandard1gyy,kmadd(J22L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ212L,PDstandard2gyy,kmadd(J32L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ312L,PDstandard3gyy)))))));
+
+ JacPDstandard12gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmadd(dJ112L,PDstandard1gyz,kmadd(J22L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ212L,PDstandard2gyz,kmadd(J32L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ312L,PDstandard3gyz)))))));
+
+ JacPDstandard12gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmadd(dJ112L,PDstandard1gzz,kmadd(J22L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ212L,PDstandard2gzz,kmadd(J32L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ312L,PDstandard3gzz)))))));
+
+ JacPDstandard13gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ113L,PDstandard1gxx,kmadd(J23L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ213L,PDstandard2gxx,kmadd(J33L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ313L,PDstandard3gxx)))))));
+
+ JacPDstandard13gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ113L,PDstandard1gxy,kmadd(J23L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ213L,PDstandard2gxy,kmadd(J33L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ313L,PDstandard3gxy)))))));
+
+ JacPDstandard13gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ113L,PDstandard1gxz,kmadd(J23L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ213L,PDstandard2gxz,kmadd(J33L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ313L,PDstandard3gxz)))))));
+
+ JacPDstandard13gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ113L,PDstandard1gyy,kmadd(J23L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ213L,PDstandard2gyy,kmadd(J33L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ313L,PDstandard3gyy)))))));
+
+ JacPDstandard13gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ113L,PDstandard1gyz,kmadd(J23L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ213L,PDstandard2gyz,kmadd(J33L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ313L,PDstandard3gyz)))))));
+
+ JacPDstandard13gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ113L,PDstandard1gzz,kmadd(J23L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ213L,PDstandard2gzz,kmadd(J33L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ313L,PDstandard3gzz)))))));
+
+ JacPDstandard21gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmadd(dJ112L,PDstandard1gxx,kmadd(J22L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ212L,PDstandard2gxx,kmadd(J32L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ312L,PDstandard3gxx)))))));
+
+ JacPDstandard21gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy)))))));
+
+ JacPDstandard21gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmadd(dJ112L,PDstandard1gxz,kmadd(J22L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ212L,PDstandard2gxz,kmadd(J32L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ312L,PDstandard3gxz)))))));
+
+ JacPDstandard21gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy)),kmadd(dJ112L,PDstandard1gyy,kmadd(J22L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ212L,PDstandard2gyy,kmadd(J32L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ312L,PDstandard3gyy)))))));
+
+ JacPDstandard21gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmadd(dJ112L,PDstandard1gyz,kmadd(J22L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ212L,PDstandard2gyz,kmadd(J32L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ312L,PDstandard3gyz)))))));
+
+ JacPDstandard21gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmadd(dJ112L,PDstandard1gzz,kmadd(J22L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ212L,PDstandard2gzz,kmadd(J32L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ312L,PDstandard3gzz)))))));
+
+ JacPDstandard23gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxx,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx))),kmadd(J12L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ123L,PDstandard1gxx,kmadd(J23L,kmadd(J22L,PDstandard22gxx,kmul(J32L,PDstandard23gxx)),kmadd(dJ223L,PDstandard2gxx,kmadd(J33L,kmadd(J22L,PDstandard23gxx,kmul(J32L,PDstandard33gxx)),kmul(dJ323L,PDstandard3gxx)))))));
+
+ JacPDstandard23gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxy,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy))),kmadd(J12L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ123L,PDstandard1gxy,kmadd(J23L,kmadd(J22L,PDstandard22gxy,kmul(J32L,PDstandard23gxy)),kmadd(dJ223L,PDstandard2gxy,kmadd(J33L,kmadd(J22L,PDstandard23gxy,kmul(J32L,PDstandard33gxy)),kmul(dJ323L,PDstandard3gxy)))))));
+
+ JacPDstandard23gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxz,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz))),kmadd(J12L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ123L,PDstandard1gxz,kmadd(J23L,kmadd(J22L,PDstandard22gxz,kmul(J32L,PDstandard23gxz)),kmadd(dJ223L,PDstandard2gxz,kmadd(J33L,kmadd(J22L,PDstandard23gxz,kmul(J32L,PDstandard33gxz)),kmul(dJ323L,PDstandard3gxz)))))));
+
+ JacPDstandard23gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyy,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy))),kmadd(J12L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ123L,PDstandard1gyy,kmadd(J23L,kmadd(J22L,PDstandard22gyy,kmul(J32L,PDstandard23gyy)),kmadd(dJ223L,PDstandard2gyy,kmadd(J33L,kmadd(J22L,PDstandard23gyy,kmul(J32L,PDstandard33gyy)),kmul(dJ323L,PDstandard3gyy)))))));
+
+ JacPDstandard23gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyz,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz))),kmadd(J12L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ123L,PDstandard1gyz,kmadd(J23L,kmadd(J22L,PDstandard22gyz,kmul(J32L,PDstandard23gyz)),kmadd(dJ223L,PDstandard2gyz,kmadd(J33L,kmadd(J22L,PDstandard23gyz,kmul(J32L,PDstandard33gyz)),kmul(dJ323L,PDstandard3gyz)))))));
+
+ JacPDstandard23gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gzz,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz))),kmadd(J12L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ123L,PDstandard1gzz,kmadd(J23L,kmadd(J22L,PDstandard22gzz,kmul(J32L,PDstandard23gzz)),kmadd(dJ223L,PDstandard2gzz,kmadd(J33L,kmadd(J22L,PDstandard23gzz,kmul(J32L,PDstandard33gzz)),kmul(dJ323L,PDstandard3gzz)))))));
+
+ JacPDstandard31gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ113L,PDstandard1gxx,kmadd(J23L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ213L,PDstandard2gxx,kmadd(J33L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ313L,PDstandard3gxx)))))));
+
+ JacPDstandard31gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ113L,PDstandard1gxy,kmadd(J23L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ213L,PDstandard2gxy,kmadd(J33L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ313L,PDstandard3gxy)))))));
+
+ JacPDstandard31gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ113L,PDstandard1gxz,kmadd(J23L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ213L,PDstandard2gxz,kmadd(J33L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ313L,PDstandard3gxz)))))));
+
+ JacPDstandard31gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ113L,PDstandard1gyy,kmadd(J23L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ213L,PDstandard2gyy,kmadd(J33L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ313L,PDstandard3gyy)))))));
+
+ JacPDstandard31gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ113L,PDstandard1gyz,kmadd(J23L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ213L,PDstandard2gyz,kmadd(J33L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ313L,PDstandard3gyz)))))));
+
+ JacPDstandard31gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ113L,PDstandard1gzz,kmadd(J23L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ213L,PDstandard2gzz,kmadd(J33L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ313L,PDstandard3gzz)))))));
+
+ JacPDstandard32gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxx,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx))),kmadd(J12L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ123L,PDstandard1gxx,kmadd(J23L,kmadd(J22L,PDstandard22gxx,kmul(J32L,PDstandard23gxx)),kmadd(dJ223L,PDstandard2gxx,kmadd(J33L,kmadd(J22L,PDstandard23gxx,kmul(J32L,PDstandard33gxx)),kmul(dJ323L,PDstandard3gxx)))))));
+
+ JacPDstandard32gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxy,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy))),kmadd(J12L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ123L,PDstandard1gxy,kmadd(J23L,kmadd(J22L,PDstandard22gxy,kmul(J32L,PDstandard23gxy)),kmadd(dJ223L,PDstandard2gxy,kmadd(J33L,kmadd(J22L,PDstandard23gxy,kmul(J32L,PDstandard33gxy)),kmul(dJ323L,PDstandard3gxy)))))));
+
+ JacPDstandard32gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxz,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz))),kmadd(J12L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ123L,PDstandard1gxz,kmadd(J23L,kmadd(J22L,PDstandard22gxz,kmul(J32L,PDstandard23gxz)),kmadd(dJ223L,PDstandard2gxz,kmadd(J33L,kmadd(J22L,PDstandard23gxz,kmul(J32L,PDstandard33gxz)),kmul(dJ323L,PDstandard3gxz)))))));
+
+ JacPDstandard32gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyy,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy))),kmadd(J12L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ123L,PDstandard1gyy,kmadd(J23L,kmadd(J22L,PDstandard22gyy,kmul(J32L,PDstandard23gyy)),kmadd(dJ223L,PDstandard2gyy,kmadd(J33L,kmadd(J22L,PDstandard23gyy,kmul(J32L,PDstandard33gyy)),kmul(dJ323L,PDstandard3gyy)))))));
+
+ JacPDstandard32gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyz,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz))),kmadd(J12L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ123L,PDstandard1gyz,kmadd(J23L,kmadd(J22L,PDstandard22gyz,kmul(J32L,PDstandard23gyz)),kmadd(dJ223L,PDstandard2gyz,kmadd(J33L,kmadd(J22L,PDstandard23gyz,kmul(J32L,PDstandard33gyz)),kmul(dJ323L,PDstandard3gyz)))))));
+
+ JacPDstandard32gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gzz,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz))),kmadd(J12L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ123L,PDstandard1gzz,kmadd(J23L,kmadd(J22L,PDstandard22gzz,kmul(J32L,PDstandard23gzz)),kmadd(dJ223L,PDstandard2gzz,kmadd(J33L,kmadd(J22L,PDstandard23gzz,kmul(J32L,PDstandard33gzz)),kmul(dJ323L,PDstandard3gzz)))))));
+ }
+ else
+ {
+ JacPDstandard1gxx = PDstandard1gxx;
+
+ JacPDstandard1gxy = PDstandard1gxy;
+
+ JacPDstandard1gxz = PDstandard1gxz;
+
+ JacPDstandard1gyy = PDstandard1gyy;
+
+ JacPDstandard1gyz = PDstandard1gyz;
+
+ JacPDstandard1gzz = PDstandard1gzz;
+
+ JacPDstandard1kxy = PDstandard1kxy;
+
+ JacPDstandard1kxz = PDstandard1kxz;
+
+ JacPDstandard1kyy = PDstandard1kyy;
+
+ JacPDstandard1kyz = PDstandard1kyz;
+
+ JacPDstandard1kzz = PDstandard1kzz;
+
+ JacPDstandard2gxx = PDstandard2gxx;
+
+ JacPDstandard2gxy = PDstandard2gxy;
+
+ JacPDstandard2gxz = PDstandard2gxz;
+
+ JacPDstandard2gyy = PDstandard2gyy;
+
+ JacPDstandard2gyz = PDstandard2gyz;
+
+ JacPDstandard2gzz = PDstandard2gzz;
+
+ JacPDstandard2kxx = PDstandard2kxx;
+
+ JacPDstandard2kxy = PDstandard2kxy;
+
+ JacPDstandard2kxz = PDstandard2kxz;
+
+ JacPDstandard2kyz = PDstandard2kyz;
+
+ JacPDstandard2kzz = PDstandard2kzz;
+
+ JacPDstandard3gxx = PDstandard3gxx;
+
+ JacPDstandard3gxy = PDstandard3gxy;
+
+ JacPDstandard3gxz = PDstandard3gxz;
+
+ JacPDstandard3gyy = PDstandard3gyy;
+
+ JacPDstandard3gyz = PDstandard3gyz;
+
+ JacPDstandard3gzz = PDstandard3gzz;
+
+ JacPDstandard3kxx = PDstandard3kxx;
+
+ JacPDstandard3kxy = PDstandard3kxy;
+
+ JacPDstandard3kxz = PDstandard3kxz;
+
+ JacPDstandard3kyy = PDstandard3kyy;
+
+ JacPDstandard3kyz = PDstandard3kyz;
+
+ JacPDstandard11gxy = PDstandard11gxy;
+
+ JacPDstandard11gxz = PDstandard11gxz;
+
+ JacPDstandard11gyy = PDstandard11gyy;
+
+ JacPDstandard11gyz = PDstandard11gyz;
+
+ JacPDstandard11gzz = PDstandard11gzz;
+
+ JacPDstandard22gxx = PDstandard22gxx;
+
+ JacPDstandard22gxy = PDstandard22gxy;
+
+ JacPDstandard22gxz = PDstandard22gxz;
+
+ JacPDstandard22gyz = PDstandard22gyz;
+
+ JacPDstandard22gzz = PDstandard22gzz;
+
+ JacPDstandard33gxx = PDstandard33gxx;
+
+ JacPDstandard33gxy = PDstandard33gxy;
+
+ JacPDstandard33gxz = PDstandard33gxz;
+
+ JacPDstandard33gyy = PDstandard33gyy;
+
+ JacPDstandard33gyz = PDstandard33gyz;
+
+ JacPDstandard12gxx = PDstandard12gxx;
+
+ JacPDstandard12gxy = PDstandard12gxy;
+
+ JacPDstandard12gxz = PDstandard12gxz;
+
+ JacPDstandard12gyy = PDstandard12gyy;
+
+ JacPDstandard12gyz = PDstandard12gyz;
+
+ JacPDstandard12gzz = PDstandard12gzz;
+
+ JacPDstandard13gxx = PDstandard13gxx;
+
+ JacPDstandard13gxy = PDstandard13gxy;
+
+ JacPDstandard13gxz = PDstandard13gxz;
+
+ JacPDstandard13gyy = PDstandard13gyy;
+
+ JacPDstandard13gyz = PDstandard13gyz;
+
+ JacPDstandard13gzz = PDstandard13gzz;
+
+ JacPDstandard21gxx = PDstandard12gxx;
+
+ JacPDstandard21gxy = PDstandard12gxy;
+
+ JacPDstandard21gxz = PDstandard12gxz;
+
+ JacPDstandard21gyy = PDstandard12gyy;
+
+ JacPDstandard21gyz = PDstandard12gyz;
+
+ JacPDstandard21gzz = PDstandard12gzz;
+
+ JacPDstandard23gxx = PDstandard23gxx;
+
+ JacPDstandard23gxy = PDstandard23gxy;
+
+ JacPDstandard23gxz = PDstandard23gxz;
+
+ JacPDstandard23gyy = PDstandard23gyy;
+
+ JacPDstandard23gyz = PDstandard23gyz;
+
+ JacPDstandard23gzz = PDstandard23gzz;
+
+ JacPDstandard31gxx = PDstandard13gxx;
+
+ JacPDstandard31gxy = PDstandard13gxy;
+
+ JacPDstandard31gxz = PDstandard13gxz;
+
+ JacPDstandard31gyy = PDstandard13gyy;
+
+ JacPDstandard31gyz = PDstandard13gyz;
+
+ JacPDstandard31gzz = PDstandard13gzz;
+
+ JacPDstandard32gxx = PDstandard23gxx;
+
+ JacPDstandard32gxy = PDstandard23gxy;
+
+ JacPDstandard32gxz = PDstandard23gxz;
+
+ JacPDstandard32gyy = PDstandard23gyy;
+
+ JacPDstandard32gyz = PDstandard23gyz;
+
+ JacPDstandard32gzz = PDstandard23gzz;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+
+ CCTK_REAL_VEC invdetg = INV(detg);
+
+ CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL)));
+
+ CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL)));
+
+ CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL)));
+
+ CCTK_REAL_VEC gamma111 =
+ kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard1gxx,knmsub(gInv12,JacPDstandard2gxx,kmsub(kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),ToReal(2),kmul(gInv13,JacPDstandard3gxx)))));
+
+ CCTK_REAL_VEC gamma211 =
+ kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard1gxx,knmsub(gInv22,JacPDstandard2gxx,kmsub(kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),ToReal(2),kmul(gInv23,JacPDstandard3gxx)))));
+
+ CCTK_REAL_VEC gamma311 =
+ kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard1gxx,knmsub(gInv32,JacPDstandard2gxx,kmsub(kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),ToReal(2),kmul(gInv33,JacPDstandard3gxx)))));
+
+ CCTK_REAL_VEC gamma121 =
+ kmul(kmadd(gInv12,JacPDstandard1gyy,kmadd(gInv11,JacPDstandard2gxx,kmul(gInv13,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma221 =
+ kmul(kmadd(gInv22,JacPDstandard1gyy,kmadd(gInv21,JacPDstandard2gxx,kmul(gInv23,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma321 =
+ kmul(kmadd(gInv32,JacPDstandard1gyy,kmadd(gInv31,JacPDstandard2gxx,kmul(gInv33,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma131 =
+ kmul(kmadd(gInv13,JacPDstandard1gzz,kmadd(gInv11,JacPDstandard3gxx,kmul(gInv12,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma231 =
+ kmul(kmadd(gInv23,JacPDstandard1gzz,kmadd(gInv21,JacPDstandard3gxx,kmul(gInv22,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma331 =
+ kmul(kmadd(gInv33,JacPDstandard1gzz,kmadd(gInv31,JacPDstandard3gxx,kmul(gInv32,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma122 =
+ kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2gyy,kmadd(gInv11,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv13,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+
+ CCTK_REAL_VEC gamma222 =
+ kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2gyy,kmadd(gInv21,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv23,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+
+ CCTK_REAL_VEC gamma322 =
+ kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2gyy,kmadd(gInv31,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv33,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+
+ CCTK_REAL_VEC gamma132 =
+ kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv12,JacPDstandard3gyy,kmul(gInv11,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma232 =
+ kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv22,JacPDstandard3gyy,kmul(gInv21,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma332 =
+ kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv32,JacPDstandard3gyy,kmul(gInv31,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma133 =
+ kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard3gzz,kmadd(gInv11,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv12,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+
+ CCTK_REAL_VEC gamma233 =
+ kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard3gzz,kmadd(gInv21,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv22,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+
+ CCTK_REAL_VEC gamma333 =
+ kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard3gzz,kmadd(gInv31,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv32,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+
+ CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig));
+
+ CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig));
+
+ CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig));
+
+ CCTK_REAL_VEC va1 = kneg(ymoved);
+
+ CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC va3 = ToReal(0);
+
+ CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC vb2 = ymoved;
+
+ CCTK_REAL_VEC vb3 = zmoved;
+
+ CCTK_REAL_VEC vc1 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+
+ CCTK_REAL_VEC vc2 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+
+ CCTK_REAL_VEC vc3 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+
+ CCTK_REAL_VEC wa1 = va1;
+
+ CCTK_REAL_VEC wa2 = va2;
+
+ CCTK_REAL_VEC wa3 = va3;
+
+ CCTK_REAL_VEC omega11 =
+ kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11)));
+
+ CCTK_REAL_VEC omega12 =
+ kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
+
+ CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1);
+
+ CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2);
+
+ CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3);
+
+ CCTK_REAL_VEC omega22 =
+ kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22)));
+
+ CCTK_REAL_VEC omega13 =
+ kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
+
+ CCTK_REAL_VEC omega23 =
+ kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
+
+ CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+
+ CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+
+ CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+
+ CCTK_REAL_VEC omega33 =
+ kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+
+ CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33)));
+
+ CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524);
+
+ CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2));
+
+ CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2));
+
+ CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2));
+
+ CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2);
+
+ CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2);
+
+ CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2);
+
+ CCTK_REAL_VEC im1 = kmul(ea1,isqrt2);
+
+ CCTK_REAL_VEC im2 = kmul(ea2,isqrt2);
+
+ CCTK_REAL_VEC im3 = kmul(ea3,isqrt2);
+
+ CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2);
+
+ CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2);
+
+ CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2);
+
+ CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2));
+
+ CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2));
+
+ CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2));
+
+ CCTK_REAL_VEC nn = isqrt2;
+
+ CCTK_REAL_VEC R1111 = ToReal(0);
+
+ CCTK_REAL_VEC R1112 =
+ kmul(ksub(JacPDstandard21gxx,JacPDstandard12gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1113 =
+ kmul(ksub(JacPDstandard31gxx,JacPDstandard13gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1121 =
+ kmul(ksub(JacPDstandard21gxx,JacPDstandard12gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1122 = ksub(JacPDstandard21gxy,JacPDstandard12gxy);
+
+ CCTK_REAL_VEC R1123 =
+ kmul(kadd(JacPDstandard21gxz,ksub(JacPDstandard31gxy,kadd(JacPDstandard13gxy,JacPDstandard12gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1131 =
+ kmul(ksub(JacPDstandard31gxx,JacPDstandard13gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1132 =
+ kmul(kadd(JacPDstandard21gxz,ksub(JacPDstandard31gxy,kadd(JacPDstandard13gxy,JacPDstandard12gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1133 = ksub(JacPDstandard31gxz,JacPDstandard13gxz);
+
+ CCTK_REAL_VEC R1211 =
+ kmul(ksub(JacPDstandard12gxx,JacPDstandard21gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1212 =
+ kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard22gxx),JacPDstandard11gyy)))));
+
+ CCTK_REAL_VEC R1213 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxx),JacPDstandard11gyz))))));
+
+ CCTK_REAL_VEC R1221 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gyy,kadd(JacPDstandard22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard21gxy),JacPDstandard12gxy))))),kmul(gxxL,SQR(gamma121)))));
+
+ CCTK_REAL_VEC R1222 =
+ kmul(ksub(JacPDstandard21gyy,JacPDstandard12gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R1223 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxy),JacPDstandard12gyz))))));
+
+ CCTK_REAL_VEC R1231 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard21gxz),JacPDstandard13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1232 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gyz,kadd(JacPDstandard32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard22gxz),JacPDstandard13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1233 =
+ kmul(kadd(JacPDstandard31gyz,ksub(JacPDstandard32gxz,kadd(JacPDstandard23gxz,JacPDstandard13gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1311 =
+ kmul(ksub(JacPDstandard13gxx,JacPDstandard31gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R1312 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gxy,kadd(JacPDstandard21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxx),JacPDstandard11gyz))))));
+
+ CCTK_REAL_VEC R1313 =
+ kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard33gxx),JacPDstandard11gzz)))));
+
+ CCTK_REAL_VEC R1321 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard31gxy),JacPDstandard12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R1322 =
+ kmul(kadd(JacPDstandard21gyz,ksub(JacPDstandard23gxy,kadd(JacPDstandard32gxy,JacPDstandard12gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R1323 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard12gzz))))));
+
+ CCTK_REAL_VEC R1331 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gzz,kadd(JacPDstandard33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard31gxz),JacPDstandard13gxz))))),kmul(gxxL,SQR(gamma131)))));
+
+ CCTK_REAL_VEC R1332 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard32gxz),JacPDstandard13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R1333 =
+ kmul(ksub(JacPDstandard31gzz,JacPDstandard13gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R2111 =
+ kmul(ksub(JacPDstandard12gxx,JacPDstandard21gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R2112 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gyy,kadd(JacPDstandard22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard21gxy),JacPDstandard12gxy))))),kmul(gxxL,SQR(gamma121)))));
+
+ CCTK_REAL_VEC R2113 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard21gxz),JacPDstandard13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2121 =
+ kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard22gxx),JacPDstandard11gyy)))));
+
+ CCTK_REAL_VEC R2122 =
+ kmul(ksub(JacPDstandard21gyy,JacPDstandard12gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2123 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gyz,kadd(JacPDstandard32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard22gxz),JacPDstandard13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2131 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxx),JacPDstandard11gyz))))));
+
+ CCTK_REAL_VEC R2132 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxy),JacPDstandard12gyz))))));
+
+ CCTK_REAL_VEC R2133 =
+ kmul(kadd(JacPDstandard31gyz,ksub(JacPDstandard32gxz,kadd(JacPDstandard23gxz,JacPDstandard13gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2211 = ksub(JacPDstandard12gxy,JacPDstandard21gxy);
+
+ CCTK_REAL_VEC R2212 =
+ kmul(ksub(JacPDstandard12gyy,JacPDstandard21gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2213 =
+ kmul(kadd(JacPDstandard12gyz,ksub(JacPDstandard32gxy,kadd(JacPDstandard23gxy,JacPDstandard21gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2221 =
+ kmul(ksub(JacPDstandard12gyy,JacPDstandard21gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2222 = ToReal(0);
+
+ CCTK_REAL_VEC R2223 =
+ kmul(ksub(JacPDstandard32gyy,JacPDstandard23gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2231 =
+ kmul(kadd(JacPDstandard12gyz,ksub(JacPDstandard32gxy,kadd(JacPDstandard23gxy,JacPDstandard21gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2232 =
+ kmul(ksub(JacPDstandard32gyy,JacPDstandard23gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2233 = ksub(JacPDstandard32gyz,JacPDstandard23gyz);
+
+ CCTK_REAL_VEC R2311 =
+ kmul(kadd(JacPDstandard12gxz,ksub(JacPDstandard13gxy,kadd(JacPDstandard31gxy,JacPDstandard21gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R2312 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyy,kadd(JacPDstandard22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxy),JacPDstandard21gyz))))));
+
+ CCTK_REAL_VEC R2313 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyz,kadd(JacPDstandard32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard21gzz))))));
+
+ CCTK_REAL_VEC R2321 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gyz,kadd(JacPDstandard23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard31gyy),JacPDstandard22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R2322 =
+ kmul(ksub(JacPDstandard23gyy,JacPDstandard32gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R2323 =
+ kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard33gyy),JacPDstandard22gzz)))));
+
+ CCTK_REAL_VEC R2331 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard31gyz),JacPDstandard23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R2332 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard22gzz,kadd(JacPDstandard33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard32gyz),JacPDstandard23gyz))))),kmul(gxxL,SQR(gamma132)))));
+
+ CCTK_REAL_VEC R2333 =
+ kmul(ksub(JacPDstandard32gzz,JacPDstandard23gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3111 =
+ kmul(ksub(JacPDstandard13gxx,JacPDstandard31gxx),ToReal(0.5));
+
+ CCTK_REAL_VEC R3112 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard31gxy),JacPDstandard12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R3113 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gzz,kadd(JacPDstandard33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard31gxz),JacPDstandard13gxz))))),kmul(gxxL,SQR(gamma131)))));
+
+ CCTK_REAL_VEC R3121 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gxy,kadd(JacPDstandard21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxx),JacPDstandard11gyz))))));
+
+ CCTK_REAL_VEC R3122 =
+ kmul(kadd(JacPDstandard21gyz,ksub(JacPDstandard23gxy,kadd(JacPDstandard32gxy,JacPDstandard12gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3123 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard32gxz),JacPDstandard13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R3131 =
+ kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard33gxx),JacPDstandard11gzz)))));
+
+ CCTK_REAL_VEC R3132 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard12gzz))))));
+
+ CCTK_REAL_VEC R3133 =
+ kmul(ksub(JacPDstandard31gzz,JacPDstandard13gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3211 =
+ kmul(kadd(JacPDstandard12gxz,ksub(JacPDstandard13gxy,kadd(JacPDstandard31gxy,JacPDstandard21gxz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3212 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gyz,kadd(JacPDstandard23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard31gyy),JacPDstandard22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
+
+ CCTK_REAL_VEC R3213 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard31gyz),JacPDstandard23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
+
+ CCTK_REAL_VEC R3221 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyy,kadd(JacPDstandard22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxy),JacPDstandard21gyz))))));
+
+ CCTK_REAL_VEC R3222 =
+ kmul(ksub(JacPDstandard23gyy,JacPDstandard32gyy),ToReal(0.5));
+
+ CCTK_REAL_VEC R3223 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard22gzz,kadd(JacPDstandard33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard32gyz),JacPDstandard23gyz))))),kmul(gxxL,SQR(gamma132)))));
+
+ CCTK_REAL_VEC R3231 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyz,kadd(JacPDstandard32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard21gzz))))));
+
+ CCTK_REAL_VEC R3232 =
+ kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard33gyy),JacPDstandard22gzz)))));
+
+ CCTK_REAL_VEC R3233 =
+ kmul(ksub(JacPDstandard32gzz,JacPDstandard23gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3311 = ksub(JacPDstandard13gxz,JacPDstandard31gxz);
+
+ CCTK_REAL_VEC R3312 =
+ kmul(kadd(JacPDstandard13gyz,ksub(JacPDstandard23gxz,kadd(JacPDstandard32gxz,JacPDstandard31gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3313 =
+ kmul(ksub(JacPDstandard13gzz,JacPDstandard31gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3321 =
+ kmul(kadd(JacPDstandard13gyz,ksub(JacPDstandard23gxz,kadd(JacPDstandard32gxz,JacPDstandard31gyz))),ToReal(0.5));
+
+ CCTK_REAL_VEC R3322 = ksub(JacPDstandard23gyz,JacPDstandard32gyz);
+
+ CCTK_REAL_VEC R3323 =
+ kmul(ksub(JacPDstandard23gzz,JacPDstandard32gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3331 =
+ kmul(ksub(JacPDstandard13gzz,JacPDstandard31gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3332 =
+ kmul(ksub(JacPDstandard23gzz,JacPDstandard32gzz),ToReal(0.5));
+
+ CCTK_REAL_VEC R3333 = ToReal(0);
+
+ CCTK_REAL_VEC R4p1111 = R1111;
+
+ CCTK_REAL_VEC R4p1112 = R1112;
+
+ CCTK_REAL_VEC R4p1113 = R1113;
+
+ CCTK_REAL_VEC R4p1121 = R1121;
+
+ CCTK_REAL_VEC R4p1122 = R1122;
+
+ CCTK_REAL_VEC R4p1123 = R1123;
+
+ CCTK_REAL_VEC R4p1131 = R1131;
+
+ CCTK_REAL_VEC R4p1132 = R1132;
+
+ CCTK_REAL_VEC R4p1133 = R1133;
+
+ CCTK_REAL_VEC R4p1211 = R1211;
+
+ CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+
+ CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p1222 = R1222;
+
+ CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+
+ CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231));
+
+ CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232));
+
+ CCTK_REAL_VEC R4p1233 = R1233;
+
+ CCTK_REAL_VEC R4p1311 = R1311;
+
+ CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312));
+
+ CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321));
+
+ CCTK_REAL_VEC R4p1322 = R1322;
+
+ CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+
+ CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332));
+
+ CCTK_REAL_VEC R4p1333 = R1333;
+
+ CCTK_REAL_VEC R4p2111 = R2111;
+
+ CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113));
+
+ CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL)));
+
+ CCTK_REAL_VEC R4p2122 = R2122;
+
+ CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123));
+
+ CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131));
+
+ CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132));
+
+ CCTK_REAL_VEC R4p2133 = R2133;
+
+ CCTK_REAL_VEC R4p2211 = R2211;
+
+ CCTK_REAL_VEC R4p2212 = R2212;
+
+ CCTK_REAL_VEC R4p2213 = R2213;
+
+ CCTK_REAL_VEC R4p2221 = R2221;
+
+ CCTK_REAL_VEC R4p2222 = R2222;
+
+ CCTK_REAL_VEC R4p2223 = R2223;
+
+ CCTK_REAL_VEC R4p2231 = R2231;
+
+ CCTK_REAL_VEC R4p2232 = R2232;
+
+ CCTK_REAL_VEC R4p2233 = R2233;
+
+ CCTK_REAL_VEC R4p2311 = R2311;
+
+ CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312));
+
+ CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313));
+
+ CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321));
+
+ CCTK_REAL_VEC R4p2322 = R2322;
+
+ CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331));
+
+ CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p2333 = R2333;
+
+ CCTK_REAL_VEC R4p3111 = R3111;
+
+ CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112));
+
+ CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121));
+
+ CCTK_REAL_VEC R4p3122 = R3122;
+
+ CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123));
+
+ CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL)));
+
+ CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132));
+
+ CCTK_REAL_VEC R4p3133 = R3133;
+
+ CCTK_REAL_VEC R4p3211 = R3211;
+
+ CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212));
+
+ CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213));
+
+ CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221));
+
+ CCTK_REAL_VEC R4p3222 = R3222;
+
+ CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231));
+
+ CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)));
+
+ CCTK_REAL_VEC R4p3233 = R3233;
+
+ CCTK_REAL_VEC R4p3311 = R3311;
+
+ CCTK_REAL_VEC R4p3312 = R3312;
+
+ CCTK_REAL_VEC R4p3313 = R3313;
+
+ CCTK_REAL_VEC R4p3321 = R3321;
+
+ CCTK_REAL_VEC R4p3322 = R3322;
+
+ CCTK_REAL_VEC R4p3323 = R3323;
+
+ CCTK_REAL_VEC R4p3331 = R3331;
+
+ CCTK_REAL_VEC R4p3332 = R3332;
+
+ CCTK_REAL_VEC R4p3333 = R3333;
+
+ CCTK_REAL_VEC Ro111 = ToReal(0);
+
+ CCTK_REAL_VEC Ro112 =
+ kadd(JacPDstandard1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard2kxx))));
+
+ CCTK_REAL_VEC Ro113 =
+ kadd(JacPDstandard1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard3kxx))));
+
+ CCTK_REAL_VEC Ro121 =
+ kadd(JacPDstandard2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard1kxy))));
+
+ CCTK_REAL_VEC Ro122 = ToReal(0);
+
+ CCTK_REAL_VEC Ro123 =
+ kadd(JacPDstandard2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard3kxy))));
+
+ CCTK_REAL_VEC Ro131 =
+ kadd(JacPDstandard3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard1kxz))));
+
+ CCTK_REAL_VEC Ro132 =
+ kadd(JacPDstandard3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard2kxz))));
+
+ CCTK_REAL_VEC Ro133 = ToReal(0);
+
+ CCTK_REAL_VEC Ro211 = ToReal(0);
+
+ CCTK_REAL_VEC Ro212 =
+ kadd(JacPDstandard1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard2kxy))));
+
+ CCTK_REAL_VEC Ro213 =
+ kadd(JacPDstandard1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard3kxy))));
+
+ CCTK_REAL_VEC Ro221 =
+ kadd(JacPDstandard2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard1kyy))));
+
+ CCTK_REAL_VEC Ro222 = ToReal(0);
+
+ CCTK_REAL_VEC Ro223 =
+ kadd(JacPDstandard2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard3kyy))));
+
+ CCTK_REAL_VEC Ro231 =
+ kadd(JacPDstandard3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard1kyz))));
+
+ CCTK_REAL_VEC Ro232 =
+ kadd(JacPDstandard3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard2kyz))));
+
+ CCTK_REAL_VEC Ro233 = ToReal(0);
+
+ CCTK_REAL_VEC Ro311 = ToReal(0);
+
+ CCTK_REAL_VEC Ro312 =
+ kadd(JacPDstandard1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard2kxz))));
+
+ CCTK_REAL_VEC Ro313 =
+ kadd(JacPDstandard1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard3kxz))));
+
+ CCTK_REAL_VEC Ro321 =
+ kadd(JacPDstandard2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard1kyz))));
+
+ CCTK_REAL_VEC Ro322 = ToReal(0);
+
+ CCTK_REAL_VEC Ro323 =
+ kadd(JacPDstandard2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard3kyz))));
+
+ CCTK_REAL_VEC Ro331 =
+ kadd(JacPDstandard3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard1kzz))));
+
+ CCTK_REAL_VEC Ro332 =
+ kadd(JacPDstandard3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard2kzz))));
+
+ CCTK_REAL_VEC Ro333 = ToReal(0);
+
+ CCTK_REAL_VEC Rojo11 =
+ kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))))))))))));
+
+ CCTK_REAL_VEC Rojo12 =
+ kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))))));
+
+ CCTK_REAL_VEC Rojo13 =
+ kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233)))))))))));
+
+ CCTK_REAL_VEC Rojo21 =
+ kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)))))))))));
+
+ CCTK_REAL_VEC Rojo22 =
+ kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo23 =
+ kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo31 =
+ kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312)))))))))));
+
+ CCTK_REAL_VEC Rojo32 =
+ kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo33 =
+ kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Psi4rL =
+ kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi4iL =
+ knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
+ break;
+ }
+ vec_store_nta(Psi4i[index],Psi4iL);
+ vec_store_nta(Psi4r[index],Psi4rL);
+ }
+ LC_ENDLOOP3VEC (psi4_calc_Nth);
+}
+
+extern "C" void psi4_calc_Nth(CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering psi4_calc_Nth_Body");
+ }
+
+ if (cctk_iteration % psi4_calc_Nth_calc_every != psi4_calc_Nth_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "psi4_calc_Nth", 5, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_Nth", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_Nth", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_Nth", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_Nth", 4, 4, 4);
+ break;
+ }
+
+ GenericFD_LoopOverInterior(cctkGH, &psi4_calc_Nth_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving psi4_calc_Nth_Body");
+ }
+}
diff --git a/src/psis_calc_2nd.cc b/src/psis_calc_2nd.cc
index 2ca9031..a7d5473 100644
--- a/src/psis_calc_2nd.cc
+++ b/src/psis_calc_2nd.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void psis_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
{
@@ -27,6 +28,30 @@ extern "C" void psis_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3r_group.");
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
@@ -36,7 +61,7 @@ extern "C" void psis_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
return;
}
-static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
@@ -44,38 +69,6 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
/* Declare finite differencing variables */
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_2nd_Body");
- }
-
- if (cctk_iteration % psis_calc_2nd_calc_every != psis_calc_2nd_calc_offset)
- {
- return;
- }
-
- const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "psis_calc_2nd", 5, groups);
-
- switch(fdOrder)
- {
- case 2:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
- break;
-
- case 4:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
- break;
-
- case 6:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
- break;
-
- case 8:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
- break;
- }
-
/* Include user-supplied include files */
/* Initialise finite differencing variables */
@@ -85,144 +78,250 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx));
- CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy));
- CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz));
- CCTK_REAL const p1o2dx = 0.5*INV(dx);
- CCTK_REAL const p1o2dy = 0.5*INV(dy);
- CCTK_REAL const p1o2dz = 0.5*INV(dz);
- CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy);
- CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz);
- CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz);
- CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy);
- CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz);
- CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz);
- CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx));
- CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy));
- CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz));
- CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx);
- CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy);
- CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz);
- CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy);
- CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz);
- CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz);
- CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx);
- CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy);
- CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz);
- CCTK_REAL const p1odx2 = INV(SQR(dx));
- CCTK_REAL const p1ody2 = INV(SQR(dy));
- CCTK_REAL const p1odz2 = INV(SQR(dz));
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (psis_calc_2nd,
- i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ LC_LOOP3VEC (psis_calc_2nd,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL gxxL = gxx[index];
- CCTK_REAL gxyL = gxy[index];
- CCTK_REAL gxzL = gxz[index];
- CCTK_REAL gyyL = gyy[index];
- CCTK_REAL gyzL = gyz[index];
- CCTK_REAL gzzL = gzz[index];
- CCTK_REAL kxxL = kxx[index];
- CCTK_REAL kxyL = kxy[index];
- CCTK_REAL kxzL = kxz[index];
- CCTK_REAL kyyL = kyy[index];
- CCTK_REAL kyzL = kyz[index];
- CCTK_REAL kzzL = kzz[index];
- CCTK_REAL xL = x[index];
- CCTK_REAL yL = y[index];
- CCTK_REAL zL = z[index];
-
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+ CCTK_REAL_VEC xL = vec_load(x[index]);
+ CCTK_REAL_VEC yL = vec_load(y[index]);
+ CCTK_REAL_VEC zL = vec_load(z[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL PDstandard2nd1gxx;
- CCTK_REAL PDstandard2nd2gxx;
- CCTK_REAL PDstandard2nd3gxx;
- CCTK_REAL PDstandard2nd22gxx;
- CCTK_REAL PDstandard2nd33gxx;
- CCTK_REAL PDstandard2nd23gxx;
- CCTK_REAL PDstandard2nd1gxy;
- CCTK_REAL PDstandard2nd2gxy;
- CCTK_REAL PDstandard2nd3gxy;
- CCTK_REAL PDstandard2nd33gxy;
- CCTK_REAL PDstandard2nd12gxy;
- CCTK_REAL PDstandard2nd13gxy;
- CCTK_REAL PDstandard2nd23gxy;
- CCTK_REAL PDstandard2nd1gxz;
- CCTK_REAL PDstandard2nd2gxz;
- CCTK_REAL PDstandard2nd3gxz;
- CCTK_REAL PDstandard2nd22gxz;
- CCTK_REAL PDstandard2nd12gxz;
- CCTK_REAL PDstandard2nd13gxz;
- CCTK_REAL PDstandard2nd23gxz;
- CCTK_REAL PDstandard2nd1gyy;
- CCTK_REAL PDstandard2nd2gyy;
- CCTK_REAL PDstandard2nd3gyy;
- CCTK_REAL PDstandard2nd11gyy;
- CCTK_REAL PDstandard2nd33gyy;
- CCTK_REAL PDstandard2nd13gyy;
- CCTK_REAL PDstandard2nd1gyz;
- CCTK_REAL PDstandard2nd2gyz;
- CCTK_REAL PDstandard2nd3gyz;
- CCTK_REAL PDstandard2nd11gyz;
- CCTK_REAL PDstandard2nd12gyz;
- CCTK_REAL PDstandard2nd13gyz;
- CCTK_REAL PDstandard2nd23gyz;
- CCTK_REAL PDstandard2nd1gzz;
- CCTK_REAL PDstandard2nd2gzz;
- CCTK_REAL PDstandard2nd3gzz;
- CCTK_REAL PDstandard2nd11gzz;
- CCTK_REAL PDstandard2nd22gzz;
- CCTK_REAL PDstandard2nd12gzz;
- CCTK_REAL PDstandard2nd2kxx;
- CCTK_REAL PDstandard2nd3kxx;
- CCTK_REAL PDstandard2nd1kxy;
- CCTK_REAL PDstandard2nd2kxy;
- CCTK_REAL PDstandard2nd3kxy;
- CCTK_REAL PDstandard2nd1kxz;
- CCTK_REAL PDstandard2nd2kxz;
- CCTK_REAL PDstandard2nd3kxz;
- CCTK_REAL PDstandard2nd1kyy;
- CCTK_REAL PDstandard2nd3kyy;
- CCTK_REAL PDstandard2nd1kyz;
- CCTK_REAL PDstandard2nd2kyz;
- CCTK_REAL PDstandard2nd3kyz;
- CCTK_REAL PDstandard2nd1kzz;
- CCTK_REAL PDstandard2nd2kzz;
+ CCTK_REAL_VEC PDstandard2nd1gxx;
+ CCTK_REAL_VEC PDstandard2nd2gxx;
+ CCTK_REAL_VEC PDstandard2nd3gxx;
+ CCTK_REAL_VEC PDstandard2nd11gxx;
+ CCTK_REAL_VEC PDstandard2nd22gxx;
+ CCTK_REAL_VEC PDstandard2nd33gxx;
+ CCTK_REAL_VEC PDstandard2nd12gxx;
+ CCTK_REAL_VEC PDstandard2nd13gxx;
+ CCTK_REAL_VEC PDstandard2nd23gxx;
+ CCTK_REAL_VEC PDstandard2nd1gxy;
+ CCTK_REAL_VEC PDstandard2nd2gxy;
+ CCTK_REAL_VEC PDstandard2nd3gxy;
+ CCTK_REAL_VEC PDstandard2nd11gxy;
+ CCTK_REAL_VEC PDstandard2nd22gxy;
+ CCTK_REAL_VEC PDstandard2nd33gxy;
+ CCTK_REAL_VEC PDstandard2nd12gxy;
+ CCTK_REAL_VEC PDstandard2nd13gxy;
+ CCTK_REAL_VEC PDstandard2nd23gxy;
+ CCTK_REAL_VEC PDstandard2nd1gxz;
+ CCTK_REAL_VEC PDstandard2nd2gxz;
+ CCTK_REAL_VEC PDstandard2nd3gxz;
+ CCTK_REAL_VEC PDstandard2nd11gxz;
+ CCTK_REAL_VEC PDstandard2nd22gxz;
+ CCTK_REAL_VEC PDstandard2nd33gxz;
+ CCTK_REAL_VEC PDstandard2nd12gxz;
+ CCTK_REAL_VEC PDstandard2nd13gxz;
+ CCTK_REAL_VEC PDstandard2nd23gxz;
+ CCTK_REAL_VEC PDstandard2nd1gyy;
+ CCTK_REAL_VEC PDstandard2nd2gyy;
+ CCTK_REAL_VEC PDstandard2nd3gyy;
+ CCTK_REAL_VEC PDstandard2nd11gyy;
+ CCTK_REAL_VEC PDstandard2nd22gyy;
+ CCTK_REAL_VEC PDstandard2nd33gyy;
+ CCTK_REAL_VEC PDstandard2nd12gyy;
+ CCTK_REAL_VEC PDstandard2nd13gyy;
+ CCTK_REAL_VEC PDstandard2nd23gyy;
+ CCTK_REAL_VEC PDstandard2nd1gyz;
+ CCTK_REAL_VEC PDstandard2nd2gyz;
+ CCTK_REAL_VEC PDstandard2nd3gyz;
+ CCTK_REAL_VEC PDstandard2nd11gyz;
+ CCTK_REAL_VEC PDstandard2nd22gyz;
+ CCTK_REAL_VEC PDstandard2nd33gyz;
+ CCTK_REAL_VEC PDstandard2nd12gyz;
+ CCTK_REAL_VEC PDstandard2nd13gyz;
+ CCTK_REAL_VEC PDstandard2nd23gyz;
+ CCTK_REAL_VEC PDstandard2nd1gzz;
+ CCTK_REAL_VEC PDstandard2nd2gzz;
+ CCTK_REAL_VEC PDstandard2nd3gzz;
+ CCTK_REAL_VEC PDstandard2nd11gzz;
+ CCTK_REAL_VEC PDstandard2nd22gzz;
+ CCTK_REAL_VEC PDstandard2nd33gzz;
+ CCTK_REAL_VEC PDstandard2nd12gzz;
+ CCTK_REAL_VEC PDstandard2nd13gzz;
+ CCTK_REAL_VEC PDstandard2nd23gzz;
+ CCTK_REAL_VEC PDstandard2nd1kxx;
+ CCTK_REAL_VEC PDstandard2nd2kxx;
+ CCTK_REAL_VEC PDstandard2nd3kxx;
+ CCTK_REAL_VEC PDstandard2nd1kxy;
+ CCTK_REAL_VEC PDstandard2nd2kxy;
+ CCTK_REAL_VEC PDstandard2nd3kxy;
+ CCTK_REAL_VEC PDstandard2nd1kxz;
+ CCTK_REAL_VEC PDstandard2nd2kxz;
+ CCTK_REAL_VEC PDstandard2nd3kxz;
+ CCTK_REAL_VEC PDstandard2nd1kyy;
+ CCTK_REAL_VEC PDstandard2nd2kyy;
+ CCTK_REAL_VEC PDstandard2nd3kyy;
+ CCTK_REAL_VEC PDstandard2nd1kyz;
+ CCTK_REAL_VEC PDstandard2nd2kyz;
+ CCTK_REAL_VEC PDstandard2nd3kyz;
+ CCTK_REAL_VEC PDstandard2nd1kzz;
+ CCTK_REAL_VEC PDstandard2nd2kzz;
+ CCTK_REAL_VEC PDstandard2nd3kzz;
switch(fdOrder)
{
@@ -230,12 +329,17 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
@@ -243,7 +347,9 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
@@ -251,12 +357,17 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
@@ -265,7 +376,11 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
@@ -275,24 +390,31 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
break;
case 4:
PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
@@ -300,7 +422,9 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
@@ -308,12 +432,17 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
@@ -322,7 +451,11 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
@@ -332,24 +465,31 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
break;
case 6:
PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
@@ -357,7 +497,9 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
@@ -365,12 +507,17 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
@@ -379,7 +526,11 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
@@ -389,24 +540,31 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
break;
case 8:
PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]);
PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]);
PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]);
+ PDstandard2nd11gxx = PDstandard2nd11(&gxx[index]);
PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]);
PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]);
+ PDstandard2nd12gxx = PDstandard2nd12(&gxx[index]);
+ PDstandard2nd13gxx = PDstandard2nd13(&gxx[index]);
PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]);
PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]);
PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]);
PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]);
+ PDstandard2nd11gxy = PDstandard2nd11(&gxy[index]);
+ PDstandard2nd22gxy = PDstandard2nd22(&gxy[index]);
PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]);
PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]);
PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]);
@@ -414,7 +572,9 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]);
PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]);
PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]);
+ PDstandard2nd11gxz = PDstandard2nd11(&gxz[index]);
PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]);
+ PDstandard2nd33gxz = PDstandard2nd33(&gxz[index]);
PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]);
PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]);
PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]);
@@ -422,12 +582,17 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]);
PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]);
PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]);
+ PDstandard2nd22gyy = PDstandard2nd22(&gyy[index]);
PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]);
+ PDstandard2nd12gyy = PDstandard2nd12(&gyy[index]);
PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]);
+ PDstandard2nd23gyy = PDstandard2nd23(&gyy[index]);
PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]);
PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]);
PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]);
PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]);
+ PDstandard2nd22gyz = PDstandard2nd22(&gyz[index]);
+ PDstandard2nd33gyz = PDstandard2nd33(&gyz[index]);
PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]);
PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]);
PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]);
@@ -436,7 +601,11 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]);
PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]);
PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]);
+ PDstandard2nd33gzz = PDstandard2nd33(&gzz[index]);
PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]);
+ PDstandard2nd13gzz = PDstandard2nd13(&gzz[index]);
+ PDstandard2nd23gzz = PDstandard2nd23(&gzz[index]);
+ PDstandard2nd1kxx = PDstandard2nd1(&kxx[index]);
PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]);
PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]);
PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]);
@@ -446,1086 +615,1323 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]);
PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]);
PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]);
+ PDstandard2nd2kyy = PDstandard2nd2(&kyy[index]);
PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]);
PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]);
PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]);
PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]);
PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]);
PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]);
+ PDstandard2nd3kzz = PDstandard2nd3(&kzz[index]);
break;
}
/* Calculate temporaries and grid functions */
- CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) -
- gyyL*SQR(gxzL) - gxxL*SQR(gyzL);
+ CCTK_REAL_VEC JacPDstandard2nd11gxy;
+ CCTK_REAL_VEC JacPDstandard2nd11gxz;
+ CCTK_REAL_VEC JacPDstandard2nd11gyy;
+ CCTK_REAL_VEC JacPDstandard2nd11gyz;
+ CCTK_REAL_VEC JacPDstandard2nd11gzz;
+ CCTK_REAL_VEC JacPDstandard2nd12gxx;
+ CCTK_REAL_VEC JacPDstandard2nd12gxy;
+ CCTK_REAL_VEC JacPDstandard2nd12gxz;
+ CCTK_REAL_VEC JacPDstandard2nd12gyy;
+ CCTK_REAL_VEC JacPDstandard2nd12gyz;
+ CCTK_REAL_VEC JacPDstandard2nd12gzz;
+ CCTK_REAL_VEC JacPDstandard2nd13gxx;
+ CCTK_REAL_VEC JacPDstandard2nd13gxy;
+ CCTK_REAL_VEC JacPDstandard2nd13gxz;
+ CCTK_REAL_VEC JacPDstandard2nd13gyy;
+ CCTK_REAL_VEC JacPDstandard2nd13gyz;
+ CCTK_REAL_VEC JacPDstandard2nd13gzz;
+ CCTK_REAL_VEC JacPDstandard2nd1gxx;
+ CCTK_REAL_VEC JacPDstandard2nd1gxy;
+ CCTK_REAL_VEC JacPDstandard2nd1gxz;
+ CCTK_REAL_VEC JacPDstandard2nd1gyy;
+ CCTK_REAL_VEC JacPDstandard2nd1gyz;
+ CCTK_REAL_VEC JacPDstandard2nd1gzz;
+ CCTK_REAL_VEC JacPDstandard2nd1kxy;
+ CCTK_REAL_VEC JacPDstandard2nd1kxz;
+ CCTK_REAL_VEC JacPDstandard2nd1kyy;
+ CCTK_REAL_VEC JacPDstandard2nd1kyz;
+ CCTK_REAL_VEC JacPDstandard2nd1kzz;
+ CCTK_REAL_VEC JacPDstandard2nd21gxx;
+ CCTK_REAL_VEC JacPDstandard2nd21gxy;
+ CCTK_REAL_VEC JacPDstandard2nd21gxz;
+ CCTK_REAL_VEC JacPDstandard2nd21gyy;
+ CCTK_REAL_VEC JacPDstandard2nd21gyz;
+ CCTK_REAL_VEC JacPDstandard2nd21gzz;
+ CCTK_REAL_VEC JacPDstandard2nd22gxx;
+ CCTK_REAL_VEC JacPDstandard2nd22gxy;
+ CCTK_REAL_VEC JacPDstandard2nd22gxz;
+ CCTK_REAL_VEC JacPDstandard2nd22gyz;
+ CCTK_REAL_VEC JacPDstandard2nd22gzz;
+ CCTK_REAL_VEC JacPDstandard2nd23gxx;
+ CCTK_REAL_VEC JacPDstandard2nd23gxy;
+ CCTK_REAL_VEC JacPDstandard2nd23gxz;
+ CCTK_REAL_VEC JacPDstandard2nd23gyy;
+ CCTK_REAL_VEC JacPDstandard2nd23gyz;
+ CCTK_REAL_VEC JacPDstandard2nd23gzz;
+ CCTK_REAL_VEC JacPDstandard2nd2gxx;
+ CCTK_REAL_VEC JacPDstandard2nd2gxy;
+ CCTK_REAL_VEC JacPDstandard2nd2gxz;
+ CCTK_REAL_VEC JacPDstandard2nd2gyy;
+ CCTK_REAL_VEC JacPDstandard2nd2gyz;
+ CCTK_REAL_VEC JacPDstandard2nd2gzz;
+ CCTK_REAL_VEC JacPDstandard2nd2kxx;
+ CCTK_REAL_VEC JacPDstandard2nd2kxy;
+ CCTK_REAL_VEC JacPDstandard2nd2kxz;
+ CCTK_REAL_VEC JacPDstandard2nd2kyz;
+ CCTK_REAL_VEC JacPDstandard2nd2kzz;
+ CCTK_REAL_VEC JacPDstandard2nd31gxx;
+ CCTK_REAL_VEC JacPDstandard2nd31gxy;
+ CCTK_REAL_VEC JacPDstandard2nd31gxz;
+ CCTK_REAL_VEC JacPDstandard2nd31gyy;
+ CCTK_REAL_VEC JacPDstandard2nd31gyz;
+ CCTK_REAL_VEC JacPDstandard2nd31gzz;
+ CCTK_REAL_VEC JacPDstandard2nd32gxx;
+ CCTK_REAL_VEC JacPDstandard2nd32gxy;
+ CCTK_REAL_VEC JacPDstandard2nd32gxz;
+ CCTK_REAL_VEC JacPDstandard2nd32gyy;
+ CCTK_REAL_VEC JacPDstandard2nd32gyz;
+ CCTK_REAL_VEC JacPDstandard2nd32gzz;
+ CCTK_REAL_VEC JacPDstandard2nd33gxx;
+ CCTK_REAL_VEC JacPDstandard2nd33gxy;
+ CCTK_REAL_VEC JacPDstandard2nd33gxz;
+ CCTK_REAL_VEC JacPDstandard2nd33gyy;
+ CCTK_REAL_VEC JacPDstandard2nd33gyz;
+ CCTK_REAL_VEC JacPDstandard2nd3gxx;
+ CCTK_REAL_VEC JacPDstandard2nd3gxy;
+ CCTK_REAL_VEC JacPDstandard2nd3gxz;
+ CCTK_REAL_VEC JacPDstandard2nd3gyy;
+ CCTK_REAL_VEC JacPDstandard2nd3gyz;
+ CCTK_REAL_VEC JacPDstandard2nd3gzz;
+ CCTK_REAL_VEC JacPDstandard2nd3kxx;
+ CCTK_REAL_VEC JacPDstandard2nd3kxy;
+ CCTK_REAL_VEC JacPDstandard2nd3kxz;
+ CCTK_REAL_VEC JacPDstandard2nd3kyy;
+ CCTK_REAL_VEC JacPDstandard2nd3kyz;
+
+ if (use_jacobian)
+ {
+ JacPDstandard2nd1gxx =
+ kmadd(J11L,PDstandard2nd1gxx,kmadd(J21L,PDstandard2nd2gxx,kmul(J31L,PDstandard2nd3gxx)));
+
+ JacPDstandard2nd1gxy =
+ kmadd(J11L,PDstandard2nd1gxy,kmadd(J21L,PDstandard2nd2gxy,kmul(J31L,PDstandard2nd3gxy)));
+
+ JacPDstandard2nd1gxz =
+ kmadd(J11L,PDstandard2nd1gxz,kmadd(J21L,PDstandard2nd2gxz,kmul(J31L,PDstandard2nd3gxz)));
+
+ JacPDstandard2nd1gyy =
+ kmadd(J11L,PDstandard2nd1gyy,kmadd(J21L,PDstandard2nd2gyy,kmul(J31L,PDstandard2nd3gyy)));
+
+ JacPDstandard2nd1gyz =
+ kmadd(J11L,PDstandard2nd1gyz,kmadd(J21L,PDstandard2nd2gyz,kmul(J31L,PDstandard2nd3gyz)));
+
+ JacPDstandard2nd1gzz =
+ kmadd(J11L,PDstandard2nd1gzz,kmadd(J21L,PDstandard2nd2gzz,kmul(J31L,PDstandard2nd3gzz)));
+
+ JacPDstandard2nd1kxy =
+ kmadd(J11L,PDstandard2nd1kxy,kmadd(J21L,PDstandard2nd2kxy,kmul(J31L,PDstandard2nd3kxy)));
+
+ JacPDstandard2nd1kxz =
+ kmadd(J11L,PDstandard2nd1kxz,kmadd(J21L,PDstandard2nd2kxz,kmul(J31L,PDstandard2nd3kxz)));
+
+ JacPDstandard2nd1kyy =
+ kmadd(J11L,PDstandard2nd1kyy,kmadd(J21L,PDstandard2nd2kyy,kmul(J31L,PDstandard2nd3kyy)));
+
+ JacPDstandard2nd1kyz =
+ kmadd(J11L,PDstandard2nd1kyz,kmadd(J21L,PDstandard2nd2kyz,kmul(J31L,PDstandard2nd3kyz)));
+
+ JacPDstandard2nd1kzz =
+ kmadd(J11L,PDstandard2nd1kzz,kmadd(J21L,PDstandard2nd2kzz,kmul(J31L,PDstandard2nd3kzz)));
+
+ JacPDstandard2nd2gxx =
+ kmadd(J12L,PDstandard2nd1gxx,kmadd(J22L,PDstandard2nd2gxx,kmul(J32L,PDstandard2nd3gxx)));
+
+ JacPDstandard2nd2gxy =
+ kmadd(J12L,PDstandard2nd1gxy,kmadd(J22L,PDstandard2nd2gxy,kmul(J32L,PDstandard2nd3gxy)));
+
+ JacPDstandard2nd2gxz =
+ kmadd(J12L,PDstandard2nd1gxz,kmadd(J22L,PDstandard2nd2gxz,kmul(J32L,PDstandard2nd3gxz)));
+
+ JacPDstandard2nd2gyy =
+ kmadd(J12L,PDstandard2nd1gyy,kmadd(J22L,PDstandard2nd2gyy,kmul(J32L,PDstandard2nd3gyy)));
+
+ JacPDstandard2nd2gyz =
+ kmadd(J12L,PDstandard2nd1gyz,kmadd(J22L,PDstandard2nd2gyz,kmul(J32L,PDstandard2nd3gyz)));
+
+ JacPDstandard2nd2gzz =
+ kmadd(J12L,PDstandard2nd1gzz,kmadd(J22L,PDstandard2nd2gzz,kmul(J32L,PDstandard2nd3gzz)));
+
+ JacPDstandard2nd2kxx =
+ kmadd(J12L,PDstandard2nd1kxx,kmadd(J22L,PDstandard2nd2kxx,kmul(J32L,PDstandard2nd3kxx)));
+
+ JacPDstandard2nd2kxy =
+ kmadd(J12L,PDstandard2nd1kxy,kmadd(J22L,PDstandard2nd2kxy,kmul(J32L,PDstandard2nd3kxy)));
+
+ JacPDstandard2nd2kxz =
+ kmadd(J12L,PDstandard2nd1kxz,kmadd(J22L,PDstandard2nd2kxz,kmul(J32L,PDstandard2nd3kxz)));
+
+ JacPDstandard2nd2kyz =
+ kmadd(J12L,PDstandard2nd1kyz,kmadd(J22L,PDstandard2nd2kyz,kmul(J32L,PDstandard2nd3kyz)));
+
+ JacPDstandard2nd2kzz =
+ kmadd(J12L,PDstandard2nd1kzz,kmadd(J22L,PDstandard2nd2kzz,kmul(J32L,PDstandard2nd3kzz)));
+
+ JacPDstandard2nd3gxx =
+ kmadd(J13L,PDstandard2nd1gxx,kmadd(J23L,PDstandard2nd2gxx,kmul(J33L,PDstandard2nd3gxx)));
+
+ JacPDstandard2nd3gxy =
+ kmadd(J13L,PDstandard2nd1gxy,kmadd(J23L,PDstandard2nd2gxy,kmul(J33L,PDstandard2nd3gxy)));
+
+ JacPDstandard2nd3gxz =
+ kmadd(J13L,PDstandard2nd1gxz,kmadd(J23L,PDstandard2nd2gxz,kmul(J33L,PDstandard2nd3gxz)));
+
+ JacPDstandard2nd3gyy =
+ kmadd(J13L,PDstandard2nd1gyy,kmadd(J23L,PDstandard2nd2gyy,kmul(J33L,PDstandard2nd3gyy)));
+
+ JacPDstandard2nd3gyz =
+ kmadd(J13L,PDstandard2nd1gyz,kmadd(J23L,PDstandard2nd2gyz,kmul(J33L,PDstandard2nd3gyz)));
+
+ JacPDstandard2nd3gzz =
+ kmadd(J13L,PDstandard2nd1gzz,kmadd(J23L,PDstandard2nd2gzz,kmul(J33L,PDstandard2nd3gzz)));
+
+ JacPDstandard2nd3kxx =
+ kmadd(J13L,PDstandard2nd1kxx,kmadd(J23L,PDstandard2nd2kxx,kmul(J33L,PDstandard2nd3kxx)));
+
+ JacPDstandard2nd3kxy =
+ kmadd(J13L,PDstandard2nd1kxy,kmadd(J23L,PDstandard2nd2kxy,kmul(J33L,PDstandard2nd3kxy)));
+
+ JacPDstandard2nd3kxz =
+ kmadd(J13L,PDstandard2nd1kxz,kmadd(J23L,PDstandard2nd2kxz,kmul(J33L,PDstandard2nd3kxz)));
+
+ JacPDstandard2nd3kyy =
+ kmadd(J13L,PDstandard2nd1kyy,kmadd(J23L,PDstandard2nd2kyy,kmul(J33L,PDstandard2nd3kyy)));
+
+ JacPDstandard2nd3kyz =
+ kmadd(J13L,PDstandard2nd1kyz,kmadd(J23L,PDstandard2nd2kyz,kmul(J33L,PDstandard2nd3kyz)));
+
+ JacPDstandard2nd11gxy =
+ kmadd(dJ111L,PDstandard2nd1gxy,kmadd(dJ211L,PDstandard2nd2gxy,kmadd(dJ311L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,SQR(J11L),kmadd(PDstandard2nd22gxy,SQR(J21L),kmadd(PDstandard2nd33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy)),kmul(J21L,kmul(J31L,PDstandard2nd23gxy))),ToReal(2))))))));
+
+ JacPDstandard2nd11gxz =
+ kmadd(dJ111L,PDstandard2nd1gxz,kmadd(dJ211L,PDstandard2nd2gxz,kmadd(dJ311L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,SQR(J11L),kmadd(PDstandard2nd22gxz,SQR(J21L),kmadd(PDstandard2nd33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz)),kmul(J21L,kmul(J31L,PDstandard2nd23gxz))),ToReal(2))))))));
+
+ JacPDstandard2nd11gyy =
+ kmadd(dJ111L,PDstandard2nd1gyy,kmadd(dJ211L,PDstandard2nd2gyy,kmadd(dJ311L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,SQR(J11L),kmadd(PDstandard2nd22gyy,SQR(J21L),kmadd(PDstandard2nd33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy)),kmul(J21L,kmul(J31L,PDstandard2nd23gyy))),ToReal(2))))))));
+
+ JacPDstandard2nd11gyz =
+ kmadd(dJ111L,PDstandard2nd1gyz,kmadd(dJ211L,PDstandard2nd2gyz,kmadd(dJ311L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,SQR(J11L),kmadd(PDstandard2nd22gyz,SQR(J21L),kmadd(PDstandard2nd33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz)),kmul(J21L,kmul(J31L,PDstandard2nd23gyz))),ToReal(2))))))));
+
+ JacPDstandard2nd11gzz =
+ kmadd(dJ111L,PDstandard2nd1gzz,kmadd(dJ211L,PDstandard2nd2gzz,kmadd(dJ311L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,SQR(J11L),kmadd(PDstandard2nd22gzz,SQR(J21L),kmadd(PDstandard2nd33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz)),kmul(J21L,kmul(J31L,PDstandard2nd23gzz))),ToReal(2))))))));
+
+ JacPDstandard2nd22gxx =
+ kmadd(dJ122L,PDstandard2nd1gxx,kmadd(dJ222L,PDstandard2nd2gxx,kmadd(dJ322L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,SQR(J12L),kmadd(PDstandard2nd22gxx,SQR(J22L),kmadd(PDstandard2nd33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmul(J22L,kmul(J32L,PDstandard2nd23gxx))),ToReal(2))))))));
+
+ JacPDstandard2nd22gxy =
+ kmadd(dJ122L,PDstandard2nd1gxy,kmadd(dJ222L,PDstandard2nd2gxy,kmadd(dJ322L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,SQR(J12L),kmadd(PDstandard2nd22gxy,SQR(J22L),kmadd(PDstandard2nd33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmul(J22L,kmul(J32L,PDstandard2nd23gxy))),ToReal(2))))))));
+
+ JacPDstandard2nd22gxz =
+ kmadd(dJ122L,PDstandard2nd1gxz,kmadd(dJ222L,PDstandard2nd2gxz,kmadd(dJ322L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,SQR(J12L),kmadd(PDstandard2nd22gxz,SQR(J22L),kmadd(PDstandard2nd33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmul(J22L,kmul(J32L,PDstandard2nd23gxz))),ToReal(2))))))));
+
+ JacPDstandard2nd22gyz =
+ kmadd(dJ122L,PDstandard2nd1gyz,kmadd(dJ222L,PDstandard2nd2gyz,kmadd(dJ322L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,SQR(J12L),kmadd(PDstandard2nd22gyz,SQR(J22L),kmadd(PDstandard2nd33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz)),kmul(J22L,kmul(J32L,PDstandard2nd23gyz))),ToReal(2))))))));
+
+ JacPDstandard2nd22gzz =
+ kmadd(dJ122L,PDstandard2nd1gzz,kmadd(dJ222L,PDstandard2nd2gzz,kmadd(dJ322L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,SQR(J12L),kmadd(PDstandard2nd22gzz,SQR(J22L),kmadd(PDstandard2nd33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmul(J22L,kmul(J32L,PDstandard2nd23gzz))),ToReal(2))))))));
+
+ JacPDstandard2nd33gxx =
+ kmadd(dJ133L,PDstandard2nd1gxx,kmadd(dJ233L,PDstandard2nd2gxx,kmadd(dJ333L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,SQR(J13L),kmadd(PDstandard2nd22gxx,SQR(J23L),kmadd(PDstandard2nd33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmul(J23L,kmul(J33L,PDstandard2nd23gxx))),ToReal(2))))))));
+
+ JacPDstandard2nd33gxy =
+ kmadd(dJ133L,PDstandard2nd1gxy,kmadd(dJ233L,PDstandard2nd2gxy,kmadd(dJ333L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,SQR(J13L),kmadd(PDstandard2nd22gxy,SQR(J23L),kmadd(PDstandard2nd33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmul(J23L,kmul(J33L,PDstandard2nd23gxy))),ToReal(2))))))));
+
+ JacPDstandard2nd33gxz =
+ kmadd(dJ133L,PDstandard2nd1gxz,kmadd(dJ233L,PDstandard2nd2gxz,kmadd(dJ333L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,SQR(J13L),kmadd(PDstandard2nd22gxz,SQR(J23L),kmadd(PDstandard2nd33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmul(J23L,kmul(J33L,PDstandard2nd23gxz))),ToReal(2))))))));
+
+ JacPDstandard2nd33gyy =
+ kmadd(dJ133L,PDstandard2nd1gyy,kmadd(dJ233L,PDstandard2nd2gyy,kmadd(dJ333L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,SQR(J13L),kmadd(PDstandard2nd22gyy,SQR(J23L),kmadd(PDstandard2nd33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmul(J23L,kmul(J33L,PDstandard2nd23gyy))),ToReal(2))))))));
+
+ JacPDstandard2nd33gyz =
+ kmadd(dJ133L,PDstandard2nd1gyz,kmadd(dJ233L,PDstandard2nd2gyz,kmadd(dJ333L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,SQR(J13L),kmadd(PDstandard2nd22gyz,SQR(J23L),kmadd(PDstandard2nd33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmul(J23L,kmul(J33L,PDstandard2nd23gyz))),ToReal(2))))))));
+
+ JacPDstandard2nd12gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmadd(dJ112L,PDstandard2nd1gxx,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ212L,PDstandard2nd2gxx,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ312L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd12gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmadd(dJ112L,PDstandard2nd1gxy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ212L,PDstandard2nd2gxy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ312L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd12gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmadd(dJ112L,PDstandard2nd1gxz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ212L,PDstandard2nd2gxz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ312L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd12gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy)),kmadd(dJ112L,PDstandard2nd1gyy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ212L,PDstandard2nd2gyy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ312L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd12gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz)),kmadd(dJ112L,PDstandard2nd1gyz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ212L,PDstandard2nd2gyz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ312L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd12gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmadd(dJ112L,PDstandard2nd1gzz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ212L,PDstandard2nd2gzz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ312L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd13gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ113L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ213L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ313L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd13gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ113L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ213L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ313L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd13gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ113L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ213L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ313L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd13gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ113L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ213L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ313L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd13gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ113L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ213L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ313L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd13gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ113L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ213L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ313L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd21gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmadd(dJ112L,PDstandard2nd1gxx,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ212L,PDstandard2nd2gxx,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ312L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd21gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmadd(dJ112L,PDstandard2nd1gxy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ212L,PDstandard2nd2gxy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ312L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd21gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmadd(dJ112L,PDstandard2nd1gxz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ212L,PDstandard2nd2gxz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ312L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd21gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy)),kmadd(dJ112L,PDstandard2nd1gyy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ212L,PDstandard2nd2gyy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ312L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd21gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz)),kmadd(dJ112L,PDstandard2nd1gyz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ212L,PDstandard2nd2gyz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ312L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd21gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmadd(dJ112L,PDstandard2nd1gzz,kmadd(J22L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ212L,PDstandard2nd2gzz,kmadd(J32L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ312L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd23gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxx,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ123L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxx,kmul(J32L,PDstandard2nd23gxx)),kmadd(dJ223L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxx,kmul(J32L,PDstandard2nd33gxx)),kmul(dJ323L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd23gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxy,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ123L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxy,kmul(J32L,PDstandard2nd23gxy)),kmadd(dJ223L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxy,kmul(J32L,PDstandard2nd33gxy)),kmul(dJ323L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd23gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxz,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ123L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxz,kmul(J32L,PDstandard2nd23gxz)),kmadd(dJ223L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxz,kmul(J32L,PDstandard2nd33gxz)),kmul(dJ323L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd23gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyy,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ123L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyy,kmul(J32L,PDstandard2nd23gyy)),kmadd(dJ223L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyy,kmul(J32L,PDstandard2nd33gyy)),kmul(dJ323L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd23gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyz,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ123L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyz,kmul(J32L,PDstandard2nd23gyz)),kmadd(dJ223L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyz,kmul(J32L,PDstandard2nd33gyz)),kmul(dJ323L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd23gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gzz,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ123L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gzz,kmul(J32L,PDstandard2nd23gzz)),kmadd(dJ223L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gzz,kmul(J32L,PDstandard2nd33gzz)),kmul(dJ323L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd31gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxx,kmadd(J21L,PDstandard2nd12gxx,kmul(J31L,PDstandard2nd13gxx))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ113L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxx,kmul(J31L,PDstandard2nd23gxx)),kmadd(dJ213L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxx,kmul(J31L,PDstandard2nd33gxx)),kmul(dJ313L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd31gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ113L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ213L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ313L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd31gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gxz,kmadd(J21L,PDstandard2nd12gxz,kmul(J31L,PDstandard2nd13gxz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ113L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gxz,kmul(J31L,PDstandard2nd23gxz)),kmadd(dJ213L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gxz,kmul(J31L,PDstandard2nd33gxz)),kmul(dJ313L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd31gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyy,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ113L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyy,kmul(J31L,PDstandard2nd23gyy)),kmadd(dJ213L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyy,kmul(J31L,PDstandard2nd33gyy)),kmul(dJ313L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd31gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gyz,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ113L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gyz,kmul(J31L,PDstandard2nd23gyz)),kmadd(dJ213L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gyz,kmul(J31L,PDstandard2nd33gyz)),kmul(dJ313L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd31gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard2nd11gzz,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz))),kmadd(J11L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ113L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J21L,PDstandard2nd22gzz,kmul(J31L,PDstandard2nd23gzz)),kmadd(dJ213L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J21L,PDstandard2nd23gzz,kmul(J31L,PDstandard2nd33gzz)),kmul(dJ313L,PDstandard2nd3gzz)))))));
+
+ JacPDstandard2nd32gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxx,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmadd(dJ123L,PDstandard2nd1gxx,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxx,kmul(J32L,PDstandard2nd23gxx)),kmadd(dJ223L,PDstandard2nd2gxx,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxx,kmul(J32L,PDstandard2nd33gxx)),kmul(dJ323L,PDstandard2nd3gxx)))))));
+
+ JacPDstandard2nd32gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxy,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmadd(dJ123L,PDstandard2nd1gxy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxy,kmul(J32L,PDstandard2nd23gxy)),kmadd(dJ223L,PDstandard2nd2gxy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxy,kmul(J32L,PDstandard2nd33gxy)),kmul(dJ323L,PDstandard2nd3gxy)))))));
+
+ JacPDstandard2nd32gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gxz,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gxz,kmul(J33L,PDstandard2nd13gxz)),kmadd(dJ123L,PDstandard2nd1gxz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gxz,kmul(J32L,PDstandard2nd23gxz)),kmadd(dJ223L,PDstandard2nd2gxz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gxz,kmul(J32L,PDstandard2nd33gxz)),kmul(dJ323L,PDstandard2nd3gxz)))))));
+
+ JacPDstandard2nd32gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyy,kmadd(J22L,PDstandard2nd12gyy,kmul(J32L,PDstandard2nd13gyy))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmadd(dJ123L,PDstandard2nd1gyy,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyy,kmul(J32L,PDstandard2nd23gyy)),kmadd(dJ223L,PDstandard2nd2gyy,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyy,kmul(J32L,PDstandard2nd33gyy)),kmul(dJ323L,PDstandard2nd3gyy)))))));
+
+ JacPDstandard2nd32gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gyz,kmadd(J22L,PDstandard2nd12gyz,kmul(J32L,PDstandard2nd13gyz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gyz,kmul(J33L,PDstandard2nd13gyz)),kmadd(dJ123L,PDstandard2nd1gyz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gyz,kmul(J32L,PDstandard2nd23gyz)),kmadd(dJ223L,PDstandard2nd2gyz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gyz,kmul(J32L,PDstandard2nd33gyz)),kmul(dJ323L,PDstandard2nd3gyz)))))));
+
+ JacPDstandard2nd32gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard2nd11gzz,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz))),kmadd(J12L,kmadd(J23L,PDstandard2nd12gzz,kmul(J33L,PDstandard2nd13gzz)),kmadd(dJ123L,PDstandard2nd1gzz,kmadd(J23L,kmadd(J22L,PDstandard2nd22gzz,kmul(J32L,PDstandard2nd23gzz)),kmadd(dJ223L,PDstandard2nd2gzz,kmadd(J33L,kmadd(J22L,PDstandard2nd23gzz,kmul(J32L,PDstandard2nd33gzz)),kmul(dJ323L,PDstandard2nd3gzz)))))));
+ }
+ else
+ {
+ JacPDstandard2nd1gxx = PDstandard2nd1gxx;
+
+ JacPDstandard2nd1gxy = PDstandard2nd1gxy;
+
+ JacPDstandard2nd1gxz = PDstandard2nd1gxz;
+
+ JacPDstandard2nd1gyy = PDstandard2nd1gyy;
+
+ JacPDstandard2nd1gyz = PDstandard2nd1gyz;
+
+ JacPDstandard2nd1gzz = PDstandard2nd1gzz;
+
+ JacPDstandard2nd1kxy = PDstandard2nd1kxy;
+
+ JacPDstandard2nd1kxz = PDstandard2nd1kxz;
+
+ JacPDstandard2nd1kyy = PDstandard2nd1kyy;
+
+ JacPDstandard2nd1kyz = PDstandard2nd1kyz;
+
+ JacPDstandard2nd1kzz = PDstandard2nd1kzz;
+
+ JacPDstandard2nd2gxx = PDstandard2nd2gxx;
+
+ JacPDstandard2nd2gxy = PDstandard2nd2gxy;
+
+ JacPDstandard2nd2gxz = PDstandard2nd2gxz;
+
+ JacPDstandard2nd2gyy = PDstandard2nd2gyy;
+
+ JacPDstandard2nd2gyz = PDstandard2nd2gyz;
+
+ JacPDstandard2nd2gzz = PDstandard2nd2gzz;
+
+ JacPDstandard2nd2kxx = PDstandard2nd2kxx;
+
+ JacPDstandard2nd2kxy = PDstandard2nd2kxy;
+
+ JacPDstandard2nd2kxz = PDstandard2nd2kxz;
+
+ JacPDstandard2nd2kyz = PDstandard2nd2kyz;
+
+ JacPDstandard2nd2kzz = PDstandard2nd2kzz;
+
+ JacPDstandard2nd3gxx = PDstandard2nd3gxx;
+
+ JacPDstandard2nd3gxy = PDstandard2nd3gxy;
+
+ JacPDstandard2nd3gxz = PDstandard2nd3gxz;
+
+ JacPDstandard2nd3gyy = PDstandard2nd3gyy;
+
+ JacPDstandard2nd3gyz = PDstandard2nd3gyz;
+
+ JacPDstandard2nd3gzz = PDstandard2nd3gzz;
+
+ JacPDstandard2nd3kxx = PDstandard2nd3kxx;
+
+ JacPDstandard2nd3kxy = PDstandard2nd3kxy;
+
+ JacPDstandard2nd3kxz = PDstandard2nd3kxz;
+
+ JacPDstandard2nd3kyy = PDstandard2nd3kyy;
+
+ JacPDstandard2nd3kyz = PDstandard2nd3kyz;
+
+ JacPDstandard2nd11gxy = PDstandard2nd11gxy;
+
+ JacPDstandard2nd11gxz = PDstandard2nd11gxz;
+
+ JacPDstandard2nd11gyy = PDstandard2nd11gyy;
+
+ JacPDstandard2nd11gyz = PDstandard2nd11gyz;
+
+ JacPDstandard2nd11gzz = PDstandard2nd11gzz;
+
+ JacPDstandard2nd22gxx = PDstandard2nd22gxx;
+
+ JacPDstandard2nd22gxy = PDstandard2nd22gxy;
+
+ JacPDstandard2nd22gxz = PDstandard2nd22gxz;
+
+ JacPDstandard2nd22gyz = PDstandard2nd22gyz;
+
+ JacPDstandard2nd22gzz = PDstandard2nd22gzz;
+
+ JacPDstandard2nd33gxx = PDstandard2nd33gxx;
+
+ JacPDstandard2nd33gxy = PDstandard2nd33gxy;
+
+ JacPDstandard2nd33gxz = PDstandard2nd33gxz;
+
+ JacPDstandard2nd33gyy = PDstandard2nd33gyy;
+
+ JacPDstandard2nd33gyz = PDstandard2nd33gyz;
+
+ JacPDstandard2nd12gxx = PDstandard2nd12gxx;
+
+ JacPDstandard2nd12gxy = PDstandard2nd12gxy;
+
+ JacPDstandard2nd12gxz = PDstandard2nd12gxz;
+
+ JacPDstandard2nd12gyy = PDstandard2nd12gyy;
+
+ JacPDstandard2nd12gyz = PDstandard2nd12gyz;
+
+ JacPDstandard2nd12gzz = PDstandard2nd12gzz;
+
+ JacPDstandard2nd13gxx = PDstandard2nd13gxx;
+
+ JacPDstandard2nd13gxy = PDstandard2nd13gxy;
+
+ JacPDstandard2nd13gxz = PDstandard2nd13gxz;
+
+ JacPDstandard2nd13gyy = PDstandard2nd13gyy;
+
+ JacPDstandard2nd13gyz = PDstandard2nd13gyz;
+
+ JacPDstandard2nd13gzz = PDstandard2nd13gzz;
+
+ JacPDstandard2nd21gxx = PDstandard2nd12gxx;
+
+ JacPDstandard2nd21gxy = PDstandard2nd12gxy;
+
+ JacPDstandard2nd21gxz = PDstandard2nd12gxz;
+
+ JacPDstandard2nd21gyy = PDstandard2nd12gyy;
+
+ JacPDstandard2nd21gyz = PDstandard2nd12gyz;
+
+ JacPDstandard2nd21gzz = PDstandard2nd12gzz;
+
+ JacPDstandard2nd23gxx = PDstandard2nd23gxx;
+
+ JacPDstandard2nd23gxy = PDstandard2nd23gxy;
+
+ JacPDstandard2nd23gxz = PDstandard2nd23gxz;
+
+ JacPDstandard2nd23gyy = PDstandard2nd23gyy;
+
+ JacPDstandard2nd23gyz = PDstandard2nd23gyz;
+
+ JacPDstandard2nd23gzz = PDstandard2nd23gzz;
+
+ JacPDstandard2nd31gxx = PDstandard2nd13gxx;
+
+ JacPDstandard2nd31gxy = PDstandard2nd13gxy;
+
+ JacPDstandard2nd31gxz = PDstandard2nd13gxz;
+
+ JacPDstandard2nd31gyy = PDstandard2nd13gyy;
+
+ JacPDstandard2nd31gyz = PDstandard2nd13gyz;
+
+ JacPDstandard2nd31gzz = PDstandard2nd13gzz;
+
+ JacPDstandard2nd32gxx = PDstandard2nd23gxx;
+
+ JacPDstandard2nd32gxy = PDstandard2nd23gxy;
+
+ JacPDstandard2nd32gxz = PDstandard2nd23gxz;
+
+ JacPDstandard2nd32gyy = PDstandard2nd23gyy;
+
+ JacPDstandard2nd32gyz = PDstandard2nd23gyz;
+
+ JacPDstandard2nd32gzz = PDstandard2nd23gzz;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+
+ CCTK_REAL_VEC invdetg = INV(detg);
+
+ CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL)));
+
+ CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL)));
+
+ CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL)));
+
+ CCTK_REAL_VEC gamma111 =
+ kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard2nd1gxx,knmsub(gInv12,JacPDstandard2nd2gxx,kmsub(kmadd(gInv12,JacPDstandard2nd1gxy,kmul(gInv13,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv13,JacPDstandard2nd3gxx)))));
+
+ CCTK_REAL_VEC gamma211 =
+ kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard2nd1gxx,knmsub(gInv22,JacPDstandard2nd2gxx,kmsub(kmadd(gInv22,JacPDstandard2nd1gxy,kmul(gInv23,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv23,JacPDstandard2nd3gxx)))));
+
+ CCTK_REAL_VEC gamma311 =
+ kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard2nd1gxx,knmsub(gInv32,JacPDstandard2nd2gxx,kmsub(kmadd(gInv32,JacPDstandard2nd1gxy,kmul(gInv33,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv33,JacPDstandard2nd3gxx)))));
+
+ CCTK_REAL_VEC gamma121 =
+ kmul(kmadd(gInv12,JacPDstandard2nd1gyy,kmadd(gInv11,JacPDstandard2nd2gxx,kmul(gInv13,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma221 =
+ kmul(kmadd(gInv22,JacPDstandard2nd1gyy,kmadd(gInv21,JacPDstandard2nd2gxx,kmul(gInv23,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma321 =
+ kmul(kmadd(gInv32,JacPDstandard2nd1gyy,kmadd(gInv31,JacPDstandard2nd2gxx,kmul(gInv33,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma131 =
+ kmul(kmadd(gInv13,JacPDstandard2nd1gzz,kmadd(gInv11,JacPDstandard2nd3gxx,kmul(gInv12,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma231 =
+ kmul(kmadd(gInv23,JacPDstandard2nd1gzz,kmadd(gInv21,JacPDstandard2nd3gxx,kmul(gInv22,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma331 =
+ kmul(kmadd(gInv33,JacPDstandard2nd1gzz,kmadd(gInv31,JacPDstandard2nd3gxx,kmul(gInv32,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma122 =
+ kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2nd2gyy,kmadd(gInv11,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv13,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+
+ CCTK_REAL_VEC gamma222 =
+ kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2nd2gyy,kmadd(gInv21,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv23,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+
+ CCTK_REAL_VEC gamma322 =
+ kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2nd2gyy,kmadd(gInv31,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv33,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+
+ CCTK_REAL_VEC gamma132 =
+ kmul(kmadd(gInv13,JacPDstandard2nd2gzz,kmadd(gInv12,JacPDstandard2nd3gyy,kmul(gInv11,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma232 =
+ kmul(kmadd(gInv23,JacPDstandard2nd2gzz,kmadd(gInv22,JacPDstandard2nd3gyy,kmul(gInv21,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma332 =
+ kmul(kmadd(gInv33,JacPDstandard2nd2gzz,kmadd(gInv32,JacPDstandard2nd3gyy,kmul(gInv31,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma133 =
+ kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard2nd3gzz,kmadd(gInv11,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv12,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+
+ CCTK_REAL_VEC gamma233 =
+ kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard2nd3gzz,kmadd(gInv21,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv22,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+
+ CCTK_REAL_VEC gamma333 =
+ kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard2nd3gzz,kmadd(gInv31,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv32,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+
+ CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig));
+
+ CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig));
+
+ CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig));
+
+ CCTK_REAL_VEC va1 = kneg(ymoved);
+
+ CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC va3 = ToReal(0);
+
+ CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC vb2 = ymoved;
+
+ CCTK_REAL_VEC vb3 = zmoved;
+
+ CCTK_REAL_VEC vc1 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
- CCTK_REAL invdetg = INV(detg);
+ CCTK_REAL_VEC vc2 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
- CCTK_REAL gInv11 = invdetg*(gyyL*gzzL - SQR(gyzL));
+ CCTK_REAL_VEC vc3 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
- CCTK_REAL gInv12 = (gxzL*gyzL - gxyL*gzzL)*invdetg;
+ CCTK_REAL_VEC wa1 = va1;
- CCTK_REAL gInv13 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg;
+ CCTK_REAL_VEC wa2 = va2;
- CCTK_REAL gInv21 = (gxzL*gyzL - gxyL*gzzL)*invdetg;
+ CCTK_REAL_VEC wa3 = va3;
- CCTK_REAL gInv22 = invdetg*(gxxL*gzzL - SQR(gxzL));
+ CCTK_REAL_VEC omega11 =
+ kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
- CCTK_REAL gInv23 = (gxyL*gxzL - gxxL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11)));
- CCTK_REAL gInv31 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11)));
- CCTK_REAL gInv32 = (gxyL*gxzL - gxxL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11)));
- CCTK_REAL gInv33 = invdetg*(gxxL*gyyL - SQR(gxyL));
+ CCTK_REAL_VEC omega12 =
+ kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
- CCTK_REAL gamma111 = 0.5*(gInv11*PDstandard2nd1gxx +
- 2*(gInv12*PDstandard2nd1gxy + gInv13*PDstandard2nd1gxz) -
- gInv12*PDstandard2nd2gxx - gInv13*PDstandard2nd3gxx);
+ CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1);
- CCTK_REAL gamma211 = 0.5*(gInv21*PDstandard2nd1gxx +
- 2*(gInv22*PDstandard2nd1gxy + gInv23*PDstandard2nd1gxz) -
- gInv22*PDstandard2nd2gxx - gInv23*PDstandard2nd3gxx);
+ CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2);
- CCTK_REAL gamma311 = 0.5*(gInv31*PDstandard2nd1gxx +
- 2*(gInv32*PDstandard2nd1gxy + gInv33*PDstandard2nd1gxz) -
- gInv32*PDstandard2nd2gxx - gInv33*PDstandard2nd3gxx);
+ CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3);
- CCTK_REAL gamma121 = 0.5*(gInv12*PDstandard2nd1gyy +
- gInv11*PDstandard2nd2gxx + gInv13*(PDstandard2nd1gyz +
- PDstandard2nd2gxz - PDstandard2nd3gxy));
+ CCTK_REAL_VEC omega22 =
+ kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
- CCTK_REAL gamma221 = 0.5*(gInv22*PDstandard2nd1gyy +
- gInv21*PDstandard2nd2gxx + gInv23*(PDstandard2nd1gyz +
- PDstandard2nd2gxz - PDstandard2nd3gxy));
+ CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22)));
- CCTK_REAL gamma321 = 0.5*(gInv32*PDstandard2nd1gyy +
- gInv31*PDstandard2nd2gxx + gInv33*(PDstandard2nd1gyz +
- PDstandard2nd2gxz - PDstandard2nd3gxy));
+ CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22)));
- CCTK_REAL gamma131 = 0.5*(gInv13*PDstandard2nd1gzz +
- gInv11*PDstandard2nd3gxx + gInv12*(PDstandard2nd1gyz -
- PDstandard2nd2gxz + PDstandard2nd3gxy));
+ CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22)));
- CCTK_REAL gamma231 = 0.5*(gInv23*PDstandard2nd1gzz +
- gInv21*PDstandard2nd3gxx + gInv22*(PDstandard2nd1gyz -
- PDstandard2nd2gxz + PDstandard2nd3gxy));
+ CCTK_REAL_VEC omega13 =
+ kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
- CCTK_REAL gamma331 = 0.5*(gInv33*PDstandard2nd1gzz +
- gInv31*PDstandard2nd3gxx + gInv32*(PDstandard2nd1gyz -
- PDstandard2nd2gxz + PDstandard2nd3gxy));
+ CCTK_REAL_VEC omega23 =
+ kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
- CCTK_REAL gamma122 = 0.5*(gInv11*(-PDstandard2nd1gyy +
- 2*PDstandard2nd2gxy) + gInv12*PDstandard2nd2gyy +
- gInv13*(2*PDstandard2nd2gyz - PDstandard2nd3gyy));
+ CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
- CCTK_REAL gamma222 = 0.5*(gInv21*(-PDstandard2nd1gyy +
- 2*PDstandard2nd2gxy) + gInv22*PDstandard2nd2gyy +
- gInv23*(2*PDstandard2nd2gyz - PDstandard2nd3gyy));
+ CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
- CCTK_REAL gamma322 = 0.5*(gInv31*(-PDstandard2nd1gyy +
- 2*PDstandard2nd2gxy) + gInv32*PDstandard2nd2gyy +
- gInv33*(2*PDstandard2nd2gyz - PDstandard2nd3gyy));
+ CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
- CCTK_REAL gamma132 = 0.5*(gInv13*PDstandard2nd2gzz +
- gInv11*(-PDstandard2nd1gyz + PDstandard2nd2gxz + PDstandard2nd3gxy) +
- gInv12*PDstandard2nd3gyy);
+ CCTK_REAL_VEC omega33 =
+ kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
- CCTK_REAL gamma232 = 0.5*(gInv23*PDstandard2nd2gzz +
- gInv21*(-PDstandard2nd1gyz + PDstandard2nd2gxz + PDstandard2nd3gxy) +
- gInv22*PDstandard2nd3gyy);
+ CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33)));
- CCTK_REAL gamma332 = 0.5*(gInv33*PDstandard2nd2gzz +
- gInv31*(-PDstandard2nd1gyz + PDstandard2nd2gxz + PDstandard2nd3gxy) +
- gInv32*PDstandard2nd3gyy);
+ CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33)));
- CCTK_REAL gamma133 = 0.5*(gInv11*(-PDstandard2nd1gzz +
- 2*PDstandard2nd3gxz) + gInv12*(-PDstandard2nd2gzz +
- 2*PDstandard2nd3gyz) + gInv13*PDstandard2nd3gzz);
+ CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33)));
- CCTK_REAL gamma233 = 0.5*(gInv21*(-PDstandard2nd1gzz +
- 2*PDstandard2nd3gxz) + gInv22*(-PDstandard2nd2gzz +
- 2*PDstandard2nd3gyz) + gInv23*PDstandard2nd3gzz);
+ CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524);
- CCTK_REAL gamma333 = 0.5*(gInv31*(-PDstandard2nd1gzz +
- 2*PDstandard2nd3gxz) + gInv32*(-PDstandard2nd2gzz +
- 2*PDstandard2nd3gyz) + gInv33*PDstandard2nd3gzz);
+ CCTK_REAL_VEC ltet1 = kmul(eb1,isqrt2);
- CCTK_REAL xmoved = xL - ToReal(xorig);
+ CCTK_REAL_VEC ltet2 = kmul(eb2,isqrt2);
- CCTK_REAL ymoved = yL - ToReal(yorig);
+ CCTK_REAL_VEC ltet3 = kmul(eb3,isqrt2);
- CCTK_REAL zmoved = zL - ToReal(zorig);
+ CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2));
- CCTK_REAL va1 = -ymoved;
+ CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2));
- CCTK_REAL va2 = xmoved + ToReal(offset);
+ CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2));
- CCTK_REAL va3 = 0;
+ CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2);
- CCTK_REAL vb1 = xmoved + ToReal(offset);
+ CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2);
- CCTK_REAL vb2 = ymoved;
+ CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2);
- CCTK_REAL vb3 = zmoved;
+ CCTK_REAL_VEC im1 = kmul(ea1,isqrt2);
- CCTK_REAL vc1 = ((-(gInv13*va2) + gInv12*va3)*vb1 + (gInv13*va1 -
- gInv11*va3)*vb2 + (-(gInv12*va1) + gInv11*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC im2 = kmul(ea2,isqrt2);
- CCTK_REAL vc2 = ((-(gInv23*va2) + gInv22*va3)*vb1 + (gInv23*va1 -
- gInv21*va3)*vb2 + (-(gInv22*va1) + gInv21*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC im3 = kmul(ea3,isqrt2);
- CCTK_REAL vc3 = ((-(gInv33*va2) + gInv32*va3)*vb1 + (gInv33*va1 -
- gInv31*va3)*vb2 + (-(gInv32*va1) + gInv31*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2);
- CCTK_REAL wa1 = va1;
+ CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2);
- CCTK_REAL wa2 = va2;
+ CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2);
- CCTK_REAL wa3 = va3;
+ CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2));
- CCTK_REAL omega11 = 2*(gyzL*wa2*wa3 + wa1*(gxyL*wa2 + gxzL*wa3)) +
- gxxL*SQR(wa1) + gyyL*SQR(wa2) + gzzL*SQR(wa3);
+ CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2));
- CCTK_REAL ea1 = wa1*INV(sqrt(omega11));
+ CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2));
- CCTK_REAL ea2 = wa2*INV(sqrt(omega11));
+ CCTK_REAL_VEC nn = isqrt2;
- CCTK_REAL ea3 = wa3*INV(sqrt(omega11));
+ CCTK_REAL_VEC R1111 = ToReal(0);
- CCTK_REAL omega12 = ea1*(gxxL*vb1 + gxyL*vb2 + gxzL*vb3) +
- ea2*(gxyL*vb1 + gyyL*vb2 + gyzL*vb3) + ea3*(gxzL*vb1 + gyzL*vb2 +
- gzzL*vb3);
+ CCTK_REAL_VEC R1112 =
+ kmul(ksub(JacPDstandard2nd21gxx,JacPDstandard2nd12gxx),ToReal(0.5));
- CCTK_REAL wb1 = -(ea1*omega12) + vb1;
+ CCTK_REAL_VEC R1113 =
+ kmul(ksub(JacPDstandard2nd31gxx,JacPDstandard2nd13gxx),ToReal(0.5));
- CCTK_REAL wb2 = -(ea2*omega12) + vb2;
+ CCTK_REAL_VEC R1121 =
+ kmul(ksub(JacPDstandard2nd21gxx,JacPDstandard2nd12gxx),ToReal(0.5));
- CCTK_REAL wb3 = -(ea3*omega12) + vb3;
+ CCTK_REAL_VEC R1122 =
+ ksub(JacPDstandard2nd21gxy,JacPDstandard2nd12gxy);
- CCTK_REAL omega22 = 2*(gyzL*wb2*wb3 + wb1*(gxyL*wb2 + gxzL*wb3)) +
- gxxL*SQR(wb1) + gyyL*SQR(wb2) + gzzL*SQR(wb3);
+ CCTK_REAL_VEC R1123 =
+ kmul(kadd(JacPDstandard2nd21gxz,ksub(JacPDstandard2nd31gxy,kadd(JacPDstandard2nd13gxy,JacPDstandard2nd12gxz))),ToReal(0.5));
- CCTK_REAL eb1 = wb1*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1131 =
+ kmul(ksub(JacPDstandard2nd31gxx,JacPDstandard2nd13gxx),ToReal(0.5));
- CCTK_REAL eb2 = wb2*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1132 =
+ kmul(kadd(JacPDstandard2nd21gxz,ksub(JacPDstandard2nd31gxy,kadd(JacPDstandard2nd13gxy,JacPDstandard2nd12gxz))),ToReal(0.5));
- CCTK_REAL eb3 = wb3*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1133 =
+ ksub(JacPDstandard2nd31gxz,JacPDstandard2nd13gxz);
- CCTK_REAL omega13 = ea1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) +
- ea2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + ea3*(gxzL*vc1 + gyzL*vc2 +
- gzzL*vc3);
+ CCTK_REAL_VEC R1211 =
+ kmul(ksub(JacPDstandard2nd12gxx,JacPDstandard2nd21gxx),ToReal(0.5));
- CCTK_REAL omega23 = eb1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) +
- eb2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + eb3*(gxzL*vc1 + gyzL*vc2 +
- gzzL*vc3);
+ CCTK_REAL_VEC R1212 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxy,kadd(JacPDstandard2nd21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard2nd22gxx),JacPDstandard2nd11gyy)))));
- CCTK_REAL wc1 = -(ea1*omega13) - eb1*omega23 + vc1;
+ CCTK_REAL_VEC R1213 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxz,kadd(JacPDstandard2nd31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxx),JacPDstandard2nd11gyz))))));
- CCTK_REAL wc2 = -(ea2*omega13) - eb2*omega23 + vc2;
+ CCTK_REAL_VEC R1221 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyy,kadd(JacPDstandard2nd22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard2nd21gxy),JacPDstandard2nd12gxy))))),kmul(gxxL,SQR(gamma121)))));
- CCTK_REAL wc3 = -(ea3*omega13) - eb3*omega23 + vc3;
+ CCTK_REAL_VEC R1222 =
+ kmul(ksub(JacPDstandard2nd21gyy,JacPDstandard2nd12gyy),ToReal(0.5));
- CCTK_REAL omega33 = 2*(gyzL*wc2*wc3 + wc1*(gxyL*wc2 + gxzL*wc3)) +
- gxxL*SQR(wc1) + gyyL*SQR(wc2) + gzzL*SQR(wc3);
+ CCTK_REAL_VEC R1223 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd22gxz,kadd(JacPDstandard2nd31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxy),JacPDstandard2nd12gyz))))));
- CCTK_REAL ec1 = wc1*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1231 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd21gxz),JacPDstandard2nd13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL ec2 = wc2*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1232 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gyz,kadd(JacPDstandard2nd32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd22gxz),JacPDstandard2nd13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL ec3 = wc3*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1233 =
+ kmul(kadd(JacPDstandard2nd31gyz,ksub(JacPDstandard2nd32gxz,kadd(JacPDstandard2nd23gxz,JacPDstandard2nd13gyz))),ToReal(0.5));
- CCTK_REAL isqrt2 = 0.707106781186547524;
+ CCTK_REAL_VEC R1311 =
+ kmul(ksub(JacPDstandard2nd13gxx,JacPDstandard2nd31gxx),ToReal(0.5));
- CCTK_REAL n1 = -(eb1*isqrt2);
+ CCTK_REAL_VEC R1312 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxx),JacPDstandard2nd11gyz))))));
- CCTK_REAL n2 = -(eb2*isqrt2);
+ CCTK_REAL_VEC R1313 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxz,kadd(JacPDstandard2nd31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard2nd33gxx),JacPDstandard2nd11gzz)))));
- CCTK_REAL n3 = -(eb3*isqrt2);
+ CCTK_REAL_VEC R1321 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gxy),JacPDstandard2nd12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL rm1 = ec1*isqrt2;
+ CCTK_REAL_VEC R1322 =
+ kmul(kadd(JacPDstandard2nd21gyz,ksub(JacPDstandard2nd23gxy,kadd(JacPDstandard2nd32gxy,JacPDstandard2nd12gyz))),ToReal(0.5));
- CCTK_REAL rm2 = ec2*isqrt2;
+ CCTK_REAL_VEC R1323 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd12gzz))))));
- CCTK_REAL rm3 = ec3*isqrt2;
+ CCTK_REAL_VEC R1331 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gzz,kadd(JacPDstandard2nd33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gxz),JacPDstandard2nd13gxz))))),kmul(gxxL,SQR(gamma131)))));
- CCTK_REAL im1 = ea1*isqrt2;
+ CCTK_REAL_VEC R1332 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gxz),JacPDstandard2nd13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL im2 = ea2*isqrt2;
+ CCTK_REAL_VEC R1333 =
+ kmul(ksub(JacPDstandard2nd31gzz,JacPDstandard2nd13gzz),ToReal(0.5));
- CCTK_REAL im3 = ea3*isqrt2;
+ CCTK_REAL_VEC R2111 =
+ kmul(ksub(JacPDstandard2nd12gxx,JacPDstandard2nd21gxx),ToReal(0.5));
- CCTK_REAL rmbar1 = ec1*isqrt2;
+ CCTK_REAL_VEC R2112 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyy,kadd(JacPDstandard2nd22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard2nd21gxy),JacPDstandard2nd12gxy))))),kmul(gxxL,SQR(gamma121)))));
- CCTK_REAL rmbar2 = ec2*isqrt2;
+ CCTK_REAL_VEC R2113 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd21gxz),JacPDstandard2nd13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL rmbar3 = ec3*isqrt2;
+ CCTK_REAL_VEC R2121 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxy,kadd(JacPDstandard2nd21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard2nd22gxx),JacPDstandard2nd11gyy)))));
- CCTK_REAL imbar1 = -(ea1*isqrt2);
+ CCTK_REAL_VEC R2122 =
+ kmul(ksub(JacPDstandard2nd21gyy,JacPDstandard2nd12gyy),ToReal(0.5));
- CCTK_REAL imbar2 = -(ea2*isqrt2);
+ CCTK_REAL_VEC R2123 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gyz,kadd(JacPDstandard2nd32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd22gxz),JacPDstandard2nd13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL imbar3 = -(ea3*isqrt2);
+ CCTK_REAL_VEC R2131 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxz,kadd(JacPDstandard2nd31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxx),JacPDstandard2nd11gyz))))));
- CCTK_REAL nn = isqrt2;
+ CCTK_REAL_VEC R2132 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd22gxz,kadd(JacPDstandard2nd31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd23gxy),JacPDstandard2nd12gyz))))));
- CCTK_REAL R1111 = 0;
+ CCTK_REAL_VEC R2133 =
+ kmul(kadd(JacPDstandard2nd31gyz,ksub(JacPDstandard2nd32gxz,kadd(JacPDstandard2nd23gxz,JacPDstandard2nd13gyz))),ToReal(0.5));
- CCTK_REAL R1112 = 0;
+ CCTK_REAL_VEC R2211 =
+ ksub(JacPDstandard2nd12gxy,JacPDstandard2nd21gxy);
- CCTK_REAL R1113 = 0;
+ CCTK_REAL_VEC R2212 =
+ kmul(ksub(JacPDstandard2nd12gyy,JacPDstandard2nd21gyy),ToReal(0.5));
- CCTK_REAL R1121 = 0;
+ CCTK_REAL_VEC R2213 =
+ kmul(kadd(JacPDstandard2nd12gyz,ksub(JacPDstandard2nd32gxy,kadd(JacPDstandard2nd23gxy,JacPDstandard2nd21gyz))),ToReal(0.5));
- CCTK_REAL R1122 = 0;
+ CCTK_REAL_VEC R2221 =
+ kmul(ksub(JacPDstandard2nd12gyy,JacPDstandard2nd21gyy),ToReal(0.5));
- CCTK_REAL R1123 = 0;
+ CCTK_REAL_VEC R2222 = ToReal(0);
- CCTK_REAL R1131 = 0;
+ CCTK_REAL_VEC R2223 =
+ kmul(ksub(JacPDstandard2nd32gyy,JacPDstandard2nd23gyy),ToReal(0.5));
- CCTK_REAL R1132 = 0;
+ CCTK_REAL_VEC R2231 =
+ kmul(kadd(JacPDstandard2nd12gyz,ksub(JacPDstandard2nd32gxy,kadd(JacPDstandard2nd23gxy,JacPDstandard2nd21gyz))),ToReal(0.5));
- CCTK_REAL R1133 = 0;
+ CCTK_REAL_VEC R2232 =
+ kmul(ksub(JacPDstandard2nd32gyy,JacPDstandard2nd23gyy),ToReal(0.5));
- CCTK_REAL R1211 = 0;
+ CCTK_REAL_VEC R2233 =
+ ksub(JacPDstandard2nd32gyz,JacPDstandard2nd23gyz);
- CCTK_REAL R1212 = 0.5*((4*gamma121*gamma221 -
- 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 -
- 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 -
- 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL +
- gamma122*gamma211*gxyL + gamma122*gamma311*gxzL +
- gamma211*gamma222*gyyL + gamma222*gamma311*gyzL +
- gamma311*gamma322*gzzL) - PDstandard2nd11gyy + 2*PDstandard2nd12gxy -
- PDstandard2nd22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) +
- 2*gzzL*SQR(gamma321));
+ CCTK_REAL_VEC R2311 =
+ kmul(kadd(JacPDstandard2nd12gxz,ksub(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd31gxy,JacPDstandard2nd21gxz))),ToReal(0.5));
- CCTK_REAL R1213 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard2nd11gyz + PDstandard2nd12gxz
- + PDstandard2nd13gxy - PDstandard2nd23gxx);
+ CCTK_REAL_VEC R2312 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyy,kadd(JacPDstandard2nd22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxy),JacPDstandard2nd21gyz))))));
- CCTK_REAL R1221 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL +
- (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL +
- gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL +
- gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard2nd12gxy +
- 0.5*(PDstandard2nd11gyy + PDstandard2nd22gxx) - gxxL*SQR(gamma121) -
- gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321));
+ CCTK_REAL_VEC R2313 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyz,kadd(JacPDstandard2nd32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd21gzz))))));
- CCTK_REAL R1222 = 0;
+ CCTK_REAL_VEC R2321 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gyz,kadd(JacPDstandard2nd23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gyy),JacPDstandard2nd22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R1223 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard2nd12gyz + PDstandard2nd13gyy
- + PDstandard2nd22gxz - PDstandard2nd23gxy);
+ CCTK_REAL_VEC R2322 =
+ kmul(ksub(JacPDstandard2nd23gyy,JacPDstandard2nd32gyy),ToReal(0.5));
- CCTK_REAL R1231 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard2nd11gyz - PDstandard2nd12gxz
- - PDstandard2nd13gxy + PDstandard2nd23gxx);
-
- CCTK_REAL R1232 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard2nd12gyz - PDstandard2nd13gyy
- - PDstandard2nd22gxz + PDstandard2nd23gxy);
-
- CCTK_REAL R1233 = 0;
-
- CCTK_REAL R1311 = 0;
-
- CCTK_REAL R1312 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard2nd11gyz + PDstandard2nd12gxz
- + PDstandard2nd13gxy - PDstandard2nd23gxx);
-
- CCTK_REAL R1313 = 0.5*((4*gamma131*gamma231 -
- 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 -
- 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 -
- 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL +
- gamma133*gamma211*gxyL + gamma133*gamma311*gxzL +
- gamma211*gamma233*gyyL + gamma233*gamma311*gyzL +
- gamma311*gamma333*gzzL) - PDstandard2nd11gzz + 2*PDstandard2nd13gxz -
- PDstandard2nd33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) +
- 2*gzzL*SQR(gamma331));
-
- CCTK_REAL R1321 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard2nd11gyz - PDstandard2nd12gxz
- - PDstandard2nd13gxy + PDstandard2nd23gxx);
-
- CCTK_REAL R1322 = 0;
-
- CCTK_REAL R1323 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard2nd12gzz + PDstandard2nd13gyz
- + PDstandard2nd23gxz - PDstandard2nd33gxy);
-
- CCTK_REAL R1331 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL +
- (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL +
- gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL +
- gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard2nd13gxz +
- 0.5*(PDstandard2nd11gzz + PDstandard2nd33gxx) - gxxL*SQR(gamma131) -
- gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331));
-
- CCTK_REAL R1332 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard2nd12gzz - PDstandard2nd13gyz
- - PDstandard2nd23gxz + PDstandard2nd33gxy);
-
- CCTK_REAL R1333 = 0;
-
- CCTK_REAL R2111 = 0;
-
- CCTK_REAL R2112 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL +
- (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL +
- gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL +
- gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard2nd12gxy +
- 0.5*(PDstandard2nd11gyy + PDstandard2nd22gxx) - gxxL*SQR(gamma121) -
- gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321));
-
- CCTK_REAL R2113 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard2nd11gyz - PDstandard2nd12gxz
- - PDstandard2nd13gxy + PDstandard2nd23gxx);
-
- CCTK_REAL R2121 = 0.5*((4*gamma121*gamma221 -
- 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 -
- 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 -
- 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL +
- gamma122*gamma211*gxyL + gamma122*gamma311*gxzL +
- gamma211*gamma222*gyyL + gamma222*gamma311*gyzL +
- gamma311*gamma322*gzzL) - PDstandard2nd11gyy + 2*PDstandard2nd12gxy -
- PDstandard2nd22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) +
- 2*gzzL*SQR(gamma321));
-
- CCTK_REAL R2122 = 0;
-
- CCTK_REAL R2123 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard2nd12gyz - PDstandard2nd13gyy
- - PDstandard2nd22gxz + PDstandard2nd23gxy);
-
- CCTK_REAL R2131 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard2nd11gyz + PDstandard2nd12gxz
- + PDstandard2nd13gxy - PDstandard2nd23gxx);
-
- CCTK_REAL R2132 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard2nd12gyz + PDstandard2nd13gyy
- + PDstandard2nd22gxz - PDstandard2nd23gxy);
-
- CCTK_REAL R2133 = 0;
-
- CCTK_REAL R2211 = 0;
-
- CCTK_REAL R2212 = 0;
-
- CCTK_REAL R2213 = 0;
-
- CCTK_REAL R2221 = 0;
-
- CCTK_REAL R2222 = 0;
-
- CCTK_REAL R2223 = 0;
-
- CCTK_REAL R2231 = 0;
-
- CCTK_REAL R2232 = 0;
-
- CCTK_REAL R2233 = 0;
-
- CCTK_REAL R2311 = 0;
-
- CCTK_REAL R2312 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard2nd12gyz + PDstandard2nd13gyy
- + PDstandard2nd22gxz - PDstandard2nd23gxy);
-
- CCTK_REAL R2313 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard2nd12gzz + PDstandard2nd13gyz
- + PDstandard2nd23gxz - PDstandard2nd33gxy);
-
- CCTK_REAL R2321 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard2nd12gyz - PDstandard2nd13gyy
- - PDstandard2nd22gxz + PDstandard2nd23gxy);
-
- CCTK_REAL R2322 = 0;
-
- CCTK_REAL R2323 = 0.5*((4*gamma132*gamma232 -
- 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 -
- 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 -
- 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL +
- gamma133*gamma222*gxyL + gamma133*gamma322*gxzL +
- gamma222*gamma233*gyyL + gamma233*gamma322*gyzL +
- gamma322*gamma333*gzzL) - PDstandard2nd22gzz + 2*PDstandard2nd23gyz -
- PDstandard2nd33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) +
- 2*gzzL*SQR(gamma332));
-
- CCTK_REAL R2331 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard2nd12gzz - PDstandard2nd13gyz
- - PDstandard2nd23gxz + PDstandard2nd33gxy);
-
- CCTK_REAL R2332 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL +
- (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL +
- gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) +
- (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL +
- gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard2nd23gyz +
- 0.5*(PDstandard2nd22gzz + PDstandard2nd33gyy) - gxxL*SQR(gamma132) -
- gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332));
-
- CCTK_REAL R2333 = 0;
-
- CCTK_REAL R3111 = 0;
-
- CCTK_REAL R3112 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard2nd11gyz - PDstandard2nd12gxz
- - PDstandard2nd13gxy + PDstandard2nd23gxx);
-
- CCTK_REAL R3113 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL +
- (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL +
- gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL +
- gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard2nd13gxz +
- 0.5*(PDstandard2nd11gzz + PDstandard2nd33gxx) - gxxL*SQR(gamma131) -
- gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331));
-
- CCTK_REAL R3121 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard2nd11gyz + PDstandard2nd12gxz
- + PDstandard2nd13gxy - PDstandard2nd23gxx);
-
- CCTK_REAL R3122 = 0;
-
- CCTK_REAL R3123 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard2nd12gzz - PDstandard2nd13gyz
- - PDstandard2nd23gxz + PDstandard2nd33gxy);
-
- CCTK_REAL R3131 = 0.5*((4*gamma131*gamma231 -
- 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 -
- 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 -
- 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL +
- gamma133*gamma211*gxyL + gamma133*gamma311*gxzL +
- gamma211*gamma233*gyyL + gamma233*gamma311*gyzL +
- gamma311*gamma333*gzzL) - PDstandard2nd11gzz + 2*PDstandard2nd13gxz -
- PDstandard2nd33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) +
- 2*gzzL*SQR(gamma331));
-
- CCTK_REAL R3132 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard2nd12gzz + PDstandard2nd13gyz
- + PDstandard2nd23gxz - PDstandard2nd33gxy);
-
- CCTK_REAL R3133 = 0;
-
- CCTK_REAL R3211 = 0;
-
- CCTK_REAL R3212 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard2nd12gyz - PDstandard2nd13gyy
- - PDstandard2nd22gxz + PDstandard2nd23gxy);
-
- CCTK_REAL R3213 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard2nd12gzz - PDstandard2nd13gyz
- - PDstandard2nd23gxz + PDstandard2nd33gxy);
+ CCTK_REAL_VEC R2323 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd23gyz,kadd(JacPDstandard2nd32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard2nd33gyy),JacPDstandard2nd22gzz)))));
- CCTK_REAL R3221 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard2nd12gyz + PDstandard2nd13gyy
- + PDstandard2nd22gxz - PDstandard2nd23gxy);
+ CCTK_REAL_VEC R2331 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gyz),JacPDstandard2nd23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R3222 = 0;
+ CCTK_REAL_VEC R2332 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd22gzz,kadd(JacPDstandard2nd33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gyz),JacPDstandard2nd23gyz))))),kmul(gxxL,SQR(gamma132)))));
- CCTK_REAL R3223 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL +
- (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL +
- gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) +
- (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL +
- gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard2nd23gyz +
- 0.5*(PDstandard2nd22gzz + PDstandard2nd33gyy) - gxxL*SQR(gamma132) -
- gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332));
+ CCTK_REAL_VEC R2333 =
+ kmul(ksub(JacPDstandard2nd32gzz,JacPDstandard2nd23gzz),ToReal(0.5));
- CCTK_REAL R3231 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard2nd12gzz + PDstandard2nd13gyz
- + PDstandard2nd23gxz - PDstandard2nd33gxy);
+ CCTK_REAL_VEC R3111 =
+ kmul(ksub(JacPDstandard2nd13gxx,JacPDstandard2nd31gxx),ToReal(0.5));
- CCTK_REAL R3232 = 0.5*((4*gamma132*gamma232 -
- 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 -
- 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 -
- 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL +
- gamma133*gamma222*gxyL + gamma133*gamma322*gxzL +
- gamma222*gamma233*gyyL + gamma233*gamma322*gyzL +
- gamma322*gamma333*gzzL) - PDstandard2nd22gzz + 2*PDstandard2nd23gyz -
- PDstandard2nd33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) +
- 2*gzzL*SQR(gamma332));
+ CCTK_REAL_VEC R3112 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gyz,kadd(JacPDstandard2nd23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gxy),JacPDstandard2nd12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R3233 = 0;
+ CCTK_REAL_VEC R3113 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd11gzz,kadd(JacPDstandard2nd33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gxz),JacPDstandard2nd13gxz))))),kmul(gxxL,SQR(gamma131)))));
- CCTK_REAL R3311 = 0;
+ CCTK_REAL_VEC R3121 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxx),JacPDstandard2nd11gyz))))));
- CCTK_REAL R3312 = 0;
+ CCTK_REAL_VEC R3122 =
+ kmul(kadd(JacPDstandard2nd21gyz,ksub(JacPDstandard2nd23gxy,kadd(JacPDstandard2nd32gxy,JacPDstandard2nd12gyz))),ToReal(0.5));
- CCTK_REAL R3313 = 0;
+ CCTK_REAL_VEC R3123 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd21gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gxz),JacPDstandard2nd13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R3321 = 0;
+ CCTK_REAL_VEC R3131 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxz,kadd(JacPDstandard2nd31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard2nd33gxx),JacPDstandard2nd11gzz)))));
- CCTK_REAL R3322 = 0;
+ CCTK_REAL_VEC R3132 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd12gzz))))));
- CCTK_REAL R3323 = 0;
+ CCTK_REAL_VEC R3133 =
+ kmul(ksub(JacPDstandard2nd31gzz,JacPDstandard2nd13gzz),ToReal(0.5));
- CCTK_REAL R3331 = 0;
+ CCTK_REAL_VEC R3211 =
+ kmul(kadd(JacPDstandard2nd12gxz,ksub(JacPDstandard2nd13gxy,kadd(JacPDstandard2nd31gxy,JacPDstandard2nd21gxz))),ToReal(0.5));
- CCTK_REAL R3332 = 0;
+ CCTK_REAL_VEC R3212 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gyz,kadd(JacPDstandard2nd23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd31gyy),JacPDstandard2nd22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R3333 = 0;
+ CCTK_REAL_VEC R3213 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard2nd12gzz,kadd(JacPDstandard2nd33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd31gyz),JacPDstandard2nd23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R4p1111 = R1111;
+ CCTK_REAL_VEC R3221 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyy,kadd(JacPDstandard2nd22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard2nd32gxy),JacPDstandard2nd21gyz))))));
- CCTK_REAL R4p1112 = R1112;
+ CCTK_REAL_VEC R3222 =
+ kmul(ksub(JacPDstandard2nd23gyy,JacPDstandard2nd32gyy),ToReal(0.5));
- CCTK_REAL R4p1113 = R1113;
+ CCTK_REAL_VEC R3223 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard2nd22gzz,kadd(JacPDstandard2nd33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard2nd32gyz),JacPDstandard2nd23gyz))))),kmul(gxxL,SQR(gamma132)))));
- CCTK_REAL R4p1121 = R1121;
+ CCTK_REAL_VEC R3231 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard2nd13gyz,kadd(JacPDstandard2nd32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard2nd33gxy),JacPDstandard2nd21gzz))))));
- CCTK_REAL R4p1122 = R1122;
+ CCTK_REAL_VEC R3232 =
+ kmul(ToReal(0.5),kadd(JacPDstandard2nd23gyz,kadd(JacPDstandard2nd32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard2nd33gyy),JacPDstandard2nd22gzz)))));
- CCTK_REAL R4p1123 = R1123;
+ CCTK_REAL_VEC R3233 =
+ kmul(ksub(JacPDstandard2nd32gzz,JacPDstandard2nd23gzz),ToReal(0.5));
- CCTK_REAL R4p1131 = R1131;
+ CCTK_REAL_VEC R3311 =
+ ksub(JacPDstandard2nd13gxz,JacPDstandard2nd31gxz);
- CCTK_REAL R4p1132 = R1132;
+ CCTK_REAL_VEC R3312 =
+ kmul(kadd(JacPDstandard2nd13gyz,ksub(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd32gxz,JacPDstandard2nd31gyz))),ToReal(0.5));
- CCTK_REAL R4p1133 = R1133;
+ CCTK_REAL_VEC R3313 =
+ kmul(ksub(JacPDstandard2nd13gzz,JacPDstandard2nd31gzz),ToReal(0.5));
- CCTK_REAL R4p1211 = R1211;
+ CCTK_REAL_VEC R3321 =
+ kmul(kadd(JacPDstandard2nd13gyz,ksub(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd32gxz,JacPDstandard2nd31gyz))),ToReal(0.5));
- CCTK_REAL R4p1212 = kxxL*kyyL + R1212 - SQR(kxyL);
+ CCTK_REAL_VEC R3322 =
+ ksub(JacPDstandard2nd23gyz,JacPDstandard2nd32gyz);
- CCTK_REAL R4p1213 = -(kxyL*kxzL) + kxxL*kyzL + R1213;
+ CCTK_REAL_VEC R3323 =
+ kmul(ksub(JacPDstandard2nd23gzz,JacPDstandard2nd32gzz),ToReal(0.5));
- CCTK_REAL R4p1221 = -(kxxL*kyyL) + R1221 + SQR(kxyL);
+ CCTK_REAL_VEC R3331 =
+ kmul(ksub(JacPDstandard2nd13gzz,JacPDstandard2nd31gzz),ToReal(0.5));
- CCTK_REAL R4p1222 = R1222;
+ CCTK_REAL_VEC R3332 =
+ kmul(ksub(JacPDstandard2nd23gzz,JacPDstandard2nd32gzz),ToReal(0.5));
- CCTK_REAL R4p1223 = -(kxzL*kyyL) + kxyL*kyzL + R1223;
+ CCTK_REAL_VEC R3333 = ToReal(0);
- CCTK_REAL R4p1231 = kxyL*kxzL - kxxL*kyzL + R1231;
+ CCTK_REAL_VEC R4p1111 = R1111;
- CCTK_REAL R4p1232 = kxzL*kyyL - kxyL*kyzL + R1232;
+ CCTK_REAL_VEC R4p1112 = R1112;
- CCTK_REAL R4p1233 = R1233;
+ CCTK_REAL_VEC R4p1113 = R1113;
- CCTK_REAL R4p1311 = R1311;
+ CCTK_REAL_VEC R4p1121 = R1121;
- CCTK_REAL R4p1312 = -(kxyL*kxzL) + kxxL*kyzL + R1312;
+ CCTK_REAL_VEC R4p1122 = R1122;
- CCTK_REAL R4p1313 = kxxL*kzzL + R1313 - SQR(kxzL);
+ CCTK_REAL_VEC R4p1123 = R1123;
- CCTK_REAL R4p1321 = kxyL*kxzL - kxxL*kyzL + R1321;
+ CCTK_REAL_VEC R4p1131 = R1131;
- CCTK_REAL R4p1322 = R1322;
+ CCTK_REAL_VEC R4p1132 = R1132;
- CCTK_REAL R4p1323 = -(kxzL*kyzL) + kxyL*kzzL + R1323;
+ CCTK_REAL_VEC R4p1133 = R1133;
- CCTK_REAL R4p1331 = -(kxxL*kzzL) + R1331 + SQR(kxzL);
+ CCTK_REAL_VEC R4p1211 = R1211;
- CCTK_REAL R4p1332 = kxzL*kyzL - kxyL*kzzL + R1332;
+ CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL)));
- CCTK_REAL R4p1333 = R1333;
+ CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
- CCTK_REAL R4p2111 = R2111;
+ CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL)));
- CCTK_REAL R4p2112 = -(kxxL*kyyL) + R2112 + SQR(kxyL);
+ CCTK_REAL_VEC R4p1222 = R1222;
- CCTK_REAL R4p2113 = kxyL*kxzL - kxxL*kyzL + R2113;
+ CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
- CCTK_REAL R4p2121 = kxxL*kyyL + R2121 - SQR(kxyL);
+ CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231));
- CCTK_REAL R4p2122 = R2122;
+ CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232));
- CCTK_REAL R4p2123 = kxzL*kyyL - kxyL*kyzL + R2123;
+ CCTK_REAL_VEC R4p1233 = R1233;
- CCTK_REAL R4p2131 = -(kxyL*kxzL) + kxxL*kyzL + R2131;
+ CCTK_REAL_VEC R4p1311 = R1311;
- CCTK_REAL R4p2132 = -(kxzL*kyyL) + kxyL*kyzL + R2132;
+ CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312));
- CCTK_REAL R4p2133 = R2133;
+ CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)));
- CCTK_REAL R4p2211 = R2211;
+ CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321));
- CCTK_REAL R4p2212 = R2212;
+ CCTK_REAL_VEC R4p1322 = R1322;
- CCTK_REAL R4p2213 = R2213;
+ CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
- CCTK_REAL R4p2221 = R2221;
+ CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL)));
- CCTK_REAL R4p2222 = R2222;
+ CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332));
- CCTK_REAL R4p2223 = R2223;
+ CCTK_REAL_VEC R4p1333 = R1333;
- CCTK_REAL R4p2231 = R2231;
+ CCTK_REAL_VEC R4p2111 = R2111;
- CCTK_REAL R4p2232 = R2232;
+ CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL)));
- CCTK_REAL R4p2233 = R2233;
+ CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113));
- CCTK_REAL R4p2311 = R2311;
+ CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL)));
- CCTK_REAL R4p2312 = -(kxzL*kyyL) + kxyL*kyzL + R2312;
+ CCTK_REAL_VEC R4p2122 = R2122;
- CCTK_REAL R4p2313 = -(kxzL*kyzL) + kxyL*kzzL + R2313;
+ CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123));
- CCTK_REAL R4p2321 = kxzL*kyyL - kxyL*kyzL + R2321;
+ CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131));
- CCTK_REAL R4p2322 = R2322;
+ CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132));
- CCTK_REAL R4p2323 = kyyL*kzzL + R2323 - SQR(kyzL);
+ CCTK_REAL_VEC R4p2133 = R2133;
- CCTK_REAL R4p2331 = kxzL*kyzL - kxyL*kzzL + R2331;
+ CCTK_REAL_VEC R4p2211 = R2211;
- CCTK_REAL R4p2332 = -(kyyL*kzzL) + R2332 + SQR(kyzL);
+ CCTK_REAL_VEC R4p2212 = R2212;
- CCTK_REAL R4p2333 = R2333;
+ CCTK_REAL_VEC R4p2213 = R2213;
- CCTK_REAL R4p3111 = R3111;
+ CCTK_REAL_VEC R4p2221 = R2221;
- CCTK_REAL R4p3112 = kxyL*kxzL - kxxL*kyzL + R3112;
+ CCTK_REAL_VEC R4p2222 = R2222;
- CCTK_REAL R4p3113 = -(kxxL*kzzL) + R3113 + SQR(kxzL);
+ CCTK_REAL_VEC R4p2223 = R2223;
- CCTK_REAL R4p3121 = -(kxyL*kxzL) + kxxL*kyzL + R3121;
+ CCTK_REAL_VEC R4p2231 = R2231;
- CCTK_REAL R4p3122 = R3122;
+ CCTK_REAL_VEC R4p2232 = R2232;
- CCTK_REAL R4p3123 = kxzL*kyzL - kxyL*kzzL + R3123;
+ CCTK_REAL_VEC R4p2233 = R2233;
- CCTK_REAL R4p3131 = kxxL*kzzL + R3131 - SQR(kxzL);
+ CCTK_REAL_VEC R4p2311 = R2311;
- CCTK_REAL R4p3132 = -(kxzL*kyzL) + kxyL*kzzL + R3132;
+ CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312));
- CCTK_REAL R4p3133 = R3133;
+ CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313));
- CCTK_REAL R4p3211 = R3211;
+ CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321));
- CCTK_REAL R4p3212 = kxzL*kyyL - kxyL*kyzL + R3212;
+ CCTK_REAL_VEC R4p2322 = R2322;
- CCTK_REAL R4p3213 = kxzL*kyzL - kxyL*kzzL + R3213;
+ CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)));
- CCTK_REAL R4p3221 = -(kxzL*kyyL) + kxyL*kyzL + R3221;
+ CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331));
- CCTK_REAL R4p3222 = R3222;
+ CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL)));
- CCTK_REAL R4p3223 = -(kyyL*kzzL) + R3223 + SQR(kyzL);
+ CCTK_REAL_VEC R4p2333 = R2333;
- CCTK_REAL R4p3231 = -(kxzL*kyzL) + kxyL*kzzL + R3231;
+ CCTK_REAL_VEC R4p3111 = R3111;
- CCTK_REAL R4p3232 = kyyL*kzzL + R3232 - SQR(kyzL);
+ CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112));
- CCTK_REAL R4p3233 = R3233;
+ CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL)));
- CCTK_REAL R4p3311 = R3311;
+ CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121));
- CCTK_REAL R4p3312 = R3312;
+ CCTK_REAL_VEC R4p3122 = R3122;
- CCTK_REAL R4p3313 = R3313;
+ CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123));
- CCTK_REAL R4p3321 = R3321;
+ CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL)));
- CCTK_REAL R4p3322 = R3322;
+ CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132));
- CCTK_REAL R4p3323 = R3323;
+ CCTK_REAL_VEC R4p3133 = R3133;
- CCTK_REAL R4p3331 = R3331;
+ CCTK_REAL_VEC R4p3211 = R3211;
- CCTK_REAL R4p3332 = R3332;
+ CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212));
- CCTK_REAL R4p3333 = R3333;
+ CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213));
- CCTK_REAL Ro111 = 0;
+ CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221));
- CCTK_REAL Ro112 = gamma121*kxxL + (-gamma111 + gamma221)*kxyL +
- gamma321*kxzL - gamma211*kyyL - gamma311*kyzL + PDstandard2nd1kxy -
- PDstandard2nd2kxx;
+ CCTK_REAL_VEC R4p3222 = R3222;
- CCTK_REAL Ro113 = gamma131*kxxL + gamma231*kxyL + (-gamma111 +
- gamma331)*kxzL - gamma211*kyzL - gamma311*kzzL + PDstandard2nd1kxz -
- PDstandard2nd3kxx;
+ CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL)));
- CCTK_REAL Ro121 = -(gamma121*kxxL) + (gamma111 - gamma221)*kxyL -
- gamma321*kxzL + gamma211*kyyL + gamma311*kyzL - PDstandard2nd1kxy +
- PDstandard2nd2kxx;
+ CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231));
- CCTK_REAL Ro122 = 0;
+ CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)));
- CCTK_REAL Ro123 = gamma131*kxyL - gamma121*kxzL + gamma231*kyyL +
- (-gamma221 + gamma331)*kyzL - gamma321*kzzL + PDstandard2nd2kxz -
- PDstandard2nd3kxy;
+ CCTK_REAL_VEC R4p3233 = R3233;
- CCTK_REAL Ro131 = -(gamma131*kxxL) - gamma231*kxyL + (gamma111 -
- gamma331)*kxzL + gamma211*kyzL + gamma311*kzzL - PDstandard2nd1kxz +
- PDstandard2nd3kxx;
+ CCTK_REAL_VEC R4p3311 = R3311;
- CCTK_REAL Ro132 = -(gamma131*kxyL) + gamma121*kxzL - gamma231*kyyL +
- (gamma221 - gamma331)*kyzL + gamma321*kzzL - PDstandard2nd2kxz +
- PDstandard2nd3kxy;
+ CCTK_REAL_VEC R4p3312 = R3312;
- CCTK_REAL Ro133 = 0;
+ CCTK_REAL_VEC R4p3313 = R3313;
- CCTK_REAL Ro211 = 0;
+ CCTK_REAL_VEC R4p3321 = R3321;
- CCTK_REAL Ro212 = gamma122*kxxL + (-gamma121 + gamma222)*kxyL +
- gamma322*kxzL - gamma221*kyyL - gamma321*kyzL + PDstandard2nd1kyy -
- PDstandard2nd2kxy;
+ CCTK_REAL_VEC R4p3322 = R3322;
- CCTK_REAL Ro213 = gamma132*kxxL + gamma232*kxyL + (-gamma121 +
- gamma332)*kxzL - gamma221*kyzL - gamma321*kzzL + PDstandard2nd1kyz -
- PDstandard2nd3kxy;
+ CCTK_REAL_VEC R4p3323 = R3323;
- CCTK_REAL Ro221 = -(gamma122*kxxL) + (gamma121 - gamma222)*kxyL -
- gamma322*kxzL + gamma221*kyyL + gamma321*kyzL - PDstandard2nd1kyy +
- PDstandard2nd2kxy;
+ CCTK_REAL_VEC R4p3331 = R3331;
- CCTK_REAL Ro222 = 0;
+ CCTK_REAL_VEC R4p3332 = R3332;
- CCTK_REAL Ro223 = gamma132*kxyL - gamma122*kxzL + gamma232*kyyL +
- (-gamma222 + gamma332)*kyzL - gamma322*kzzL + PDstandard2nd2kyz -
- PDstandard2nd3kyy;
+ CCTK_REAL_VEC R4p3333 = R3333;
- CCTK_REAL Ro231 = -(gamma132*kxxL) - gamma232*kxyL + (gamma121 -
- gamma332)*kxzL + gamma221*kyzL + gamma321*kzzL - PDstandard2nd1kyz +
- PDstandard2nd3kxy;
+ CCTK_REAL_VEC Ro111 = ToReal(0);
- CCTK_REAL Ro232 = -(gamma132*kxyL) + gamma122*kxzL - gamma232*kyyL +
- (gamma222 - gamma332)*kyzL + gamma322*kzzL - PDstandard2nd2kyz +
- PDstandard2nd3kyy;
+ CCTK_REAL_VEC Ro112 =
+ kadd(JacPDstandard2nd1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard2nd2kxx))));
- CCTK_REAL Ro233 = 0;
+ CCTK_REAL_VEC Ro113 =
+ kadd(JacPDstandard2nd1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard2nd3kxx))));
- CCTK_REAL Ro311 = 0;
+ CCTK_REAL_VEC Ro121 =
+ kadd(JacPDstandard2nd2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard2nd1kxy))));
- CCTK_REAL Ro312 = gamma132*kxxL + (-gamma131 + gamma232)*kxyL +
- gamma332*kxzL - gamma231*kyyL - gamma331*kyzL + PDstandard2nd1kyz -
- PDstandard2nd2kxz;
+ CCTK_REAL_VEC Ro122 = ToReal(0);
- CCTK_REAL Ro313 = gamma133*kxxL + gamma233*kxyL + (-gamma131 +
- gamma333)*kxzL - gamma231*kyzL - gamma331*kzzL + PDstandard2nd1kzz -
- PDstandard2nd3kxz;
+ CCTK_REAL_VEC Ro123 =
+ kadd(JacPDstandard2nd2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard2nd3kxy))));
- CCTK_REAL Ro321 = -(gamma132*kxxL) + (gamma131 - gamma232)*kxyL -
- gamma332*kxzL + gamma231*kyyL + gamma331*kyzL - PDstandard2nd1kyz +
- PDstandard2nd2kxz;
+ CCTK_REAL_VEC Ro131 =
+ kadd(JacPDstandard2nd3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard2nd1kxz))));
- CCTK_REAL Ro322 = 0;
-
- CCTK_REAL Ro323 = gamma133*kxyL - gamma132*kxzL + gamma233*kyyL +
- (-gamma232 + gamma333)*kyzL - gamma332*kzzL + PDstandard2nd2kzz -
- PDstandard2nd3kyz;
-
- CCTK_REAL Ro331 = -(gamma133*kxxL) - gamma233*kxyL + (gamma131 -
- gamma333)*kxzL + gamma231*kyzL + gamma331*kzzL - PDstandard2nd1kzz +
- PDstandard2nd3kxz;
-
- CCTK_REAL Ro332 = -(gamma133*kxyL) + gamma132*kxzL - gamma233*kyyL +
- (gamma232 - gamma333)*kyzL + gamma332*kzzL - PDstandard2nd2kzz +
- PDstandard2nd3kyz;
-
- CCTK_REAL Ro333 = 0;
-
- CCTK_REAL Rojo11 = gInv11*R1111 + gInv12*R1112 + gInv13*R1113 +
- gInv21*R1211 + gInv23*(-(kxyL*kxzL) + kxxL*kyzL + R1213) + gInv31*R1311
- + gInv32*(-(kxyL*kxzL) + kxxL*kyzL + R1312) + gInv22*(kxxL*kyyL + R1212
- - SQR(kxyL)) + gInv33*(kxxL*kzzL + R1313 - SQR(kxzL));
-
- CCTK_REAL Rojo12 = gInv11*R1121 + gInv13*(kxyL*kxzL - kxxL*kyzL +
- R1123) + gInv21*R1221 + gInv22*R1222 + gInv23*R1223 + gInv31*R1321 +
- gInv32*(-(kxzL*kyyL) + kxyL*kyzL + R1322) + gInv33*(-(kxzL*kyzL) +
- kxyL*kzzL + R1323) + gInv12*(-(kxxL*kyyL) + R1122 + SQR(kxyL));
-
- CCTK_REAL Rojo13 = gInv11*R1131 + gInv12*(kxyL*kxzL - kxxL*kyzL +
- R1132) + gInv21*R1231 + gInv22*(kxzL*kyyL - kxyL*kyzL + R1232) +
- gInv23*(kxzL*kyzL - kxyL*kzzL + R1233) + gInv31*R1331 + gInv32*R1332 +
- gInv33*R1333 + gInv13*(-(kxxL*kzzL) + R1133 + SQR(kxzL));
-
- CCTK_REAL Rojo21 = gInv11*R2111 + gInv12*R2112 + gInv13*R2113 +
- gInv22*R2212 + gInv23*(-(kxzL*kyyL) + kxyL*kyzL + R2213) +
- gInv31*(kxyL*kxzL - kxxL*kyzL + R2311) + gInv32*R2312 +
- gInv33*(-(kxzL*kyzL) + kxyL*kzzL + R2313) + gInv21*(-(kxxL*kyyL) +
- R2211 + SQR(kxyL));
-
- CCTK_REAL Rojo22 = gInv12*R2122 + gInv13*(kxzL*kyyL - kxyL*kyzL +
- R2123) + gInv21*R2221 + gInv22*R2222 + gInv23*R2223 + gInv31*(kxzL*kyyL
- - kxyL*kyzL + R2321) + gInv32*R2322 + gInv11*(kxxL*kyyL + R2121 -
- SQR(kxyL)) + gInv33*(kyyL*kzzL + R2323 - SQR(kyzL));
-
- CCTK_REAL Rojo23 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R2131) +
- gInv12*R2132 + gInv13*(kxzL*kyzL - kxyL*kzzL + R2133) +
- gInv21*(-(kxzL*kyyL) + kxyL*kyzL + R2231) + gInv22*R2232 + gInv31*R2331
- + gInv32*R2332 + gInv33*R2333 + gInv23*(-(kyyL*kzzL) + R2233 +
- SQR(kyzL));
-
- CCTK_REAL Rojo31 = gInv11*R3111 + gInv12*R3112 + gInv13*R3113 +
- gInv21*(kxyL*kxzL - kxxL*kyzL + R3211) + gInv22*(kxzL*kyyL - kxyL*kyzL
- + R3212) + gInv23*R3213 + gInv32*(kxzL*kyzL - kxyL*kzzL + R3312) +
- gInv33*R3313 + gInv31*(-(kxxL*kzzL) + R3311 + SQR(kxzL));
-
- CCTK_REAL Rojo32 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R3121) +
- gInv12*(-(kxzL*kyyL) + kxyL*kyzL + R3122) + gInv13*R3123 + gInv21*R3221
- + gInv22*R3222 + gInv23*R3223 + gInv31*(kxzL*kyzL - kxyL*kzzL + R3321)
- + gInv33*R3323 + gInv32*(-(kyyL*kzzL) + R3322 + SQR(kyzL));
-
- CCTK_REAL Rojo33 = gInv12*(-(kxzL*kyzL) + kxyL*kzzL + R3132) +
- gInv13*R3133 + gInv21*(-(kxzL*kyzL) + kxyL*kzzL + R3231) + gInv23*R3233
- + gInv31*R3331 + gInv32*R3332 + gInv33*R3333 + gInv11*(kxxL*kzzL +
- R3131 - SQR(kxzL)) + gInv22*(kyyL*kzzL + R3232 - SQR(kyzL));
-
- CCTK_REAL Psi4rL = n3*(-(n2*R4p2333) - n1*R4p3313)*SQR(imbar3) +
- n1*(n3*R4p1132*rmbar1*rmbar2 + n2*R4p1221*rmbar1*rmbar2 +
- n3*R4p1231*rmbar1*rmbar2 + n2*R4p1123*rmbar1*rmbar3 +
- n3*R4p1331*rmbar1*rmbar3 + n2*R4p2113*rmbar1*rmbar3 +
- n3*R4p1233*rmbar2*rmbar3 + n2*R4p1322*rmbar2*rmbar3 +
- n3*R4p1332*rmbar2*rmbar3 + n2*R4p2213*rmbar2*rmbar3 +
- 2*nn*rmbar1*rmbar2*Ro112 + 2*nn*rmbar1*rmbar3*Ro113 +
- 2*nn*rmbar1*rmbar2*Ro211 + 2*nn*rmbar2*rmbar3*Ro213 +
- 2*nn*rmbar1*rmbar3*Ro311 + 2*nn*rmbar2*rmbar3*Ro312 +
- n2*(R4p1122*rmbar1*rmbar2 - R4p1323*SQR(imbar3))) +
- n3*(n2*R4p3122*rmbar1*rmbar2 + n1*R4p3211*rmbar1*rmbar2 +
- n2*R4p3221*rmbar1*rmbar2 + n1*R4p1133*rmbar1*rmbar3 +
- n2*R4p2331*rmbar1*rmbar3 + n1*R4p3113*rmbar1*rmbar3 +
- n2*R4p3123*rmbar1*rmbar3 + n1*R4p3311*rmbar1*rmbar3 +
- n2*R4p2332*rmbar2*rmbar3 + n1*R4p3213*rmbar2*rmbar3 +
- n2*R4p3223*rmbar2*rmbar3 + n1*R4p3312*rmbar2*rmbar3 +
- n2*R4p3322*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro132 +
- 2*nn*rmbar1*rmbar3*Ro133 + 2*nn*rmbar1*rmbar2*Ro231 +
- 2*nn*rmbar2*rmbar3*Ro233 + 2*nn*rmbar1*rmbar3*Ro331 +
- 2*nn*rmbar2*rmbar3*Ro332 + n1*(R4p3112*rmbar1*rmbar2 -
- R4p1333*SQR(imbar3))) + n2*(n3*R4p2132*rmbar1*rmbar2 +
- n1*R4p2211*rmbar1*rmbar2 + n3*R4p2231*rmbar1*rmbar2 +
- n1*R4p1321*rmbar1*rmbar3 + n3*R4p2133*rmbar1*rmbar3 +
- n1*R4p2311*rmbar1*rmbar3 + n3*R4p3321*rmbar1*rmbar3 +
- n1*R4p1223*rmbar2*rmbar3 + n3*R4p2233*rmbar2*rmbar3 +
- n1*R4p2312*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro122 +
- 2*nn*rmbar1*rmbar3*Ro123 + 2*nn*rmbar1*rmbar2*Ro221 +
- 2*nn*rmbar2*rmbar3*Ro223 + 2*nn*rmbar1*rmbar3*Ro321 +
- 2*nn*rmbar2*rmbar3*Ro322 + n1*(R4p2112*rmbar1*rmbar2 -
- R4p2313*SQR(imbar3))) + R4p1112*rmbar1*rmbar2*SQR(n1) +
- R4p1211*rmbar1*rmbar2*SQR(n1) + R4p1113*rmbar1*rmbar3*SQR(n1) +
- R4p1311*rmbar1*rmbar3*SQR(n1) + R4p1213*rmbar2*rmbar3*SQR(n1) +
- R4p1312*rmbar2*rmbar3*SQR(n1) + R4p2122*rmbar1*rmbar2*SQR(n2) +
- R4p2221*rmbar1*rmbar2*SQR(n2) + R4p2123*rmbar1*rmbar3*SQR(n2) +
- R4p2321*rmbar1*rmbar3*SQR(n2) + R4p2223*rmbar2*rmbar3*SQR(n2) +
- R4p2322*rmbar2*rmbar3*SQR(n2) + SQR(imbar3)*(-2*n2*nn*Ro323 -
- R4p2323*SQR(n2)) + R4p3132*rmbar1*rmbar2*SQR(n3) +
- R4p3231*rmbar1*rmbar2*SQR(n3) + R4p3133*rmbar1*rmbar3*SQR(n3) +
- R4p3331*rmbar1*rmbar3*SQR(n3) + R4p3233*rmbar2*rmbar3*SQR(n3) +
- R4p3332*rmbar2*rmbar3*SQR(n3) + SQR(imbar3)*(-2*n3*nn*Ro333 -
- R4p3333*SQR(n3)) + rmbar1*rmbar2*Rojo12*SQR(nn) +
- rmbar1*rmbar3*Rojo13*SQR(nn) + rmbar1*rmbar2*Rojo21*SQR(nn) +
- rmbar2*rmbar3*Rojo23*SQR(nn) + rmbar1*rmbar3*Rojo31*SQR(nn) +
- rmbar2*rmbar3*Rojo32*SQR(nn) - SQR(imbar1)*(n2*n3*R4p2131 +
- n2*n3*R4p3121 + n1*(n2*(R4p1121 + R4p2111) + n3*(R4p1131 + R4p3111) +
- 2*nn*Ro111) + 2*n2*nn*Ro121 + 2*n3*nn*Ro131 + R4p1111*SQR(n1) +
- R4p2121*SQR(n2) + R4p3131*SQR(n3) + Rojo11*SQR(nn)) -
- SQR(imbar2)*(n2*n3*R4p2232 + n2*n3*R4p3222 + n1*(n2*(R4p1222 + R4p2212)
- + n3*(R4p1232 + R4p3212) + 2*nn*Ro212) + 2*n2*nn*Ro222 + 2*n3*nn*Ro232
- + R4p1212*SQR(n1) + R4p2222*SQR(n2) + R4p3232*SQR(n3) + Rojo22*SQR(nn))
- - imbar2*imbar3*(2*n3*nn*Ro233 + n1*(n2*(R4p1223 + R4p1322 + R4p2213 +
- R4p2312) + n3*(R4p1233 + R4p1332 + R4p3213 + R4p3312) + 2*nn*(Ro213 +
- Ro312)) + n2*(n3*(R4p2233 + R4p2332 + R4p3223 + R4p3322) + 2*nn*(Ro223
- + Ro322)) + 2*n3*nn*Ro332 + (R4p1213 + R4p1312)*SQR(n1) + (R4p2223 +
- R4p2322)*SQR(n2) + R4p3233*SQR(n3) + R4p3332*SQR(n3) + Rojo23*SQR(nn) +
- Rojo32*SQR(nn)) + SQR(imbar3)*(-(n2*n3*R4p3323) - 2*n1*nn*Ro313 -
- R4p1313*SQR(n1) - Rojo33*SQR(nn)) - imbar1*(imbar2*(2*n3*nn*Ro132 +
- n1*(n2*(R4p1122 + R4p1221 + R4p2112 + R4p2211) + n3*(R4p1132 + R4p1231
- + R4p3112 + R4p3211) + 2*nn*(Ro112 + Ro211)) + n2*(n3*(R4p2132 +
- R4p2231 + R4p3122 + R4p3221) + 2*nn*(Ro122 + Ro221)) + 2*n3*nn*Ro231 +
- (R4p1112 + R4p1211)*SQR(n1) + (R4p2122 + R4p2221)*SQR(n2) +
- R4p3132*SQR(n3) + R4p3231*SQR(n3) + Rojo12*SQR(nn) + Rojo21*SQR(nn)) +
- imbar3*(2*n3*nn*Ro133 + n1*(n2*(R4p1123 + R4p1321 + R4p2113 + R4p2311)
- + n3*(R4p1133 + R4p1331 + R4p3113 + R4p3311) + 2*nn*(Ro113 + Ro311)) +
- n2*(n3*(R4p2133 + R4p2331 + R4p3123 + R4p3321) + 2*nn*(Ro123 + Ro321))
- + 2*n3*nn*Ro331 + (R4p1113 + R4p1311)*SQR(n1) + (R4p2123 +
- R4p2321)*SQR(n2) + R4p3133*SQR(n3) + R4p3331*SQR(n3) + Rojo13*SQR(nn) +
- Rojo31*SQR(nn))) + n1*n2*R4p1121*SQR(rmbar1) +
- n1*n3*R4p1131*SQR(rmbar1) + n1*n2*R4p2111*SQR(rmbar1) +
- n2*n3*R4p2131*SQR(rmbar1) + n1*n3*R4p3111*SQR(rmbar1) +
- n2*n3*R4p3121*SQR(rmbar1) + 2*n1*nn*Ro111*SQR(rmbar1) +
- 2*n2*nn*Ro121*SQR(rmbar1) + 2*n3*nn*Ro131*SQR(rmbar1) +
- R4p1111*SQR(n1)*SQR(rmbar1) + R4p2121*SQR(n2)*SQR(rmbar1) +
- R4p3131*SQR(n3)*SQR(rmbar1) + Rojo11*SQR(nn)*SQR(rmbar1) +
- n1*n2*R4p1222*SQR(rmbar2) + n1*n3*R4p1232*SQR(rmbar2) +
- n1*n2*R4p2212*SQR(rmbar2) + n2*n3*R4p2232*SQR(rmbar2) +
- n1*n3*R4p3212*SQR(rmbar2) + n2*n3*R4p3222*SQR(rmbar2) +
- 2*n1*nn*Ro212*SQR(rmbar2) + 2*n2*nn*Ro222*SQR(rmbar2) +
- 2*n3*nn*Ro232*SQR(rmbar2) + R4p1212*SQR(n1)*SQR(rmbar2) +
- R4p2222*SQR(n2)*SQR(rmbar2) + R4p3232*SQR(n3)*SQR(rmbar2) +
- Rojo22*SQR(nn)*SQR(rmbar2) + n1*n2*R4p1323*SQR(rmbar3) +
- n1*n3*R4p1333*SQR(rmbar3) + n1*n2*R4p2313*SQR(rmbar3) +
- n2*n3*R4p2333*SQR(rmbar3) + n1*n3*R4p3313*SQR(rmbar3) +
- n2*n3*R4p3323*SQR(rmbar3) + 2*n1*nn*Ro313*SQR(rmbar3) +
- 2*n2*nn*Ro323*SQR(rmbar3) + 2*n3*nn*Ro333*SQR(rmbar3) +
- R4p1313*SQR(n1)*SQR(rmbar3) + R4p2323*SQR(n2)*SQR(rmbar3) +
- R4p3333*SQR(n3)*SQR(rmbar3) + Rojo33*SQR(nn)*SQR(rmbar3);
-
- CCTK_REAL Psi4iL = -(im1*(4*n3*nn*rm1*Ro131 + 2*n3*nn*rm2*Ro132 +
- 2*n3*nn*rm3*Ro133 + 2*n3*nn*rm2*Ro231 + n1*(n2*(2*R4p1121*rm1 +
- 2*R4p2111*rm1 + R4p1122*rm2 + R4p1221*rm2 + R4p2112*rm2 + R4p2211*rm2 +
- R4p1123*rm3 + R4p1321*rm3 + R4p2113*rm3 + R4p2311*rm3) +
- n3*(2*R4p1131*rm1 + 2*R4p3111*rm1 + R4p1132*rm2 + R4p1231*rm2 +
- R4p3112*rm2 + R4p3211*rm2 + R4p1133*rm3 + R4p1331*rm3 + R4p3113*rm3 +
- R4p3311*rm3) + 2*nn*(2*rm1*Ro111 + rm2*(Ro112 + Ro211) + rm3*(Ro113 +
- Ro311))) + n2*(n3*(2*R4p2131*rm1 + 2*R4p3121*rm1 + R4p2132*rm2 +
- R4p2231*rm2 + R4p3122*rm2 + R4p3221*rm2 + R4p2133*rm3 + R4p2331*rm3 +
- R4p3123*rm3 + R4p3321*rm3) + 2*nn*(2*rm1*Ro121 + rm2*(Ro122 + Ro221) +
- rm3*(Ro123 + Ro321))) + 2*n3*nn*rm3*Ro331 + (2*R4p1111*rm1 +
- R4p1112*rm2 + R4p1211*rm2 + R4p1113*rm3 + R4p1311*rm3)*SQR(n1) +
- (2*R4p2121*rm1 + R4p2122*rm2 + R4p2221*rm2 + R4p2123*rm3 +
- R4p2321*rm3)*SQR(n2) + 2*R4p3131*rm1*SQR(n3) + R4p3132*rm2*SQR(n3) +
- R4p3231*rm2*SQR(n3) + R4p3133*rm3*SQR(n3) + R4p3331*rm3*SQR(n3) +
- 2*rm1*Rojo11*SQR(nn) + rm2*Rojo12*SQR(nn) + rm3*Rojo13*SQR(nn) +
- rm2*Rojo21*SQR(nn) + rm3*Rojo31*SQR(nn))) - im2*(2*n3*nn*rm1*Ro132 +
- 2*n3*nn*rm1*Ro231 + 4*n3*nn*rm2*Ro232 + 2*n3*nn*rm3*Ro233 +
- n1*(n2*(R4p1122*rm1 + R4p1221*rm1 + R4p2112*rm1 + R4p2211*rm1 +
- 2*R4p1222*rm2 + 2*R4p2212*rm2 + R4p1223*rm3 + R4p1322*rm3 + R4p2213*rm3
- + R4p2312*rm3) + n3*(R4p1132*rm1 + R4p1231*rm1 + R4p3112*rm1 +
- R4p3211*rm1 + 2*R4p1232*rm2 + 2*R4p3212*rm2 + R4p1233*rm3 + R4p1332*rm3
- + R4p3213*rm3 + R4p3312*rm3) + 2*nn*(rm1*(Ro112 + Ro211) + 2*rm2*Ro212
- + rm3*(Ro213 + Ro312))) + n2*(n3*(R4p2132*rm1 + R4p2231*rm1 +
- R4p3122*rm1 + R4p3221*rm1 + 2*R4p2232*rm2 + 2*R4p3222*rm2 + R4p2233*rm3
- + R4p2332*rm3 + R4p3223*rm3 + R4p3322*rm3) + 2*nn*(rm1*(Ro122 + Ro221)
- + 2*rm2*Ro222 + rm3*(Ro223 + Ro322))) + 2*n3*nn*rm3*Ro332 +
- (R4p1112*rm1 + R4p1211*rm1 + 2*R4p1212*rm2 + R4p1213*rm3 +
- R4p1312*rm3)*SQR(n1) + (R4p2122*rm1 + R4p2221*rm1 + 2*R4p2222*rm2 +
- R4p2223*rm3 + R4p2322*rm3)*SQR(n2) + R4p3132*rm1*SQR(n3) +
- R4p3231*rm1*SQR(n3) + 2*R4p3232*rm2*SQR(n3) + R4p3233*rm3*SQR(n3) +
- R4p3332*rm3*SQR(n3) + rm1*Rojo12*SQR(nn) + rm1*Rojo21*SQR(nn) +
- 2*rm2*Rojo22*SQR(nn) + rm3*Rojo23*SQR(nn) + rm3*Rojo32*SQR(nn)) -
- im3*(2*n3*nn*rm1*Ro133 + 2*n3*nn*rm2*Ro233 + n1*(n2*(R4p1123*rm1 +
- R4p1321*rm1 + R4p2113*rm1 + R4p2311*rm1 + R4p1223*rm2 + R4p1322*rm2 +
- R4p2213*rm2 + R4p2312*rm2 + 2*R4p1323*rm3 + 2*R4p2313*rm3) +
- n3*(R4p1133*rm1 + R4p1331*rm1 + R4p3113*rm1 + R4p3311*rm1 + R4p1233*rm2
- + R4p1332*rm2 + R4p3213*rm2 + R4p3312*rm2 + 2*R4p1333*rm3 +
- 2*R4p3313*rm3) + 2*nn*(rm1*(Ro113 + Ro311) + rm2*(Ro213 + Ro312) +
- 2*rm3*Ro313)) + n2*(n3*(R4p2133*rm1 + R4p2331*rm1 + R4p3123*rm1 +
- R4p3321*rm1 + R4p2233*rm2 + R4p2332*rm2 + R4p3223*rm2 + R4p3322*rm2 +
- 2*R4p2333*rm3 + 2*R4p3323*rm3) + 2*nn*(rm1*(Ro123 + Ro321) + rm2*(Ro223
- + Ro322) + 2*rm3*Ro323)) + 2*n3*nn*rm1*Ro331 + 2*n3*nn*rm2*Ro332 +
- 4*n3*nn*rm3*Ro333 + (R4p1113*rm1 + R4p1311*rm1 + R4p1213*rm2 +
- R4p1312*rm2 + 2*R4p1313*rm3)*SQR(n1) + (R4p2123*rm1 + R4p2321*rm1 +
- R4p2223*rm2 + R4p2322*rm2 + 2*R4p2323*rm3)*SQR(n2) +
- R4p3133*rm1*SQR(n3) + R4p3331*rm1*SQR(n3) + R4p3233*rm2*SQR(n3) +
- R4p3332*rm2*SQR(n3) + 2*R4p3333*rm3*SQR(n3) + rm1*Rojo13*SQR(nn) +
- rm2*Rojo23*SQR(nn) + rm1*Rojo31*SQR(nn) + rm2*Rojo32*SQR(nn) +
- 2*rm3*Rojo33*SQR(nn));
-
- /* Copy local copies back to grid functions */
- Psi4i[index] = Psi4iL;
- Psi4r[index] = Psi4rL;
+ CCTK_REAL_VEC Ro132 =
+ kadd(JacPDstandard2nd3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard2nd2kxz))));
+
+ CCTK_REAL_VEC Ro133 = ToReal(0);
+
+ CCTK_REAL_VEC Ro211 = ToReal(0);
+
+ CCTK_REAL_VEC Ro212 =
+ kadd(JacPDstandard2nd1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard2nd2kxy))));
+
+ CCTK_REAL_VEC Ro213 =
+ kadd(JacPDstandard2nd1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard2nd3kxy))));
+
+ CCTK_REAL_VEC Ro221 =
+ kadd(JacPDstandard2nd2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard2nd1kyy))));
+
+ CCTK_REAL_VEC Ro222 = ToReal(0);
+
+ CCTK_REAL_VEC Ro223 =
+ kadd(JacPDstandard2nd2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard2nd3kyy))));
+
+ CCTK_REAL_VEC Ro231 =
+ kadd(JacPDstandard2nd3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard2nd1kyz))));
+
+ CCTK_REAL_VEC Ro232 =
+ kadd(JacPDstandard2nd3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard2nd2kyz))));
+
+ CCTK_REAL_VEC Ro233 = ToReal(0);
+
+ CCTK_REAL_VEC Ro311 = ToReal(0);
+
+ CCTK_REAL_VEC Ro312 =
+ kadd(JacPDstandard2nd1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard2nd2kxz))));
+
+ CCTK_REAL_VEC Ro313 =
+ kadd(JacPDstandard2nd1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard2nd3kxz))));
+
+ CCTK_REAL_VEC Ro321 =
+ kadd(JacPDstandard2nd2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard2nd1kyz))));
+
+ CCTK_REAL_VEC Ro322 = ToReal(0);
+
+ CCTK_REAL_VEC Ro323 =
+ kadd(JacPDstandard2nd2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard2nd3kyz))));
+
+ CCTK_REAL_VEC Ro331 =
+ kadd(JacPDstandard2nd3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard2nd1kzz))));
+
+ CCTK_REAL_VEC Ro332 =
+ kadd(JacPDstandard2nd3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard2nd2kzz))));
+
+ CCTK_REAL_VEC Ro333 = ToReal(0);
+
+ CCTK_REAL_VEC Rojo11 =
+ kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))))))))))));
+
+ CCTK_REAL_VEC Rojo12 =
+ kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))))));
+
+ CCTK_REAL_VEC Rojo13 =
+ kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233)))))))))));
+
+ CCTK_REAL_VEC Rojo21 =
+ kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)))))))))));
+
+ CCTK_REAL_VEC Rojo22 =
+ kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo23 =
+ kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo31 =
+ kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312)))))))))));
+
+ CCTK_REAL_VEC Rojo32 =
+ kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo33 =
+ kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Psi4rL =
+ kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi4iL =
+ knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi3rL =
+ kmadd(kmadd(ltet3,kmul(R4p3121,rm2),kmul(ltet1,kmul(R4p1131,rm3))),SQR(n1),kmadd(ltet1,kmadd(n3,kmadd(kmadd(n1,R4p1311,kmul(n2,R4p1312)),rm1,kmadd(kmadd(n2,R4p1223,kmul(n1,kadd(R4p1123,R4p1321))),rm2,kmul(kmadd(n1,R4p1331,kmul(n2,kadd(R4p1233,R4p1332))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p1112,kmul(n3,R4p1113)),rm1,kmul(n2,kmadd(R4p1122,rm2,kmul(R4p1132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p1211,kmul(n3,R4p1213)),rm1,kmul(n1,kmadd(R4p1221,rm2,kmul(R4p1231,rm3)))),kmul(rm1,kmadd(R4p1111,SQR(n1),kmadd(R4p1212,SQR(n2),kmul(R4p1313,SQR(n3)))))))),kmadd(ltet2,kmadd(n3,kmadd(kmadd(n1,R4p2311,kmul(n2,R4p2312)),rm1,kmadd(kmadd(n1,R4p2321,kmul(n2,kadd(R4p2223,R4p2322))),rm2,kmul(kmadd(n2,R4p2233,kmul(n1,kadd(R4p2133,R4p2331))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p2112,kmul(n3,R4p2113)),rm1,kmul(n2,kmadd(R4p2122,rm2,kmul(R4p2132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p2211,kmul(n3,R4p2213)),rm1,kmul(n1,kmadd(R4p2221,rm2,kmul(R4p2231,rm3)))),kmul(rm1,kmadd(R4p2111,SQR(n1),kmadd(R4p2212,SQR(n2),kmul(R4p2313,SQR(n3)))))))),kmadd(ltet3,kmadd(n3,kmadd(kmadd(n1,R4p3311,kmul(n2,R4p3312)),rm1,kmadd(kmadd(n2,R4p3223,kmul(n1,kadd(R4p3123,R4p3321))),rm2,kmul(kmadd(n1,R4p3331,kmul(n2,kadd(R4p3233,R4p3332))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p3112,kmul(n3,R4p3113)),rm1,kmul(n2,kmadd(R4p3122,rm2,kmul(R4p3132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p3211,kmul(n3,R4p3213)),rm1,kmul(n1,kmadd(R4p3221,rm2,kmul(R4p3231,rm3)))),kmul(rm1,kmadd(R4p3111,SQR(n1),kmadd(R4p3212,SQR(n2),kmul(R4p3313,SQR(n3)))))))),kmadd(rm2,kmadd(kmadd(ltet1,R4p1121,kmul(ltet2,R4p2121)),SQR(n1),kmadd(kmadd(ltet1,R4p1222,kmadd(ltet2,R4p2222,kmul(ltet3,R4p3222))),SQR(n2),kmadd(kmadd(ltet1,R4p1323,kmadd(ltet2,R4p2323,kmul(ltet3,R4p3323))),SQR(n3),kmul(Rojo12,kmul(SQR(nn),ksub(ltet1,n1)))))),kmadd(SQR(nn),kmadd(kmadd(rm2,Rojo22,kmul(rm3,Rojo23)),ksub(ltet2,n2),kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),ksub(ltet3,n3),kmul(rm1,kmadd(Rojo11,ksub(ltet1,n1),kmul(Rojo21,ksub(ltet2,n2)))))),kmadd(rm3,kmadd(kmadd(ltet2,R4p2131,kmul(ltet3,R4p3131)),SQR(n1),kmadd(kmadd(ltet1,R4p1232,kmadd(ltet2,R4p2232,kmul(ltet3,R4p3232))),SQR(n2),kmadd(kmadd(ltet1,R4p1333,kmadd(ltet2,R4p2333,kmul(ltet3,R4p3333))),SQR(n3),kmul(SQR(nn),kmadd(Rojo13,ksub(ltet1,n1),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(n3,kmadd(rm2,kmadd(ltet2,kmul(n1,R4p2123),kmadd(n2,kmadd(ltet1,R4p1322,kmul(ltet3,R4p3322)),kmul(nn,kmul(Ro223,kmadd(ltet2,ToReal(-2),n2))))),kmadd(rm3,kmadd(ltet2,kmul(n2,R4p2332),kmadd(n1,kmadd(ltet1,R4p1133,kmul(ltet3,R4p3133)),kmul(nn,kmul(Ro333,kmadd(ltet3,ToReal(-2),n3))))),kmul(nn,kmadd(rm1,kmul(Ro113,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro313,kmsub(rm1,ksub(n3,ltet3),kmul(ltet1,rm3)),kmsub(Ro323,kmsub(rm2,ksub(n3,ltet3),kmul(ltet2,rm3)),kmadd(Ro123,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro133,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro233,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),kmul(Ro213,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2))))))))))))),kmul(nn,kmadd(kmadd(n1,kmul(rm1,Ro111),kmul(n2,kmul(rm1,Ro112))),kmadd(ltet1,ToReal(-2),n1),kmadd(n2,kmul(rm2,kmul(Ro222,kmadd(ltet2,ToReal(-2),n2))),kmadd(n1,kmul(rm3,kmul(Ro331,kmadd(ltet3,ToReal(-2),n3))),kmadd(n2,kmul(rm3,kmul(Ro332,kmadd(ltet3,ToReal(-2),n3))),kmadd(n2,kmul(Ro232,kmsub(rm3,ksub(n2,ltet2),kmul(ltet3,rm2))),kmadd(n1,kmsub(rm2,kmul(Ro221,kmadd(ltet2,ToReal(-2),n2)),kmul(Ro311,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))),knmsub(n2,kmadd(Ro122,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro312,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))),kmul(Ro132,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1)))))),kmadd(n1,kmadd(Ro121,kmsub(rm2,ksub(n1,ltet1),kmul(ltet2,rm1)),kmsub(Ro131,kmsub(rm3,ksub(n1,ltet1),kmul(ltet3,rm1)),kmadd(Ro211,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2))),kmadd(Ro321,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro231,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2)))))))),kmul(n2,kmsub(Ro212,kmsub(rm1,ksub(n2,ltet2),kmul(ltet1,rm2)),kmul(Ro322,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3)))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi3iL =
+ knmadd(im2,kmadd(n2,kmul(n3,kmul(nn,Ro223)),kmadd(n1,kmul(n3,kmul(nn,Ro321)),kmadd(n2,kmul(n3,kmul(nn,Ro322)),kmadd(ltet3,kmul(R4p3121,SQR(n1)),kmadd(nn,kmul(Ro121,SQR(n1)),kmadd(ltet3,kmul(R4p3222,SQR(n2)),kmadd(nn,kmul(Ro222,SQR(n2)),kmadd(ltet3,kmul(R4p3323,SQR(n3)),kmadd(nn,kmul(Ro323,SQR(n3)),kmadd(ltet3,kmul(Rojo32,SQR(nn)),kmadd(ltet2,kmadd(n2,kmul(n3,R4p2223),kmadd(n2,kmul(n3,R4p2322),kmadd(R4p2121,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p2323,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(-2))),kmadd(n3,kmul(nn,kmul(Ro223,ToReal(-2))),kmul(n1,kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,kadd(R4p2123,R4p2321),kmul(nn,kmul(Ro221,ToReal(-2)))))))))))))),kmadd(ltet3,kmul(n1,kmsub(n2,R4p3122,kmul(nn,Ro231))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3123),kmul(n2,kmul(nn,Ro232))),kmadd(ltet3,kmsub(n1,kmul(n2,R4p3221),kmul(n3,kmul(nn,Ro233))),kmadd(ltet3,kmsub(n2,kmul(n3,R4p3223),kmul(n1,kmul(nn,Ro321))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3321),kmul(n2,kmul(nn,Ro322))),kmadd(ltet3,kmul(n3,kmsub(n2,R4p3322,kmul(nn,Ro323))),kmadd(n1,kmsub(n2,kmul(nn,Ro122),kmul(Rojo12,SQR(nn))),kmadd(n2,kmsub(n1,kmul(nn,Ro221),kmul(Rojo22,SQR(nn))),kmadd(n3,kmsub(n1,kmul(nn,Ro123),kmul(Rojo32,SQR(nn))),kmul(ltet1,kmadd(R4p1121,SQR(n1),kmadd(R4p1222,SQR(n2),kmadd(R4p1323,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p1122,R4p1221),kmsub(n3,kadd(R4p1123,R4p1321),kmul(nn,kadd(Ro121,Ro211)))),kmsub(n2,kmsub(n3,kadd(R4p1223,R4p1322),kmul(nn,kadd(Ro122,Ro212))),kmul(n3,kmul(nn,kadd(Ro213,Ro123)))))))))))))))))))))))))))))),kmadd(im3,kmadd(ltet3,kmul(n2,kmul(n3,R4p3233)),kmadd(ltet3,kmul(n1,kmul(n3,R4p3331)),kmadd(ltet3,kmul(n2,kmul(n3,R4p3332)),kmadd(n1,kmul(n2,kmul(nn,Ro132)),kmadd(n1,kmul(n3,kmul(nn,Ro133)),kmadd(n1,kmul(n2,kmul(nn,Ro231)),kmadd(n2,kmul(n3,kmul(nn,Ro233)),kmadd(n1,kmul(n3,kmul(nn,Ro331)),kmadd(n2,kmul(n3,kmul(nn,Ro332)),kmadd(ltet3,kmul(R4p3131,SQR(n1)),kmadd(nn,kmul(Ro131,SQR(n1)),kmadd(ltet3,kmul(R4p3232,SQR(n2)),kmadd(nn,kmul(Ro232,SQR(n2)),kmadd(ltet3,kmul(R4p3333,SQR(n3)),kmadd(nn,kmul(Ro333,SQR(n3)),kmadd(ltet3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n1,kmul(nn,kmul(Ro331,ToReal(-2)))),kmadd(ltet3,kmul(n2,kmul(nn,kmul(Ro332,ToReal(-2)))),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),kmadd(n1,kmsub(ltet3,kmul(n2,R4p3132),kmul(Rojo13,SQR(nn))),kmadd(n2,kmsub(ltet3,kmul(n1,R4p3231),kmul(Rojo23,SQR(nn))),kmadd(n3,kmsub(ltet3,kmul(n1,R4p3133),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(R4p1131,SQR(n1),kmadd(R4p1232,SQR(n2),kmadd(R4p1333,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p1132,R4p1231),kmsub(n3,kadd(R4p1133,R4p1331),kmul(nn,kadd(Ro131,Ro311)))),kmsub(n2,kmsub(n3,kadd(R4p1233,R4p1332),kmul(nn,kadd(Ro132,Ro312))),kmul(n3,kmul(nn,kadd(Ro313,Ro133))))))))),kmul(ltet2,kmadd(R4p2131,SQR(n1),kmadd(R4p2232,SQR(n2),kmadd(R4p2333,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p2132,R4p2231),kmsub(n3,kadd(R4p2133,R4p2331),kmul(nn,kadd(Ro231,Ro321)))),kmsub(n2,kmsub(n3,kadd(R4p2233,R4p2332),kmul(nn,kadd(Ro232,Ro322))),kmul(n3,kmul(nn,kadd(Ro323,Ro233))))))))))))))))))))))))))))))))),kmul(im1,kmadd(n2,kmul(n3,kmul(nn,Ro213)),kmadd(n1,kmul(n3,kmul(nn,Ro311)),kmadd(n2,kmul(n3,kmul(nn,Ro312)),kmadd(ltet3,kmul(R4p3111,SQR(n1)),kmadd(nn,kmul(Ro111,SQR(n1)),kmadd(ltet3,kmul(R4p3212,SQR(n2)),kmadd(nn,kmul(Ro212,SQR(n2)),kmadd(ltet3,kmul(R4p3313,SQR(n3)),kmadd(nn,kmul(Ro313,SQR(n3)),kmadd(ltet3,kmul(Rojo31,SQR(nn)),kmadd(ltet1,kmadd(n2,kmul(n3,R4p1213),kmadd(n2,kmul(n3,R4p1312),kmadd(R4p1111,SQR(n1),kmadd(R4p1212,SQR(n2),kmadd(R4p1313,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro112,ToReal(-2))),kmadd(n3,kmul(nn,kmul(Ro113,ToReal(-2))),kmul(n1,kmadd(n2,kadd(R4p1112,R4p1211),kmadd(n3,kadd(R4p1113,R4p1311),kmul(nn,kmul(Ro111,ToReal(-2)))))))))))))),kmadd(ltet3,kmul(n1,kmsub(n2,R4p3112,kmul(nn,Ro131))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3113),kmul(n2,kmul(nn,Ro132))),kmadd(ltet3,kmsub(n1,kmul(n2,R4p3211),kmul(n3,kmul(nn,Ro133))),kmadd(ltet3,kmsub(n2,kmul(n3,R4p3213),kmul(n1,kmul(nn,Ro311))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3311),kmul(n2,kmul(nn,Ro312))),kmadd(ltet3,kmul(n3,kmsub(n2,R4p3312,kmul(nn,Ro313))),kmadd(n1,kmsub(n2,kmul(nn,Ro112),kmul(Rojo11,SQR(nn))),kmadd(n2,kmsub(n1,kmul(nn,Ro211),kmul(Rojo21,SQR(nn))),kmadd(n3,kmsub(n1,kmul(nn,Ro113),kmul(Rojo31,SQR(nn))),kmul(ltet2,kmadd(R4p2111,SQR(n1),kmadd(R4p2212,SQR(n2),kmadd(R4p2313,SQR(n3),kmadd(Rojo21,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p2112,R4p2211),kmsub(n3,kadd(R4p2113,R4p2311),kmul(nn,kadd(Ro121,Ro211)))),kmsub(n2,kmsub(n3,kadd(R4p2213,R4p2312),kmul(nn,kadd(Ro122,Ro212))),kmul(n3,kmul(nn,kadd(Ro213,Ro123)))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi2rL =
+ kmadd(ltet1,kmul(n2,kmul(R4p1112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet1,kmul(n3,kmul(R4p1113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet2,kmul(n2,kmul(R4p2112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet2,kmul(n3,kmul(R4p2113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet3,kmul(n2,kmul(R4p3112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet3,kmul(n3,kmul(R4p3113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet1,kmadd(n1,kmul(R4p1121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p1122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p1123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p1211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p1212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p1213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p1131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n2,kmul(R4p1132,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n3,kmul(R4p1133,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p1311,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n2,kmul(R4p1312,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p1231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p1232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p1233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p1321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p1322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p1323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p1111,kadd(SQR(im1),SQR(rm1))))))))))))))))))))),kmadd(ltet2,kmadd(n1,kmul(R4p2121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p2122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p2123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p2211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p2212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p2213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p2131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p2231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p2232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p2233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p2321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p2322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p2323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p2111,kadd(SQR(im1),SQR(rm1))))))))))))))))),kmadd(ltet3,kmadd(n1,kmul(R4p3121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p3122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p3123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p3211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p3212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p3213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p3131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p3231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p3232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p3233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p3321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p3322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p3323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p3111,kadd(SQR(im1),SQR(rm1))))))))))))))))),kmadd(ltet1,kmul(n1,kmul(R4p1221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n2,kmul(R4p1222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n3,kmul(R4p1223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n1,kmul(R4p2221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n2,kmul(R4p2222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n3,kmul(R4p2223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n1,kmul(R4p3221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n2,kmul(R4p3222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n3,kmul(R4p3223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n1,kmul(R4p1331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet1,kmul(n2,kmul(R4p1332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet1,kmul(n3,kmul(R4p1333,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n1,kmul(R4p2331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n2,kmul(R4p2332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n3,kmul(R4p2333,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n1,kmul(R4p3331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n2,kmul(R4p3332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n3,kmul(R4p3333,kadd(SQR(im3),SQR(rm3)))),kmadd(nn,kmul(Ro222,kmul(kadd(SQR(im2),SQR(rm2)),ksub(n2,ltet2))),kmadd(nn,kmul(Ro333,kmul(kadd(SQR(im3),SQR(rm3)),ksub(n3,ltet3))),kmadd(nn,kmul(Ro112,kmsub(n2,kadd(SQR(im1),SQR(rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2))))),kmadd(nn,kmul(Ro221,kmsub(n1,kadd(SQR(im2),SQR(rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2))))),kmadd(nn,kmul(Ro113,kmsub(n3,kadd(SQR(im1),SQR(rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3))))),kmadd(nn,kmul(Ro331,kmsub(n1,kadd(SQR(im3),SQR(rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3))))),kmadd(nn,kmul(Ro223,kmsub(n3,kadd(SQR(im2),SQR(rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3))))),kmadd(nn,kmul(Ro332,kmsub(n2,kadd(SQR(im3),SQR(rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3))))),knmsub(kmadd(im1,im2,kmul(rm1,rm2)),kmul(SQR(nn),kadd(Rojo21,Rojo12)),kmadd(nn,kmul(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kadd(SQR(im1),SQR(rm1))))),kmadd(nn,kmul(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kadd(SQR(im1),SQR(rm1))))),kmadd(nn,kmul(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kadd(SQR(im2),SQR(rm2))))),kmadd(nn,kmul(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kadd(SQR(im2),SQR(rm2))))),kmadd(nn,kmul(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kadd(SQR(im3),SQR(rm3))))),kmadd(nn,kmul(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kadd(SQR(im3),SQR(rm3))))),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmadd(ltet1,kmul(n3,R4p1313),kmadd(ltet2,kmul(n2,R4p2132),kmadd(ltet2,kmul(n3,R4p2133),kmadd(ltet2,kmul(n1,R4p2311),kmadd(ltet2,kmul(n2,R4p2312),kmadd(ltet2,kmul(n3,R4p2313),kmadd(ltet3,kmul(n2,R4p3132),kmadd(ltet3,kmul(n3,R4p3133),kmadd(ltet3,kmul(n1,R4p3311),kmadd(ltet3,kmul(n2,R4p3312),kmadd(ltet3,kmul(n3,R4p3313),knmsub(Rojo13,SQR(nn),kmadd(nn,kmul(Ro311,ksub(n1,ltet1)),kmul(nn,kmul(Ro133,ksub(n3,ltet3)))))))))))))))),kmsub(nn,kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro211,ksub(n1,ltet1)),kmadd(Ro111,kmul(kadd(SQR(im1),SQR(rm1)),ksub(n1,ltet1)),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro122,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro322,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro233,ksub(n3,ltet3)),kmadd(Ro321,kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),kmadd(Ro231,kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),kmadd(Ro312,kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),kmadd(Ro132,kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),kmadd(Ro213,kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),kmul(Ro123,kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3))))))))))))))),kmul(SQR(nn),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),Rojo31,kmadd(Rojo11,kadd(SQR(im1),SQR(rm1)),kmadd(Rojo22,kadd(SQR(im2),SQR(rm2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kadd(Rojo32,Rojo23),kmul(Rojo33,kadd(SQR(im3),SQR(rm3))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi2iL =
+ kmadd(im3,kmadd(n2,kmul(nn,kmul(rm1,Ro312)),kmadd(n3,kmul(nn,kmul(rm1,Ro313)),kmadd(n2,kmul(nn,kmul(rm2,Ro322)),kmadd(n3,kmul(nn,kmul(rm2,Ro323)),kmadd(ltet3,kmul(nn,kmul(rm1,Ro331)),kmadd(ltet3,kmul(nn,kmul(rm2,Ro332)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(ltet3,kmsub(n3,kmul(R4p3313,rm1),kmul(n2,kmul(R4p3232,rm2))),kmadd(ltet3,kmul(rm1,kmsub(n1,R4p3311,kmadd(nn,Ro133,kmul(n3,R4p3133)))),kmadd(rm1,kmsub(n1,kmul(nn,Ro311),kmul(Rojo31,SQR(nn))),kmadd(rm2,kmsub(n1,kmul(nn,Ro321),kmul(Rojo32,SQR(nn))),knmsub(ltet3,kmadd(rm1,kmadd(n2,R4p3132,kmul(n1,R4p3131)),kmul(n3,kmul(R4p3233,rm2))),kmadd(n1,kmsub(rm2,kmsub(ltet3,R4p3321,kmul(nn,Ro231)),kmul(nn,kmul(rm1,Ro131))),kmadd(n2,kmsub(rm2,kmsub(ltet3,R4p3322,kmul(nn,Ro232)),kmul(nn,kmul(rm1,Ro132))),kmadd(n3,kmsub(rm2,kmsub(ltet3,R4p3323,kmul(nn,Ro233)),kmul(nn,kmul(rm1,Ro133))),kmadd(ltet3,kmsub(n2,kmul(R4p3312,rm1),kmul(rm2,kmadd(nn,Ro233,kmul(n1,R4p3231)))),kmadd(ltet1,kmadd(nn,kmul(rm2,Ro312),kmadd(nn,kmul(rm1,ksub(Ro311,Ro113)),kmadd(rm2,kmsub(n3,R4p1323,kmul(nn,Ro213)),kmadd(n3,kmsub(rm1,ksub(R4p1313,R4p1133),kmul(R4p1233,rm2)),kmadd(n1,kmadd(rm1,ksub(R4p1311,R4p1131),kmul(rm2,ksub(R4p1321,R4p1231))),kmul(n2,kmadd(rm1,ksub(R4p1312,R4p1132),kmul(rm2,ksub(R4p1322,R4p1232))))))))),kmul(ltet2,kmadd(nn,kmul(rm2,Ro322),kmadd(nn,kmul(rm1,ksub(Ro321,Ro123)),kmadd(rm2,kmsub(n3,R4p2323,kmul(nn,Ro223)),kmadd(n3,kmsub(rm1,ksub(R4p2313,R4p2133),kmul(R4p2233,rm2)),kmadd(n1,kmadd(rm1,ksub(R4p2311,R4p2131),kmul(rm2,ksub(R4p2321,R4p2231))),kmul(n2,kmadd(rm1,ksub(R4p2312,R4p2132),kmul(rm2,ksub(R4p2322,R4p2232)))))))))))))))))))))))))))),kmadd(im1,kmadd(n2,kmul(nn,kmul(rm3,Ro132)),kmadd(ltet3,kmul(nn,kmul(rm3,Ro133)),kmadd(n3,kmul(nn,kmul(rm3,Ro133)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n1,kmsub(ltet3,kmul(R4p3131,rm3),kmul(nn,kmul(rm2,Ro211))),kmadd(n2,kmsub(ltet3,kmul(R4p3132,rm3),kmul(nn,kmul(rm2,Ro212))),kmadd(n3,kmsub(ltet3,kmul(R4p3133,rm3),kmul(nn,kmul(rm2,Ro213))),kmadd(n1,kmul(nn,kmsub(rm2,Ro121,kmul(rm3,Ro311))),kmadd(n2,kmul(nn,kmsub(rm2,Ro122,kmul(rm3,Ro312))),kmadd(n3,kmul(nn,kmsub(rm2,Ro123,kmul(rm3,Ro313))),kmadd(rm2,kmsub(ltet3,kmul(nn,Ro132),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmsub(n1,kmul(nn,Ro131),kmul(Rojo13,SQR(nn))),knmsub(ltet3,kmadd(rm2,kmadd(n3,R4p3213,kmul(n2,R4p3212)),kmul(n3,kmul(R4p3313,rm3))),kmadd(ltet3,kmadd(n1,kmsub(R4p3121,rm2,kmul(R4p3311,rm3)),kmul(rm2,kmsub(n2,R4p3122,kmul(nn,Ro231)))),kmadd(ltet3,kmsub(rm2,kmsub(n3,R4p3123,kmul(n1,R4p3211)),kmul(rm3,kmadd(nn,Ro331,kmul(n2,R4p3312)))),kmadd(ltet1,kmadd(nn,kmul(rm3,Ro113),kmadd(nn,kmul(rm2,ksub(Ro112,Ro211)),kmadd(rm3,kmsub(n3,R4p1133,kmul(nn,Ro311)),kmadd(n3,kmsub(rm2,ksub(R4p1123,R4p1213),kmul(R4p1313,rm3)),kmadd(n1,kmadd(rm2,ksub(R4p1121,R4p1211),kmul(rm3,ksub(R4p1131,R4p1311))),kmul(n2,kmadd(rm2,ksub(R4p1122,R4p1212),kmul(rm3,ksub(R4p1132,R4p1312))))))))),kmul(ltet2,kmadd(nn,kmul(rm3,Ro123),kmadd(nn,kmul(rm2,ksub(Ro122,Ro221)),kmadd(rm3,kmsub(n3,R4p2133,kmul(nn,Ro321)),kmadd(n3,kmsub(rm2,ksub(R4p2123,R4p2213),kmul(R4p2313,rm3)),kmadd(n1,kmadd(rm2,ksub(R4p2121,R4p2211),kmul(rm3,ksub(R4p2131,R4p2311))),kmul(n2,kmadd(rm2,ksub(R4p2122,R4p2212),kmul(rm3,ksub(R4p2132,R4p2312))))))))))))))))))))))))))),kmul(im2,kmadd(n2,kmul(nn,kmul(rm1,Ro212)),kmadd(n3,kmul(nn,kmul(rm1,Ro213)),kmadd(ltet3,kmul(nn,kmul(rm1,Ro231)),kmadd(n2,kmul(nn,kmul(rm3,Ro232)),kmadd(ltet3,kmul(nn,kmul(rm3,Ro233)),kmadd(n3,kmul(nn,kmul(rm3,Ro233)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmsub(n3,kmul(R4p3213,rm1),kmul(n2,kmul(R4p3322,rm3))),kmadd(ltet3,kmul(rm1,kmsub(n1,R4p3211,kmadd(nn,Ro132,kmul(n3,R4p3123)))),kmadd(rm1,kmsub(n1,kmul(nn,Ro211),kmul(Rojo21,SQR(nn))),kmadd(rm3,kmsub(n1,kmul(nn,Ro231),kmul(Rojo23,SQR(nn))),knmsub(ltet3,kmadd(rm1,kmadd(n2,R4p3122,kmul(n1,R4p3121)),kmul(n3,kmul(R4p3323,rm3))),kmadd(n1,kmsub(rm3,kmsub(ltet3,R4p3231,kmul(nn,Ro321)),kmul(nn,kmul(rm1,Ro121))),kmadd(n2,kmsub(rm3,kmsub(ltet3,R4p3232,kmul(nn,Ro322)),kmul(nn,kmul(rm1,Ro122))),kmadd(n3,kmsub(rm3,kmsub(ltet3,R4p3233,kmul(nn,Ro323)),kmul(nn,kmul(rm1,Ro123))),kmadd(ltet3,kmsub(n2,kmul(R4p3212,rm1),kmul(rm3,kmadd(nn,Ro332,kmul(n1,R4p3321)))),kmadd(ltet1,kmadd(nn,kmul(rm3,Ro213),kmadd(nn,kmul(rm1,ksub(Ro211,Ro112)),kmadd(rm3,kmsub(n3,R4p1233,kmul(nn,Ro312)),kmadd(n3,kmsub(rm1,ksub(R4p1213,R4p1123),kmul(R4p1323,rm3)),kmadd(n1,kmadd(rm1,ksub(R4p1211,R4p1121),kmul(rm3,ksub(R4p1231,R4p1321))),kmul(n2,kmadd(rm1,ksub(R4p1212,R4p1122),kmul(rm3,ksub(R4p1232,R4p1322))))))))),kmul(ltet2,kmadd(nn,kmul(rm3,Ro223),kmadd(nn,kmul(rm1,ksub(Ro221,Ro122)),kmadd(rm3,kmsub(n3,R4p2233,kmul(nn,Ro322)),kmadd(n3,kmsub(rm1,ksub(R4p2213,R4p2123),kmul(R4p2323,rm3)),kmadd(n1,kmadd(rm1,ksub(R4p2211,R4p2121),kmul(rm3,ksub(R4p2231,R4p2321))),kmul(n2,kmadd(rm1,ksub(R4p2212,R4p2122),kmul(rm3,ksub(R4p2232,R4p2322)))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi1rL =
+ kmadd(kmadd(n1,kmadd(R4p1111,rm1,kmadd(R4p1121,rm2,kmul(R4p1131,rm3))),kmadd(n2,kmadd(R4p2111,rm1,kmadd(R4p2121,rm2,kmul(R4p2131,rm3))),kmadd(n3,kmadd(R4p3111,rm1,kmadd(R4p3121,rm2,kmul(R4p3131,rm3))),kmul(nn,kmadd(rm1,Ro111,kmadd(rm2,Ro121,kmul(rm3,Ro131))))))),SQR(ltet1),kmadd(kmadd(n1,kmadd(R4p1212,rm1,kmadd(R4p1222,rm2,kmul(R4p1232,rm3))),kmadd(n2,kmadd(R4p2212,rm1,kmadd(R4p2222,rm2,kmul(R4p2232,rm3))),kmadd(n3,kmadd(R4p3212,rm1,kmadd(R4p3222,rm2,kmul(R4p3232,rm3))),kmul(nn,kmadd(rm1,Ro212,kmadd(rm2,Ro222,kmul(rm3,Ro232))))))),SQR(ltet2),kmadd(kmadd(n1,kmadd(R4p1323,rm2,kmul(R4p1333,rm3)),kmadd(rm1,kmadd(n3,R4p3313,kmul(nn,Ro313)),kmul(nn,kmadd(rm2,Ro323,kmul(rm3,Ro333))))),SQR(ltet3),kmadd(rm1,kmadd(kmadd(n1,R4p1313,kmul(n2,R4p2313)),SQR(ltet3),kmul(n1,kmul(Rojo11,SQR(nn)))),kmadd(rm2,kmadd(kmadd(n2,R4p2323,kmul(n3,R4p3323)),SQR(ltet3),kmul(n1,kmul(Rojo12,SQR(nn)))),kmadd(rm3,kmadd(kmadd(n2,R4p2333,kmul(n3,R4p3333)),SQR(ltet3),kmul(n1,kmul(Rojo13,SQR(nn)))),kmadd(SQR(nn),kmadd(n2,kmadd(rm1,Rojo21,kmul(rm2,Rojo22)),kmadd(n3,kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),kmsub(rm3,kmsub(n2,Rojo23,kmul(ltet3,Rojo33)),kmul(ltet3,kmul(rm2,Rojo32))))),kmadd(ltet3,kmsub(nn,kmadd(n3,kmul(rm3,kmul(Ro333,ToReal(-2))),knmsub(n2,kmul(rm3,kadd(Ro323,Ro233)),kmadd(rm1,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmsub(rm2,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,kadd(Ro323,Ro233))),kmul(n1,kmadd(rm3,kadd(Ro313,Ro133),kmul(rm2,kadd(Ro213,Ro123)))))))),kmul(rm1,kmul(Rojo31,SQR(nn)))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1122,R4p1221),rm2,kmul(kadd(R4p1132,R4p1231),rm3))),kmadd(n2,kmadd(kadd(R4p2112,R4p2211),rm1,kmadd(kadd(R4p2122,R4p2221),rm2,kmul(kadd(R4p2132,R4p2231),rm3))),kmadd(n3,kmadd(kadd(R4p3112,R4p3211),rm1,kmadd(kadd(R4p3122,R4p3221),rm2,kmul(kadd(R4p3132,R4p3231),rm3))),kmul(nn,kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm2,kadd(Ro122,Ro221),kmul(rm3,kadd(Ro132,Ro231)))))))),kmsub(ltet3,kmadd(n1,kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1123,R4p1321),rm2,kmul(kadd(R4p1133,R4p1331),rm3))),kmadd(n2,kmadd(kadd(R4p2113,R4p2311),rm1,kmadd(kadd(R4p2123,R4p2321),rm2,kmul(kadd(R4p2133,R4p2331),rm3))),kmadd(n3,kmadd(kadd(R4p3113,R4p3311),rm1,kmadd(kadd(R4p3123,R4p3321),rm2,kmul(kadd(R4p3133,R4p3331),rm3))),kmul(nn,kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro123,Ro321),kmul(rm3,kadd(Ro133,Ro331)))))))),kmul(nn,kmadd(nn,kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(n1,kmadd(rm2,kadd(Ro121,Ro211),kmadd(rm3,kadd(Ro131,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))),kmadd(n2,kmadd(rm1,kadd(Ro121,Ro211),kmadd(rm3,kadd(Ro231,Ro321),kmul(rm2,kmul(Ro221,ToReal(2))))),kmul(n3,kmadd(rm1,kadd(Ro131,Ro311),kmadd(rm2,kadd(Ro231,Ro321),kmul(rm3,kmul(Ro331,ToReal(2)))))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kmadd(kadd(R4p1213,R4p1312),rm1,kmadd(kadd(R4p1223,R4p1322),rm2,kmul(kadd(R4p1233,R4p1332),rm3))),kmadd(n2,kmadd(kadd(R4p2213,R4p2312),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(kadd(R4p2233,R4p2332),rm3))),kmadd(n3,kmadd(kadd(R4p3213,R4p3312),rm1,kmadd(kadd(R4p3223,R4p3322),rm2,kmul(kadd(R4p3233,R4p3332),rm3))),kmul(nn,kmadd(rm1,kadd(Ro213,Ro312),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kadd(Ro233,Ro332)))))))),kmul(nn,kmadd(nn,kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),kmadd(n1,kmadd(rm2,kadd(Ro122,Ro212),kmadd(rm3,kadd(Ro132,Ro312),kmul(rm1,kmul(Ro112,ToReal(2))))),kmadd(n2,kmadd(rm1,kadd(Ro122,Ro212),kmadd(rm3,kadd(Ro232,Ro322),kmul(rm2,kmul(Ro222,ToReal(2))))),kmul(n3,kmadd(rm1,kadd(Ro132,Ro312),kmadd(rm2,kadd(Ro232,Ro322),kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi1iL =
+ kmadd(im1,kmadd(kmadd(n1,R4p1111,kmadd(n2,R4p2111,kmadd(n3,R4p3111,kmul(nn,Ro111)))),SQR(ltet1),kmadd(kmadd(n1,R4p1212,kmadd(n2,R4p2212,kmadd(n3,R4p3212,kmul(nn,Ro212)))),SQR(ltet2),kmadd(kmadd(n1,R4p1313,kmadd(n2,R4p2313,kmadd(n3,R4p3313,kmul(nn,Ro313)))),SQR(ltet3),kmadd(kmadd(n1,Rojo11,kmadd(n2,Rojo21,kmul(n3,Rojo31))),SQR(nn),kmadd(ltet3,kmsub(nn,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmul(Rojo31,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1112,R4p1211),kmadd(n2,kadd(R4p2112,R4p2211),kmadd(n3,kadd(R4p3112,R4p3211),kmul(nn,kadd(Ro112,Ro211))))),kmsub(ltet3,kmadd(n1,kadd(R4p1113,R4p1311),kmadd(n2,kadd(R4p2113,R4p2311),kmadd(n3,kadd(R4p3113,R4p3311),kmul(nn,kadd(Ro113,Ro311))))),kmul(nn,kmadd(n2,kadd(Ro121,Ro211),kmadd(n3,kadd(Ro131,Ro311),kmadd(nn,Rojo11,kmul(n1,kmul(Ro111,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1213,R4p1312),kmadd(n2,kadd(R4p2213,R4p2312),kmadd(n3,kadd(R4p3213,R4p3312),kmul(nn,kadd(Ro213,Ro312))))),kmul(nn,kmadd(n2,kadd(Ro122,Ro212),kmadd(n3,kadd(Ro132,Ro312),kmadd(nn,Rojo21,kmul(n1,kmul(Ro112,ToReal(2))))))))))))))),kmadd(im2,kmadd(kmadd(n1,R4p1121,kmadd(n2,R4p2121,kmadd(n3,R4p3121,kmul(nn,Ro121)))),SQR(ltet1),kmadd(kmadd(n1,R4p1222,kmadd(n2,R4p2222,kmadd(n3,R4p3222,kmul(nn,Ro222)))),SQR(ltet2),kmadd(n1,kmul(R4p1323,SQR(ltet3)),kmadd(n2,kmul(R4p2323,SQR(ltet3)),kmadd(n3,kmul(R4p3323,SQR(ltet3)),kmadd(nn,kmul(Ro323,SQR(ltet3)),kmadd(n1,kmul(Rojo12,SQR(nn)),kmadd(n2,kmul(Rojo22,SQR(nn)),kmadd(n3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmul(nn,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,Ro323))),knmsub(ltet3,kmadd(nn,kmadd(n1,kadd(Ro213,Ro123),kmul(n3,Ro233)),kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1122,R4p1221),kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,R4p3122,kmadd(n3,R4p3221,kmadd(nn,Ro122,kmul(nn,Ro221)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1123,R4p1321),kmadd(n2,kadd(R4p2123,R4p2321),kmadd(n3,R4p3123,kmadd(n3,R4p3321,kmadd(nn,Ro123,kmul(nn,Ro321)))))),kmul(nn,kmadd(n1,kadd(Ro121,Ro211),kmadd(n3,Ro231,kmadd(n3,Ro321,kmadd(nn,Rojo12,kmul(n2,kmul(Ro221,ToReal(2)))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1223,R4p1322),kmadd(n2,kadd(R4p2223,R4p2322),kmadd(n3,R4p3223,kmadd(n3,R4p3322,kmadd(nn,Ro223,kmul(nn,Ro322)))))),kmul(nn,kmadd(n1,kadd(Ro122,Ro212),kmadd(n3,Ro232,kmadd(n3,Ro322,kmadd(nn,Rojo22,kmul(n2,kmul(Ro222,ToReal(2)))))))))))))))))))))),kmul(im3,kmadd(kmadd(n1,R4p1131,kmadd(n2,R4p2131,kmadd(n3,R4p3131,kmul(nn,Ro131)))),SQR(ltet1),kmadd(kmadd(n1,R4p1232,kmadd(n2,R4p2232,kmadd(n3,R4p3232,kmul(nn,Ro232)))),SQR(ltet2),kmadd(n1,kmul(R4p1333,SQR(ltet3)),kmadd(n2,kmul(R4p2333,SQR(ltet3)),kmadd(n3,kmul(R4p3333,SQR(ltet3)),kmadd(nn,kmul(Ro333,SQR(ltet3)),kmadd(n1,kmul(Rojo13,SQR(nn)),kmadd(n2,kmul(Rojo23,SQR(nn)),kmadd(n3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),knmsub(ltet3,kmadd(nn,kmadd(n2,kadd(Ro323,Ro233),kmul(n1,kadd(Ro313,Ro133))),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1132,R4p1231),kmadd(n2,kadd(R4p2132,R4p2231),kmadd(n3,R4p3132,kmadd(n3,R4p3231,kmadd(nn,Ro132,kmul(nn,Ro231)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1133,R4p1331),kmadd(n2,kadd(R4p2133,R4p2331),kmadd(n3,R4p3133,kmadd(n3,R4p3331,kmadd(nn,Ro133,kmul(nn,Ro331)))))),kmul(nn,kmadd(n1,kadd(Ro131,Ro311),kmadd(n2,kadd(Ro231,Ro321),kmadd(nn,Rojo13,kmul(n3,kmul(Ro331,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1233,R4p1332),kmadd(n2,kadd(R4p2233,R4p2332),kmadd(n3,R4p3233,kmadd(n3,R4p3332,kmadd(nn,Ro233,kmul(nn,Ro332)))))),kmul(nn,kmadd(n1,kadd(Ro132,Ro312),kmadd(n2,kadd(Ro232,Ro322),kmadd(nn,Rojo23,kmul(n3,kmul(Ro332,ToReal(2))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi0rL =
+ kmadd(R4p1112,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1211,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1113,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1311,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1213,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p1312,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p2122,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2221,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2123,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2321,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2223,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p2322,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p3132,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3231,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3133,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3331,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3233,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(R4p3332,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(rm1,kmul(rm2,kmul(Rojo12,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo13,SQR(nn))),kmadd(rm1,kmul(rm2,kmul(Rojo21,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo23,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo31,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmul(ltet2,kmul(R4p1121,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p1131,SQR(rm1))),kmadd(ltet1,kmul(ltet2,kmul(R4p2111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p2131,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p3111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p3121,SQR(rm1))),kmadd(R4p1111,kmul(SQR(ltet1),SQR(rm1)),kmadd(R4p2121,kmul(SQR(ltet2),SQR(rm1)),kmadd(R4p3131,kmul(SQR(ltet3),SQR(rm1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rm1)),kmadd(ltet1,kmul(ltet2,kmul(R4p1222,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p1232,SQR(rm2))),kmadd(ltet1,kmul(ltet2,kmul(R4p2212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p2232,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p3212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p3222,SQR(rm2))),kmadd(R4p1212,kmul(SQR(ltet1),SQR(rm2)),kmadd(R4p2222,kmul(SQR(ltet2),SQR(rm2)),kmadd(R4p3232,kmul(SQR(ltet3),SQR(rm2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rm2)),kmadd(ltet1,kmul(ltet2,kmul(R4p1323,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p1333,SQR(rm3))),kmadd(ltet1,kmul(ltet2,kmul(R4p2313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p2333,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p3313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p3323,SQR(rm3))),kmadd(R4p1313,kmul(SQR(ltet1),SQR(rm3)),kmadd(R4p2323,kmul(SQR(ltet2),SQR(rm3)),kmadd(R4p3333,kmul(SQR(ltet3),SQR(rm3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rm3)),knmsub(ltet3,kmul(SQR(im3),kmadd(ltet1,R4p3313,kmul(ltet2,R4p2333))),kmadd(SQR(im3),kmsub(ltet2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(ltet2))),kmadd(SQR(im3),kmsub(ltet3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(ltet3))),kmadd(SQR(im3),kmsub(ltet1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(ltet2,kmul(ltet3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(ltet1))))),kmadd(ltet1,kmul(nn,kmul(Ro111,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro121,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro131,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro212,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro222,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro232,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro313,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro323,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro333,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet1,kmadd(ltet3,kmul(R4p1132,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1221,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p1231,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1123,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1331,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2113,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1233,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p1322,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p1332,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p2213,kmul(rm2,rm3)),kmadd(ltet2,kmsub(R4p1122,kmul(rm1,rm2),kmul(R4p1323,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(ltet2,kmadd(ltet3,kmul(R4p2132,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p2211,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p2231,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1321,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p2133,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p2311,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p3321,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p1223,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p2233,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p2312,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p2112,kmul(rm1,rm2),kmul(R4p2313,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(ltet3,kmadd(ltet2,kmul(R4p3122,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p3211,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p3221,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1133,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2331,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3113,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p3123,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3311,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2332,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3213,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3223,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3312,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3322,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p3112,kmul(rm1,rm2),kmul(R4p1333,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(im1),kmadd(ltet2,kmul(ltet3,R4p2131),kmadd(ltet2,kmul(ltet3,R4p3121),kmadd(R4p1111,SQR(ltet1),kmadd(R4p2121,SQR(ltet2),kmadd(R4p3131,SQR(ltet3),kmadd(Rojo11,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1121,R4p2111),kmadd(ltet3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(im2),kmadd(ltet2,kmul(ltet3,R4p2232),kmadd(ltet2,kmul(ltet3,R4p3222),kmadd(R4p1212,SQR(ltet1),kmadd(R4p2222,SQR(ltet2),kmadd(R4p3232,SQR(ltet3),kmadd(Rojo22,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1222,R4p2212),kmadd(ltet3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(im2,kmul(im3,kmadd(kadd(R4p1213,R4p1312),SQR(ltet1),kmadd(kadd(R4p2223,R4p2322),SQR(ltet2),kmadd(R4p3233,SQR(ltet3),kmadd(R4p3332,SQR(ltet3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(ltet3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(im1,kmadd(im2,kmadd(kadd(R4p1112,R4p1211),SQR(ltet1),kmadd(kadd(R4p2122,R4p2221),SQR(ltet2),kmadd(R4p3132,SQR(ltet3),kmadd(R4p3231,SQR(ltet3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(ltet3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(im3,kmadd(kadd(R4p1113,R4p1311),SQR(ltet1),kmadd(kadd(R4p2123,R4p2321),SQR(ltet2),kmadd(R4p3133,SQR(ltet3),kmadd(R4p3331,SQR(ltet3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(ltet3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi0iL =
+ kmadd(im1,kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm2,kmadd(kadd(R4p1113,R4p1311),rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm2,kmadd(kadd(R4p2123,R4p2321),rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet3),kmadd(kadd(R4p3132,R4p3231),rm2,kmadd(kadd(R4p3133,R4p3331),rm3,kmul(R4p3131,kmul(rm1,ToReal(2))))),kmadd(SQR(nn),kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm3,kmul(kadd(R4p1121,R4p2111),kmul(rm1,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm2,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm3,kmul(kadd(R4p1131,R4p3111),kmul(rm1,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm2,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm3,kmul(kadd(R4p2131,R4p3121),kmul(rm1,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(ltet3,kmul(nn,kmadd(kmadd(rm2,kadd(Ro132,Ro231),kmul(rm3,kadd(Ro133,Ro331))),ToReal(2),kmul(rm1,kmul(Ro131,ToReal(4)))))))))))),kmadd(im2,kmadd(kmadd(rm1,Rojo21,kmul(rm3,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3132,R4p3231),SQR(ltet3),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro132,Ro231),kmul(rm3,Ro233))),kmul(rm2,kmadd(R4p3232,SQR(ltet3),kmul(Rojo22,SQR(nn))))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1213,R4p1312),rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm1,kmadd(kadd(R4p2223,R4p2322),rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm3,kmul(kadd(R4p1222,R4p2212),kmul(rm2,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm3,kmul(kadd(R4p1232,R4p3212),kmul(rm2,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm3,kmul(kadd(R4p2232,R4p3222),kmul(rm2,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(ltet3,kmul(nn,kmadd(rm3,kmul(Ro332,ToReal(2)),kmul(rm2,kmul(Ro232,ToReal(4)))))))))))))),kmul(im3,kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3133,R4p3331),SQR(ltet3),kmul(Rojo13,SQR(nn))),kmadd(rm2,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro133,Ro331),kmul(rm2,kadd(Ro233,Ro332)))),kmul(R4p3333,kmul(rm3,SQR(ltet3)))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1213,R4p1312),rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2123,R4p2321),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm2,kmul(kadd(R4p1323,R4p2313),kmul(rm3,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm2,kmul(kadd(R4p1333,R4p3313),kmul(rm3,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm2,kmul(kadd(R4p2333,R4p3323),kmul(rm3,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(rm3,kmadd(Rojo33,kmul(SQR(nn),ToReal(2)),kmul(ltet3,kmul(nn,kmul(Ro333,ToReal(4)))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(Psi0i[index],Psi0iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi0r[index],Psi0rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi1i[index],Psi1iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi1r[index],Psi1rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi2i[index],Psi2iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi2r[index],Psi2rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi3i[index],Psi3iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi3r[index],Psi3rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(Psi0i[index],Psi0iL,elt_count);
+ vec_store_nta_partial_hi(Psi0r[index],Psi0rL,elt_count);
+ vec_store_nta_partial_hi(Psi1i[index],Psi1iL,elt_count);
+ vec_store_nta_partial_hi(Psi1r[index],Psi1rL,elt_count);
+ vec_store_nta_partial_hi(Psi2i[index],Psi2iL,elt_count);
+ vec_store_nta_partial_hi(Psi2r[index],Psi2rL,elt_count);
+ vec_store_nta_partial_hi(Psi3i[index],Psi3iL,elt_count);
+ vec_store_nta_partial_hi(Psi3r[index],Psi3rL,elt_count);
+ vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(Psi0i[index],Psi0iL,elt_count);
+ vec_store_nta_partial_lo(Psi0r[index],Psi0rL,elt_count);
+ vec_store_nta_partial_lo(Psi1i[index],Psi1iL,elt_count);
+ vec_store_nta_partial_lo(Psi1r[index],Psi1rL,elt_count);
+ vec_store_nta_partial_lo(Psi2i[index],Psi2iL,elt_count);
+ vec_store_nta_partial_lo(Psi2r[index],Psi2rL,elt_count);
+ vec_store_nta_partial_lo(Psi3i[index],Psi3iL,elt_count);
+ vec_store_nta_partial_lo(Psi3r[index],Psi3rL,elt_count);
+ vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
+ break;
+ }
+ vec_store_nta(Psi0i[index],Psi0iL);
+ vec_store_nta(Psi0r[index],Psi0rL);
+ vec_store_nta(Psi1i[index],Psi1iL);
+ vec_store_nta(Psi1r[index],Psi1rL);
+ vec_store_nta(Psi2i[index],Psi2iL);
+ vec_store_nta(Psi2r[index],Psi2rL);
+ vec_store_nta(Psi3i[index],Psi3iL);
+ vec_store_nta(Psi3r[index],Psi3rL);
+ vec_store_nta(Psi4i[index],Psi4iL);
+ vec_store_nta(Psi4r[index],Psi4rL);
}
- LC_ENDLOOP3 (psis_calc_2nd);
+ LC_ENDLOOP3VEC (psis_calc_2nd);
}
extern "C" void psis_calc_2nd(CCTK_ARGUMENTS)
@@ -1533,5 +1939,43 @@ extern "C" void psis_calc_2nd(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_2nd_Body");
+ }
+
+ if (cctk_iteration % psis_calc_2nd_calc_every != psis_calc_2nd_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "psis_calc_2nd", 13, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1);
+ break;
+ }
+
GenericFD_LoopOverInterior(cctkGH, &psis_calc_2nd_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving psis_calc_2nd_Body");
+ }
}
diff --git a/src/psis_calc_4th.cc b/src/psis_calc_4th.cc
index f61d454..41d69c0 100644
--- a/src/psis_calc_4th.cc
+++ b/src/psis_calc_4th.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void psis_calc_4th_SelectBCs(CCTK_ARGUMENTS)
{
@@ -27,6 +28,30 @@ extern "C" void psis_calc_4th_SelectBCs(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3r_group.");
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
@@ -36,7 +61,7 @@ extern "C" void psis_calc_4th_SelectBCs(CCTK_ARGUMENTS)
return;
}
-static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
@@ -44,38 +69,6 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
/* Declare finite differencing variables */
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_4th_Body");
- }
-
- if (cctk_iteration % psis_calc_4th_calc_every != psis_calc_4th_calc_offset)
- {
- return;
- }
-
- const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "psis_calc_4th", 5, groups);
-
- switch(fdOrder)
- {
- case 2:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
- break;
-
- case 4:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
- break;
-
- case 6:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
- break;
-
- case 8:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
- break;
- }
-
/* Include user-supplied include files */
/* Initialise finite differencing variables */
@@ -85,144 +78,250 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx));
- CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy));
- CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz));
- CCTK_REAL const p1o2dx = 0.5*INV(dx);
- CCTK_REAL const p1o2dy = 0.5*INV(dy);
- CCTK_REAL const p1o2dz = 0.5*INV(dz);
- CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy);
- CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz);
- CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz);
- CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy);
- CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz);
- CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz);
- CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx));
- CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy));
- CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz));
- CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx);
- CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy);
- CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz);
- CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy);
- CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz);
- CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz);
- CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx);
- CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy);
- CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz);
- CCTK_REAL const p1odx2 = INV(SQR(dx));
- CCTK_REAL const p1ody2 = INV(SQR(dy));
- CCTK_REAL const p1odz2 = INV(SQR(dz));
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (psis_calc_4th,
- i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ LC_LOOP3VEC (psis_calc_4th,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL gxxL = gxx[index];
- CCTK_REAL gxyL = gxy[index];
- CCTK_REAL gxzL = gxz[index];
- CCTK_REAL gyyL = gyy[index];
- CCTK_REAL gyzL = gyz[index];
- CCTK_REAL gzzL = gzz[index];
- CCTK_REAL kxxL = kxx[index];
- CCTK_REAL kxyL = kxy[index];
- CCTK_REAL kxzL = kxz[index];
- CCTK_REAL kyyL = kyy[index];
- CCTK_REAL kyzL = kyz[index];
- CCTK_REAL kzzL = kzz[index];
- CCTK_REAL xL = x[index];
- CCTK_REAL yL = y[index];
- CCTK_REAL zL = z[index];
-
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+ CCTK_REAL_VEC xL = vec_load(x[index]);
+ CCTK_REAL_VEC yL = vec_load(y[index]);
+ CCTK_REAL_VEC zL = vec_load(z[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL PDstandard4th1gxx;
- CCTK_REAL PDstandard4th2gxx;
- CCTK_REAL PDstandard4th3gxx;
- CCTK_REAL PDstandard4th22gxx;
- CCTK_REAL PDstandard4th33gxx;
- CCTK_REAL PDstandard4th23gxx;
- CCTK_REAL PDstandard4th1gxy;
- CCTK_REAL PDstandard4th2gxy;
- CCTK_REAL PDstandard4th3gxy;
- CCTK_REAL PDstandard4th33gxy;
- CCTK_REAL PDstandard4th12gxy;
- CCTK_REAL PDstandard4th13gxy;
- CCTK_REAL PDstandard4th23gxy;
- CCTK_REAL PDstandard4th1gxz;
- CCTK_REAL PDstandard4th2gxz;
- CCTK_REAL PDstandard4th3gxz;
- CCTK_REAL PDstandard4th22gxz;
- CCTK_REAL PDstandard4th12gxz;
- CCTK_REAL PDstandard4th13gxz;
- CCTK_REAL PDstandard4th23gxz;
- CCTK_REAL PDstandard4th1gyy;
- CCTK_REAL PDstandard4th2gyy;
- CCTK_REAL PDstandard4th3gyy;
- CCTK_REAL PDstandard4th11gyy;
- CCTK_REAL PDstandard4th33gyy;
- CCTK_REAL PDstandard4th13gyy;
- CCTK_REAL PDstandard4th1gyz;
- CCTK_REAL PDstandard4th2gyz;
- CCTK_REAL PDstandard4th3gyz;
- CCTK_REAL PDstandard4th11gyz;
- CCTK_REAL PDstandard4th12gyz;
- CCTK_REAL PDstandard4th13gyz;
- CCTK_REAL PDstandard4th23gyz;
- CCTK_REAL PDstandard4th1gzz;
- CCTK_REAL PDstandard4th2gzz;
- CCTK_REAL PDstandard4th3gzz;
- CCTK_REAL PDstandard4th11gzz;
- CCTK_REAL PDstandard4th22gzz;
- CCTK_REAL PDstandard4th12gzz;
- CCTK_REAL PDstandard4th2kxx;
- CCTK_REAL PDstandard4th3kxx;
- CCTK_REAL PDstandard4th1kxy;
- CCTK_REAL PDstandard4th2kxy;
- CCTK_REAL PDstandard4th3kxy;
- CCTK_REAL PDstandard4th1kxz;
- CCTK_REAL PDstandard4th2kxz;
- CCTK_REAL PDstandard4th3kxz;
- CCTK_REAL PDstandard4th1kyy;
- CCTK_REAL PDstandard4th3kyy;
- CCTK_REAL PDstandard4th1kyz;
- CCTK_REAL PDstandard4th2kyz;
- CCTK_REAL PDstandard4th3kyz;
- CCTK_REAL PDstandard4th1kzz;
- CCTK_REAL PDstandard4th2kzz;
+ CCTK_REAL_VEC PDstandard4th1gxx;
+ CCTK_REAL_VEC PDstandard4th2gxx;
+ CCTK_REAL_VEC PDstandard4th3gxx;
+ CCTK_REAL_VEC PDstandard4th11gxx;
+ CCTK_REAL_VEC PDstandard4th22gxx;
+ CCTK_REAL_VEC PDstandard4th33gxx;
+ CCTK_REAL_VEC PDstandard4th12gxx;
+ CCTK_REAL_VEC PDstandard4th13gxx;
+ CCTK_REAL_VEC PDstandard4th23gxx;
+ CCTK_REAL_VEC PDstandard4th1gxy;
+ CCTK_REAL_VEC PDstandard4th2gxy;
+ CCTK_REAL_VEC PDstandard4th3gxy;
+ CCTK_REAL_VEC PDstandard4th11gxy;
+ CCTK_REAL_VEC PDstandard4th22gxy;
+ CCTK_REAL_VEC PDstandard4th33gxy;
+ CCTK_REAL_VEC PDstandard4th12gxy;
+ CCTK_REAL_VEC PDstandard4th13gxy;
+ CCTK_REAL_VEC PDstandard4th23gxy;
+ CCTK_REAL_VEC PDstandard4th1gxz;
+ CCTK_REAL_VEC PDstandard4th2gxz;
+ CCTK_REAL_VEC PDstandard4th3gxz;
+ CCTK_REAL_VEC PDstandard4th11gxz;
+ CCTK_REAL_VEC PDstandard4th22gxz;
+ CCTK_REAL_VEC PDstandard4th33gxz;
+ CCTK_REAL_VEC PDstandard4th12gxz;
+ CCTK_REAL_VEC PDstandard4th13gxz;
+ CCTK_REAL_VEC PDstandard4th23gxz;
+ CCTK_REAL_VEC PDstandard4th1gyy;
+ CCTK_REAL_VEC PDstandard4th2gyy;
+ CCTK_REAL_VEC PDstandard4th3gyy;
+ CCTK_REAL_VEC PDstandard4th11gyy;
+ CCTK_REAL_VEC PDstandard4th22gyy;
+ CCTK_REAL_VEC PDstandard4th33gyy;
+ CCTK_REAL_VEC PDstandard4th12gyy;
+ CCTK_REAL_VEC PDstandard4th13gyy;
+ CCTK_REAL_VEC PDstandard4th23gyy;
+ CCTK_REAL_VEC PDstandard4th1gyz;
+ CCTK_REAL_VEC PDstandard4th2gyz;
+ CCTK_REAL_VEC PDstandard4th3gyz;
+ CCTK_REAL_VEC PDstandard4th11gyz;
+ CCTK_REAL_VEC PDstandard4th22gyz;
+ CCTK_REAL_VEC PDstandard4th33gyz;
+ CCTK_REAL_VEC PDstandard4th12gyz;
+ CCTK_REAL_VEC PDstandard4th13gyz;
+ CCTK_REAL_VEC PDstandard4th23gyz;
+ CCTK_REAL_VEC PDstandard4th1gzz;
+ CCTK_REAL_VEC PDstandard4th2gzz;
+ CCTK_REAL_VEC PDstandard4th3gzz;
+ CCTK_REAL_VEC PDstandard4th11gzz;
+ CCTK_REAL_VEC PDstandard4th22gzz;
+ CCTK_REAL_VEC PDstandard4th33gzz;
+ CCTK_REAL_VEC PDstandard4th12gzz;
+ CCTK_REAL_VEC PDstandard4th13gzz;
+ CCTK_REAL_VEC PDstandard4th23gzz;
+ CCTK_REAL_VEC PDstandard4th1kxx;
+ CCTK_REAL_VEC PDstandard4th2kxx;
+ CCTK_REAL_VEC PDstandard4th3kxx;
+ CCTK_REAL_VEC PDstandard4th1kxy;
+ CCTK_REAL_VEC PDstandard4th2kxy;
+ CCTK_REAL_VEC PDstandard4th3kxy;
+ CCTK_REAL_VEC PDstandard4th1kxz;
+ CCTK_REAL_VEC PDstandard4th2kxz;
+ CCTK_REAL_VEC PDstandard4th3kxz;
+ CCTK_REAL_VEC PDstandard4th1kyy;
+ CCTK_REAL_VEC PDstandard4th2kyy;
+ CCTK_REAL_VEC PDstandard4th3kyy;
+ CCTK_REAL_VEC PDstandard4th1kyz;
+ CCTK_REAL_VEC PDstandard4th2kyz;
+ CCTK_REAL_VEC PDstandard4th3kyz;
+ CCTK_REAL_VEC PDstandard4th1kzz;
+ CCTK_REAL_VEC PDstandard4th2kzz;
+ CCTK_REAL_VEC PDstandard4th3kzz;
switch(fdOrder)
{
@@ -230,12 +329,17 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
@@ -243,7 +347,9 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
@@ -251,12 +357,17 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
@@ -265,7 +376,11 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
@@ -275,24 +390,31 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
break;
case 4:
PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
@@ -300,7 +422,9 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
@@ -308,12 +432,17 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
@@ -322,7 +451,11 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
@@ -332,24 +465,31 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
break;
case 6:
PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
@@ -357,7 +497,9 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
@@ -365,12 +507,17 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
@@ -379,7 +526,11 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
@@ -389,24 +540,31 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
break;
case 8:
PDstandard4th1gxx = PDstandard4th1(&gxx[index]);
PDstandard4th2gxx = PDstandard4th2(&gxx[index]);
PDstandard4th3gxx = PDstandard4th3(&gxx[index]);
+ PDstandard4th11gxx = PDstandard4th11(&gxx[index]);
PDstandard4th22gxx = PDstandard4th22(&gxx[index]);
PDstandard4th33gxx = PDstandard4th33(&gxx[index]);
+ PDstandard4th12gxx = PDstandard4th12(&gxx[index]);
+ PDstandard4th13gxx = PDstandard4th13(&gxx[index]);
PDstandard4th23gxx = PDstandard4th23(&gxx[index]);
PDstandard4th1gxy = PDstandard4th1(&gxy[index]);
PDstandard4th2gxy = PDstandard4th2(&gxy[index]);
PDstandard4th3gxy = PDstandard4th3(&gxy[index]);
+ PDstandard4th11gxy = PDstandard4th11(&gxy[index]);
+ PDstandard4th22gxy = PDstandard4th22(&gxy[index]);
PDstandard4th33gxy = PDstandard4th33(&gxy[index]);
PDstandard4th12gxy = PDstandard4th12(&gxy[index]);
PDstandard4th13gxy = PDstandard4th13(&gxy[index]);
@@ -414,7 +572,9 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th1gxz = PDstandard4th1(&gxz[index]);
PDstandard4th2gxz = PDstandard4th2(&gxz[index]);
PDstandard4th3gxz = PDstandard4th3(&gxz[index]);
+ PDstandard4th11gxz = PDstandard4th11(&gxz[index]);
PDstandard4th22gxz = PDstandard4th22(&gxz[index]);
+ PDstandard4th33gxz = PDstandard4th33(&gxz[index]);
PDstandard4th12gxz = PDstandard4th12(&gxz[index]);
PDstandard4th13gxz = PDstandard4th13(&gxz[index]);
PDstandard4th23gxz = PDstandard4th23(&gxz[index]);
@@ -422,12 +582,17 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2gyy = PDstandard4th2(&gyy[index]);
PDstandard4th3gyy = PDstandard4th3(&gyy[index]);
PDstandard4th11gyy = PDstandard4th11(&gyy[index]);
+ PDstandard4th22gyy = PDstandard4th22(&gyy[index]);
PDstandard4th33gyy = PDstandard4th33(&gyy[index]);
+ PDstandard4th12gyy = PDstandard4th12(&gyy[index]);
PDstandard4th13gyy = PDstandard4th13(&gyy[index]);
+ PDstandard4th23gyy = PDstandard4th23(&gyy[index]);
PDstandard4th1gyz = PDstandard4th1(&gyz[index]);
PDstandard4th2gyz = PDstandard4th2(&gyz[index]);
PDstandard4th3gyz = PDstandard4th3(&gyz[index]);
PDstandard4th11gyz = PDstandard4th11(&gyz[index]);
+ PDstandard4th22gyz = PDstandard4th22(&gyz[index]);
+ PDstandard4th33gyz = PDstandard4th33(&gyz[index]);
PDstandard4th12gyz = PDstandard4th12(&gyz[index]);
PDstandard4th13gyz = PDstandard4th13(&gyz[index]);
PDstandard4th23gyz = PDstandard4th23(&gyz[index]);
@@ -436,7 +601,11 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th3gzz = PDstandard4th3(&gzz[index]);
PDstandard4th11gzz = PDstandard4th11(&gzz[index]);
PDstandard4th22gzz = PDstandard4th22(&gzz[index]);
+ PDstandard4th33gzz = PDstandard4th33(&gzz[index]);
PDstandard4th12gzz = PDstandard4th12(&gzz[index]);
+ PDstandard4th13gzz = PDstandard4th13(&gzz[index]);
+ PDstandard4th23gzz = PDstandard4th23(&gzz[index]);
+ PDstandard4th1kxx = PDstandard4th1(&kxx[index]);
PDstandard4th2kxx = PDstandard4th2(&kxx[index]);
PDstandard4th3kxx = PDstandard4th3(&kxx[index]);
PDstandard4th1kxy = PDstandard4th1(&kxy[index]);
@@ -446,1086 +615,1323 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard4th2kxz = PDstandard4th2(&kxz[index]);
PDstandard4th3kxz = PDstandard4th3(&kxz[index]);
PDstandard4th1kyy = PDstandard4th1(&kyy[index]);
+ PDstandard4th2kyy = PDstandard4th2(&kyy[index]);
PDstandard4th3kyy = PDstandard4th3(&kyy[index]);
PDstandard4th1kyz = PDstandard4th1(&kyz[index]);
PDstandard4th2kyz = PDstandard4th2(&kyz[index]);
PDstandard4th3kyz = PDstandard4th3(&kyz[index]);
PDstandard4th1kzz = PDstandard4th1(&kzz[index]);
PDstandard4th2kzz = PDstandard4th2(&kzz[index]);
+ PDstandard4th3kzz = PDstandard4th3(&kzz[index]);
break;
}
/* Calculate temporaries and grid functions */
- CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) -
- gyyL*SQR(gxzL) - gxxL*SQR(gyzL);
+ CCTK_REAL_VEC JacPDstandard4th11gxy;
+ CCTK_REAL_VEC JacPDstandard4th11gxz;
+ CCTK_REAL_VEC JacPDstandard4th11gyy;
+ CCTK_REAL_VEC JacPDstandard4th11gyz;
+ CCTK_REAL_VEC JacPDstandard4th11gzz;
+ CCTK_REAL_VEC JacPDstandard4th12gxx;
+ CCTK_REAL_VEC JacPDstandard4th12gxy;
+ CCTK_REAL_VEC JacPDstandard4th12gxz;
+ CCTK_REAL_VEC JacPDstandard4th12gyy;
+ CCTK_REAL_VEC JacPDstandard4th12gyz;
+ CCTK_REAL_VEC JacPDstandard4th12gzz;
+ CCTK_REAL_VEC JacPDstandard4th13gxx;
+ CCTK_REAL_VEC JacPDstandard4th13gxy;
+ CCTK_REAL_VEC JacPDstandard4th13gxz;
+ CCTK_REAL_VEC JacPDstandard4th13gyy;
+ CCTK_REAL_VEC JacPDstandard4th13gyz;
+ CCTK_REAL_VEC JacPDstandard4th13gzz;
+ CCTK_REAL_VEC JacPDstandard4th1gxx;
+ CCTK_REAL_VEC JacPDstandard4th1gxy;
+ CCTK_REAL_VEC JacPDstandard4th1gxz;
+ CCTK_REAL_VEC JacPDstandard4th1gyy;
+ CCTK_REAL_VEC JacPDstandard4th1gyz;
+ CCTK_REAL_VEC JacPDstandard4th1gzz;
+ CCTK_REAL_VEC JacPDstandard4th1kxy;
+ CCTK_REAL_VEC JacPDstandard4th1kxz;
+ CCTK_REAL_VEC JacPDstandard4th1kyy;
+ CCTK_REAL_VEC JacPDstandard4th1kyz;
+ CCTK_REAL_VEC JacPDstandard4th1kzz;
+ CCTK_REAL_VEC JacPDstandard4th21gxx;
+ CCTK_REAL_VEC JacPDstandard4th21gxy;
+ CCTK_REAL_VEC JacPDstandard4th21gxz;
+ CCTK_REAL_VEC JacPDstandard4th21gyy;
+ CCTK_REAL_VEC JacPDstandard4th21gyz;
+ CCTK_REAL_VEC JacPDstandard4th21gzz;
+ CCTK_REAL_VEC JacPDstandard4th22gxx;
+ CCTK_REAL_VEC JacPDstandard4th22gxy;
+ CCTK_REAL_VEC JacPDstandard4th22gxz;
+ CCTK_REAL_VEC JacPDstandard4th22gyz;
+ CCTK_REAL_VEC JacPDstandard4th22gzz;
+ CCTK_REAL_VEC JacPDstandard4th23gxx;
+ CCTK_REAL_VEC JacPDstandard4th23gxy;
+ CCTK_REAL_VEC JacPDstandard4th23gxz;
+ CCTK_REAL_VEC JacPDstandard4th23gyy;
+ CCTK_REAL_VEC JacPDstandard4th23gyz;
+ CCTK_REAL_VEC JacPDstandard4th23gzz;
+ CCTK_REAL_VEC JacPDstandard4th2gxx;
+ CCTK_REAL_VEC JacPDstandard4th2gxy;
+ CCTK_REAL_VEC JacPDstandard4th2gxz;
+ CCTK_REAL_VEC JacPDstandard4th2gyy;
+ CCTK_REAL_VEC JacPDstandard4th2gyz;
+ CCTK_REAL_VEC JacPDstandard4th2gzz;
+ CCTK_REAL_VEC JacPDstandard4th2kxx;
+ CCTK_REAL_VEC JacPDstandard4th2kxy;
+ CCTK_REAL_VEC JacPDstandard4th2kxz;
+ CCTK_REAL_VEC JacPDstandard4th2kyz;
+ CCTK_REAL_VEC JacPDstandard4th2kzz;
+ CCTK_REAL_VEC JacPDstandard4th31gxx;
+ CCTK_REAL_VEC JacPDstandard4th31gxy;
+ CCTK_REAL_VEC JacPDstandard4th31gxz;
+ CCTK_REAL_VEC JacPDstandard4th31gyy;
+ CCTK_REAL_VEC JacPDstandard4th31gyz;
+ CCTK_REAL_VEC JacPDstandard4th31gzz;
+ CCTK_REAL_VEC JacPDstandard4th32gxx;
+ CCTK_REAL_VEC JacPDstandard4th32gxy;
+ CCTK_REAL_VEC JacPDstandard4th32gxz;
+ CCTK_REAL_VEC JacPDstandard4th32gyy;
+ CCTK_REAL_VEC JacPDstandard4th32gyz;
+ CCTK_REAL_VEC JacPDstandard4th32gzz;
+ CCTK_REAL_VEC JacPDstandard4th33gxx;
+ CCTK_REAL_VEC JacPDstandard4th33gxy;
+ CCTK_REAL_VEC JacPDstandard4th33gxz;
+ CCTK_REAL_VEC JacPDstandard4th33gyy;
+ CCTK_REAL_VEC JacPDstandard4th33gyz;
+ CCTK_REAL_VEC JacPDstandard4th3gxx;
+ CCTK_REAL_VEC JacPDstandard4th3gxy;
+ CCTK_REAL_VEC JacPDstandard4th3gxz;
+ CCTK_REAL_VEC JacPDstandard4th3gyy;
+ CCTK_REAL_VEC JacPDstandard4th3gyz;
+ CCTK_REAL_VEC JacPDstandard4th3gzz;
+ CCTK_REAL_VEC JacPDstandard4th3kxx;
+ CCTK_REAL_VEC JacPDstandard4th3kxy;
+ CCTK_REAL_VEC JacPDstandard4th3kxz;
+ CCTK_REAL_VEC JacPDstandard4th3kyy;
+ CCTK_REAL_VEC JacPDstandard4th3kyz;
+
+ if (use_jacobian)
+ {
+ JacPDstandard4th1gxx =
+ kmadd(J11L,PDstandard4th1gxx,kmadd(J21L,PDstandard4th2gxx,kmul(J31L,PDstandard4th3gxx)));
+
+ JacPDstandard4th1gxy =
+ kmadd(J11L,PDstandard4th1gxy,kmadd(J21L,PDstandard4th2gxy,kmul(J31L,PDstandard4th3gxy)));
+
+ JacPDstandard4th1gxz =
+ kmadd(J11L,PDstandard4th1gxz,kmadd(J21L,PDstandard4th2gxz,kmul(J31L,PDstandard4th3gxz)));
+
+ JacPDstandard4th1gyy =
+ kmadd(J11L,PDstandard4th1gyy,kmadd(J21L,PDstandard4th2gyy,kmul(J31L,PDstandard4th3gyy)));
+
+ JacPDstandard4th1gyz =
+ kmadd(J11L,PDstandard4th1gyz,kmadd(J21L,PDstandard4th2gyz,kmul(J31L,PDstandard4th3gyz)));
+
+ JacPDstandard4th1gzz =
+ kmadd(J11L,PDstandard4th1gzz,kmadd(J21L,PDstandard4th2gzz,kmul(J31L,PDstandard4th3gzz)));
+
+ JacPDstandard4th1kxy =
+ kmadd(J11L,PDstandard4th1kxy,kmadd(J21L,PDstandard4th2kxy,kmul(J31L,PDstandard4th3kxy)));
+
+ JacPDstandard4th1kxz =
+ kmadd(J11L,PDstandard4th1kxz,kmadd(J21L,PDstandard4th2kxz,kmul(J31L,PDstandard4th3kxz)));
+
+ JacPDstandard4th1kyy =
+ kmadd(J11L,PDstandard4th1kyy,kmadd(J21L,PDstandard4th2kyy,kmul(J31L,PDstandard4th3kyy)));
+
+ JacPDstandard4th1kyz =
+ kmadd(J11L,PDstandard4th1kyz,kmadd(J21L,PDstandard4th2kyz,kmul(J31L,PDstandard4th3kyz)));
+
+ JacPDstandard4th1kzz =
+ kmadd(J11L,PDstandard4th1kzz,kmadd(J21L,PDstandard4th2kzz,kmul(J31L,PDstandard4th3kzz)));
+
+ JacPDstandard4th2gxx =
+ kmadd(J12L,PDstandard4th1gxx,kmadd(J22L,PDstandard4th2gxx,kmul(J32L,PDstandard4th3gxx)));
+
+ JacPDstandard4th2gxy =
+ kmadd(J12L,PDstandard4th1gxy,kmadd(J22L,PDstandard4th2gxy,kmul(J32L,PDstandard4th3gxy)));
+
+ JacPDstandard4th2gxz =
+ kmadd(J12L,PDstandard4th1gxz,kmadd(J22L,PDstandard4th2gxz,kmul(J32L,PDstandard4th3gxz)));
+
+ JacPDstandard4th2gyy =
+ kmadd(J12L,PDstandard4th1gyy,kmadd(J22L,PDstandard4th2gyy,kmul(J32L,PDstandard4th3gyy)));
+
+ JacPDstandard4th2gyz =
+ kmadd(J12L,PDstandard4th1gyz,kmadd(J22L,PDstandard4th2gyz,kmul(J32L,PDstandard4th3gyz)));
+
+ JacPDstandard4th2gzz =
+ kmadd(J12L,PDstandard4th1gzz,kmadd(J22L,PDstandard4th2gzz,kmul(J32L,PDstandard4th3gzz)));
+
+ JacPDstandard4th2kxx =
+ kmadd(J12L,PDstandard4th1kxx,kmadd(J22L,PDstandard4th2kxx,kmul(J32L,PDstandard4th3kxx)));
+
+ JacPDstandard4th2kxy =
+ kmadd(J12L,PDstandard4th1kxy,kmadd(J22L,PDstandard4th2kxy,kmul(J32L,PDstandard4th3kxy)));
+
+ JacPDstandard4th2kxz =
+ kmadd(J12L,PDstandard4th1kxz,kmadd(J22L,PDstandard4th2kxz,kmul(J32L,PDstandard4th3kxz)));
+
+ JacPDstandard4th2kyz =
+ kmadd(J12L,PDstandard4th1kyz,kmadd(J22L,PDstandard4th2kyz,kmul(J32L,PDstandard4th3kyz)));
+
+ JacPDstandard4th2kzz =
+ kmadd(J12L,PDstandard4th1kzz,kmadd(J22L,PDstandard4th2kzz,kmul(J32L,PDstandard4th3kzz)));
+
+ JacPDstandard4th3gxx =
+ kmadd(J13L,PDstandard4th1gxx,kmadd(J23L,PDstandard4th2gxx,kmul(J33L,PDstandard4th3gxx)));
+
+ JacPDstandard4th3gxy =
+ kmadd(J13L,PDstandard4th1gxy,kmadd(J23L,PDstandard4th2gxy,kmul(J33L,PDstandard4th3gxy)));
+
+ JacPDstandard4th3gxz =
+ kmadd(J13L,PDstandard4th1gxz,kmadd(J23L,PDstandard4th2gxz,kmul(J33L,PDstandard4th3gxz)));
+
+ JacPDstandard4th3gyy =
+ kmadd(J13L,PDstandard4th1gyy,kmadd(J23L,PDstandard4th2gyy,kmul(J33L,PDstandard4th3gyy)));
+
+ JacPDstandard4th3gyz =
+ kmadd(J13L,PDstandard4th1gyz,kmadd(J23L,PDstandard4th2gyz,kmul(J33L,PDstandard4th3gyz)));
+
+ JacPDstandard4th3gzz =
+ kmadd(J13L,PDstandard4th1gzz,kmadd(J23L,PDstandard4th2gzz,kmul(J33L,PDstandard4th3gzz)));
+
+ JacPDstandard4th3kxx =
+ kmadd(J13L,PDstandard4th1kxx,kmadd(J23L,PDstandard4th2kxx,kmul(J33L,PDstandard4th3kxx)));
+
+ JacPDstandard4th3kxy =
+ kmadd(J13L,PDstandard4th1kxy,kmadd(J23L,PDstandard4th2kxy,kmul(J33L,PDstandard4th3kxy)));
+
+ JacPDstandard4th3kxz =
+ kmadd(J13L,PDstandard4th1kxz,kmadd(J23L,PDstandard4th2kxz,kmul(J33L,PDstandard4th3kxz)));
+
+ JacPDstandard4th3kyy =
+ kmadd(J13L,PDstandard4th1kyy,kmadd(J23L,PDstandard4th2kyy,kmul(J33L,PDstandard4th3kyy)));
+
+ JacPDstandard4th3kyz =
+ kmadd(J13L,PDstandard4th1kyz,kmadd(J23L,PDstandard4th2kyz,kmul(J33L,PDstandard4th3kyz)));
+
+ JacPDstandard4th11gxy =
+ kmadd(dJ111L,PDstandard4th1gxy,kmadd(dJ211L,PDstandard4th2gxy,kmadd(dJ311L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J11L),kmadd(PDstandard4th22gxy,SQR(J21L),kmadd(PDstandard4th33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy)),kmul(J21L,kmul(J31L,PDstandard4th23gxy))),ToReal(2))))))));
+
+ JacPDstandard4th11gxz =
+ kmadd(dJ111L,PDstandard4th1gxz,kmadd(dJ211L,PDstandard4th2gxz,kmadd(dJ311L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J11L),kmadd(PDstandard4th22gxz,SQR(J21L),kmadd(PDstandard4th33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz)),kmul(J21L,kmul(J31L,PDstandard4th23gxz))),ToReal(2))))))));
+
+ JacPDstandard4th11gyy =
+ kmadd(dJ111L,PDstandard4th1gyy,kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,SQR(J11L),kmadd(PDstandard4th22gyy,SQR(J21L),kmadd(PDstandard4th33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),ToReal(2))))))));
+
+ JacPDstandard4th11gyz =
+ kmadd(dJ111L,PDstandard4th1gyz,kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J11L),kmadd(PDstandard4th22gyz,SQR(J21L),kmadd(PDstandard4th33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),ToReal(2))))))));
+
+ JacPDstandard4th11gzz =
+ kmadd(dJ111L,PDstandard4th1gzz,kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,SQR(J11L),kmadd(PDstandard4th22gzz,SQR(J21L),kmadd(PDstandard4th33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),ToReal(2))))))));
+
+ JacPDstandard4th22gxx =
+ kmadd(dJ122L,PDstandard4th1gxx,kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,SQR(J12L),kmadd(PDstandard4th22gxx,SQR(J22L),kmadd(PDstandard4th33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),ToReal(2))))))));
+
+ JacPDstandard4th22gxy =
+ kmadd(dJ122L,PDstandard4th1gxy,kmadd(dJ222L,PDstandard4th2gxy,kmadd(dJ322L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J12L),kmadd(PDstandard4th22gxy,SQR(J22L),kmadd(PDstandard4th33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmul(J22L,kmul(J32L,PDstandard4th23gxy))),ToReal(2))))))));
+
+ JacPDstandard4th22gxz =
+ kmadd(dJ122L,PDstandard4th1gxz,kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J12L),kmadd(PDstandard4th22gxz,SQR(J22L),kmadd(PDstandard4th33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),ToReal(2))))))));
+
+ JacPDstandard4th22gyz =
+ kmadd(dJ122L,PDstandard4th1gyz,kmadd(dJ222L,PDstandard4th2gyz,kmadd(dJ322L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J12L),kmadd(PDstandard4th22gyz,SQR(J22L),kmadd(PDstandard4th33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmul(J22L,kmul(J32L,PDstandard4th23gyz))),ToReal(2))))))));
+
+ JacPDstandard4th22gzz =
+ kmadd(dJ122L,PDstandard4th1gzz,kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,SQR(J12L),kmadd(PDstandard4th22gzz,SQR(J22L),kmadd(PDstandard4th33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),ToReal(2))))))));
+
+ JacPDstandard4th33gxx =
+ kmadd(dJ133L,PDstandard4th1gxx,kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,SQR(J13L),kmadd(PDstandard4th22gxx,SQR(J23L),kmadd(PDstandard4th33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),ToReal(2))))))));
+
+ JacPDstandard4th33gxy =
+ kmadd(dJ133L,PDstandard4th1gxy,kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J13L),kmadd(PDstandard4th22gxy,SQR(J23L),kmadd(PDstandard4th33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),ToReal(2))))))));
+
+ JacPDstandard4th33gxz =
+ kmadd(dJ133L,PDstandard4th1gxz,kmadd(dJ233L,PDstandard4th2gxz,kmadd(dJ333L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J13L),kmadd(PDstandard4th22gxz,SQR(J23L),kmadd(PDstandard4th33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmul(J23L,kmul(J33L,PDstandard4th23gxz))),ToReal(2))))))));
+
+ JacPDstandard4th33gyy =
+ kmadd(dJ133L,PDstandard4th1gyy,kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,SQR(J13L),kmadd(PDstandard4th22gyy,SQR(J23L),kmadd(PDstandard4th33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),ToReal(2))))))));
+
+ JacPDstandard4th33gyz =
+ kmadd(dJ133L,PDstandard4th1gyz,kmadd(dJ233L,PDstandard4th2gyz,kmadd(dJ333L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J13L),kmadd(PDstandard4th22gyz,SQR(J23L),kmadd(PDstandard4th33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmul(J23L,kmul(J33L,PDstandard4th23gyz))),ToReal(2))))))));
+
+ JacPDstandard4th12gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmadd(dJ112L,PDstandard4th1gxx,kmadd(J22L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ212L,PDstandard4th2gxx,kmadd(J32L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ312L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th12gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th12gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmadd(dJ112L,PDstandard4th1gxz,kmadd(J22L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ212L,PDstandard4th2gxz,kmadd(J32L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ312L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th12gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy)),kmadd(dJ112L,PDstandard4th1gyy,kmadd(J22L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ212L,PDstandard4th2gyy,kmadd(J32L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ312L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th12gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmadd(dJ112L,PDstandard4th1gyz,kmadd(J22L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ212L,PDstandard4th2gyz,kmadd(J32L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ312L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th12gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmadd(dJ112L,PDstandard4th1gzz,kmadd(J22L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ212L,PDstandard4th2gzz,kmadd(J32L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ312L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th13gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ113L,PDstandard4th1gxx,kmadd(J23L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ213L,PDstandard4th2gxx,kmadd(J33L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ313L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th13gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ113L,PDstandard4th1gxy,kmadd(J23L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ213L,PDstandard4th2gxy,kmadd(J33L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ313L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th13gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ113L,PDstandard4th1gxz,kmadd(J23L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ213L,PDstandard4th2gxz,kmadd(J33L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ313L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th13gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ113L,PDstandard4th1gyy,kmadd(J23L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ213L,PDstandard4th2gyy,kmadd(J33L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ313L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th13gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ113L,PDstandard4th1gyz,kmadd(J23L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ213L,PDstandard4th2gyz,kmadd(J33L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ313L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th13gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ113L,PDstandard4th1gzz,kmadd(J23L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ213L,PDstandard4th2gzz,kmadd(J33L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ313L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th21gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmadd(dJ112L,PDstandard4th1gxx,kmadd(J22L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ212L,PDstandard4th2gxx,kmadd(J32L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ312L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th21gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th21gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmadd(dJ112L,PDstandard4th1gxz,kmadd(J22L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ212L,PDstandard4th2gxz,kmadd(J32L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ312L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th21gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy)),kmadd(dJ112L,PDstandard4th1gyy,kmadd(J22L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ212L,PDstandard4th2gyy,kmadd(J32L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ312L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th21gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmadd(dJ112L,PDstandard4th1gyz,kmadd(J22L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ212L,PDstandard4th2gyz,kmadd(J32L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ312L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th21gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmadd(dJ112L,PDstandard4th1gzz,kmadd(J22L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ212L,PDstandard4th2gzz,kmadd(J32L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ312L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th23gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxx,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ123L,PDstandard4th1gxx,kmadd(J23L,kmadd(J22L,PDstandard4th22gxx,kmul(J32L,PDstandard4th23gxx)),kmadd(dJ223L,PDstandard4th2gxx,kmadd(J33L,kmadd(J22L,PDstandard4th23gxx,kmul(J32L,PDstandard4th33gxx)),kmul(dJ323L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th23gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxy,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ123L,PDstandard4th1gxy,kmadd(J23L,kmadd(J22L,PDstandard4th22gxy,kmul(J32L,PDstandard4th23gxy)),kmadd(dJ223L,PDstandard4th2gxy,kmadd(J33L,kmadd(J22L,PDstandard4th23gxy,kmul(J32L,PDstandard4th33gxy)),kmul(dJ323L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th23gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxz,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ123L,PDstandard4th1gxz,kmadd(J23L,kmadd(J22L,PDstandard4th22gxz,kmul(J32L,PDstandard4th23gxz)),kmadd(dJ223L,PDstandard4th2gxz,kmadd(J33L,kmadd(J22L,PDstandard4th23gxz,kmul(J32L,PDstandard4th33gxz)),kmul(dJ323L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th23gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyy,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ123L,PDstandard4th1gyy,kmadd(J23L,kmadd(J22L,PDstandard4th22gyy,kmul(J32L,PDstandard4th23gyy)),kmadd(dJ223L,PDstandard4th2gyy,kmadd(J33L,kmadd(J22L,PDstandard4th23gyy,kmul(J32L,PDstandard4th33gyy)),kmul(dJ323L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th23gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyz,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ123L,PDstandard4th1gyz,kmadd(J23L,kmadd(J22L,PDstandard4th22gyz,kmul(J32L,PDstandard4th23gyz)),kmadd(dJ223L,PDstandard4th2gyz,kmadd(J33L,kmadd(J22L,PDstandard4th23gyz,kmul(J32L,PDstandard4th33gyz)),kmul(dJ323L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th23gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gzz,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ123L,PDstandard4th1gzz,kmadd(J23L,kmadd(J22L,PDstandard4th22gzz,kmul(J32L,PDstandard4th23gzz)),kmadd(dJ223L,PDstandard4th2gzz,kmadd(J33L,kmadd(J22L,PDstandard4th23gzz,kmul(J32L,PDstandard4th33gzz)),kmul(dJ323L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th31gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ113L,PDstandard4th1gxx,kmadd(J23L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ213L,PDstandard4th2gxx,kmadd(J33L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ313L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th31gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ113L,PDstandard4th1gxy,kmadd(J23L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ213L,PDstandard4th2gxy,kmadd(J33L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ313L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th31gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ113L,PDstandard4th1gxz,kmadd(J23L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ213L,PDstandard4th2gxz,kmadd(J33L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ313L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th31gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ113L,PDstandard4th1gyy,kmadd(J23L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ213L,PDstandard4th2gyy,kmadd(J33L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ313L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th31gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ113L,PDstandard4th1gyz,kmadd(J23L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ213L,PDstandard4th2gyz,kmadd(J33L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ313L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th31gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ113L,PDstandard4th1gzz,kmadd(J23L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ213L,PDstandard4th2gzz,kmadd(J33L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ313L,PDstandard4th3gzz)))))));
+
+ JacPDstandard4th32gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxx,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ123L,PDstandard4th1gxx,kmadd(J23L,kmadd(J22L,PDstandard4th22gxx,kmul(J32L,PDstandard4th23gxx)),kmadd(dJ223L,PDstandard4th2gxx,kmadd(J33L,kmadd(J22L,PDstandard4th23gxx,kmul(J32L,PDstandard4th33gxx)),kmul(dJ323L,PDstandard4th3gxx)))))));
+
+ JacPDstandard4th32gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxy,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ123L,PDstandard4th1gxy,kmadd(J23L,kmadd(J22L,PDstandard4th22gxy,kmul(J32L,PDstandard4th23gxy)),kmadd(dJ223L,PDstandard4th2gxy,kmadd(J33L,kmadd(J22L,PDstandard4th23gxy,kmul(J32L,PDstandard4th33gxy)),kmul(dJ323L,PDstandard4th3gxy)))))));
+
+ JacPDstandard4th32gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gxz,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ123L,PDstandard4th1gxz,kmadd(J23L,kmadd(J22L,PDstandard4th22gxz,kmul(J32L,PDstandard4th23gxz)),kmadd(dJ223L,PDstandard4th2gxz,kmadd(J33L,kmadd(J22L,PDstandard4th23gxz,kmul(J32L,PDstandard4th33gxz)),kmul(dJ323L,PDstandard4th3gxz)))))));
+
+ JacPDstandard4th32gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyy,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ123L,PDstandard4th1gyy,kmadd(J23L,kmadd(J22L,PDstandard4th22gyy,kmul(J32L,PDstandard4th23gyy)),kmadd(dJ223L,PDstandard4th2gyy,kmadd(J33L,kmadd(J22L,PDstandard4th23gyy,kmul(J32L,PDstandard4th33gyy)),kmul(dJ323L,PDstandard4th3gyy)))))));
+
+ JacPDstandard4th32gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gyz,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ123L,PDstandard4th1gyz,kmadd(J23L,kmadd(J22L,PDstandard4th22gyz,kmul(J32L,PDstandard4th23gyz)),kmadd(dJ223L,PDstandard4th2gyz,kmadd(J33L,kmadd(J22L,PDstandard4th23gyz,kmul(J32L,PDstandard4th33gyz)),kmul(dJ323L,PDstandard4th3gyz)))))));
+
+ JacPDstandard4th32gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard4th11gzz,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ123L,PDstandard4th1gzz,kmadd(J23L,kmadd(J22L,PDstandard4th22gzz,kmul(J32L,PDstandard4th23gzz)),kmadd(dJ223L,PDstandard4th2gzz,kmadd(J33L,kmadd(J22L,PDstandard4th23gzz,kmul(J32L,PDstandard4th33gzz)),kmul(dJ323L,PDstandard4th3gzz)))))));
+ }
+ else
+ {
+ JacPDstandard4th1gxx = PDstandard4th1gxx;
+
+ JacPDstandard4th1gxy = PDstandard4th1gxy;
+
+ JacPDstandard4th1gxz = PDstandard4th1gxz;
+
+ JacPDstandard4th1gyy = PDstandard4th1gyy;
+
+ JacPDstandard4th1gyz = PDstandard4th1gyz;
+
+ JacPDstandard4th1gzz = PDstandard4th1gzz;
+
+ JacPDstandard4th1kxy = PDstandard4th1kxy;
+
+ JacPDstandard4th1kxz = PDstandard4th1kxz;
+
+ JacPDstandard4th1kyy = PDstandard4th1kyy;
+
+ JacPDstandard4th1kyz = PDstandard4th1kyz;
+
+ JacPDstandard4th1kzz = PDstandard4th1kzz;
+
+ JacPDstandard4th2gxx = PDstandard4th2gxx;
+
+ JacPDstandard4th2gxy = PDstandard4th2gxy;
+
+ JacPDstandard4th2gxz = PDstandard4th2gxz;
+
+ JacPDstandard4th2gyy = PDstandard4th2gyy;
+
+ JacPDstandard4th2gyz = PDstandard4th2gyz;
+
+ JacPDstandard4th2gzz = PDstandard4th2gzz;
+
+ JacPDstandard4th2kxx = PDstandard4th2kxx;
+
+ JacPDstandard4th2kxy = PDstandard4th2kxy;
+
+ JacPDstandard4th2kxz = PDstandard4th2kxz;
+
+ JacPDstandard4th2kyz = PDstandard4th2kyz;
+
+ JacPDstandard4th2kzz = PDstandard4th2kzz;
+
+ JacPDstandard4th3gxx = PDstandard4th3gxx;
+
+ JacPDstandard4th3gxy = PDstandard4th3gxy;
+
+ JacPDstandard4th3gxz = PDstandard4th3gxz;
+
+ JacPDstandard4th3gyy = PDstandard4th3gyy;
+
+ JacPDstandard4th3gyz = PDstandard4th3gyz;
+
+ JacPDstandard4th3gzz = PDstandard4th3gzz;
+
+ JacPDstandard4th3kxx = PDstandard4th3kxx;
+
+ JacPDstandard4th3kxy = PDstandard4th3kxy;
+
+ JacPDstandard4th3kxz = PDstandard4th3kxz;
+
+ JacPDstandard4th3kyy = PDstandard4th3kyy;
+
+ JacPDstandard4th3kyz = PDstandard4th3kyz;
+
+ JacPDstandard4th11gxy = PDstandard4th11gxy;
+
+ JacPDstandard4th11gxz = PDstandard4th11gxz;
+
+ JacPDstandard4th11gyy = PDstandard4th11gyy;
+
+ JacPDstandard4th11gyz = PDstandard4th11gyz;
+
+ JacPDstandard4th11gzz = PDstandard4th11gzz;
+
+ JacPDstandard4th22gxx = PDstandard4th22gxx;
+
+ JacPDstandard4th22gxy = PDstandard4th22gxy;
+
+ JacPDstandard4th22gxz = PDstandard4th22gxz;
+
+ JacPDstandard4th22gyz = PDstandard4th22gyz;
+
+ JacPDstandard4th22gzz = PDstandard4th22gzz;
+
+ JacPDstandard4th33gxx = PDstandard4th33gxx;
+
+ JacPDstandard4th33gxy = PDstandard4th33gxy;
+
+ JacPDstandard4th33gxz = PDstandard4th33gxz;
+
+ JacPDstandard4th33gyy = PDstandard4th33gyy;
+
+ JacPDstandard4th33gyz = PDstandard4th33gyz;
+
+ JacPDstandard4th12gxx = PDstandard4th12gxx;
+
+ JacPDstandard4th12gxy = PDstandard4th12gxy;
+
+ JacPDstandard4th12gxz = PDstandard4th12gxz;
+
+ JacPDstandard4th12gyy = PDstandard4th12gyy;
+
+ JacPDstandard4th12gyz = PDstandard4th12gyz;
+
+ JacPDstandard4th12gzz = PDstandard4th12gzz;
+
+ JacPDstandard4th13gxx = PDstandard4th13gxx;
+
+ JacPDstandard4th13gxy = PDstandard4th13gxy;
+
+ JacPDstandard4th13gxz = PDstandard4th13gxz;
+
+ JacPDstandard4th13gyy = PDstandard4th13gyy;
+
+ JacPDstandard4th13gyz = PDstandard4th13gyz;
+
+ JacPDstandard4th13gzz = PDstandard4th13gzz;
+
+ JacPDstandard4th21gxx = PDstandard4th12gxx;
+
+ JacPDstandard4th21gxy = PDstandard4th12gxy;
+
+ JacPDstandard4th21gxz = PDstandard4th12gxz;
+
+ JacPDstandard4th21gyy = PDstandard4th12gyy;
+
+ JacPDstandard4th21gyz = PDstandard4th12gyz;
+
+ JacPDstandard4th21gzz = PDstandard4th12gzz;
+
+ JacPDstandard4th23gxx = PDstandard4th23gxx;
+
+ JacPDstandard4th23gxy = PDstandard4th23gxy;
+
+ JacPDstandard4th23gxz = PDstandard4th23gxz;
+
+ JacPDstandard4th23gyy = PDstandard4th23gyy;
+
+ JacPDstandard4th23gyz = PDstandard4th23gyz;
+
+ JacPDstandard4th23gzz = PDstandard4th23gzz;
+
+ JacPDstandard4th31gxx = PDstandard4th13gxx;
+
+ JacPDstandard4th31gxy = PDstandard4th13gxy;
+
+ JacPDstandard4th31gxz = PDstandard4th13gxz;
+
+ JacPDstandard4th31gyy = PDstandard4th13gyy;
+
+ JacPDstandard4th31gyz = PDstandard4th13gyz;
+
+ JacPDstandard4th31gzz = PDstandard4th13gzz;
+
+ JacPDstandard4th32gxx = PDstandard4th23gxx;
+
+ JacPDstandard4th32gxy = PDstandard4th23gxy;
+
+ JacPDstandard4th32gxz = PDstandard4th23gxz;
+
+ JacPDstandard4th32gyy = PDstandard4th23gyy;
+
+ JacPDstandard4th32gyz = PDstandard4th23gyz;
+
+ JacPDstandard4th32gzz = PDstandard4th23gzz;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+
+ CCTK_REAL_VEC invdetg = INV(detg);
+
+ CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL)));
+
+ CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL)));
+
+ CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL)));
+
+ CCTK_REAL_VEC gamma111 =
+ kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard4th1gxx,knmsub(gInv12,JacPDstandard4th2gxx,kmsub(kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv13,JacPDstandard4th3gxx)))));
+
+ CCTK_REAL_VEC gamma211 =
+ kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard4th1gxx,knmsub(gInv22,JacPDstandard4th2gxx,kmsub(kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv23,JacPDstandard4th3gxx)))));
+
+ CCTK_REAL_VEC gamma311 =
+ kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard4th1gxx,knmsub(gInv32,JacPDstandard4th2gxx,kmsub(kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv33,JacPDstandard4th3gxx)))));
+
+ CCTK_REAL_VEC gamma121 =
+ kmul(kmadd(gInv12,JacPDstandard4th1gyy,kmadd(gInv11,JacPDstandard4th2gxx,kmul(gInv13,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma221 =
+ kmul(kmadd(gInv22,JacPDstandard4th1gyy,kmadd(gInv21,JacPDstandard4th2gxx,kmul(gInv23,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma321 =
+ kmul(kmadd(gInv32,JacPDstandard4th1gyy,kmadd(gInv31,JacPDstandard4th2gxx,kmul(gInv33,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma131 =
+ kmul(kmadd(gInv13,JacPDstandard4th1gzz,kmadd(gInv11,JacPDstandard4th3gxx,kmul(gInv12,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma231 =
+ kmul(kmadd(gInv23,JacPDstandard4th1gzz,kmadd(gInv21,JacPDstandard4th3gxx,kmul(gInv22,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma331 =
+ kmul(kmadd(gInv33,JacPDstandard4th1gzz,kmadd(gInv31,JacPDstandard4th3gxx,kmul(gInv32,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma122 =
+ kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard4th2gyy,kmadd(gInv11,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv13,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+
+ CCTK_REAL_VEC gamma222 =
+ kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard4th2gyy,kmadd(gInv21,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv23,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+
+ CCTK_REAL_VEC gamma322 =
+ kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard4th2gyy,kmadd(gInv31,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv33,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+
+ CCTK_REAL_VEC gamma132 =
+ kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv12,JacPDstandard4th3gyy,kmul(gInv11,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma232 =
+ kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv22,JacPDstandard4th3gyy,kmul(gInv21,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma332 =
+ kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv32,JacPDstandard4th3gyy,kmul(gInv31,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma133 =
+ kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard4th3gzz,kmadd(gInv11,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv12,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+
+ CCTK_REAL_VEC gamma233 =
+ kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard4th3gzz,kmadd(gInv21,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv22,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+
+ CCTK_REAL_VEC gamma333 =
+ kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard4th3gzz,kmadd(gInv31,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv32,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+
+ CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig));
+
+ CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig));
+
+ CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig));
+
+ CCTK_REAL_VEC va1 = kneg(ymoved);
+
+ CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC va3 = ToReal(0);
+
+ CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC vb2 = ymoved;
+
+ CCTK_REAL_VEC vb3 = zmoved;
+
+ CCTK_REAL_VEC vc1 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
- CCTK_REAL invdetg = INV(detg);
+ CCTK_REAL_VEC vc2 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
- CCTK_REAL gInv11 = invdetg*(gyyL*gzzL - SQR(gyzL));
+ CCTK_REAL_VEC vc3 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
- CCTK_REAL gInv12 = (gxzL*gyzL - gxyL*gzzL)*invdetg;
+ CCTK_REAL_VEC wa1 = va1;
- CCTK_REAL gInv13 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg;
+ CCTK_REAL_VEC wa2 = va2;
- CCTK_REAL gInv21 = (gxzL*gyzL - gxyL*gzzL)*invdetg;
+ CCTK_REAL_VEC wa3 = va3;
- CCTK_REAL gInv22 = invdetg*(gxxL*gzzL - SQR(gxzL));
+ CCTK_REAL_VEC omega11 =
+ kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
- CCTK_REAL gInv23 = (gxyL*gxzL - gxxL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11)));
- CCTK_REAL gInv31 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11)));
- CCTK_REAL gInv32 = (gxyL*gxzL - gxxL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11)));
- CCTK_REAL gInv33 = invdetg*(gxxL*gyyL - SQR(gxyL));
+ CCTK_REAL_VEC omega12 =
+ kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
- CCTK_REAL gamma111 = 0.5*(gInv11*PDstandard4th1gxx +
- 2*(gInv12*PDstandard4th1gxy + gInv13*PDstandard4th1gxz) -
- gInv12*PDstandard4th2gxx - gInv13*PDstandard4th3gxx);
+ CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1);
- CCTK_REAL gamma211 = 0.5*(gInv21*PDstandard4th1gxx +
- 2*(gInv22*PDstandard4th1gxy + gInv23*PDstandard4th1gxz) -
- gInv22*PDstandard4th2gxx - gInv23*PDstandard4th3gxx);
+ CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2);
- CCTK_REAL gamma311 = 0.5*(gInv31*PDstandard4th1gxx +
- 2*(gInv32*PDstandard4th1gxy + gInv33*PDstandard4th1gxz) -
- gInv32*PDstandard4th2gxx - gInv33*PDstandard4th3gxx);
+ CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3);
- CCTK_REAL gamma121 = 0.5*(gInv12*PDstandard4th1gyy +
- gInv11*PDstandard4th2gxx + gInv13*(PDstandard4th1gyz +
- PDstandard4th2gxz - PDstandard4th3gxy));
+ CCTK_REAL_VEC omega22 =
+ kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
- CCTK_REAL gamma221 = 0.5*(gInv22*PDstandard4th1gyy +
- gInv21*PDstandard4th2gxx + gInv23*(PDstandard4th1gyz +
- PDstandard4th2gxz - PDstandard4th3gxy));
+ CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22)));
- CCTK_REAL gamma321 = 0.5*(gInv32*PDstandard4th1gyy +
- gInv31*PDstandard4th2gxx + gInv33*(PDstandard4th1gyz +
- PDstandard4th2gxz - PDstandard4th3gxy));
+ CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22)));
- CCTK_REAL gamma131 = 0.5*(gInv13*PDstandard4th1gzz +
- gInv11*PDstandard4th3gxx + gInv12*(PDstandard4th1gyz -
- PDstandard4th2gxz + PDstandard4th3gxy));
+ CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22)));
- CCTK_REAL gamma231 = 0.5*(gInv23*PDstandard4th1gzz +
- gInv21*PDstandard4th3gxx + gInv22*(PDstandard4th1gyz -
- PDstandard4th2gxz + PDstandard4th3gxy));
+ CCTK_REAL_VEC omega13 =
+ kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
- CCTK_REAL gamma331 = 0.5*(gInv33*PDstandard4th1gzz +
- gInv31*PDstandard4th3gxx + gInv32*(PDstandard4th1gyz -
- PDstandard4th2gxz + PDstandard4th3gxy));
+ CCTK_REAL_VEC omega23 =
+ kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
- CCTK_REAL gamma122 = 0.5*(gInv11*(-PDstandard4th1gyy +
- 2*PDstandard4th2gxy) + gInv12*PDstandard4th2gyy +
- gInv13*(2*PDstandard4th2gyz - PDstandard4th3gyy));
+ CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
- CCTK_REAL gamma222 = 0.5*(gInv21*(-PDstandard4th1gyy +
- 2*PDstandard4th2gxy) + gInv22*PDstandard4th2gyy +
- gInv23*(2*PDstandard4th2gyz - PDstandard4th3gyy));
+ CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
- CCTK_REAL gamma322 = 0.5*(gInv31*(-PDstandard4th1gyy +
- 2*PDstandard4th2gxy) + gInv32*PDstandard4th2gyy +
- gInv33*(2*PDstandard4th2gyz - PDstandard4th3gyy));
+ CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
- CCTK_REAL gamma132 = 0.5*(gInv13*PDstandard4th2gzz +
- gInv11*(-PDstandard4th1gyz + PDstandard4th2gxz + PDstandard4th3gxy) +
- gInv12*PDstandard4th3gyy);
+ CCTK_REAL_VEC omega33 =
+ kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
- CCTK_REAL gamma232 = 0.5*(gInv23*PDstandard4th2gzz +
- gInv21*(-PDstandard4th1gyz + PDstandard4th2gxz + PDstandard4th3gxy) +
- gInv22*PDstandard4th3gyy);
+ CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33)));
- CCTK_REAL gamma332 = 0.5*(gInv33*PDstandard4th2gzz +
- gInv31*(-PDstandard4th1gyz + PDstandard4th2gxz + PDstandard4th3gxy) +
- gInv32*PDstandard4th3gyy);
+ CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33)));
- CCTK_REAL gamma133 = 0.5*(gInv11*(-PDstandard4th1gzz +
- 2*PDstandard4th3gxz) + gInv12*(-PDstandard4th2gzz +
- 2*PDstandard4th3gyz) + gInv13*PDstandard4th3gzz);
+ CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33)));
- CCTK_REAL gamma233 = 0.5*(gInv21*(-PDstandard4th1gzz +
- 2*PDstandard4th3gxz) + gInv22*(-PDstandard4th2gzz +
- 2*PDstandard4th3gyz) + gInv23*PDstandard4th3gzz);
+ CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524);
- CCTK_REAL gamma333 = 0.5*(gInv31*(-PDstandard4th1gzz +
- 2*PDstandard4th3gxz) + gInv32*(-PDstandard4th2gzz +
- 2*PDstandard4th3gyz) + gInv33*PDstandard4th3gzz);
+ CCTK_REAL_VEC ltet1 = kmul(eb1,isqrt2);
- CCTK_REAL xmoved = xL - ToReal(xorig);
+ CCTK_REAL_VEC ltet2 = kmul(eb2,isqrt2);
- CCTK_REAL ymoved = yL - ToReal(yorig);
+ CCTK_REAL_VEC ltet3 = kmul(eb3,isqrt2);
- CCTK_REAL zmoved = zL - ToReal(zorig);
+ CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2));
- CCTK_REAL va1 = -ymoved;
+ CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2));
- CCTK_REAL va2 = xmoved + ToReal(offset);
+ CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2));
- CCTK_REAL va3 = 0;
+ CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2);
- CCTK_REAL vb1 = xmoved + ToReal(offset);
+ CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2);
- CCTK_REAL vb2 = ymoved;
+ CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2);
- CCTK_REAL vb3 = zmoved;
+ CCTK_REAL_VEC im1 = kmul(ea1,isqrt2);
- CCTK_REAL vc1 = ((-(gInv13*va2) + gInv12*va3)*vb1 + (gInv13*va1 -
- gInv11*va3)*vb2 + (-(gInv12*va1) + gInv11*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC im2 = kmul(ea2,isqrt2);
- CCTK_REAL vc2 = ((-(gInv23*va2) + gInv22*va3)*vb1 + (gInv23*va1 -
- gInv21*va3)*vb2 + (-(gInv22*va1) + gInv21*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC im3 = kmul(ea3,isqrt2);
- CCTK_REAL vc3 = ((-(gInv33*va2) + gInv32*va3)*vb1 + (gInv33*va1 -
- gInv31*va3)*vb2 + (-(gInv32*va1) + gInv31*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2);
- CCTK_REAL wa1 = va1;
+ CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2);
- CCTK_REAL wa2 = va2;
+ CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2);
- CCTK_REAL wa3 = va3;
+ CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2));
- CCTK_REAL omega11 = 2*(gyzL*wa2*wa3 + wa1*(gxyL*wa2 + gxzL*wa3)) +
- gxxL*SQR(wa1) + gyyL*SQR(wa2) + gzzL*SQR(wa3);
+ CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2));
- CCTK_REAL ea1 = wa1*INV(sqrt(omega11));
+ CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2));
- CCTK_REAL ea2 = wa2*INV(sqrt(omega11));
+ CCTK_REAL_VEC nn = isqrt2;
- CCTK_REAL ea3 = wa3*INV(sqrt(omega11));
+ CCTK_REAL_VEC R1111 = ToReal(0);
- CCTK_REAL omega12 = ea1*(gxxL*vb1 + gxyL*vb2 + gxzL*vb3) +
- ea2*(gxyL*vb1 + gyyL*vb2 + gyzL*vb3) + ea3*(gxzL*vb1 + gyzL*vb2 +
- gzzL*vb3);
+ CCTK_REAL_VEC R1112 =
+ kmul(ksub(JacPDstandard4th21gxx,JacPDstandard4th12gxx),ToReal(0.5));
- CCTK_REAL wb1 = -(ea1*omega12) + vb1;
+ CCTK_REAL_VEC R1113 =
+ kmul(ksub(JacPDstandard4th31gxx,JacPDstandard4th13gxx),ToReal(0.5));
- CCTK_REAL wb2 = -(ea2*omega12) + vb2;
+ CCTK_REAL_VEC R1121 =
+ kmul(ksub(JacPDstandard4th21gxx,JacPDstandard4th12gxx),ToReal(0.5));
- CCTK_REAL wb3 = -(ea3*omega12) + vb3;
+ CCTK_REAL_VEC R1122 =
+ ksub(JacPDstandard4th21gxy,JacPDstandard4th12gxy);
- CCTK_REAL omega22 = 2*(gyzL*wb2*wb3 + wb1*(gxyL*wb2 + gxzL*wb3)) +
- gxxL*SQR(wb1) + gyyL*SQR(wb2) + gzzL*SQR(wb3);
+ CCTK_REAL_VEC R1123 =
+ kmul(kadd(JacPDstandard4th21gxz,ksub(JacPDstandard4th31gxy,kadd(JacPDstandard4th13gxy,JacPDstandard4th12gxz))),ToReal(0.5));
- CCTK_REAL eb1 = wb1*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1131 =
+ kmul(ksub(JacPDstandard4th31gxx,JacPDstandard4th13gxx),ToReal(0.5));
- CCTK_REAL eb2 = wb2*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1132 =
+ kmul(kadd(JacPDstandard4th21gxz,ksub(JacPDstandard4th31gxy,kadd(JacPDstandard4th13gxy,JacPDstandard4th12gxz))),ToReal(0.5));
- CCTK_REAL eb3 = wb3*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1133 =
+ ksub(JacPDstandard4th31gxz,JacPDstandard4th13gxz);
- CCTK_REAL omega13 = ea1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) +
- ea2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + ea3*(gxzL*vc1 + gyzL*vc2 +
- gzzL*vc3);
+ CCTK_REAL_VEC R1211 =
+ kmul(ksub(JacPDstandard4th12gxx,JacPDstandard4th21gxx),ToReal(0.5));
- CCTK_REAL omega23 = eb1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) +
- eb2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + eb3*(gxzL*vc1 + gyzL*vc2 +
- gzzL*vc3);
+ CCTK_REAL_VEC R1212 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard4th22gxx),JacPDstandard4th11gyy)))));
- CCTK_REAL wc1 = -(ea1*omega13) - eb1*omega23 + vc1;
+ CCTK_REAL_VEC R1213 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxx),JacPDstandard4th11gyz))))));
- CCTK_REAL wc2 = -(ea2*omega13) - eb2*omega23 + vc2;
+ CCTK_REAL_VEC R1221 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyy,kadd(JacPDstandard4th22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard4th21gxy),JacPDstandard4th12gxy))))),kmul(gxxL,SQR(gamma121)))));
- CCTK_REAL wc3 = -(ea3*omega13) - eb3*omega23 + vc3;
+ CCTK_REAL_VEC R1222 =
+ kmul(ksub(JacPDstandard4th21gyy,JacPDstandard4th12gyy),ToReal(0.5));
- CCTK_REAL omega33 = 2*(gyzL*wc2*wc3 + wc1*(gxyL*wc2 + gxzL*wc3)) +
- gxxL*SQR(wc1) + gyyL*SQR(wc2) + gzzL*SQR(wc3);
+ CCTK_REAL_VEC R1223 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxy),JacPDstandard4th12gyz))))));
- CCTK_REAL ec1 = wc1*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1231 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th21gxz),JacPDstandard4th13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL ec2 = wc2*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1232 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gyz,kadd(JacPDstandard4th32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th22gxz),JacPDstandard4th13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL ec3 = wc3*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1233 =
+ kmul(kadd(JacPDstandard4th31gyz,ksub(JacPDstandard4th32gxz,kadd(JacPDstandard4th23gxz,JacPDstandard4th13gyz))),ToReal(0.5));
- CCTK_REAL isqrt2 = 0.707106781186547524;
+ CCTK_REAL_VEC R1311 =
+ kmul(ksub(JacPDstandard4th13gxx,JacPDstandard4th31gxx),ToReal(0.5));
- CCTK_REAL n1 = -(eb1*isqrt2);
+ CCTK_REAL_VEC R1312 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gxy,kadd(JacPDstandard4th21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxx),JacPDstandard4th11gyz))))));
- CCTK_REAL n2 = -(eb2*isqrt2);
+ CCTK_REAL_VEC R1313 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard4th33gxx),JacPDstandard4th11gzz)))));
- CCTK_REAL n3 = -(eb3*isqrt2);
+ CCTK_REAL_VEC R1321 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gxy),JacPDstandard4th12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL rm1 = ec1*isqrt2;
+ CCTK_REAL_VEC R1322 =
+ kmul(kadd(JacPDstandard4th21gyz,ksub(JacPDstandard4th23gxy,kadd(JacPDstandard4th32gxy,JacPDstandard4th12gyz))),ToReal(0.5));
- CCTK_REAL rm2 = ec2*isqrt2;
+ CCTK_REAL_VEC R1323 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th12gzz))))));
- CCTK_REAL rm3 = ec3*isqrt2;
+ CCTK_REAL_VEC R1331 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gzz,kadd(JacPDstandard4th33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gxz),JacPDstandard4th13gxz))))),kmul(gxxL,SQR(gamma131)))));
- CCTK_REAL im1 = ea1*isqrt2;
+ CCTK_REAL_VEC R1332 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gxz),JacPDstandard4th13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL im2 = ea2*isqrt2;
+ CCTK_REAL_VEC R1333 =
+ kmul(ksub(JacPDstandard4th31gzz,JacPDstandard4th13gzz),ToReal(0.5));
- CCTK_REAL im3 = ea3*isqrt2;
+ CCTK_REAL_VEC R2111 =
+ kmul(ksub(JacPDstandard4th12gxx,JacPDstandard4th21gxx),ToReal(0.5));
- CCTK_REAL rmbar1 = ec1*isqrt2;
+ CCTK_REAL_VEC R2112 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyy,kadd(JacPDstandard4th22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard4th21gxy),JacPDstandard4th12gxy))))),kmul(gxxL,SQR(gamma121)))));
- CCTK_REAL rmbar2 = ec2*isqrt2;
+ CCTK_REAL_VEC R2113 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th21gxz),JacPDstandard4th13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL rmbar3 = ec3*isqrt2;
+ CCTK_REAL_VEC R2121 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard4th22gxx),JacPDstandard4th11gyy)))));
- CCTK_REAL imbar1 = -(ea1*isqrt2);
+ CCTK_REAL_VEC R2122 =
+ kmul(ksub(JacPDstandard4th21gyy,JacPDstandard4th12gyy),ToReal(0.5));
- CCTK_REAL imbar2 = -(ea2*isqrt2);
+ CCTK_REAL_VEC R2123 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gyz,kadd(JacPDstandard4th32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th22gxz),JacPDstandard4th13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL imbar3 = -(ea3*isqrt2);
+ CCTK_REAL_VEC R2131 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxx),JacPDstandard4th11gyz))))));
- CCTK_REAL nn = isqrt2;
+ CCTK_REAL_VEC R2132 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxy),JacPDstandard4th12gyz))))));
- CCTK_REAL R1111 = 0;
+ CCTK_REAL_VEC R2133 =
+ kmul(kadd(JacPDstandard4th31gyz,ksub(JacPDstandard4th32gxz,kadd(JacPDstandard4th23gxz,JacPDstandard4th13gyz))),ToReal(0.5));
- CCTK_REAL R1112 = 0;
+ CCTK_REAL_VEC R2211 =
+ ksub(JacPDstandard4th12gxy,JacPDstandard4th21gxy);
- CCTK_REAL R1113 = 0;
+ CCTK_REAL_VEC R2212 =
+ kmul(ksub(JacPDstandard4th12gyy,JacPDstandard4th21gyy),ToReal(0.5));
- CCTK_REAL R1121 = 0;
+ CCTK_REAL_VEC R2213 =
+ kmul(kadd(JacPDstandard4th12gyz,ksub(JacPDstandard4th32gxy,kadd(JacPDstandard4th23gxy,JacPDstandard4th21gyz))),ToReal(0.5));
- CCTK_REAL R1122 = 0;
+ CCTK_REAL_VEC R2221 =
+ kmul(ksub(JacPDstandard4th12gyy,JacPDstandard4th21gyy),ToReal(0.5));
- CCTK_REAL R1123 = 0;
+ CCTK_REAL_VEC R2222 = ToReal(0);
- CCTK_REAL R1131 = 0;
+ CCTK_REAL_VEC R2223 =
+ kmul(ksub(JacPDstandard4th32gyy,JacPDstandard4th23gyy),ToReal(0.5));
- CCTK_REAL R1132 = 0;
+ CCTK_REAL_VEC R2231 =
+ kmul(kadd(JacPDstandard4th12gyz,ksub(JacPDstandard4th32gxy,kadd(JacPDstandard4th23gxy,JacPDstandard4th21gyz))),ToReal(0.5));
- CCTK_REAL R1133 = 0;
+ CCTK_REAL_VEC R2232 =
+ kmul(ksub(JacPDstandard4th32gyy,JacPDstandard4th23gyy),ToReal(0.5));
- CCTK_REAL R1211 = 0;
+ CCTK_REAL_VEC R2233 =
+ ksub(JacPDstandard4th32gyz,JacPDstandard4th23gyz);
- CCTK_REAL R1212 = 0.5*((4*gamma121*gamma221 -
- 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 -
- 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 -
- 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL +
- gamma122*gamma211*gxyL + gamma122*gamma311*gxzL +
- gamma211*gamma222*gyyL + gamma222*gamma311*gyzL +
- gamma311*gamma322*gzzL) - PDstandard4th11gyy + 2*PDstandard4th12gxy -
- PDstandard4th22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) +
- 2*gzzL*SQR(gamma321));
+ CCTK_REAL_VEC R2311 =
+ kmul(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th13gxy,kadd(JacPDstandard4th31gxy,JacPDstandard4th21gxz))),ToReal(0.5));
- CCTK_REAL R1213 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard4th11gyz + PDstandard4th12gxz
- + PDstandard4th13gxy - PDstandard4th23gxx);
+ CCTK_REAL_VEC R2312 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyy,kadd(JacPDstandard4th22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxy),JacPDstandard4th21gyz))))));
- CCTK_REAL R1221 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL +
- (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL +
- gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL +
- gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard4th12gxy +
- 0.5*(PDstandard4th11gyy + PDstandard4th22gxx) - gxxL*SQR(gamma121) -
- gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321));
+ CCTK_REAL_VEC R2313 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyz,kadd(JacPDstandard4th32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th21gzz))))));
- CCTK_REAL R1222 = 0;
+ CCTK_REAL_VEC R2321 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gyz,kadd(JacPDstandard4th23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gyy),JacPDstandard4th22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R1223 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard4th12gyz + PDstandard4th13gyy
- + PDstandard4th22gxz - PDstandard4th23gxy);
+ CCTK_REAL_VEC R2322 =
+ kmul(ksub(JacPDstandard4th23gyy,JacPDstandard4th32gyy),ToReal(0.5));
- CCTK_REAL R1231 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard4th11gyz - PDstandard4th12gxz
- - PDstandard4th13gxy + PDstandard4th23gxx);
-
- CCTK_REAL R1232 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard4th12gyz - PDstandard4th13gyy
- - PDstandard4th22gxz + PDstandard4th23gxy);
-
- CCTK_REAL R1233 = 0;
-
- CCTK_REAL R1311 = 0;
-
- CCTK_REAL R1312 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard4th11gyz + PDstandard4th12gxz
- + PDstandard4th13gxy - PDstandard4th23gxx);
-
- CCTK_REAL R1313 = 0.5*((4*gamma131*gamma231 -
- 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 -
- 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 -
- 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL +
- gamma133*gamma211*gxyL + gamma133*gamma311*gxzL +
- gamma211*gamma233*gyyL + gamma233*gamma311*gyzL +
- gamma311*gamma333*gzzL) - PDstandard4th11gzz + 2*PDstandard4th13gxz -
- PDstandard4th33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) +
- 2*gzzL*SQR(gamma331));
-
- CCTK_REAL R1321 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard4th11gyz - PDstandard4th12gxz
- - PDstandard4th13gxy + PDstandard4th23gxx);
-
- CCTK_REAL R1322 = 0;
-
- CCTK_REAL R1323 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard4th12gzz + PDstandard4th13gyz
- + PDstandard4th23gxz - PDstandard4th33gxy);
-
- CCTK_REAL R1331 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL +
- (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL +
- gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL +
- gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard4th13gxz +
- 0.5*(PDstandard4th11gzz + PDstandard4th33gxx) - gxxL*SQR(gamma131) -
- gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331));
-
- CCTK_REAL R1332 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard4th12gzz - PDstandard4th13gyz
- - PDstandard4th23gxz + PDstandard4th33gxy);
-
- CCTK_REAL R1333 = 0;
-
- CCTK_REAL R2111 = 0;
-
- CCTK_REAL R2112 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL +
- (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL +
- gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL +
- gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard4th12gxy +
- 0.5*(PDstandard4th11gyy + PDstandard4th22gxx) - gxxL*SQR(gamma121) -
- gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321));
-
- CCTK_REAL R2113 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard4th11gyz - PDstandard4th12gxz
- - PDstandard4th13gxy + PDstandard4th23gxx);
-
- CCTK_REAL R2121 = 0.5*((4*gamma121*gamma221 -
- 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 -
- 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 -
- 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL +
- gamma122*gamma211*gxyL + gamma122*gamma311*gxzL +
- gamma211*gamma222*gyyL + gamma222*gamma311*gyzL +
- gamma311*gamma322*gzzL) - PDstandard4th11gyy + 2*PDstandard4th12gxy -
- PDstandard4th22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) +
- 2*gzzL*SQR(gamma321));
-
- CCTK_REAL R2122 = 0;
-
- CCTK_REAL R2123 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard4th12gyz - PDstandard4th13gyy
- - PDstandard4th22gxz + PDstandard4th23gxy);
-
- CCTK_REAL R2131 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard4th11gyz + PDstandard4th12gxz
- + PDstandard4th13gxy - PDstandard4th23gxx);
-
- CCTK_REAL R2132 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard4th12gyz + PDstandard4th13gyy
- + PDstandard4th22gxz - PDstandard4th23gxy);
-
- CCTK_REAL R2133 = 0;
-
- CCTK_REAL R2211 = 0;
-
- CCTK_REAL R2212 = 0;
-
- CCTK_REAL R2213 = 0;
-
- CCTK_REAL R2221 = 0;
-
- CCTK_REAL R2222 = 0;
-
- CCTK_REAL R2223 = 0;
-
- CCTK_REAL R2231 = 0;
-
- CCTK_REAL R2232 = 0;
-
- CCTK_REAL R2233 = 0;
-
- CCTK_REAL R2311 = 0;
-
- CCTK_REAL R2312 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard4th12gyz + PDstandard4th13gyy
- + PDstandard4th22gxz - PDstandard4th23gxy);
-
- CCTK_REAL R2313 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard4th12gzz + PDstandard4th13gyz
- + PDstandard4th23gxz - PDstandard4th33gxy);
-
- CCTK_REAL R2321 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard4th12gyz - PDstandard4th13gyy
- - PDstandard4th22gxz + PDstandard4th23gxy);
-
- CCTK_REAL R2322 = 0;
-
- CCTK_REAL R2323 = 0.5*((4*gamma132*gamma232 -
- 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 -
- 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 -
- 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL +
- gamma133*gamma222*gxyL + gamma133*gamma322*gxzL +
- gamma222*gamma233*gyyL + gamma233*gamma322*gyzL +
- gamma322*gamma333*gzzL) - PDstandard4th22gzz + 2*PDstandard4th23gyz -
- PDstandard4th33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) +
- 2*gzzL*SQR(gamma332));
-
- CCTK_REAL R2331 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard4th12gzz - PDstandard4th13gyz
- - PDstandard4th23gxz + PDstandard4th33gxy);
-
- CCTK_REAL R2332 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL +
- (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL +
- gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) +
- (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL +
- gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard4th23gyz +
- 0.5*(PDstandard4th22gzz + PDstandard4th33gyy) - gxxL*SQR(gamma132) -
- gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332));
-
- CCTK_REAL R2333 = 0;
-
- CCTK_REAL R3111 = 0;
-
- CCTK_REAL R3112 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard4th11gyz - PDstandard4th12gxz
- - PDstandard4th13gxy + PDstandard4th23gxx);
-
- CCTK_REAL R3113 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL +
- (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL +
- gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL +
- gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard4th13gxz +
- 0.5*(PDstandard4th11gzz + PDstandard4th33gxx) - gxxL*SQR(gamma131) -
- gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331));
-
- CCTK_REAL R3121 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard4th11gyz + PDstandard4th12gxz
- + PDstandard4th13gxy - PDstandard4th23gxx);
-
- CCTK_REAL R3122 = 0;
-
- CCTK_REAL R3123 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard4th12gzz - PDstandard4th13gyz
- - PDstandard4th23gxz + PDstandard4th33gxy);
-
- CCTK_REAL R3131 = 0.5*((4*gamma131*gamma231 -
- 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 -
- 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 -
- 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL +
- gamma133*gamma211*gxyL + gamma133*gamma311*gxzL +
- gamma211*gamma233*gyyL + gamma233*gamma311*gyzL +
- gamma311*gamma333*gzzL) - PDstandard4th11gzz + 2*PDstandard4th13gxz -
- PDstandard4th33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) +
- 2*gzzL*SQR(gamma331));
-
- CCTK_REAL R3132 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard4th12gzz + PDstandard4th13gyz
- + PDstandard4th23gxz - PDstandard4th33gxy);
-
- CCTK_REAL R3133 = 0;
-
- CCTK_REAL R3211 = 0;
-
- CCTK_REAL R3212 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard4th12gyz - PDstandard4th13gyy
- - PDstandard4th22gxz + PDstandard4th23gxy);
-
- CCTK_REAL R3213 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard4th12gzz - PDstandard4th13gyz
- - PDstandard4th23gxz + PDstandard4th33gxy);
+ CCTK_REAL_VEC R2323 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard4th33gyy),JacPDstandard4th22gzz)))));
- CCTK_REAL R3221 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard4th12gyz + PDstandard4th13gyy
- + PDstandard4th22gxz - PDstandard4th23gxy);
+ CCTK_REAL_VEC R2331 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gyz),JacPDstandard4th23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R3222 = 0;
+ CCTK_REAL_VEC R2332 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th22gzz,kadd(JacPDstandard4th33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gyz),JacPDstandard4th23gyz))))),kmul(gxxL,SQR(gamma132)))));
- CCTK_REAL R3223 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL +
- (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL +
- gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) +
- (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL +
- gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard4th23gyz +
- 0.5*(PDstandard4th22gzz + PDstandard4th33gyy) - gxxL*SQR(gamma132) -
- gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332));
+ CCTK_REAL_VEC R2333 =
+ kmul(ksub(JacPDstandard4th32gzz,JacPDstandard4th23gzz),ToReal(0.5));
- CCTK_REAL R3231 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard4th12gzz + PDstandard4th13gyz
- + PDstandard4th23gxz - PDstandard4th33gxy);
+ CCTK_REAL_VEC R3111 =
+ kmul(ksub(JacPDstandard4th13gxx,JacPDstandard4th31gxx),ToReal(0.5));
- CCTK_REAL R3232 = 0.5*((4*gamma132*gamma232 -
- 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 -
- 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 -
- 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL +
- gamma133*gamma222*gxyL + gamma133*gamma322*gxzL +
- gamma222*gamma233*gyyL + gamma233*gamma322*gyzL +
- gamma322*gamma333*gzzL) - PDstandard4th22gzz + 2*PDstandard4th23gyz -
- PDstandard4th33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) +
- 2*gzzL*SQR(gamma332));
+ CCTK_REAL_VEC R3112 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gxy),JacPDstandard4th12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R3233 = 0;
+ CCTK_REAL_VEC R3113 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gzz,kadd(JacPDstandard4th33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gxz),JacPDstandard4th13gxz))))),kmul(gxxL,SQR(gamma131)))));
- CCTK_REAL R3311 = 0;
+ CCTK_REAL_VEC R3121 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gxy,kadd(JacPDstandard4th21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxx),JacPDstandard4th11gyz))))));
- CCTK_REAL R3312 = 0;
+ CCTK_REAL_VEC R3122 =
+ kmul(kadd(JacPDstandard4th21gyz,ksub(JacPDstandard4th23gxy,kadd(JacPDstandard4th32gxy,JacPDstandard4th12gyz))),ToReal(0.5));
- CCTK_REAL R3313 = 0;
+ CCTK_REAL_VEC R3123 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gxz),JacPDstandard4th13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R3321 = 0;
+ CCTK_REAL_VEC R3131 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard4th33gxx),JacPDstandard4th11gzz)))));
- CCTK_REAL R3322 = 0;
+ CCTK_REAL_VEC R3132 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th12gzz))))));
- CCTK_REAL R3323 = 0;
+ CCTK_REAL_VEC R3133 =
+ kmul(ksub(JacPDstandard4th31gzz,JacPDstandard4th13gzz),ToReal(0.5));
- CCTK_REAL R3331 = 0;
+ CCTK_REAL_VEC R3211 =
+ kmul(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th13gxy,kadd(JacPDstandard4th31gxy,JacPDstandard4th21gxz))),ToReal(0.5));
- CCTK_REAL R3332 = 0;
+ CCTK_REAL_VEC R3212 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gyz,kadd(JacPDstandard4th23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gyy),JacPDstandard4th22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R3333 = 0;
+ CCTK_REAL_VEC R3213 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gyz),JacPDstandard4th23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R4p1111 = R1111;
+ CCTK_REAL_VEC R3221 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyy,kadd(JacPDstandard4th22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxy),JacPDstandard4th21gyz))))));
- CCTK_REAL R4p1112 = R1112;
+ CCTK_REAL_VEC R3222 =
+ kmul(ksub(JacPDstandard4th23gyy,JacPDstandard4th32gyy),ToReal(0.5));
- CCTK_REAL R4p1113 = R1113;
+ CCTK_REAL_VEC R3223 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th22gzz,kadd(JacPDstandard4th33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gyz),JacPDstandard4th23gyz))))),kmul(gxxL,SQR(gamma132)))));
- CCTK_REAL R4p1121 = R1121;
+ CCTK_REAL_VEC R3231 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyz,kadd(JacPDstandard4th32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th21gzz))))));
- CCTK_REAL R4p1122 = R1122;
+ CCTK_REAL_VEC R3232 =
+ kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard4th33gyy),JacPDstandard4th22gzz)))));
- CCTK_REAL R4p1123 = R1123;
+ CCTK_REAL_VEC R3233 =
+ kmul(ksub(JacPDstandard4th32gzz,JacPDstandard4th23gzz),ToReal(0.5));
- CCTK_REAL R4p1131 = R1131;
+ CCTK_REAL_VEC R3311 =
+ ksub(JacPDstandard4th13gxz,JacPDstandard4th31gxz);
- CCTK_REAL R4p1132 = R1132;
+ CCTK_REAL_VEC R3312 =
+ kmul(kadd(JacPDstandard4th13gyz,ksub(JacPDstandard4th23gxz,kadd(JacPDstandard4th32gxz,JacPDstandard4th31gyz))),ToReal(0.5));
- CCTK_REAL R4p1133 = R1133;
+ CCTK_REAL_VEC R3313 =
+ kmul(ksub(JacPDstandard4th13gzz,JacPDstandard4th31gzz),ToReal(0.5));
- CCTK_REAL R4p1211 = R1211;
+ CCTK_REAL_VEC R3321 =
+ kmul(kadd(JacPDstandard4th13gyz,ksub(JacPDstandard4th23gxz,kadd(JacPDstandard4th32gxz,JacPDstandard4th31gyz))),ToReal(0.5));
- CCTK_REAL R4p1212 = kxxL*kyyL + R1212 - SQR(kxyL);
+ CCTK_REAL_VEC R3322 =
+ ksub(JacPDstandard4th23gyz,JacPDstandard4th32gyz);
- CCTK_REAL R4p1213 = -(kxyL*kxzL) + kxxL*kyzL + R1213;
+ CCTK_REAL_VEC R3323 =
+ kmul(ksub(JacPDstandard4th23gzz,JacPDstandard4th32gzz),ToReal(0.5));
- CCTK_REAL R4p1221 = -(kxxL*kyyL) + R1221 + SQR(kxyL);
+ CCTK_REAL_VEC R3331 =
+ kmul(ksub(JacPDstandard4th13gzz,JacPDstandard4th31gzz),ToReal(0.5));
- CCTK_REAL R4p1222 = R1222;
+ CCTK_REAL_VEC R3332 =
+ kmul(ksub(JacPDstandard4th23gzz,JacPDstandard4th32gzz),ToReal(0.5));
- CCTK_REAL R4p1223 = -(kxzL*kyyL) + kxyL*kyzL + R1223;
+ CCTK_REAL_VEC R3333 = ToReal(0);
- CCTK_REAL R4p1231 = kxyL*kxzL - kxxL*kyzL + R1231;
+ CCTK_REAL_VEC R4p1111 = R1111;
- CCTK_REAL R4p1232 = kxzL*kyyL - kxyL*kyzL + R1232;
+ CCTK_REAL_VEC R4p1112 = R1112;
- CCTK_REAL R4p1233 = R1233;
+ CCTK_REAL_VEC R4p1113 = R1113;
- CCTK_REAL R4p1311 = R1311;
+ CCTK_REAL_VEC R4p1121 = R1121;
- CCTK_REAL R4p1312 = -(kxyL*kxzL) + kxxL*kyzL + R1312;
+ CCTK_REAL_VEC R4p1122 = R1122;
- CCTK_REAL R4p1313 = kxxL*kzzL + R1313 - SQR(kxzL);
+ CCTK_REAL_VEC R4p1123 = R1123;
- CCTK_REAL R4p1321 = kxyL*kxzL - kxxL*kyzL + R1321;
+ CCTK_REAL_VEC R4p1131 = R1131;
- CCTK_REAL R4p1322 = R1322;
+ CCTK_REAL_VEC R4p1132 = R1132;
- CCTK_REAL R4p1323 = -(kxzL*kyzL) + kxyL*kzzL + R1323;
+ CCTK_REAL_VEC R4p1133 = R1133;
- CCTK_REAL R4p1331 = -(kxxL*kzzL) + R1331 + SQR(kxzL);
+ CCTK_REAL_VEC R4p1211 = R1211;
- CCTK_REAL R4p1332 = kxzL*kyzL - kxyL*kzzL + R1332;
+ CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL)));
- CCTK_REAL R4p1333 = R1333;
+ CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
- CCTK_REAL R4p2111 = R2111;
+ CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL)));
- CCTK_REAL R4p2112 = -(kxxL*kyyL) + R2112 + SQR(kxyL);
+ CCTK_REAL_VEC R4p1222 = R1222;
- CCTK_REAL R4p2113 = kxyL*kxzL - kxxL*kyzL + R2113;
+ CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
- CCTK_REAL R4p2121 = kxxL*kyyL + R2121 - SQR(kxyL);
+ CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231));
- CCTK_REAL R4p2122 = R2122;
+ CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232));
- CCTK_REAL R4p2123 = kxzL*kyyL - kxyL*kyzL + R2123;
+ CCTK_REAL_VEC R4p1233 = R1233;
- CCTK_REAL R4p2131 = -(kxyL*kxzL) + kxxL*kyzL + R2131;
+ CCTK_REAL_VEC R4p1311 = R1311;
- CCTK_REAL R4p2132 = -(kxzL*kyyL) + kxyL*kyzL + R2132;
+ CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312));
- CCTK_REAL R4p2133 = R2133;
+ CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)));
- CCTK_REAL R4p2211 = R2211;
+ CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321));
- CCTK_REAL R4p2212 = R2212;
+ CCTK_REAL_VEC R4p1322 = R1322;
- CCTK_REAL R4p2213 = R2213;
+ CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
- CCTK_REAL R4p2221 = R2221;
+ CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL)));
- CCTK_REAL R4p2222 = R2222;
+ CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332));
- CCTK_REAL R4p2223 = R2223;
+ CCTK_REAL_VEC R4p1333 = R1333;
- CCTK_REAL R4p2231 = R2231;
+ CCTK_REAL_VEC R4p2111 = R2111;
- CCTK_REAL R4p2232 = R2232;
+ CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL)));
- CCTK_REAL R4p2233 = R2233;
+ CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113));
- CCTK_REAL R4p2311 = R2311;
+ CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL)));
- CCTK_REAL R4p2312 = -(kxzL*kyyL) + kxyL*kyzL + R2312;
+ CCTK_REAL_VEC R4p2122 = R2122;
- CCTK_REAL R4p2313 = -(kxzL*kyzL) + kxyL*kzzL + R2313;
+ CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123));
- CCTK_REAL R4p2321 = kxzL*kyyL - kxyL*kyzL + R2321;
+ CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131));
- CCTK_REAL R4p2322 = R2322;
+ CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132));
- CCTK_REAL R4p2323 = kyyL*kzzL + R2323 - SQR(kyzL);
+ CCTK_REAL_VEC R4p2133 = R2133;
- CCTK_REAL R4p2331 = kxzL*kyzL - kxyL*kzzL + R2331;
+ CCTK_REAL_VEC R4p2211 = R2211;
- CCTK_REAL R4p2332 = -(kyyL*kzzL) + R2332 + SQR(kyzL);
+ CCTK_REAL_VEC R4p2212 = R2212;
- CCTK_REAL R4p2333 = R2333;
+ CCTK_REAL_VEC R4p2213 = R2213;
- CCTK_REAL R4p3111 = R3111;
+ CCTK_REAL_VEC R4p2221 = R2221;
- CCTK_REAL R4p3112 = kxyL*kxzL - kxxL*kyzL + R3112;
+ CCTK_REAL_VEC R4p2222 = R2222;
- CCTK_REAL R4p3113 = -(kxxL*kzzL) + R3113 + SQR(kxzL);
+ CCTK_REAL_VEC R4p2223 = R2223;
- CCTK_REAL R4p3121 = -(kxyL*kxzL) + kxxL*kyzL + R3121;
+ CCTK_REAL_VEC R4p2231 = R2231;
- CCTK_REAL R4p3122 = R3122;
+ CCTK_REAL_VEC R4p2232 = R2232;
- CCTK_REAL R4p3123 = kxzL*kyzL - kxyL*kzzL + R3123;
+ CCTK_REAL_VEC R4p2233 = R2233;
- CCTK_REAL R4p3131 = kxxL*kzzL + R3131 - SQR(kxzL);
+ CCTK_REAL_VEC R4p2311 = R2311;
- CCTK_REAL R4p3132 = -(kxzL*kyzL) + kxyL*kzzL + R3132;
+ CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312));
- CCTK_REAL R4p3133 = R3133;
+ CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313));
- CCTK_REAL R4p3211 = R3211;
+ CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321));
- CCTK_REAL R4p3212 = kxzL*kyyL - kxyL*kyzL + R3212;
+ CCTK_REAL_VEC R4p2322 = R2322;
- CCTK_REAL R4p3213 = kxzL*kyzL - kxyL*kzzL + R3213;
+ CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)));
- CCTK_REAL R4p3221 = -(kxzL*kyyL) + kxyL*kyzL + R3221;
+ CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331));
- CCTK_REAL R4p3222 = R3222;
+ CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL)));
- CCTK_REAL R4p3223 = -(kyyL*kzzL) + R3223 + SQR(kyzL);
+ CCTK_REAL_VEC R4p2333 = R2333;
- CCTK_REAL R4p3231 = -(kxzL*kyzL) + kxyL*kzzL + R3231;
+ CCTK_REAL_VEC R4p3111 = R3111;
- CCTK_REAL R4p3232 = kyyL*kzzL + R3232 - SQR(kyzL);
+ CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112));
- CCTK_REAL R4p3233 = R3233;
+ CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL)));
- CCTK_REAL R4p3311 = R3311;
+ CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121));
- CCTK_REAL R4p3312 = R3312;
+ CCTK_REAL_VEC R4p3122 = R3122;
- CCTK_REAL R4p3313 = R3313;
+ CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123));
- CCTK_REAL R4p3321 = R3321;
+ CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL)));
- CCTK_REAL R4p3322 = R3322;
+ CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132));
- CCTK_REAL R4p3323 = R3323;
+ CCTK_REAL_VEC R4p3133 = R3133;
- CCTK_REAL R4p3331 = R3331;
+ CCTK_REAL_VEC R4p3211 = R3211;
- CCTK_REAL R4p3332 = R3332;
+ CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212));
- CCTK_REAL R4p3333 = R3333;
+ CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213));
- CCTK_REAL Ro111 = 0;
+ CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221));
- CCTK_REAL Ro112 = gamma121*kxxL + (-gamma111 + gamma221)*kxyL +
- gamma321*kxzL - gamma211*kyyL - gamma311*kyzL + PDstandard4th1kxy -
- PDstandard4th2kxx;
+ CCTK_REAL_VEC R4p3222 = R3222;
- CCTK_REAL Ro113 = gamma131*kxxL + gamma231*kxyL + (-gamma111 +
- gamma331)*kxzL - gamma211*kyzL - gamma311*kzzL + PDstandard4th1kxz -
- PDstandard4th3kxx;
+ CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL)));
- CCTK_REAL Ro121 = -(gamma121*kxxL) + (gamma111 - gamma221)*kxyL -
- gamma321*kxzL + gamma211*kyyL + gamma311*kyzL - PDstandard4th1kxy +
- PDstandard4th2kxx;
+ CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231));
- CCTK_REAL Ro122 = 0;
+ CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)));
- CCTK_REAL Ro123 = gamma131*kxyL - gamma121*kxzL + gamma231*kyyL +
- (-gamma221 + gamma331)*kyzL - gamma321*kzzL + PDstandard4th2kxz -
- PDstandard4th3kxy;
+ CCTK_REAL_VEC R4p3233 = R3233;
- CCTK_REAL Ro131 = -(gamma131*kxxL) - gamma231*kxyL + (gamma111 -
- gamma331)*kxzL + gamma211*kyzL + gamma311*kzzL - PDstandard4th1kxz +
- PDstandard4th3kxx;
+ CCTK_REAL_VEC R4p3311 = R3311;
- CCTK_REAL Ro132 = -(gamma131*kxyL) + gamma121*kxzL - gamma231*kyyL +
- (gamma221 - gamma331)*kyzL + gamma321*kzzL - PDstandard4th2kxz +
- PDstandard4th3kxy;
+ CCTK_REAL_VEC R4p3312 = R3312;
- CCTK_REAL Ro133 = 0;
+ CCTK_REAL_VEC R4p3313 = R3313;
- CCTK_REAL Ro211 = 0;
+ CCTK_REAL_VEC R4p3321 = R3321;
- CCTK_REAL Ro212 = gamma122*kxxL + (-gamma121 + gamma222)*kxyL +
- gamma322*kxzL - gamma221*kyyL - gamma321*kyzL + PDstandard4th1kyy -
- PDstandard4th2kxy;
+ CCTK_REAL_VEC R4p3322 = R3322;
- CCTK_REAL Ro213 = gamma132*kxxL + gamma232*kxyL + (-gamma121 +
- gamma332)*kxzL - gamma221*kyzL - gamma321*kzzL + PDstandard4th1kyz -
- PDstandard4th3kxy;
+ CCTK_REAL_VEC R4p3323 = R3323;
- CCTK_REAL Ro221 = -(gamma122*kxxL) + (gamma121 - gamma222)*kxyL -
- gamma322*kxzL + gamma221*kyyL + gamma321*kyzL - PDstandard4th1kyy +
- PDstandard4th2kxy;
+ CCTK_REAL_VEC R4p3331 = R3331;
- CCTK_REAL Ro222 = 0;
+ CCTK_REAL_VEC R4p3332 = R3332;
- CCTK_REAL Ro223 = gamma132*kxyL - gamma122*kxzL + gamma232*kyyL +
- (-gamma222 + gamma332)*kyzL - gamma322*kzzL + PDstandard4th2kyz -
- PDstandard4th3kyy;
+ CCTK_REAL_VEC R4p3333 = R3333;
- CCTK_REAL Ro231 = -(gamma132*kxxL) - gamma232*kxyL + (gamma121 -
- gamma332)*kxzL + gamma221*kyzL + gamma321*kzzL - PDstandard4th1kyz +
- PDstandard4th3kxy;
+ CCTK_REAL_VEC Ro111 = ToReal(0);
- CCTK_REAL Ro232 = -(gamma132*kxyL) + gamma122*kxzL - gamma232*kyyL +
- (gamma222 - gamma332)*kyzL + gamma322*kzzL - PDstandard4th2kyz +
- PDstandard4th3kyy;
+ CCTK_REAL_VEC Ro112 =
+ kadd(JacPDstandard4th1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard4th2kxx))));
- CCTK_REAL Ro233 = 0;
+ CCTK_REAL_VEC Ro113 =
+ kadd(JacPDstandard4th1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard4th3kxx))));
- CCTK_REAL Ro311 = 0;
+ CCTK_REAL_VEC Ro121 =
+ kadd(JacPDstandard4th2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard4th1kxy))));
- CCTK_REAL Ro312 = gamma132*kxxL + (-gamma131 + gamma232)*kxyL +
- gamma332*kxzL - gamma231*kyyL - gamma331*kyzL + PDstandard4th1kyz -
- PDstandard4th2kxz;
+ CCTK_REAL_VEC Ro122 = ToReal(0);
- CCTK_REAL Ro313 = gamma133*kxxL + gamma233*kxyL + (-gamma131 +
- gamma333)*kxzL - gamma231*kyzL - gamma331*kzzL + PDstandard4th1kzz -
- PDstandard4th3kxz;
+ CCTK_REAL_VEC Ro123 =
+ kadd(JacPDstandard4th2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard4th3kxy))));
- CCTK_REAL Ro321 = -(gamma132*kxxL) + (gamma131 - gamma232)*kxyL -
- gamma332*kxzL + gamma231*kyyL + gamma331*kyzL - PDstandard4th1kyz +
- PDstandard4th2kxz;
+ CCTK_REAL_VEC Ro131 =
+ kadd(JacPDstandard4th3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard4th1kxz))));
- CCTK_REAL Ro322 = 0;
-
- CCTK_REAL Ro323 = gamma133*kxyL - gamma132*kxzL + gamma233*kyyL +
- (-gamma232 + gamma333)*kyzL - gamma332*kzzL + PDstandard4th2kzz -
- PDstandard4th3kyz;
-
- CCTK_REAL Ro331 = -(gamma133*kxxL) - gamma233*kxyL + (gamma131 -
- gamma333)*kxzL + gamma231*kyzL + gamma331*kzzL - PDstandard4th1kzz +
- PDstandard4th3kxz;
-
- CCTK_REAL Ro332 = -(gamma133*kxyL) + gamma132*kxzL - gamma233*kyyL +
- (gamma232 - gamma333)*kyzL + gamma332*kzzL - PDstandard4th2kzz +
- PDstandard4th3kyz;
-
- CCTK_REAL Ro333 = 0;
-
- CCTK_REAL Rojo11 = gInv11*R1111 + gInv12*R1112 + gInv13*R1113 +
- gInv21*R1211 + gInv23*(-(kxyL*kxzL) + kxxL*kyzL + R1213) + gInv31*R1311
- + gInv32*(-(kxyL*kxzL) + kxxL*kyzL + R1312) + gInv22*(kxxL*kyyL + R1212
- - SQR(kxyL)) + gInv33*(kxxL*kzzL + R1313 - SQR(kxzL));
-
- CCTK_REAL Rojo12 = gInv11*R1121 + gInv13*(kxyL*kxzL - kxxL*kyzL +
- R1123) + gInv21*R1221 + gInv22*R1222 + gInv23*R1223 + gInv31*R1321 +
- gInv32*(-(kxzL*kyyL) + kxyL*kyzL + R1322) + gInv33*(-(kxzL*kyzL) +
- kxyL*kzzL + R1323) + gInv12*(-(kxxL*kyyL) + R1122 + SQR(kxyL));
-
- CCTK_REAL Rojo13 = gInv11*R1131 + gInv12*(kxyL*kxzL - kxxL*kyzL +
- R1132) + gInv21*R1231 + gInv22*(kxzL*kyyL - kxyL*kyzL + R1232) +
- gInv23*(kxzL*kyzL - kxyL*kzzL + R1233) + gInv31*R1331 + gInv32*R1332 +
- gInv33*R1333 + gInv13*(-(kxxL*kzzL) + R1133 + SQR(kxzL));
-
- CCTK_REAL Rojo21 = gInv11*R2111 + gInv12*R2112 + gInv13*R2113 +
- gInv22*R2212 + gInv23*(-(kxzL*kyyL) + kxyL*kyzL + R2213) +
- gInv31*(kxyL*kxzL - kxxL*kyzL + R2311) + gInv32*R2312 +
- gInv33*(-(kxzL*kyzL) + kxyL*kzzL + R2313) + gInv21*(-(kxxL*kyyL) +
- R2211 + SQR(kxyL));
-
- CCTK_REAL Rojo22 = gInv12*R2122 + gInv13*(kxzL*kyyL - kxyL*kyzL +
- R2123) + gInv21*R2221 + gInv22*R2222 + gInv23*R2223 + gInv31*(kxzL*kyyL
- - kxyL*kyzL + R2321) + gInv32*R2322 + gInv11*(kxxL*kyyL + R2121 -
- SQR(kxyL)) + gInv33*(kyyL*kzzL + R2323 - SQR(kyzL));
-
- CCTK_REAL Rojo23 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R2131) +
- gInv12*R2132 + gInv13*(kxzL*kyzL - kxyL*kzzL + R2133) +
- gInv21*(-(kxzL*kyyL) + kxyL*kyzL + R2231) + gInv22*R2232 + gInv31*R2331
- + gInv32*R2332 + gInv33*R2333 + gInv23*(-(kyyL*kzzL) + R2233 +
- SQR(kyzL));
-
- CCTK_REAL Rojo31 = gInv11*R3111 + gInv12*R3112 + gInv13*R3113 +
- gInv21*(kxyL*kxzL - kxxL*kyzL + R3211) + gInv22*(kxzL*kyyL - kxyL*kyzL
- + R3212) + gInv23*R3213 + gInv32*(kxzL*kyzL - kxyL*kzzL + R3312) +
- gInv33*R3313 + gInv31*(-(kxxL*kzzL) + R3311 + SQR(kxzL));
-
- CCTK_REAL Rojo32 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R3121) +
- gInv12*(-(kxzL*kyyL) + kxyL*kyzL + R3122) + gInv13*R3123 + gInv21*R3221
- + gInv22*R3222 + gInv23*R3223 + gInv31*(kxzL*kyzL - kxyL*kzzL + R3321)
- + gInv33*R3323 + gInv32*(-(kyyL*kzzL) + R3322 + SQR(kyzL));
-
- CCTK_REAL Rojo33 = gInv12*(-(kxzL*kyzL) + kxyL*kzzL + R3132) +
- gInv13*R3133 + gInv21*(-(kxzL*kyzL) + kxyL*kzzL + R3231) + gInv23*R3233
- + gInv31*R3331 + gInv32*R3332 + gInv33*R3333 + gInv11*(kxxL*kzzL +
- R3131 - SQR(kxzL)) + gInv22*(kyyL*kzzL + R3232 - SQR(kyzL));
-
- CCTK_REAL Psi4rL = n3*(-(n2*R4p2333) - n1*R4p3313)*SQR(imbar3) +
- n1*(n3*R4p1132*rmbar1*rmbar2 + n2*R4p1221*rmbar1*rmbar2 +
- n3*R4p1231*rmbar1*rmbar2 + n2*R4p1123*rmbar1*rmbar3 +
- n3*R4p1331*rmbar1*rmbar3 + n2*R4p2113*rmbar1*rmbar3 +
- n3*R4p1233*rmbar2*rmbar3 + n2*R4p1322*rmbar2*rmbar3 +
- n3*R4p1332*rmbar2*rmbar3 + n2*R4p2213*rmbar2*rmbar3 +
- 2*nn*rmbar1*rmbar2*Ro112 + 2*nn*rmbar1*rmbar3*Ro113 +
- 2*nn*rmbar1*rmbar2*Ro211 + 2*nn*rmbar2*rmbar3*Ro213 +
- 2*nn*rmbar1*rmbar3*Ro311 + 2*nn*rmbar2*rmbar3*Ro312 +
- n2*(R4p1122*rmbar1*rmbar2 - R4p1323*SQR(imbar3))) +
- n3*(n2*R4p3122*rmbar1*rmbar2 + n1*R4p3211*rmbar1*rmbar2 +
- n2*R4p3221*rmbar1*rmbar2 + n1*R4p1133*rmbar1*rmbar3 +
- n2*R4p2331*rmbar1*rmbar3 + n1*R4p3113*rmbar1*rmbar3 +
- n2*R4p3123*rmbar1*rmbar3 + n1*R4p3311*rmbar1*rmbar3 +
- n2*R4p2332*rmbar2*rmbar3 + n1*R4p3213*rmbar2*rmbar3 +
- n2*R4p3223*rmbar2*rmbar3 + n1*R4p3312*rmbar2*rmbar3 +
- n2*R4p3322*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro132 +
- 2*nn*rmbar1*rmbar3*Ro133 + 2*nn*rmbar1*rmbar2*Ro231 +
- 2*nn*rmbar2*rmbar3*Ro233 + 2*nn*rmbar1*rmbar3*Ro331 +
- 2*nn*rmbar2*rmbar3*Ro332 + n1*(R4p3112*rmbar1*rmbar2 -
- R4p1333*SQR(imbar3))) + n2*(n3*R4p2132*rmbar1*rmbar2 +
- n1*R4p2211*rmbar1*rmbar2 + n3*R4p2231*rmbar1*rmbar2 +
- n1*R4p1321*rmbar1*rmbar3 + n3*R4p2133*rmbar1*rmbar3 +
- n1*R4p2311*rmbar1*rmbar3 + n3*R4p3321*rmbar1*rmbar3 +
- n1*R4p1223*rmbar2*rmbar3 + n3*R4p2233*rmbar2*rmbar3 +
- n1*R4p2312*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro122 +
- 2*nn*rmbar1*rmbar3*Ro123 + 2*nn*rmbar1*rmbar2*Ro221 +
- 2*nn*rmbar2*rmbar3*Ro223 + 2*nn*rmbar1*rmbar3*Ro321 +
- 2*nn*rmbar2*rmbar3*Ro322 + n1*(R4p2112*rmbar1*rmbar2 -
- R4p2313*SQR(imbar3))) + R4p1112*rmbar1*rmbar2*SQR(n1) +
- R4p1211*rmbar1*rmbar2*SQR(n1) + R4p1113*rmbar1*rmbar3*SQR(n1) +
- R4p1311*rmbar1*rmbar3*SQR(n1) + R4p1213*rmbar2*rmbar3*SQR(n1) +
- R4p1312*rmbar2*rmbar3*SQR(n1) + R4p2122*rmbar1*rmbar2*SQR(n2) +
- R4p2221*rmbar1*rmbar2*SQR(n2) + R4p2123*rmbar1*rmbar3*SQR(n2) +
- R4p2321*rmbar1*rmbar3*SQR(n2) + R4p2223*rmbar2*rmbar3*SQR(n2) +
- R4p2322*rmbar2*rmbar3*SQR(n2) + SQR(imbar3)*(-2*n2*nn*Ro323 -
- R4p2323*SQR(n2)) + R4p3132*rmbar1*rmbar2*SQR(n3) +
- R4p3231*rmbar1*rmbar2*SQR(n3) + R4p3133*rmbar1*rmbar3*SQR(n3) +
- R4p3331*rmbar1*rmbar3*SQR(n3) + R4p3233*rmbar2*rmbar3*SQR(n3) +
- R4p3332*rmbar2*rmbar3*SQR(n3) + SQR(imbar3)*(-2*n3*nn*Ro333 -
- R4p3333*SQR(n3)) + rmbar1*rmbar2*Rojo12*SQR(nn) +
- rmbar1*rmbar3*Rojo13*SQR(nn) + rmbar1*rmbar2*Rojo21*SQR(nn) +
- rmbar2*rmbar3*Rojo23*SQR(nn) + rmbar1*rmbar3*Rojo31*SQR(nn) +
- rmbar2*rmbar3*Rojo32*SQR(nn) - SQR(imbar1)*(n2*n3*R4p2131 +
- n2*n3*R4p3121 + n1*(n2*(R4p1121 + R4p2111) + n3*(R4p1131 + R4p3111) +
- 2*nn*Ro111) + 2*n2*nn*Ro121 + 2*n3*nn*Ro131 + R4p1111*SQR(n1) +
- R4p2121*SQR(n2) + R4p3131*SQR(n3) + Rojo11*SQR(nn)) -
- SQR(imbar2)*(n2*n3*R4p2232 + n2*n3*R4p3222 + n1*(n2*(R4p1222 + R4p2212)
- + n3*(R4p1232 + R4p3212) + 2*nn*Ro212) + 2*n2*nn*Ro222 + 2*n3*nn*Ro232
- + R4p1212*SQR(n1) + R4p2222*SQR(n2) + R4p3232*SQR(n3) + Rojo22*SQR(nn))
- - imbar2*imbar3*(2*n3*nn*Ro233 + n1*(n2*(R4p1223 + R4p1322 + R4p2213 +
- R4p2312) + n3*(R4p1233 + R4p1332 + R4p3213 + R4p3312) + 2*nn*(Ro213 +
- Ro312)) + n2*(n3*(R4p2233 + R4p2332 + R4p3223 + R4p3322) + 2*nn*(Ro223
- + Ro322)) + 2*n3*nn*Ro332 + (R4p1213 + R4p1312)*SQR(n1) + (R4p2223 +
- R4p2322)*SQR(n2) + R4p3233*SQR(n3) + R4p3332*SQR(n3) + Rojo23*SQR(nn) +
- Rojo32*SQR(nn)) + SQR(imbar3)*(-(n2*n3*R4p3323) - 2*n1*nn*Ro313 -
- R4p1313*SQR(n1) - Rojo33*SQR(nn)) - imbar1*(imbar2*(2*n3*nn*Ro132 +
- n1*(n2*(R4p1122 + R4p1221 + R4p2112 + R4p2211) + n3*(R4p1132 + R4p1231
- + R4p3112 + R4p3211) + 2*nn*(Ro112 + Ro211)) + n2*(n3*(R4p2132 +
- R4p2231 + R4p3122 + R4p3221) + 2*nn*(Ro122 + Ro221)) + 2*n3*nn*Ro231 +
- (R4p1112 + R4p1211)*SQR(n1) + (R4p2122 + R4p2221)*SQR(n2) +
- R4p3132*SQR(n3) + R4p3231*SQR(n3) + Rojo12*SQR(nn) + Rojo21*SQR(nn)) +
- imbar3*(2*n3*nn*Ro133 + n1*(n2*(R4p1123 + R4p1321 + R4p2113 + R4p2311)
- + n3*(R4p1133 + R4p1331 + R4p3113 + R4p3311) + 2*nn*(Ro113 + Ro311)) +
- n2*(n3*(R4p2133 + R4p2331 + R4p3123 + R4p3321) + 2*nn*(Ro123 + Ro321))
- + 2*n3*nn*Ro331 + (R4p1113 + R4p1311)*SQR(n1) + (R4p2123 +
- R4p2321)*SQR(n2) + R4p3133*SQR(n3) + R4p3331*SQR(n3) + Rojo13*SQR(nn) +
- Rojo31*SQR(nn))) + n1*n2*R4p1121*SQR(rmbar1) +
- n1*n3*R4p1131*SQR(rmbar1) + n1*n2*R4p2111*SQR(rmbar1) +
- n2*n3*R4p2131*SQR(rmbar1) + n1*n3*R4p3111*SQR(rmbar1) +
- n2*n3*R4p3121*SQR(rmbar1) + 2*n1*nn*Ro111*SQR(rmbar1) +
- 2*n2*nn*Ro121*SQR(rmbar1) + 2*n3*nn*Ro131*SQR(rmbar1) +
- R4p1111*SQR(n1)*SQR(rmbar1) + R4p2121*SQR(n2)*SQR(rmbar1) +
- R4p3131*SQR(n3)*SQR(rmbar1) + Rojo11*SQR(nn)*SQR(rmbar1) +
- n1*n2*R4p1222*SQR(rmbar2) + n1*n3*R4p1232*SQR(rmbar2) +
- n1*n2*R4p2212*SQR(rmbar2) + n2*n3*R4p2232*SQR(rmbar2) +
- n1*n3*R4p3212*SQR(rmbar2) + n2*n3*R4p3222*SQR(rmbar2) +
- 2*n1*nn*Ro212*SQR(rmbar2) + 2*n2*nn*Ro222*SQR(rmbar2) +
- 2*n3*nn*Ro232*SQR(rmbar2) + R4p1212*SQR(n1)*SQR(rmbar2) +
- R4p2222*SQR(n2)*SQR(rmbar2) + R4p3232*SQR(n3)*SQR(rmbar2) +
- Rojo22*SQR(nn)*SQR(rmbar2) + n1*n2*R4p1323*SQR(rmbar3) +
- n1*n3*R4p1333*SQR(rmbar3) + n1*n2*R4p2313*SQR(rmbar3) +
- n2*n3*R4p2333*SQR(rmbar3) + n1*n3*R4p3313*SQR(rmbar3) +
- n2*n3*R4p3323*SQR(rmbar3) + 2*n1*nn*Ro313*SQR(rmbar3) +
- 2*n2*nn*Ro323*SQR(rmbar3) + 2*n3*nn*Ro333*SQR(rmbar3) +
- R4p1313*SQR(n1)*SQR(rmbar3) + R4p2323*SQR(n2)*SQR(rmbar3) +
- R4p3333*SQR(n3)*SQR(rmbar3) + Rojo33*SQR(nn)*SQR(rmbar3);
-
- CCTK_REAL Psi4iL = -(im1*(4*n3*nn*rm1*Ro131 + 2*n3*nn*rm2*Ro132 +
- 2*n3*nn*rm3*Ro133 + 2*n3*nn*rm2*Ro231 + n1*(n2*(2*R4p1121*rm1 +
- 2*R4p2111*rm1 + R4p1122*rm2 + R4p1221*rm2 + R4p2112*rm2 + R4p2211*rm2 +
- R4p1123*rm3 + R4p1321*rm3 + R4p2113*rm3 + R4p2311*rm3) +
- n3*(2*R4p1131*rm1 + 2*R4p3111*rm1 + R4p1132*rm2 + R4p1231*rm2 +
- R4p3112*rm2 + R4p3211*rm2 + R4p1133*rm3 + R4p1331*rm3 + R4p3113*rm3 +
- R4p3311*rm3) + 2*nn*(2*rm1*Ro111 + rm2*(Ro112 + Ro211) + rm3*(Ro113 +
- Ro311))) + n2*(n3*(2*R4p2131*rm1 + 2*R4p3121*rm1 + R4p2132*rm2 +
- R4p2231*rm2 + R4p3122*rm2 + R4p3221*rm2 + R4p2133*rm3 + R4p2331*rm3 +
- R4p3123*rm3 + R4p3321*rm3) + 2*nn*(2*rm1*Ro121 + rm2*(Ro122 + Ro221) +
- rm3*(Ro123 + Ro321))) + 2*n3*nn*rm3*Ro331 + (2*R4p1111*rm1 +
- R4p1112*rm2 + R4p1211*rm2 + R4p1113*rm3 + R4p1311*rm3)*SQR(n1) +
- (2*R4p2121*rm1 + R4p2122*rm2 + R4p2221*rm2 + R4p2123*rm3 +
- R4p2321*rm3)*SQR(n2) + 2*R4p3131*rm1*SQR(n3) + R4p3132*rm2*SQR(n3) +
- R4p3231*rm2*SQR(n3) + R4p3133*rm3*SQR(n3) + R4p3331*rm3*SQR(n3) +
- 2*rm1*Rojo11*SQR(nn) + rm2*Rojo12*SQR(nn) + rm3*Rojo13*SQR(nn) +
- rm2*Rojo21*SQR(nn) + rm3*Rojo31*SQR(nn))) - im2*(2*n3*nn*rm1*Ro132 +
- 2*n3*nn*rm1*Ro231 + 4*n3*nn*rm2*Ro232 + 2*n3*nn*rm3*Ro233 +
- n1*(n2*(R4p1122*rm1 + R4p1221*rm1 + R4p2112*rm1 + R4p2211*rm1 +
- 2*R4p1222*rm2 + 2*R4p2212*rm2 + R4p1223*rm3 + R4p1322*rm3 + R4p2213*rm3
- + R4p2312*rm3) + n3*(R4p1132*rm1 + R4p1231*rm1 + R4p3112*rm1 +
- R4p3211*rm1 + 2*R4p1232*rm2 + 2*R4p3212*rm2 + R4p1233*rm3 + R4p1332*rm3
- + R4p3213*rm3 + R4p3312*rm3) + 2*nn*(rm1*(Ro112 + Ro211) + 2*rm2*Ro212
- + rm3*(Ro213 + Ro312))) + n2*(n3*(R4p2132*rm1 + R4p2231*rm1 +
- R4p3122*rm1 + R4p3221*rm1 + 2*R4p2232*rm2 + 2*R4p3222*rm2 + R4p2233*rm3
- + R4p2332*rm3 + R4p3223*rm3 + R4p3322*rm3) + 2*nn*(rm1*(Ro122 + Ro221)
- + 2*rm2*Ro222 + rm3*(Ro223 + Ro322))) + 2*n3*nn*rm3*Ro332 +
- (R4p1112*rm1 + R4p1211*rm1 + 2*R4p1212*rm2 + R4p1213*rm3 +
- R4p1312*rm3)*SQR(n1) + (R4p2122*rm1 + R4p2221*rm1 + 2*R4p2222*rm2 +
- R4p2223*rm3 + R4p2322*rm3)*SQR(n2) + R4p3132*rm1*SQR(n3) +
- R4p3231*rm1*SQR(n3) + 2*R4p3232*rm2*SQR(n3) + R4p3233*rm3*SQR(n3) +
- R4p3332*rm3*SQR(n3) + rm1*Rojo12*SQR(nn) + rm1*Rojo21*SQR(nn) +
- 2*rm2*Rojo22*SQR(nn) + rm3*Rojo23*SQR(nn) + rm3*Rojo32*SQR(nn)) -
- im3*(2*n3*nn*rm1*Ro133 + 2*n3*nn*rm2*Ro233 + n1*(n2*(R4p1123*rm1 +
- R4p1321*rm1 + R4p2113*rm1 + R4p2311*rm1 + R4p1223*rm2 + R4p1322*rm2 +
- R4p2213*rm2 + R4p2312*rm2 + 2*R4p1323*rm3 + 2*R4p2313*rm3) +
- n3*(R4p1133*rm1 + R4p1331*rm1 + R4p3113*rm1 + R4p3311*rm1 + R4p1233*rm2
- + R4p1332*rm2 + R4p3213*rm2 + R4p3312*rm2 + 2*R4p1333*rm3 +
- 2*R4p3313*rm3) + 2*nn*(rm1*(Ro113 + Ro311) + rm2*(Ro213 + Ro312) +
- 2*rm3*Ro313)) + n2*(n3*(R4p2133*rm1 + R4p2331*rm1 + R4p3123*rm1 +
- R4p3321*rm1 + R4p2233*rm2 + R4p2332*rm2 + R4p3223*rm2 + R4p3322*rm2 +
- 2*R4p2333*rm3 + 2*R4p3323*rm3) + 2*nn*(rm1*(Ro123 + Ro321) + rm2*(Ro223
- + Ro322) + 2*rm3*Ro323)) + 2*n3*nn*rm1*Ro331 + 2*n3*nn*rm2*Ro332 +
- 4*n3*nn*rm3*Ro333 + (R4p1113*rm1 + R4p1311*rm1 + R4p1213*rm2 +
- R4p1312*rm2 + 2*R4p1313*rm3)*SQR(n1) + (R4p2123*rm1 + R4p2321*rm1 +
- R4p2223*rm2 + R4p2322*rm2 + 2*R4p2323*rm3)*SQR(n2) +
- R4p3133*rm1*SQR(n3) + R4p3331*rm1*SQR(n3) + R4p3233*rm2*SQR(n3) +
- R4p3332*rm2*SQR(n3) + 2*R4p3333*rm3*SQR(n3) + rm1*Rojo13*SQR(nn) +
- rm2*Rojo23*SQR(nn) + rm1*Rojo31*SQR(nn) + rm2*Rojo32*SQR(nn) +
- 2*rm3*Rojo33*SQR(nn));
-
- /* Copy local copies back to grid functions */
- Psi4i[index] = Psi4iL;
- Psi4r[index] = Psi4rL;
+ CCTK_REAL_VEC Ro132 =
+ kadd(JacPDstandard4th3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard4th2kxz))));
+
+ CCTK_REAL_VEC Ro133 = ToReal(0);
+
+ CCTK_REAL_VEC Ro211 = ToReal(0);
+
+ CCTK_REAL_VEC Ro212 =
+ kadd(JacPDstandard4th1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard4th2kxy))));
+
+ CCTK_REAL_VEC Ro213 =
+ kadd(JacPDstandard4th1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard4th3kxy))));
+
+ CCTK_REAL_VEC Ro221 =
+ kadd(JacPDstandard4th2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard4th1kyy))));
+
+ CCTK_REAL_VEC Ro222 = ToReal(0);
+
+ CCTK_REAL_VEC Ro223 =
+ kadd(JacPDstandard4th2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard4th3kyy))));
+
+ CCTK_REAL_VEC Ro231 =
+ kadd(JacPDstandard4th3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard4th1kyz))));
+
+ CCTK_REAL_VEC Ro232 =
+ kadd(JacPDstandard4th3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard4th2kyz))));
+
+ CCTK_REAL_VEC Ro233 = ToReal(0);
+
+ CCTK_REAL_VEC Ro311 = ToReal(0);
+
+ CCTK_REAL_VEC Ro312 =
+ kadd(JacPDstandard4th1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard4th2kxz))));
+
+ CCTK_REAL_VEC Ro313 =
+ kadd(JacPDstandard4th1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard4th3kxz))));
+
+ CCTK_REAL_VEC Ro321 =
+ kadd(JacPDstandard4th2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard4th1kyz))));
+
+ CCTK_REAL_VEC Ro322 = ToReal(0);
+
+ CCTK_REAL_VEC Ro323 =
+ kadd(JacPDstandard4th2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard4th3kyz))));
+
+ CCTK_REAL_VEC Ro331 =
+ kadd(JacPDstandard4th3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard4th1kzz))));
+
+ CCTK_REAL_VEC Ro332 =
+ kadd(JacPDstandard4th3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard4th2kzz))));
+
+ CCTK_REAL_VEC Ro333 = ToReal(0);
+
+ CCTK_REAL_VEC Rojo11 =
+ kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))))))))))));
+
+ CCTK_REAL_VEC Rojo12 =
+ kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))))));
+
+ CCTK_REAL_VEC Rojo13 =
+ kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233)))))))))));
+
+ CCTK_REAL_VEC Rojo21 =
+ kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)))))))))));
+
+ CCTK_REAL_VEC Rojo22 =
+ kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo23 =
+ kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo31 =
+ kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312)))))))))));
+
+ CCTK_REAL_VEC Rojo32 =
+ kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo33 =
+ kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Psi4rL =
+ kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi4iL =
+ knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi3rL =
+ kmadd(kmadd(ltet3,kmul(R4p3121,rm2),kmul(ltet1,kmul(R4p1131,rm3))),SQR(n1),kmadd(ltet1,kmadd(n3,kmadd(kmadd(n1,R4p1311,kmul(n2,R4p1312)),rm1,kmadd(kmadd(n2,R4p1223,kmul(n1,kadd(R4p1123,R4p1321))),rm2,kmul(kmadd(n1,R4p1331,kmul(n2,kadd(R4p1233,R4p1332))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p1112,kmul(n3,R4p1113)),rm1,kmul(n2,kmadd(R4p1122,rm2,kmul(R4p1132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p1211,kmul(n3,R4p1213)),rm1,kmul(n1,kmadd(R4p1221,rm2,kmul(R4p1231,rm3)))),kmul(rm1,kmadd(R4p1111,SQR(n1),kmadd(R4p1212,SQR(n2),kmul(R4p1313,SQR(n3)))))))),kmadd(ltet2,kmadd(n3,kmadd(kmadd(n1,R4p2311,kmul(n2,R4p2312)),rm1,kmadd(kmadd(n1,R4p2321,kmul(n2,kadd(R4p2223,R4p2322))),rm2,kmul(kmadd(n2,R4p2233,kmul(n1,kadd(R4p2133,R4p2331))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p2112,kmul(n3,R4p2113)),rm1,kmul(n2,kmadd(R4p2122,rm2,kmul(R4p2132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p2211,kmul(n3,R4p2213)),rm1,kmul(n1,kmadd(R4p2221,rm2,kmul(R4p2231,rm3)))),kmul(rm1,kmadd(R4p2111,SQR(n1),kmadd(R4p2212,SQR(n2),kmul(R4p2313,SQR(n3)))))))),kmadd(ltet3,kmadd(n3,kmadd(kmadd(n1,R4p3311,kmul(n2,R4p3312)),rm1,kmadd(kmadd(n2,R4p3223,kmul(n1,kadd(R4p3123,R4p3321))),rm2,kmul(kmadd(n1,R4p3331,kmul(n2,kadd(R4p3233,R4p3332))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p3112,kmul(n3,R4p3113)),rm1,kmul(n2,kmadd(R4p3122,rm2,kmul(R4p3132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p3211,kmul(n3,R4p3213)),rm1,kmul(n1,kmadd(R4p3221,rm2,kmul(R4p3231,rm3)))),kmul(rm1,kmadd(R4p3111,SQR(n1),kmadd(R4p3212,SQR(n2),kmul(R4p3313,SQR(n3)))))))),kmadd(rm2,kmadd(kmadd(ltet1,R4p1121,kmul(ltet2,R4p2121)),SQR(n1),kmadd(kmadd(ltet1,R4p1222,kmadd(ltet2,R4p2222,kmul(ltet3,R4p3222))),SQR(n2),kmadd(kmadd(ltet1,R4p1323,kmadd(ltet2,R4p2323,kmul(ltet3,R4p3323))),SQR(n3),kmul(Rojo12,kmul(SQR(nn),ksub(ltet1,n1)))))),kmadd(SQR(nn),kmadd(kmadd(rm2,Rojo22,kmul(rm3,Rojo23)),ksub(ltet2,n2),kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),ksub(ltet3,n3),kmul(rm1,kmadd(Rojo11,ksub(ltet1,n1),kmul(Rojo21,ksub(ltet2,n2)))))),kmadd(rm3,kmadd(kmadd(ltet2,R4p2131,kmul(ltet3,R4p3131)),SQR(n1),kmadd(kmadd(ltet1,R4p1232,kmadd(ltet2,R4p2232,kmul(ltet3,R4p3232))),SQR(n2),kmadd(kmadd(ltet1,R4p1333,kmadd(ltet2,R4p2333,kmul(ltet3,R4p3333))),SQR(n3),kmul(SQR(nn),kmadd(Rojo13,ksub(ltet1,n1),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(n3,kmadd(rm2,kmadd(ltet2,kmul(n1,R4p2123),kmadd(n2,kmadd(ltet1,R4p1322,kmul(ltet3,R4p3322)),kmul(nn,kmul(Ro223,kmadd(ltet2,ToReal(-2),n2))))),kmadd(rm3,kmadd(ltet2,kmul(n2,R4p2332),kmadd(n1,kmadd(ltet1,R4p1133,kmul(ltet3,R4p3133)),kmul(nn,kmul(Ro333,kmadd(ltet3,ToReal(-2),n3))))),kmul(nn,kmadd(rm1,kmul(Ro113,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro313,kmsub(rm1,ksub(n3,ltet3),kmul(ltet1,rm3)),kmsub(Ro323,kmsub(rm2,ksub(n3,ltet3),kmul(ltet2,rm3)),kmadd(Ro123,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro133,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro233,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),kmul(Ro213,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2))))))))))))),kmul(nn,kmadd(kmadd(n1,kmul(rm1,Ro111),kmul(n2,kmul(rm1,Ro112))),kmadd(ltet1,ToReal(-2),n1),kmadd(n2,kmul(rm2,kmul(Ro222,kmadd(ltet2,ToReal(-2),n2))),kmadd(n1,kmul(rm3,kmul(Ro331,kmadd(ltet3,ToReal(-2),n3))),kmadd(n2,kmul(rm3,kmul(Ro332,kmadd(ltet3,ToReal(-2),n3))),kmadd(n2,kmul(Ro232,kmsub(rm3,ksub(n2,ltet2),kmul(ltet3,rm2))),kmadd(n1,kmsub(rm2,kmul(Ro221,kmadd(ltet2,ToReal(-2),n2)),kmul(Ro311,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))),knmsub(n2,kmadd(Ro122,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro312,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))),kmul(Ro132,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1)))))),kmadd(n1,kmadd(Ro121,kmsub(rm2,ksub(n1,ltet1),kmul(ltet2,rm1)),kmsub(Ro131,kmsub(rm3,ksub(n1,ltet1),kmul(ltet3,rm1)),kmadd(Ro211,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2))),kmadd(Ro321,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro231,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2)))))))),kmul(n2,kmsub(Ro212,kmsub(rm1,ksub(n2,ltet2),kmul(ltet1,rm2)),kmul(Ro322,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3)))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi3iL =
+ knmadd(im2,kmadd(n2,kmul(n3,kmul(nn,Ro223)),kmadd(n1,kmul(n3,kmul(nn,Ro321)),kmadd(n2,kmul(n3,kmul(nn,Ro322)),kmadd(ltet3,kmul(R4p3121,SQR(n1)),kmadd(nn,kmul(Ro121,SQR(n1)),kmadd(ltet3,kmul(R4p3222,SQR(n2)),kmadd(nn,kmul(Ro222,SQR(n2)),kmadd(ltet3,kmul(R4p3323,SQR(n3)),kmadd(nn,kmul(Ro323,SQR(n3)),kmadd(ltet3,kmul(Rojo32,SQR(nn)),kmadd(ltet2,kmadd(n2,kmul(n3,R4p2223),kmadd(n2,kmul(n3,R4p2322),kmadd(R4p2121,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p2323,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(-2))),kmadd(n3,kmul(nn,kmul(Ro223,ToReal(-2))),kmul(n1,kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,kadd(R4p2123,R4p2321),kmul(nn,kmul(Ro221,ToReal(-2)))))))))))))),kmadd(ltet3,kmul(n1,kmsub(n2,R4p3122,kmul(nn,Ro231))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3123),kmul(n2,kmul(nn,Ro232))),kmadd(ltet3,kmsub(n1,kmul(n2,R4p3221),kmul(n3,kmul(nn,Ro233))),kmadd(ltet3,kmsub(n2,kmul(n3,R4p3223),kmul(n1,kmul(nn,Ro321))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3321),kmul(n2,kmul(nn,Ro322))),kmadd(ltet3,kmul(n3,kmsub(n2,R4p3322,kmul(nn,Ro323))),kmadd(n1,kmsub(n2,kmul(nn,Ro122),kmul(Rojo12,SQR(nn))),kmadd(n2,kmsub(n1,kmul(nn,Ro221),kmul(Rojo22,SQR(nn))),kmadd(n3,kmsub(n1,kmul(nn,Ro123),kmul(Rojo32,SQR(nn))),kmul(ltet1,kmadd(R4p1121,SQR(n1),kmadd(R4p1222,SQR(n2),kmadd(R4p1323,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p1122,R4p1221),kmsub(n3,kadd(R4p1123,R4p1321),kmul(nn,kadd(Ro121,Ro211)))),kmsub(n2,kmsub(n3,kadd(R4p1223,R4p1322),kmul(nn,kadd(Ro122,Ro212))),kmul(n3,kmul(nn,kadd(Ro213,Ro123)))))))))))))))))))))))))))))),kmadd(im3,kmadd(ltet3,kmul(n2,kmul(n3,R4p3233)),kmadd(ltet3,kmul(n1,kmul(n3,R4p3331)),kmadd(ltet3,kmul(n2,kmul(n3,R4p3332)),kmadd(n1,kmul(n2,kmul(nn,Ro132)),kmadd(n1,kmul(n3,kmul(nn,Ro133)),kmadd(n1,kmul(n2,kmul(nn,Ro231)),kmadd(n2,kmul(n3,kmul(nn,Ro233)),kmadd(n1,kmul(n3,kmul(nn,Ro331)),kmadd(n2,kmul(n3,kmul(nn,Ro332)),kmadd(ltet3,kmul(R4p3131,SQR(n1)),kmadd(nn,kmul(Ro131,SQR(n1)),kmadd(ltet3,kmul(R4p3232,SQR(n2)),kmadd(nn,kmul(Ro232,SQR(n2)),kmadd(ltet3,kmul(R4p3333,SQR(n3)),kmadd(nn,kmul(Ro333,SQR(n3)),kmadd(ltet3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n1,kmul(nn,kmul(Ro331,ToReal(-2)))),kmadd(ltet3,kmul(n2,kmul(nn,kmul(Ro332,ToReal(-2)))),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),kmadd(n1,kmsub(ltet3,kmul(n2,R4p3132),kmul(Rojo13,SQR(nn))),kmadd(n2,kmsub(ltet3,kmul(n1,R4p3231),kmul(Rojo23,SQR(nn))),kmadd(n3,kmsub(ltet3,kmul(n1,R4p3133),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(R4p1131,SQR(n1),kmadd(R4p1232,SQR(n2),kmadd(R4p1333,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p1132,R4p1231),kmsub(n3,kadd(R4p1133,R4p1331),kmul(nn,kadd(Ro131,Ro311)))),kmsub(n2,kmsub(n3,kadd(R4p1233,R4p1332),kmul(nn,kadd(Ro132,Ro312))),kmul(n3,kmul(nn,kadd(Ro313,Ro133))))))))),kmul(ltet2,kmadd(R4p2131,SQR(n1),kmadd(R4p2232,SQR(n2),kmadd(R4p2333,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p2132,R4p2231),kmsub(n3,kadd(R4p2133,R4p2331),kmul(nn,kadd(Ro231,Ro321)))),kmsub(n2,kmsub(n3,kadd(R4p2233,R4p2332),kmul(nn,kadd(Ro232,Ro322))),kmul(n3,kmul(nn,kadd(Ro323,Ro233))))))))))))))))))))))))))))))))),kmul(im1,kmadd(n2,kmul(n3,kmul(nn,Ro213)),kmadd(n1,kmul(n3,kmul(nn,Ro311)),kmadd(n2,kmul(n3,kmul(nn,Ro312)),kmadd(ltet3,kmul(R4p3111,SQR(n1)),kmadd(nn,kmul(Ro111,SQR(n1)),kmadd(ltet3,kmul(R4p3212,SQR(n2)),kmadd(nn,kmul(Ro212,SQR(n2)),kmadd(ltet3,kmul(R4p3313,SQR(n3)),kmadd(nn,kmul(Ro313,SQR(n3)),kmadd(ltet3,kmul(Rojo31,SQR(nn)),kmadd(ltet1,kmadd(n2,kmul(n3,R4p1213),kmadd(n2,kmul(n3,R4p1312),kmadd(R4p1111,SQR(n1),kmadd(R4p1212,SQR(n2),kmadd(R4p1313,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro112,ToReal(-2))),kmadd(n3,kmul(nn,kmul(Ro113,ToReal(-2))),kmul(n1,kmadd(n2,kadd(R4p1112,R4p1211),kmadd(n3,kadd(R4p1113,R4p1311),kmul(nn,kmul(Ro111,ToReal(-2)))))))))))))),kmadd(ltet3,kmul(n1,kmsub(n2,R4p3112,kmul(nn,Ro131))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3113),kmul(n2,kmul(nn,Ro132))),kmadd(ltet3,kmsub(n1,kmul(n2,R4p3211),kmul(n3,kmul(nn,Ro133))),kmadd(ltet3,kmsub(n2,kmul(n3,R4p3213),kmul(n1,kmul(nn,Ro311))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3311),kmul(n2,kmul(nn,Ro312))),kmadd(ltet3,kmul(n3,kmsub(n2,R4p3312,kmul(nn,Ro313))),kmadd(n1,kmsub(n2,kmul(nn,Ro112),kmul(Rojo11,SQR(nn))),kmadd(n2,kmsub(n1,kmul(nn,Ro211),kmul(Rojo21,SQR(nn))),kmadd(n3,kmsub(n1,kmul(nn,Ro113),kmul(Rojo31,SQR(nn))),kmul(ltet2,kmadd(R4p2111,SQR(n1),kmadd(R4p2212,SQR(n2),kmadd(R4p2313,SQR(n3),kmadd(Rojo21,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p2112,R4p2211),kmsub(n3,kadd(R4p2113,R4p2311),kmul(nn,kadd(Ro121,Ro211)))),kmsub(n2,kmsub(n3,kadd(R4p2213,R4p2312),kmul(nn,kadd(Ro122,Ro212))),kmul(n3,kmul(nn,kadd(Ro213,Ro123)))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi2rL =
+ kmadd(ltet1,kmul(n2,kmul(R4p1112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet1,kmul(n3,kmul(R4p1113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet2,kmul(n2,kmul(R4p2112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet2,kmul(n3,kmul(R4p2113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet3,kmul(n2,kmul(R4p3112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet3,kmul(n3,kmul(R4p3113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet1,kmadd(n1,kmul(R4p1121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p1122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p1123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p1211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p1212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p1213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p1131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n2,kmul(R4p1132,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n3,kmul(R4p1133,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p1311,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n2,kmul(R4p1312,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p1231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p1232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p1233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p1321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p1322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p1323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p1111,kadd(SQR(im1),SQR(rm1))))))))))))))))))))),kmadd(ltet2,kmadd(n1,kmul(R4p2121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p2122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p2123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p2211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p2212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p2213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p2131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p2231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p2232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p2233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p2321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p2322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p2323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p2111,kadd(SQR(im1),SQR(rm1))))))))))))))))),kmadd(ltet3,kmadd(n1,kmul(R4p3121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p3122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p3123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p3211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p3212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p3213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p3131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p3231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p3232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p3233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p3321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p3322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p3323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p3111,kadd(SQR(im1),SQR(rm1))))))))))))))))),kmadd(ltet1,kmul(n1,kmul(R4p1221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n2,kmul(R4p1222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n3,kmul(R4p1223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n1,kmul(R4p2221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n2,kmul(R4p2222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n3,kmul(R4p2223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n1,kmul(R4p3221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n2,kmul(R4p3222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n3,kmul(R4p3223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n1,kmul(R4p1331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet1,kmul(n2,kmul(R4p1332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet1,kmul(n3,kmul(R4p1333,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n1,kmul(R4p2331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n2,kmul(R4p2332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n3,kmul(R4p2333,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n1,kmul(R4p3331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n2,kmul(R4p3332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n3,kmul(R4p3333,kadd(SQR(im3),SQR(rm3)))),kmadd(nn,kmul(Ro222,kmul(kadd(SQR(im2),SQR(rm2)),ksub(n2,ltet2))),kmadd(nn,kmul(Ro333,kmul(kadd(SQR(im3),SQR(rm3)),ksub(n3,ltet3))),kmadd(nn,kmul(Ro112,kmsub(n2,kadd(SQR(im1),SQR(rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2))))),kmadd(nn,kmul(Ro221,kmsub(n1,kadd(SQR(im2),SQR(rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2))))),kmadd(nn,kmul(Ro113,kmsub(n3,kadd(SQR(im1),SQR(rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3))))),kmadd(nn,kmul(Ro331,kmsub(n1,kadd(SQR(im3),SQR(rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3))))),kmadd(nn,kmul(Ro223,kmsub(n3,kadd(SQR(im2),SQR(rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3))))),kmadd(nn,kmul(Ro332,kmsub(n2,kadd(SQR(im3),SQR(rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3))))),knmsub(kmadd(im1,im2,kmul(rm1,rm2)),kmul(SQR(nn),kadd(Rojo21,Rojo12)),kmadd(nn,kmul(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kadd(SQR(im1),SQR(rm1))))),kmadd(nn,kmul(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kadd(SQR(im1),SQR(rm1))))),kmadd(nn,kmul(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kadd(SQR(im2),SQR(rm2))))),kmadd(nn,kmul(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kadd(SQR(im2),SQR(rm2))))),kmadd(nn,kmul(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kadd(SQR(im3),SQR(rm3))))),kmadd(nn,kmul(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kadd(SQR(im3),SQR(rm3))))),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmadd(ltet1,kmul(n3,R4p1313),kmadd(ltet2,kmul(n2,R4p2132),kmadd(ltet2,kmul(n3,R4p2133),kmadd(ltet2,kmul(n1,R4p2311),kmadd(ltet2,kmul(n2,R4p2312),kmadd(ltet2,kmul(n3,R4p2313),kmadd(ltet3,kmul(n2,R4p3132),kmadd(ltet3,kmul(n3,R4p3133),kmadd(ltet3,kmul(n1,R4p3311),kmadd(ltet3,kmul(n2,R4p3312),kmadd(ltet3,kmul(n3,R4p3313),knmsub(Rojo13,SQR(nn),kmadd(nn,kmul(Ro311,ksub(n1,ltet1)),kmul(nn,kmul(Ro133,ksub(n3,ltet3)))))))))))))))),kmsub(nn,kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro211,ksub(n1,ltet1)),kmadd(Ro111,kmul(kadd(SQR(im1),SQR(rm1)),ksub(n1,ltet1)),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro122,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro322,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro233,ksub(n3,ltet3)),kmadd(Ro321,kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),kmadd(Ro231,kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),kmadd(Ro312,kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),kmadd(Ro132,kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),kmadd(Ro213,kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),kmul(Ro123,kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3))))))))))))))),kmul(SQR(nn),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),Rojo31,kmadd(Rojo11,kadd(SQR(im1),SQR(rm1)),kmadd(Rojo22,kadd(SQR(im2),SQR(rm2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kadd(Rojo32,Rojo23),kmul(Rojo33,kadd(SQR(im3),SQR(rm3))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi2iL =
+ kmadd(im3,kmadd(n2,kmul(nn,kmul(rm1,Ro312)),kmadd(n3,kmul(nn,kmul(rm1,Ro313)),kmadd(n2,kmul(nn,kmul(rm2,Ro322)),kmadd(n3,kmul(nn,kmul(rm2,Ro323)),kmadd(ltet3,kmul(nn,kmul(rm1,Ro331)),kmadd(ltet3,kmul(nn,kmul(rm2,Ro332)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(ltet3,kmsub(n3,kmul(R4p3313,rm1),kmul(n2,kmul(R4p3232,rm2))),kmadd(ltet3,kmul(rm1,kmsub(n1,R4p3311,kmadd(nn,Ro133,kmul(n3,R4p3133)))),kmadd(rm1,kmsub(n1,kmul(nn,Ro311),kmul(Rojo31,SQR(nn))),kmadd(rm2,kmsub(n1,kmul(nn,Ro321),kmul(Rojo32,SQR(nn))),knmsub(ltet3,kmadd(rm1,kmadd(n2,R4p3132,kmul(n1,R4p3131)),kmul(n3,kmul(R4p3233,rm2))),kmadd(n1,kmsub(rm2,kmsub(ltet3,R4p3321,kmul(nn,Ro231)),kmul(nn,kmul(rm1,Ro131))),kmadd(n2,kmsub(rm2,kmsub(ltet3,R4p3322,kmul(nn,Ro232)),kmul(nn,kmul(rm1,Ro132))),kmadd(n3,kmsub(rm2,kmsub(ltet3,R4p3323,kmul(nn,Ro233)),kmul(nn,kmul(rm1,Ro133))),kmadd(ltet3,kmsub(n2,kmul(R4p3312,rm1),kmul(rm2,kmadd(nn,Ro233,kmul(n1,R4p3231)))),kmadd(ltet1,kmadd(nn,kmul(rm2,Ro312),kmadd(nn,kmul(rm1,ksub(Ro311,Ro113)),kmadd(rm2,kmsub(n3,R4p1323,kmul(nn,Ro213)),kmadd(n3,kmsub(rm1,ksub(R4p1313,R4p1133),kmul(R4p1233,rm2)),kmadd(n1,kmadd(rm1,ksub(R4p1311,R4p1131),kmul(rm2,ksub(R4p1321,R4p1231))),kmul(n2,kmadd(rm1,ksub(R4p1312,R4p1132),kmul(rm2,ksub(R4p1322,R4p1232))))))))),kmul(ltet2,kmadd(nn,kmul(rm2,Ro322),kmadd(nn,kmul(rm1,ksub(Ro321,Ro123)),kmadd(rm2,kmsub(n3,R4p2323,kmul(nn,Ro223)),kmadd(n3,kmsub(rm1,ksub(R4p2313,R4p2133),kmul(R4p2233,rm2)),kmadd(n1,kmadd(rm1,ksub(R4p2311,R4p2131),kmul(rm2,ksub(R4p2321,R4p2231))),kmul(n2,kmadd(rm1,ksub(R4p2312,R4p2132),kmul(rm2,ksub(R4p2322,R4p2232)))))))))))))))))))))))))))),kmadd(im1,kmadd(n2,kmul(nn,kmul(rm3,Ro132)),kmadd(ltet3,kmul(nn,kmul(rm3,Ro133)),kmadd(n3,kmul(nn,kmul(rm3,Ro133)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n1,kmsub(ltet3,kmul(R4p3131,rm3),kmul(nn,kmul(rm2,Ro211))),kmadd(n2,kmsub(ltet3,kmul(R4p3132,rm3),kmul(nn,kmul(rm2,Ro212))),kmadd(n3,kmsub(ltet3,kmul(R4p3133,rm3),kmul(nn,kmul(rm2,Ro213))),kmadd(n1,kmul(nn,kmsub(rm2,Ro121,kmul(rm3,Ro311))),kmadd(n2,kmul(nn,kmsub(rm2,Ro122,kmul(rm3,Ro312))),kmadd(n3,kmul(nn,kmsub(rm2,Ro123,kmul(rm3,Ro313))),kmadd(rm2,kmsub(ltet3,kmul(nn,Ro132),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmsub(n1,kmul(nn,Ro131),kmul(Rojo13,SQR(nn))),knmsub(ltet3,kmadd(rm2,kmadd(n3,R4p3213,kmul(n2,R4p3212)),kmul(n3,kmul(R4p3313,rm3))),kmadd(ltet3,kmadd(n1,kmsub(R4p3121,rm2,kmul(R4p3311,rm3)),kmul(rm2,kmsub(n2,R4p3122,kmul(nn,Ro231)))),kmadd(ltet3,kmsub(rm2,kmsub(n3,R4p3123,kmul(n1,R4p3211)),kmul(rm3,kmadd(nn,Ro331,kmul(n2,R4p3312)))),kmadd(ltet1,kmadd(nn,kmul(rm3,Ro113),kmadd(nn,kmul(rm2,ksub(Ro112,Ro211)),kmadd(rm3,kmsub(n3,R4p1133,kmul(nn,Ro311)),kmadd(n3,kmsub(rm2,ksub(R4p1123,R4p1213),kmul(R4p1313,rm3)),kmadd(n1,kmadd(rm2,ksub(R4p1121,R4p1211),kmul(rm3,ksub(R4p1131,R4p1311))),kmul(n2,kmadd(rm2,ksub(R4p1122,R4p1212),kmul(rm3,ksub(R4p1132,R4p1312))))))))),kmul(ltet2,kmadd(nn,kmul(rm3,Ro123),kmadd(nn,kmul(rm2,ksub(Ro122,Ro221)),kmadd(rm3,kmsub(n3,R4p2133,kmul(nn,Ro321)),kmadd(n3,kmsub(rm2,ksub(R4p2123,R4p2213),kmul(R4p2313,rm3)),kmadd(n1,kmadd(rm2,ksub(R4p2121,R4p2211),kmul(rm3,ksub(R4p2131,R4p2311))),kmul(n2,kmadd(rm2,ksub(R4p2122,R4p2212),kmul(rm3,ksub(R4p2132,R4p2312))))))))))))))))))))))))))),kmul(im2,kmadd(n2,kmul(nn,kmul(rm1,Ro212)),kmadd(n3,kmul(nn,kmul(rm1,Ro213)),kmadd(ltet3,kmul(nn,kmul(rm1,Ro231)),kmadd(n2,kmul(nn,kmul(rm3,Ro232)),kmadd(ltet3,kmul(nn,kmul(rm3,Ro233)),kmadd(n3,kmul(nn,kmul(rm3,Ro233)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmsub(n3,kmul(R4p3213,rm1),kmul(n2,kmul(R4p3322,rm3))),kmadd(ltet3,kmul(rm1,kmsub(n1,R4p3211,kmadd(nn,Ro132,kmul(n3,R4p3123)))),kmadd(rm1,kmsub(n1,kmul(nn,Ro211),kmul(Rojo21,SQR(nn))),kmadd(rm3,kmsub(n1,kmul(nn,Ro231),kmul(Rojo23,SQR(nn))),knmsub(ltet3,kmadd(rm1,kmadd(n2,R4p3122,kmul(n1,R4p3121)),kmul(n3,kmul(R4p3323,rm3))),kmadd(n1,kmsub(rm3,kmsub(ltet3,R4p3231,kmul(nn,Ro321)),kmul(nn,kmul(rm1,Ro121))),kmadd(n2,kmsub(rm3,kmsub(ltet3,R4p3232,kmul(nn,Ro322)),kmul(nn,kmul(rm1,Ro122))),kmadd(n3,kmsub(rm3,kmsub(ltet3,R4p3233,kmul(nn,Ro323)),kmul(nn,kmul(rm1,Ro123))),kmadd(ltet3,kmsub(n2,kmul(R4p3212,rm1),kmul(rm3,kmadd(nn,Ro332,kmul(n1,R4p3321)))),kmadd(ltet1,kmadd(nn,kmul(rm3,Ro213),kmadd(nn,kmul(rm1,ksub(Ro211,Ro112)),kmadd(rm3,kmsub(n3,R4p1233,kmul(nn,Ro312)),kmadd(n3,kmsub(rm1,ksub(R4p1213,R4p1123),kmul(R4p1323,rm3)),kmadd(n1,kmadd(rm1,ksub(R4p1211,R4p1121),kmul(rm3,ksub(R4p1231,R4p1321))),kmul(n2,kmadd(rm1,ksub(R4p1212,R4p1122),kmul(rm3,ksub(R4p1232,R4p1322))))))))),kmul(ltet2,kmadd(nn,kmul(rm3,Ro223),kmadd(nn,kmul(rm1,ksub(Ro221,Ro122)),kmadd(rm3,kmsub(n3,R4p2233,kmul(nn,Ro322)),kmadd(n3,kmsub(rm1,ksub(R4p2213,R4p2123),kmul(R4p2323,rm3)),kmadd(n1,kmadd(rm1,ksub(R4p2211,R4p2121),kmul(rm3,ksub(R4p2231,R4p2321))),kmul(n2,kmadd(rm1,ksub(R4p2212,R4p2122),kmul(rm3,ksub(R4p2232,R4p2322)))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi1rL =
+ kmadd(kmadd(n1,kmadd(R4p1111,rm1,kmadd(R4p1121,rm2,kmul(R4p1131,rm3))),kmadd(n2,kmadd(R4p2111,rm1,kmadd(R4p2121,rm2,kmul(R4p2131,rm3))),kmadd(n3,kmadd(R4p3111,rm1,kmadd(R4p3121,rm2,kmul(R4p3131,rm3))),kmul(nn,kmadd(rm1,Ro111,kmadd(rm2,Ro121,kmul(rm3,Ro131))))))),SQR(ltet1),kmadd(kmadd(n1,kmadd(R4p1212,rm1,kmadd(R4p1222,rm2,kmul(R4p1232,rm3))),kmadd(n2,kmadd(R4p2212,rm1,kmadd(R4p2222,rm2,kmul(R4p2232,rm3))),kmadd(n3,kmadd(R4p3212,rm1,kmadd(R4p3222,rm2,kmul(R4p3232,rm3))),kmul(nn,kmadd(rm1,Ro212,kmadd(rm2,Ro222,kmul(rm3,Ro232))))))),SQR(ltet2),kmadd(kmadd(n1,kmadd(R4p1323,rm2,kmul(R4p1333,rm3)),kmadd(rm1,kmadd(n3,R4p3313,kmul(nn,Ro313)),kmul(nn,kmadd(rm2,Ro323,kmul(rm3,Ro333))))),SQR(ltet3),kmadd(rm1,kmadd(kmadd(n1,R4p1313,kmul(n2,R4p2313)),SQR(ltet3),kmul(n1,kmul(Rojo11,SQR(nn)))),kmadd(rm2,kmadd(kmadd(n2,R4p2323,kmul(n3,R4p3323)),SQR(ltet3),kmul(n1,kmul(Rojo12,SQR(nn)))),kmadd(rm3,kmadd(kmadd(n2,R4p2333,kmul(n3,R4p3333)),SQR(ltet3),kmul(n1,kmul(Rojo13,SQR(nn)))),kmadd(SQR(nn),kmadd(n2,kmadd(rm1,Rojo21,kmul(rm2,Rojo22)),kmadd(n3,kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),kmsub(rm3,kmsub(n2,Rojo23,kmul(ltet3,Rojo33)),kmul(ltet3,kmul(rm2,Rojo32))))),kmadd(ltet3,kmsub(nn,kmadd(n3,kmul(rm3,kmul(Ro333,ToReal(-2))),knmsub(n2,kmul(rm3,kadd(Ro323,Ro233)),kmadd(rm1,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmsub(rm2,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,kadd(Ro323,Ro233))),kmul(n1,kmadd(rm3,kadd(Ro313,Ro133),kmul(rm2,kadd(Ro213,Ro123)))))))),kmul(rm1,kmul(Rojo31,SQR(nn)))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1122,R4p1221),rm2,kmul(kadd(R4p1132,R4p1231),rm3))),kmadd(n2,kmadd(kadd(R4p2112,R4p2211),rm1,kmadd(kadd(R4p2122,R4p2221),rm2,kmul(kadd(R4p2132,R4p2231),rm3))),kmadd(n3,kmadd(kadd(R4p3112,R4p3211),rm1,kmadd(kadd(R4p3122,R4p3221),rm2,kmul(kadd(R4p3132,R4p3231),rm3))),kmul(nn,kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm2,kadd(Ro122,Ro221),kmul(rm3,kadd(Ro132,Ro231)))))))),kmsub(ltet3,kmadd(n1,kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1123,R4p1321),rm2,kmul(kadd(R4p1133,R4p1331),rm3))),kmadd(n2,kmadd(kadd(R4p2113,R4p2311),rm1,kmadd(kadd(R4p2123,R4p2321),rm2,kmul(kadd(R4p2133,R4p2331),rm3))),kmadd(n3,kmadd(kadd(R4p3113,R4p3311),rm1,kmadd(kadd(R4p3123,R4p3321),rm2,kmul(kadd(R4p3133,R4p3331),rm3))),kmul(nn,kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro123,Ro321),kmul(rm3,kadd(Ro133,Ro331)))))))),kmul(nn,kmadd(nn,kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(n1,kmadd(rm2,kadd(Ro121,Ro211),kmadd(rm3,kadd(Ro131,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))),kmadd(n2,kmadd(rm1,kadd(Ro121,Ro211),kmadd(rm3,kadd(Ro231,Ro321),kmul(rm2,kmul(Ro221,ToReal(2))))),kmul(n3,kmadd(rm1,kadd(Ro131,Ro311),kmadd(rm2,kadd(Ro231,Ro321),kmul(rm3,kmul(Ro331,ToReal(2)))))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kmadd(kadd(R4p1213,R4p1312),rm1,kmadd(kadd(R4p1223,R4p1322),rm2,kmul(kadd(R4p1233,R4p1332),rm3))),kmadd(n2,kmadd(kadd(R4p2213,R4p2312),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(kadd(R4p2233,R4p2332),rm3))),kmadd(n3,kmadd(kadd(R4p3213,R4p3312),rm1,kmadd(kadd(R4p3223,R4p3322),rm2,kmul(kadd(R4p3233,R4p3332),rm3))),kmul(nn,kmadd(rm1,kadd(Ro213,Ro312),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kadd(Ro233,Ro332)))))))),kmul(nn,kmadd(nn,kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),kmadd(n1,kmadd(rm2,kadd(Ro122,Ro212),kmadd(rm3,kadd(Ro132,Ro312),kmul(rm1,kmul(Ro112,ToReal(2))))),kmadd(n2,kmadd(rm1,kadd(Ro122,Ro212),kmadd(rm3,kadd(Ro232,Ro322),kmul(rm2,kmul(Ro222,ToReal(2))))),kmul(n3,kmadd(rm1,kadd(Ro132,Ro312),kmadd(rm2,kadd(Ro232,Ro322),kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi1iL =
+ kmadd(im1,kmadd(kmadd(n1,R4p1111,kmadd(n2,R4p2111,kmadd(n3,R4p3111,kmul(nn,Ro111)))),SQR(ltet1),kmadd(kmadd(n1,R4p1212,kmadd(n2,R4p2212,kmadd(n3,R4p3212,kmul(nn,Ro212)))),SQR(ltet2),kmadd(kmadd(n1,R4p1313,kmadd(n2,R4p2313,kmadd(n3,R4p3313,kmul(nn,Ro313)))),SQR(ltet3),kmadd(kmadd(n1,Rojo11,kmadd(n2,Rojo21,kmul(n3,Rojo31))),SQR(nn),kmadd(ltet3,kmsub(nn,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmul(Rojo31,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1112,R4p1211),kmadd(n2,kadd(R4p2112,R4p2211),kmadd(n3,kadd(R4p3112,R4p3211),kmul(nn,kadd(Ro112,Ro211))))),kmsub(ltet3,kmadd(n1,kadd(R4p1113,R4p1311),kmadd(n2,kadd(R4p2113,R4p2311),kmadd(n3,kadd(R4p3113,R4p3311),kmul(nn,kadd(Ro113,Ro311))))),kmul(nn,kmadd(n2,kadd(Ro121,Ro211),kmadd(n3,kadd(Ro131,Ro311),kmadd(nn,Rojo11,kmul(n1,kmul(Ro111,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1213,R4p1312),kmadd(n2,kadd(R4p2213,R4p2312),kmadd(n3,kadd(R4p3213,R4p3312),kmul(nn,kadd(Ro213,Ro312))))),kmul(nn,kmadd(n2,kadd(Ro122,Ro212),kmadd(n3,kadd(Ro132,Ro312),kmadd(nn,Rojo21,kmul(n1,kmul(Ro112,ToReal(2))))))))))))))),kmadd(im2,kmadd(kmadd(n1,R4p1121,kmadd(n2,R4p2121,kmadd(n3,R4p3121,kmul(nn,Ro121)))),SQR(ltet1),kmadd(kmadd(n1,R4p1222,kmadd(n2,R4p2222,kmadd(n3,R4p3222,kmul(nn,Ro222)))),SQR(ltet2),kmadd(n1,kmul(R4p1323,SQR(ltet3)),kmadd(n2,kmul(R4p2323,SQR(ltet3)),kmadd(n3,kmul(R4p3323,SQR(ltet3)),kmadd(nn,kmul(Ro323,SQR(ltet3)),kmadd(n1,kmul(Rojo12,SQR(nn)),kmadd(n2,kmul(Rojo22,SQR(nn)),kmadd(n3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmul(nn,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,Ro323))),knmsub(ltet3,kmadd(nn,kmadd(n1,kadd(Ro213,Ro123),kmul(n3,Ro233)),kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1122,R4p1221),kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,R4p3122,kmadd(n3,R4p3221,kmadd(nn,Ro122,kmul(nn,Ro221)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1123,R4p1321),kmadd(n2,kadd(R4p2123,R4p2321),kmadd(n3,R4p3123,kmadd(n3,R4p3321,kmadd(nn,Ro123,kmul(nn,Ro321)))))),kmul(nn,kmadd(n1,kadd(Ro121,Ro211),kmadd(n3,Ro231,kmadd(n3,Ro321,kmadd(nn,Rojo12,kmul(n2,kmul(Ro221,ToReal(2)))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1223,R4p1322),kmadd(n2,kadd(R4p2223,R4p2322),kmadd(n3,R4p3223,kmadd(n3,R4p3322,kmadd(nn,Ro223,kmul(nn,Ro322)))))),kmul(nn,kmadd(n1,kadd(Ro122,Ro212),kmadd(n3,Ro232,kmadd(n3,Ro322,kmadd(nn,Rojo22,kmul(n2,kmul(Ro222,ToReal(2)))))))))))))))))))))),kmul(im3,kmadd(kmadd(n1,R4p1131,kmadd(n2,R4p2131,kmadd(n3,R4p3131,kmul(nn,Ro131)))),SQR(ltet1),kmadd(kmadd(n1,R4p1232,kmadd(n2,R4p2232,kmadd(n3,R4p3232,kmul(nn,Ro232)))),SQR(ltet2),kmadd(n1,kmul(R4p1333,SQR(ltet3)),kmadd(n2,kmul(R4p2333,SQR(ltet3)),kmadd(n3,kmul(R4p3333,SQR(ltet3)),kmadd(nn,kmul(Ro333,SQR(ltet3)),kmadd(n1,kmul(Rojo13,SQR(nn)),kmadd(n2,kmul(Rojo23,SQR(nn)),kmadd(n3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),knmsub(ltet3,kmadd(nn,kmadd(n2,kadd(Ro323,Ro233),kmul(n1,kadd(Ro313,Ro133))),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1132,R4p1231),kmadd(n2,kadd(R4p2132,R4p2231),kmadd(n3,R4p3132,kmadd(n3,R4p3231,kmadd(nn,Ro132,kmul(nn,Ro231)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1133,R4p1331),kmadd(n2,kadd(R4p2133,R4p2331),kmadd(n3,R4p3133,kmadd(n3,R4p3331,kmadd(nn,Ro133,kmul(nn,Ro331)))))),kmul(nn,kmadd(n1,kadd(Ro131,Ro311),kmadd(n2,kadd(Ro231,Ro321),kmadd(nn,Rojo13,kmul(n3,kmul(Ro331,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1233,R4p1332),kmadd(n2,kadd(R4p2233,R4p2332),kmadd(n3,R4p3233,kmadd(n3,R4p3332,kmadd(nn,Ro233,kmul(nn,Ro332)))))),kmul(nn,kmadd(n1,kadd(Ro132,Ro312),kmadd(n2,kadd(Ro232,Ro322),kmadd(nn,Rojo23,kmul(n3,kmul(Ro332,ToReal(2))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi0rL =
+ kmadd(R4p1112,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1211,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1113,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1311,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1213,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p1312,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p2122,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2221,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2123,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2321,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2223,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p2322,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p3132,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3231,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3133,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3331,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3233,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(R4p3332,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(rm1,kmul(rm2,kmul(Rojo12,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo13,SQR(nn))),kmadd(rm1,kmul(rm2,kmul(Rojo21,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo23,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo31,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmul(ltet2,kmul(R4p1121,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p1131,SQR(rm1))),kmadd(ltet1,kmul(ltet2,kmul(R4p2111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p2131,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p3111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p3121,SQR(rm1))),kmadd(R4p1111,kmul(SQR(ltet1),SQR(rm1)),kmadd(R4p2121,kmul(SQR(ltet2),SQR(rm1)),kmadd(R4p3131,kmul(SQR(ltet3),SQR(rm1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rm1)),kmadd(ltet1,kmul(ltet2,kmul(R4p1222,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p1232,SQR(rm2))),kmadd(ltet1,kmul(ltet2,kmul(R4p2212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p2232,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p3212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p3222,SQR(rm2))),kmadd(R4p1212,kmul(SQR(ltet1),SQR(rm2)),kmadd(R4p2222,kmul(SQR(ltet2),SQR(rm2)),kmadd(R4p3232,kmul(SQR(ltet3),SQR(rm2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rm2)),kmadd(ltet1,kmul(ltet2,kmul(R4p1323,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p1333,SQR(rm3))),kmadd(ltet1,kmul(ltet2,kmul(R4p2313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p2333,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p3313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p3323,SQR(rm3))),kmadd(R4p1313,kmul(SQR(ltet1),SQR(rm3)),kmadd(R4p2323,kmul(SQR(ltet2),SQR(rm3)),kmadd(R4p3333,kmul(SQR(ltet3),SQR(rm3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rm3)),knmsub(ltet3,kmul(SQR(im3),kmadd(ltet1,R4p3313,kmul(ltet2,R4p2333))),kmadd(SQR(im3),kmsub(ltet2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(ltet2))),kmadd(SQR(im3),kmsub(ltet3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(ltet3))),kmadd(SQR(im3),kmsub(ltet1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(ltet2,kmul(ltet3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(ltet1))))),kmadd(ltet1,kmul(nn,kmul(Ro111,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro121,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro131,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro212,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro222,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro232,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro313,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro323,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro333,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet1,kmadd(ltet3,kmul(R4p1132,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1221,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p1231,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1123,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1331,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2113,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1233,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p1322,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p1332,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p2213,kmul(rm2,rm3)),kmadd(ltet2,kmsub(R4p1122,kmul(rm1,rm2),kmul(R4p1323,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(ltet2,kmadd(ltet3,kmul(R4p2132,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p2211,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p2231,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1321,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p2133,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p2311,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p3321,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p1223,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p2233,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p2312,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p2112,kmul(rm1,rm2),kmul(R4p2313,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(ltet3,kmadd(ltet2,kmul(R4p3122,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p3211,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p3221,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1133,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2331,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3113,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p3123,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3311,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2332,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3213,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3223,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3312,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3322,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p3112,kmul(rm1,rm2),kmul(R4p1333,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(im1),kmadd(ltet2,kmul(ltet3,R4p2131),kmadd(ltet2,kmul(ltet3,R4p3121),kmadd(R4p1111,SQR(ltet1),kmadd(R4p2121,SQR(ltet2),kmadd(R4p3131,SQR(ltet3),kmadd(Rojo11,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1121,R4p2111),kmadd(ltet3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(im2),kmadd(ltet2,kmul(ltet3,R4p2232),kmadd(ltet2,kmul(ltet3,R4p3222),kmadd(R4p1212,SQR(ltet1),kmadd(R4p2222,SQR(ltet2),kmadd(R4p3232,SQR(ltet3),kmadd(Rojo22,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1222,R4p2212),kmadd(ltet3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(im2,kmul(im3,kmadd(kadd(R4p1213,R4p1312),SQR(ltet1),kmadd(kadd(R4p2223,R4p2322),SQR(ltet2),kmadd(R4p3233,SQR(ltet3),kmadd(R4p3332,SQR(ltet3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(ltet3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(im1,kmadd(im2,kmadd(kadd(R4p1112,R4p1211),SQR(ltet1),kmadd(kadd(R4p2122,R4p2221),SQR(ltet2),kmadd(R4p3132,SQR(ltet3),kmadd(R4p3231,SQR(ltet3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(ltet3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(im3,kmadd(kadd(R4p1113,R4p1311),SQR(ltet1),kmadd(kadd(R4p2123,R4p2321),SQR(ltet2),kmadd(R4p3133,SQR(ltet3),kmadd(R4p3331,SQR(ltet3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(ltet3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi0iL =
+ kmadd(im1,kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm2,kmadd(kadd(R4p1113,R4p1311),rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm2,kmadd(kadd(R4p2123,R4p2321),rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet3),kmadd(kadd(R4p3132,R4p3231),rm2,kmadd(kadd(R4p3133,R4p3331),rm3,kmul(R4p3131,kmul(rm1,ToReal(2))))),kmadd(SQR(nn),kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm3,kmul(kadd(R4p1121,R4p2111),kmul(rm1,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm2,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm3,kmul(kadd(R4p1131,R4p3111),kmul(rm1,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm2,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm3,kmul(kadd(R4p2131,R4p3121),kmul(rm1,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(ltet3,kmul(nn,kmadd(kmadd(rm2,kadd(Ro132,Ro231),kmul(rm3,kadd(Ro133,Ro331))),ToReal(2),kmul(rm1,kmul(Ro131,ToReal(4)))))))))))),kmadd(im2,kmadd(kmadd(rm1,Rojo21,kmul(rm3,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3132,R4p3231),SQR(ltet3),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro132,Ro231),kmul(rm3,Ro233))),kmul(rm2,kmadd(R4p3232,SQR(ltet3),kmul(Rojo22,SQR(nn))))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1213,R4p1312),rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm1,kmadd(kadd(R4p2223,R4p2322),rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm3,kmul(kadd(R4p1222,R4p2212),kmul(rm2,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm3,kmul(kadd(R4p1232,R4p3212),kmul(rm2,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm3,kmul(kadd(R4p2232,R4p3222),kmul(rm2,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(ltet3,kmul(nn,kmadd(rm3,kmul(Ro332,ToReal(2)),kmul(rm2,kmul(Ro232,ToReal(4)))))))))))))),kmul(im3,kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3133,R4p3331),SQR(ltet3),kmul(Rojo13,SQR(nn))),kmadd(rm2,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro133,Ro331),kmul(rm2,kadd(Ro233,Ro332)))),kmul(R4p3333,kmul(rm3,SQR(ltet3)))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1213,R4p1312),rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2123,R4p2321),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm2,kmul(kadd(R4p1323,R4p2313),kmul(rm3,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm2,kmul(kadd(R4p1333,R4p3313),kmul(rm3,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm2,kmul(kadd(R4p2333,R4p3323),kmul(rm3,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(rm3,kmadd(Rojo33,kmul(SQR(nn),ToReal(2)),kmul(ltet3,kmul(nn,kmul(Ro333,ToReal(4)))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(Psi0i[index],Psi0iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi0r[index],Psi0rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi1i[index],Psi1iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi1r[index],Psi1rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi2i[index],Psi2iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi2r[index],Psi2rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi3i[index],Psi3iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi3r[index],Psi3rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(Psi0i[index],Psi0iL,elt_count);
+ vec_store_nta_partial_hi(Psi0r[index],Psi0rL,elt_count);
+ vec_store_nta_partial_hi(Psi1i[index],Psi1iL,elt_count);
+ vec_store_nta_partial_hi(Psi1r[index],Psi1rL,elt_count);
+ vec_store_nta_partial_hi(Psi2i[index],Psi2iL,elt_count);
+ vec_store_nta_partial_hi(Psi2r[index],Psi2rL,elt_count);
+ vec_store_nta_partial_hi(Psi3i[index],Psi3iL,elt_count);
+ vec_store_nta_partial_hi(Psi3r[index],Psi3rL,elt_count);
+ vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(Psi0i[index],Psi0iL,elt_count);
+ vec_store_nta_partial_lo(Psi0r[index],Psi0rL,elt_count);
+ vec_store_nta_partial_lo(Psi1i[index],Psi1iL,elt_count);
+ vec_store_nta_partial_lo(Psi1r[index],Psi1rL,elt_count);
+ vec_store_nta_partial_lo(Psi2i[index],Psi2iL,elt_count);
+ vec_store_nta_partial_lo(Psi2r[index],Psi2rL,elt_count);
+ vec_store_nta_partial_lo(Psi3i[index],Psi3iL,elt_count);
+ vec_store_nta_partial_lo(Psi3r[index],Psi3rL,elt_count);
+ vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
+ break;
+ }
+ vec_store_nta(Psi0i[index],Psi0iL);
+ vec_store_nta(Psi0r[index],Psi0rL);
+ vec_store_nta(Psi1i[index],Psi1iL);
+ vec_store_nta(Psi1r[index],Psi1rL);
+ vec_store_nta(Psi2i[index],Psi2iL);
+ vec_store_nta(Psi2r[index],Psi2rL);
+ vec_store_nta(Psi3i[index],Psi3iL);
+ vec_store_nta(Psi3r[index],Psi3rL);
+ vec_store_nta(Psi4i[index],Psi4iL);
+ vec_store_nta(Psi4r[index],Psi4rL);
}
- LC_ENDLOOP3 (psis_calc_4th);
+ LC_ENDLOOP3VEC (psis_calc_4th);
}
extern "C" void psis_calc_4th(CCTK_ARGUMENTS)
@@ -1533,5 +1939,43 @@ extern "C" void psis_calc_4th(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_4th_Body");
+ }
+
+ if (cctk_iteration % psis_calc_4th_calc_every != psis_calc_4th_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "psis_calc_4th", 13, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2);
+ break;
+ }
+
GenericFD_LoopOverInterior(cctkGH, &psis_calc_4th_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving psis_calc_4th_Body");
+ }
}
diff --git a/src/psis_calc_Nth.cc b/src/psis_calc_Nth.cc
index 2924c43..3236c8c 100644
--- a/src/psis_calc_Nth.cc
+++ b/src/psis_calc_Nth.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void psis_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
{
@@ -27,6 +28,30 @@ extern "C" void psis_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr = 0;
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2r_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3i_group.");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
+ if (ierr < 0)
+ CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3r_group.");
ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
@@ -36,7 +61,7 @@ extern "C" void psis_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
return;
}
-static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
+static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
@@ -44,38 +69,6 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
/* Declare finite differencing variables */
- if (verbose > 1)
- {
- CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_Nth_Body");
- }
-
- if (cctk_iteration % psis_calc_Nth_calc_every != psis_calc_Nth_calc_offset)
- {
- return;
- }
-
- const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "psis_calc_Nth", 5, groups);
-
- switch(fdOrder)
- {
- case 2:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 1, 1, 1);
- break;
-
- case 4:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 2, 2, 2);
- break;
-
- case 6:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 3, 3, 3);
- break;
-
- case 8:
- GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 4, 4, 4);
- break;
- }
-
/* Include user-supplied include files */
/* Initialise finite differencing variables */
@@ -85,144 +78,250 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const t = ToReal(cctk_time);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx));
- CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy));
- CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz));
- CCTK_REAL const p1o2dx = 0.5*INV(dx);
- CCTK_REAL const p1o2dy = 0.5*INV(dy);
- CCTK_REAL const p1o2dz = 0.5*INV(dz);
- CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy);
- CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz);
- CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz);
- CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy);
- CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz);
- CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz);
- CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx));
- CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy));
- CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz));
- CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx);
- CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy);
- CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz);
- CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy);
- CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz);
- CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz);
- CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx);
- CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy);
- CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz);
- CCTK_REAL const p1odx2 = INV(SQR(dx));
- CCTK_REAL const p1ody2 = INV(SQR(dy));
- CCTK_REAL const p1odz2 = INV(SQR(dz));
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+
+ /* Assign local copies of arrays functions */
+
+
+
+ /* Calculate temporaries and arrays functions */
+
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (psis_calc_Nth,
- i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ LC_LOOP3VEC (psis_calc_Nth,
+ i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL gxxL = gxx[index];
- CCTK_REAL gxyL = gxy[index];
- CCTK_REAL gxzL = gxz[index];
- CCTK_REAL gyyL = gyy[index];
- CCTK_REAL gyzL = gyz[index];
- CCTK_REAL gzzL = gzz[index];
- CCTK_REAL kxxL = kxx[index];
- CCTK_REAL kxyL = kxy[index];
- CCTK_REAL kxzL = kxz[index];
- CCTK_REAL kyyL = kyy[index];
- CCTK_REAL kyzL = kyz[index];
- CCTK_REAL kzzL = kzz[index];
- CCTK_REAL xL = x[index];
- CCTK_REAL yL = y[index];
- CCTK_REAL zL = z[index];
-
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+ CCTK_REAL_VEC xL = vec_load(x[index]);
+ CCTK_REAL_VEC yL = vec_load(y[index]);
+ CCTK_REAL_VEC zL = vec_load(z[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL PDstandard1gxx;
- CCTK_REAL PDstandard2gxx;
- CCTK_REAL PDstandard3gxx;
- CCTK_REAL PDstandard22gxx;
- CCTK_REAL PDstandard33gxx;
- CCTK_REAL PDstandard23gxx;
- CCTK_REAL PDstandard1gxy;
- CCTK_REAL PDstandard2gxy;
- CCTK_REAL PDstandard3gxy;
- CCTK_REAL PDstandard33gxy;
- CCTK_REAL PDstandard12gxy;
- CCTK_REAL PDstandard13gxy;
- CCTK_REAL PDstandard23gxy;
- CCTK_REAL PDstandard1gxz;
- CCTK_REAL PDstandard2gxz;
- CCTK_REAL PDstandard3gxz;
- CCTK_REAL PDstandard22gxz;
- CCTK_REAL PDstandard12gxz;
- CCTK_REAL PDstandard13gxz;
- CCTK_REAL PDstandard23gxz;
- CCTK_REAL PDstandard1gyy;
- CCTK_REAL PDstandard2gyy;
- CCTK_REAL PDstandard3gyy;
- CCTK_REAL PDstandard11gyy;
- CCTK_REAL PDstandard33gyy;
- CCTK_REAL PDstandard13gyy;
- CCTK_REAL PDstandard1gyz;
- CCTK_REAL PDstandard2gyz;
- CCTK_REAL PDstandard3gyz;
- CCTK_REAL PDstandard11gyz;
- CCTK_REAL PDstandard12gyz;
- CCTK_REAL PDstandard13gyz;
- CCTK_REAL PDstandard23gyz;
- CCTK_REAL PDstandard1gzz;
- CCTK_REAL PDstandard2gzz;
- CCTK_REAL PDstandard3gzz;
- CCTK_REAL PDstandard11gzz;
- CCTK_REAL PDstandard22gzz;
- CCTK_REAL PDstandard12gzz;
- CCTK_REAL PDstandard2kxx;
- CCTK_REAL PDstandard3kxx;
- CCTK_REAL PDstandard1kxy;
- CCTK_REAL PDstandard2kxy;
- CCTK_REAL PDstandard3kxy;
- CCTK_REAL PDstandard1kxz;
- CCTK_REAL PDstandard2kxz;
- CCTK_REAL PDstandard3kxz;
- CCTK_REAL PDstandard1kyy;
- CCTK_REAL PDstandard3kyy;
- CCTK_REAL PDstandard1kyz;
- CCTK_REAL PDstandard2kyz;
- CCTK_REAL PDstandard3kyz;
- CCTK_REAL PDstandard1kzz;
- CCTK_REAL PDstandard2kzz;
+ CCTK_REAL_VEC PDstandard1gxx;
+ CCTK_REAL_VEC PDstandard2gxx;
+ CCTK_REAL_VEC PDstandard3gxx;
+ CCTK_REAL_VEC PDstandard11gxx;
+ CCTK_REAL_VEC PDstandard22gxx;
+ CCTK_REAL_VEC PDstandard33gxx;
+ CCTK_REAL_VEC PDstandard12gxx;
+ CCTK_REAL_VEC PDstandard13gxx;
+ CCTK_REAL_VEC PDstandard23gxx;
+ CCTK_REAL_VEC PDstandard1gxy;
+ CCTK_REAL_VEC PDstandard2gxy;
+ CCTK_REAL_VEC PDstandard3gxy;
+ CCTK_REAL_VEC PDstandard11gxy;
+ CCTK_REAL_VEC PDstandard22gxy;
+ CCTK_REAL_VEC PDstandard33gxy;
+ CCTK_REAL_VEC PDstandard12gxy;
+ CCTK_REAL_VEC PDstandard13gxy;
+ CCTK_REAL_VEC PDstandard23gxy;
+ CCTK_REAL_VEC PDstandard1gxz;
+ CCTK_REAL_VEC PDstandard2gxz;
+ CCTK_REAL_VEC PDstandard3gxz;
+ CCTK_REAL_VEC PDstandard11gxz;
+ CCTK_REAL_VEC PDstandard22gxz;
+ CCTK_REAL_VEC PDstandard33gxz;
+ CCTK_REAL_VEC PDstandard12gxz;
+ CCTK_REAL_VEC PDstandard13gxz;
+ CCTK_REAL_VEC PDstandard23gxz;
+ CCTK_REAL_VEC PDstandard1gyy;
+ CCTK_REAL_VEC PDstandard2gyy;
+ CCTK_REAL_VEC PDstandard3gyy;
+ CCTK_REAL_VEC PDstandard11gyy;
+ CCTK_REAL_VEC PDstandard22gyy;
+ CCTK_REAL_VEC PDstandard33gyy;
+ CCTK_REAL_VEC PDstandard12gyy;
+ CCTK_REAL_VEC PDstandard13gyy;
+ CCTK_REAL_VEC PDstandard23gyy;
+ CCTK_REAL_VEC PDstandard1gyz;
+ CCTK_REAL_VEC PDstandard2gyz;
+ CCTK_REAL_VEC PDstandard3gyz;
+ CCTK_REAL_VEC PDstandard11gyz;
+ CCTK_REAL_VEC PDstandard22gyz;
+ CCTK_REAL_VEC PDstandard33gyz;
+ CCTK_REAL_VEC PDstandard12gyz;
+ CCTK_REAL_VEC PDstandard13gyz;
+ CCTK_REAL_VEC PDstandard23gyz;
+ CCTK_REAL_VEC PDstandard1gzz;
+ CCTK_REAL_VEC PDstandard2gzz;
+ CCTK_REAL_VEC PDstandard3gzz;
+ CCTK_REAL_VEC PDstandard11gzz;
+ CCTK_REAL_VEC PDstandard22gzz;
+ CCTK_REAL_VEC PDstandard33gzz;
+ CCTK_REAL_VEC PDstandard12gzz;
+ CCTK_REAL_VEC PDstandard13gzz;
+ CCTK_REAL_VEC PDstandard23gzz;
+ CCTK_REAL_VEC PDstandard1kxx;
+ CCTK_REAL_VEC PDstandard2kxx;
+ CCTK_REAL_VEC PDstandard3kxx;
+ CCTK_REAL_VEC PDstandard1kxy;
+ CCTK_REAL_VEC PDstandard2kxy;
+ CCTK_REAL_VEC PDstandard3kxy;
+ CCTK_REAL_VEC PDstandard1kxz;
+ CCTK_REAL_VEC PDstandard2kxz;
+ CCTK_REAL_VEC PDstandard3kxz;
+ CCTK_REAL_VEC PDstandard1kyy;
+ CCTK_REAL_VEC PDstandard2kyy;
+ CCTK_REAL_VEC PDstandard3kyy;
+ CCTK_REAL_VEC PDstandard1kyz;
+ CCTK_REAL_VEC PDstandard2kyz;
+ CCTK_REAL_VEC PDstandard3kyz;
+ CCTK_REAL_VEC PDstandard1kzz;
+ CCTK_REAL_VEC PDstandard2kzz;
+ CCTK_REAL_VEC PDstandard3kzz;
switch(fdOrder)
{
@@ -230,12 +329,17 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard1gxx = PDstandardfdOrder21(&gxx[index]);
PDstandard2gxx = PDstandardfdOrder22(&gxx[index]);
PDstandard3gxx = PDstandardfdOrder23(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder211(&gxx[index]);
PDstandard22gxx = PDstandardfdOrder222(&gxx[index]);
PDstandard33gxx = PDstandardfdOrder233(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder212(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder213(&gxx[index]);
PDstandard23gxx = PDstandardfdOrder223(&gxx[index]);
PDstandard1gxy = PDstandardfdOrder21(&gxy[index]);
PDstandard2gxy = PDstandardfdOrder22(&gxy[index]);
PDstandard3gxy = PDstandardfdOrder23(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder211(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder222(&gxy[index]);
PDstandard33gxy = PDstandardfdOrder233(&gxy[index]);
PDstandard12gxy = PDstandardfdOrder212(&gxy[index]);
PDstandard13gxy = PDstandardfdOrder213(&gxy[index]);
@@ -243,7 +347,9 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard1gxz = PDstandardfdOrder21(&gxz[index]);
PDstandard2gxz = PDstandardfdOrder22(&gxz[index]);
PDstandard3gxz = PDstandardfdOrder23(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder211(&gxz[index]);
PDstandard22gxz = PDstandardfdOrder222(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder233(&gxz[index]);
PDstandard12gxz = PDstandardfdOrder212(&gxz[index]);
PDstandard13gxz = PDstandardfdOrder213(&gxz[index]);
PDstandard23gxz = PDstandardfdOrder223(&gxz[index]);
@@ -251,12 +357,17 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2gyy = PDstandardfdOrder22(&gyy[index]);
PDstandard3gyy = PDstandardfdOrder23(&gyy[index]);
PDstandard11gyy = PDstandardfdOrder211(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder222(&gyy[index]);
PDstandard33gyy = PDstandardfdOrder233(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder212(&gyy[index]);
PDstandard13gyy = PDstandardfdOrder213(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder223(&gyy[index]);
PDstandard1gyz = PDstandardfdOrder21(&gyz[index]);
PDstandard2gyz = PDstandardfdOrder22(&gyz[index]);
PDstandard3gyz = PDstandardfdOrder23(&gyz[index]);
PDstandard11gyz = PDstandardfdOrder211(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder222(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder233(&gyz[index]);
PDstandard12gyz = PDstandardfdOrder212(&gyz[index]);
PDstandard13gyz = PDstandardfdOrder213(&gyz[index]);
PDstandard23gyz = PDstandardfdOrder223(&gyz[index]);
@@ -265,7 +376,11 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard3gzz = PDstandardfdOrder23(&gzz[index]);
PDstandard11gzz = PDstandardfdOrder211(&gzz[index]);
PDstandard22gzz = PDstandardfdOrder222(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder233(&gzz[index]);
PDstandard12gzz = PDstandardfdOrder212(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder213(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder223(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder21(&kxx[index]);
PDstandard2kxx = PDstandardfdOrder22(&kxx[index]);
PDstandard3kxx = PDstandardfdOrder23(&kxx[index]);
PDstandard1kxy = PDstandardfdOrder21(&kxy[index]);
@@ -275,24 +390,31 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2kxz = PDstandardfdOrder22(&kxz[index]);
PDstandard3kxz = PDstandardfdOrder23(&kxz[index]);
PDstandard1kyy = PDstandardfdOrder21(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder22(&kyy[index]);
PDstandard3kyy = PDstandardfdOrder23(&kyy[index]);
PDstandard1kyz = PDstandardfdOrder21(&kyz[index]);
PDstandard2kyz = PDstandardfdOrder22(&kyz[index]);
PDstandard3kyz = PDstandardfdOrder23(&kyz[index]);
PDstandard1kzz = PDstandardfdOrder21(&kzz[index]);
PDstandard2kzz = PDstandardfdOrder22(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder23(&kzz[index]);
break;
case 4:
PDstandard1gxx = PDstandardfdOrder41(&gxx[index]);
PDstandard2gxx = PDstandardfdOrder42(&gxx[index]);
PDstandard3gxx = PDstandardfdOrder43(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder411(&gxx[index]);
PDstandard22gxx = PDstandardfdOrder422(&gxx[index]);
PDstandard33gxx = PDstandardfdOrder433(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder412(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder413(&gxx[index]);
PDstandard23gxx = PDstandardfdOrder423(&gxx[index]);
PDstandard1gxy = PDstandardfdOrder41(&gxy[index]);
PDstandard2gxy = PDstandardfdOrder42(&gxy[index]);
PDstandard3gxy = PDstandardfdOrder43(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder411(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder422(&gxy[index]);
PDstandard33gxy = PDstandardfdOrder433(&gxy[index]);
PDstandard12gxy = PDstandardfdOrder412(&gxy[index]);
PDstandard13gxy = PDstandardfdOrder413(&gxy[index]);
@@ -300,7 +422,9 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard1gxz = PDstandardfdOrder41(&gxz[index]);
PDstandard2gxz = PDstandardfdOrder42(&gxz[index]);
PDstandard3gxz = PDstandardfdOrder43(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder411(&gxz[index]);
PDstandard22gxz = PDstandardfdOrder422(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder433(&gxz[index]);
PDstandard12gxz = PDstandardfdOrder412(&gxz[index]);
PDstandard13gxz = PDstandardfdOrder413(&gxz[index]);
PDstandard23gxz = PDstandardfdOrder423(&gxz[index]);
@@ -308,12 +432,17 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2gyy = PDstandardfdOrder42(&gyy[index]);
PDstandard3gyy = PDstandardfdOrder43(&gyy[index]);
PDstandard11gyy = PDstandardfdOrder411(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder422(&gyy[index]);
PDstandard33gyy = PDstandardfdOrder433(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder412(&gyy[index]);
PDstandard13gyy = PDstandardfdOrder413(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder423(&gyy[index]);
PDstandard1gyz = PDstandardfdOrder41(&gyz[index]);
PDstandard2gyz = PDstandardfdOrder42(&gyz[index]);
PDstandard3gyz = PDstandardfdOrder43(&gyz[index]);
PDstandard11gyz = PDstandardfdOrder411(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder422(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder433(&gyz[index]);
PDstandard12gyz = PDstandardfdOrder412(&gyz[index]);
PDstandard13gyz = PDstandardfdOrder413(&gyz[index]);
PDstandard23gyz = PDstandardfdOrder423(&gyz[index]);
@@ -322,7 +451,11 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard3gzz = PDstandardfdOrder43(&gzz[index]);
PDstandard11gzz = PDstandardfdOrder411(&gzz[index]);
PDstandard22gzz = PDstandardfdOrder422(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder433(&gzz[index]);
PDstandard12gzz = PDstandardfdOrder412(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder413(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder423(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder41(&kxx[index]);
PDstandard2kxx = PDstandardfdOrder42(&kxx[index]);
PDstandard3kxx = PDstandardfdOrder43(&kxx[index]);
PDstandard1kxy = PDstandardfdOrder41(&kxy[index]);
@@ -332,24 +465,31 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2kxz = PDstandardfdOrder42(&kxz[index]);
PDstandard3kxz = PDstandardfdOrder43(&kxz[index]);
PDstandard1kyy = PDstandardfdOrder41(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder42(&kyy[index]);
PDstandard3kyy = PDstandardfdOrder43(&kyy[index]);
PDstandard1kyz = PDstandardfdOrder41(&kyz[index]);
PDstandard2kyz = PDstandardfdOrder42(&kyz[index]);
PDstandard3kyz = PDstandardfdOrder43(&kyz[index]);
PDstandard1kzz = PDstandardfdOrder41(&kzz[index]);
PDstandard2kzz = PDstandardfdOrder42(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder43(&kzz[index]);
break;
case 6:
PDstandard1gxx = PDstandardfdOrder61(&gxx[index]);
PDstandard2gxx = PDstandardfdOrder62(&gxx[index]);
PDstandard3gxx = PDstandardfdOrder63(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder611(&gxx[index]);
PDstandard22gxx = PDstandardfdOrder622(&gxx[index]);
PDstandard33gxx = PDstandardfdOrder633(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder612(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder613(&gxx[index]);
PDstandard23gxx = PDstandardfdOrder623(&gxx[index]);
PDstandard1gxy = PDstandardfdOrder61(&gxy[index]);
PDstandard2gxy = PDstandardfdOrder62(&gxy[index]);
PDstandard3gxy = PDstandardfdOrder63(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder611(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder622(&gxy[index]);
PDstandard33gxy = PDstandardfdOrder633(&gxy[index]);
PDstandard12gxy = PDstandardfdOrder612(&gxy[index]);
PDstandard13gxy = PDstandardfdOrder613(&gxy[index]);
@@ -357,7 +497,9 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard1gxz = PDstandardfdOrder61(&gxz[index]);
PDstandard2gxz = PDstandardfdOrder62(&gxz[index]);
PDstandard3gxz = PDstandardfdOrder63(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder611(&gxz[index]);
PDstandard22gxz = PDstandardfdOrder622(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder633(&gxz[index]);
PDstandard12gxz = PDstandardfdOrder612(&gxz[index]);
PDstandard13gxz = PDstandardfdOrder613(&gxz[index]);
PDstandard23gxz = PDstandardfdOrder623(&gxz[index]);
@@ -365,12 +507,17 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2gyy = PDstandardfdOrder62(&gyy[index]);
PDstandard3gyy = PDstandardfdOrder63(&gyy[index]);
PDstandard11gyy = PDstandardfdOrder611(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder622(&gyy[index]);
PDstandard33gyy = PDstandardfdOrder633(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder612(&gyy[index]);
PDstandard13gyy = PDstandardfdOrder613(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder623(&gyy[index]);
PDstandard1gyz = PDstandardfdOrder61(&gyz[index]);
PDstandard2gyz = PDstandardfdOrder62(&gyz[index]);
PDstandard3gyz = PDstandardfdOrder63(&gyz[index]);
PDstandard11gyz = PDstandardfdOrder611(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder622(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder633(&gyz[index]);
PDstandard12gyz = PDstandardfdOrder612(&gyz[index]);
PDstandard13gyz = PDstandardfdOrder613(&gyz[index]);
PDstandard23gyz = PDstandardfdOrder623(&gyz[index]);
@@ -379,7 +526,11 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard3gzz = PDstandardfdOrder63(&gzz[index]);
PDstandard11gzz = PDstandardfdOrder611(&gzz[index]);
PDstandard22gzz = PDstandardfdOrder622(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder633(&gzz[index]);
PDstandard12gzz = PDstandardfdOrder612(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder613(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder623(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder61(&kxx[index]);
PDstandard2kxx = PDstandardfdOrder62(&kxx[index]);
PDstandard3kxx = PDstandardfdOrder63(&kxx[index]);
PDstandard1kxy = PDstandardfdOrder61(&kxy[index]);
@@ -389,24 +540,31 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2kxz = PDstandardfdOrder62(&kxz[index]);
PDstandard3kxz = PDstandardfdOrder63(&kxz[index]);
PDstandard1kyy = PDstandardfdOrder61(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder62(&kyy[index]);
PDstandard3kyy = PDstandardfdOrder63(&kyy[index]);
PDstandard1kyz = PDstandardfdOrder61(&kyz[index]);
PDstandard2kyz = PDstandardfdOrder62(&kyz[index]);
PDstandard3kyz = PDstandardfdOrder63(&kyz[index]);
PDstandard1kzz = PDstandardfdOrder61(&kzz[index]);
PDstandard2kzz = PDstandardfdOrder62(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder63(&kzz[index]);
break;
case 8:
PDstandard1gxx = PDstandardfdOrder81(&gxx[index]);
PDstandard2gxx = PDstandardfdOrder82(&gxx[index]);
PDstandard3gxx = PDstandardfdOrder83(&gxx[index]);
+ PDstandard11gxx = PDstandardfdOrder811(&gxx[index]);
PDstandard22gxx = PDstandardfdOrder822(&gxx[index]);
PDstandard33gxx = PDstandardfdOrder833(&gxx[index]);
+ PDstandard12gxx = PDstandardfdOrder812(&gxx[index]);
+ PDstandard13gxx = PDstandardfdOrder813(&gxx[index]);
PDstandard23gxx = PDstandardfdOrder823(&gxx[index]);
PDstandard1gxy = PDstandardfdOrder81(&gxy[index]);
PDstandard2gxy = PDstandardfdOrder82(&gxy[index]);
PDstandard3gxy = PDstandardfdOrder83(&gxy[index]);
+ PDstandard11gxy = PDstandardfdOrder811(&gxy[index]);
+ PDstandard22gxy = PDstandardfdOrder822(&gxy[index]);
PDstandard33gxy = PDstandardfdOrder833(&gxy[index]);
PDstandard12gxy = PDstandardfdOrder812(&gxy[index]);
PDstandard13gxy = PDstandardfdOrder813(&gxy[index]);
@@ -414,7 +572,9 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard1gxz = PDstandardfdOrder81(&gxz[index]);
PDstandard2gxz = PDstandardfdOrder82(&gxz[index]);
PDstandard3gxz = PDstandardfdOrder83(&gxz[index]);
+ PDstandard11gxz = PDstandardfdOrder811(&gxz[index]);
PDstandard22gxz = PDstandardfdOrder822(&gxz[index]);
+ PDstandard33gxz = PDstandardfdOrder833(&gxz[index]);
PDstandard12gxz = PDstandardfdOrder812(&gxz[index]);
PDstandard13gxz = PDstandardfdOrder813(&gxz[index]);
PDstandard23gxz = PDstandardfdOrder823(&gxz[index]);
@@ -422,12 +582,17 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2gyy = PDstandardfdOrder82(&gyy[index]);
PDstandard3gyy = PDstandardfdOrder83(&gyy[index]);
PDstandard11gyy = PDstandardfdOrder811(&gyy[index]);
+ PDstandard22gyy = PDstandardfdOrder822(&gyy[index]);
PDstandard33gyy = PDstandardfdOrder833(&gyy[index]);
+ PDstandard12gyy = PDstandardfdOrder812(&gyy[index]);
PDstandard13gyy = PDstandardfdOrder813(&gyy[index]);
+ PDstandard23gyy = PDstandardfdOrder823(&gyy[index]);
PDstandard1gyz = PDstandardfdOrder81(&gyz[index]);
PDstandard2gyz = PDstandardfdOrder82(&gyz[index]);
PDstandard3gyz = PDstandardfdOrder83(&gyz[index]);
PDstandard11gyz = PDstandardfdOrder811(&gyz[index]);
+ PDstandard22gyz = PDstandardfdOrder822(&gyz[index]);
+ PDstandard33gyz = PDstandardfdOrder833(&gyz[index]);
PDstandard12gyz = PDstandardfdOrder812(&gyz[index]);
PDstandard13gyz = PDstandardfdOrder813(&gyz[index]);
PDstandard23gyz = PDstandardfdOrder823(&gyz[index]);
@@ -436,7 +601,11 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard3gzz = PDstandardfdOrder83(&gzz[index]);
PDstandard11gzz = PDstandardfdOrder811(&gzz[index]);
PDstandard22gzz = PDstandardfdOrder822(&gzz[index]);
+ PDstandard33gzz = PDstandardfdOrder833(&gzz[index]);
PDstandard12gzz = PDstandardfdOrder812(&gzz[index]);
+ PDstandard13gzz = PDstandardfdOrder813(&gzz[index]);
+ PDstandard23gzz = PDstandardfdOrder823(&gzz[index]);
+ PDstandard1kxx = PDstandardfdOrder81(&kxx[index]);
PDstandard2kxx = PDstandardfdOrder82(&kxx[index]);
PDstandard3kxx = PDstandardfdOrder83(&kxx[index]);
PDstandard1kxy = PDstandardfdOrder81(&kxy[index]);
@@ -446,1080 +615,1317 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
PDstandard2kxz = PDstandardfdOrder82(&kxz[index]);
PDstandard3kxz = PDstandardfdOrder83(&kxz[index]);
PDstandard1kyy = PDstandardfdOrder81(&kyy[index]);
+ PDstandard2kyy = PDstandardfdOrder82(&kyy[index]);
PDstandard3kyy = PDstandardfdOrder83(&kyy[index]);
PDstandard1kyz = PDstandardfdOrder81(&kyz[index]);
PDstandard2kyz = PDstandardfdOrder82(&kyz[index]);
PDstandard3kyz = PDstandardfdOrder83(&kyz[index]);
PDstandard1kzz = PDstandardfdOrder81(&kzz[index]);
PDstandard2kzz = PDstandardfdOrder82(&kzz[index]);
+ PDstandard3kzz = PDstandardfdOrder83(&kzz[index]);
break;
}
/* Calculate temporaries and grid functions */
- CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) -
- gyyL*SQR(gxzL) - gxxL*SQR(gyzL);
+ CCTK_REAL_VEC JacPDstandard11gxy;
+ CCTK_REAL_VEC JacPDstandard11gxz;
+ CCTK_REAL_VEC JacPDstandard11gyy;
+ CCTK_REAL_VEC JacPDstandard11gyz;
+ CCTK_REAL_VEC JacPDstandard11gzz;
+ CCTK_REAL_VEC JacPDstandard12gxx;
+ CCTK_REAL_VEC JacPDstandard12gxy;
+ CCTK_REAL_VEC JacPDstandard12gxz;
+ CCTK_REAL_VEC JacPDstandard12gyy;
+ CCTK_REAL_VEC JacPDstandard12gyz;
+ CCTK_REAL_VEC JacPDstandard12gzz;
+ CCTK_REAL_VEC JacPDstandard13gxx;
+ CCTK_REAL_VEC JacPDstandard13gxy;
+ CCTK_REAL_VEC JacPDstandard13gxz;
+ CCTK_REAL_VEC JacPDstandard13gyy;
+ CCTK_REAL_VEC JacPDstandard13gyz;
+ CCTK_REAL_VEC JacPDstandard13gzz;
+ CCTK_REAL_VEC JacPDstandard1gxx;
+ CCTK_REAL_VEC JacPDstandard1gxy;
+ CCTK_REAL_VEC JacPDstandard1gxz;
+ CCTK_REAL_VEC JacPDstandard1gyy;
+ CCTK_REAL_VEC JacPDstandard1gyz;
+ CCTK_REAL_VEC JacPDstandard1gzz;
+ CCTK_REAL_VEC JacPDstandard1kxy;
+ CCTK_REAL_VEC JacPDstandard1kxz;
+ CCTK_REAL_VEC JacPDstandard1kyy;
+ CCTK_REAL_VEC JacPDstandard1kyz;
+ CCTK_REAL_VEC JacPDstandard1kzz;
+ CCTK_REAL_VEC JacPDstandard21gxx;
+ CCTK_REAL_VEC JacPDstandard21gxy;
+ CCTK_REAL_VEC JacPDstandard21gxz;
+ CCTK_REAL_VEC JacPDstandard21gyy;
+ CCTK_REAL_VEC JacPDstandard21gyz;
+ CCTK_REAL_VEC JacPDstandard21gzz;
+ CCTK_REAL_VEC JacPDstandard22gxx;
+ CCTK_REAL_VEC JacPDstandard22gxy;
+ CCTK_REAL_VEC JacPDstandard22gxz;
+ CCTK_REAL_VEC JacPDstandard22gyz;
+ CCTK_REAL_VEC JacPDstandard22gzz;
+ CCTK_REAL_VEC JacPDstandard23gxx;
+ CCTK_REAL_VEC JacPDstandard23gxy;
+ CCTK_REAL_VEC JacPDstandard23gxz;
+ CCTK_REAL_VEC JacPDstandard23gyy;
+ CCTK_REAL_VEC JacPDstandard23gyz;
+ CCTK_REAL_VEC JacPDstandard23gzz;
+ CCTK_REAL_VEC JacPDstandard2gxx;
+ CCTK_REAL_VEC JacPDstandard2gxy;
+ CCTK_REAL_VEC JacPDstandard2gxz;
+ CCTK_REAL_VEC JacPDstandard2gyy;
+ CCTK_REAL_VEC JacPDstandard2gyz;
+ CCTK_REAL_VEC JacPDstandard2gzz;
+ CCTK_REAL_VEC JacPDstandard2kxx;
+ CCTK_REAL_VEC JacPDstandard2kxy;
+ CCTK_REAL_VEC JacPDstandard2kxz;
+ CCTK_REAL_VEC JacPDstandard2kyz;
+ CCTK_REAL_VEC JacPDstandard2kzz;
+ CCTK_REAL_VEC JacPDstandard31gxx;
+ CCTK_REAL_VEC JacPDstandard31gxy;
+ CCTK_REAL_VEC JacPDstandard31gxz;
+ CCTK_REAL_VEC JacPDstandard31gyy;
+ CCTK_REAL_VEC JacPDstandard31gyz;
+ CCTK_REAL_VEC JacPDstandard31gzz;
+ CCTK_REAL_VEC JacPDstandard32gxx;
+ CCTK_REAL_VEC JacPDstandard32gxy;
+ CCTK_REAL_VEC JacPDstandard32gxz;
+ CCTK_REAL_VEC JacPDstandard32gyy;
+ CCTK_REAL_VEC JacPDstandard32gyz;
+ CCTK_REAL_VEC JacPDstandard32gzz;
+ CCTK_REAL_VEC JacPDstandard33gxx;
+ CCTK_REAL_VEC JacPDstandard33gxy;
+ CCTK_REAL_VEC JacPDstandard33gxz;
+ CCTK_REAL_VEC JacPDstandard33gyy;
+ CCTK_REAL_VEC JacPDstandard33gyz;
+ CCTK_REAL_VEC JacPDstandard3gxx;
+ CCTK_REAL_VEC JacPDstandard3gxy;
+ CCTK_REAL_VEC JacPDstandard3gxz;
+ CCTK_REAL_VEC JacPDstandard3gyy;
+ CCTK_REAL_VEC JacPDstandard3gyz;
+ CCTK_REAL_VEC JacPDstandard3gzz;
+ CCTK_REAL_VEC JacPDstandard3kxx;
+ CCTK_REAL_VEC JacPDstandard3kxy;
+ CCTK_REAL_VEC JacPDstandard3kxz;
+ CCTK_REAL_VEC JacPDstandard3kyy;
+ CCTK_REAL_VEC JacPDstandard3kyz;
+
+ if (use_jacobian)
+ {
+ JacPDstandard1gxx =
+ kmadd(J11L,PDstandard1gxx,kmadd(J21L,PDstandard2gxx,kmul(J31L,PDstandard3gxx)));
+
+ JacPDstandard1gxy =
+ kmadd(J11L,PDstandard1gxy,kmadd(J21L,PDstandard2gxy,kmul(J31L,PDstandard3gxy)));
+
+ JacPDstandard1gxz =
+ kmadd(J11L,PDstandard1gxz,kmadd(J21L,PDstandard2gxz,kmul(J31L,PDstandard3gxz)));
+
+ JacPDstandard1gyy =
+ kmadd(J11L,PDstandard1gyy,kmadd(J21L,PDstandard2gyy,kmul(J31L,PDstandard3gyy)));
+
+ JacPDstandard1gyz =
+ kmadd(J11L,PDstandard1gyz,kmadd(J21L,PDstandard2gyz,kmul(J31L,PDstandard3gyz)));
+
+ JacPDstandard1gzz =
+ kmadd(J11L,PDstandard1gzz,kmadd(J21L,PDstandard2gzz,kmul(J31L,PDstandard3gzz)));
+
+ JacPDstandard1kxy =
+ kmadd(J11L,PDstandard1kxy,kmadd(J21L,PDstandard2kxy,kmul(J31L,PDstandard3kxy)));
+
+ JacPDstandard1kxz =
+ kmadd(J11L,PDstandard1kxz,kmadd(J21L,PDstandard2kxz,kmul(J31L,PDstandard3kxz)));
+
+ JacPDstandard1kyy =
+ kmadd(J11L,PDstandard1kyy,kmadd(J21L,PDstandard2kyy,kmul(J31L,PDstandard3kyy)));
+
+ JacPDstandard1kyz =
+ kmadd(J11L,PDstandard1kyz,kmadd(J21L,PDstandard2kyz,kmul(J31L,PDstandard3kyz)));
+
+ JacPDstandard1kzz =
+ kmadd(J11L,PDstandard1kzz,kmadd(J21L,PDstandard2kzz,kmul(J31L,PDstandard3kzz)));
+
+ JacPDstandard2gxx =
+ kmadd(J12L,PDstandard1gxx,kmadd(J22L,PDstandard2gxx,kmul(J32L,PDstandard3gxx)));
+
+ JacPDstandard2gxy =
+ kmadd(J12L,PDstandard1gxy,kmadd(J22L,PDstandard2gxy,kmul(J32L,PDstandard3gxy)));
+
+ JacPDstandard2gxz =
+ kmadd(J12L,PDstandard1gxz,kmadd(J22L,PDstandard2gxz,kmul(J32L,PDstandard3gxz)));
+
+ JacPDstandard2gyy =
+ kmadd(J12L,PDstandard1gyy,kmadd(J22L,PDstandard2gyy,kmul(J32L,PDstandard3gyy)));
+
+ JacPDstandard2gyz =
+ kmadd(J12L,PDstandard1gyz,kmadd(J22L,PDstandard2gyz,kmul(J32L,PDstandard3gyz)));
+
+ JacPDstandard2gzz =
+ kmadd(J12L,PDstandard1gzz,kmadd(J22L,PDstandard2gzz,kmul(J32L,PDstandard3gzz)));
+
+ JacPDstandard2kxx =
+ kmadd(J12L,PDstandard1kxx,kmadd(J22L,PDstandard2kxx,kmul(J32L,PDstandard3kxx)));
+
+ JacPDstandard2kxy =
+ kmadd(J12L,PDstandard1kxy,kmadd(J22L,PDstandard2kxy,kmul(J32L,PDstandard3kxy)));
+
+ JacPDstandard2kxz =
+ kmadd(J12L,PDstandard1kxz,kmadd(J22L,PDstandard2kxz,kmul(J32L,PDstandard3kxz)));
+
+ JacPDstandard2kyz =
+ kmadd(J12L,PDstandard1kyz,kmadd(J22L,PDstandard2kyz,kmul(J32L,PDstandard3kyz)));
+
+ JacPDstandard2kzz =
+ kmadd(J12L,PDstandard1kzz,kmadd(J22L,PDstandard2kzz,kmul(J32L,PDstandard3kzz)));
+
+ JacPDstandard3gxx =
+ kmadd(J13L,PDstandard1gxx,kmadd(J23L,PDstandard2gxx,kmul(J33L,PDstandard3gxx)));
+
+ JacPDstandard3gxy =
+ kmadd(J13L,PDstandard1gxy,kmadd(J23L,PDstandard2gxy,kmul(J33L,PDstandard3gxy)));
+
+ JacPDstandard3gxz =
+ kmadd(J13L,PDstandard1gxz,kmadd(J23L,PDstandard2gxz,kmul(J33L,PDstandard3gxz)));
+
+ JacPDstandard3gyy =
+ kmadd(J13L,PDstandard1gyy,kmadd(J23L,PDstandard2gyy,kmul(J33L,PDstandard3gyy)));
+
+ JacPDstandard3gyz =
+ kmadd(J13L,PDstandard1gyz,kmadd(J23L,PDstandard2gyz,kmul(J33L,PDstandard3gyz)));
+
+ JacPDstandard3gzz =
+ kmadd(J13L,PDstandard1gzz,kmadd(J23L,PDstandard2gzz,kmul(J33L,PDstandard3gzz)));
+
+ JacPDstandard3kxx =
+ kmadd(J13L,PDstandard1kxx,kmadd(J23L,PDstandard2kxx,kmul(J33L,PDstandard3kxx)));
+
+ JacPDstandard3kxy =
+ kmadd(J13L,PDstandard1kxy,kmadd(J23L,PDstandard2kxy,kmul(J33L,PDstandard3kxy)));
+
+ JacPDstandard3kxz =
+ kmadd(J13L,PDstandard1kxz,kmadd(J23L,PDstandard2kxz,kmul(J33L,PDstandard3kxz)));
+
+ JacPDstandard3kyy =
+ kmadd(J13L,PDstandard1kyy,kmadd(J23L,PDstandard2kyy,kmul(J33L,PDstandard3kyy)));
+
+ JacPDstandard3kyz =
+ kmadd(J13L,PDstandard1kyz,kmadd(J23L,PDstandard2kyz,kmul(J33L,PDstandard3kyz)));
+
+ JacPDstandard11gxy =
+ kmadd(dJ111L,PDstandard1gxy,kmadd(dJ211L,PDstandard2gxy,kmadd(dJ311L,PDstandard3gxy,kmadd(PDstandard11gxy,SQR(J11L),kmadd(PDstandard22gxy,SQR(J21L),kmadd(PDstandard33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy)),kmul(J21L,kmul(J31L,PDstandard23gxy))),ToReal(2))))))));
+
+ JacPDstandard11gxz =
+ kmadd(dJ111L,PDstandard1gxz,kmadd(dJ211L,PDstandard2gxz,kmadd(dJ311L,PDstandard3gxz,kmadd(PDstandard11gxz,SQR(J11L),kmadd(PDstandard22gxz,SQR(J21L),kmadd(PDstandard33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz)),kmul(J21L,kmul(J31L,PDstandard23gxz))),ToReal(2))))))));
+
+ JacPDstandard11gyy =
+ kmadd(dJ111L,PDstandard1gyy,kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,SQR(J11L),kmadd(PDstandard22gyy,SQR(J21L),kmadd(PDstandard33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),ToReal(2))))))));
+
+ JacPDstandard11gyz =
+ kmadd(dJ111L,PDstandard1gyz,kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,SQR(J11L),kmadd(PDstandard22gyz,SQR(J21L),kmadd(PDstandard33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),ToReal(2))))))));
+
+ JacPDstandard11gzz =
+ kmadd(dJ111L,PDstandard1gzz,kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,SQR(J11L),kmadd(PDstandard22gzz,SQR(J21L),kmadd(PDstandard33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),ToReal(2))))))));
+
+ JacPDstandard22gxx =
+ kmadd(dJ122L,PDstandard1gxx,kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,SQR(J12L),kmadd(PDstandard22gxx,SQR(J22L),kmadd(PDstandard33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),ToReal(2))))))));
+
+ JacPDstandard22gxy =
+ kmadd(dJ122L,PDstandard1gxy,kmadd(dJ222L,PDstandard2gxy,kmadd(dJ322L,PDstandard3gxy,kmadd(PDstandard11gxy,SQR(J12L),kmadd(PDstandard22gxy,SQR(J22L),kmadd(PDstandard33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmul(J22L,kmul(J32L,PDstandard23gxy))),ToReal(2))))))));
+
+ JacPDstandard22gxz =
+ kmadd(dJ122L,PDstandard1gxz,kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,SQR(J12L),kmadd(PDstandard22gxz,SQR(J22L),kmadd(PDstandard33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),ToReal(2))))))));
+
+ JacPDstandard22gyz =
+ kmadd(dJ122L,PDstandard1gyz,kmadd(dJ222L,PDstandard2gyz,kmadd(dJ322L,PDstandard3gyz,kmadd(PDstandard11gyz,SQR(J12L),kmadd(PDstandard22gyz,SQR(J22L),kmadd(PDstandard33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmul(J22L,kmul(J32L,PDstandard23gyz))),ToReal(2))))))));
+
+ JacPDstandard22gzz =
+ kmadd(dJ122L,PDstandard1gzz,kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,SQR(J12L),kmadd(PDstandard22gzz,SQR(J22L),kmadd(PDstandard33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),ToReal(2))))))));
+
+ JacPDstandard33gxx =
+ kmadd(dJ133L,PDstandard1gxx,kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,SQR(J13L),kmadd(PDstandard22gxx,SQR(J23L),kmadd(PDstandard33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),ToReal(2))))))));
+
+ JacPDstandard33gxy =
+ kmadd(dJ133L,PDstandard1gxy,kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,SQR(J13L),kmadd(PDstandard22gxy,SQR(J23L),kmadd(PDstandard33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),ToReal(2))))))));
+
+ JacPDstandard33gxz =
+ kmadd(dJ133L,PDstandard1gxz,kmadd(dJ233L,PDstandard2gxz,kmadd(dJ333L,PDstandard3gxz,kmadd(PDstandard11gxz,SQR(J13L),kmadd(PDstandard22gxz,SQR(J23L),kmadd(PDstandard33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmul(J23L,kmul(J33L,PDstandard23gxz))),ToReal(2))))))));
+
+ JacPDstandard33gyy =
+ kmadd(dJ133L,PDstandard1gyy,kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,SQR(J13L),kmadd(PDstandard22gyy,SQR(J23L),kmadd(PDstandard33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),ToReal(2))))))));
+
+ JacPDstandard33gyz =
+ kmadd(dJ133L,PDstandard1gyz,kmadd(dJ233L,PDstandard2gyz,kmadd(dJ333L,PDstandard3gyz,kmadd(PDstandard11gyz,SQR(J13L),kmadd(PDstandard22gyz,SQR(J23L),kmadd(PDstandard33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmul(J23L,kmul(J33L,PDstandard23gyz))),ToReal(2))))))));
+
+ JacPDstandard12gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmadd(dJ112L,PDstandard1gxx,kmadd(J22L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ212L,PDstandard2gxx,kmadd(J32L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ312L,PDstandard3gxx)))))));
+
+ JacPDstandard12gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy)))))));
+
+ JacPDstandard12gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmadd(dJ112L,PDstandard1gxz,kmadd(J22L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ212L,PDstandard2gxz,kmadd(J32L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ312L,PDstandard3gxz)))))));
+
+ JacPDstandard12gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy)),kmadd(dJ112L,PDstandard1gyy,kmadd(J22L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ212L,PDstandard2gyy,kmadd(J32L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ312L,PDstandard3gyy)))))));
+
+ JacPDstandard12gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmadd(dJ112L,PDstandard1gyz,kmadd(J22L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ212L,PDstandard2gyz,kmadd(J32L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ312L,PDstandard3gyz)))))));
+
+ JacPDstandard12gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmadd(dJ112L,PDstandard1gzz,kmadd(J22L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ212L,PDstandard2gzz,kmadd(J32L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ312L,PDstandard3gzz)))))));
+
+ JacPDstandard13gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ113L,PDstandard1gxx,kmadd(J23L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ213L,PDstandard2gxx,kmadd(J33L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ313L,PDstandard3gxx)))))));
+
+ JacPDstandard13gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ113L,PDstandard1gxy,kmadd(J23L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ213L,PDstandard2gxy,kmadd(J33L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ313L,PDstandard3gxy)))))));
+
+ JacPDstandard13gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ113L,PDstandard1gxz,kmadd(J23L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ213L,PDstandard2gxz,kmadd(J33L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ313L,PDstandard3gxz)))))));
+
+ JacPDstandard13gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ113L,PDstandard1gyy,kmadd(J23L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ213L,PDstandard2gyy,kmadd(J33L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ313L,PDstandard3gyy)))))));
+
+ JacPDstandard13gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ113L,PDstandard1gyz,kmadd(J23L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ213L,PDstandard2gyz,kmadd(J33L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ313L,PDstandard3gyz)))))));
+
+ JacPDstandard13gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ113L,PDstandard1gzz,kmadd(J23L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ213L,PDstandard2gzz,kmadd(J33L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ313L,PDstandard3gzz)))))));
+
+ JacPDstandard21gxx =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmadd(dJ112L,PDstandard1gxx,kmadd(J22L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ212L,PDstandard2gxx,kmadd(J32L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ312L,PDstandard3gxx)))))));
+
+ JacPDstandard21gxy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy)))))));
+
+ JacPDstandard21gxz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmadd(dJ112L,PDstandard1gxz,kmadd(J22L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ212L,PDstandard2gxz,kmadd(J32L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ312L,PDstandard3gxz)))))));
+
+ JacPDstandard21gyy =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy)),kmadd(dJ112L,PDstandard1gyy,kmadd(J22L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ212L,PDstandard2gyy,kmadd(J32L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ312L,PDstandard3gyy)))))));
+
+ JacPDstandard21gyz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz)),kmadd(dJ112L,PDstandard1gyz,kmadd(J22L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ212L,PDstandard2gyz,kmadd(J32L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ312L,PDstandard3gyz)))))));
+
+ JacPDstandard21gzz =
+ kmadd(J12L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmadd(dJ112L,PDstandard1gzz,kmadd(J22L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ212L,PDstandard2gzz,kmadd(J32L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ312L,PDstandard3gzz)))))));
+
+ JacPDstandard23gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxx,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx))),kmadd(J12L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ123L,PDstandard1gxx,kmadd(J23L,kmadd(J22L,PDstandard22gxx,kmul(J32L,PDstandard23gxx)),kmadd(dJ223L,PDstandard2gxx,kmadd(J33L,kmadd(J22L,PDstandard23gxx,kmul(J32L,PDstandard33gxx)),kmul(dJ323L,PDstandard3gxx)))))));
+
+ JacPDstandard23gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxy,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy))),kmadd(J12L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ123L,PDstandard1gxy,kmadd(J23L,kmadd(J22L,PDstandard22gxy,kmul(J32L,PDstandard23gxy)),kmadd(dJ223L,PDstandard2gxy,kmadd(J33L,kmadd(J22L,PDstandard23gxy,kmul(J32L,PDstandard33gxy)),kmul(dJ323L,PDstandard3gxy)))))));
+
+ JacPDstandard23gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxz,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz))),kmadd(J12L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ123L,PDstandard1gxz,kmadd(J23L,kmadd(J22L,PDstandard22gxz,kmul(J32L,PDstandard23gxz)),kmadd(dJ223L,PDstandard2gxz,kmadd(J33L,kmadd(J22L,PDstandard23gxz,kmul(J32L,PDstandard33gxz)),kmul(dJ323L,PDstandard3gxz)))))));
+
+ JacPDstandard23gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyy,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy))),kmadd(J12L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ123L,PDstandard1gyy,kmadd(J23L,kmadd(J22L,PDstandard22gyy,kmul(J32L,PDstandard23gyy)),kmadd(dJ223L,PDstandard2gyy,kmadd(J33L,kmadd(J22L,PDstandard23gyy,kmul(J32L,PDstandard33gyy)),kmul(dJ323L,PDstandard3gyy)))))));
+
+ JacPDstandard23gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyz,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz))),kmadd(J12L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ123L,PDstandard1gyz,kmadd(J23L,kmadd(J22L,PDstandard22gyz,kmul(J32L,PDstandard23gyz)),kmadd(dJ223L,PDstandard2gyz,kmadd(J33L,kmadd(J22L,PDstandard23gyz,kmul(J32L,PDstandard33gyz)),kmul(dJ323L,PDstandard3gyz)))))));
+
+ JacPDstandard23gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gzz,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz))),kmadd(J12L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ123L,PDstandard1gzz,kmadd(J23L,kmadd(J22L,PDstandard22gzz,kmul(J32L,PDstandard23gzz)),kmadd(dJ223L,PDstandard2gzz,kmadd(J33L,kmadd(J22L,PDstandard23gzz,kmul(J32L,PDstandard33gzz)),kmul(dJ323L,PDstandard3gzz)))))));
+
+ JacPDstandard31gxx =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxx,kmadd(J21L,PDstandard12gxx,kmul(J31L,PDstandard13gxx))),kmadd(J11L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ113L,PDstandard1gxx,kmadd(J23L,kmadd(J21L,PDstandard22gxx,kmul(J31L,PDstandard23gxx)),kmadd(dJ213L,PDstandard2gxx,kmadd(J33L,kmadd(J21L,PDstandard23gxx,kmul(J31L,PDstandard33gxx)),kmul(dJ313L,PDstandard3gxx)))))));
+
+ JacPDstandard31gxy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ113L,PDstandard1gxy,kmadd(J23L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ213L,PDstandard2gxy,kmadd(J33L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ313L,PDstandard3gxy)))))));
+
+ JacPDstandard31gxz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gxz,kmadd(J21L,PDstandard12gxz,kmul(J31L,PDstandard13gxz))),kmadd(J11L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ113L,PDstandard1gxz,kmadd(J23L,kmadd(J21L,PDstandard22gxz,kmul(J31L,PDstandard23gxz)),kmadd(dJ213L,PDstandard2gxz,kmadd(J33L,kmadd(J21L,PDstandard23gxz,kmul(J31L,PDstandard33gxz)),kmul(dJ313L,PDstandard3gxz)))))));
+
+ JacPDstandard31gyy =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyy,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy))),kmadd(J11L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ113L,PDstandard1gyy,kmadd(J23L,kmadd(J21L,PDstandard22gyy,kmul(J31L,PDstandard23gyy)),kmadd(dJ213L,PDstandard2gyy,kmadd(J33L,kmadd(J21L,PDstandard23gyy,kmul(J31L,PDstandard33gyy)),kmul(dJ313L,PDstandard3gyy)))))));
+
+ JacPDstandard31gyz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gyz,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz))),kmadd(J11L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ113L,PDstandard1gyz,kmadd(J23L,kmadd(J21L,PDstandard22gyz,kmul(J31L,PDstandard23gyz)),kmadd(dJ213L,PDstandard2gyz,kmadd(J33L,kmadd(J21L,PDstandard23gyz,kmul(J31L,PDstandard33gyz)),kmul(dJ313L,PDstandard3gyz)))))));
+
+ JacPDstandard31gzz =
+ kmadd(J13L,kmadd(J11L,PDstandard11gzz,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz))),kmadd(J11L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ113L,PDstandard1gzz,kmadd(J23L,kmadd(J21L,PDstandard22gzz,kmul(J31L,PDstandard23gzz)),kmadd(dJ213L,PDstandard2gzz,kmadd(J33L,kmadd(J21L,PDstandard23gzz,kmul(J31L,PDstandard33gzz)),kmul(dJ313L,PDstandard3gzz)))))));
+
+ JacPDstandard32gxx =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxx,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx))),kmadd(J12L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmadd(dJ123L,PDstandard1gxx,kmadd(J23L,kmadd(J22L,PDstandard22gxx,kmul(J32L,PDstandard23gxx)),kmadd(dJ223L,PDstandard2gxx,kmadd(J33L,kmadd(J22L,PDstandard23gxx,kmul(J32L,PDstandard33gxx)),kmul(dJ323L,PDstandard3gxx)))))));
+
+ JacPDstandard32gxy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxy,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy))),kmadd(J12L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmadd(dJ123L,PDstandard1gxy,kmadd(J23L,kmadd(J22L,PDstandard22gxy,kmul(J32L,PDstandard23gxy)),kmadd(dJ223L,PDstandard2gxy,kmadd(J33L,kmadd(J22L,PDstandard23gxy,kmul(J32L,PDstandard33gxy)),kmul(dJ323L,PDstandard3gxy)))))));
+
+ JacPDstandard32gxz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gxz,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz))),kmadd(J12L,kmadd(J23L,PDstandard12gxz,kmul(J33L,PDstandard13gxz)),kmadd(dJ123L,PDstandard1gxz,kmadd(J23L,kmadd(J22L,PDstandard22gxz,kmul(J32L,PDstandard23gxz)),kmadd(dJ223L,PDstandard2gxz,kmadd(J33L,kmadd(J22L,PDstandard23gxz,kmul(J32L,PDstandard33gxz)),kmul(dJ323L,PDstandard3gxz)))))));
+
+ JacPDstandard32gyy =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyy,kmadd(J22L,PDstandard12gyy,kmul(J32L,PDstandard13gyy))),kmadd(J12L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmadd(dJ123L,PDstandard1gyy,kmadd(J23L,kmadd(J22L,PDstandard22gyy,kmul(J32L,PDstandard23gyy)),kmadd(dJ223L,PDstandard2gyy,kmadd(J33L,kmadd(J22L,PDstandard23gyy,kmul(J32L,PDstandard33gyy)),kmul(dJ323L,PDstandard3gyy)))))));
+
+ JacPDstandard32gyz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gyz,kmadd(J22L,PDstandard12gyz,kmul(J32L,PDstandard13gyz))),kmadd(J12L,kmadd(J23L,PDstandard12gyz,kmul(J33L,PDstandard13gyz)),kmadd(dJ123L,PDstandard1gyz,kmadd(J23L,kmadd(J22L,PDstandard22gyz,kmul(J32L,PDstandard23gyz)),kmadd(dJ223L,PDstandard2gyz,kmadd(J33L,kmadd(J22L,PDstandard23gyz,kmul(J32L,PDstandard33gyz)),kmul(dJ323L,PDstandard3gyz)))))));
+
+ JacPDstandard32gzz =
+ kmadd(J13L,kmadd(J12L,PDstandard11gzz,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz))),kmadd(J12L,kmadd(J23L,PDstandard12gzz,kmul(J33L,PDstandard13gzz)),kmadd(dJ123L,PDstandard1gzz,kmadd(J23L,kmadd(J22L,PDstandard22gzz,kmul(J32L,PDstandard23gzz)),kmadd(dJ223L,PDstandard2gzz,kmadd(J33L,kmadd(J22L,PDstandard23gzz,kmul(J32L,PDstandard33gzz)),kmul(dJ323L,PDstandard3gzz)))))));
+ }
+ else
+ {
+ JacPDstandard1gxx = PDstandard1gxx;
+
+ JacPDstandard1gxy = PDstandard1gxy;
+
+ JacPDstandard1gxz = PDstandard1gxz;
+
+ JacPDstandard1gyy = PDstandard1gyy;
+
+ JacPDstandard1gyz = PDstandard1gyz;
+
+ JacPDstandard1gzz = PDstandard1gzz;
+
+ JacPDstandard1kxy = PDstandard1kxy;
+
+ JacPDstandard1kxz = PDstandard1kxz;
+
+ JacPDstandard1kyy = PDstandard1kyy;
+
+ JacPDstandard1kyz = PDstandard1kyz;
+
+ JacPDstandard1kzz = PDstandard1kzz;
+
+ JacPDstandard2gxx = PDstandard2gxx;
+
+ JacPDstandard2gxy = PDstandard2gxy;
+
+ JacPDstandard2gxz = PDstandard2gxz;
+
+ JacPDstandard2gyy = PDstandard2gyy;
+
+ JacPDstandard2gyz = PDstandard2gyz;
+
+ JacPDstandard2gzz = PDstandard2gzz;
+
+ JacPDstandard2kxx = PDstandard2kxx;
+
+ JacPDstandard2kxy = PDstandard2kxy;
+
+ JacPDstandard2kxz = PDstandard2kxz;
+
+ JacPDstandard2kyz = PDstandard2kyz;
+
+ JacPDstandard2kzz = PDstandard2kzz;
+
+ JacPDstandard3gxx = PDstandard3gxx;
+
+ JacPDstandard3gxy = PDstandard3gxy;
+
+ JacPDstandard3gxz = PDstandard3gxz;
+
+ JacPDstandard3gyy = PDstandard3gyy;
+
+ JacPDstandard3gyz = PDstandard3gyz;
+
+ JacPDstandard3gzz = PDstandard3gzz;
+
+ JacPDstandard3kxx = PDstandard3kxx;
+
+ JacPDstandard3kxy = PDstandard3kxy;
+
+ JacPDstandard3kxz = PDstandard3kxz;
+
+ JacPDstandard3kyy = PDstandard3kyy;
+
+ JacPDstandard3kyz = PDstandard3kyz;
+
+ JacPDstandard11gxy = PDstandard11gxy;
+
+ JacPDstandard11gxz = PDstandard11gxz;
+
+ JacPDstandard11gyy = PDstandard11gyy;
+
+ JacPDstandard11gyz = PDstandard11gyz;
+
+ JacPDstandard11gzz = PDstandard11gzz;
+
+ JacPDstandard22gxx = PDstandard22gxx;
+
+ JacPDstandard22gxy = PDstandard22gxy;
+
+ JacPDstandard22gxz = PDstandard22gxz;
+
+ JacPDstandard22gyz = PDstandard22gyz;
+
+ JacPDstandard22gzz = PDstandard22gzz;
+
+ JacPDstandard33gxx = PDstandard33gxx;
+
+ JacPDstandard33gxy = PDstandard33gxy;
+
+ JacPDstandard33gxz = PDstandard33gxz;
+
+ JacPDstandard33gyy = PDstandard33gyy;
+
+ JacPDstandard33gyz = PDstandard33gyz;
+
+ JacPDstandard12gxx = PDstandard12gxx;
+
+ JacPDstandard12gxy = PDstandard12gxy;
+
+ JacPDstandard12gxz = PDstandard12gxz;
+
+ JacPDstandard12gyy = PDstandard12gyy;
+
+ JacPDstandard12gyz = PDstandard12gyz;
+
+ JacPDstandard12gzz = PDstandard12gzz;
+
+ JacPDstandard13gxx = PDstandard13gxx;
+
+ JacPDstandard13gxy = PDstandard13gxy;
+
+ JacPDstandard13gxz = PDstandard13gxz;
+
+ JacPDstandard13gyy = PDstandard13gyy;
+
+ JacPDstandard13gyz = PDstandard13gyz;
+
+ JacPDstandard13gzz = PDstandard13gzz;
+
+ JacPDstandard21gxx = PDstandard12gxx;
+
+ JacPDstandard21gxy = PDstandard12gxy;
+
+ JacPDstandard21gxz = PDstandard12gxz;
+
+ JacPDstandard21gyy = PDstandard12gyy;
+
+ JacPDstandard21gyz = PDstandard12gyz;
+
+ JacPDstandard21gzz = PDstandard12gzz;
+
+ JacPDstandard23gxx = PDstandard23gxx;
+
+ JacPDstandard23gxy = PDstandard23gxy;
+
+ JacPDstandard23gxz = PDstandard23gxz;
+
+ JacPDstandard23gyy = PDstandard23gyy;
+
+ JacPDstandard23gyz = PDstandard23gyz;
+
+ JacPDstandard23gzz = PDstandard23gzz;
+
+ JacPDstandard31gxx = PDstandard13gxx;
+
+ JacPDstandard31gxy = PDstandard13gxy;
+
+ JacPDstandard31gxz = PDstandard13gxz;
+
+ JacPDstandard31gyy = PDstandard13gyy;
+
+ JacPDstandard31gyz = PDstandard13gyz;
+
+ JacPDstandard31gzz = PDstandard13gzz;
+
+ JacPDstandard32gxx = PDstandard23gxx;
+
+ JacPDstandard32gxy = PDstandard23gxy;
+
+ JacPDstandard32gxz = PDstandard23gxz;
+
+ JacPDstandard32gyy = PDstandard23gyy;
+
+ JacPDstandard32gyz = PDstandard23gyz;
+
+ JacPDstandard32gzz = PDstandard23gzz;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+
+ CCTK_REAL_VEC invdetg = INV(detg);
+
+ CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL)));
+
+ CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL)));
+
+ CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL)));
+
+ CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL)));
+
+ CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL)));
+
+ CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL)));
+
+ CCTK_REAL_VEC gamma111 =
+ kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard1gxx,knmsub(gInv12,JacPDstandard2gxx,kmsub(kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),ToReal(2),kmul(gInv13,JacPDstandard3gxx)))));
+
+ CCTK_REAL_VEC gamma211 =
+ kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard1gxx,knmsub(gInv22,JacPDstandard2gxx,kmsub(kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),ToReal(2),kmul(gInv23,JacPDstandard3gxx)))));
+
+ CCTK_REAL_VEC gamma311 =
+ kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard1gxx,knmsub(gInv32,JacPDstandard2gxx,kmsub(kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),ToReal(2),kmul(gInv33,JacPDstandard3gxx)))));
+
+ CCTK_REAL_VEC gamma121 =
+ kmul(kmadd(gInv12,JacPDstandard1gyy,kmadd(gInv11,JacPDstandard2gxx,kmul(gInv13,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma221 =
+ kmul(kmadd(gInv22,JacPDstandard1gyy,kmadd(gInv21,JacPDstandard2gxx,kmul(gInv23,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma321 =
+ kmul(kmadd(gInv32,JacPDstandard1gyy,kmadd(gInv31,JacPDstandard2gxx,kmul(gInv33,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma131 =
+ kmul(kmadd(gInv13,JacPDstandard1gzz,kmadd(gInv11,JacPDstandard3gxx,kmul(gInv12,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma231 =
+ kmul(kmadd(gInv23,JacPDstandard1gzz,kmadd(gInv21,JacPDstandard3gxx,kmul(gInv22,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma331 =
+ kmul(kmadd(gInv33,JacPDstandard1gzz,kmadd(gInv31,JacPDstandard3gxx,kmul(gInv32,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma122 =
+ kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2gyy,kmadd(gInv11,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv13,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+
+ CCTK_REAL_VEC gamma222 =
+ kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2gyy,kmadd(gInv21,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv23,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+
+ CCTK_REAL_VEC gamma322 =
+ kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2gyy,kmadd(gInv31,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv33,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+
+ CCTK_REAL_VEC gamma132 =
+ kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv12,JacPDstandard3gyy,kmul(gInv11,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma232 =
+ kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv22,JacPDstandard3gyy,kmul(gInv21,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma332 =
+ kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv32,JacPDstandard3gyy,kmul(gInv31,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+
+ CCTK_REAL_VEC gamma133 =
+ kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard3gzz,kmadd(gInv11,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv12,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+
+ CCTK_REAL_VEC gamma233 =
+ kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard3gzz,kmadd(gInv21,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv22,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+
+ CCTK_REAL_VEC gamma333 =
+ kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard3gzz,kmadd(gInv31,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv32,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+
+ CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig));
+
+ CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig));
+
+ CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig));
+
+ CCTK_REAL_VEC va1 = kneg(ymoved);
+
+ CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC va3 = ToReal(0);
+
+ CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset));
+
+ CCTK_REAL_VEC vb2 = ymoved;
+
+ CCTK_REAL_VEC vb3 = zmoved;
+
+ CCTK_REAL_VEC vc1 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
- CCTK_REAL invdetg = INV(detg);
+ CCTK_REAL_VEC vc2 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
- CCTK_REAL gInv11 = invdetg*(gyyL*gzzL - SQR(gyzL));
+ CCTK_REAL_VEC vc3 =
+ kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
- CCTK_REAL gInv12 = (gxzL*gyzL - gxyL*gzzL)*invdetg;
+ CCTK_REAL_VEC wa1 = va1;
- CCTK_REAL gInv13 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg;
+ CCTK_REAL_VEC wa2 = va2;
- CCTK_REAL gInv21 = (gxzL*gyzL - gxyL*gzzL)*invdetg;
+ CCTK_REAL_VEC wa3 = va3;
- CCTK_REAL gInv22 = invdetg*(gxxL*gzzL - SQR(gxzL));
+ CCTK_REAL_VEC omega11 =
+ kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
- CCTK_REAL gInv23 = (gxyL*gxzL - gxxL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11)));
- CCTK_REAL gInv31 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11)));
- CCTK_REAL gInv32 = (gxyL*gxzL - gxxL*gyzL)*invdetg;
+ CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11)));
- CCTK_REAL gInv33 = invdetg*(gxxL*gyyL - SQR(gxyL));
+ CCTK_REAL_VEC omega12 =
+ kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
- CCTK_REAL gamma111 = 0.5*(gInv11*PDstandard1gxx +
- 2*(gInv12*PDstandard1gxy + gInv13*PDstandard1gxz) -
- gInv12*PDstandard2gxx - gInv13*PDstandard3gxx);
+ CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1);
- CCTK_REAL gamma211 = 0.5*(gInv21*PDstandard1gxx +
- 2*(gInv22*PDstandard1gxy + gInv23*PDstandard1gxz) -
- gInv22*PDstandard2gxx - gInv23*PDstandard3gxx);
+ CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2);
- CCTK_REAL gamma311 = 0.5*(gInv31*PDstandard1gxx +
- 2*(gInv32*PDstandard1gxy + gInv33*PDstandard1gxz) -
- gInv32*PDstandard2gxx - gInv33*PDstandard3gxx);
+ CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3);
- CCTK_REAL gamma121 = 0.5*(gInv12*PDstandard1gyy +
- gInv11*PDstandard2gxx + gInv13*(PDstandard1gyz + PDstandard2gxz -
- PDstandard3gxy));
+ CCTK_REAL_VEC omega22 =
+ kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
- CCTK_REAL gamma221 = 0.5*(gInv22*PDstandard1gyy +
- gInv21*PDstandard2gxx + gInv23*(PDstandard1gyz + PDstandard2gxz -
- PDstandard3gxy));
+ CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22)));
- CCTK_REAL gamma321 = 0.5*(gInv32*PDstandard1gyy +
- gInv31*PDstandard2gxx + gInv33*(PDstandard1gyz + PDstandard2gxz -
- PDstandard3gxy));
+ CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22)));
- CCTK_REAL gamma131 = 0.5*(gInv13*PDstandard1gzz +
- gInv11*PDstandard3gxx + gInv12*(PDstandard1gyz - PDstandard2gxz +
- PDstandard3gxy));
+ CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22)));
- CCTK_REAL gamma231 = 0.5*(gInv23*PDstandard1gzz +
- gInv21*PDstandard3gxx + gInv22*(PDstandard1gyz - PDstandard2gxz +
- PDstandard3gxy));
+ CCTK_REAL_VEC omega13 =
+ kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
- CCTK_REAL gamma331 = 0.5*(gInv33*PDstandard1gzz +
- gInv31*PDstandard3gxx + gInv32*(PDstandard1gyz - PDstandard2gxz +
- PDstandard3gxy));
+ CCTK_REAL_VEC omega23 =
+ kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
- CCTK_REAL gamma122 = 0.5*(gInv11*(-PDstandard1gyy + 2*PDstandard2gxy)
- + gInv12*PDstandard2gyy + gInv13*(2*PDstandard2gyz - PDstandard3gyy));
+ CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
- CCTK_REAL gamma222 = 0.5*(gInv21*(-PDstandard1gyy + 2*PDstandard2gxy)
- + gInv22*PDstandard2gyy + gInv23*(2*PDstandard2gyz - PDstandard3gyy));
+ CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
- CCTK_REAL gamma322 = 0.5*(gInv31*(-PDstandard1gyy + 2*PDstandard2gxy)
- + gInv32*PDstandard2gyy + gInv33*(2*PDstandard2gyz - PDstandard3gyy));
+ CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
- CCTK_REAL gamma132 = 0.5*(gInv13*PDstandard2gzz +
- gInv11*(-PDstandard1gyz + PDstandard2gxz + PDstandard3gxy) +
- gInv12*PDstandard3gyy);
+ CCTK_REAL_VEC omega33 =
+ kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
- CCTK_REAL gamma232 = 0.5*(gInv23*PDstandard2gzz +
- gInv21*(-PDstandard1gyz + PDstandard2gxz + PDstandard3gxy) +
- gInv22*PDstandard3gyy);
+ CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33)));
- CCTK_REAL gamma332 = 0.5*(gInv33*PDstandard2gzz +
- gInv31*(-PDstandard1gyz + PDstandard2gxz + PDstandard3gxy) +
- gInv32*PDstandard3gyy);
+ CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33)));
- CCTK_REAL gamma133 = 0.5*(gInv11*(-PDstandard1gzz + 2*PDstandard3gxz)
- + gInv12*(-PDstandard2gzz + 2*PDstandard3gyz) + gInv13*PDstandard3gzz);
+ CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33)));
- CCTK_REAL gamma233 = 0.5*(gInv21*(-PDstandard1gzz + 2*PDstandard3gxz)
- + gInv22*(-PDstandard2gzz + 2*PDstandard3gyz) + gInv23*PDstandard3gzz);
+ CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524);
- CCTK_REAL gamma333 = 0.5*(gInv31*(-PDstandard1gzz + 2*PDstandard3gxz)
- + gInv32*(-PDstandard2gzz + 2*PDstandard3gyz) + gInv33*PDstandard3gzz);
+ CCTK_REAL_VEC ltet1 = kmul(eb1,isqrt2);
- CCTK_REAL xmoved = xL - ToReal(xorig);
+ CCTK_REAL_VEC ltet2 = kmul(eb2,isqrt2);
- CCTK_REAL ymoved = yL - ToReal(yorig);
+ CCTK_REAL_VEC ltet3 = kmul(eb3,isqrt2);
- CCTK_REAL zmoved = zL - ToReal(zorig);
+ CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2));
- CCTK_REAL va1 = -ymoved;
+ CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2));
- CCTK_REAL va2 = xmoved + ToReal(offset);
+ CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2));
- CCTK_REAL va3 = 0;
+ CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2);
- CCTK_REAL vb1 = xmoved + ToReal(offset);
+ CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2);
- CCTK_REAL vb2 = ymoved;
+ CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2);
- CCTK_REAL vb3 = zmoved;
+ CCTK_REAL_VEC im1 = kmul(ea1,isqrt2);
- CCTK_REAL vc1 = ((-(gInv13*va2) + gInv12*va3)*vb1 + (gInv13*va1 -
- gInv11*va3)*vb2 + (-(gInv12*va1) + gInv11*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC im2 = kmul(ea2,isqrt2);
- CCTK_REAL vc2 = ((-(gInv23*va2) + gInv22*va3)*vb1 + (gInv23*va1 -
- gInv21*va3)*vb2 + (-(gInv22*va1) + gInv21*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC im3 = kmul(ea3,isqrt2);
- CCTK_REAL vc3 = ((-(gInv33*va2) + gInv32*va3)*vb1 + (gInv33*va1 -
- gInv31*va3)*vb2 + (-(gInv32*va1) + gInv31*va2)*vb3)*sqrt(detg);
+ CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2);
- CCTK_REAL wa1 = va1;
+ CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2);
- CCTK_REAL wa2 = va2;
+ CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2);
- CCTK_REAL wa3 = va3;
+ CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2));
- CCTK_REAL omega11 = 2*(gyzL*wa2*wa3 + wa1*(gxyL*wa2 + gxzL*wa3)) +
- gxxL*SQR(wa1) + gyyL*SQR(wa2) + gzzL*SQR(wa3);
+ CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2));
- CCTK_REAL ea1 = wa1*INV(sqrt(omega11));
+ CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2));
- CCTK_REAL ea2 = wa2*INV(sqrt(omega11));
+ CCTK_REAL_VEC nn = isqrt2;
- CCTK_REAL ea3 = wa3*INV(sqrt(omega11));
+ CCTK_REAL_VEC R1111 = ToReal(0);
- CCTK_REAL omega12 = ea1*(gxxL*vb1 + gxyL*vb2 + gxzL*vb3) +
- ea2*(gxyL*vb1 + gyyL*vb2 + gyzL*vb3) + ea3*(gxzL*vb1 + gyzL*vb2 +
- gzzL*vb3);
+ CCTK_REAL_VEC R1112 =
+ kmul(ksub(JacPDstandard21gxx,JacPDstandard12gxx),ToReal(0.5));
- CCTK_REAL wb1 = -(ea1*omega12) + vb1;
+ CCTK_REAL_VEC R1113 =
+ kmul(ksub(JacPDstandard31gxx,JacPDstandard13gxx),ToReal(0.5));
- CCTK_REAL wb2 = -(ea2*omega12) + vb2;
+ CCTK_REAL_VEC R1121 =
+ kmul(ksub(JacPDstandard21gxx,JacPDstandard12gxx),ToReal(0.5));
- CCTK_REAL wb3 = -(ea3*omega12) + vb3;
+ CCTK_REAL_VEC R1122 = ksub(JacPDstandard21gxy,JacPDstandard12gxy);
- CCTK_REAL omega22 = 2*(gyzL*wb2*wb3 + wb1*(gxyL*wb2 + gxzL*wb3)) +
- gxxL*SQR(wb1) + gyyL*SQR(wb2) + gzzL*SQR(wb3);
+ CCTK_REAL_VEC R1123 =
+ kmul(kadd(JacPDstandard21gxz,ksub(JacPDstandard31gxy,kadd(JacPDstandard13gxy,JacPDstandard12gxz))),ToReal(0.5));
- CCTK_REAL eb1 = wb1*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1131 =
+ kmul(ksub(JacPDstandard31gxx,JacPDstandard13gxx),ToReal(0.5));
- CCTK_REAL eb2 = wb2*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1132 =
+ kmul(kadd(JacPDstandard21gxz,ksub(JacPDstandard31gxy,kadd(JacPDstandard13gxy,JacPDstandard12gxz))),ToReal(0.5));
- CCTK_REAL eb3 = wb3*INV(sqrt(omega22));
+ CCTK_REAL_VEC R1133 = ksub(JacPDstandard31gxz,JacPDstandard13gxz);
- CCTK_REAL omega13 = ea1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) +
- ea2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + ea3*(gxzL*vc1 + gyzL*vc2 +
- gzzL*vc3);
+ CCTK_REAL_VEC R1211 =
+ kmul(ksub(JacPDstandard12gxx,JacPDstandard21gxx),ToReal(0.5));
- CCTK_REAL omega23 = eb1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) +
- eb2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + eb3*(gxzL*vc1 + gyzL*vc2 +
- gzzL*vc3);
+ CCTK_REAL_VEC R1212 =
+ kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard22gxx),JacPDstandard11gyy)))));
- CCTK_REAL wc1 = -(ea1*omega13) - eb1*omega23 + vc1;
+ CCTK_REAL_VEC R1213 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxx),JacPDstandard11gyz))))));
- CCTK_REAL wc2 = -(ea2*omega13) - eb2*omega23 + vc2;
+ CCTK_REAL_VEC R1221 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gyy,kadd(JacPDstandard22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard21gxy),JacPDstandard12gxy))))),kmul(gxxL,SQR(gamma121)))));
- CCTK_REAL wc3 = -(ea3*omega13) - eb3*omega23 + vc3;
+ CCTK_REAL_VEC R1222 =
+ kmul(ksub(JacPDstandard21gyy,JacPDstandard12gyy),ToReal(0.5));
- CCTK_REAL omega33 = 2*(gyzL*wc2*wc3 + wc1*(gxyL*wc2 + gxzL*wc3)) +
- gxxL*SQR(wc1) + gyyL*SQR(wc2) + gzzL*SQR(wc3);
+ CCTK_REAL_VEC R1223 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxy),JacPDstandard12gyz))))));
- CCTK_REAL ec1 = wc1*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1231 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard21gxz),JacPDstandard13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL ec2 = wc2*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1232 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gyz,kadd(JacPDstandard32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard22gxz),JacPDstandard13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL ec3 = wc3*INV(sqrt(omega33));
+ CCTK_REAL_VEC R1233 =
+ kmul(kadd(JacPDstandard31gyz,ksub(JacPDstandard32gxz,kadd(JacPDstandard23gxz,JacPDstandard13gyz))),ToReal(0.5));
- CCTK_REAL isqrt2 = 0.707106781186547524;
+ CCTK_REAL_VEC R1311 =
+ kmul(ksub(JacPDstandard13gxx,JacPDstandard31gxx),ToReal(0.5));
- CCTK_REAL n1 = -(eb1*isqrt2);
+ CCTK_REAL_VEC R1312 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gxy,kadd(JacPDstandard21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxx),JacPDstandard11gyz))))));
- CCTK_REAL n2 = -(eb2*isqrt2);
+ CCTK_REAL_VEC R1313 =
+ kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard33gxx),JacPDstandard11gzz)))));
- CCTK_REAL n3 = -(eb3*isqrt2);
+ CCTK_REAL_VEC R1321 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard31gxy),JacPDstandard12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL rm1 = ec1*isqrt2;
+ CCTK_REAL_VEC R1322 =
+ kmul(kadd(JacPDstandard21gyz,ksub(JacPDstandard23gxy,kadd(JacPDstandard32gxy,JacPDstandard12gyz))),ToReal(0.5));
- CCTK_REAL rm2 = ec2*isqrt2;
+ CCTK_REAL_VEC R1323 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard12gzz))))));
- CCTK_REAL rm3 = ec3*isqrt2;
+ CCTK_REAL_VEC R1331 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gzz,kadd(JacPDstandard33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard31gxz),JacPDstandard13gxz))))),kmul(gxxL,SQR(gamma131)))));
- CCTK_REAL im1 = ea1*isqrt2;
+ CCTK_REAL_VEC R1332 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard32gxz),JacPDstandard13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL im2 = ea2*isqrt2;
+ CCTK_REAL_VEC R1333 =
+ kmul(ksub(JacPDstandard31gzz,JacPDstandard13gzz),ToReal(0.5));
- CCTK_REAL im3 = ea3*isqrt2;
+ CCTK_REAL_VEC R2111 =
+ kmul(ksub(JacPDstandard12gxx,JacPDstandard21gxx),ToReal(0.5));
- CCTK_REAL rmbar1 = ec1*isqrt2;
+ CCTK_REAL_VEC R2112 =
+ kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gyy,kadd(JacPDstandard22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard21gxy),JacPDstandard12gxy))))),kmul(gxxL,SQR(gamma121)))));
- CCTK_REAL rmbar2 = ec2*isqrt2;
+ CCTK_REAL_VEC R2113 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard21gxz),JacPDstandard13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL rmbar3 = ec3*isqrt2;
+ CCTK_REAL_VEC R2121 =
+ kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard22gxx),JacPDstandard11gyy)))));
- CCTK_REAL imbar1 = -(ea1*isqrt2);
+ CCTK_REAL_VEC R2122 =
+ kmul(ksub(JacPDstandard21gyy,JacPDstandard12gyy),ToReal(0.5));
- CCTK_REAL imbar2 = -(ea2*isqrt2);
+ CCTK_REAL_VEC R2123 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gyz,kadd(JacPDstandard32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard22gxz),JacPDstandard13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL imbar3 = -(ea3*isqrt2);
+ CCTK_REAL_VEC R2131 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxx),JacPDstandard11gyz))))));
- CCTK_REAL nn = isqrt2;
+ CCTK_REAL_VEC R2132 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard23gxy),JacPDstandard12gyz))))));
- CCTK_REAL R1111 = 0;
+ CCTK_REAL_VEC R2133 =
+ kmul(kadd(JacPDstandard31gyz,ksub(JacPDstandard32gxz,kadd(JacPDstandard23gxz,JacPDstandard13gyz))),ToReal(0.5));
- CCTK_REAL R1112 = 0;
+ CCTK_REAL_VEC R2211 = ksub(JacPDstandard12gxy,JacPDstandard21gxy);
- CCTK_REAL R1113 = 0;
+ CCTK_REAL_VEC R2212 =
+ kmul(ksub(JacPDstandard12gyy,JacPDstandard21gyy),ToReal(0.5));
- CCTK_REAL R1121 = 0;
+ CCTK_REAL_VEC R2213 =
+ kmul(kadd(JacPDstandard12gyz,ksub(JacPDstandard32gxy,kadd(JacPDstandard23gxy,JacPDstandard21gyz))),ToReal(0.5));
- CCTK_REAL R1122 = 0;
+ CCTK_REAL_VEC R2221 =
+ kmul(ksub(JacPDstandard12gyy,JacPDstandard21gyy),ToReal(0.5));
- CCTK_REAL R1123 = 0;
+ CCTK_REAL_VEC R2222 = ToReal(0);
- CCTK_REAL R1131 = 0;
+ CCTK_REAL_VEC R2223 =
+ kmul(ksub(JacPDstandard32gyy,JacPDstandard23gyy),ToReal(0.5));
- CCTK_REAL R1132 = 0;
+ CCTK_REAL_VEC R2231 =
+ kmul(kadd(JacPDstandard12gyz,ksub(JacPDstandard32gxy,kadd(JacPDstandard23gxy,JacPDstandard21gyz))),ToReal(0.5));
- CCTK_REAL R1133 = 0;
+ CCTK_REAL_VEC R2232 =
+ kmul(ksub(JacPDstandard32gyy,JacPDstandard23gyy),ToReal(0.5));
- CCTK_REAL R1211 = 0;
+ CCTK_REAL_VEC R2233 = ksub(JacPDstandard32gyz,JacPDstandard23gyz);
- CCTK_REAL R1212 = 0.5*((4*gamma121*gamma221 -
- 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 -
- 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 -
- 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL +
- gamma122*gamma211*gxyL + gamma122*gamma311*gxzL +
- gamma211*gamma222*gyyL + gamma222*gamma311*gyzL +
- gamma311*gamma322*gzzL) - PDstandard11gyy + 2*PDstandard12gxy -
- PDstandard22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) +
- 2*gzzL*SQR(gamma321));
+ CCTK_REAL_VEC R2311 =
+ kmul(kadd(JacPDstandard12gxz,ksub(JacPDstandard13gxy,kadd(JacPDstandard31gxy,JacPDstandard21gxz))),ToReal(0.5));
- CCTK_REAL R1213 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz +
- PDstandard13gxy - PDstandard23gxx);
+ CCTK_REAL_VEC R2312 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyy,kadd(JacPDstandard22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxy),JacPDstandard21gyz))))));
- CCTK_REAL R1221 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL +
- (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL +
- gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL +
- gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard12gxy +
- 0.5*(PDstandard11gyy + PDstandard22gxx) - gxxL*SQR(gamma121) -
- gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321));
+ CCTK_REAL_VEC R2313 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyz,kadd(JacPDstandard32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard21gzz))))));
- CCTK_REAL R1222 = 0;
+ CCTK_REAL_VEC R2321 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gyz,kadd(JacPDstandard23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard31gyy),JacPDstandard22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R1223 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy +
- PDstandard22gxz - PDstandard23gxy);
+ CCTK_REAL_VEC R2322 =
+ kmul(ksub(JacPDstandard23gyy,JacPDstandard32gyy),ToReal(0.5));
- CCTK_REAL R1231 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz -
- PDstandard13gxy + PDstandard23gxx);
-
- CCTK_REAL R1232 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy -
- PDstandard22gxz + PDstandard23gxy);
-
- CCTK_REAL R1233 = 0;
-
- CCTK_REAL R1311 = 0;
-
- CCTK_REAL R1312 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz +
- PDstandard13gxy - PDstandard23gxx);
-
- CCTK_REAL R1313 = 0.5*((4*gamma131*gamma231 -
- 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 -
- 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 -
- 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL +
- gamma133*gamma211*gxyL + gamma133*gamma311*gxzL +
- gamma211*gamma233*gyyL + gamma233*gamma311*gyzL +
- gamma311*gamma333*gzzL) - PDstandard11gzz + 2*PDstandard13gxz -
- PDstandard33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) +
- 2*gzzL*SQR(gamma331));
-
- CCTK_REAL R1321 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz -
- PDstandard13gxy + PDstandard23gxx);
-
- CCTK_REAL R1322 = 0;
-
- CCTK_REAL R1323 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz +
- PDstandard23gxz - PDstandard33gxy);
-
- CCTK_REAL R1331 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL +
- (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL +
- gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL +
- gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard13gxz +
- 0.5*(PDstandard11gzz + PDstandard33gxx) - gxxL*SQR(gamma131) -
- gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331));
-
- CCTK_REAL R1332 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz -
- PDstandard23gxz + PDstandard33gxy);
-
- CCTK_REAL R1333 = 0;
-
- CCTK_REAL R2111 = 0;
-
- CCTK_REAL R2112 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL +
- (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL +
- gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL +
- gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard12gxy +
- 0.5*(PDstandard11gyy + PDstandard22gxx) - gxxL*SQR(gamma121) -
- gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321));
-
- CCTK_REAL R2113 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz -
- PDstandard13gxy + PDstandard23gxx);
-
- CCTK_REAL R2121 = 0.5*((4*gamma121*gamma221 -
- 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 -
- 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 -
- 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL +
- gamma122*gamma211*gxyL + gamma122*gamma311*gxzL +
- gamma211*gamma222*gyyL + gamma222*gamma311*gyzL +
- gamma311*gamma322*gzzL) - PDstandard11gyy + 2*PDstandard12gxy -
- PDstandard22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) +
- 2*gzzL*SQR(gamma321));
-
- CCTK_REAL R2122 = 0;
-
- CCTK_REAL R2123 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy -
- PDstandard22gxz + PDstandard23gxy);
-
- CCTK_REAL R2131 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz +
- PDstandard13gxy - PDstandard23gxx);
-
- CCTK_REAL R2132 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy +
- PDstandard22gxz - PDstandard23gxy);
-
- CCTK_REAL R2133 = 0;
-
- CCTK_REAL R2211 = 0;
-
- CCTK_REAL R2212 = 0;
-
- CCTK_REAL R2213 = 0;
-
- CCTK_REAL R2221 = 0;
-
- CCTK_REAL R2222 = 0;
-
- CCTK_REAL R2223 = 0;
-
- CCTK_REAL R2231 = 0;
-
- CCTK_REAL R2232 = 0;
-
- CCTK_REAL R2233 = 0;
-
- CCTK_REAL R2311 = 0;
-
- CCTK_REAL R2312 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy +
- PDstandard22gxz - PDstandard23gxy);
-
- CCTK_REAL R2313 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz +
- PDstandard23gxz - PDstandard33gxy);
-
- CCTK_REAL R2321 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy -
- PDstandard22gxz + PDstandard23gxy);
-
- CCTK_REAL R2322 = 0;
-
- CCTK_REAL R2323 = 0.5*((4*gamma132*gamma232 -
- 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 -
- 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 -
- 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL +
- gamma133*gamma222*gxyL + gamma133*gamma322*gxzL +
- gamma222*gamma233*gyyL + gamma233*gamma322*gyzL +
- gamma322*gamma333*gzzL) - PDstandard22gzz + 2*PDstandard23gyz -
- PDstandard33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) +
- 2*gzzL*SQR(gamma332));
-
- CCTK_REAL R2331 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz -
- PDstandard23gxz + PDstandard33gxy);
-
- CCTK_REAL R2332 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL +
- (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL +
- gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) +
- (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL +
- gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard23gyz +
- 0.5*(PDstandard22gzz + PDstandard33gyy) - gxxL*SQR(gamma132) -
- gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332));
-
- CCTK_REAL R2333 = 0;
-
- CCTK_REAL R3111 = 0;
-
- CCTK_REAL R3112 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL +
- (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 +
- gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 -
- gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) +
- gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 -
- gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) +
- gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz -
- PDstandard13gxy + PDstandard23gxx);
-
- CCTK_REAL R3113 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL +
- (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL +
- gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) +
- (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL +
- gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard13gxz +
- 0.5*(PDstandard11gzz + PDstandard33gxx) - gxxL*SQR(gamma131) -
- gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331));
-
- CCTK_REAL R3121 = (gamma121*gamma131 - gamma111*gamma132)*gxxL +
- (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 -
- gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 +
- gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 -
- gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 +
- gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 -
- gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz +
- PDstandard13gxy - PDstandard23gxx);
-
- CCTK_REAL R3122 = 0;
-
- CCTK_REAL R3123 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz -
- PDstandard23gxz + PDstandard33gxy);
-
- CCTK_REAL R3131 = 0.5*((4*gamma131*gamma231 -
- 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 -
- 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 -
- 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL +
- gamma133*gamma211*gxyL + gamma133*gamma311*gxzL +
- gamma211*gamma233*gyyL + gamma233*gamma311*gyzL +
- gamma311*gamma333*gzzL) - PDstandard11gzz + 2*PDstandard13gxz -
- PDstandard33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) +
- 2*gzzL*SQR(gamma331));
-
- CCTK_REAL R3132 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz +
- PDstandard23gxz - PDstandard33gxy);
-
- CCTK_REAL R3133 = 0;
-
- CCTK_REAL R3211 = 0;
-
- CCTK_REAL R3212 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL +
- (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 +
- gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 -
- gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) +
- gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 -
- gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) +
- gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy -
- PDstandard22gxz + PDstandard23gxy);
-
- CCTK_REAL R3213 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL +
- (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 +
- gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 -
- gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) +
- gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 -
- gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) +
- gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz -
- PDstandard23gxz + PDstandard33gxy);
+ CCTK_REAL_VEC R2323 =
+ kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard33gyy),JacPDstandard22gzz)))));
- CCTK_REAL R3221 = (gamma122*gamma131 - gamma121*gamma132)*gxxL +
- (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 -
- gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 +
- gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 -
- gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 +
- gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 -
- gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy +
- PDstandard22gxz - PDstandard23gxy);
+ CCTK_REAL_VEC R2331 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard31gyz),JacPDstandard23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R3222 = 0;
+ CCTK_REAL_VEC R2332 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard22gzz,kadd(JacPDstandard33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard32gyz),JacPDstandard23gyz))))),kmul(gxxL,SQR(gamma132)))));
- CCTK_REAL R3223 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL +
- (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL +
- gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) +
- (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL +
- gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard23gyz +
- 0.5*(PDstandard22gzz + PDstandard33gyy) - gxxL*SQR(gamma132) -
- gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332));
+ CCTK_REAL_VEC R2333 =
+ kmul(ksub(JacPDstandard32gzz,JacPDstandard23gzz),ToReal(0.5));
- CCTK_REAL R3231 = (gamma131*gamma132 - gamma121*gamma133)*gxxL +
- (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 -
- gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 +
- gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 -
- gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 +
- gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 -
- gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz +
- PDstandard23gxz - PDstandard33gxy);
+ CCTK_REAL_VEC R3111 =
+ kmul(ksub(JacPDstandard13gxx,JacPDstandard31gxx),ToReal(0.5));
- CCTK_REAL R3232 = 0.5*((4*gamma132*gamma232 -
- 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 -
- 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 -
- 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL +
- gamma133*gamma222*gxyL + gamma133*gamma322*gxzL +
- gamma222*gamma233*gyyL + gamma233*gamma322*gyzL +
- gamma322*gamma333*gzzL) - PDstandard22gzz + 2*PDstandard23gyz -
- PDstandard33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) +
- 2*gzzL*SQR(gamma332));
+ CCTK_REAL_VEC R3112 =
+ kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard11gyz,kadd(JacPDstandard23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard31gxy),JacPDstandard12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R3233 = 0;
+ CCTK_REAL_VEC R3113 =
+ kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard11gzz,kadd(JacPDstandard33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard31gxz),JacPDstandard13gxz))))),kmul(gxxL,SQR(gamma131)))));
- CCTK_REAL R3311 = 0;
+ CCTK_REAL_VEC R3121 =
+ kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gxy,kadd(JacPDstandard21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxx),JacPDstandard11gyz))))));
- CCTK_REAL R3312 = 0;
+ CCTK_REAL_VEC R3122 =
+ kmul(kadd(JacPDstandard21gyz,ksub(JacPDstandard23gxy,kadd(JacPDstandard32gxy,JacPDstandard12gyz))),ToReal(0.5));
- CCTK_REAL R3313 = 0;
+ CCTK_REAL_VEC R3123 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard21gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard32gxz),JacPDstandard13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R3321 = 0;
+ CCTK_REAL_VEC R3131 =
+ kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard33gxx),JacPDstandard11gzz)))));
- CCTK_REAL R3322 = 0;
+ CCTK_REAL_VEC R3132 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard12gzz))))));
- CCTK_REAL R3323 = 0;
+ CCTK_REAL_VEC R3133 =
+ kmul(ksub(JacPDstandard31gzz,JacPDstandard13gzz),ToReal(0.5));
- CCTK_REAL R3331 = 0;
+ CCTK_REAL_VEC R3211 =
+ kmul(kadd(JacPDstandard12gxz,ksub(JacPDstandard13gxy,kadd(JacPDstandard31gxy,JacPDstandard21gxz))),ToReal(0.5));
- CCTK_REAL R3332 = 0;
+ CCTK_REAL_VEC R3212 =
+ kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gyz,kadd(JacPDstandard23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard31gyy),JacPDstandard22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))))));
- CCTK_REAL R3333 = 0;
+ CCTK_REAL_VEC R3213 =
+ kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard12gzz,kadd(JacPDstandard33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard31gyz),JacPDstandard23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))))));
- CCTK_REAL R4p1111 = R1111;
+ CCTK_REAL_VEC R3221 =
+ kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyy,kadd(JacPDstandard22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard32gxy),JacPDstandard21gyz))))));
- CCTK_REAL R4p1112 = R1112;
+ CCTK_REAL_VEC R3222 =
+ kmul(ksub(JacPDstandard23gyy,JacPDstandard32gyy),ToReal(0.5));
- CCTK_REAL R4p1113 = R1113;
+ CCTK_REAL_VEC R3223 =
+ kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard22gzz,kadd(JacPDstandard33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard32gyz),JacPDstandard23gyz))))),kmul(gxxL,SQR(gamma132)))));
- CCTK_REAL R4p1121 = R1121;
+ CCTK_REAL_VEC R3231 =
+ kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard13gyz,kadd(JacPDstandard32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard33gxy),JacPDstandard21gzz))))));
- CCTK_REAL R4p1122 = R1122;
+ CCTK_REAL_VEC R3232 =
+ kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard33gyy),JacPDstandard22gzz)))));
- CCTK_REAL R4p1123 = R1123;
+ CCTK_REAL_VEC R3233 =
+ kmul(ksub(JacPDstandard32gzz,JacPDstandard23gzz),ToReal(0.5));
- CCTK_REAL R4p1131 = R1131;
+ CCTK_REAL_VEC R3311 = ksub(JacPDstandard13gxz,JacPDstandard31gxz);
- CCTK_REAL R4p1132 = R1132;
+ CCTK_REAL_VEC R3312 =
+ kmul(kadd(JacPDstandard13gyz,ksub(JacPDstandard23gxz,kadd(JacPDstandard32gxz,JacPDstandard31gyz))),ToReal(0.5));
- CCTK_REAL R4p1133 = R1133;
+ CCTK_REAL_VEC R3313 =
+ kmul(ksub(JacPDstandard13gzz,JacPDstandard31gzz),ToReal(0.5));
- CCTK_REAL R4p1211 = R1211;
+ CCTK_REAL_VEC R3321 =
+ kmul(kadd(JacPDstandard13gyz,ksub(JacPDstandard23gxz,kadd(JacPDstandard32gxz,JacPDstandard31gyz))),ToReal(0.5));
- CCTK_REAL R4p1212 = kxxL*kyyL + R1212 - SQR(kxyL);
+ CCTK_REAL_VEC R3322 = ksub(JacPDstandard23gyz,JacPDstandard32gyz);
- CCTK_REAL R4p1213 = -(kxyL*kxzL) + kxxL*kyzL + R1213;
+ CCTK_REAL_VEC R3323 =
+ kmul(ksub(JacPDstandard23gzz,JacPDstandard32gzz),ToReal(0.5));
- CCTK_REAL R4p1221 = -(kxxL*kyyL) + R1221 + SQR(kxyL);
+ CCTK_REAL_VEC R3331 =
+ kmul(ksub(JacPDstandard13gzz,JacPDstandard31gzz),ToReal(0.5));
- CCTK_REAL R4p1222 = R1222;
+ CCTK_REAL_VEC R3332 =
+ kmul(ksub(JacPDstandard23gzz,JacPDstandard32gzz),ToReal(0.5));
- CCTK_REAL R4p1223 = -(kxzL*kyyL) + kxyL*kyzL + R1223;
+ CCTK_REAL_VEC R3333 = ToReal(0);
- CCTK_REAL R4p1231 = kxyL*kxzL - kxxL*kyzL + R1231;
+ CCTK_REAL_VEC R4p1111 = R1111;
- CCTK_REAL R4p1232 = kxzL*kyyL - kxyL*kyzL + R1232;
+ CCTK_REAL_VEC R4p1112 = R1112;
- CCTK_REAL R4p1233 = R1233;
+ CCTK_REAL_VEC R4p1113 = R1113;
- CCTK_REAL R4p1311 = R1311;
+ CCTK_REAL_VEC R4p1121 = R1121;
- CCTK_REAL R4p1312 = -(kxyL*kxzL) + kxxL*kyzL + R1312;
+ CCTK_REAL_VEC R4p1122 = R1122;
- CCTK_REAL R4p1313 = kxxL*kzzL + R1313 - SQR(kxzL);
+ CCTK_REAL_VEC R4p1123 = R1123;
- CCTK_REAL R4p1321 = kxyL*kxzL - kxxL*kyzL + R1321;
+ CCTK_REAL_VEC R4p1131 = R1131;
- CCTK_REAL R4p1322 = R1322;
+ CCTK_REAL_VEC R4p1132 = R1132;
- CCTK_REAL R4p1323 = -(kxzL*kyzL) + kxyL*kzzL + R1323;
+ CCTK_REAL_VEC R4p1133 = R1133;
- CCTK_REAL R4p1331 = -(kxxL*kzzL) + R1331 + SQR(kxzL);
+ CCTK_REAL_VEC R4p1211 = R1211;
- CCTK_REAL R4p1332 = kxzL*kyzL - kxyL*kzzL + R1332;
+ CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL)));
- CCTK_REAL R4p1333 = R1333;
+ CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
- CCTK_REAL R4p2111 = R2111;
+ CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL)));
- CCTK_REAL R4p2112 = -(kxxL*kyyL) + R2112 + SQR(kxyL);
+ CCTK_REAL_VEC R4p1222 = R1222;
- CCTK_REAL R4p2113 = kxyL*kxzL - kxxL*kyzL + R2113;
+ CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
- CCTK_REAL R4p2121 = kxxL*kyyL + R2121 - SQR(kxyL);
+ CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231));
- CCTK_REAL R4p2122 = R2122;
+ CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232));
- CCTK_REAL R4p2123 = kxzL*kyyL - kxyL*kyzL + R2123;
+ CCTK_REAL_VEC R4p1233 = R1233;
- CCTK_REAL R4p2131 = -(kxyL*kxzL) + kxxL*kyzL + R2131;
+ CCTK_REAL_VEC R4p1311 = R1311;
- CCTK_REAL R4p2132 = -(kxzL*kyyL) + kxyL*kyzL + R2132;
+ CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312));
- CCTK_REAL R4p2133 = R2133;
+ CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)));
- CCTK_REAL R4p2211 = R2211;
+ CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321));
- CCTK_REAL R4p2212 = R2212;
+ CCTK_REAL_VEC R4p1322 = R1322;
- CCTK_REAL R4p2213 = R2213;
+ CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
- CCTK_REAL R4p2221 = R2221;
+ CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL)));
- CCTK_REAL R4p2222 = R2222;
+ CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332));
- CCTK_REAL R4p2223 = R2223;
+ CCTK_REAL_VEC R4p1333 = R1333;
- CCTK_REAL R4p2231 = R2231;
+ CCTK_REAL_VEC R4p2111 = R2111;
- CCTK_REAL R4p2232 = R2232;
+ CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL)));
- CCTK_REAL R4p2233 = R2233;
+ CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113));
- CCTK_REAL R4p2311 = R2311;
+ CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL)));
- CCTK_REAL R4p2312 = -(kxzL*kyyL) + kxyL*kyzL + R2312;
+ CCTK_REAL_VEC R4p2122 = R2122;
- CCTK_REAL R4p2313 = -(kxzL*kyzL) + kxyL*kzzL + R2313;
+ CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123));
- CCTK_REAL R4p2321 = kxzL*kyyL - kxyL*kyzL + R2321;
+ CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131));
- CCTK_REAL R4p2322 = R2322;
+ CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132));
- CCTK_REAL R4p2323 = kyyL*kzzL + R2323 - SQR(kyzL);
+ CCTK_REAL_VEC R4p2133 = R2133;
- CCTK_REAL R4p2331 = kxzL*kyzL - kxyL*kzzL + R2331;
+ CCTK_REAL_VEC R4p2211 = R2211;
- CCTK_REAL R4p2332 = -(kyyL*kzzL) + R2332 + SQR(kyzL);
+ CCTK_REAL_VEC R4p2212 = R2212;
- CCTK_REAL R4p2333 = R2333;
+ CCTK_REAL_VEC R4p2213 = R2213;
- CCTK_REAL R4p3111 = R3111;
+ CCTK_REAL_VEC R4p2221 = R2221;
- CCTK_REAL R4p3112 = kxyL*kxzL - kxxL*kyzL + R3112;
+ CCTK_REAL_VEC R4p2222 = R2222;
- CCTK_REAL R4p3113 = -(kxxL*kzzL) + R3113 + SQR(kxzL);
+ CCTK_REAL_VEC R4p2223 = R2223;
- CCTK_REAL R4p3121 = -(kxyL*kxzL) + kxxL*kyzL + R3121;
+ CCTK_REAL_VEC R4p2231 = R2231;
- CCTK_REAL R4p3122 = R3122;
+ CCTK_REAL_VEC R4p2232 = R2232;
- CCTK_REAL R4p3123 = kxzL*kyzL - kxyL*kzzL + R3123;
+ CCTK_REAL_VEC R4p2233 = R2233;
- CCTK_REAL R4p3131 = kxxL*kzzL + R3131 - SQR(kxzL);
+ CCTK_REAL_VEC R4p2311 = R2311;
- CCTK_REAL R4p3132 = -(kxzL*kyzL) + kxyL*kzzL + R3132;
+ CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312));
- CCTK_REAL R4p3133 = R3133;
+ CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313));
- CCTK_REAL R4p3211 = R3211;
+ CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321));
- CCTK_REAL R4p3212 = kxzL*kyyL - kxyL*kyzL + R3212;
+ CCTK_REAL_VEC R4p2322 = R2322;
- CCTK_REAL R4p3213 = kxzL*kyzL - kxyL*kzzL + R3213;
+ CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)));
- CCTK_REAL R4p3221 = -(kxzL*kyyL) + kxyL*kyzL + R3221;
+ CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331));
- CCTK_REAL R4p3222 = R3222;
+ CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL)));
- CCTK_REAL R4p3223 = -(kyyL*kzzL) + R3223 + SQR(kyzL);
+ CCTK_REAL_VEC R4p2333 = R2333;
- CCTK_REAL R4p3231 = -(kxzL*kyzL) + kxyL*kzzL + R3231;
+ CCTK_REAL_VEC R4p3111 = R3111;
- CCTK_REAL R4p3232 = kyyL*kzzL + R3232 - SQR(kyzL);
+ CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112));
- CCTK_REAL R4p3233 = R3233;
+ CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL)));
- CCTK_REAL R4p3311 = R3311;
+ CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121));
- CCTK_REAL R4p3312 = R3312;
+ CCTK_REAL_VEC R4p3122 = R3122;
- CCTK_REAL R4p3313 = R3313;
+ CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123));
- CCTK_REAL R4p3321 = R3321;
+ CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL)));
- CCTK_REAL R4p3322 = R3322;
+ CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132));
- CCTK_REAL R4p3323 = R3323;
+ CCTK_REAL_VEC R4p3133 = R3133;
- CCTK_REAL R4p3331 = R3331;
+ CCTK_REAL_VEC R4p3211 = R3211;
- CCTK_REAL R4p3332 = R3332;
+ CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212));
- CCTK_REAL R4p3333 = R3333;
+ CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213));
- CCTK_REAL Ro111 = 0;
+ CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221));
- CCTK_REAL Ro112 = gamma121*kxxL + (-gamma111 + gamma221)*kxyL +
- gamma321*kxzL - gamma211*kyyL - gamma311*kyzL + PDstandard1kxy -
- PDstandard2kxx;
+ CCTK_REAL_VEC R4p3222 = R3222;
- CCTK_REAL Ro113 = gamma131*kxxL + gamma231*kxyL + (-gamma111 +
- gamma331)*kxzL - gamma211*kyzL - gamma311*kzzL + PDstandard1kxz -
- PDstandard3kxx;
+ CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL)));
- CCTK_REAL Ro121 = -(gamma121*kxxL) + (gamma111 - gamma221)*kxyL -
- gamma321*kxzL + gamma211*kyyL + gamma311*kyzL - PDstandard1kxy +
- PDstandard2kxx;
+ CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231));
- CCTK_REAL Ro122 = 0;
+ CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)));
- CCTK_REAL Ro123 = gamma131*kxyL - gamma121*kxzL + gamma231*kyyL +
- (-gamma221 + gamma331)*kyzL - gamma321*kzzL + PDstandard2kxz -
- PDstandard3kxy;
+ CCTK_REAL_VEC R4p3233 = R3233;
- CCTK_REAL Ro131 = -(gamma131*kxxL) - gamma231*kxyL + (gamma111 -
- gamma331)*kxzL + gamma211*kyzL + gamma311*kzzL - PDstandard1kxz +
- PDstandard3kxx;
+ CCTK_REAL_VEC R4p3311 = R3311;
- CCTK_REAL Ro132 = -(gamma131*kxyL) + gamma121*kxzL - gamma231*kyyL +
- (gamma221 - gamma331)*kyzL + gamma321*kzzL - PDstandard2kxz +
- PDstandard3kxy;
+ CCTK_REAL_VEC R4p3312 = R3312;
- CCTK_REAL Ro133 = 0;
+ CCTK_REAL_VEC R4p3313 = R3313;
- CCTK_REAL Ro211 = 0;
+ CCTK_REAL_VEC R4p3321 = R3321;
- CCTK_REAL Ro212 = gamma122*kxxL + (-gamma121 + gamma222)*kxyL +
- gamma322*kxzL - gamma221*kyyL - gamma321*kyzL + PDstandard1kyy -
- PDstandard2kxy;
+ CCTK_REAL_VEC R4p3322 = R3322;
- CCTK_REAL Ro213 = gamma132*kxxL + gamma232*kxyL + (-gamma121 +
- gamma332)*kxzL - gamma221*kyzL - gamma321*kzzL + PDstandard1kyz -
- PDstandard3kxy;
+ CCTK_REAL_VEC R4p3323 = R3323;
- CCTK_REAL Ro221 = -(gamma122*kxxL) + (gamma121 - gamma222)*kxyL -
- gamma322*kxzL + gamma221*kyyL + gamma321*kyzL - PDstandard1kyy +
- PDstandard2kxy;
+ CCTK_REAL_VEC R4p3331 = R3331;
- CCTK_REAL Ro222 = 0;
+ CCTK_REAL_VEC R4p3332 = R3332;
- CCTK_REAL Ro223 = gamma132*kxyL - gamma122*kxzL + gamma232*kyyL +
- (-gamma222 + gamma332)*kyzL - gamma322*kzzL + PDstandard2kyz -
- PDstandard3kyy;
+ CCTK_REAL_VEC R4p3333 = R3333;
- CCTK_REAL Ro231 = -(gamma132*kxxL) - gamma232*kxyL + (gamma121 -
- gamma332)*kxzL + gamma221*kyzL + gamma321*kzzL - PDstandard1kyz +
- PDstandard3kxy;
+ CCTK_REAL_VEC Ro111 = ToReal(0);
- CCTK_REAL Ro232 = -(gamma132*kxyL) + gamma122*kxzL - gamma232*kyyL +
- (gamma222 - gamma332)*kyzL + gamma322*kzzL - PDstandard2kyz +
- PDstandard3kyy;
+ CCTK_REAL_VEC Ro112 =
+ kadd(JacPDstandard1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard2kxx))));
- CCTK_REAL Ro233 = 0;
+ CCTK_REAL_VEC Ro113 =
+ kadd(JacPDstandard1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard3kxx))));
- CCTK_REAL Ro311 = 0;
+ CCTK_REAL_VEC Ro121 =
+ kadd(JacPDstandard2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard1kxy))));
- CCTK_REAL Ro312 = gamma132*kxxL + (-gamma131 + gamma232)*kxyL +
- gamma332*kxzL - gamma231*kyyL - gamma331*kyzL + PDstandard1kyz -
- PDstandard2kxz;
+ CCTK_REAL_VEC Ro122 = ToReal(0);
- CCTK_REAL Ro313 = gamma133*kxxL + gamma233*kxyL + (-gamma131 +
- gamma333)*kxzL - gamma231*kyzL - gamma331*kzzL + PDstandard1kzz -
- PDstandard3kxz;
+ CCTK_REAL_VEC Ro123 =
+ kadd(JacPDstandard2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard3kxy))));
- CCTK_REAL Ro321 = -(gamma132*kxxL) + (gamma131 - gamma232)*kxyL -
- gamma332*kxzL + gamma231*kyyL + gamma331*kyzL - PDstandard1kyz +
- PDstandard2kxz;
+ CCTK_REAL_VEC Ro131 =
+ kadd(JacPDstandard3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard1kxz))));
- CCTK_REAL Ro322 = 0;
-
- CCTK_REAL Ro323 = gamma133*kxyL - gamma132*kxzL + gamma233*kyyL +
- (-gamma232 + gamma333)*kyzL - gamma332*kzzL + PDstandard2kzz -
- PDstandard3kyz;
-
- CCTK_REAL Ro331 = -(gamma133*kxxL) - gamma233*kxyL + (gamma131 -
- gamma333)*kxzL + gamma231*kyzL + gamma331*kzzL - PDstandard1kzz +
- PDstandard3kxz;
-
- CCTK_REAL Ro332 = -(gamma133*kxyL) + gamma132*kxzL - gamma233*kyyL +
- (gamma232 - gamma333)*kyzL + gamma332*kzzL - PDstandard2kzz +
- PDstandard3kyz;
-
- CCTK_REAL Ro333 = 0;
-
- CCTK_REAL Rojo11 = gInv11*R1111 + gInv12*R1112 + gInv13*R1113 +
- gInv21*R1211 + gInv23*(-(kxyL*kxzL) + kxxL*kyzL + R1213) + gInv31*R1311
- + gInv32*(-(kxyL*kxzL) + kxxL*kyzL + R1312) + gInv22*(kxxL*kyyL + R1212
- - SQR(kxyL)) + gInv33*(kxxL*kzzL + R1313 - SQR(kxzL));
-
- CCTK_REAL Rojo12 = gInv11*R1121 + gInv13*(kxyL*kxzL - kxxL*kyzL +
- R1123) + gInv21*R1221 + gInv22*R1222 + gInv23*R1223 + gInv31*R1321 +
- gInv32*(-(kxzL*kyyL) + kxyL*kyzL + R1322) + gInv33*(-(kxzL*kyzL) +
- kxyL*kzzL + R1323) + gInv12*(-(kxxL*kyyL) + R1122 + SQR(kxyL));
-
- CCTK_REAL Rojo13 = gInv11*R1131 + gInv12*(kxyL*kxzL - kxxL*kyzL +
- R1132) + gInv21*R1231 + gInv22*(kxzL*kyyL - kxyL*kyzL + R1232) +
- gInv23*(kxzL*kyzL - kxyL*kzzL + R1233) + gInv31*R1331 + gInv32*R1332 +
- gInv33*R1333 + gInv13*(-(kxxL*kzzL) + R1133 + SQR(kxzL));
-
- CCTK_REAL Rojo21 = gInv11*R2111 + gInv12*R2112 + gInv13*R2113 +
- gInv22*R2212 + gInv23*(-(kxzL*kyyL) + kxyL*kyzL + R2213) +
- gInv31*(kxyL*kxzL - kxxL*kyzL + R2311) + gInv32*R2312 +
- gInv33*(-(kxzL*kyzL) + kxyL*kzzL + R2313) + gInv21*(-(kxxL*kyyL) +
- R2211 + SQR(kxyL));
-
- CCTK_REAL Rojo22 = gInv12*R2122 + gInv13*(kxzL*kyyL - kxyL*kyzL +
- R2123) + gInv21*R2221 + gInv22*R2222 + gInv23*R2223 + gInv31*(kxzL*kyyL
- - kxyL*kyzL + R2321) + gInv32*R2322 + gInv11*(kxxL*kyyL + R2121 -
- SQR(kxyL)) + gInv33*(kyyL*kzzL + R2323 - SQR(kyzL));
-
- CCTK_REAL Rojo23 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R2131) +
- gInv12*R2132 + gInv13*(kxzL*kyzL - kxyL*kzzL + R2133) +
- gInv21*(-(kxzL*kyyL) + kxyL*kyzL + R2231) + gInv22*R2232 + gInv31*R2331
- + gInv32*R2332 + gInv33*R2333 + gInv23*(-(kyyL*kzzL) + R2233 +
- SQR(kyzL));
-
- CCTK_REAL Rojo31 = gInv11*R3111 + gInv12*R3112 + gInv13*R3113 +
- gInv21*(kxyL*kxzL - kxxL*kyzL + R3211) + gInv22*(kxzL*kyyL - kxyL*kyzL
- + R3212) + gInv23*R3213 + gInv32*(kxzL*kyzL - kxyL*kzzL + R3312) +
- gInv33*R3313 + gInv31*(-(kxxL*kzzL) + R3311 + SQR(kxzL));
-
- CCTK_REAL Rojo32 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R3121) +
- gInv12*(-(kxzL*kyyL) + kxyL*kyzL + R3122) + gInv13*R3123 + gInv21*R3221
- + gInv22*R3222 + gInv23*R3223 + gInv31*(kxzL*kyzL - kxyL*kzzL + R3321)
- + gInv33*R3323 + gInv32*(-(kyyL*kzzL) + R3322 + SQR(kyzL));
-
- CCTK_REAL Rojo33 = gInv12*(-(kxzL*kyzL) + kxyL*kzzL + R3132) +
- gInv13*R3133 + gInv21*(-(kxzL*kyzL) + kxyL*kzzL + R3231) + gInv23*R3233
- + gInv31*R3331 + gInv32*R3332 + gInv33*R3333 + gInv11*(kxxL*kzzL +
- R3131 - SQR(kxzL)) + gInv22*(kyyL*kzzL + R3232 - SQR(kyzL));
-
- CCTK_REAL Psi4rL = n3*(-(n2*R4p2333) - n1*R4p3313)*SQR(imbar3) +
- n1*(n3*R4p1132*rmbar1*rmbar2 + n2*R4p1221*rmbar1*rmbar2 +
- n3*R4p1231*rmbar1*rmbar2 + n2*R4p1123*rmbar1*rmbar3 +
- n3*R4p1331*rmbar1*rmbar3 + n2*R4p2113*rmbar1*rmbar3 +
- n3*R4p1233*rmbar2*rmbar3 + n2*R4p1322*rmbar2*rmbar3 +
- n3*R4p1332*rmbar2*rmbar3 + n2*R4p2213*rmbar2*rmbar3 +
- 2*nn*rmbar1*rmbar2*Ro112 + 2*nn*rmbar1*rmbar3*Ro113 +
- 2*nn*rmbar1*rmbar2*Ro211 + 2*nn*rmbar2*rmbar3*Ro213 +
- 2*nn*rmbar1*rmbar3*Ro311 + 2*nn*rmbar2*rmbar3*Ro312 +
- n2*(R4p1122*rmbar1*rmbar2 - R4p1323*SQR(imbar3))) +
- n3*(n2*R4p3122*rmbar1*rmbar2 + n1*R4p3211*rmbar1*rmbar2 +
- n2*R4p3221*rmbar1*rmbar2 + n1*R4p1133*rmbar1*rmbar3 +
- n2*R4p2331*rmbar1*rmbar3 + n1*R4p3113*rmbar1*rmbar3 +
- n2*R4p3123*rmbar1*rmbar3 + n1*R4p3311*rmbar1*rmbar3 +
- n2*R4p2332*rmbar2*rmbar3 + n1*R4p3213*rmbar2*rmbar3 +
- n2*R4p3223*rmbar2*rmbar3 + n1*R4p3312*rmbar2*rmbar3 +
- n2*R4p3322*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro132 +
- 2*nn*rmbar1*rmbar3*Ro133 + 2*nn*rmbar1*rmbar2*Ro231 +
- 2*nn*rmbar2*rmbar3*Ro233 + 2*nn*rmbar1*rmbar3*Ro331 +
- 2*nn*rmbar2*rmbar3*Ro332 + n1*(R4p3112*rmbar1*rmbar2 -
- R4p1333*SQR(imbar3))) + n2*(n3*R4p2132*rmbar1*rmbar2 +
- n1*R4p2211*rmbar1*rmbar2 + n3*R4p2231*rmbar1*rmbar2 +
- n1*R4p1321*rmbar1*rmbar3 + n3*R4p2133*rmbar1*rmbar3 +
- n1*R4p2311*rmbar1*rmbar3 + n3*R4p3321*rmbar1*rmbar3 +
- n1*R4p1223*rmbar2*rmbar3 + n3*R4p2233*rmbar2*rmbar3 +
- n1*R4p2312*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro122 +
- 2*nn*rmbar1*rmbar3*Ro123 + 2*nn*rmbar1*rmbar2*Ro221 +
- 2*nn*rmbar2*rmbar3*Ro223 + 2*nn*rmbar1*rmbar3*Ro321 +
- 2*nn*rmbar2*rmbar3*Ro322 + n1*(R4p2112*rmbar1*rmbar2 -
- R4p2313*SQR(imbar3))) + R4p1112*rmbar1*rmbar2*SQR(n1) +
- R4p1211*rmbar1*rmbar2*SQR(n1) + R4p1113*rmbar1*rmbar3*SQR(n1) +
- R4p1311*rmbar1*rmbar3*SQR(n1) + R4p1213*rmbar2*rmbar3*SQR(n1) +
- R4p1312*rmbar2*rmbar3*SQR(n1) + R4p2122*rmbar1*rmbar2*SQR(n2) +
- R4p2221*rmbar1*rmbar2*SQR(n2) + R4p2123*rmbar1*rmbar3*SQR(n2) +
- R4p2321*rmbar1*rmbar3*SQR(n2) + R4p2223*rmbar2*rmbar3*SQR(n2) +
- R4p2322*rmbar2*rmbar3*SQR(n2) + SQR(imbar3)*(-2*n2*nn*Ro323 -
- R4p2323*SQR(n2)) + R4p3132*rmbar1*rmbar2*SQR(n3) +
- R4p3231*rmbar1*rmbar2*SQR(n3) + R4p3133*rmbar1*rmbar3*SQR(n3) +
- R4p3331*rmbar1*rmbar3*SQR(n3) + R4p3233*rmbar2*rmbar3*SQR(n3) +
- R4p3332*rmbar2*rmbar3*SQR(n3) + SQR(imbar3)*(-2*n3*nn*Ro333 -
- R4p3333*SQR(n3)) + rmbar1*rmbar2*Rojo12*SQR(nn) +
- rmbar1*rmbar3*Rojo13*SQR(nn) + rmbar1*rmbar2*Rojo21*SQR(nn) +
- rmbar2*rmbar3*Rojo23*SQR(nn) + rmbar1*rmbar3*Rojo31*SQR(nn) +
- rmbar2*rmbar3*Rojo32*SQR(nn) - SQR(imbar1)*(n2*n3*R4p2131 +
- n2*n3*R4p3121 + n1*(n2*(R4p1121 + R4p2111) + n3*(R4p1131 + R4p3111) +
- 2*nn*Ro111) + 2*n2*nn*Ro121 + 2*n3*nn*Ro131 + R4p1111*SQR(n1) +
- R4p2121*SQR(n2) + R4p3131*SQR(n3) + Rojo11*SQR(nn)) -
- SQR(imbar2)*(n2*n3*R4p2232 + n2*n3*R4p3222 + n1*(n2*(R4p1222 + R4p2212)
- + n3*(R4p1232 + R4p3212) + 2*nn*Ro212) + 2*n2*nn*Ro222 + 2*n3*nn*Ro232
- + R4p1212*SQR(n1) + R4p2222*SQR(n2) + R4p3232*SQR(n3) + Rojo22*SQR(nn))
- - imbar2*imbar3*(2*n3*nn*Ro233 + n1*(n2*(R4p1223 + R4p1322 + R4p2213 +
- R4p2312) + n3*(R4p1233 + R4p1332 + R4p3213 + R4p3312) + 2*nn*(Ro213 +
- Ro312)) + n2*(n3*(R4p2233 + R4p2332 + R4p3223 + R4p3322) + 2*nn*(Ro223
- + Ro322)) + 2*n3*nn*Ro332 + (R4p1213 + R4p1312)*SQR(n1) + (R4p2223 +
- R4p2322)*SQR(n2) + R4p3233*SQR(n3) + R4p3332*SQR(n3) + Rojo23*SQR(nn) +
- Rojo32*SQR(nn)) + SQR(imbar3)*(-(n2*n3*R4p3323) - 2*n1*nn*Ro313 -
- R4p1313*SQR(n1) - Rojo33*SQR(nn)) - imbar1*(imbar2*(2*n3*nn*Ro132 +
- n1*(n2*(R4p1122 + R4p1221 + R4p2112 + R4p2211) + n3*(R4p1132 + R4p1231
- + R4p3112 + R4p3211) + 2*nn*(Ro112 + Ro211)) + n2*(n3*(R4p2132 +
- R4p2231 + R4p3122 + R4p3221) + 2*nn*(Ro122 + Ro221)) + 2*n3*nn*Ro231 +
- (R4p1112 + R4p1211)*SQR(n1) + (R4p2122 + R4p2221)*SQR(n2) +
- R4p3132*SQR(n3) + R4p3231*SQR(n3) + Rojo12*SQR(nn) + Rojo21*SQR(nn)) +
- imbar3*(2*n3*nn*Ro133 + n1*(n2*(R4p1123 + R4p1321 + R4p2113 + R4p2311)
- + n3*(R4p1133 + R4p1331 + R4p3113 + R4p3311) + 2*nn*(Ro113 + Ro311)) +
- n2*(n3*(R4p2133 + R4p2331 + R4p3123 + R4p3321) + 2*nn*(Ro123 + Ro321))
- + 2*n3*nn*Ro331 + (R4p1113 + R4p1311)*SQR(n1) + (R4p2123 +
- R4p2321)*SQR(n2) + R4p3133*SQR(n3) + R4p3331*SQR(n3) + Rojo13*SQR(nn) +
- Rojo31*SQR(nn))) + n1*n2*R4p1121*SQR(rmbar1) +
- n1*n3*R4p1131*SQR(rmbar1) + n1*n2*R4p2111*SQR(rmbar1) +
- n2*n3*R4p2131*SQR(rmbar1) + n1*n3*R4p3111*SQR(rmbar1) +
- n2*n3*R4p3121*SQR(rmbar1) + 2*n1*nn*Ro111*SQR(rmbar1) +
- 2*n2*nn*Ro121*SQR(rmbar1) + 2*n3*nn*Ro131*SQR(rmbar1) +
- R4p1111*SQR(n1)*SQR(rmbar1) + R4p2121*SQR(n2)*SQR(rmbar1) +
- R4p3131*SQR(n3)*SQR(rmbar1) + Rojo11*SQR(nn)*SQR(rmbar1) +
- n1*n2*R4p1222*SQR(rmbar2) + n1*n3*R4p1232*SQR(rmbar2) +
- n1*n2*R4p2212*SQR(rmbar2) + n2*n3*R4p2232*SQR(rmbar2) +
- n1*n3*R4p3212*SQR(rmbar2) + n2*n3*R4p3222*SQR(rmbar2) +
- 2*n1*nn*Ro212*SQR(rmbar2) + 2*n2*nn*Ro222*SQR(rmbar2) +
- 2*n3*nn*Ro232*SQR(rmbar2) + R4p1212*SQR(n1)*SQR(rmbar2) +
- R4p2222*SQR(n2)*SQR(rmbar2) + R4p3232*SQR(n3)*SQR(rmbar2) +
- Rojo22*SQR(nn)*SQR(rmbar2) + n1*n2*R4p1323*SQR(rmbar3) +
- n1*n3*R4p1333*SQR(rmbar3) + n1*n2*R4p2313*SQR(rmbar3) +
- n2*n3*R4p2333*SQR(rmbar3) + n1*n3*R4p3313*SQR(rmbar3) +
- n2*n3*R4p3323*SQR(rmbar3) + 2*n1*nn*Ro313*SQR(rmbar3) +
- 2*n2*nn*Ro323*SQR(rmbar3) + 2*n3*nn*Ro333*SQR(rmbar3) +
- R4p1313*SQR(n1)*SQR(rmbar3) + R4p2323*SQR(n2)*SQR(rmbar3) +
- R4p3333*SQR(n3)*SQR(rmbar3) + Rojo33*SQR(nn)*SQR(rmbar3);
-
- CCTK_REAL Psi4iL = -(im1*(4*n3*nn*rm1*Ro131 + 2*n3*nn*rm2*Ro132 +
- 2*n3*nn*rm3*Ro133 + 2*n3*nn*rm2*Ro231 + n1*(n2*(2*R4p1121*rm1 +
- 2*R4p2111*rm1 + R4p1122*rm2 + R4p1221*rm2 + R4p2112*rm2 + R4p2211*rm2 +
- R4p1123*rm3 + R4p1321*rm3 + R4p2113*rm3 + R4p2311*rm3) +
- n3*(2*R4p1131*rm1 + 2*R4p3111*rm1 + R4p1132*rm2 + R4p1231*rm2 +
- R4p3112*rm2 + R4p3211*rm2 + R4p1133*rm3 + R4p1331*rm3 + R4p3113*rm3 +
- R4p3311*rm3) + 2*nn*(2*rm1*Ro111 + rm2*(Ro112 + Ro211) + rm3*(Ro113 +
- Ro311))) + n2*(n3*(2*R4p2131*rm1 + 2*R4p3121*rm1 + R4p2132*rm2 +
- R4p2231*rm2 + R4p3122*rm2 + R4p3221*rm2 + R4p2133*rm3 + R4p2331*rm3 +
- R4p3123*rm3 + R4p3321*rm3) + 2*nn*(2*rm1*Ro121 + rm2*(Ro122 + Ro221) +
- rm3*(Ro123 + Ro321))) + 2*n3*nn*rm3*Ro331 + (2*R4p1111*rm1 +
- R4p1112*rm2 + R4p1211*rm2 + R4p1113*rm3 + R4p1311*rm3)*SQR(n1) +
- (2*R4p2121*rm1 + R4p2122*rm2 + R4p2221*rm2 + R4p2123*rm3 +
- R4p2321*rm3)*SQR(n2) + 2*R4p3131*rm1*SQR(n3) + R4p3132*rm2*SQR(n3) +
- R4p3231*rm2*SQR(n3) + R4p3133*rm3*SQR(n3) + R4p3331*rm3*SQR(n3) +
- 2*rm1*Rojo11*SQR(nn) + rm2*Rojo12*SQR(nn) + rm3*Rojo13*SQR(nn) +
- rm2*Rojo21*SQR(nn) + rm3*Rojo31*SQR(nn))) - im2*(2*n3*nn*rm1*Ro132 +
- 2*n3*nn*rm1*Ro231 + 4*n3*nn*rm2*Ro232 + 2*n3*nn*rm3*Ro233 +
- n1*(n2*(R4p1122*rm1 + R4p1221*rm1 + R4p2112*rm1 + R4p2211*rm1 +
- 2*R4p1222*rm2 + 2*R4p2212*rm2 + R4p1223*rm3 + R4p1322*rm3 + R4p2213*rm3
- + R4p2312*rm3) + n3*(R4p1132*rm1 + R4p1231*rm1 + R4p3112*rm1 +
- R4p3211*rm1 + 2*R4p1232*rm2 + 2*R4p3212*rm2 + R4p1233*rm3 + R4p1332*rm3
- + R4p3213*rm3 + R4p3312*rm3) + 2*nn*(rm1*(Ro112 + Ro211) + 2*rm2*Ro212
- + rm3*(Ro213 + Ro312))) + n2*(n3*(R4p2132*rm1 + R4p2231*rm1 +
- R4p3122*rm1 + R4p3221*rm1 + 2*R4p2232*rm2 + 2*R4p3222*rm2 + R4p2233*rm3
- + R4p2332*rm3 + R4p3223*rm3 + R4p3322*rm3) + 2*nn*(rm1*(Ro122 + Ro221)
- + 2*rm2*Ro222 + rm3*(Ro223 + Ro322))) + 2*n3*nn*rm3*Ro332 +
- (R4p1112*rm1 + R4p1211*rm1 + 2*R4p1212*rm2 + R4p1213*rm3 +
- R4p1312*rm3)*SQR(n1) + (R4p2122*rm1 + R4p2221*rm1 + 2*R4p2222*rm2 +
- R4p2223*rm3 + R4p2322*rm3)*SQR(n2) + R4p3132*rm1*SQR(n3) +
- R4p3231*rm1*SQR(n3) + 2*R4p3232*rm2*SQR(n3) + R4p3233*rm3*SQR(n3) +
- R4p3332*rm3*SQR(n3) + rm1*Rojo12*SQR(nn) + rm1*Rojo21*SQR(nn) +
- 2*rm2*Rojo22*SQR(nn) + rm3*Rojo23*SQR(nn) + rm3*Rojo32*SQR(nn)) -
- im3*(2*n3*nn*rm1*Ro133 + 2*n3*nn*rm2*Ro233 + n1*(n2*(R4p1123*rm1 +
- R4p1321*rm1 + R4p2113*rm1 + R4p2311*rm1 + R4p1223*rm2 + R4p1322*rm2 +
- R4p2213*rm2 + R4p2312*rm2 + 2*R4p1323*rm3 + 2*R4p2313*rm3) +
- n3*(R4p1133*rm1 + R4p1331*rm1 + R4p3113*rm1 + R4p3311*rm1 + R4p1233*rm2
- + R4p1332*rm2 + R4p3213*rm2 + R4p3312*rm2 + 2*R4p1333*rm3 +
- 2*R4p3313*rm3) + 2*nn*(rm1*(Ro113 + Ro311) + rm2*(Ro213 + Ro312) +
- 2*rm3*Ro313)) + n2*(n3*(R4p2133*rm1 + R4p2331*rm1 + R4p3123*rm1 +
- R4p3321*rm1 + R4p2233*rm2 + R4p2332*rm2 + R4p3223*rm2 + R4p3322*rm2 +
- 2*R4p2333*rm3 + 2*R4p3323*rm3) + 2*nn*(rm1*(Ro123 + Ro321) + rm2*(Ro223
- + Ro322) + 2*rm3*Ro323)) + 2*n3*nn*rm1*Ro331 + 2*n3*nn*rm2*Ro332 +
- 4*n3*nn*rm3*Ro333 + (R4p1113*rm1 + R4p1311*rm1 + R4p1213*rm2 +
- R4p1312*rm2 + 2*R4p1313*rm3)*SQR(n1) + (R4p2123*rm1 + R4p2321*rm1 +
- R4p2223*rm2 + R4p2322*rm2 + 2*R4p2323*rm3)*SQR(n2) +
- R4p3133*rm1*SQR(n3) + R4p3331*rm1*SQR(n3) + R4p3233*rm2*SQR(n3) +
- R4p3332*rm2*SQR(n3) + 2*R4p3333*rm3*SQR(n3) + rm1*Rojo13*SQR(nn) +
- rm2*Rojo23*SQR(nn) + rm1*Rojo31*SQR(nn) + rm2*Rojo32*SQR(nn) +
- 2*rm3*Rojo33*SQR(nn));
-
- /* Copy local copies back to grid functions */
- Psi4i[index] = Psi4iL;
- Psi4r[index] = Psi4rL;
+ CCTK_REAL_VEC Ro132 =
+ kadd(JacPDstandard3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard2kxz))));
+
+ CCTK_REAL_VEC Ro133 = ToReal(0);
+
+ CCTK_REAL_VEC Ro211 = ToReal(0);
+
+ CCTK_REAL_VEC Ro212 =
+ kadd(JacPDstandard1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard2kxy))));
+
+ CCTK_REAL_VEC Ro213 =
+ kadd(JacPDstandard1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard3kxy))));
+
+ CCTK_REAL_VEC Ro221 =
+ kadd(JacPDstandard2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard1kyy))));
+
+ CCTK_REAL_VEC Ro222 = ToReal(0);
+
+ CCTK_REAL_VEC Ro223 =
+ kadd(JacPDstandard2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard3kyy))));
+
+ CCTK_REAL_VEC Ro231 =
+ kadd(JacPDstandard3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard1kyz))));
+
+ CCTK_REAL_VEC Ro232 =
+ kadd(JacPDstandard3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard2kyz))));
+
+ CCTK_REAL_VEC Ro233 = ToReal(0);
+
+ CCTK_REAL_VEC Ro311 = ToReal(0);
+
+ CCTK_REAL_VEC Ro312 =
+ kadd(JacPDstandard1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard2kxz))));
+
+ CCTK_REAL_VEC Ro313 =
+ kadd(JacPDstandard1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard3kxz))));
+
+ CCTK_REAL_VEC Ro321 =
+ kadd(JacPDstandard2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard1kyz))));
+
+ CCTK_REAL_VEC Ro322 = ToReal(0);
+
+ CCTK_REAL_VEC Ro323 =
+ kadd(JacPDstandard2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard3kyz))));
+
+ CCTK_REAL_VEC Ro331 =
+ kadd(JacPDstandard3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard1kzz))));
+
+ CCTK_REAL_VEC Ro332 =
+ kadd(JacPDstandard3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard2kzz))));
+
+ CCTK_REAL_VEC Ro333 = ToReal(0);
+
+ CCTK_REAL_VEC Rojo11 =
+ kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))))))))))));
+
+ CCTK_REAL_VEC Rojo12 =
+ kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))))));
+
+ CCTK_REAL_VEC Rojo13 =
+ kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233)))))))))));
+
+ CCTK_REAL_VEC Rojo21 =
+ kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)))))))))));
+
+ CCTK_REAL_VEC Rojo22 =
+ kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo23 =
+ kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo31 =
+ kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312)))))))))));
+
+ CCTK_REAL_VEC Rojo32 =
+ kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Rojo33 =
+ kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))))))))))));
+
+ CCTK_REAL_VEC Psi4rL =
+ kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi4iL =
+ knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi3rL =
+ kmadd(kmadd(ltet3,kmul(R4p3121,rm2),kmul(ltet1,kmul(R4p1131,rm3))),SQR(n1),kmadd(ltet1,kmadd(n3,kmadd(kmadd(n1,R4p1311,kmul(n2,R4p1312)),rm1,kmadd(kmadd(n2,R4p1223,kmul(n1,kadd(R4p1123,R4p1321))),rm2,kmul(kmadd(n1,R4p1331,kmul(n2,kadd(R4p1233,R4p1332))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p1112,kmul(n3,R4p1113)),rm1,kmul(n2,kmadd(R4p1122,rm2,kmul(R4p1132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p1211,kmul(n3,R4p1213)),rm1,kmul(n1,kmadd(R4p1221,rm2,kmul(R4p1231,rm3)))),kmul(rm1,kmadd(R4p1111,SQR(n1),kmadd(R4p1212,SQR(n2),kmul(R4p1313,SQR(n3)))))))),kmadd(ltet2,kmadd(n3,kmadd(kmadd(n1,R4p2311,kmul(n2,R4p2312)),rm1,kmadd(kmadd(n1,R4p2321,kmul(n2,kadd(R4p2223,R4p2322))),rm2,kmul(kmadd(n2,R4p2233,kmul(n1,kadd(R4p2133,R4p2331))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p2112,kmul(n3,R4p2113)),rm1,kmul(n2,kmadd(R4p2122,rm2,kmul(R4p2132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p2211,kmul(n3,R4p2213)),rm1,kmul(n1,kmadd(R4p2221,rm2,kmul(R4p2231,rm3)))),kmul(rm1,kmadd(R4p2111,SQR(n1),kmadd(R4p2212,SQR(n2),kmul(R4p2313,SQR(n3)))))))),kmadd(ltet3,kmadd(n3,kmadd(kmadd(n1,R4p3311,kmul(n2,R4p3312)),rm1,kmadd(kmadd(n2,R4p3223,kmul(n1,kadd(R4p3123,R4p3321))),rm2,kmul(kmadd(n1,R4p3331,kmul(n2,kadd(R4p3233,R4p3332))),rm3))),kmadd(n1,kmadd(kmadd(n2,R4p3112,kmul(n3,R4p3113)),rm1,kmul(n2,kmadd(R4p3122,rm2,kmul(R4p3132,rm3)))),kmadd(n2,kmadd(kmadd(n1,R4p3211,kmul(n3,R4p3213)),rm1,kmul(n1,kmadd(R4p3221,rm2,kmul(R4p3231,rm3)))),kmul(rm1,kmadd(R4p3111,SQR(n1),kmadd(R4p3212,SQR(n2),kmul(R4p3313,SQR(n3)))))))),kmadd(rm2,kmadd(kmadd(ltet1,R4p1121,kmul(ltet2,R4p2121)),SQR(n1),kmadd(kmadd(ltet1,R4p1222,kmadd(ltet2,R4p2222,kmul(ltet3,R4p3222))),SQR(n2),kmadd(kmadd(ltet1,R4p1323,kmadd(ltet2,R4p2323,kmul(ltet3,R4p3323))),SQR(n3),kmul(Rojo12,kmul(SQR(nn),ksub(ltet1,n1)))))),kmadd(SQR(nn),kmadd(kmadd(rm2,Rojo22,kmul(rm3,Rojo23)),ksub(ltet2,n2),kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),ksub(ltet3,n3),kmul(rm1,kmadd(Rojo11,ksub(ltet1,n1),kmul(Rojo21,ksub(ltet2,n2)))))),kmadd(rm3,kmadd(kmadd(ltet2,R4p2131,kmul(ltet3,R4p3131)),SQR(n1),kmadd(kmadd(ltet1,R4p1232,kmadd(ltet2,R4p2232,kmul(ltet3,R4p3232))),SQR(n2),kmadd(kmadd(ltet1,R4p1333,kmadd(ltet2,R4p2333,kmul(ltet3,R4p3333))),SQR(n3),kmul(SQR(nn),kmadd(Rojo13,ksub(ltet1,n1),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(n3,kmadd(rm2,kmadd(ltet2,kmul(n1,R4p2123),kmadd(n2,kmadd(ltet1,R4p1322,kmul(ltet3,R4p3322)),kmul(nn,kmul(Ro223,kmadd(ltet2,ToReal(-2),n2))))),kmadd(rm3,kmadd(ltet2,kmul(n2,R4p2332),kmadd(n1,kmadd(ltet1,R4p1133,kmul(ltet3,R4p3133)),kmul(nn,kmul(Ro333,kmadd(ltet3,ToReal(-2),n3))))),kmul(nn,kmadd(rm1,kmul(Ro113,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro313,kmsub(rm1,ksub(n3,ltet3),kmul(ltet1,rm3)),kmsub(Ro323,kmsub(rm2,ksub(n3,ltet3),kmul(ltet2,rm3)),kmadd(Ro123,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro133,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro233,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),kmul(Ro213,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2))))))))))))),kmul(nn,kmadd(kmadd(n1,kmul(rm1,Ro111),kmul(n2,kmul(rm1,Ro112))),kmadd(ltet1,ToReal(-2),n1),kmadd(n2,kmul(rm2,kmul(Ro222,kmadd(ltet2,ToReal(-2),n2))),kmadd(n1,kmul(rm3,kmul(Ro331,kmadd(ltet3,ToReal(-2),n3))),kmadd(n2,kmul(rm3,kmul(Ro332,kmadd(ltet3,ToReal(-2),n3))),kmadd(n2,kmul(Ro232,kmsub(rm3,ksub(n2,ltet2),kmul(ltet3,rm2))),kmadd(n1,kmsub(rm2,kmul(Ro221,kmadd(ltet2,ToReal(-2),n2)),kmul(Ro311,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))),knmsub(n2,kmadd(Ro122,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro312,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))),kmul(Ro132,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1)))))),kmadd(n1,kmadd(Ro121,kmsub(rm2,ksub(n1,ltet1),kmul(ltet2,rm1)),kmsub(Ro131,kmsub(rm3,ksub(n1,ltet1),kmul(ltet3,rm1)),kmadd(Ro211,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2))),kmadd(Ro321,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro231,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2)))))))),kmul(n2,kmsub(Ro212,kmsub(rm1,ksub(n2,ltet2),kmul(ltet1,rm2)),kmul(Ro322,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3)))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi3iL =
+ knmadd(im2,kmadd(n2,kmul(n3,kmul(nn,Ro223)),kmadd(n1,kmul(n3,kmul(nn,Ro321)),kmadd(n2,kmul(n3,kmul(nn,Ro322)),kmadd(ltet3,kmul(R4p3121,SQR(n1)),kmadd(nn,kmul(Ro121,SQR(n1)),kmadd(ltet3,kmul(R4p3222,SQR(n2)),kmadd(nn,kmul(Ro222,SQR(n2)),kmadd(ltet3,kmul(R4p3323,SQR(n3)),kmadd(nn,kmul(Ro323,SQR(n3)),kmadd(ltet3,kmul(Rojo32,SQR(nn)),kmadd(ltet2,kmadd(n2,kmul(n3,R4p2223),kmadd(n2,kmul(n3,R4p2322),kmadd(R4p2121,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p2323,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(-2))),kmadd(n3,kmul(nn,kmul(Ro223,ToReal(-2))),kmul(n1,kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,kadd(R4p2123,R4p2321),kmul(nn,kmul(Ro221,ToReal(-2)))))))))))))),kmadd(ltet3,kmul(n1,kmsub(n2,R4p3122,kmul(nn,Ro231))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3123),kmul(n2,kmul(nn,Ro232))),kmadd(ltet3,kmsub(n1,kmul(n2,R4p3221),kmul(n3,kmul(nn,Ro233))),kmadd(ltet3,kmsub(n2,kmul(n3,R4p3223),kmul(n1,kmul(nn,Ro321))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3321),kmul(n2,kmul(nn,Ro322))),kmadd(ltet3,kmul(n3,kmsub(n2,R4p3322,kmul(nn,Ro323))),kmadd(n1,kmsub(n2,kmul(nn,Ro122),kmul(Rojo12,SQR(nn))),kmadd(n2,kmsub(n1,kmul(nn,Ro221),kmul(Rojo22,SQR(nn))),kmadd(n3,kmsub(n1,kmul(nn,Ro123),kmul(Rojo32,SQR(nn))),kmul(ltet1,kmadd(R4p1121,SQR(n1),kmadd(R4p1222,SQR(n2),kmadd(R4p1323,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p1122,R4p1221),kmsub(n3,kadd(R4p1123,R4p1321),kmul(nn,kadd(Ro121,Ro211)))),kmsub(n2,kmsub(n3,kadd(R4p1223,R4p1322),kmul(nn,kadd(Ro122,Ro212))),kmul(n3,kmul(nn,kadd(Ro213,Ro123)))))))))))))))))))))))))))))),kmadd(im3,kmadd(ltet3,kmul(n2,kmul(n3,R4p3233)),kmadd(ltet3,kmul(n1,kmul(n3,R4p3331)),kmadd(ltet3,kmul(n2,kmul(n3,R4p3332)),kmadd(n1,kmul(n2,kmul(nn,Ro132)),kmadd(n1,kmul(n3,kmul(nn,Ro133)),kmadd(n1,kmul(n2,kmul(nn,Ro231)),kmadd(n2,kmul(n3,kmul(nn,Ro233)),kmadd(n1,kmul(n3,kmul(nn,Ro331)),kmadd(n2,kmul(n3,kmul(nn,Ro332)),kmadd(ltet3,kmul(R4p3131,SQR(n1)),kmadd(nn,kmul(Ro131,SQR(n1)),kmadd(ltet3,kmul(R4p3232,SQR(n2)),kmadd(nn,kmul(Ro232,SQR(n2)),kmadd(ltet3,kmul(R4p3333,SQR(n3)),kmadd(nn,kmul(Ro333,SQR(n3)),kmadd(ltet3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n1,kmul(nn,kmul(Ro331,ToReal(-2)))),kmadd(ltet3,kmul(n2,kmul(nn,kmul(Ro332,ToReal(-2)))),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),kmadd(n1,kmsub(ltet3,kmul(n2,R4p3132),kmul(Rojo13,SQR(nn))),kmadd(n2,kmsub(ltet3,kmul(n1,R4p3231),kmul(Rojo23,SQR(nn))),kmadd(n3,kmsub(ltet3,kmul(n1,R4p3133),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(R4p1131,SQR(n1),kmadd(R4p1232,SQR(n2),kmadd(R4p1333,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p1132,R4p1231),kmsub(n3,kadd(R4p1133,R4p1331),kmul(nn,kadd(Ro131,Ro311)))),kmsub(n2,kmsub(n3,kadd(R4p1233,R4p1332),kmul(nn,kadd(Ro132,Ro312))),kmul(n3,kmul(nn,kadd(Ro313,Ro133))))))))),kmul(ltet2,kmadd(R4p2131,SQR(n1),kmadd(R4p2232,SQR(n2),kmadd(R4p2333,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p2132,R4p2231),kmsub(n3,kadd(R4p2133,R4p2331),kmul(nn,kadd(Ro231,Ro321)))),kmsub(n2,kmsub(n3,kadd(R4p2233,R4p2332),kmul(nn,kadd(Ro232,Ro322))),kmul(n3,kmul(nn,kadd(Ro323,Ro233))))))))))))))))))))))))))))))))),kmul(im1,kmadd(n2,kmul(n3,kmul(nn,Ro213)),kmadd(n1,kmul(n3,kmul(nn,Ro311)),kmadd(n2,kmul(n3,kmul(nn,Ro312)),kmadd(ltet3,kmul(R4p3111,SQR(n1)),kmadd(nn,kmul(Ro111,SQR(n1)),kmadd(ltet3,kmul(R4p3212,SQR(n2)),kmadd(nn,kmul(Ro212,SQR(n2)),kmadd(ltet3,kmul(R4p3313,SQR(n3)),kmadd(nn,kmul(Ro313,SQR(n3)),kmadd(ltet3,kmul(Rojo31,SQR(nn)),kmadd(ltet1,kmadd(n2,kmul(n3,R4p1213),kmadd(n2,kmul(n3,R4p1312),kmadd(R4p1111,SQR(n1),kmadd(R4p1212,SQR(n2),kmadd(R4p1313,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro112,ToReal(-2))),kmadd(n3,kmul(nn,kmul(Ro113,ToReal(-2))),kmul(n1,kmadd(n2,kadd(R4p1112,R4p1211),kmadd(n3,kadd(R4p1113,R4p1311),kmul(nn,kmul(Ro111,ToReal(-2)))))))))))))),kmadd(ltet3,kmul(n1,kmsub(n2,R4p3112,kmul(nn,Ro131))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3113),kmul(n2,kmul(nn,Ro132))),kmadd(ltet3,kmsub(n1,kmul(n2,R4p3211),kmul(n3,kmul(nn,Ro133))),kmadd(ltet3,kmsub(n2,kmul(n3,R4p3213),kmul(n1,kmul(nn,Ro311))),kmadd(ltet3,kmsub(n1,kmul(n3,R4p3311),kmul(n2,kmul(nn,Ro312))),kmadd(ltet3,kmul(n3,kmsub(n2,R4p3312,kmul(nn,Ro313))),kmadd(n1,kmsub(n2,kmul(nn,Ro112),kmul(Rojo11,SQR(nn))),kmadd(n2,kmsub(n1,kmul(nn,Ro211),kmul(Rojo21,SQR(nn))),kmadd(n3,kmsub(n1,kmul(nn,Ro113),kmul(Rojo31,SQR(nn))),kmul(ltet2,kmadd(R4p2111,SQR(n1),kmadd(R4p2212,SQR(n2),kmadd(R4p2313,SQR(n3),kmadd(Rojo21,SQR(nn),kmadd(n1,kmadd(n2,kadd(R4p2112,R4p2211),kmsub(n3,kadd(R4p2113,R4p2311),kmul(nn,kadd(Ro121,Ro211)))),kmsub(n2,kmsub(n3,kadd(R4p2213,R4p2312),kmul(nn,kadd(Ro122,Ro212))),kmul(n3,kmul(nn,kadd(Ro213,Ro123)))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi2rL =
+ kmadd(ltet1,kmul(n2,kmul(R4p1112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet1,kmul(n3,kmul(R4p1113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet2,kmul(n2,kmul(R4p2112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet2,kmul(n3,kmul(R4p2113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet3,kmul(n2,kmul(R4p3112,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet3,kmul(n3,kmul(R4p3113,kadd(SQR(im1),SQR(rm1)))),kmadd(ltet1,kmadd(n1,kmul(R4p1121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p1122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p1123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p1211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p1212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p1213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p1131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n2,kmul(R4p1132,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n3,kmul(R4p1133,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p1311,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n2,kmul(R4p1312,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p1231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p1232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p1233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p1321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p1322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p1323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p1111,kadd(SQR(im1),SQR(rm1))))))))))))))))))))),kmadd(ltet2,kmadd(n1,kmul(R4p2121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p2122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p2123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p2211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p2212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p2213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p2131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p2231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p2232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p2233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p2321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p2322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p2323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p2111,kadd(SQR(im1),SQR(rm1))))))))))))))))),kmadd(ltet3,kmadd(n1,kmul(R4p3121,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p3122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p3123,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p3211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n2,kmul(R4p3212,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n3,kmul(R4p3213,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(n1,kmul(R4p3131,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(n1,kmul(R4p3231,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p3232,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p3233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n1,kmul(R4p3321,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n2,kmul(R4p3322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(n3,kmul(R4p3323,kmadd(im2,im3,kmul(rm2,rm3))),kmul(n1,kmul(R4p3111,kadd(SQR(im1),SQR(rm1))))))))))))))))),kmadd(ltet1,kmul(n1,kmul(R4p1221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n2,kmul(R4p1222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n3,kmul(R4p1223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n1,kmul(R4p2221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n2,kmul(R4p2222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet2,kmul(n3,kmul(R4p2223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n1,kmul(R4p3221,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n2,kmul(R4p3222,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet3,kmul(n3,kmul(R4p3223,kadd(SQR(im2),SQR(rm2)))),kmadd(ltet1,kmul(n1,kmul(R4p1331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet1,kmul(n2,kmul(R4p1332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet1,kmul(n3,kmul(R4p1333,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n1,kmul(R4p2331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n2,kmul(R4p2332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet2,kmul(n3,kmul(R4p2333,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n1,kmul(R4p3331,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n2,kmul(R4p3332,kadd(SQR(im3),SQR(rm3)))),kmadd(ltet3,kmul(n3,kmul(R4p3333,kadd(SQR(im3),SQR(rm3)))),kmadd(nn,kmul(Ro222,kmul(kadd(SQR(im2),SQR(rm2)),ksub(n2,ltet2))),kmadd(nn,kmul(Ro333,kmul(kadd(SQR(im3),SQR(rm3)),ksub(n3,ltet3))),kmadd(nn,kmul(Ro112,kmsub(n2,kadd(SQR(im1),SQR(rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2))))),kmadd(nn,kmul(Ro221,kmsub(n1,kadd(SQR(im2),SQR(rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2))))),kmadd(nn,kmul(Ro113,kmsub(n3,kadd(SQR(im1),SQR(rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3))))),kmadd(nn,kmul(Ro331,kmsub(n1,kadd(SQR(im3),SQR(rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3))))),kmadd(nn,kmul(Ro223,kmsub(n3,kadd(SQR(im2),SQR(rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3))))),kmadd(nn,kmul(Ro332,kmsub(n2,kadd(SQR(im3),SQR(rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3))))),knmsub(kmadd(im1,im2,kmul(rm1,rm2)),kmul(SQR(nn),kadd(Rojo21,Rojo12)),kmadd(nn,kmul(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kadd(SQR(im1),SQR(rm1))))),kmadd(nn,kmul(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kadd(SQR(im1),SQR(rm1))))),kmadd(nn,kmul(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kadd(SQR(im2),SQR(rm2))))),kmadd(nn,kmul(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kadd(SQR(im2),SQR(rm2))))),kmadd(nn,kmul(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kadd(SQR(im3),SQR(rm3))))),kmadd(nn,kmul(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kadd(SQR(im3),SQR(rm3))))),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmadd(ltet1,kmul(n3,R4p1313),kmadd(ltet2,kmul(n2,R4p2132),kmadd(ltet2,kmul(n3,R4p2133),kmadd(ltet2,kmul(n1,R4p2311),kmadd(ltet2,kmul(n2,R4p2312),kmadd(ltet2,kmul(n3,R4p2313),kmadd(ltet3,kmul(n2,R4p3132),kmadd(ltet3,kmul(n3,R4p3133),kmadd(ltet3,kmul(n1,R4p3311),kmadd(ltet3,kmul(n2,R4p3312),kmadd(ltet3,kmul(n3,R4p3313),knmsub(Rojo13,SQR(nn),kmadd(nn,kmul(Ro311,ksub(n1,ltet1)),kmul(nn,kmul(Ro133,ksub(n3,ltet3)))))))))))))))),kmsub(nn,kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro211,ksub(n1,ltet1)),kmadd(Ro111,kmul(kadd(SQR(im1),SQR(rm1)),ksub(n1,ltet1)),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro122,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro322,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro233,ksub(n3,ltet3)),kmadd(Ro321,kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),kmadd(Ro231,kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),kmadd(Ro312,kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),kmadd(Ro132,kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),kmadd(Ro213,kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),kmul(Ro123,kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3))))))))))))))),kmul(SQR(nn),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),Rojo31,kmadd(Rojo11,kadd(SQR(im1),SQR(rm1)),kmadd(Rojo22,kadd(SQR(im2),SQR(rm2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kadd(Rojo32,Rojo23),kmul(Rojo33,kadd(SQR(im3),SQR(rm3))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi2iL =
+ kmadd(im3,kmadd(n2,kmul(nn,kmul(rm1,Ro312)),kmadd(n3,kmul(nn,kmul(rm1,Ro313)),kmadd(n2,kmul(nn,kmul(rm2,Ro322)),kmadd(n3,kmul(nn,kmul(rm2,Ro323)),kmadd(ltet3,kmul(nn,kmul(rm1,Ro331)),kmadd(ltet3,kmul(nn,kmul(rm2,Ro332)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(ltet3,kmsub(n3,kmul(R4p3313,rm1),kmul(n2,kmul(R4p3232,rm2))),kmadd(ltet3,kmul(rm1,kmsub(n1,R4p3311,kmadd(nn,Ro133,kmul(n3,R4p3133)))),kmadd(rm1,kmsub(n1,kmul(nn,Ro311),kmul(Rojo31,SQR(nn))),kmadd(rm2,kmsub(n1,kmul(nn,Ro321),kmul(Rojo32,SQR(nn))),knmsub(ltet3,kmadd(rm1,kmadd(n2,R4p3132,kmul(n1,R4p3131)),kmul(n3,kmul(R4p3233,rm2))),kmadd(n1,kmsub(rm2,kmsub(ltet3,R4p3321,kmul(nn,Ro231)),kmul(nn,kmul(rm1,Ro131))),kmadd(n2,kmsub(rm2,kmsub(ltet3,R4p3322,kmul(nn,Ro232)),kmul(nn,kmul(rm1,Ro132))),kmadd(n3,kmsub(rm2,kmsub(ltet3,R4p3323,kmul(nn,Ro233)),kmul(nn,kmul(rm1,Ro133))),kmadd(ltet3,kmsub(n2,kmul(R4p3312,rm1),kmul(rm2,kmadd(nn,Ro233,kmul(n1,R4p3231)))),kmadd(ltet1,kmadd(nn,kmul(rm2,Ro312),kmadd(nn,kmul(rm1,ksub(Ro311,Ro113)),kmadd(rm2,kmsub(n3,R4p1323,kmul(nn,Ro213)),kmadd(n3,kmsub(rm1,ksub(R4p1313,R4p1133),kmul(R4p1233,rm2)),kmadd(n1,kmadd(rm1,ksub(R4p1311,R4p1131),kmul(rm2,ksub(R4p1321,R4p1231))),kmul(n2,kmadd(rm1,ksub(R4p1312,R4p1132),kmul(rm2,ksub(R4p1322,R4p1232))))))))),kmul(ltet2,kmadd(nn,kmul(rm2,Ro322),kmadd(nn,kmul(rm1,ksub(Ro321,Ro123)),kmadd(rm2,kmsub(n3,R4p2323,kmul(nn,Ro223)),kmadd(n3,kmsub(rm1,ksub(R4p2313,R4p2133),kmul(R4p2233,rm2)),kmadd(n1,kmadd(rm1,ksub(R4p2311,R4p2131),kmul(rm2,ksub(R4p2321,R4p2231))),kmul(n2,kmadd(rm1,ksub(R4p2312,R4p2132),kmul(rm2,ksub(R4p2322,R4p2232)))))))))))))))))))))))))))),kmadd(im1,kmadd(n2,kmul(nn,kmul(rm3,Ro132)),kmadd(ltet3,kmul(nn,kmul(rm3,Ro133)),kmadd(n3,kmul(nn,kmul(rm3,Ro133)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n1,kmsub(ltet3,kmul(R4p3131,rm3),kmul(nn,kmul(rm2,Ro211))),kmadd(n2,kmsub(ltet3,kmul(R4p3132,rm3),kmul(nn,kmul(rm2,Ro212))),kmadd(n3,kmsub(ltet3,kmul(R4p3133,rm3),kmul(nn,kmul(rm2,Ro213))),kmadd(n1,kmul(nn,kmsub(rm2,Ro121,kmul(rm3,Ro311))),kmadd(n2,kmul(nn,kmsub(rm2,Ro122,kmul(rm3,Ro312))),kmadd(n3,kmul(nn,kmsub(rm2,Ro123,kmul(rm3,Ro313))),kmadd(rm2,kmsub(ltet3,kmul(nn,Ro132),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmsub(n1,kmul(nn,Ro131),kmul(Rojo13,SQR(nn))),knmsub(ltet3,kmadd(rm2,kmadd(n3,R4p3213,kmul(n2,R4p3212)),kmul(n3,kmul(R4p3313,rm3))),kmadd(ltet3,kmadd(n1,kmsub(R4p3121,rm2,kmul(R4p3311,rm3)),kmul(rm2,kmsub(n2,R4p3122,kmul(nn,Ro231)))),kmadd(ltet3,kmsub(rm2,kmsub(n3,R4p3123,kmul(n1,R4p3211)),kmul(rm3,kmadd(nn,Ro331,kmul(n2,R4p3312)))),kmadd(ltet1,kmadd(nn,kmul(rm3,Ro113),kmadd(nn,kmul(rm2,ksub(Ro112,Ro211)),kmadd(rm3,kmsub(n3,R4p1133,kmul(nn,Ro311)),kmadd(n3,kmsub(rm2,ksub(R4p1123,R4p1213),kmul(R4p1313,rm3)),kmadd(n1,kmadd(rm2,ksub(R4p1121,R4p1211),kmul(rm3,ksub(R4p1131,R4p1311))),kmul(n2,kmadd(rm2,ksub(R4p1122,R4p1212),kmul(rm3,ksub(R4p1132,R4p1312))))))))),kmul(ltet2,kmadd(nn,kmul(rm3,Ro123),kmadd(nn,kmul(rm2,ksub(Ro122,Ro221)),kmadd(rm3,kmsub(n3,R4p2133,kmul(nn,Ro321)),kmadd(n3,kmsub(rm2,ksub(R4p2123,R4p2213),kmul(R4p2313,rm3)),kmadd(n1,kmadd(rm2,ksub(R4p2121,R4p2211),kmul(rm3,ksub(R4p2131,R4p2311))),kmul(n2,kmadd(rm2,ksub(R4p2122,R4p2212),kmul(rm3,ksub(R4p2132,R4p2312))))))))))))))))))))))))))),kmul(im2,kmadd(n2,kmul(nn,kmul(rm1,Ro212)),kmadd(n3,kmul(nn,kmul(rm1,Ro213)),kmadd(ltet3,kmul(nn,kmul(rm1,Ro231)),kmadd(n2,kmul(nn,kmul(rm3,Ro232)),kmadd(ltet3,kmul(nn,kmul(rm3,Ro233)),kmadd(n3,kmul(nn,kmul(rm3,Ro233)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmsub(n3,kmul(R4p3213,rm1),kmul(n2,kmul(R4p3322,rm3))),kmadd(ltet3,kmul(rm1,kmsub(n1,R4p3211,kmadd(nn,Ro132,kmul(n3,R4p3123)))),kmadd(rm1,kmsub(n1,kmul(nn,Ro211),kmul(Rojo21,SQR(nn))),kmadd(rm3,kmsub(n1,kmul(nn,Ro231),kmul(Rojo23,SQR(nn))),knmsub(ltet3,kmadd(rm1,kmadd(n2,R4p3122,kmul(n1,R4p3121)),kmul(n3,kmul(R4p3323,rm3))),kmadd(n1,kmsub(rm3,kmsub(ltet3,R4p3231,kmul(nn,Ro321)),kmul(nn,kmul(rm1,Ro121))),kmadd(n2,kmsub(rm3,kmsub(ltet3,R4p3232,kmul(nn,Ro322)),kmul(nn,kmul(rm1,Ro122))),kmadd(n3,kmsub(rm3,kmsub(ltet3,R4p3233,kmul(nn,Ro323)),kmul(nn,kmul(rm1,Ro123))),kmadd(ltet3,kmsub(n2,kmul(R4p3212,rm1),kmul(rm3,kmadd(nn,Ro332,kmul(n1,R4p3321)))),kmadd(ltet1,kmadd(nn,kmul(rm3,Ro213),kmadd(nn,kmul(rm1,ksub(Ro211,Ro112)),kmadd(rm3,kmsub(n3,R4p1233,kmul(nn,Ro312)),kmadd(n3,kmsub(rm1,ksub(R4p1213,R4p1123),kmul(R4p1323,rm3)),kmadd(n1,kmadd(rm1,ksub(R4p1211,R4p1121),kmul(rm3,ksub(R4p1231,R4p1321))),kmul(n2,kmadd(rm1,ksub(R4p1212,R4p1122),kmul(rm3,ksub(R4p1232,R4p1322))))))))),kmul(ltet2,kmadd(nn,kmul(rm3,Ro223),kmadd(nn,kmul(rm1,ksub(Ro221,Ro122)),kmadd(rm3,kmsub(n3,R4p2233,kmul(nn,Ro322)),kmadd(n3,kmsub(rm1,ksub(R4p2213,R4p2123),kmul(R4p2323,rm3)),kmadd(n1,kmadd(rm1,ksub(R4p2211,R4p2121),kmul(rm3,ksub(R4p2231,R4p2321))),kmul(n2,kmadd(rm1,ksub(R4p2212,R4p2122),kmul(rm3,ksub(R4p2232,R4p2322)))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi1rL =
+ kmadd(kmadd(n1,kmadd(R4p1111,rm1,kmadd(R4p1121,rm2,kmul(R4p1131,rm3))),kmadd(n2,kmadd(R4p2111,rm1,kmadd(R4p2121,rm2,kmul(R4p2131,rm3))),kmadd(n3,kmadd(R4p3111,rm1,kmadd(R4p3121,rm2,kmul(R4p3131,rm3))),kmul(nn,kmadd(rm1,Ro111,kmadd(rm2,Ro121,kmul(rm3,Ro131))))))),SQR(ltet1),kmadd(kmadd(n1,kmadd(R4p1212,rm1,kmadd(R4p1222,rm2,kmul(R4p1232,rm3))),kmadd(n2,kmadd(R4p2212,rm1,kmadd(R4p2222,rm2,kmul(R4p2232,rm3))),kmadd(n3,kmadd(R4p3212,rm1,kmadd(R4p3222,rm2,kmul(R4p3232,rm3))),kmul(nn,kmadd(rm1,Ro212,kmadd(rm2,Ro222,kmul(rm3,Ro232))))))),SQR(ltet2),kmadd(kmadd(n1,kmadd(R4p1323,rm2,kmul(R4p1333,rm3)),kmadd(rm1,kmadd(n3,R4p3313,kmul(nn,Ro313)),kmul(nn,kmadd(rm2,Ro323,kmul(rm3,Ro333))))),SQR(ltet3),kmadd(rm1,kmadd(kmadd(n1,R4p1313,kmul(n2,R4p2313)),SQR(ltet3),kmul(n1,kmul(Rojo11,SQR(nn)))),kmadd(rm2,kmadd(kmadd(n2,R4p2323,kmul(n3,R4p3323)),SQR(ltet3),kmul(n1,kmul(Rojo12,SQR(nn)))),kmadd(rm3,kmadd(kmadd(n2,R4p2333,kmul(n3,R4p3333)),SQR(ltet3),kmul(n1,kmul(Rojo13,SQR(nn)))),kmadd(SQR(nn),kmadd(n2,kmadd(rm1,Rojo21,kmul(rm2,Rojo22)),kmadd(n3,kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),kmsub(rm3,kmsub(n2,Rojo23,kmul(ltet3,Rojo33)),kmul(ltet3,kmul(rm2,Rojo32))))),kmadd(ltet3,kmsub(nn,kmadd(n3,kmul(rm3,kmul(Ro333,ToReal(-2))),knmsub(n2,kmul(rm3,kadd(Ro323,Ro233)),kmadd(rm1,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmsub(rm2,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,kadd(Ro323,Ro233))),kmul(n1,kmadd(rm3,kadd(Ro313,Ro133),kmul(rm2,kadd(Ro213,Ro123)))))))),kmul(rm1,kmul(Rojo31,SQR(nn)))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1122,R4p1221),rm2,kmul(kadd(R4p1132,R4p1231),rm3))),kmadd(n2,kmadd(kadd(R4p2112,R4p2211),rm1,kmadd(kadd(R4p2122,R4p2221),rm2,kmul(kadd(R4p2132,R4p2231),rm3))),kmadd(n3,kmadd(kadd(R4p3112,R4p3211),rm1,kmadd(kadd(R4p3122,R4p3221),rm2,kmul(kadd(R4p3132,R4p3231),rm3))),kmul(nn,kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm2,kadd(Ro122,Ro221),kmul(rm3,kadd(Ro132,Ro231)))))))),kmsub(ltet3,kmadd(n1,kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1123,R4p1321),rm2,kmul(kadd(R4p1133,R4p1331),rm3))),kmadd(n2,kmadd(kadd(R4p2113,R4p2311),rm1,kmadd(kadd(R4p2123,R4p2321),rm2,kmul(kadd(R4p2133,R4p2331),rm3))),kmadd(n3,kmadd(kadd(R4p3113,R4p3311),rm1,kmadd(kadd(R4p3123,R4p3321),rm2,kmul(kadd(R4p3133,R4p3331),rm3))),kmul(nn,kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro123,Ro321),kmul(rm3,kadd(Ro133,Ro331)))))))),kmul(nn,kmadd(nn,kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(n1,kmadd(rm2,kadd(Ro121,Ro211),kmadd(rm3,kadd(Ro131,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))),kmadd(n2,kmadd(rm1,kadd(Ro121,Ro211),kmadd(rm3,kadd(Ro231,Ro321),kmul(rm2,kmul(Ro221,ToReal(2))))),kmul(n3,kmadd(rm1,kadd(Ro131,Ro311),kmadd(rm2,kadd(Ro231,Ro321),kmul(rm3,kmul(Ro331,ToReal(2)))))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kmadd(kadd(R4p1213,R4p1312),rm1,kmadd(kadd(R4p1223,R4p1322),rm2,kmul(kadd(R4p1233,R4p1332),rm3))),kmadd(n2,kmadd(kadd(R4p2213,R4p2312),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(kadd(R4p2233,R4p2332),rm3))),kmadd(n3,kmadd(kadd(R4p3213,R4p3312),rm1,kmadd(kadd(R4p3223,R4p3322),rm2,kmul(kadd(R4p3233,R4p3332),rm3))),kmul(nn,kmadd(rm1,kadd(Ro213,Ro312),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kadd(Ro233,Ro332)))))))),kmul(nn,kmadd(nn,kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),kmadd(n1,kmadd(rm2,kadd(Ro122,Ro212),kmadd(rm3,kadd(Ro132,Ro312),kmul(rm1,kmul(Ro112,ToReal(2))))),kmadd(n2,kmadd(rm1,kadd(Ro122,Ro212),kmadd(rm3,kadd(Ro232,Ro322),kmul(rm2,kmul(Ro222,ToReal(2))))),kmul(n3,kmadd(rm1,kadd(Ro132,Ro312),kmadd(rm2,kadd(Ro232,Ro322),kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi1iL =
+ kmadd(im1,kmadd(kmadd(n1,R4p1111,kmadd(n2,R4p2111,kmadd(n3,R4p3111,kmul(nn,Ro111)))),SQR(ltet1),kmadd(kmadd(n1,R4p1212,kmadd(n2,R4p2212,kmadd(n3,R4p3212,kmul(nn,Ro212)))),SQR(ltet2),kmadd(kmadd(n1,R4p1313,kmadd(n2,R4p2313,kmadd(n3,R4p3313,kmul(nn,Ro313)))),SQR(ltet3),kmadd(kmadd(n1,Rojo11,kmadd(n2,Rojo21,kmul(n3,Rojo31))),SQR(nn),kmadd(ltet3,kmsub(nn,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmul(Rojo31,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1112,R4p1211),kmadd(n2,kadd(R4p2112,R4p2211),kmadd(n3,kadd(R4p3112,R4p3211),kmul(nn,kadd(Ro112,Ro211))))),kmsub(ltet3,kmadd(n1,kadd(R4p1113,R4p1311),kmadd(n2,kadd(R4p2113,R4p2311),kmadd(n3,kadd(R4p3113,R4p3311),kmul(nn,kadd(Ro113,Ro311))))),kmul(nn,kmadd(n2,kadd(Ro121,Ro211),kmadd(n3,kadd(Ro131,Ro311),kmadd(nn,Rojo11,kmul(n1,kmul(Ro111,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1213,R4p1312),kmadd(n2,kadd(R4p2213,R4p2312),kmadd(n3,kadd(R4p3213,R4p3312),kmul(nn,kadd(Ro213,Ro312))))),kmul(nn,kmadd(n2,kadd(Ro122,Ro212),kmadd(n3,kadd(Ro132,Ro312),kmadd(nn,Rojo21,kmul(n1,kmul(Ro112,ToReal(2))))))))))))))),kmadd(im2,kmadd(kmadd(n1,R4p1121,kmadd(n2,R4p2121,kmadd(n3,R4p3121,kmul(nn,Ro121)))),SQR(ltet1),kmadd(kmadd(n1,R4p1222,kmadd(n2,R4p2222,kmadd(n3,R4p3222,kmul(nn,Ro222)))),SQR(ltet2),kmadd(n1,kmul(R4p1323,SQR(ltet3)),kmadd(n2,kmul(R4p2323,SQR(ltet3)),kmadd(n3,kmul(R4p3323,SQR(ltet3)),kmadd(nn,kmul(Ro323,SQR(ltet3)),kmadd(n1,kmul(Rojo12,SQR(nn)),kmadd(n2,kmul(Rojo22,SQR(nn)),kmadd(n3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmul(nn,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,Ro323))),knmsub(ltet3,kmadd(nn,kmadd(n1,kadd(Ro213,Ro123),kmul(n3,Ro233)),kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1122,R4p1221),kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,R4p3122,kmadd(n3,R4p3221,kmadd(nn,Ro122,kmul(nn,Ro221)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1123,R4p1321),kmadd(n2,kadd(R4p2123,R4p2321),kmadd(n3,R4p3123,kmadd(n3,R4p3321,kmadd(nn,Ro123,kmul(nn,Ro321)))))),kmul(nn,kmadd(n1,kadd(Ro121,Ro211),kmadd(n3,Ro231,kmadd(n3,Ro321,kmadd(nn,Rojo12,kmul(n2,kmul(Ro221,ToReal(2)))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1223,R4p1322),kmadd(n2,kadd(R4p2223,R4p2322),kmadd(n3,R4p3223,kmadd(n3,R4p3322,kmadd(nn,Ro223,kmul(nn,Ro322)))))),kmul(nn,kmadd(n1,kadd(Ro122,Ro212),kmadd(n3,Ro232,kmadd(n3,Ro322,kmadd(nn,Rojo22,kmul(n2,kmul(Ro222,ToReal(2)))))))))))))))))))))),kmul(im3,kmadd(kmadd(n1,R4p1131,kmadd(n2,R4p2131,kmadd(n3,R4p3131,kmul(nn,Ro131)))),SQR(ltet1),kmadd(kmadd(n1,R4p1232,kmadd(n2,R4p2232,kmadd(n3,R4p3232,kmul(nn,Ro232)))),SQR(ltet2),kmadd(n1,kmul(R4p1333,SQR(ltet3)),kmadd(n2,kmul(R4p2333,SQR(ltet3)),kmadd(n3,kmul(R4p3333,SQR(ltet3)),kmadd(nn,kmul(Ro333,SQR(ltet3)),kmadd(n1,kmul(Rojo13,SQR(nn)),kmadd(n2,kmul(Rojo23,SQR(nn)),kmadd(n3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),knmsub(ltet3,kmadd(nn,kmadd(n2,kadd(Ro323,Ro233),kmul(n1,kadd(Ro313,Ro133))),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1132,R4p1231),kmadd(n2,kadd(R4p2132,R4p2231),kmadd(n3,R4p3132,kmadd(n3,R4p3231,kmadd(nn,Ro132,kmul(nn,Ro231)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1133,R4p1331),kmadd(n2,kadd(R4p2133,R4p2331),kmadd(n3,R4p3133,kmadd(n3,R4p3331,kmadd(nn,Ro133,kmul(nn,Ro331)))))),kmul(nn,kmadd(n1,kadd(Ro131,Ro311),kmadd(n2,kadd(Ro231,Ro321),kmadd(nn,Rojo13,kmul(n3,kmul(Ro331,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1233,R4p1332),kmadd(n2,kadd(R4p2233,R4p2332),kmadd(n3,R4p3233,kmadd(n3,R4p3332,kmadd(nn,Ro233,kmul(nn,Ro332)))))),kmul(nn,kmadd(n1,kadd(Ro132,Ro312),kmadd(n2,kadd(Ro232,Ro322),kmadd(nn,Rojo23,kmul(n3,kmul(Ro332,ToReal(2))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi0rL =
+ kmadd(R4p1112,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1211,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1113,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1311,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1213,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p1312,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p2122,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2221,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2123,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2321,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2223,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p2322,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p3132,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3231,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3133,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3331,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3233,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(R4p3332,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(rm1,kmul(rm2,kmul(Rojo12,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo13,SQR(nn))),kmadd(rm1,kmul(rm2,kmul(Rojo21,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo23,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo31,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmul(ltet2,kmul(R4p1121,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p1131,SQR(rm1))),kmadd(ltet1,kmul(ltet2,kmul(R4p2111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p2131,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p3111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p3121,SQR(rm1))),kmadd(R4p1111,kmul(SQR(ltet1),SQR(rm1)),kmadd(R4p2121,kmul(SQR(ltet2),SQR(rm1)),kmadd(R4p3131,kmul(SQR(ltet3),SQR(rm1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rm1)),kmadd(ltet1,kmul(ltet2,kmul(R4p1222,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p1232,SQR(rm2))),kmadd(ltet1,kmul(ltet2,kmul(R4p2212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p2232,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p3212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p3222,SQR(rm2))),kmadd(R4p1212,kmul(SQR(ltet1),SQR(rm2)),kmadd(R4p2222,kmul(SQR(ltet2),SQR(rm2)),kmadd(R4p3232,kmul(SQR(ltet3),SQR(rm2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rm2)),kmadd(ltet1,kmul(ltet2,kmul(R4p1323,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p1333,SQR(rm3))),kmadd(ltet1,kmul(ltet2,kmul(R4p2313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p2333,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p3313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p3323,SQR(rm3))),kmadd(R4p1313,kmul(SQR(ltet1),SQR(rm3)),kmadd(R4p2323,kmul(SQR(ltet2),SQR(rm3)),kmadd(R4p3333,kmul(SQR(ltet3),SQR(rm3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rm3)),knmsub(ltet3,kmul(SQR(im3),kmadd(ltet1,R4p3313,kmul(ltet2,R4p2333))),kmadd(SQR(im3),kmsub(ltet2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(ltet2))),kmadd(SQR(im3),kmsub(ltet3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(ltet3))),kmadd(SQR(im3),kmsub(ltet1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(ltet2,kmul(ltet3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(ltet1))))),kmadd(ltet1,kmul(nn,kmul(Ro111,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro121,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro131,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro212,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro222,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro232,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro313,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro323,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro333,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet1,kmadd(ltet3,kmul(R4p1132,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1221,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p1231,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1123,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1331,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2113,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1233,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p1322,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p1332,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p2213,kmul(rm2,rm3)),kmadd(ltet2,kmsub(R4p1122,kmul(rm1,rm2),kmul(R4p1323,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(ltet2,kmadd(ltet3,kmul(R4p2132,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p2211,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p2231,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1321,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p2133,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p2311,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p3321,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p1223,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p2233,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p2312,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p2112,kmul(rm1,rm2),kmul(R4p2313,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(ltet3,kmadd(ltet2,kmul(R4p3122,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p3211,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p3221,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1133,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2331,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3113,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p3123,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3311,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2332,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3213,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3223,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3312,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3322,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p3112,kmul(rm1,rm2),kmul(R4p1333,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(im1),kmadd(ltet2,kmul(ltet3,R4p2131),kmadd(ltet2,kmul(ltet3,R4p3121),kmadd(R4p1111,SQR(ltet1),kmadd(R4p2121,SQR(ltet2),kmadd(R4p3131,SQR(ltet3),kmadd(Rojo11,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1121,R4p2111),kmadd(ltet3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(im2),kmadd(ltet2,kmul(ltet3,R4p2232),kmadd(ltet2,kmul(ltet3,R4p3222),kmadd(R4p1212,SQR(ltet1),kmadd(R4p2222,SQR(ltet2),kmadd(R4p3232,SQR(ltet3),kmadd(Rojo22,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1222,R4p2212),kmadd(ltet3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(im2,kmul(im3,kmadd(kadd(R4p1213,R4p1312),SQR(ltet1),kmadd(kadd(R4p2223,R4p2322),SQR(ltet2),kmadd(R4p3233,SQR(ltet3),kmadd(R4p3332,SQR(ltet3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(ltet3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(im1,kmadd(im2,kmadd(kadd(R4p1112,R4p1211),SQR(ltet1),kmadd(kadd(R4p2122,R4p2221),SQR(ltet2),kmadd(R4p3132,SQR(ltet3),kmadd(R4p3231,SQR(ltet3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(ltet3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(im3,kmadd(kadd(R4p1113,R4p1311),SQR(ltet1),kmadd(kadd(R4p2123,R4p2321),SQR(ltet2),kmadd(R4p3133,SQR(ltet3),kmadd(R4p3331,SQR(ltet3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(ltet3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+
+ CCTK_REAL_VEC Psi0iL =
+ kmadd(im1,kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm2,kmadd(kadd(R4p1113,R4p1311),rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm2,kmadd(kadd(R4p2123,R4p2321),rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet3),kmadd(kadd(R4p3132,R4p3231),rm2,kmadd(kadd(R4p3133,R4p3331),rm3,kmul(R4p3131,kmul(rm1,ToReal(2))))),kmadd(SQR(nn),kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm3,kmul(kadd(R4p1121,R4p2111),kmul(rm1,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm2,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm3,kmul(kadd(R4p1131,R4p3111),kmul(rm1,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm2,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm3,kmul(kadd(R4p2131,R4p3121),kmul(rm1,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(ltet3,kmul(nn,kmadd(kmadd(rm2,kadd(Ro132,Ro231),kmul(rm3,kadd(Ro133,Ro331))),ToReal(2),kmul(rm1,kmul(Ro131,ToReal(4)))))))))))),kmadd(im2,kmadd(kmadd(rm1,Rojo21,kmul(rm3,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3132,R4p3231),SQR(ltet3),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro132,Ro231),kmul(rm3,Ro233))),kmul(rm2,kmadd(R4p3232,SQR(ltet3),kmul(Rojo22,SQR(nn))))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1213,R4p1312),rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm1,kmadd(kadd(R4p2223,R4p2322),rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm3,kmul(kadd(R4p1222,R4p2212),kmul(rm2,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm3,kmul(kadd(R4p1232,R4p3212),kmul(rm2,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm3,kmul(kadd(R4p2232,R4p3222),kmul(rm2,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(ltet3,kmul(nn,kmadd(rm3,kmul(Ro332,ToReal(2)),kmul(rm2,kmul(Ro232,ToReal(4)))))))))))))),kmul(im3,kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3133,R4p3331),SQR(ltet3),kmul(Rojo13,SQR(nn))),kmadd(rm2,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro133,Ro331),kmul(rm2,kadd(Ro233,Ro332)))),kmul(R4p3333,kmul(rm3,SQR(ltet3)))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1213,R4p1312),rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2123,R4p2321),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm2,kmul(kadd(R4p1323,R4p2313),kmul(rm3,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm2,kmul(kadd(R4p1333,R4p3313),kmul(rm3,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(ltet2,kmadd(ltet3,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm2,kmul(kadd(R4p2333,R4p3323),kmul(rm3,ToReal(2))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(rm3,kmadd(Rojo33,kmul(SQR(nn),ToReal(2)),kmul(ltet3,kmul(nn,kmul(Ro333,ToReal(4)))))))))))))))));
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(Psi0i[index],Psi0iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi0r[index],Psi0rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi1i[index],Psi1iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi1r[index],Psi1rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi2i[index],Psi2iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi2r[index],Psi2rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi3i[index],Psi3iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi3r[index],Psi3rL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(Psi0i[index],Psi0iL,elt_count);
+ vec_store_nta_partial_hi(Psi0r[index],Psi0rL,elt_count);
+ vec_store_nta_partial_hi(Psi1i[index],Psi1iL,elt_count);
+ vec_store_nta_partial_hi(Psi1r[index],Psi1rL,elt_count);
+ vec_store_nta_partial_hi(Psi2i[index],Psi2iL,elt_count);
+ vec_store_nta_partial_hi(Psi2r[index],Psi2rL,elt_count);
+ vec_store_nta_partial_hi(Psi3i[index],Psi3iL,elt_count);
+ vec_store_nta_partial_hi(Psi3r[index],Psi3rL,elt_count);
+ vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(Psi0i[index],Psi0iL,elt_count);
+ vec_store_nta_partial_lo(Psi0r[index],Psi0rL,elt_count);
+ vec_store_nta_partial_lo(Psi1i[index],Psi1iL,elt_count);
+ vec_store_nta_partial_lo(Psi1r[index],Psi1rL,elt_count);
+ vec_store_nta_partial_lo(Psi2i[index],Psi2iL,elt_count);
+ vec_store_nta_partial_lo(Psi2r[index],Psi2rL,elt_count);
+ vec_store_nta_partial_lo(Psi3i[index],Psi3iL,elt_count);
+ vec_store_nta_partial_lo(Psi3r[index],Psi3rL,elt_count);
+ vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
+ vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
+ break;
+ }
+ vec_store_nta(Psi0i[index],Psi0iL);
+ vec_store_nta(Psi0r[index],Psi0rL);
+ vec_store_nta(Psi1i[index],Psi1iL);
+ vec_store_nta(Psi1r[index],Psi1rL);
+ vec_store_nta(Psi2i[index],Psi2iL);
+ vec_store_nta(Psi2r[index],Psi2rL);
+ vec_store_nta(Psi3i[index],Psi3iL);
+ vec_store_nta(Psi3r[index],Psi3rL);
+ vec_store_nta(Psi4i[index],Psi4iL);
+ vec_store_nta(Psi4r[index],Psi4rL);
}
- LC_ENDLOOP3 (psis_calc_Nth);
+ LC_ENDLOOP3VEC (psis_calc_Nth);
}
extern "C" void psis_calc_Nth(CCTK_ARGUMENTS)
@@ -1527,5 +1933,43 @@ extern "C" void psis_calc_Nth(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_Nth_Body");
+ }
+
+ if (cctk_iteration % psis_calc_Nth_calc_every != psis_calc_Nth_calc_offset)
+ {
+ return;
+ }
+
+ const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ GenericFD_AssertGroupStorage(cctkGH, "psis_calc_Nth", 13, groups);
+
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 4, 4, 4);
+ break;
+ }
+
GenericFD_LoopOverInterior(cctkGH, &psis_calc_Nth_Body);
+
+ if (verbose > 1)
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,"Leaving psis_calc_Nth_Body");
+ }
}