aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhinder <hinder@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2011-09-25 19:19:52 +0000
committerhinder <hinder@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2011-09-25 19:19:52 +0000
commitaab703c3aabe6bb1a22a9e5be3dfd4192e3fc51a (patch)
tree62936ebde25796972fe75da736131c6b67e297d1
parent60e50a915f1b5ea2ef07665f8795d05b0f0cc94d (diff)
Regenerate code with current Kranc (MoL_PseudoEvolutionBoundaries and functions for finite differencing)
This changes the scheduling to use MoL_PseudoEvolutionBoundaries for the boundaries rather than CCTK_POSTRESTRICTINITIAL, and enables the optional use of function calls for finite differencing (useful for reducing code size to fit in the instruction cache). git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/WeylScal4/trunk@77 4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843
-rw-r--r--schedule.ccl22
-rw-r--r--src/Differencing.h546
-rw-r--r--src/psis_calc_2nd.cc271
-rw-r--r--src/psis_calc_4th.cc271
4 files changed, 788 insertions, 322 deletions
diff --git a/schedule.ccl b/schedule.ccl
index 8fd0580..d8e2e82 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -62,16 +62,7 @@ if (CCTK_EQUALS(fd_order, "2nd"))
if (CCTK_EQUALS(fd_order, "2nd"))
{
- schedule group psis_calc_2nd_bc_group at CCTK_POSTRESTRICT
- {
- # no language specified
- } "psis_calc_2nd"
-}
-
-
-if (CCTK_EQUALS(fd_order, "2nd"))
-{
- schedule group psis_calc_2nd_bc_group at CCTK_POSTRESTRICTINITIAL
+ schedule group psis_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
{
# no language specified
} "psis_calc_2nd"
@@ -116,16 +107,7 @@ if (CCTK_EQUALS(fd_order, "4th"))
if (CCTK_EQUALS(fd_order, "4th"))
{
- schedule group psis_calc_4th_bc_group at CCTK_POSTRESTRICT
- {
- # no language specified
- } "psis_calc_4th"
-}
-
-
-if (CCTK_EQUALS(fd_order, "4th"))
-{
- schedule group psis_calc_4th_bc_group at CCTK_POSTRESTRICTINITIAL
+ schedule group psis_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
{
# no language specified
} "psis_calc_4th"
diff --git a/src/Differencing.h b/src/Differencing.h
index 867e7fc..8663bb8 100644
--- a/src/Differencing.h
+++ b/src/Differencing.h
@@ -1,42 +1,504 @@
-#define PDstandard2nd1(u) (p1o2dx*(-(u)[di*(-1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(0)+dk*(0)]))
-#define PDstandard2nd2(u) (p1o2dy*(-(u)[di*(0)+dj*(-1)+dk*(0)] + (u)[di*(0)+dj*(1)+dk*(0)]))
-#define PDstandard2nd3(u) (p1o2dz*(-(u)[di*(0)+dj*(0)+dk*(-1)] + (u)[di*(0)+dj*(0)+dk*(1)]))
-#define PDstandard2nd11(u) (p1odx2*(-2*(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(-1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(0)+dk*(0)]))
-#define PDstandard2nd22(u) (p1ody2*(-2*(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(0)+dj*(-1)+dk*(0)] + (u)[di*(0)+dj*(1)+dk*(0)]))
-#define PDstandard2nd33(u) (p1odz2*(-2*(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(0)+dj*(0)+dk*(-1)] + (u)[di*(0)+dj*(0)+dk*(1)]))
-#define PDstandard2nd12(u) (p1o4dxdy*((u)[di*(-1)+dj*(-1)+dk*(0)] - (u)[di*(-1)+dj*(1)+dk*(0)] - (u)[di*(1)+dj*(-1)+dk*(0)] + (u)[di*(1)+dj*(1)+dk*(0)]))
-#define PDstandard2nd13(u) (p1o4dxdz*((u)[di*(-1)+dj*(0)+dk*(-1)] - (u)[di*(-1)+dj*(0)+dk*(1)] - (u)[di*(1)+dj*(0)+dk*(-1)] + (u)[di*(1)+dj*(0)+dk*(1)]))
-#define PDstandard2nd21(u) (p1o4dxdy*((u)[di*(-1)+dj*(-1)+dk*(0)] - (u)[di*(-1)+dj*(1)+dk*(0)] - (u)[di*(1)+dj*(-1)+dk*(0)] + (u)[di*(1)+dj*(1)+dk*(0)]))
-#define PDstandard2nd23(u) (p1o4dydz*((u)[di*(0)+dj*(-1)+dk*(-1)] - (u)[di*(0)+dj*(-1)+dk*(1)] - (u)[di*(0)+dj*(1)+dk*(-1)] + (u)[di*(0)+dj*(1)+dk*(1)]))
-#define PDstandard2nd31(u) (p1o4dxdz*((u)[di*(-1)+dj*(0)+dk*(-1)] - (u)[di*(-1)+dj*(0)+dk*(1)] - (u)[di*(1)+dj*(0)+dk*(-1)] + (u)[di*(1)+dj*(0)+dk*(1)]))
-#define PDstandard2nd32(u) (p1o4dydz*((u)[di*(0)+dj*(-1)+dk*(-1)] - (u)[di*(0)+dj*(-1)+dk*(1)] - (u)[di*(0)+dj*(1)+dk*(-1)] + (u)[di*(0)+dj*(1)+dk*(1)]))
-#define PDstandard4th1(u) (p1o12dx*(-8*(u)[di*(-1)+dj*(0)+dk*(0)] + 8*(u)[di*(1)+dj*(0)+dk*(0)] + (u)[di*(-2)+dj*(0)+dk*(0)] - (u)[di*(2)+dj*(0)+dk*(0)]))
-#define PDstandard4th2(u) (p1o12dy*(-8*(u)[di*(0)+dj*(-1)+dk*(0)] + 8*(u)[di*(0)+dj*(1)+dk*(0)] + (u)[di*(0)+dj*(-2)+dk*(0)] - (u)[di*(0)+dj*(2)+dk*(0)]))
-#define PDstandard4th3(u) (p1o12dz*(-8*(u)[di*(0)+dj*(0)+dk*(-1)] + 8*(u)[di*(0)+dj*(0)+dk*(1)] + (u)[di*(0)+dj*(0)+dk*(-2)] - (u)[di*(0)+dj*(0)+dk*(2)]))
-#define PDstandard4th11(u) (pm1o12dx2*(30*(u)[di*(0)+dj*(0)+dk*(0)] - 16*((u)[di*(-1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(0)+dk*(0)]) + (u)[di*(-2)+dj*(0)+dk*(0)] + (u)[di*(2)+dj*(0)+dk*(0)]))
-#define PDstandard4th22(u) (pm1o12dy2*(30*(u)[di*(0)+dj*(0)+dk*(0)] - 16*((u)[di*(0)+dj*(-1)+dk*(0)] + (u)[di*(0)+dj*(1)+dk*(0)]) + (u)[di*(0)+dj*(-2)+dk*(0)] + (u)[di*(0)+dj*(2)+dk*(0)]))
-#define PDstandard4th33(u) (pm1o12dz2*(30*(u)[di*(0)+dj*(0)+dk*(0)] - 16*((u)[di*(0)+dj*(0)+dk*(-1)] + (u)[di*(0)+dj*(0)+dk*(1)]) + (u)[di*(0)+dj*(0)+dk*(-2)] + (u)[di*(0)+dj*(0)+dk*(2)]))
-#define PDstandard4th12(u) (p1o144dxdy*(-64*((u)[di*(-1)+dj*(1)+dk*(0)] + (u)[di*(1)+dj*(-1)+dk*(0)]) + 64*((u)[di*(-1)+dj*(-1)+dk*(0)] + (u)[di*(1)+dj*(1)+dk*(0)]) + 8*((u)[di*(-1)+dj*(2)+dk*(0)] + (u)[di*(1)+dj*(-2)+dk*(0)] + (u)[di*(-2)+dj*(1)+dk*(0)] + (u)[di*(2)+dj*(-1)+dk*(0)]) - 8*((u)[di*(-1)+dj*(-2)+dk*(0)] + (u)[di*(1)+dj*(2)+dk*(0)] + (u)[di*(-2)+dj*(-1)+dk*(0)] + (u)[di*(2)+dj*(1)+dk*(0)]) + (u)[di*(-2)+dj*(-2)+dk*(0)] - (u)[di*(-2)+dj*(2)+dk*(0)] - (u)[di*(2)+dj*(-2)+dk*(0)] + (u)[di*(2)+dj*(2)+dk*(0)]))
-#define PDstandard4th13(u) (p1o144dxdz*(-64*((u)[di*(-1)+dj*(0)+dk*(1)] + (u)[di*(1)+dj*(0)+dk*(-1)]) + 64*((u)[di*(-1)+dj*(0)+dk*(-1)] + (u)[di*(1)+dj*(0)+dk*(1)]) + 8*((u)[di*(-1)+dj*(0)+dk*(2)] + (u)[di*(1)+dj*(0)+dk*(-2)] + (u)[di*(-2)+dj*(0)+dk*(1)] + (u)[di*(2)+dj*(0)+dk*(-1)]) - 8*((u)[di*(-1)+dj*(0)+dk*(-2)] + (u)[di*(1)+dj*(0)+dk*(2)] + (u)[di*(-2)+dj*(0)+dk*(-1)] + (u)[di*(2)+dj*(0)+dk*(1)]) + (u)[di*(-2)+dj*(0)+dk*(-2)] - (u)[di*(-2)+dj*(0)+dk*(2)] - (u)[di*(2)+dj*(0)+dk*(-2)] + (u)[di*(2)+dj*(0)+dk*(2)]))
-#define PDstandard4th21(u) (p1o144dxdy*(-64*((u)[di*(-1)+dj*(1)+dk*(0)] + (u)[di*(1)+dj*(-1)+dk*(0)]) + 64*((u)[di*(-1)+dj*(-1)+dk*(0)] + (u)[di*(1)+dj*(1)+dk*(0)]) + 8*((u)[di*(-1)+dj*(2)+dk*(0)] + (u)[di*(1)+dj*(-2)+dk*(0)] + (u)[di*(-2)+dj*(1)+dk*(0)] + (u)[di*(2)+dj*(-1)+dk*(0)]) - 8*((u)[di*(-1)+dj*(-2)+dk*(0)] + (u)[di*(1)+dj*(2)+dk*(0)] + (u)[di*(-2)+dj*(-1)+dk*(0)] + (u)[di*(2)+dj*(1)+dk*(0)]) + (u)[di*(-2)+dj*(-2)+dk*(0)] - (u)[di*(-2)+dj*(2)+dk*(0)] - (u)[di*(2)+dj*(-2)+dk*(0)] + (u)[di*(2)+dj*(2)+dk*(0)]))
-#define PDstandard4th23(u) (p1o144dydz*(-64*((u)[di*(0)+dj*(-1)+dk*(1)] + (u)[di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[di*(0)+dj*(-1)+dk*(-1)] + (u)[di*(0)+dj*(1)+dk*(1)]) + 8*((u)[di*(0)+dj*(-1)+dk*(2)] + (u)[di*(0)+dj*(1)+dk*(-2)] + (u)[di*(0)+dj*(-2)+dk*(1)] + (u)[di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[di*(0)+dj*(-1)+dk*(-2)] + (u)[di*(0)+dj*(1)+dk*(2)] + (u)[di*(0)+dj*(-2)+dk*(-1)] + (u)[di*(0)+dj*(2)+dk*(1)]) + (u)[di*(0)+dj*(-2)+dk*(-2)] - (u)[di*(0)+dj*(-2)+dk*(2)] - (u)[di*(0)+dj*(2)+dk*(-2)] + (u)[di*(0)+dj*(2)+dk*(2)]))
-#define PDstandard4th31(u) (p1o144dxdz*(-64*((u)[di*(-1)+dj*(0)+dk*(1)] + (u)[di*(1)+dj*(0)+dk*(-1)]) + 64*((u)[di*(-1)+dj*(0)+dk*(-1)] + (u)[di*(1)+dj*(0)+dk*(1)]) + 8*((u)[di*(-1)+dj*(0)+dk*(2)] + (u)[di*(1)+dj*(0)+dk*(-2)] + (u)[di*(-2)+dj*(0)+dk*(1)] + (u)[di*(2)+dj*(0)+dk*(-1)]) - 8*((u)[di*(-1)+dj*(0)+dk*(-2)] + (u)[di*(1)+dj*(0)+dk*(2)] + (u)[di*(-2)+dj*(0)+dk*(-1)] + (u)[di*(2)+dj*(0)+dk*(1)]) + (u)[di*(-2)+dj*(0)+dk*(-2)] - (u)[di*(-2)+dj*(0)+dk*(2)] - (u)[di*(2)+dj*(0)+dk*(-2)] + (u)[di*(2)+dj*(0)+dk*(2)]))
-#define PDstandard4th32(u) (p1o144dydz*(-64*((u)[di*(0)+dj*(-1)+dk*(1)] + (u)[di*(0)+dj*(1)+dk*(-1)]) + 64*((u)[di*(0)+dj*(-1)+dk*(-1)] + (u)[di*(0)+dj*(1)+dk*(1)]) + 8*((u)[di*(0)+dj*(-1)+dk*(2)] + (u)[di*(0)+dj*(1)+dk*(-2)] + (u)[di*(0)+dj*(-2)+dk*(1)] + (u)[di*(0)+dj*(2)+dk*(-1)]) - 8*((u)[di*(0)+dj*(-1)+dk*(-2)] + (u)[di*(0)+dj*(1)+dk*(2)] + (u)[di*(0)+dj*(-2)+dk*(-1)] + (u)[di*(0)+dj*(2)+dk*(1)]) + (u)[di*(0)+dj*(-2)+dk*(-2)] - (u)[di*(0)+dj*(-2)+dk*(2)] - (u)[di*(0)+dj*(2)+dk*(-2)] + (u)[di*(0)+dj*(2)+dk*(2)]))
-#define PDplus1(u) (p1odx*(-(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(0)+dk*(0)]))
-#define PDplus2(u) (p1ody*(-(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(0)+dj*(1)+dk*(0)]))
-#define PDplus3(u) (p1odz*(-(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(0)+dj*(0)+dk*(1)]))
-#define PDminus1(u) (p1odx*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(-1)+dj*(0)+dk*(0)]))
-#define PDminus2(u) (p1ody*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(-1)+dk*(0)]))
-#define PDminus3(u) (p1odz*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(0)+dk*(-1)]))
-#define PDplus11(u) (p1odx2*((u)[di*(0)+dj*(0)+dk*(0)] - 2*(u)[di*(1)+dj*(0)+dk*(0)] + (u)[di*(2)+dj*(0)+dk*(0)]))
-#define PDplus12(u) (p1odxdy*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(1)+dk*(0)] - (u)[di*(1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(1)+dk*(0)]))
-#define PDplus13(u) (p1odxdz*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(0)+dk*(1)] - (u)[di*(1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(0)+dk*(1)]))
-#define PDplus21(u) (p1odxdy*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(1)+dk*(0)] - (u)[di*(1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(1)+dk*(0)]))
-#define PDplus22(u) (p1ody2*((u)[di*(0)+dj*(0)+dk*(0)] - 2*(u)[di*(0)+dj*(1)+dk*(0)] + (u)[di*(0)+dj*(2)+dk*(0)]))
-#define PDplus23(u) (p1odydz*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(0)+dk*(1)] - (u)[di*(0)+dj*(1)+dk*(0)] + (u)[di*(0)+dj*(1)+dk*(1)]))
-#define PDplus31(u) (p1odxdz*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(0)+dk*(1)] - (u)[di*(1)+dj*(0)+dk*(0)] + (u)[di*(1)+dj*(0)+dk*(1)]))
-#define PDplus32(u) (p1odydz*((u)[di*(0)+dj*(0)+dk*(0)] - (u)[di*(0)+dj*(0)+dk*(1)] - (u)[di*(0)+dj*(1)+dk*(0)] + (u)[di*(0)+dj*(1)+dk*(1)]))
-#define PDplus33(u) (p1odz2*((u)[di*(0)+dj*(0)+dk*(0)] - 2*(u)[di*(0)+dj*(0)+dk*(1)] + (u)[di*(0)+dj*(0)+dk*(2)]))
-#define PDonesided2nd1(u) (pm1o2dx*(3*(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(2*dir(1))+dj*(0)+dk*(0)] - 4*(u)[di*(dir(1))+dj*(0)+dk*(0)])*dir(1))
-#define PDonesided2nd2(u) (pm1o2dy*(3*(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(0)+dj*(2*dir(2))+dk*(0)] - 4*(u)[di*(0)+dj*(dir(2))+dk*(0)])*dir(2))
-#define PDonesided2nd3(u) (pm1o2dz*(3*(u)[di*(0)+dj*(0)+dk*(0)] + (u)[di*(0)+dj*(0)+dk*(2*dir(3))] - 4*(u)[di*(0)+dj*(0)+dk*(dir(3))])*dir(3))
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#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)
+#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)
+{
+ 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;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus1(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx)
+#else
+# define PDplus1(u) (PDplus1_impl(u,p1odx,cdj,cdk))
+static CCTK_REAL PDplus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx, 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*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus2(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody)
+#else
+# define PDplus2(u) (PDplus2_impl(u,p1ody,cdj,cdk))
+static CCTK_REAL PDplus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody, 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*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus3(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz)
+#else
+# define PDplus3(u) (PDplus3_impl(u,p1odz,cdj,cdk))
+static CCTK_REAL PDplus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz, 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*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDminus1(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]))*p1odx)
+#else
+# define PDminus1(u) (PDminus1_impl(u,p1odx,cdj,cdk))
+static CCTK_REAL PDminus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDminus1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]))*p1odx;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDminus2(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]))*p1ody)
+#else
+# define PDminus2(u) (PDminus2_impl(u,p1ody,cdj,cdk))
+static CCTK_REAL PDminus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDminus2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]))*p1ody;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDminus3(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]))*p1odz)
+#else
+# define PDminus3(u) (PDminus3_impl(u,p1odz,cdj,cdk))
+static CCTK_REAL PDminus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDminus3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]))*p1odz;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus11(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1odx2)
+#else
+# define PDplus11(u) (PDplus11_impl(u,p1odx2,cdj,cdk))
+static CCTK_REAL PDplus11_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 PDplus11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, 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*(0)]) - 2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1odx2;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus12(u) (((*(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*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1odxdy)
+#else
+# define PDplus12(u) (PDplus12_impl(u,p1odxdy,cdj,cdk))
+static CCTK_REAL PDplus12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdy, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1odxdy;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus13(u) (((*(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*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1odxdz)
+#else
+# define PDplus13(u) (PDplus13_impl(u,p1odxdz,cdj,cdk))
+static CCTK_REAL PDplus13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdz, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1odxdz;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus21(u) (((*(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*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1odxdy)
+#else
+# define PDplus21(u) (PDplus21_impl(u,p1odxdy,cdj,cdk))
+static CCTK_REAL PDplus21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdy, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1odxdy;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus22(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1ody2)
+#else
+# define PDplus22(u) (PDplus22_impl(u,p1ody2,cdj,cdk))
+static CCTK_REAL PDplus22_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 PDplus22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, 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*(0)]) - 2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1ody2;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus23(u) (((*(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*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1odydz)
+#else
+# define PDplus23(u) (PDplus23_impl(u,p1odydz,cdj,cdk))
+static CCTK_REAL PDplus23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odydz, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1odydz;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus31(u) (((*(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*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1odxdz)
+#else
+# define PDplus31(u) (PDplus31_impl(u,p1odxdz,cdj,cdk))
+static CCTK_REAL PDplus31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odxdz, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1odxdz;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus32(u) (((*(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*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1odydz)
+#else
+# define PDplus32(u) (PDplus32_impl(u,p1odydz,cdj,cdk))
+static CCTK_REAL PDplus32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDplus32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odydz, 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*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1odydz;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDplus33(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1odz2)
+#else
+# define PDplus33(u) (PDplus33_impl(u,p1odz2,cdj,cdk))
+static CCTK_REAL PDplus33_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 PDplus33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, 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*(0)]) - 2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1odz2;
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDonesided2nd1(u) ((3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir(1))+cdj*(0)+cdk*(0)]) - 4*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir(1))+cdj*(0)+cdk*(0)]))*pm1o2dx*dir(1))
+#else
+# define PDonesided2nd1(u) (PDonesided2nd1_impl(u,pm1o2dx,cdj,cdk))
+static CCTK_REAL PDonesided2nd1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDonesided2nd1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return (3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir(1))+cdj*(0)+cdk*(0)]) - 4*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir(1))+cdj*(0)+cdk*(0)]))*pm1o2dx*dir(1);
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDonesided2nd2(u) ((3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir(2))+cdk*(0)]) - 4*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir(2))+cdk*(0)]))*pm1o2dy*dir(2))
+#else
+# define PDonesided2nd2(u) (PDonesided2nd2_impl(u,pm1o2dy,cdj,cdk))
+static CCTK_REAL PDonesided2nd2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDonesided2nd2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return (3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir(2))+cdk*(0)]) - 4*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir(2))+cdk*(0)]))*pm1o2dy*dir(2);
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDonesided2nd3(u) ((3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir(3))]) - 4*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir(3))]))*pm1o2dz*dir(3))
+#else
+# define PDonesided2nd3(u) (PDonesided2nd3_impl(u,pm1o2dz,cdj,cdk))
+static CCTK_REAL PDonesided2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL PDonesided2nd3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return (3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir(3))]) - 4*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir(3))]))*pm1o2dz*dir(3);
+}
+#endif
+
diff --git a/src/psis_calc_2nd.cc b/src/psis_calc_2nd.cc
index 982d599..29d1c23 100644
--- a/src/psis_calc_2nd.cc
+++ b/src/psis_calc_2nd.cc
@@ -65,6 +65,9 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
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 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));
@@ -1122,136 +1125,144 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir,
+ gInv31*R3331 + gInv32*R3332 + gInv33*R3333 + gInv11*(kxxL*kzzL +
R3131 - SQR(kxzL)) + gInv22*(kyyL*kzzL + R3232 - SQR(kyzL));
- CCTK_REAL Psi4rL = 2*nn*(-(n1*((imbar2*imbar3 - rmbar2*rmbar3)*Ro213 +
- imbar1*(imbar2*(Ro112 + Ro211) + imbar3*(Ro113 + Ro311)) -
- rmbar1*(rmbar2*(Ro112 + Ro211) + rmbar3*(Ro113 + Ro311)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Ro312 + Ro111*(SQR(imbar1) -
- SQR(rmbar1)) + Ro212*(SQR(imbar2) - SQR(rmbar2)) + Ro313*(SQR(imbar3) -
- SQR(rmbar3)))) - n2*((imbar2*imbar3 - rmbar2*rmbar3)*Ro223 +
- imbar1*(imbar2*(Ro122 + Ro221) + imbar3*(Ro123 + Ro321)) -
- rmbar1*(rmbar2*(Ro122 + Ro221) + rmbar3*(Ro123 + Ro321)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Ro322 + Ro121*(SQR(imbar1) -
- SQR(rmbar1)) + Ro222*(SQR(imbar2) - SQR(rmbar2)) + Ro323*(SQR(imbar3) -
- SQR(rmbar3))) - n3*((imbar2*imbar3 - rmbar2*rmbar3)*Ro233 +
- imbar1*(imbar2*(Ro132 + Ro231) + imbar3*(Ro133 + Ro331)) -
- rmbar1*(rmbar2*(Ro132 + Ro231) + rmbar3*(Ro133 + Ro331)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Ro332 + Ro131*(SQR(imbar1) -
- SQR(rmbar1)) + Ro232*(SQR(imbar2) - SQR(rmbar2)) + Ro333*(SQR(imbar3) -
- SQR(rmbar3)))) - SQR(nn)*((imbar2*imbar3 - rmbar2*rmbar3)*Rojo23 +
- imbar1*(imbar2*(Rojo12 + Rojo21) + imbar3*(Rojo13 + Rojo31)) -
- rmbar1*(rmbar2*(Rojo12 + Rojo21) + rmbar3*(Rojo13 + Rojo31)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Rojo32 + Rojo11*(SQR(imbar1) -
- SQR(rmbar1)) + Rojo22*(SQR(imbar2) - SQR(rmbar2)) + Rojo33*(SQR(imbar3)
- - SQR(rmbar3))) + n1*(-(imbar1*(imbar2*(n1*(R4p1112 + R4p1211) +
- n2*(R4p1122 + R4p1221) + n3*(R4p1132 + R4p1231)) + imbar3*(n1*(R4p1113
- + R4p1311) + n2*(R4p1123 + R4p1321) + n3*(R4p1133 + R4p1331)))) -
- imbar2*imbar3*(n1*(R4p1213 + R4p1312) + n2*(R4p1223 + R4p1322) +
- n3*(R4p1233 + R4p1332)) + n1*R4p1211*rmbar1*rmbar2 +
- n2*R4p1221*rmbar1*rmbar2 + n3*R4p1231*rmbar1*rmbar2 +
- n1*R4p1113*rmbar1*rmbar3 + n2*R4p1123*rmbar1*rmbar3 +
- n3*R4p1133*rmbar1*rmbar3 + n1*R4p1311*rmbar1*rmbar3 +
- n2*R4p1321*rmbar1*rmbar3 + n3*R4p1331*rmbar1*rmbar3 +
- n1*R4p1213*rmbar2*rmbar3 + n2*R4p1223*rmbar2*rmbar3 +
- n3*R4p1233*rmbar2*rmbar3 + n1*R4p1312*rmbar2*rmbar3 +
- n2*R4p1322*rmbar2*rmbar3 + n3*R4p1332*rmbar2*rmbar3 - (n1*R4p1111 +
- n2*R4p1121 + n3*R4p1131)*SQR(imbar1) - (n1*R4p1212 + n2*R4p1222 +
- n3*R4p1232)*SQR(imbar2) + n1*(R4p1112*rmbar1*rmbar2 -
- R4p1313*SQR(imbar3)) + n2*(R4p1122*rmbar1*rmbar2 - R4p1323*SQR(imbar3))
- + n3*(R4p1132*rmbar1*rmbar2 - R4p1333*SQR(imbar3)) +
- n1*R4p1111*SQR(rmbar1) + n2*R4p1121*SQR(rmbar1) +
- n3*R4p1131*SQR(rmbar1) + n1*R4p1212*SQR(rmbar2) +
- n2*R4p1222*SQR(rmbar2) + n3*R4p1232*SQR(rmbar2) +
- n1*R4p1313*SQR(rmbar3) + n2*R4p1323*SQR(rmbar3) +
- n3*R4p1333*SQR(rmbar3)) + n2*(-(imbar1*(imbar2*(n1*(R4p2112 + R4p2211)
- + n2*(R4p2122 + R4p2221) + n3*(R4p2132 + R4p2231)) +
- imbar3*(n1*(R4p2113 + R4p2311) + n2*(R4p2123 + R4p2321) + n3*(R4p2133 +
- R4p2331)))) - imbar2*imbar3*(n1*(R4p2213 + R4p2312) + n2*(R4p2223 +
- R4p2322) + n3*(R4p2233 + R4p2332)) + n1*R4p2211*rmbar1*rmbar2 +
- n2*R4p2221*rmbar1*rmbar2 + n3*R4p2231*rmbar1*rmbar2 +
- n1*R4p2113*rmbar1*rmbar3 + n2*R4p2123*rmbar1*rmbar3 +
- n3*R4p2133*rmbar1*rmbar3 + n1*R4p2311*rmbar1*rmbar3 +
- n2*R4p2321*rmbar1*rmbar3 + n3*R4p2331*rmbar1*rmbar3 +
- n1*R4p2213*rmbar2*rmbar3 + n2*R4p2223*rmbar2*rmbar3 +
- n3*R4p2233*rmbar2*rmbar3 + n1*R4p2312*rmbar2*rmbar3 +
- n2*R4p2322*rmbar2*rmbar3 + n3*R4p2332*rmbar2*rmbar3 - (n1*R4p2111 +
- n2*R4p2121 + n3*R4p2131)*SQR(imbar1) - (n1*R4p2212 + n2*R4p2222 +
- n3*R4p2232)*SQR(imbar2) + n1*(R4p2112*rmbar1*rmbar2 -
- R4p2313*SQR(imbar3)) + n2*(R4p2122*rmbar1*rmbar2 - R4p2323*SQR(imbar3))
- + n3*(R4p2132*rmbar1*rmbar2 - R4p2333*SQR(imbar3)) +
- n1*R4p2111*SQR(rmbar1) + n2*R4p2121*SQR(rmbar1) +
- n3*R4p2131*SQR(rmbar1) + n1*R4p2212*SQR(rmbar2) +
- n2*R4p2222*SQR(rmbar2) + n3*R4p2232*SQR(rmbar2) +
- n1*R4p2313*SQR(rmbar3) + n2*R4p2323*SQR(rmbar3) +
- n3*R4p2333*SQR(rmbar3)) + n3*(-(imbar1*(imbar2*(n1*(R4p3112 + R4p3211)
- + n2*(R4p3122 + R4p3221) + n3*(R4p3132 + R4p3231)) +
- imbar3*(n1*(R4p3113 + R4p3311) + n2*(R4p3123 + R4p3321) + n3*(R4p3133 +
- R4p3331)))) - imbar2*imbar3*(n1*(R4p3213 + R4p3312) + n2*(R4p3223 +
- R4p3322) + n3*(R4p3233 + R4p3332)) + n1*R4p3211*rmbar1*rmbar2 +
- n2*R4p3221*rmbar1*rmbar2 + n3*R4p3231*rmbar1*rmbar2 +
- n1*R4p3113*rmbar1*rmbar3 + n2*R4p3123*rmbar1*rmbar3 +
- n3*R4p3133*rmbar1*rmbar3 + n1*R4p3311*rmbar1*rmbar3 +
- n2*R4p3321*rmbar1*rmbar3 + n3*R4p3331*rmbar1*rmbar3 +
- n1*R4p3213*rmbar2*rmbar3 + n2*R4p3223*rmbar2*rmbar3 +
- n3*R4p3233*rmbar2*rmbar3 + n1*R4p3312*rmbar2*rmbar3 +
- n2*R4p3322*rmbar2*rmbar3 + n3*R4p3332*rmbar2*rmbar3 - (n1*R4p3111 +
- n2*R4p3121 + n3*R4p3131)*SQR(imbar1) - (n1*R4p3212 + n2*R4p3222 +
- n3*R4p3232)*SQR(imbar2) + n1*(R4p3112*rmbar1*rmbar2 -
- R4p3313*SQR(imbar3)) + n2*(R4p3122*rmbar1*rmbar2 - R4p3323*SQR(imbar3))
- + n3*(R4p3132*rmbar1*rmbar2 - R4p3333*SQR(imbar3)) +
- n1*R4p3111*SQR(rmbar1) + n2*R4p3121*SQR(rmbar1) +
- n3*R4p3131*SQR(rmbar1) + n1*R4p3212*SQR(rmbar2) +
- n2*R4p3222*SQR(rmbar2) + n3*R4p3232*SQR(rmbar2) +
- n1*R4p3313*SQR(rmbar3) + n2*R4p3323*SQR(rmbar3) +
- n3*R4p3333*SQR(rmbar3));
-
- CCTK_REAL Psi4iL = -(n1*(im1*(n1*(2*R4p1111*rm1 + R4p1112*rm2 +
- R4p1211*rm2 + R4p1113*rm3 + R4p1311*rm3) + n2*(2*R4p1121*rm1 +
- R4p1122*rm2 + R4p1221*rm2 + R4p1123*rm3 + R4p1321*rm3) +
- n3*(2*R4p1131*rm1 + R4p1132*rm2 + R4p1231*rm2 + R4p1133*rm3 +
- R4p1331*rm3)) + im2*(n1*(R4p1112*rm1 + R4p1211*rm1 + 2*R4p1212*rm2 +
- R4p1213*rm3 + R4p1312*rm3) + n2*(R4p1122*rm1 + R4p1221*rm1 +
- 2*R4p1222*rm2 + R4p1223*rm3 + R4p1322*rm3) + n3*(R4p1132*rm1 +
- R4p1231*rm1 + 2*R4p1232*rm2 + R4p1233*rm3 + R4p1332*rm3)) +
- im3*(n1*(R4p1113*rm1 + R4p1311*rm1 + R4p1213*rm2 + R4p1312*rm2 +
- 2*R4p1313*rm3) + n2*(R4p1123*rm1 + R4p1321*rm1 + R4p1223*rm2 +
- R4p1322*rm2 + 2*R4p1323*rm3) + n3*(R4p1133*rm1 + R4p1331*rm1 +
- R4p1233*rm2 + R4p1332*rm2 + 2*R4p1333*rm3)))) -
- n2*(im1*(n1*(2*R4p2111*rm1 + R4p2112*rm2 + R4p2211*rm2 + R4p2113*rm3 +
- R4p2311*rm3) + n2*(2*R4p2121*rm1 + R4p2122*rm2 + R4p2221*rm2 +
- R4p2123*rm3 + R4p2321*rm3) + n3*(2*R4p2131*rm1 + R4p2132*rm2 +
- R4p2231*rm2 + R4p2133*rm3 + R4p2331*rm3)) + im2*(n1*(R4p2112*rm1 +
- R4p2211*rm1 + 2*R4p2212*rm2 + R4p2213*rm3 + R4p2312*rm3) +
- n2*(R4p2122*rm1 + R4p2221*rm1 + 2*R4p2222*rm2 + R4p2223*rm3 +
- R4p2322*rm3) + n3*(R4p2132*rm1 + R4p2231*rm1 + 2*R4p2232*rm2 +
- R4p2233*rm3 + R4p2332*rm3)) + im3*(n1*(R4p2113*rm1 + R4p2311*rm1 +
- R4p2213*rm2 + R4p2312*rm2 + 2*R4p2313*rm3) + n2*(R4p2123*rm1 +
- R4p2321*rm1 + R4p2223*rm2 + R4p2322*rm2 + 2*R4p2323*rm3) +
- n3*(R4p2133*rm1 + R4p2331*rm1 + R4p2233*rm2 + R4p2332*rm2 +
- 2*R4p2333*rm3))) - n3*(im1*(n1*(2*R4p3111*rm1 + R4p3112*rm2 +
- R4p3211*rm2 + R4p3113*rm3 + R4p3311*rm3) + n2*(2*R4p3121*rm1 +
- R4p3122*rm2 + R4p3221*rm2 + R4p3123*rm3 + R4p3321*rm3) +
- n3*(2*R4p3131*rm1 + R4p3132*rm2 + R4p3231*rm2 + R4p3133*rm3 +
- R4p3331*rm3)) + im2*(n1*(R4p3112*rm1 + R4p3211*rm1 + 2*R4p3212*rm2 +
- R4p3213*rm3 + R4p3312*rm3) + n2*(R4p3122*rm1 + R4p3221*rm1 +
- 2*R4p3222*rm2 + R4p3223*rm3 + R4p3322*rm3) + n3*(R4p3132*rm1 +
- R4p3231*rm1 + 2*R4p3232*rm2 + R4p3233*rm3 + R4p3332*rm3)) +
- im3*(n1*(R4p3113*rm1 + R4p3311*rm1 + R4p3213*rm2 + R4p3312*rm2 +
- 2*R4p3313*rm3) + n2*(R4p3123*rm1 + R4p3321*rm1 + R4p3223*rm2 +
- R4p3322*rm2 + 2*R4p3323*rm3) + n3*(R4p3133*rm1 + R4p3331*rm1 +
- R4p3233*rm2 + R4p3332*rm2 + 2*R4p3333*rm3))) -
- 2*nn*(im1*(n1*(2*rm1*Ro111 + rm2*(Ro112 + Ro211) + rm3*(Ro113 + Ro311))
- + n2*(2*rm1*Ro121 + rm2*(Ro122 + Ro221) + rm3*(Ro123 + Ro321)) +
- n3*(2*rm1*Ro131 + rm2*(Ro132 + Ro231) + rm3*(Ro133 + Ro331))) +
- im2*(n1*(rm1*(Ro112 + Ro211) + 2*rm2*Ro212 + rm3*(Ro213 + Ro312)) +
- n2*(rm1*(Ro122 + Ro221) + 2*rm2*Ro222 + rm3*(Ro223 + Ro322)) +
- n3*(rm1*(Ro132 + Ro231) + 2*rm2*Ro232 + rm3*(Ro233 + Ro332))) +
- im3*(n1*(rm1*(Ro113 + Ro311) + rm2*(Ro213 + Ro312) + 2*rm3*Ro313) +
- n2*(rm1*(Ro123 + Ro321) + rm2*(Ro223 + Ro322) + 2*rm3*Ro323) +
- n3*(rm1*(Ro133 + Ro331) + rm2*(Ro233 + Ro332) + 2*rm3*Ro333))) -
- (im1*(2*rm1*Rojo11 + rm2*(Rojo12 + Rojo21) + rm3*(Rojo13 + Rojo31)) +
- im2*(rm1*(Rojo12 + Rojo21) + 2*rm2*Rojo22 + rm3*(Rojo23 + Rojo32)) +
- im3*(rm1*(Rojo13 + Rojo31) + rm2*(Rojo23 + Rojo32) +
- 2*rm3*Rojo33))*SQR(nn);
+ 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;
diff --git a/src/psis_calc_4th.cc b/src/psis_calc_4th.cc
index 6afc465..9aa697e 100644
--- a/src/psis_calc_4th.cc
+++ b/src/psis_calc_4th.cc
@@ -65,6 +65,9 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
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 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));
@@ -1122,136 +1125,144 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir,
+ gInv31*R3331 + gInv32*R3332 + gInv33*R3333 + gInv11*(kxxL*kzzL +
R3131 - SQR(kxzL)) + gInv22*(kyyL*kzzL + R3232 - SQR(kyzL));
- CCTK_REAL Psi4rL = 2*nn*(-(n1*((imbar2*imbar3 - rmbar2*rmbar3)*Ro213 +
- imbar1*(imbar2*(Ro112 + Ro211) + imbar3*(Ro113 + Ro311)) -
- rmbar1*(rmbar2*(Ro112 + Ro211) + rmbar3*(Ro113 + Ro311)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Ro312 + Ro111*(SQR(imbar1) -
- SQR(rmbar1)) + Ro212*(SQR(imbar2) - SQR(rmbar2)) + Ro313*(SQR(imbar3) -
- SQR(rmbar3)))) - n2*((imbar2*imbar3 - rmbar2*rmbar3)*Ro223 +
- imbar1*(imbar2*(Ro122 + Ro221) + imbar3*(Ro123 + Ro321)) -
- rmbar1*(rmbar2*(Ro122 + Ro221) + rmbar3*(Ro123 + Ro321)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Ro322 + Ro121*(SQR(imbar1) -
- SQR(rmbar1)) + Ro222*(SQR(imbar2) - SQR(rmbar2)) + Ro323*(SQR(imbar3) -
- SQR(rmbar3))) - n3*((imbar2*imbar3 - rmbar2*rmbar3)*Ro233 +
- imbar1*(imbar2*(Ro132 + Ro231) + imbar3*(Ro133 + Ro331)) -
- rmbar1*(rmbar2*(Ro132 + Ro231) + rmbar3*(Ro133 + Ro331)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Ro332 + Ro131*(SQR(imbar1) -
- SQR(rmbar1)) + Ro232*(SQR(imbar2) - SQR(rmbar2)) + Ro333*(SQR(imbar3) -
- SQR(rmbar3)))) - SQR(nn)*((imbar2*imbar3 - rmbar2*rmbar3)*Rojo23 +
- imbar1*(imbar2*(Rojo12 + Rojo21) + imbar3*(Rojo13 + Rojo31)) -
- rmbar1*(rmbar2*(Rojo12 + Rojo21) + rmbar3*(Rojo13 + Rojo31)) +
- (imbar2*imbar3 - rmbar2*rmbar3)*Rojo32 + Rojo11*(SQR(imbar1) -
- SQR(rmbar1)) + Rojo22*(SQR(imbar2) - SQR(rmbar2)) + Rojo33*(SQR(imbar3)
- - SQR(rmbar3))) + n1*(-(imbar1*(imbar2*(n1*(R4p1112 + R4p1211) +
- n2*(R4p1122 + R4p1221) + n3*(R4p1132 + R4p1231)) + imbar3*(n1*(R4p1113
- + R4p1311) + n2*(R4p1123 + R4p1321) + n3*(R4p1133 + R4p1331)))) -
- imbar2*imbar3*(n1*(R4p1213 + R4p1312) + n2*(R4p1223 + R4p1322) +
- n3*(R4p1233 + R4p1332)) + n1*R4p1211*rmbar1*rmbar2 +
- n2*R4p1221*rmbar1*rmbar2 + n3*R4p1231*rmbar1*rmbar2 +
- n1*R4p1113*rmbar1*rmbar3 + n2*R4p1123*rmbar1*rmbar3 +
- n3*R4p1133*rmbar1*rmbar3 + n1*R4p1311*rmbar1*rmbar3 +
- n2*R4p1321*rmbar1*rmbar3 + n3*R4p1331*rmbar1*rmbar3 +
- n1*R4p1213*rmbar2*rmbar3 + n2*R4p1223*rmbar2*rmbar3 +
- n3*R4p1233*rmbar2*rmbar3 + n1*R4p1312*rmbar2*rmbar3 +
- n2*R4p1322*rmbar2*rmbar3 + n3*R4p1332*rmbar2*rmbar3 - (n1*R4p1111 +
- n2*R4p1121 + n3*R4p1131)*SQR(imbar1) - (n1*R4p1212 + n2*R4p1222 +
- n3*R4p1232)*SQR(imbar2) + n1*(R4p1112*rmbar1*rmbar2 -
- R4p1313*SQR(imbar3)) + n2*(R4p1122*rmbar1*rmbar2 - R4p1323*SQR(imbar3))
- + n3*(R4p1132*rmbar1*rmbar2 - R4p1333*SQR(imbar3)) +
- n1*R4p1111*SQR(rmbar1) + n2*R4p1121*SQR(rmbar1) +
- n3*R4p1131*SQR(rmbar1) + n1*R4p1212*SQR(rmbar2) +
- n2*R4p1222*SQR(rmbar2) + n3*R4p1232*SQR(rmbar2) +
- n1*R4p1313*SQR(rmbar3) + n2*R4p1323*SQR(rmbar3) +
- n3*R4p1333*SQR(rmbar3)) + n2*(-(imbar1*(imbar2*(n1*(R4p2112 + R4p2211)
- + n2*(R4p2122 + R4p2221) + n3*(R4p2132 + R4p2231)) +
- imbar3*(n1*(R4p2113 + R4p2311) + n2*(R4p2123 + R4p2321) + n3*(R4p2133 +
- R4p2331)))) - imbar2*imbar3*(n1*(R4p2213 + R4p2312) + n2*(R4p2223 +
- R4p2322) + n3*(R4p2233 + R4p2332)) + n1*R4p2211*rmbar1*rmbar2 +
- n2*R4p2221*rmbar1*rmbar2 + n3*R4p2231*rmbar1*rmbar2 +
- n1*R4p2113*rmbar1*rmbar3 + n2*R4p2123*rmbar1*rmbar3 +
- n3*R4p2133*rmbar1*rmbar3 + n1*R4p2311*rmbar1*rmbar3 +
- n2*R4p2321*rmbar1*rmbar3 + n3*R4p2331*rmbar1*rmbar3 +
- n1*R4p2213*rmbar2*rmbar3 + n2*R4p2223*rmbar2*rmbar3 +
- n3*R4p2233*rmbar2*rmbar3 + n1*R4p2312*rmbar2*rmbar3 +
- n2*R4p2322*rmbar2*rmbar3 + n3*R4p2332*rmbar2*rmbar3 - (n1*R4p2111 +
- n2*R4p2121 + n3*R4p2131)*SQR(imbar1) - (n1*R4p2212 + n2*R4p2222 +
- n3*R4p2232)*SQR(imbar2) + n1*(R4p2112*rmbar1*rmbar2 -
- R4p2313*SQR(imbar3)) + n2*(R4p2122*rmbar1*rmbar2 - R4p2323*SQR(imbar3))
- + n3*(R4p2132*rmbar1*rmbar2 - R4p2333*SQR(imbar3)) +
- n1*R4p2111*SQR(rmbar1) + n2*R4p2121*SQR(rmbar1) +
- n3*R4p2131*SQR(rmbar1) + n1*R4p2212*SQR(rmbar2) +
- n2*R4p2222*SQR(rmbar2) + n3*R4p2232*SQR(rmbar2) +
- n1*R4p2313*SQR(rmbar3) + n2*R4p2323*SQR(rmbar3) +
- n3*R4p2333*SQR(rmbar3)) + n3*(-(imbar1*(imbar2*(n1*(R4p3112 + R4p3211)
- + n2*(R4p3122 + R4p3221) + n3*(R4p3132 + R4p3231)) +
- imbar3*(n1*(R4p3113 + R4p3311) + n2*(R4p3123 + R4p3321) + n3*(R4p3133 +
- R4p3331)))) - imbar2*imbar3*(n1*(R4p3213 + R4p3312) + n2*(R4p3223 +
- R4p3322) + n3*(R4p3233 + R4p3332)) + n1*R4p3211*rmbar1*rmbar2 +
- n2*R4p3221*rmbar1*rmbar2 + n3*R4p3231*rmbar1*rmbar2 +
- n1*R4p3113*rmbar1*rmbar3 + n2*R4p3123*rmbar1*rmbar3 +
- n3*R4p3133*rmbar1*rmbar3 + n1*R4p3311*rmbar1*rmbar3 +
- n2*R4p3321*rmbar1*rmbar3 + n3*R4p3331*rmbar1*rmbar3 +
- n1*R4p3213*rmbar2*rmbar3 + n2*R4p3223*rmbar2*rmbar3 +
- n3*R4p3233*rmbar2*rmbar3 + n1*R4p3312*rmbar2*rmbar3 +
- n2*R4p3322*rmbar2*rmbar3 + n3*R4p3332*rmbar2*rmbar3 - (n1*R4p3111 +
- n2*R4p3121 + n3*R4p3131)*SQR(imbar1) - (n1*R4p3212 + n2*R4p3222 +
- n3*R4p3232)*SQR(imbar2) + n1*(R4p3112*rmbar1*rmbar2 -
- R4p3313*SQR(imbar3)) + n2*(R4p3122*rmbar1*rmbar2 - R4p3323*SQR(imbar3))
- + n3*(R4p3132*rmbar1*rmbar2 - R4p3333*SQR(imbar3)) +
- n1*R4p3111*SQR(rmbar1) + n2*R4p3121*SQR(rmbar1) +
- n3*R4p3131*SQR(rmbar1) + n1*R4p3212*SQR(rmbar2) +
- n2*R4p3222*SQR(rmbar2) + n3*R4p3232*SQR(rmbar2) +
- n1*R4p3313*SQR(rmbar3) + n2*R4p3323*SQR(rmbar3) +
- n3*R4p3333*SQR(rmbar3));
-
- CCTK_REAL Psi4iL = -(n1*(im1*(n1*(2*R4p1111*rm1 + R4p1112*rm2 +
- R4p1211*rm2 + R4p1113*rm3 + R4p1311*rm3) + n2*(2*R4p1121*rm1 +
- R4p1122*rm2 + R4p1221*rm2 + R4p1123*rm3 + R4p1321*rm3) +
- n3*(2*R4p1131*rm1 + R4p1132*rm2 + R4p1231*rm2 + R4p1133*rm3 +
- R4p1331*rm3)) + im2*(n1*(R4p1112*rm1 + R4p1211*rm1 + 2*R4p1212*rm2 +
- R4p1213*rm3 + R4p1312*rm3) + n2*(R4p1122*rm1 + R4p1221*rm1 +
- 2*R4p1222*rm2 + R4p1223*rm3 + R4p1322*rm3) + n3*(R4p1132*rm1 +
- R4p1231*rm1 + 2*R4p1232*rm2 + R4p1233*rm3 + R4p1332*rm3)) +
- im3*(n1*(R4p1113*rm1 + R4p1311*rm1 + R4p1213*rm2 + R4p1312*rm2 +
- 2*R4p1313*rm3) + n2*(R4p1123*rm1 + R4p1321*rm1 + R4p1223*rm2 +
- R4p1322*rm2 + 2*R4p1323*rm3) + n3*(R4p1133*rm1 + R4p1331*rm1 +
- R4p1233*rm2 + R4p1332*rm2 + 2*R4p1333*rm3)))) -
- n2*(im1*(n1*(2*R4p2111*rm1 + R4p2112*rm2 + R4p2211*rm2 + R4p2113*rm3 +
- R4p2311*rm3) + n2*(2*R4p2121*rm1 + R4p2122*rm2 + R4p2221*rm2 +
- R4p2123*rm3 + R4p2321*rm3) + n3*(2*R4p2131*rm1 + R4p2132*rm2 +
- R4p2231*rm2 + R4p2133*rm3 + R4p2331*rm3)) + im2*(n1*(R4p2112*rm1 +
- R4p2211*rm1 + 2*R4p2212*rm2 + R4p2213*rm3 + R4p2312*rm3) +
- n2*(R4p2122*rm1 + R4p2221*rm1 + 2*R4p2222*rm2 + R4p2223*rm3 +
- R4p2322*rm3) + n3*(R4p2132*rm1 + R4p2231*rm1 + 2*R4p2232*rm2 +
- R4p2233*rm3 + R4p2332*rm3)) + im3*(n1*(R4p2113*rm1 + R4p2311*rm1 +
- R4p2213*rm2 + R4p2312*rm2 + 2*R4p2313*rm3) + n2*(R4p2123*rm1 +
- R4p2321*rm1 + R4p2223*rm2 + R4p2322*rm2 + 2*R4p2323*rm3) +
- n3*(R4p2133*rm1 + R4p2331*rm1 + R4p2233*rm2 + R4p2332*rm2 +
- 2*R4p2333*rm3))) - n3*(im1*(n1*(2*R4p3111*rm1 + R4p3112*rm2 +
- R4p3211*rm2 + R4p3113*rm3 + R4p3311*rm3) + n2*(2*R4p3121*rm1 +
- R4p3122*rm2 + R4p3221*rm2 + R4p3123*rm3 + R4p3321*rm3) +
- n3*(2*R4p3131*rm1 + R4p3132*rm2 + R4p3231*rm2 + R4p3133*rm3 +
- R4p3331*rm3)) + im2*(n1*(R4p3112*rm1 + R4p3211*rm1 + 2*R4p3212*rm2 +
- R4p3213*rm3 + R4p3312*rm3) + n2*(R4p3122*rm1 + R4p3221*rm1 +
- 2*R4p3222*rm2 + R4p3223*rm3 + R4p3322*rm3) + n3*(R4p3132*rm1 +
- R4p3231*rm1 + 2*R4p3232*rm2 + R4p3233*rm3 + R4p3332*rm3)) +
- im3*(n1*(R4p3113*rm1 + R4p3311*rm1 + R4p3213*rm2 + R4p3312*rm2 +
- 2*R4p3313*rm3) + n2*(R4p3123*rm1 + R4p3321*rm1 + R4p3223*rm2 +
- R4p3322*rm2 + 2*R4p3323*rm3) + n3*(R4p3133*rm1 + R4p3331*rm1 +
- R4p3233*rm2 + R4p3332*rm2 + 2*R4p3333*rm3))) -
- 2*nn*(im1*(n1*(2*rm1*Ro111 + rm2*(Ro112 + Ro211) + rm3*(Ro113 + Ro311))
- + n2*(2*rm1*Ro121 + rm2*(Ro122 + Ro221) + rm3*(Ro123 + Ro321)) +
- n3*(2*rm1*Ro131 + rm2*(Ro132 + Ro231) + rm3*(Ro133 + Ro331))) +
- im2*(n1*(rm1*(Ro112 + Ro211) + 2*rm2*Ro212 + rm3*(Ro213 + Ro312)) +
- n2*(rm1*(Ro122 + Ro221) + 2*rm2*Ro222 + rm3*(Ro223 + Ro322)) +
- n3*(rm1*(Ro132 + Ro231) + 2*rm2*Ro232 + rm3*(Ro233 + Ro332))) +
- im3*(n1*(rm1*(Ro113 + Ro311) + rm2*(Ro213 + Ro312) + 2*rm3*Ro313) +
- n2*(rm1*(Ro123 + Ro321) + rm2*(Ro223 + Ro322) + 2*rm3*Ro323) +
- n3*(rm1*(Ro133 + Ro331) + rm2*(Ro233 + Ro332) + 2*rm3*Ro333))) -
- (im1*(2*rm1*Rojo11 + rm2*(Rojo12 + Rojo21) + rm3*(Rojo13 + Rojo31)) +
- im2*(rm1*(Rojo12 + Rojo21) + 2*rm2*Rojo22 + rm3*(Rojo23 + Rojo32)) +
- im3*(rm1*(Rojo13 + Rojo31) + rm2*(Rojo23 + Rojo32) +
- 2*rm3*Rojo33))*SQR(nn);
+ 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;