aboutsummaryrefslogtreecommitdiff
path: root/ML_ADM
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2011-09-23 16:44:23 -0400
committerErik Schnetter <schnetter@gmail.com>2011-09-23 16:44:23 -0400
commitf4407d369e6c3e63a5d13731c1837b4855bacdf3 (patch)
tree8dc0d560ae8259fc70bc786d88f83fa653d67a3d /ML_ADM
parent105dc566b1af31970d611961c9cde235cab6a2c4 (diff)
Regenerate code for ADM thorn
Diffstat (limited to 'ML_ADM')
-rw-r--r--ML_ADM/configuration.ccl1
-rw-r--r--ML_ADM/interface.ccl3
-rw-r--r--ML_ADM/param.ccl9
-rw-r--r--ML_ADM/src/Differencing.h555
-rw-r--r--ML_ADM/src/ML_ADM_Minkowski.cc301
-rw-r--r--ML_ADM/src/ML_ADM_RHS.cc1827
-rw-r--r--ML_ADM/src/ML_ADM_boundary.cc301
-rw-r--r--ML_ADM/src/ML_ADM_constraints.cc1452
-rw-r--r--ML_ADM/src/ML_ADM_constraints_boundary.cc217
-rw-r--r--ML_ADM/src/ML_ADM_convertFromADMBase.cc333
-rw-r--r--ML_ADM/src/ML_ADM_convertToADMBase.cc361
11 files changed, 4328 insertions, 1032 deletions
diff --git a/ML_ADM/configuration.ccl b/ML_ADM/configuration.ccl
index 8e2c3c5..bdbc1bd 100644
--- a/ML_ADM/configuration.ccl
+++ b/ML_ADM/configuration.ccl
@@ -2,3 +2,4 @@
REQUIRES GenericFD
REQUIRES LoopControl
+REQUIRES Vectors
diff --git a/ML_ADM/interface.ccl b/ML_ADM/interface.ccl
index d926ad3..d623c1c 100644
--- a/ML_ADM/interface.ccl
+++ b/ML_ADM/interface.ccl
@@ -2,7 +2,7 @@
implements: ML_ADM
-inherits: ADMBase Grid GenericFD Boundary
+inherits: ADMBase TmunuBase Grid GenericFD Boundary
@@ -11,6 +11,7 @@ USES INCLUDE: Symmetry.h
USES INCLUDE: sbp_calc_coeffs.h
USES INCLUDE: Boundary.h
USES INCLUDE: loopcontrol.h
+USES INCLUDE: vectors.h
CCTK_INT FUNCTION MoLRegisterEvolved(CCTK_INT IN EvolvedIndex, CCTK_INT IN RHSIndex)
USES FUNCTION MoLRegisterEvolved
diff --git a/ML_ADM/param.ccl b/ML_ADM/param.ccl
index 0cd2109..2b1fdf8 100644
--- a/ML_ADM/param.ccl
+++ b/ML_ADM/param.ccl
@@ -3,6 +3,9 @@
shares: GenericFD
+USES CCTK_STRING jacobian_group
+USES CCTK_STRING jacobian_derivative_group
+USES CCTK_INT jacobian_identity_map
shares: MethodOfLines
@@ -15,6 +18,12 @@ CCTK_INT verbose "verbose" STEERABLE=ALWAYS
*:* :: ""
} 0
+restricted:
+CCTK_INT fdOrder "fdOrder"
+{
+ *:* :: ""
+} 4
+
private:
KEYWORD my_initial_data "my_initial_data"
{
diff --git a/ML_ADM/src/Differencing.h b/ML_ADM/src/Differencing.h
index cd495e5..8ffc77e 100644
--- a/ML_ADM/src/Differencing.h
+++ b/ML_ADM/src/Differencing.h
@@ -1,144 +1,579 @@
+#include <assert.h>
+#include "vectors.h"
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder21(u) (kmul(p1o2dx,ksub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]))))
+#else
+# define PDstandardNthfdOrder21(u) (PDstandardNthfdOrder21_impl(u,p1o2dx,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o2dx,ksub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)])));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder22(u) (kmul(p1o2dy,ksub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]))))
+#else
+# define PDstandardNthfdOrder22(u) (PDstandardNthfdOrder22_impl(u,p1o2dy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o2dy,ksub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)])));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder23(u) (kmul(p1o2dz,ksub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]))))
+#else
+# define PDstandardNthfdOrder23(u) (PDstandardNthfdOrder23_impl(u,p1o2dz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o2dz,ksub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)])));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder41(u) (kmul(p1o12dx,kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-8),kmsub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(8),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))))))
+#else
+# define PDstandardNthfdOrder41(u) (PDstandardNthfdOrder41_impl(u,p1o12dx,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o12dx,kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-8),kmsub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(8),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder42(u) (kmul(p1o12dy,kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-8),kmsub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(8),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))))))
+#else
+# define PDstandardNthfdOrder42(u) (PDstandardNthfdOrder42_impl(u,p1o12dy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o12dy,kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-8),kmsub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(8),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder43(u) (kmul(p1o12dz,kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-8),kmsub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(8),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))))))
+#else
+# define PDstandardNthfdOrder43(u) (PDstandardNthfdOrder43_impl(u,p1o12dz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o12dz,kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-8),kmsub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(8),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder61(u) (kmul(p1o60dx,kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-45),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-9),ksub(kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(9),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(45))),vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)])))))))
+#else
+# define PDstandardNthfdOrder61(u) (PDstandardNthfdOrder61_impl(u,p1o60dx,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o60dx,kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-45),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-9),ksub(kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(9),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(45))),vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder62(u) (kmul(p1o60dy,kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-45),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-9),ksub(kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(9),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(45))),vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)])))))))
+#else
+# define PDstandardNthfdOrder62(u) (PDstandardNthfdOrder62_impl(u,p1o60dy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o60dy,kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-45),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-9),ksub(kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(9),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(45))),vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder63(u) (kmul(p1o60dz,kadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-45),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-9),ksub(kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(9),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(45))),vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)])))))))
+#else
+# define PDstandardNthfdOrder63(u) (PDstandardNthfdOrder63_impl(u,p1o60dz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o60dz,kadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-45),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-9),ksub(kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(9),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(45))),vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder81(u) (kmul(p1o840dx,kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-672),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-168),kmadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),ToReal(3),kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),ToReal(32),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(168),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(672)))))))))))
+#else
+# define PDstandardNthfdOrder81(u) (PDstandardNthfdOrder81_impl(u,p1o840dx,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o840dx,kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-672),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-168),kmadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),ToReal(3),kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),ToReal(32),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(168),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(672))))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder82(u) (kmul(p1o840dy,kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-672),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-168),kmadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),ToReal(3),kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),ToReal(32),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(168),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(672)))))))))))
+#else
+# define PDstandardNthfdOrder82(u) (PDstandardNthfdOrder82_impl(u,p1o840dy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o840dy,kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-672),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-168),kmadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),ToReal(3),kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),ToReal(32),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(168),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(672))))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder83(u) (kmul(p1o840dz,kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-672),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-168),kmadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),ToReal(3),kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),ToReal(32),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(168),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(672)))))))))))
+#else
+# define PDstandardNthfdOrder83(u) (PDstandardNthfdOrder83_impl(u,p1o840dz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o840dz,kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-672),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-168),kmadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),ToReal(3),kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),ToReal(32),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(168),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(672))))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder211(u) (kmul(p1odx2,kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-2),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])))))
+#else
+# define PDstandardNthfdOrder211(u) (PDstandardNthfdOrder211_impl(u,p1odx2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1odx2,kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-2),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder222(u) (kmul(p1ody2,kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-2),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])))))
+#else
+# define PDstandardNthfdOrder222(u) (PDstandardNthfdOrder222_impl(u,p1ody2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1ody2,kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-2),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder233(u) (kmul(p1odz2,kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-2),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])))))
+#else
+# define PDstandardNthfdOrder233(u) (PDstandardNthfdOrder233_impl(u,p1odz2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1odz2,kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-2),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder411(u) (kmul(pm1o12dx2,kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])),ToReal(-16),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(30)))))))
+#else
+# define PDstandardNthfdOrder411(u) (PDstandardNthfdOrder411_impl(u,pm1o12dx2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o12dx2,kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])),ToReal(-16),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(30))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder422(u) (kmul(pm1o12dy2,kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])),ToReal(-16),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(30)))))))
+#else
+# define PDstandardNthfdOrder422(u) (PDstandardNthfdOrder422_impl(u,pm1o12dy2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o12dy2,kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])),ToReal(-16),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(30))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder433(u) (kmul(pm1o12dz2,kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])),ToReal(-16),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(30)))))))
+#else
+# define PDstandardNthfdOrder433(u) (PDstandardNthfdOrder433_impl(u,pm1o12dz2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o12dz2,kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])),ToReal(-16),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(30))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder611(u) (kmul(p1o180dx2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-490),kmadd(kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])),ToReal(-27),kmadd(kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])),ToReal(2),kmul(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])),ToReal(270)))))))
+#else
+# define PDstandardNthfdOrder611(u) (PDstandardNthfdOrder611_impl(u,p1o180dx2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o180dx2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-490),kmadd(kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])),ToReal(-27),kmadd(kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])),ToReal(2),kmul(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])),ToReal(270))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder622(u) (kmul(p1o180dy2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-490),kmadd(kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])),ToReal(-27),kmadd(kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])),ToReal(2),kmul(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])),ToReal(270)))))))
+#else
+# define PDstandardNthfdOrder622(u) (PDstandardNthfdOrder622_impl(u,p1o180dy2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o180dy2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-490),kmadd(kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])),ToReal(-27),kmadd(kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])),ToReal(2),kmul(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])),ToReal(270))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder633(u) (kmul(p1o180dz2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-490),kmadd(kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])),ToReal(-27),kmadd(kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])),ToReal(2),kmul(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])),ToReal(270)))))))
+#else
+# define PDstandardNthfdOrder633(u) (PDstandardNthfdOrder633_impl(u,p1o180dz2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o180dz2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-490),kmadd(kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])),ToReal(-27),kmadd(kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])),ToReal(2),kmul(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])),ToReal(270))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder811(u) (kmul(p1o5040dx2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-14350),kmadd(kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])),ToReal(-1008),kmadd(kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])),ToReal(128),kmul(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])),ToReal(8064))))))))
+#else
+# define PDstandardNthfdOrder811(u) (PDstandardNthfdOrder811_impl(u,p1o5040dx2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o5040dx2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-14350),kmadd(kadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])),ToReal(-1008),kmadd(kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])),ToReal(128),kmul(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])),ToReal(8064)))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder822(u) (kmul(p1o5040dy2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-14350),kmadd(kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])),ToReal(-1008),kmadd(kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])),ToReal(128),kmul(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])),ToReal(8064))))))))
+#else
+# define PDstandardNthfdOrder822(u) (PDstandardNthfdOrder822_impl(u,p1o5040dy2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o5040dy2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-14350),kmadd(kadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])),ToReal(-1008),kmadd(kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])),ToReal(128),kmul(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])),ToReal(8064)))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder833(u) (kmul(p1o5040dz2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-14350),kmadd(kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])),ToReal(-1008),kmadd(kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])),ToReal(128),kmul(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])),ToReal(8064))))))))
+#else
+# define PDstandardNthfdOrder833(u) (PDstandardNthfdOrder833_impl(u,p1o5040dz2,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o5040dz2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-14350),kmadd(kadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])),ToReal(-1008),kmadd(kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])),ToReal(128),kmul(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])),ToReal(8064)))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder212(u) (kmul(p1o4dxdy,kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),ksub(vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]))))))
+#else
+# define PDstandardNthfdOrder212(u) (PDstandardNthfdOrder212_impl(u,p1o4dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dxdy,kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),ksub(vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder213(u) (kmul(p1o4dxdz,kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),ksub(vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]),kadd(vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]))))))
+#else
+# define PDstandardNthfdOrder213(u) (PDstandardNthfdOrder213_impl(u,p1o4dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dxdz,kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),ksub(vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]),kadd(vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder221(u) (kmul(p1o4dxdy,kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),ksub(vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]))))))
+#else
+# define PDstandardNthfdOrder221(u) (PDstandardNthfdOrder221_impl(u,p1o4dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dxdy,kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),ksub(vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder223(u) (kmul(p1o4dydz,kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),ksub(vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]),kadd(vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]),vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]))))))
+#else
+# define PDstandardNthfdOrder223(u) (PDstandardNthfdOrder223_impl(u,p1o4dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dydz,kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),ksub(vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]),kadd(vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]),vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder231(u) (kmul(p1o4dxdz,kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),ksub(vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]),kadd(vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]))))))
+#else
+# define PDstandardNthfdOrder231(u) (PDstandardNthfdOrder231_impl(u,p1o4dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dxdz,kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),ksub(vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]),kadd(vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder232(u) (kmul(p1o4dydz,kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),ksub(vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]),kadd(vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]),vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]))))))
+#else
+# define PDstandardNthfdOrder232(u) (PDstandardNthfdOrder232_impl(u,p1o4dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dydz,kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),ksub(vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]),kadd(vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]),vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder412(u) (kmul(p1o144dxdy,kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(64))),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]))))))))
+#else
+# define PDstandardNthfdOrder412(u) (PDstandardNthfdOrder412_impl(u,p1o144dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o144dxdy,kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(64))),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder413(u) (kmul(p1o144dxdz,kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]))))))))
+#else
+# define PDstandardNthfdOrder413(u) (PDstandardNthfdOrder413_impl(u,p1o144dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o144dxdz,kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder421(u) (kmul(p1o144dxdy,kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(64))),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]))))))))
+#else
+# define PDstandardNthfdOrder421(u) (PDstandardNthfdOrder421_impl(u,p1o144dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o144dxdy,kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(64))),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder423(u) (kmul(p1o144dydz,kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]))))))))
+#else
+# define PDstandardNthfdOrder423(u) (PDstandardNthfdOrder423_impl(u,p1o144dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o144dydz,kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder431(u) (kmul(p1o144dxdz,kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]))))))))
+#else
+# define PDstandardNthfdOrder431(u) (PDstandardNthfdOrder431_impl(u,p1o144dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o144dxdz,kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDstandardNthfdOrder432(u) (kmul(p1o144dydz,kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]))))))))
+#else
+# define PDstandardNthfdOrder432(u) (PDstandardNthfdOrder432_impl(u,p1o144dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o144dydz,kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-64),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-8),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(8),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(64))),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)])))))));
+}
+#endif
+
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth1(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx)
+# define PDstandardNthfdOrder612(u) (kmul(p1o3600dxdy,kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(2025)))))),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)])))))))))))
#else
-# define PDstandardNth1(u) (PDstandardNth1_impl(u,p1o12dx,cdj,cdk))
-static CCTK_REAL PDstandardNth1_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 PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder612(u) (PDstandardNthfdOrder612_impl(u,p1o3600dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx;
+ return kmul(p1o3600dxdy,kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(2025)))))),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth2(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy)
+# define PDstandardNthfdOrder613(u) (kmul(p1o3600dxdz,kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)])))))))))))
#else
-# define PDstandardNth2(u) (PDstandardNth2_impl(u,p1o12dy,cdj,cdk))
-static CCTK_REAL PDstandardNth2_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 PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder613(u) (PDstandardNthfdOrder613_impl(u,p1o3600dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy;
+ return kmul(p1o3600dxdz,kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth3(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz)
+# define PDstandardNthfdOrder621(u) (kmul(p1o3600dxdy,kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(2025)))))),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)])))))))))))
#else
-# define PDstandardNth3(u) (PDstandardNth3_impl(u,p1o12dz,cdj,cdk))
-static CCTK_REAL PDstandardNth3_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 PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder621(u) (PDstandardNthfdOrder621_impl(u,p1o3600dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz;
+ return kmul(p1o3600dxdy,kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]),kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(2025)))))),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth11(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2)
+# define PDstandardNthfdOrder623(u) (kmul(p1o3600dydz,kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)])))))))))))
#else
-# define PDstandardNth11(u) (PDstandardNth11_impl(u,pm1o12dx2,cdj,cdk))
-static CCTK_REAL PDstandardNth11_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 PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder623(u) (PDstandardNthfdOrder623_impl(u,p1o3600dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2;
+ return kmul(p1o3600dydz,kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth22(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2)
+# define PDstandardNthfdOrder631(u) (kmul(p1o3600dxdz,kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)])))))))))))
#else
-# define PDstandardNth22(u) (PDstandardNth22_impl(u,pm1o12dy2,cdj,cdk))
-static CCTK_REAL PDstandardNth22_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 PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder631(u) (PDstandardNthfdOrder631_impl(u,p1o3600dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2;
+ return kmul(p1o3600dxdz,kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth33(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2)
+# define PDstandardNthfdOrder632(u) (kmul(p1o3600dydz,kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)])))))))))))
#else
-# define PDstandardNth33(u) (PDstandardNth33_impl(u,pm1o12dz2,cdj,cdk))
-static CCTK_REAL PDstandardNth33_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 PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder632(u) (PDstandardNthfdOrder632_impl(u,p1o3600dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2;
+ return kmul(p1o3600dydz,kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]),kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-2025),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-405),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-81),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-45),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-9),ksub(ksub(kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(45),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(81),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(405),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(2025)))))),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth12(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy)
+# define PDstandardNthfdOrder812(u) (kmul(p1o705600dxdy,kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]),vec_loadu_maybe3(4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]),vec_loadu_maybe3(4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(451584)))))))))))))))))))))))
#else
-# define PDstandardNth12(u) (PDstandardNth12_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL PDstandardNth12_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 PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder812(u) (PDstandardNthfdOrder812_impl(u,p1o705600dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy;
+ return kmul(p1o705600dxdy,kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]),vec_loadu_maybe3(4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]),vec_loadu_maybe3(4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth13(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz)
+# define PDstandardNthfdOrder813(u) (kmul(p1o705600dxdz,kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]),vec_loadu_maybe3(4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]),vec_loadu_maybe3(4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(451584)))))))))))))))))))))))
#else
-# define PDstandardNth13(u) (PDstandardNth13_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL PDstandardNth13_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 PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder813(u) (PDstandardNthfdOrder813_impl(u,p1o705600dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz;
+ return kmul(p1o705600dxdz,kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]),vec_loadu_maybe3(4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]),vec_loadu_maybe3(4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth21(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy)
+# define PDstandardNthfdOrder821(u) (kmul(p1o705600dxdy,kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]),vec_loadu_maybe3(4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]),vec_loadu_maybe3(4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(451584)))))))))))))))))))))))
#else
-# define PDstandardNth21(u) (PDstandardNth21_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL PDstandardNth21_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 PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder821(u) (PDstandardNthfdOrder821_impl(u,p1o705600dxdy,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy;
+ return kmul(p1o705600dxdy,kmadd(kadd(vec_loadu_maybe3(-1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]),vec_loadu_maybe3(4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]),vec_loadu_maybe3(4,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(3,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]),vec_loadu_maybe3(4,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(2,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(4,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]),vec_loadu_maybe3(3,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(-4,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(4,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(2,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]),vec_loadu_maybe3(3,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(1,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]),kadd(vec_loadu_maybe3(-3,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(3,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]),vec_loadu_maybe3(2,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]),kadd(vec_loadu_maybe3(1,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]),kadd(vec_loadu_maybe3(-2,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]),vec_loadu_maybe3(2,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]),vec_loadu_maybe3(1,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth23(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz)
+# define PDstandardNthfdOrder823(u) (kmul(p1o705600dydz,kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]),vec_loadu_maybe3(0,4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(0,-2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]),vec_loadu_maybe3(0,4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(0,-3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]),vec_loadu_maybe3(0,4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(0,-4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]),vec_loadu_maybe3(0,4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,-4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]),vec_loadu_maybe3(0,4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]),vec_loadu_maybe3(0,4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(0,-2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]),vec_loadu_maybe3(0,4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(0,-1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]),vec_loadu_maybe3(0,4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(451584)))))))))))))))))))))))
#else
-# define PDstandardNth23(u) (PDstandardNth23_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL PDstandardNth23_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 PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder823(u) (PDstandardNthfdOrder823_impl(u,p1o705600dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz;
+ return kmul(p1o705600dydz,kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]),vec_loadu_maybe3(0,4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(0,-2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]),vec_loadu_maybe3(0,4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(0,-3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]),vec_loadu_maybe3(0,4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(0,-4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]),vec_loadu_maybe3(0,4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,-4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]),vec_loadu_maybe3(0,4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]),vec_loadu_maybe3(0,4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(0,-2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]),vec_loadu_maybe3(0,4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(0,-1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]),vec_loadu_maybe3(0,4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth31(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz)
+# define PDstandardNthfdOrder831(u) (kmul(p1o705600dxdz,kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]),vec_loadu_maybe3(4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]),vec_loadu_maybe3(4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(451584)))))))))))))))))))))))
#else
-# define PDstandardNth31(u) (PDstandardNth31_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL PDstandardNth31_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 PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder831(u) (PDstandardNthfdOrder831_impl(u,p1o705600dxdz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz;
+ return kmul(p1o705600dxdz,kmadd(kadd(vec_loadu_maybe3(-1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(-1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(-2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(-2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(-1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(-3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(-2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(-3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(-4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]),vec_loadu_maybe3(4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(-4,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]),vec_loadu_maybe3(4,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(-3,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(3,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]),vec_loadu_maybe3(4,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(-2,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(2,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(-4,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(4,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(-3,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]),vec_loadu_maybe3(3,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(-1,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]),kadd(vec_loadu_maybe3(1,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(-4,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(4,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(-2,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(2,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(-3,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]),vec_loadu_maybe3(3,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(-1,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]),kadd(vec_loadu_maybe3(1,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]),kadd(vec_loadu_maybe3(-3,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(3,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(-2,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]),vec_loadu_maybe3(2,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(-1,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]),kadd(vec_loadu_maybe3(1,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]),kadd(vec_loadu_maybe3(-2,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]),vec_loadu_maybe3(2,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(-1,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]),vec_loadu_maybe3(1,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])),ToReal(451584))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth32(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz)
+# define PDstandardNthfdOrder832(u) (kmul(p1o705600dydz,kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]),vec_loadu_maybe3(0,4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(0,-2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]),vec_loadu_maybe3(0,4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(0,-3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]),vec_loadu_maybe3(0,4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(0,-4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]),vec_loadu_maybe3(0,4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,-4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]),vec_loadu_maybe3(0,4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]),vec_loadu_maybe3(0,4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(0,-2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]),vec_loadu_maybe3(0,4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(0,-1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]),vec_loadu_maybe3(0,4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(451584)))))))))))))))))))))))
#else
-# define PDstandardNth32(u) (PDstandardNth32_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL PDstandardNth32_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 PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDstandardNthfdOrder832(u) (PDstandardNthfdOrder832_impl(u,p1o705600dydz,cdj,cdk))
+static CCTK_REAL_VEC PDstandardNthfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDstandardNthfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz;
+ return kmul(p1o705600dydz,kmadd(kadd(vec_loadu_maybe3(0,-1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]),vec_loadu_maybe3(0,1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])),ToReal(-451584),kmadd(kadd(vec_loadu_maybe3(0,-1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,-2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]),vec_loadu_maybe3(0,2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])))),ToReal(-112896),kmadd(kadd(vec_loadu_maybe3(0,-2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]),vec_loadu_maybe3(0,2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])),ToReal(-28224),kmadd(kadd(vec_loadu_maybe3(0,-1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]),vec_loadu_maybe3(0,3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])))),ToReal(-21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]),vec_loadu_maybe3(0,3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])))),ToReal(-5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]),vec_loadu_maybe3(0,4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])))),ToReal(-2016),kmadd(kadd(vec_loadu_maybe3(0,-3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]),vec_loadu_maybe3(0,3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])),ToReal(-1024),kmadd(kadd(vec_loadu_maybe3(0,-2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]),vec_loadu_maybe3(0,4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])))),ToReal(-504),kmadd(kadd(vec_loadu_maybe3(0,-3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]),vec_loadu_maybe3(0,4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])))),ToReal(-96),kmadd(kadd(vec_loadu_maybe3(0,-4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]),vec_loadu_maybe3(0,4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])),ToReal(-9),kmadd(kadd(vec_loadu_maybe3(0,-4,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]),vec_loadu_maybe3(0,4,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])),ToReal(9),kmadd(kadd(vec_loadu_maybe3(0,-3,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]),kadd(vec_loadu_maybe3(0,3,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]),vec_loadu_maybe3(0,4,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])))),ToReal(96),kmadd(kadd(vec_loadu_maybe3(0,-2,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,2,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]),kadd(vec_loadu_maybe3(0,-4,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]),vec_loadu_maybe3(0,4,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])))),ToReal(504),kmadd(kadd(vec_loadu_maybe3(0,-3,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]),vec_loadu_maybe3(0,3,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])),ToReal(1024),kmadd(kadd(vec_loadu_maybe3(0,-1,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]),kadd(vec_loadu_maybe3(0,1,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,-4,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]),vec_loadu_maybe3(0,4,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])))),ToReal(2016),kmadd(kadd(vec_loadu_maybe3(0,-2,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]),kadd(vec_loadu_maybe3(0,2,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,-3,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]),vec_loadu_maybe3(0,3,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])))),ToReal(5376),kmadd(kadd(vec_loadu_maybe3(0,-1,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]),kadd(vec_loadu_maybe3(0,1,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]),kadd(vec_loadu_maybe3(0,-3,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]),vec_loadu_maybe3(0,3,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])))),ToReal(21504),kmadd(kadd(vec_loadu_maybe3(0,-2,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]),vec_loadu_maybe3(0,2,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])),ToReal(28224),kmadd(kadd(vec_loadu_maybe3(0,-1,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]),kadd(vec_loadu_maybe3(0,1,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]),kadd(vec_loadu_maybe3(0,-2,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]),vec_loadu_maybe3(0,2,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])))),ToReal(112896),kmul(kadd(vec_loadu_maybe3(0,-1,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]),vec_loadu_maybe3(0,1,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])),ToReal(451584))))))))))))))))))))));
}
#endif
diff --git a/ML_ADM/src/ML_ADM_Minkowski.cc b/ML_ADM/src/ML_ADM_Minkowski.cc
index a180058..d401bfc 100644
--- a/ML_ADM/src/ML_ADM_Minkowski.cc
+++ b/ML_ADM/src/ML_ADM_Minkowski.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
@@ -42,6 +43,20 @@ static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const d
const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_Minkowski", 4, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -52,38 +67,111 @@ static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const d
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_Minkowski,
+ LC_LOOP3VEC (ML_ADM_Minkowski,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -91,62 +179,151 @@ static void ML_ADM_Minkowski_Body(cGH const * restrict const cctkGH, int const d
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
- CCTK_REAL g11L = 1;
+ CCTK_REAL_VEC g11L = ToReal(1);
+
+ CCTK_REAL_VEC g12L = ToReal(0);
+
+ CCTK_REAL_VEC g13L = ToReal(0);
+
+ CCTK_REAL_VEC g22L = ToReal(1);
+
+ CCTK_REAL_VEC g23L = ToReal(0);
+
+ CCTK_REAL_VEC g33L = ToReal(1);
+
+ CCTK_REAL_VEC K11L = ToReal(0);
- CCTK_REAL g12L = 0;
+ CCTK_REAL_VEC K12L = ToReal(0);
- CCTK_REAL g13L = 0;
+ CCTK_REAL_VEC K13L = ToReal(0);
- CCTK_REAL g22L = 1;
+ CCTK_REAL_VEC K22L = ToReal(0);
- CCTK_REAL g23L = 0;
+ CCTK_REAL_VEC K23L = ToReal(0);
- CCTK_REAL g33L = 1;
+ CCTK_REAL_VEC K33L = ToReal(0);
- CCTK_REAL K11L = 0;
+ CCTK_REAL_VEC alphaL = ToReal(1);
- CCTK_REAL K12L = 0;
+ CCTK_REAL_VEC beta1L = ToReal(0);
- CCTK_REAL K13L = 0;
+ CCTK_REAL_VEC beta2L = ToReal(0);
- CCTK_REAL K22L = 0;
+ CCTK_REAL_VEC beta3L = ToReal(0);
- CCTK_REAL K23L = 0;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL K33L = 0;
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(alpha[index],alphaL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta1[index],beta1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta2[index],beta2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta3[index],beta3L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g11[index],g11L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g12[index],g12L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g13[index],g13L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g22[index],g22L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g23[index],g23L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g33[index],g33L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K11[index],K11L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K12[index],K12L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K13[index],K13L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K22[index],K22L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K23[index],K23L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K33[index],K33L,elt_count_lo,elt_count_hi);
+ break;
+ }
- CCTK_REAL alphaL = 1;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL beta1L = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(alpha[index],alphaL,elt_count);
+ vec_store_nta_partial_hi(beta1[index],beta1L,elt_count);
+ vec_store_nta_partial_hi(beta2[index],beta2L,elt_count);
+ vec_store_nta_partial_hi(beta3[index],beta3L,elt_count);
+ vec_store_nta_partial_hi(g11[index],g11L,elt_count);
+ vec_store_nta_partial_hi(g12[index],g12L,elt_count);
+ vec_store_nta_partial_hi(g13[index],g13L,elt_count);
+ vec_store_nta_partial_hi(g22[index],g22L,elt_count);
+ vec_store_nta_partial_hi(g23[index],g23L,elt_count);
+ vec_store_nta_partial_hi(g33[index],g33L,elt_count);
+ vec_store_nta_partial_hi(K11[index],K11L,elt_count);
+ vec_store_nta_partial_hi(K12[index],K12L,elt_count);
+ vec_store_nta_partial_hi(K13[index],K13L,elt_count);
+ vec_store_nta_partial_hi(K22[index],K22L,elt_count);
+ vec_store_nta_partial_hi(K23[index],K23L,elt_count);
+ vec_store_nta_partial_hi(K33[index],K33L,elt_count);
+ continue;
+ }
- CCTK_REAL beta2L = 0;
+ /* If necessary, store only partial vectors after the last iteration */
- CCTK_REAL beta3L = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(alpha[index],alphaL,elt_count);
+ vec_store_nta_partial_lo(beta1[index],beta1L,elt_count);
+ vec_store_nta_partial_lo(beta2[index],beta2L,elt_count);
+ vec_store_nta_partial_lo(beta3[index],beta3L,elt_count);
+ vec_store_nta_partial_lo(g11[index],g11L,elt_count);
+ vec_store_nta_partial_lo(g12[index],g12L,elt_count);
+ vec_store_nta_partial_lo(g13[index],g13L,elt_count);
+ vec_store_nta_partial_lo(g22[index],g22L,elt_count);
+ vec_store_nta_partial_lo(g23[index],g23L,elt_count);
+ vec_store_nta_partial_lo(g33[index],g33L,elt_count);
+ vec_store_nta_partial_lo(K11[index],K11L,elt_count);
+ vec_store_nta_partial_lo(K12[index],K12L,elt_count);
+ vec_store_nta_partial_lo(K13[index],K13L,elt_count);
+ vec_store_nta_partial_lo(K22[index],K22L,elt_count);
+ vec_store_nta_partial_lo(K23[index],K23L,elt_count);
+ vec_store_nta_partial_lo(K33[index],K33L,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- alpha[index] = alphaL;
- beta1[index] = beta1L;
- beta2[index] = beta2L;
- beta3[index] = beta3L;
- g11[index] = g11L;
- g12[index] = g12L;
- g13[index] = g13L;
- g22[index] = g22L;
- g23[index] = g23L;
- g33[index] = g33L;
- K11[index] = K11L;
- K12[index] = K12L;
- K13[index] = K13L;
- K22[index] = K22L;
- K23[index] = K23L;
- K33[index] = K33L;
+ vec_store_nta(alpha[index],alphaL);
+ vec_store_nta(beta1[index],beta1L);
+ vec_store_nta(beta2[index],beta2L);
+ vec_store_nta(beta3[index],beta3L);
+ vec_store_nta(g11[index],g11L);
+ vec_store_nta(g12[index],g12L);
+ vec_store_nta(g13[index],g13L);
+ vec_store_nta(g22[index],g22L);
+ vec_store_nta(g23[index],g23L);
+ vec_store_nta(g33[index],g33L);
+ vec_store_nta(K11[index],K11L);
+ vec_store_nta(K12[index],K12L);
+ vec_store_nta(K13[index],K13L);
+ vec_store_nta(K22[index],K22L);
+ vec_store_nta(K23[index],K23L);
+ vec_store_nta(K33[index],K33L);
}
- LC_ENDLOOP3 (ML_ADM_Minkowski);
+ LC_ENDLOOP3VEC (ML_ADM_Minkowski);
}
extern "C" void ML_ADM_Minkowski(CCTK_ARGUMENTS)
diff --git a/ML_ADM/src/ML_ADM_RHS.cc b/ML_ADM/src/ML_ADM_RHS.cc
index 06cd46c..78d4fbe 100644
--- a/ML_ADM/src/ML_ADM_RHS.cc
+++ b/ML_ADM/src/ML_ADM_RHS.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void ML_ADM_RHS_SelectBCs(CCTK_ARGUMENTS)
{
@@ -63,7 +64,24 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in
const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_curvrhs","ML_ADM::ML_lapse","ML_ADM::ML_lapserhs","ML_ADM::ML_metric","ML_ADM::ML_metricrhs","ML_ADM::ML_shift","ML_ADM::ML_shiftrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_RHS", 8, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_RHS", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -74,412 +92,1495 @@ static void ML_ADM_RHS_Body(cGH const * restrict const cctkGH, int const dir, in
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_RHS,
+ LC_LOOP3VEC (ML_ADM_RHS,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL alphaL = alpha[index];
- CCTK_REAL beta1L = beta1[index];
- CCTK_REAL beta2L = beta2[index];
- CCTK_REAL beta3L = beta3[index];
- CCTK_REAL g11L = g11[index];
- CCTK_REAL g12L = g12[index];
- CCTK_REAL g13L = g13[index];
- CCTK_REAL g22L = g22[index];
- CCTK_REAL g23L = g23[index];
- CCTK_REAL g33L = g33[index];
- CCTK_REAL K11L = K11[index];
- CCTK_REAL K12L = K12[index];
- CCTK_REAL K13L = K13[index];
- CCTK_REAL K22L = K22[index];
- CCTK_REAL K23L = K23[index];
- CCTK_REAL K33L = K33[index];
-
+ CCTK_REAL_VEC alphaL = vec_load(alpha[index]);
+ CCTK_REAL_VEC beta1L = vec_load(beta1[index]);
+ CCTK_REAL_VEC beta2L = vec_load(beta2[index]);
+ CCTK_REAL_VEC beta3L = vec_load(beta3[index]);
+ CCTK_REAL_VEC g11L = vec_load(g11[index]);
+ CCTK_REAL_VEC g12L = vec_load(g12[index]);
+ CCTK_REAL_VEC g13L = vec_load(g13[index]);
+ CCTK_REAL_VEC g22L = vec_load(g22[index]);
+ CCTK_REAL_VEC g23L = vec_load(g23[index]);
+ CCTK_REAL_VEC g33L = vec_load(g33[index]);
+ CCTK_REAL_VEC K11L = vec_load(K11[index]);
+ CCTK_REAL_VEC K12L = vec_load(K12[index]);
+ CCTK_REAL_VEC K13L = vec_load(K13[index]);
+ CCTK_REAL_VEC K22L = vec_load(K22[index]);
+ CCTK_REAL_VEC K23L = vec_load(K23[index]);
+ CCTK_REAL_VEC K33L = vec_load(K33[index]);
+
+
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL const PDstandardNth1alpha = PDstandardNth1(&alpha[index]);
- CCTK_REAL const PDstandardNth2alpha = PDstandardNth2(&alpha[index]);
- CCTK_REAL const PDstandardNth3alpha = PDstandardNth3(&alpha[index]);
- CCTK_REAL const PDstandardNth11alpha = PDstandardNth11(&alpha[index]);
- CCTK_REAL const PDstandardNth22alpha = PDstandardNth22(&alpha[index]);
- CCTK_REAL const PDstandardNth33alpha = PDstandardNth33(&alpha[index]);
- CCTK_REAL const PDstandardNth12alpha = PDstandardNth12(&alpha[index]);
- CCTK_REAL const PDstandardNth13alpha = PDstandardNth13(&alpha[index]);
- CCTK_REAL const PDstandardNth23alpha = PDstandardNth23(&alpha[index]);
- CCTK_REAL const PDstandardNth1beta1 = PDstandardNth1(&beta1[index]);
- CCTK_REAL const PDstandardNth2beta1 = PDstandardNth2(&beta1[index]);
- CCTK_REAL const PDstandardNth3beta1 = PDstandardNth3(&beta1[index]);
- CCTK_REAL const PDstandardNth1beta2 = PDstandardNth1(&beta2[index]);
- CCTK_REAL const PDstandardNth2beta2 = PDstandardNth2(&beta2[index]);
- CCTK_REAL const PDstandardNth3beta2 = PDstandardNth3(&beta2[index]);
- CCTK_REAL const PDstandardNth1beta3 = PDstandardNth1(&beta3[index]);
- CCTK_REAL const PDstandardNth2beta3 = PDstandardNth2(&beta3[index]);
- CCTK_REAL const PDstandardNth3beta3 = PDstandardNth3(&beta3[index]);
- CCTK_REAL const PDstandardNth1g11 = PDstandardNth1(&g11[index]);
- CCTK_REAL const PDstandardNth2g11 = PDstandardNth2(&g11[index]);
- CCTK_REAL const PDstandardNth3g11 = PDstandardNth3(&g11[index]);
- CCTK_REAL const PDstandardNth22g11 = PDstandardNth22(&g11[index]);
- CCTK_REAL const PDstandardNth33g11 = PDstandardNth33(&g11[index]);
- CCTK_REAL const PDstandardNth23g11 = PDstandardNth23(&g11[index]);
- CCTK_REAL const PDstandardNth1g12 = PDstandardNth1(&g12[index]);
- CCTK_REAL const PDstandardNth2g12 = PDstandardNth2(&g12[index]);
- CCTK_REAL const PDstandardNth3g12 = PDstandardNth3(&g12[index]);
- CCTK_REAL const PDstandardNth33g12 = PDstandardNth33(&g12[index]);
- CCTK_REAL const PDstandardNth12g12 = PDstandardNth12(&g12[index]);
- CCTK_REAL const PDstandardNth13g12 = PDstandardNth13(&g12[index]);
- CCTK_REAL const PDstandardNth23g12 = PDstandardNth23(&g12[index]);
- CCTK_REAL const PDstandardNth1g13 = PDstandardNth1(&g13[index]);
- CCTK_REAL const PDstandardNth2g13 = PDstandardNth2(&g13[index]);
- CCTK_REAL const PDstandardNth3g13 = PDstandardNth3(&g13[index]);
- CCTK_REAL const PDstandardNth22g13 = PDstandardNth22(&g13[index]);
- CCTK_REAL const PDstandardNth12g13 = PDstandardNth12(&g13[index]);
- CCTK_REAL const PDstandardNth13g13 = PDstandardNth13(&g13[index]);
- CCTK_REAL const PDstandardNth23g13 = PDstandardNth23(&g13[index]);
- CCTK_REAL const PDstandardNth1g22 = PDstandardNth1(&g22[index]);
- CCTK_REAL const PDstandardNth2g22 = PDstandardNth2(&g22[index]);
- CCTK_REAL const PDstandardNth3g22 = PDstandardNth3(&g22[index]);
- CCTK_REAL const PDstandardNth11g22 = PDstandardNth11(&g22[index]);
- CCTK_REAL const PDstandardNth33g22 = PDstandardNth33(&g22[index]);
- CCTK_REAL const PDstandardNth13g22 = PDstandardNth13(&g22[index]);
- CCTK_REAL const PDstandardNth1g23 = PDstandardNth1(&g23[index]);
- CCTK_REAL const PDstandardNth2g23 = PDstandardNth2(&g23[index]);
- CCTK_REAL const PDstandardNth3g23 = PDstandardNth3(&g23[index]);
- CCTK_REAL const PDstandardNth11g23 = PDstandardNth11(&g23[index]);
- CCTK_REAL const PDstandardNth12g23 = PDstandardNth12(&g23[index]);
- CCTK_REAL const PDstandardNth13g23 = PDstandardNth13(&g23[index]);
- CCTK_REAL const PDstandardNth23g23 = PDstandardNth23(&g23[index]);
- CCTK_REAL const PDstandardNth1g33 = PDstandardNth1(&g33[index]);
- CCTK_REAL const PDstandardNth2g33 = PDstandardNth2(&g33[index]);
- CCTK_REAL const PDstandardNth3g33 = PDstandardNth3(&g33[index]);
- CCTK_REAL const PDstandardNth11g33 = PDstandardNth11(&g33[index]);
- CCTK_REAL const PDstandardNth22g33 = PDstandardNth22(&g33[index]);
- CCTK_REAL const PDstandardNth12g33 = PDstandardNth12(&g33[index]);
- CCTK_REAL const PDstandardNth1K11 = PDstandardNth1(&K11[index]);
- CCTK_REAL const PDstandardNth2K11 = PDstandardNth2(&K11[index]);
- CCTK_REAL const PDstandardNth3K11 = PDstandardNth3(&K11[index]);
- CCTK_REAL const PDstandardNth1K12 = PDstandardNth1(&K12[index]);
- CCTK_REAL const PDstandardNth2K12 = PDstandardNth2(&K12[index]);
- CCTK_REAL const PDstandardNth3K12 = PDstandardNth3(&K12[index]);
- CCTK_REAL const PDstandardNth1K13 = PDstandardNth1(&K13[index]);
- CCTK_REAL const PDstandardNth2K13 = PDstandardNth2(&K13[index]);
- CCTK_REAL const PDstandardNth3K13 = PDstandardNth3(&K13[index]);
- CCTK_REAL const PDstandardNth1K22 = PDstandardNth1(&K22[index]);
- CCTK_REAL const PDstandardNth2K22 = PDstandardNth2(&K22[index]);
- CCTK_REAL const PDstandardNth3K22 = PDstandardNth3(&K22[index]);
- CCTK_REAL const PDstandardNth1K23 = PDstandardNth1(&K23[index]);
- CCTK_REAL const PDstandardNth2K23 = PDstandardNth2(&K23[index]);
- CCTK_REAL const PDstandardNth3K23 = PDstandardNth3(&K23[index]);
- CCTK_REAL const PDstandardNth1K33 = PDstandardNth1(&K33[index]);
- CCTK_REAL const PDstandardNth2K33 = PDstandardNth2(&K33[index]);
- CCTK_REAL const PDstandardNth3K33 = PDstandardNth3(&K33[index]);
+ CCTK_REAL_VEC PDstandardNth1alpha;
+ CCTK_REAL_VEC PDstandardNth2alpha;
+ CCTK_REAL_VEC PDstandardNth3alpha;
+ CCTK_REAL_VEC PDstandardNth11alpha;
+ CCTK_REAL_VEC PDstandardNth22alpha;
+ CCTK_REAL_VEC PDstandardNth33alpha;
+ CCTK_REAL_VEC PDstandardNth12alpha;
+ CCTK_REAL_VEC PDstandardNth13alpha;
+ CCTK_REAL_VEC PDstandardNth23alpha;
+ CCTK_REAL_VEC PDstandardNth1beta1;
+ CCTK_REAL_VEC PDstandardNth2beta1;
+ CCTK_REAL_VEC PDstandardNth3beta1;
+ CCTK_REAL_VEC PDstandardNth1beta2;
+ CCTK_REAL_VEC PDstandardNth2beta2;
+ CCTK_REAL_VEC PDstandardNth3beta2;
+ CCTK_REAL_VEC PDstandardNth1beta3;
+ CCTK_REAL_VEC PDstandardNth2beta3;
+ CCTK_REAL_VEC PDstandardNth3beta3;
+ CCTK_REAL_VEC PDstandardNth1g11;
+ CCTK_REAL_VEC PDstandardNth2g11;
+ CCTK_REAL_VEC PDstandardNth3g11;
+ CCTK_REAL_VEC PDstandardNth11g11;
+ CCTK_REAL_VEC PDstandardNth22g11;
+ CCTK_REAL_VEC PDstandardNth33g11;
+ CCTK_REAL_VEC PDstandardNth12g11;
+ CCTK_REAL_VEC PDstandardNth13g11;
+ CCTK_REAL_VEC PDstandardNth23g11;
+ CCTK_REAL_VEC PDstandardNth1g12;
+ CCTK_REAL_VEC PDstandardNth2g12;
+ CCTK_REAL_VEC PDstandardNth3g12;
+ CCTK_REAL_VEC PDstandardNth11g12;
+ CCTK_REAL_VEC PDstandardNth22g12;
+ CCTK_REAL_VEC PDstandardNth33g12;
+ CCTK_REAL_VEC PDstandardNth12g12;
+ CCTK_REAL_VEC PDstandardNth13g12;
+ CCTK_REAL_VEC PDstandardNth23g12;
+ CCTK_REAL_VEC PDstandardNth1g13;
+ CCTK_REAL_VEC PDstandardNth2g13;
+ CCTK_REAL_VEC PDstandardNth3g13;
+ CCTK_REAL_VEC PDstandardNth11g13;
+ CCTK_REAL_VEC PDstandardNth22g13;
+ CCTK_REAL_VEC PDstandardNth33g13;
+ CCTK_REAL_VEC PDstandardNth12g13;
+ CCTK_REAL_VEC PDstandardNth13g13;
+ CCTK_REAL_VEC PDstandardNth23g13;
+ CCTK_REAL_VEC PDstandardNth1g22;
+ CCTK_REAL_VEC PDstandardNth2g22;
+ CCTK_REAL_VEC PDstandardNth3g22;
+ CCTK_REAL_VEC PDstandardNth11g22;
+ CCTK_REAL_VEC PDstandardNth22g22;
+ CCTK_REAL_VEC PDstandardNth33g22;
+ CCTK_REAL_VEC PDstandardNth12g22;
+ CCTK_REAL_VEC PDstandardNth13g22;
+ CCTK_REAL_VEC PDstandardNth23g22;
+ CCTK_REAL_VEC PDstandardNth1g23;
+ CCTK_REAL_VEC PDstandardNth2g23;
+ CCTK_REAL_VEC PDstandardNth3g23;
+ CCTK_REAL_VEC PDstandardNth11g23;
+ CCTK_REAL_VEC PDstandardNth22g23;
+ CCTK_REAL_VEC PDstandardNth33g23;
+ CCTK_REAL_VEC PDstandardNth12g23;
+ CCTK_REAL_VEC PDstandardNth13g23;
+ CCTK_REAL_VEC PDstandardNth23g23;
+ CCTK_REAL_VEC PDstandardNth1g33;
+ CCTK_REAL_VEC PDstandardNth2g33;
+ CCTK_REAL_VEC PDstandardNth3g33;
+ CCTK_REAL_VEC PDstandardNth11g33;
+ CCTK_REAL_VEC PDstandardNth22g33;
+ CCTK_REAL_VEC PDstandardNth33g33;
+ CCTK_REAL_VEC PDstandardNth12g33;
+ CCTK_REAL_VEC PDstandardNth13g33;
+ CCTK_REAL_VEC PDstandardNth23g33;
+ CCTK_REAL_VEC PDstandardNth1K11;
+ CCTK_REAL_VEC PDstandardNth2K11;
+ CCTK_REAL_VEC PDstandardNth3K11;
+ CCTK_REAL_VEC PDstandardNth1K12;
+ CCTK_REAL_VEC PDstandardNth2K12;
+ CCTK_REAL_VEC PDstandardNth3K12;
+ CCTK_REAL_VEC PDstandardNth1K13;
+ CCTK_REAL_VEC PDstandardNth2K13;
+ CCTK_REAL_VEC PDstandardNth3K13;
+ CCTK_REAL_VEC PDstandardNth1K22;
+ CCTK_REAL_VEC PDstandardNth2K22;
+ CCTK_REAL_VEC PDstandardNth3K22;
+ CCTK_REAL_VEC PDstandardNth1K23;
+ CCTK_REAL_VEC PDstandardNth2K23;
+ CCTK_REAL_VEC PDstandardNth3K23;
+ CCTK_REAL_VEC PDstandardNth1K33;
+ CCTK_REAL_VEC PDstandardNth2K33;
+ CCTK_REAL_VEC PDstandardNth3K33;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandardNth1alpha = PDstandardNthfdOrder21(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder22(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder23(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder211(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder222(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder233(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder212(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder213(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder223(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder21(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder22(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder23(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder21(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder22(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder23(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder21(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder22(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder23(&beta3[index]);
+ PDstandardNth1g11 = PDstandardNthfdOrder21(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder22(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder23(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder211(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder222(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder233(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder212(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder213(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder223(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder21(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder22(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder23(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder211(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder222(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder233(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder212(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder213(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder223(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder21(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder22(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder23(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder211(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder222(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder233(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder212(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder213(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder223(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder21(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder22(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder23(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder211(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder222(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder233(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder212(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder213(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder223(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder21(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder22(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder23(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder211(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder222(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder233(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder212(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder213(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder223(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder21(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder22(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder23(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder211(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder222(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder233(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder212(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder213(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder223(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder21(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder22(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder23(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder21(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder22(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder23(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder21(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder22(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder23(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder21(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder22(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder23(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder21(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder22(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder23(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder21(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder22(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder23(&K33[index]);
+ break;
+
+ case 4:
+ PDstandardNth1alpha = PDstandardNthfdOrder41(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder42(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder43(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder411(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder422(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder433(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder412(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder413(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder423(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder41(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder42(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder43(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder41(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder42(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder43(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder41(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder42(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder43(&beta3[index]);
+ PDstandardNth1g11 = PDstandardNthfdOrder41(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder42(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder43(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder411(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder422(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder433(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder412(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder413(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder423(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder41(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder42(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder43(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder411(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder422(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder433(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder412(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder413(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder423(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder41(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder42(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder43(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder411(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder422(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder433(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder412(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder413(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder423(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder41(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder42(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder43(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder411(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder422(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder433(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder412(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder413(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder423(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder41(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder42(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder43(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder411(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder422(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder433(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder412(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder413(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder423(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder41(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder42(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder43(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder411(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder422(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder433(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder412(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder413(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder423(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder41(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder42(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder43(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder41(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder42(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder43(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder41(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder42(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder43(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder41(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder42(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder43(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder41(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder42(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder43(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder41(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder42(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder43(&K33[index]);
+ break;
+
+ case 6:
+ PDstandardNth1alpha = PDstandardNthfdOrder61(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder62(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder63(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder611(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder622(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder633(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder612(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder613(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder623(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder61(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder62(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder63(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder61(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder62(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder63(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder61(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder62(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder63(&beta3[index]);
+ PDstandardNth1g11 = PDstandardNthfdOrder61(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder62(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder63(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder611(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder622(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder633(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder612(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder613(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder623(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder61(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder62(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder63(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder611(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder622(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder633(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder612(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder613(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder623(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder61(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder62(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder63(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder611(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder622(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder633(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder612(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder613(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder623(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder61(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder62(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder63(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder611(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder622(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder633(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder612(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder613(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder623(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder61(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder62(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder63(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder611(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder622(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder633(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder612(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder613(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder623(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder61(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder62(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder63(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder611(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder622(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder633(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder612(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder613(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder623(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder61(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder62(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder63(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder61(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder62(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder63(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder61(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder62(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder63(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder61(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder62(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder63(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder61(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder62(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder63(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder61(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder62(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder63(&K33[index]);
+ break;
+
+ case 8:
+ PDstandardNth1alpha = PDstandardNthfdOrder81(&alpha[index]);
+ PDstandardNth2alpha = PDstandardNthfdOrder82(&alpha[index]);
+ PDstandardNth3alpha = PDstandardNthfdOrder83(&alpha[index]);
+ PDstandardNth11alpha = PDstandardNthfdOrder811(&alpha[index]);
+ PDstandardNth22alpha = PDstandardNthfdOrder822(&alpha[index]);
+ PDstandardNth33alpha = PDstandardNthfdOrder833(&alpha[index]);
+ PDstandardNth12alpha = PDstandardNthfdOrder812(&alpha[index]);
+ PDstandardNth13alpha = PDstandardNthfdOrder813(&alpha[index]);
+ PDstandardNth23alpha = PDstandardNthfdOrder823(&alpha[index]);
+ PDstandardNth1beta1 = PDstandardNthfdOrder81(&beta1[index]);
+ PDstandardNth2beta1 = PDstandardNthfdOrder82(&beta1[index]);
+ PDstandardNth3beta1 = PDstandardNthfdOrder83(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder81(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder82(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder83(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder81(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder82(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder83(&beta3[index]);
+ PDstandardNth1g11 = PDstandardNthfdOrder81(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder82(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder83(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder811(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder822(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder833(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder812(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder813(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder823(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder81(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder82(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder83(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder811(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder822(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder833(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder812(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder813(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder823(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder81(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder82(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder83(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder811(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder822(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder833(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder812(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder813(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder823(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder81(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder82(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder83(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder811(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder822(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder833(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder812(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder813(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder823(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder81(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder82(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder83(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder811(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder822(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder833(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder812(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder813(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder823(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder81(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder82(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder83(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder811(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder822(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder833(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder812(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder813(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder823(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder81(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder82(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder83(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder81(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder82(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder83(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder81(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder82(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder83(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder81(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder82(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder83(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder81(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder82(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder83(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder81(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder82(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder83(&K33[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
- CCTK_REAL detg = 2*g12L*g13L*g23L + g33L*(g11L*g22L - SQR(g12L)) -
- g22L*SQR(g13L) - g11L*SQR(g23L);
+ CCTK_REAL_VEC JacPDstandardNth11alpha;
+ CCTK_REAL_VEC JacPDstandardNth11g22;
+ CCTK_REAL_VEC JacPDstandardNth11g23;
+ CCTK_REAL_VEC JacPDstandardNth11g33;
+ CCTK_REAL_VEC JacPDstandardNth12alpha;
+ CCTK_REAL_VEC JacPDstandardNth12g11;
+ CCTK_REAL_VEC JacPDstandardNth12g12;
+ CCTK_REAL_VEC JacPDstandardNth12g13;
+ CCTK_REAL_VEC JacPDstandardNth12g22;
+ CCTK_REAL_VEC JacPDstandardNth12g23;
+ CCTK_REAL_VEC JacPDstandardNth12g33;
+ CCTK_REAL_VEC JacPDstandardNth13alpha;
+ CCTK_REAL_VEC JacPDstandardNth13g11;
+ CCTK_REAL_VEC JacPDstandardNth13g12;
+ CCTK_REAL_VEC JacPDstandardNth13g13;
+ CCTK_REAL_VEC JacPDstandardNth13g22;
+ CCTK_REAL_VEC JacPDstandardNth13g23;
+ CCTK_REAL_VEC JacPDstandardNth13g33;
+ CCTK_REAL_VEC JacPDstandardNth1alpha;
+ CCTK_REAL_VEC JacPDstandardNth1beta1;
+ CCTK_REAL_VEC JacPDstandardNth1beta2;
+ CCTK_REAL_VEC JacPDstandardNth1beta3;
+ CCTK_REAL_VEC JacPDstandardNth1g11;
+ CCTK_REAL_VEC JacPDstandardNth1g12;
+ CCTK_REAL_VEC JacPDstandardNth1g13;
+ CCTK_REAL_VEC JacPDstandardNth1g22;
+ CCTK_REAL_VEC JacPDstandardNth1g23;
+ CCTK_REAL_VEC JacPDstandardNth1g33;
+ CCTK_REAL_VEC JacPDstandardNth1K11;
+ CCTK_REAL_VEC JacPDstandardNth1K12;
+ CCTK_REAL_VEC JacPDstandardNth1K13;
+ CCTK_REAL_VEC JacPDstandardNth1K22;
+ CCTK_REAL_VEC JacPDstandardNth1K23;
+ CCTK_REAL_VEC JacPDstandardNth1K33;
+ CCTK_REAL_VEC JacPDstandardNth21g11;
+ CCTK_REAL_VEC JacPDstandardNth21g12;
+ CCTK_REAL_VEC JacPDstandardNth21g13;
+ CCTK_REAL_VEC JacPDstandardNth21g22;
+ CCTK_REAL_VEC JacPDstandardNth21g23;
+ CCTK_REAL_VEC JacPDstandardNth21g33;
+ CCTK_REAL_VEC JacPDstandardNth22alpha;
+ CCTK_REAL_VEC JacPDstandardNth22g11;
+ CCTK_REAL_VEC JacPDstandardNth22g13;
+ CCTK_REAL_VEC JacPDstandardNth22g33;
+ CCTK_REAL_VEC JacPDstandardNth23alpha;
+ CCTK_REAL_VEC JacPDstandardNth23g11;
+ CCTK_REAL_VEC JacPDstandardNth23g12;
+ CCTK_REAL_VEC JacPDstandardNth23g13;
+ CCTK_REAL_VEC JacPDstandardNth23g22;
+ CCTK_REAL_VEC JacPDstandardNth23g23;
+ CCTK_REAL_VEC JacPDstandardNth23g33;
+ CCTK_REAL_VEC JacPDstandardNth2alpha;
+ CCTK_REAL_VEC JacPDstandardNth2beta1;
+ CCTK_REAL_VEC JacPDstandardNth2beta2;
+ CCTK_REAL_VEC JacPDstandardNth2beta3;
+ CCTK_REAL_VEC JacPDstandardNth2g11;
+ CCTK_REAL_VEC JacPDstandardNth2g12;
+ CCTK_REAL_VEC JacPDstandardNth2g13;
+ CCTK_REAL_VEC JacPDstandardNth2g22;
+ CCTK_REAL_VEC JacPDstandardNth2g23;
+ CCTK_REAL_VEC JacPDstandardNth2g33;
+ CCTK_REAL_VEC JacPDstandardNth2K11;
+ CCTK_REAL_VEC JacPDstandardNth2K12;
+ CCTK_REAL_VEC JacPDstandardNth2K13;
+ CCTK_REAL_VEC JacPDstandardNth2K22;
+ CCTK_REAL_VEC JacPDstandardNth2K23;
+ CCTK_REAL_VEC JacPDstandardNth2K33;
+ CCTK_REAL_VEC JacPDstandardNth31g11;
+ CCTK_REAL_VEC JacPDstandardNth31g12;
+ CCTK_REAL_VEC JacPDstandardNth31g13;
+ CCTK_REAL_VEC JacPDstandardNth31g22;
+ CCTK_REAL_VEC JacPDstandardNth31g23;
+ CCTK_REAL_VEC JacPDstandardNth31g33;
+ CCTK_REAL_VEC JacPDstandardNth32g11;
+ CCTK_REAL_VEC JacPDstandardNth32g12;
+ CCTK_REAL_VEC JacPDstandardNth32g13;
+ CCTK_REAL_VEC JacPDstandardNth32g22;
+ CCTK_REAL_VEC JacPDstandardNth32g23;
+ CCTK_REAL_VEC JacPDstandardNth32g33;
+ CCTK_REAL_VEC JacPDstandardNth33alpha;
+ CCTK_REAL_VEC JacPDstandardNth33g11;
+ CCTK_REAL_VEC JacPDstandardNth33g12;
+ CCTK_REAL_VEC JacPDstandardNth33g22;
+ CCTK_REAL_VEC JacPDstandardNth3alpha;
+ CCTK_REAL_VEC JacPDstandardNth3beta1;
+ CCTK_REAL_VEC JacPDstandardNth3beta2;
+ CCTK_REAL_VEC JacPDstandardNth3beta3;
+ CCTK_REAL_VEC JacPDstandardNth3g11;
+ CCTK_REAL_VEC JacPDstandardNth3g12;
+ CCTK_REAL_VEC JacPDstandardNth3g13;
+ CCTK_REAL_VEC JacPDstandardNth3g22;
+ CCTK_REAL_VEC JacPDstandardNth3g23;
+ CCTK_REAL_VEC JacPDstandardNth3g33;
+ CCTK_REAL_VEC JacPDstandardNth3K11;
+ CCTK_REAL_VEC JacPDstandardNth3K12;
+ CCTK_REAL_VEC JacPDstandardNth3K13;
+ CCTK_REAL_VEC JacPDstandardNth3K22;
+ CCTK_REAL_VEC JacPDstandardNth3K23;
+ CCTK_REAL_VEC JacPDstandardNth3K33;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1alpha =
+ kmadd(J11L,PDstandardNth1alpha,kmadd(J21L,PDstandardNth2alpha,kmul(J31L,PDstandardNth3alpha)));
+
+ JacPDstandardNth1beta1 =
+ kmadd(J11L,PDstandardNth1beta1,kmadd(J21L,PDstandardNth2beta1,kmul(J31L,PDstandardNth3beta1)));
+
+ JacPDstandardNth1beta2 =
+ kmadd(J11L,PDstandardNth1beta2,kmadd(J21L,PDstandardNth2beta2,kmul(J31L,PDstandardNth3beta2)));
+
+ JacPDstandardNth1beta3 =
+ kmadd(J11L,PDstandardNth1beta3,kmadd(J21L,PDstandardNth2beta3,kmul(J31L,PDstandardNth3beta3)));
+
+ JacPDstandardNth1g11 =
+ kmadd(J11L,PDstandardNth1g11,kmadd(J21L,PDstandardNth2g11,kmul(J31L,PDstandardNth3g11)));
+
+ JacPDstandardNth1g12 =
+ kmadd(J11L,PDstandardNth1g12,kmadd(J21L,PDstandardNth2g12,kmul(J31L,PDstandardNth3g12)));
+
+ JacPDstandardNth1g13 =
+ kmadd(J11L,PDstandardNth1g13,kmadd(J21L,PDstandardNth2g13,kmul(J31L,PDstandardNth3g13)));
+
+ JacPDstandardNth1g22 =
+ kmadd(J11L,PDstandardNth1g22,kmadd(J21L,PDstandardNth2g22,kmul(J31L,PDstandardNth3g22)));
+
+ JacPDstandardNth1g23 =
+ kmadd(J11L,PDstandardNth1g23,kmadd(J21L,PDstandardNth2g23,kmul(J31L,PDstandardNth3g23)));
+
+ JacPDstandardNth1g33 =
+ kmadd(J11L,PDstandardNth1g33,kmadd(J21L,PDstandardNth2g33,kmul(J31L,PDstandardNth3g33)));
+
+ JacPDstandardNth1K11 =
+ kmadd(J11L,PDstandardNth1K11,kmadd(J21L,PDstandardNth2K11,kmul(J31L,PDstandardNth3K11)));
+
+ JacPDstandardNth1K12 =
+ kmadd(J11L,PDstandardNth1K12,kmadd(J21L,PDstandardNth2K12,kmul(J31L,PDstandardNth3K12)));
+
+ JacPDstandardNth1K13 =
+ kmadd(J11L,PDstandardNth1K13,kmadd(J21L,PDstandardNth2K13,kmul(J31L,PDstandardNth3K13)));
+
+ JacPDstandardNth1K22 =
+ kmadd(J11L,PDstandardNth1K22,kmadd(J21L,PDstandardNth2K22,kmul(J31L,PDstandardNth3K22)));
+
+ JacPDstandardNth1K23 =
+ kmadd(J11L,PDstandardNth1K23,kmadd(J21L,PDstandardNth2K23,kmul(J31L,PDstandardNth3K23)));
+
+ JacPDstandardNth1K33 =
+ kmadd(J11L,PDstandardNth1K33,kmadd(J21L,PDstandardNth2K33,kmul(J31L,PDstandardNth3K33)));
+
+ JacPDstandardNth2alpha =
+ kmadd(J12L,PDstandardNth1alpha,kmadd(J22L,PDstandardNth2alpha,kmul(J32L,PDstandardNth3alpha)));
+
+ JacPDstandardNth2beta1 =
+ kmadd(J12L,PDstandardNth1beta1,kmadd(J22L,PDstandardNth2beta1,kmul(J32L,PDstandardNth3beta1)));
+
+ JacPDstandardNth2beta2 =
+ kmadd(J12L,PDstandardNth1beta2,kmadd(J22L,PDstandardNth2beta2,kmul(J32L,PDstandardNth3beta2)));
+
+ JacPDstandardNth2beta3 =
+ kmadd(J12L,PDstandardNth1beta3,kmadd(J22L,PDstandardNth2beta3,kmul(J32L,PDstandardNth3beta3)));
+
+ JacPDstandardNth2g11 =
+ kmadd(J12L,PDstandardNth1g11,kmadd(J22L,PDstandardNth2g11,kmul(J32L,PDstandardNth3g11)));
+
+ JacPDstandardNth2g12 =
+ kmadd(J12L,PDstandardNth1g12,kmadd(J22L,PDstandardNth2g12,kmul(J32L,PDstandardNth3g12)));
+
+ JacPDstandardNth2g13 =
+ kmadd(J12L,PDstandardNth1g13,kmadd(J22L,PDstandardNth2g13,kmul(J32L,PDstandardNth3g13)));
+
+ JacPDstandardNth2g22 =
+ kmadd(J12L,PDstandardNth1g22,kmadd(J22L,PDstandardNth2g22,kmul(J32L,PDstandardNth3g22)));
+
+ JacPDstandardNth2g23 =
+ kmadd(J12L,PDstandardNth1g23,kmadd(J22L,PDstandardNth2g23,kmul(J32L,PDstandardNth3g23)));
+
+ JacPDstandardNth2g33 =
+ kmadd(J12L,PDstandardNth1g33,kmadd(J22L,PDstandardNth2g33,kmul(J32L,PDstandardNth3g33)));
+
+ JacPDstandardNth2K11 =
+ kmadd(J12L,PDstandardNth1K11,kmadd(J22L,PDstandardNth2K11,kmul(J32L,PDstandardNth3K11)));
+
+ JacPDstandardNth2K12 =
+ kmadd(J12L,PDstandardNth1K12,kmadd(J22L,PDstandardNth2K12,kmul(J32L,PDstandardNth3K12)));
+
+ JacPDstandardNth2K13 =
+ kmadd(J12L,PDstandardNth1K13,kmadd(J22L,PDstandardNth2K13,kmul(J32L,PDstandardNth3K13)));
+
+ JacPDstandardNth2K22 =
+ kmadd(J12L,PDstandardNth1K22,kmadd(J22L,PDstandardNth2K22,kmul(J32L,PDstandardNth3K22)));
+
+ JacPDstandardNth2K23 =
+ kmadd(J12L,PDstandardNth1K23,kmadd(J22L,PDstandardNth2K23,kmul(J32L,PDstandardNth3K23)));
+
+ JacPDstandardNth2K33 =
+ kmadd(J12L,PDstandardNth1K33,kmadd(J22L,PDstandardNth2K33,kmul(J32L,PDstandardNth3K33)));
+
+ JacPDstandardNth3alpha =
+ kmadd(J13L,PDstandardNth1alpha,kmadd(J23L,PDstandardNth2alpha,kmul(J33L,PDstandardNth3alpha)));
+
+ JacPDstandardNth3beta1 =
+ kmadd(J13L,PDstandardNth1beta1,kmadd(J23L,PDstandardNth2beta1,kmul(J33L,PDstandardNth3beta1)));
+
+ JacPDstandardNth3beta2 =
+ kmadd(J13L,PDstandardNth1beta2,kmadd(J23L,PDstandardNth2beta2,kmul(J33L,PDstandardNth3beta2)));
+
+ JacPDstandardNth3beta3 =
+ kmadd(J13L,PDstandardNth1beta3,kmadd(J23L,PDstandardNth2beta3,kmul(J33L,PDstandardNth3beta3)));
+
+ JacPDstandardNth3g11 =
+ kmadd(J13L,PDstandardNth1g11,kmadd(J23L,PDstandardNth2g11,kmul(J33L,PDstandardNth3g11)));
+
+ JacPDstandardNth3g12 =
+ kmadd(J13L,PDstandardNth1g12,kmadd(J23L,PDstandardNth2g12,kmul(J33L,PDstandardNth3g12)));
+
+ JacPDstandardNth3g13 =
+ kmadd(J13L,PDstandardNth1g13,kmadd(J23L,PDstandardNth2g13,kmul(J33L,PDstandardNth3g13)));
+
+ JacPDstandardNth3g22 =
+ kmadd(J13L,PDstandardNth1g22,kmadd(J23L,PDstandardNth2g22,kmul(J33L,PDstandardNth3g22)));
+
+ JacPDstandardNth3g23 =
+ kmadd(J13L,PDstandardNth1g23,kmadd(J23L,PDstandardNth2g23,kmul(J33L,PDstandardNth3g23)));
+
+ JacPDstandardNth3g33 =
+ kmadd(J13L,PDstandardNth1g33,kmadd(J23L,PDstandardNth2g33,kmul(J33L,PDstandardNth3g33)));
+
+ JacPDstandardNth3K11 =
+ kmadd(J13L,PDstandardNth1K11,kmadd(J23L,PDstandardNth2K11,kmul(J33L,PDstandardNth3K11)));
+
+ JacPDstandardNth3K12 =
+ kmadd(J13L,PDstandardNth1K12,kmadd(J23L,PDstandardNth2K12,kmul(J33L,PDstandardNth3K12)));
+
+ JacPDstandardNth3K13 =
+ kmadd(J13L,PDstandardNth1K13,kmadd(J23L,PDstandardNth2K13,kmul(J33L,PDstandardNth3K13)));
+
+ JacPDstandardNth3K22 =
+ kmadd(J13L,PDstandardNth1K22,kmadd(J23L,PDstandardNth2K22,kmul(J33L,PDstandardNth3K22)));
+
+ JacPDstandardNth3K23 =
+ kmadd(J13L,PDstandardNth1K23,kmadd(J23L,PDstandardNth2K23,kmul(J33L,PDstandardNth3K23)));
+
+ JacPDstandardNth3K33 =
+ kmadd(J13L,PDstandardNth1K33,kmadd(J23L,PDstandardNth2K33,kmul(J33L,PDstandardNth3K33)));
+
+ JacPDstandardNth11alpha =
+ kmadd(dJ111L,PDstandardNth1alpha,kmadd(dJ211L,PDstandardNth2alpha,kmadd(dJ311L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J11L),kmadd(PDstandardNth22alpha,SQR(J21L),kmadd(PDstandardNth33alpha,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha)),kmul(J21L,kmul(J31L,PDstandardNth23alpha))),ToReal(2))))))));
+
+ JacPDstandardNth11g22 =
+ kmadd(dJ111L,PDstandardNth1g22,kmadd(dJ211L,PDstandardNth2g22,kmadd(dJ311L,PDstandardNth3g22,kmadd(PDstandardNth11g22,SQR(J11L),kmadd(PDstandardNth22g22,SQR(J21L),kmadd(PDstandardNth33g22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22)),kmul(J21L,kmul(J31L,PDstandardNth23g22))),ToReal(2))))))));
+
+ JacPDstandardNth11g23 =
+ kmadd(dJ111L,PDstandardNth1g23,kmadd(dJ211L,PDstandardNth2g23,kmadd(dJ311L,PDstandardNth3g23,kmadd(PDstandardNth11g23,SQR(J11L),kmadd(PDstandardNth22g23,SQR(J21L),kmadd(PDstandardNth33g23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23)),kmul(J21L,kmul(J31L,PDstandardNth23g23))),ToReal(2))))))));
+
+ JacPDstandardNth11g33 =
+ kmadd(dJ111L,PDstandardNth1g33,kmadd(dJ211L,PDstandardNth2g33,kmadd(dJ311L,PDstandardNth3g33,kmadd(PDstandardNth11g33,SQR(J11L),kmadd(PDstandardNth22g33,SQR(J21L),kmadd(PDstandardNth33g33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33)),kmul(J21L,kmul(J31L,PDstandardNth23g33))),ToReal(2))))))));
+
+ JacPDstandardNth22alpha =
+ kmadd(dJ122L,PDstandardNth1alpha,kmadd(dJ222L,PDstandardNth2alpha,kmadd(dJ322L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J12L),kmadd(PDstandardNth22alpha,SQR(J22L),kmadd(PDstandardNth33alpha,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmul(J22L,kmul(J32L,PDstandardNth23alpha))),ToReal(2))))))));
+
+ JacPDstandardNth22g11 =
+ kmadd(dJ122L,PDstandardNth1g11,kmadd(dJ222L,PDstandardNth2g11,kmadd(dJ322L,PDstandardNth3g11,kmadd(PDstandardNth11g11,SQR(J12L),kmadd(PDstandardNth22g11,SQR(J22L),kmadd(PDstandardNth33g11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmul(J22L,kmul(J32L,PDstandardNth23g11))),ToReal(2))))))));
+
+ JacPDstandardNth22g13 =
+ kmadd(dJ122L,PDstandardNth1g13,kmadd(dJ222L,PDstandardNth2g13,kmadd(dJ322L,PDstandardNth3g13,kmadd(PDstandardNth11g13,SQR(J12L),kmadd(PDstandardNth22g13,SQR(J22L),kmadd(PDstandardNth33g13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmul(J22L,kmul(J32L,PDstandardNth23g13))),ToReal(2))))))));
+
+ JacPDstandardNth22g33 =
+ kmadd(dJ122L,PDstandardNth1g33,kmadd(dJ222L,PDstandardNth2g33,kmadd(dJ322L,PDstandardNth3g33,kmadd(PDstandardNth11g33,SQR(J12L),kmadd(PDstandardNth22g33,SQR(J22L),kmadd(PDstandardNth33g33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmul(J22L,kmul(J32L,PDstandardNth23g33))),ToReal(2))))))));
+
+ JacPDstandardNth33alpha =
+ kmadd(dJ133L,PDstandardNth1alpha,kmadd(dJ233L,PDstandardNth2alpha,kmadd(dJ333L,PDstandardNth3alpha,kmadd(PDstandardNth11alpha,SQR(J13L),kmadd(PDstandardNth22alpha,SQR(J23L),kmadd(PDstandardNth33alpha,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmul(J23L,kmul(J33L,PDstandardNth23alpha))),ToReal(2))))))));
+
+ JacPDstandardNth33g11 =
+ kmadd(dJ133L,PDstandardNth1g11,kmadd(dJ233L,PDstandardNth2g11,kmadd(dJ333L,PDstandardNth3g11,kmadd(PDstandardNth11g11,SQR(J13L),kmadd(PDstandardNth22g11,SQR(J23L),kmadd(PDstandardNth33g11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmul(J23L,kmul(J33L,PDstandardNth23g11))),ToReal(2))))))));
+
+ JacPDstandardNth33g12 =
+ kmadd(dJ133L,PDstandardNth1g12,kmadd(dJ233L,PDstandardNth2g12,kmadd(dJ333L,PDstandardNth3g12,kmadd(PDstandardNth11g12,SQR(J13L),kmadd(PDstandardNth22g12,SQR(J23L),kmadd(PDstandardNth33g12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmul(J23L,kmul(J33L,PDstandardNth23g12))),ToReal(2))))))));
+
+ JacPDstandardNth33g22 =
+ kmadd(dJ133L,PDstandardNth1g22,kmadd(dJ233L,PDstandardNth2g22,kmadd(dJ333L,PDstandardNth3g22,kmadd(PDstandardNth11g22,SQR(J13L),kmadd(PDstandardNth22g22,SQR(J23L),kmadd(PDstandardNth33g22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmul(J23L,kmul(J33L,PDstandardNth23g22))),ToReal(2))))))));
+
+ JacPDstandardNth12alpha =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha)),kmadd(dJ112L,PDstandardNth1alpha,kmadd(J22L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ212L,PDstandardNth2alpha,kmadd(J32L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ312L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth12g11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmadd(dJ112L,PDstandardNth1g11,kmadd(J22L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ212L,PDstandardNth2g11,kmadd(J32L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ312L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth12g12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12)),kmadd(dJ112L,PDstandardNth1g12,kmadd(J22L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ212L,PDstandardNth2g12,kmadd(J32L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ312L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth12g13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmadd(dJ112L,PDstandardNth1g13,kmadd(J22L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ212L,PDstandardNth2g13,kmadd(J32L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ312L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth12g22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22)),kmadd(dJ112L,PDstandardNth1g22,kmadd(J22L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ212L,PDstandardNth2g22,kmadd(J32L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ312L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth12g23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23)),kmadd(dJ112L,PDstandardNth1g23,kmadd(J22L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ212L,PDstandardNth2g23,kmadd(J32L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ312L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth12g33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmadd(dJ112L,PDstandardNth1g33,kmadd(J22L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ212L,PDstandardNth2g33,kmadd(J32L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ312L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth13alpha =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11alpha,kmadd(J21L,PDstandardNth12alpha,kmul(J31L,PDstandardNth13alpha))),kmadd(J11L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ113L,PDstandardNth1alpha,kmadd(J23L,kmadd(J21L,PDstandardNth22alpha,kmul(J31L,PDstandardNth23alpha)),kmadd(dJ213L,PDstandardNth2alpha,kmadd(J33L,kmadd(J21L,PDstandardNth23alpha,kmul(J31L,PDstandardNth33alpha)),kmul(dJ313L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth13g11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ113L,PDstandardNth1g11,kmadd(J23L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ213L,PDstandardNth2g11,kmadd(J33L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ313L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth13g12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ113L,PDstandardNth1g12,kmadd(J23L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ213L,PDstandardNth2g12,kmadd(J33L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ313L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth13g13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ113L,PDstandardNth1g13,kmadd(J23L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ213L,PDstandardNth2g13,kmadd(J33L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ313L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth13g22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ113L,PDstandardNth1g22,kmadd(J23L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ213L,PDstandardNth2g22,kmadd(J33L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ313L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth13g23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ113L,PDstandardNth1g23,kmadd(J23L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ213L,PDstandardNth2g23,kmadd(J33L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ313L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth13g33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ113L,PDstandardNth1g33,kmadd(J23L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ213L,PDstandardNth2g33,kmadd(J33L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ313L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth21g11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmadd(dJ112L,PDstandardNth1g11,kmadd(J22L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ212L,PDstandardNth2g11,kmadd(J32L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ312L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth21g12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12)),kmadd(dJ112L,PDstandardNth1g12,kmadd(J22L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ212L,PDstandardNth2g12,kmadd(J32L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ312L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth21g13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmadd(dJ112L,PDstandardNth1g13,kmadd(J22L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ212L,PDstandardNth2g13,kmadd(J32L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ312L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth21g22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22)),kmadd(dJ112L,PDstandardNth1g22,kmadd(J22L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ212L,PDstandardNth2g22,kmadd(J32L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ312L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth21g23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23)),kmadd(dJ112L,PDstandardNth1g23,kmadd(J22L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ212L,PDstandardNth2g23,kmadd(J32L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ312L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth21g33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmadd(dJ112L,PDstandardNth1g33,kmadd(J22L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ212L,PDstandardNth2g33,kmadd(J32L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ312L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth23alpha =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11alpha,kmadd(J22L,PDstandardNth12alpha,kmul(J32L,PDstandardNth13alpha))),kmadd(J12L,kmadd(J23L,PDstandardNth12alpha,kmul(J33L,PDstandardNth13alpha)),kmadd(dJ123L,PDstandardNth1alpha,kmadd(J23L,kmadd(J22L,PDstandardNth22alpha,kmul(J32L,PDstandardNth23alpha)),kmadd(dJ223L,PDstandardNth2alpha,kmadd(J33L,kmadd(J22L,PDstandardNth23alpha,kmul(J32L,PDstandardNth33alpha)),kmul(dJ323L,PDstandardNth3alpha)))))));
+
+ JacPDstandardNth23g11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g11,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11))),kmadd(J12L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ123L,PDstandardNth1g11,kmadd(J23L,kmadd(J22L,PDstandardNth22g11,kmul(J32L,PDstandardNth23g11)),kmadd(dJ223L,PDstandardNth2g11,kmadd(J33L,kmadd(J22L,PDstandardNth23g11,kmul(J32L,PDstandardNth33g11)),kmul(dJ323L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth23g12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g12,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12))),kmadd(J12L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ123L,PDstandardNth1g12,kmadd(J23L,kmadd(J22L,PDstandardNth22g12,kmul(J32L,PDstandardNth23g12)),kmadd(dJ223L,PDstandardNth2g12,kmadd(J33L,kmadd(J22L,PDstandardNth23g12,kmul(J32L,PDstandardNth33g12)),kmul(dJ323L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth23g13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g13,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13))),kmadd(J12L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ123L,PDstandardNth1g13,kmadd(J23L,kmadd(J22L,PDstandardNth22g13,kmul(J32L,PDstandardNth23g13)),kmadd(dJ223L,PDstandardNth2g13,kmadd(J33L,kmadd(J22L,PDstandardNth23g13,kmul(J32L,PDstandardNth33g13)),kmul(dJ323L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth23g22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g22,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22))),kmadd(J12L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ123L,PDstandardNth1g22,kmadd(J23L,kmadd(J22L,PDstandardNth22g22,kmul(J32L,PDstandardNth23g22)),kmadd(dJ223L,PDstandardNth2g22,kmadd(J33L,kmadd(J22L,PDstandardNth23g22,kmul(J32L,PDstandardNth33g22)),kmul(dJ323L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth23g23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g23,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23))),kmadd(J12L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ123L,PDstandardNth1g23,kmadd(J23L,kmadd(J22L,PDstandardNth22g23,kmul(J32L,PDstandardNth23g23)),kmadd(dJ223L,PDstandardNth2g23,kmadd(J33L,kmadd(J22L,PDstandardNth23g23,kmul(J32L,PDstandardNth33g23)),kmul(dJ323L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth23g33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g33,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33))),kmadd(J12L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ123L,PDstandardNth1g33,kmadd(J23L,kmadd(J22L,PDstandardNth22g33,kmul(J32L,PDstandardNth23g33)),kmadd(dJ223L,PDstandardNth2g33,kmadd(J33L,kmadd(J22L,PDstandardNth23g33,kmul(J32L,PDstandardNth33g33)),kmul(dJ323L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth31g11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ113L,PDstandardNth1g11,kmadd(J23L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ213L,PDstandardNth2g11,kmadd(J33L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ313L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth31g12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ113L,PDstandardNth1g12,kmadd(J23L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ213L,PDstandardNth2g12,kmadd(J33L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ313L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth31g13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ113L,PDstandardNth1g13,kmadd(J23L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ213L,PDstandardNth2g13,kmadd(J33L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ313L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth31g22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ113L,PDstandardNth1g22,kmadd(J23L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ213L,PDstandardNth2g22,kmadd(J33L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ313L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth31g23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ113L,PDstandardNth1g23,kmadd(J23L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ213L,PDstandardNth2g23,kmadd(J33L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ313L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth31g33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ113L,PDstandardNth1g33,kmadd(J23L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ213L,PDstandardNth2g33,kmadd(J33L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ313L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth32g11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g11,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11))),kmadd(J12L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ123L,PDstandardNth1g11,kmadd(J23L,kmadd(J22L,PDstandardNth22g11,kmul(J32L,PDstandardNth23g11)),kmadd(dJ223L,PDstandardNth2g11,kmadd(J33L,kmadd(J22L,PDstandardNth23g11,kmul(J32L,PDstandardNth33g11)),kmul(dJ323L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth32g12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g12,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12))),kmadd(J12L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ123L,PDstandardNth1g12,kmadd(J23L,kmadd(J22L,PDstandardNth22g12,kmul(J32L,PDstandardNth23g12)),kmadd(dJ223L,PDstandardNth2g12,kmadd(J33L,kmadd(J22L,PDstandardNth23g12,kmul(J32L,PDstandardNth33g12)),kmul(dJ323L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth32g13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g13,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13))),kmadd(J12L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ123L,PDstandardNth1g13,kmadd(J23L,kmadd(J22L,PDstandardNth22g13,kmul(J32L,PDstandardNth23g13)),kmadd(dJ223L,PDstandardNth2g13,kmadd(J33L,kmadd(J22L,PDstandardNth23g13,kmul(J32L,PDstandardNth33g13)),kmul(dJ323L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth32g22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g22,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22))),kmadd(J12L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ123L,PDstandardNth1g22,kmadd(J23L,kmadd(J22L,PDstandardNth22g22,kmul(J32L,PDstandardNth23g22)),kmadd(dJ223L,PDstandardNth2g22,kmadd(J33L,kmadd(J22L,PDstandardNth23g22,kmul(J32L,PDstandardNth33g22)),kmul(dJ323L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth32g23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g23,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23))),kmadd(J12L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ123L,PDstandardNth1g23,kmadd(J23L,kmadd(J22L,PDstandardNth22g23,kmul(J32L,PDstandardNth23g23)),kmadd(dJ223L,PDstandardNth2g23,kmadd(J33L,kmadd(J22L,PDstandardNth23g23,kmul(J32L,PDstandardNth33g23)),kmul(dJ323L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth32g33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g33,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33))),kmadd(J12L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ123L,PDstandardNth1g33,kmadd(J23L,kmadd(J22L,PDstandardNth22g33,kmul(J32L,PDstandardNth23g33)),kmadd(dJ223L,PDstandardNth2g33,kmadd(J33L,kmadd(J22L,PDstandardNth23g33,kmul(J32L,PDstandardNth33g33)),kmul(dJ323L,PDstandardNth3g33)))))));
+ }
+ else
+ {
+ JacPDstandardNth1alpha = PDstandardNth1alpha;
+
+ JacPDstandardNth1beta1 = PDstandardNth1beta1;
+
+ JacPDstandardNth1beta2 = PDstandardNth1beta2;
+
+ JacPDstandardNth1beta3 = PDstandardNth1beta3;
+
+ JacPDstandardNth1g11 = PDstandardNth1g11;
+
+ JacPDstandardNth1g12 = PDstandardNth1g12;
+
+ JacPDstandardNth1g13 = PDstandardNth1g13;
+
+ JacPDstandardNth1g22 = PDstandardNth1g22;
+
+ JacPDstandardNth1g23 = PDstandardNth1g23;
+
+ JacPDstandardNth1g33 = PDstandardNth1g33;
+
+ JacPDstandardNth1K11 = PDstandardNth1K11;
+
+ JacPDstandardNth1K12 = PDstandardNth1K12;
+
+ JacPDstandardNth1K13 = PDstandardNth1K13;
+
+ JacPDstandardNth1K22 = PDstandardNth1K22;
+
+ JacPDstandardNth1K23 = PDstandardNth1K23;
+
+ JacPDstandardNth1K33 = PDstandardNth1K33;
+
+ JacPDstandardNth2alpha = PDstandardNth2alpha;
+
+ JacPDstandardNth2beta1 = PDstandardNth2beta1;
+
+ JacPDstandardNth2beta2 = PDstandardNth2beta2;
+
+ JacPDstandardNth2beta3 = PDstandardNth2beta3;
+
+ JacPDstandardNth2g11 = PDstandardNth2g11;
+
+ JacPDstandardNth2g12 = PDstandardNth2g12;
+
+ JacPDstandardNth2g13 = PDstandardNth2g13;
+
+ JacPDstandardNth2g22 = PDstandardNth2g22;
+
+ JacPDstandardNth2g23 = PDstandardNth2g23;
+
+ JacPDstandardNth2g33 = PDstandardNth2g33;
+
+ JacPDstandardNth2K11 = PDstandardNth2K11;
+
+ JacPDstandardNth2K12 = PDstandardNth2K12;
+
+ JacPDstandardNth2K13 = PDstandardNth2K13;
+
+ JacPDstandardNth2K22 = PDstandardNth2K22;
+
+ JacPDstandardNth2K23 = PDstandardNth2K23;
+
+ JacPDstandardNth2K33 = PDstandardNth2K33;
+
+ JacPDstandardNth3alpha = PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = PDstandardNth3beta3;
+
+ JacPDstandardNth3g11 = PDstandardNth3g11;
+
+ JacPDstandardNth3g12 = PDstandardNth3g12;
+
+ JacPDstandardNth3g13 = PDstandardNth3g13;
+
+ JacPDstandardNth3g22 = PDstandardNth3g22;
+
+ JacPDstandardNth3g23 = PDstandardNth3g23;
+
+ JacPDstandardNth3g33 = PDstandardNth3g33;
+
+ JacPDstandardNth3K11 = PDstandardNth3K11;
+
+ JacPDstandardNth3K12 = PDstandardNth3K12;
+
+ JacPDstandardNth3K13 = PDstandardNth3K13;
+
+ JacPDstandardNth3K22 = PDstandardNth3K22;
+
+ JacPDstandardNth3K23 = PDstandardNth3K23;
+
+ JacPDstandardNth3K33 = PDstandardNth3K33;
+
+ JacPDstandardNth11alpha = PDstandardNth11alpha;
+
+ JacPDstandardNth11g22 = PDstandardNth11g22;
+
+ JacPDstandardNth11g23 = PDstandardNth11g23;
+
+ JacPDstandardNth11g33 = PDstandardNth11g33;
+
+ JacPDstandardNth22alpha = PDstandardNth22alpha;
+
+ JacPDstandardNth22g11 = PDstandardNth22g11;
+
+ JacPDstandardNth22g13 = PDstandardNth22g13;
+
+ JacPDstandardNth22g33 = PDstandardNth22g33;
+
+ JacPDstandardNth33alpha = PDstandardNth33alpha;
+
+ JacPDstandardNth33g11 = PDstandardNth33g11;
+
+ JacPDstandardNth33g12 = PDstandardNth33g12;
+
+ JacPDstandardNth33g22 = PDstandardNth33g22;
+
+ JacPDstandardNth12alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth12g11 = PDstandardNth12g11;
+
+ JacPDstandardNth12g12 = PDstandardNth12g12;
+
+ JacPDstandardNth12g13 = PDstandardNth12g13;
+
+ JacPDstandardNth12g22 = PDstandardNth12g22;
+
+ JacPDstandardNth12g23 = PDstandardNth12g23;
+
+ JacPDstandardNth12g33 = PDstandardNth12g33;
+
+ JacPDstandardNth13alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth13g11 = PDstandardNth13g11;
+
+ JacPDstandardNth13g12 = PDstandardNth13g12;
+
+ JacPDstandardNth13g13 = PDstandardNth13g13;
+
+ JacPDstandardNth13g22 = PDstandardNth13g22;
+
+ JacPDstandardNth13g23 = PDstandardNth13g23;
+
+ JacPDstandardNth13g33 = PDstandardNth13g33;
+
+ JacPDstandardNth21g11 = PDstandardNth12g11;
+
+ JacPDstandardNth21g12 = PDstandardNth12g12;
+
+ JacPDstandardNth21g13 = PDstandardNth12g13;
+
+ JacPDstandardNth21g22 = PDstandardNth12g22;
+
+ JacPDstandardNth21g23 = PDstandardNth12g23;
+
+ JacPDstandardNth21g33 = PDstandardNth12g33;
+
+ JacPDstandardNth23alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth23g11 = PDstandardNth23g11;
+
+ JacPDstandardNth23g12 = PDstandardNth23g12;
+
+ JacPDstandardNth23g13 = PDstandardNth23g13;
+
+ JacPDstandardNth23g22 = PDstandardNth23g22;
+
+ JacPDstandardNth23g23 = PDstandardNth23g23;
+
+ JacPDstandardNth23g33 = PDstandardNth23g33;
+
+ JacPDstandardNth31g11 = PDstandardNth13g11;
+
+ JacPDstandardNth31g12 = PDstandardNth13g12;
+
+ JacPDstandardNth31g13 = PDstandardNth13g13;
+
+ JacPDstandardNth31g22 = PDstandardNth13g22;
+
+ JacPDstandardNth31g23 = PDstandardNth13g23;
+
+ JacPDstandardNth31g33 = PDstandardNth13g33;
+
+ JacPDstandardNth32g11 = PDstandardNth23g11;
+
+ JacPDstandardNth32g12 = PDstandardNth23g12;
+
+ JacPDstandardNth32g13 = PDstandardNth23g13;
+
+ JacPDstandardNth32g22 = PDstandardNth23g22;
+
+ JacPDstandardNth32g23 = PDstandardNth23g23;
+
+ JacPDstandardNth32g33 = PDstandardNth23g33;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(g22L,SQR(g13L),knmsub(g11L,SQR(g23L),kmadd(g33L,kmsub(g11L,g22L,SQR(g12L)),kmul(g12L,kmul(g13L,kmul(g23L,ToReal(2)))))));
+
+ CCTK_REAL_VEC gu11 = kmul(INV(detg),kmsub(g22L,g33L,SQR(g23L)));
+
+ CCTK_REAL_VEC gu12 = kmul(INV(detg),kmsub(g13L,g23L,kmul(g12L,g33L)));
+
+ CCTK_REAL_VEC gu13 = kmul(INV(detg),kmsub(g12L,g23L,kmul(g13L,g22L)));
+
+ CCTK_REAL_VEC gu21 = kmul(INV(detg),kmsub(g13L,g23L,kmul(g12L,g33L)));
+
+ CCTK_REAL_VEC gu22 = kmul(INV(detg),kmsub(g11L,g33L,SQR(g13L)));
+
+ CCTK_REAL_VEC gu23 = kmul(INV(detg),kmsub(g12L,g13L,kmul(g11L,g23L)));
+
+ CCTK_REAL_VEC gu31 = kmul(INV(detg),kmsub(g12L,g23L,kmul(g13L,g22L)));
+
+ CCTK_REAL_VEC gu32 = kmul(INV(detg),kmsub(g12L,g13L,kmul(g11L,g23L)));
+
+ CCTK_REAL_VEC gu33 = kmul(INV(detg),kmsub(g11L,g22L,SQR(g12L)));
+
+ CCTK_REAL_VEC G111 =
+ kmul(ToReal(0.5),kmadd(gu11,JacPDstandardNth1g11,knmsub(gu12,JacPDstandardNth2g11,kmsub(kmadd(gu12,JacPDstandardNth1g12,kmul(gu13,JacPDstandardNth1g13)),ToReal(2),kmul(gu13,JacPDstandardNth3g11)))));
+
+ CCTK_REAL_VEC G211 =
+ kmul(ToReal(0.5),kmadd(gu21,JacPDstandardNth1g11,knmsub(gu22,JacPDstandardNth2g11,kmsub(kmadd(gu22,JacPDstandardNth1g12,kmul(gu23,JacPDstandardNth1g13)),ToReal(2),kmul(gu23,JacPDstandardNth3g11)))));
+
+ CCTK_REAL_VEC G311 =
+ kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth1g11,knmsub(gu32,JacPDstandardNth2g11,kmsub(kmadd(gu32,JacPDstandardNth1g12,kmul(gu33,JacPDstandardNth1g13)),ToReal(2),kmul(gu33,JacPDstandardNth3g11)))));
+
+ CCTK_REAL_VEC G112 =
+ kmul(kmadd(gu12,JacPDstandardNth1g22,kmadd(gu11,JacPDstandardNth2g11,kmul(gu13,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G212 =
+ kmul(kmadd(gu22,JacPDstandardNth1g22,kmadd(gu21,JacPDstandardNth2g11,kmul(gu23,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G312 =
+ kmul(kmadd(gu32,JacPDstandardNth1g22,kmadd(gu31,JacPDstandardNth2g11,kmul(gu33,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G113 =
+ kmul(kmadd(gu13,JacPDstandardNth1g33,kmadd(gu11,JacPDstandardNth3g11,kmul(gu12,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G213 =
+ kmul(kmadd(gu23,JacPDstandardNth1g33,kmadd(gu21,JacPDstandardNth3g11,kmul(gu22,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G313 =
+ kmul(kmadd(gu33,JacPDstandardNth1g33,kmadd(gu31,JacPDstandardNth3g11,kmul(gu32,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G122 =
+ kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth2g22,kmadd(gu11,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu13,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22)))));
+
+ CCTK_REAL_VEC G222 =
+ kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth2g22,kmadd(gu21,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu23,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22)))));
+
+ CCTK_REAL_VEC G322 =
+ kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth2g22,kmadd(gu31,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu33,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22)))));
+
+ CCTK_REAL_VEC G123 =
+ kmul(kmadd(gu13,JacPDstandardNth2g33,kmadd(gu12,JacPDstandardNth3g22,kmul(gu11,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G223 =
+ kmul(kmadd(gu23,JacPDstandardNth2g33,kmadd(gu22,JacPDstandardNth3g22,kmul(gu21,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G323 =
+ kmul(kmadd(gu33,JacPDstandardNth2g33,kmadd(gu32,JacPDstandardNth3g22,kmul(gu31,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G133 =
+ kmul(ToReal(0.5),kmadd(gu13,JacPDstandardNth3g33,kmadd(gu11,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu12,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33)))));
+
+ CCTK_REAL_VEC G233 =
+ kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth3g33,kmadd(gu21,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu22,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33)))));
- CCTK_REAL gu11 = INV(detg)*(g22L*g33L - SQR(g23L));
+ CCTK_REAL_VEC G333 =
+ kmul(ToReal(0.5),kmadd(gu33,JacPDstandardNth3g33,kmadd(gu31,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu32,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33)))));
- CCTK_REAL gu12 = (g13L*g23L - g12L*g33L)*INV(detg);
+ CCTK_REAL_VEC R11 =
+ kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth31g12,kmadd(gu32,JacPDstandardNth31g12,kmadd(G111,kmul(kadd(G212,G313),ToReal(-2)),knmsub(JacPDstandardNth11g23,kadd(gu32,gu23),kmadd(gu12,ksub(JacPDstandardNth21g11,JacPDstandardNth12g11),kmadd(gu13,ksub(JacPDstandardNth31g11,JacPDstandardNth13g11),kmadd(gu23,ksub(JacPDstandardNth21g13,JacPDstandardNth23g11),kmadd(gu32,ksub(JacPDstandardNth21g13,JacPDstandardNth32g11),kmadd(SQR(G212),ToReal(2),kmadd(SQR(G313),ToReal(2),kmadd(G211,kmadd(G222,ToReal(-2),kmadd(G323,ToReal(-2),kmul(G112,ToReal(2)))),kmadd(G311,kmadd(G223,ToReal(-2),kmadd(G333,ToReal(-2),kmul(G113,ToReal(2)))),kmadd(gu22,ksub(kmsub(JacPDstandardNth21g12,ToReal(2),JacPDstandardNth22g11),JacPDstandardNth11g22),kmadd(gu33,ksub(kmsub(JacPDstandardNth31g13,ToReal(2),JacPDstandardNth33g11),JacPDstandardNth11g33),kmul(G213,kmul(G312,ToReal(4))))))))))))))))));
- CCTK_REAL gu13 = (-(g13L*g22L) + g12L*g23L)*INV(detg);
+ CCTK_REAL_VEC R12 =
+ kmul(ToReal(0.5),kmadd(gu12,kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),kmadd(gu32,JacPDstandardNth31g22,kmadd(gu13,JacPDstandardNth32g11,kmadd(gu23,JacPDstandardNth32g12,kmadd(gu33,JacPDstandardNth32g13,kmadd(kmadd(G112,kadd(G212,G313),kmadd(G212,G323,kmadd(G312,G333,kmul(gu12,JacPDstandardNth12g12)))),ToReal(-2),knmsub(JacPDstandardNth12g23,kadd(gu32,gu23),kmadd(gu22,ksub(JacPDstandardNth21g22,JacPDstandardNth12g22),kmadd(gu13,ksub(JacPDstandardNth11g23,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13)),kmadd(gu23,ksub(JacPDstandardNth21g23,JacPDstandardNth23g12),kmadd(gu32,ksub(JacPDstandardNth22g13,JacPDstandardNth32g12),kmadd(gu33,ksub(JacPDstandardNth31g23,kadd(JacPDstandardNth33g12,JacPDstandardNth12g33)),kmul(kmadd(G122,G211,kmadd(G123,G311,kmadd(G213,G322,kmul(G313,G323)))),ToReal(2)))))))))))))));
- CCTK_REAL gu21 = (g13L*g23L - g12L*g33L)*INV(detg);
+ CCTK_REAL_VEC R13 =
+ kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth23g12,kmadd(gu32,JacPDstandardNth31g23,kmadd(gu13,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),kmadd(gu23,JacPDstandardNth33g12,kmadd(kmadd(G213,G222,kmadd(G223,G313,kmadd(G113,kadd(G212,G313),kmul(gu13,JacPDstandardNth13g13)))),ToReal(-2),knmsub(JacPDstandardNth13g23,kadd(gu32,gu23),kmadd(gu12,kadd(JacPDstandardNth11g23,ksub(JacPDstandardNth23g11,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13))),kmadd(gu33,ksub(JacPDstandardNth31g33,JacPDstandardNth13g33),kmadd(gu22,ksub(JacPDstandardNth21g23,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22)),kmadd(gu23,ksub(JacPDstandardNth21g33,JacPDstandardNth23g13),kmadd(gu32,ksub(JacPDstandardNth23g13,JacPDstandardNth32g13),kmul(kmadd(G123,G211,kmadd(G212,G223,kmadd(G133,G311,kmul(G233,G312)))),ToReal(2))))))))))))));
- CCTK_REAL gu22 = INV(detg)*(g11L*g33L - SQR(g13L));
+ CCTK_REAL_VEC R22 =
+ kmul(ToReal(0.5),kmadd(kadd(gu13,gu31),JacPDstandardNth12g23,kmadd(gu13,JacPDstandardNth32g12,kmadd(gu31,JacPDstandardNth32g12,kmadd(kmadd(G112,G222,kmadd(G113,G322,kmul(G222,G323))),ToReal(-2),kmadd(gu21,ksub(JacPDstandardNth12g22,JacPDstandardNth21g22),knmsub(gu13,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22),kmadd(gu23,ksub(JacPDstandardNth32g22,JacPDstandardNth23g22),knmsub(gu31,kadd(JacPDstandardNth31g22,JacPDstandardNth22g13),kmadd(SQR(G112),ToReal(2),kmadd(SQR(G323),ToReal(2),kmadd(G122,kmadd(G111,ToReal(-2),kmadd(G313,ToReal(-2),kmul(G212,ToReal(2)))),kmadd(G322,kmadd(G333,ToReal(-2),kmul(G223,ToReal(2))),kmadd(gu11,ksub(kmsub(JacPDstandardNth12g12,ToReal(2),JacPDstandardNth22g11),JacPDstandardNth11g22),kmadd(gu33,ksub(kmsub(JacPDstandardNth32g23,ToReal(2),JacPDstandardNth33g22),JacPDstandardNth22g33),kmul(G123,kmul(G312,ToReal(4))))))))))))))))));
- CCTK_REAL gu23 = (g12L*g13L - g11L*g23L)*INV(detg);
+ CCTK_REAL_VEC R23 =
+ kmul(ToReal(0.5),kmadd(gu23,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22),kmadd(kmadd(G111,G123,kmadd(kadd(G113,G223),G323,kmul(gu23,JacPDstandardNth23g23))),ToReal(-2),kmadd(gu11,kadd(JacPDstandardNth12g13,ksub(JacPDstandardNth13g12,kadd(JacPDstandardNth23g11,JacPDstandardNth11g23))),kmadd(gu21,kadd(JacPDstandardNth13g22,ksub(JacPDstandardNth22g13,kadd(JacPDstandardNth23g12,JacPDstandardNth21g23))),kmadd(gu13,kadd(JacPDstandardNth12g33,ksub(JacPDstandardNth33g12,kadd(JacPDstandardNth23g13,JacPDstandardNth13g23))),kmadd(gu33,ksub(JacPDstandardNth32g33,JacPDstandardNth23g33),kmadd(gu31,kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth32g13,kadd(JacPDstandardNth31g23,JacPDstandardNth23g13))),kmul(kmadd(G122,G213,kmadd(G133,G312,kmadd(G233,G322,kmul(G112,ksub(G113,G223))))),ToReal(2))))))))));
- CCTK_REAL gu31 = (-(g13L*g22L) + g12L*g23L)*INV(detg);
+ CCTK_REAL_VEC R33 =
+ kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth23g13,kmadd(gu21,JacPDstandardNth23g13,kmadd(kmadd(G111,G133,kmadd(G133,G212,kmadd(G112,G233,kmadd(G222,G233,kmadd(G113,G333,kmul(G223,G333)))))),ToReal(-2),kmadd(gu31,ksub(JacPDstandardNth13g33,JacPDstandardNth31g33),kmadd(gu32,ksub(JacPDstandardNth23g33,JacPDstandardNth32g33),knmsub(gu11,kadd(JacPDstandardNth33g11,JacPDstandardNth11g33),kmadd(gu12,ksub(JacPDstandardNth13g23,kadd(JacPDstandardNth33g12,JacPDstandardNth12g33)),kmadd(gu21,ksub(JacPDstandardNth13g23,kadd(JacPDstandardNth33g12,JacPDstandardNth21g33)),kmadd(kmadd(G133,G313,kmadd(G233,G323,kmul(gu11,JacPDstandardNth13g13))),ToReal(2),kmadd(SQR(G113),ToReal(2),kmadd(SQR(G223),ToReal(2),kmadd(gu22,ksub(kmsub(JacPDstandardNth23g23,ToReal(2),JacPDstandardNth33g22),JacPDstandardNth22g33),kmul(G123,kmul(G213,ToReal(4))))))))))))))));
- CCTK_REAL gu32 = (g12L*g13L - g11L*g23L)*INV(detg);
+ CCTK_REAL_VEC Km11 =
+ kmadd(gu11,K11L,kmadd(gu12,K12L,kmul(gu13,K13L)));
- CCTK_REAL gu33 = INV(detg)*(g11L*g22L - SQR(g12L));
+ CCTK_REAL_VEC Km21 =
+ kmadd(gu21,K11L,kmadd(gu22,K12L,kmul(gu23,K13L)));
- CCTK_REAL G111 = 0.5*(gu11*PDstandardNth1g11 +
- 2*(gu12*PDstandardNth1g12 + gu13*PDstandardNth1g13) -
- gu12*PDstandardNth2g11 - gu13*PDstandardNth3g11);
+ CCTK_REAL_VEC Km31 =
+ kmadd(gu31,K11L,kmadd(gu32,K12L,kmul(gu33,K13L)));
- CCTK_REAL G211 = 0.5*(gu21*PDstandardNth1g11 +
- 2*(gu22*PDstandardNth1g12 + gu23*PDstandardNth1g13) -
- gu22*PDstandardNth2g11 - gu23*PDstandardNth3g11);
+ CCTK_REAL_VEC Km12 =
+ kmadd(gu11,K12L,kmadd(gu12,K22L,kmul(gu13,K23L)));
- CCTK_REAL G311 = 0.5*(gu31*PDstandardNth1g11 +
- 2*(gu32*PDstandardNth1g12 + gu33*PDstandardNth1g13) -
- gu32*PDstandardNth2g11 - gu33*PDstandardNth3g11);
+ CCTK_REAL_VEC Km22 =
+ kmadd(gu21,K12L,kmadd(gu22,K22L,kmul(gu23,K23L)));
- CCTK_REAL G112 = 0.5*(gu12*PDstandardNth1g22 + gu11*PDstandardNth2g11
- + gu13*(PDstandardNth1g23 + PDstandardNth2g13 - PDstandardNth3g12));
-
- CCTK_REAL G212 = 0.5*(gu22*PDstandardNth1g22 + gu21*PDstandardNth2g11
- + gu23*(PDstandardNth1g23 + PDstandardNth2g13 - PDstandardNth3g12));
-
- CCTK_REAL G312 = 0.5*(gu32*PDstandardNth1g22 + gu31*PDstandardNth2g11
- + gu33*(PDstandardNth1g23 + PDstandardNth2g13 - PDstandardNth3g12));
-
- CCTK_REAL G113 = 0.5*(gu13*PDstandardNth1g33 + gu11*PDstandardNth3g11
- + gu12*(PDstandardNth1g23 - PDstandardNth2g13 + PDstandardNth3g12));
+ CCTK_REAL_VEC Km32 =
+ kmadd(gu31,K12L,kmadd(gu32,K22L,kmul(gu33,K23L)));
- CCTK_REAL G213 = 0.5*(gu23*PDstandardNth1g33 + gu21*PDstandardNth3g11
- + gu22*(PDstandardNth1g23 - PDstandardNth2g13 + PDstandardNth3g12));
+ CCTK_REAL_VEC Km13 =
+ kmadd(gu11,K13L,kmadd(gu12,K23L,kmul(gu13,K33L)));
- CCTK_REAL G313 = 0.5*(gu33*PDstandardNth1g33 + gu31*PDstandardNth3g11
- + gu32*(PDstandardNth1g23 - PDstandardNth2g13 + PDstandardNth3g12));
+ CCTK_REAL_VEC Km23 =
+ kmadd(gu21,K13L,kmadd(gu22,K23L,kmul(gu23,K33L)));
- CCTK_REAL G122 = 0.5*(gu11*(-PDstandardNth1g22 + 2*PDstandardNth2g12)
- + gu12*PDstandardNth2g22 + gu13*(2*PDstandardNth2g23 -
- PDstandardNth3g22));
+ CCTK_REAL_VEC Km33 =
+ kmadd(gu31,K13L,kmadd(gu32,K23L,kmul(gu33,K33L)));
- CCTK_REAL G222 = 0.5*(gu21*(-PDstandardNth1g22 + 2*PDstandardNth2g12)
- + gu22*PDstandardNth2g22 + gu23*(2*PDstandardNth2g23 -
- PDstandardNth3g22));
+ CCTK_REAL_VEC trK = kadd(Km11,kadd(Km22,Km33));
- CCTK_REAL G322 = 0.5*(gu31*(-PDstandardNth1g22 + 2*PDstandardNth2g12)
- + gu32*PDstandardNth2g22 + gu33*(2*PDstandardNth2g23 -
- PDstandardNth3g22));
+ CCTK_REAL_VEC g11rhsL =
+ kmadd(beta1L,JacPDstandardNth1g11,kmadd(beta2L,JacPDstandardNth2g11,kmadd(beta3L,JacPDstandardNth3g11,kmadd(alphaL,kmul(K11L,ToReal(-2)),kmul(kmadd(g11L,JacPDstandardNth1beta1,kmadd(g12L,JacPDstandardNth1beta2,kmul(g13L,JacPDstandardNth1beta3))),ToReal(2))))));
- CCTK_REAL G123 = 0.5*(gu13*PDstandardNth2g33 +
- gu11*(-PDstandardNth1g23 + PDstandardNth2g13 + PDstandardNth3g12) +
- gu12*PDstandardNth3g22);
+ CCTK_REAL_VEC g12rhsL =
+ kmadd(g22L,JacPDstandardNth1beta2,kmadd(g23L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1g12,kmadd(g11L,JacPDstandardNth2beta1,kmadd(g12L,kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),kmadd(g13L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2g12,kmadd(beta3L,JacPDstandardNth3g12,kmul(alphaL,kmul(K12L,ToReal(-2)))))))))));
- CCTK_REAL G223 = 0.5*(gu23*PDstandardNth2g33 +
- gu21*(-PDstandardNth1g23 + PDstandardNth2g13 + PDstandardNth3g12) +
- gu22*PDstandardNth3g22);
+ CCTK_REAL_VEC g13rhsL =
+ kmadd(g23L,JacPDstandardNth1beta2,kmadd(g33L,JacPDstandardNth1beta3,kmadd(beta1L,JacPDstandardNth1g13,kmadd(beta2L,JacPDstandardNth2g13,kmadd(g11L,JacPDstandardNth3beta1,kmadd(g12L,JacPDstandardNth3beta2,kmadd(g13L,kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3g13,kmul(alphaL,kmul(K13L,ToReal(-2)))))))))));
- CCTK_REAL G323 = 0.5*(gu33*PDstandardNth2g33 +
- gu31*(-PDstandardNth1g23 + PDstandardNth2g13 + PDstandardNth3g12) +
- gu32*PDstandardNth3g22);
+ CCTK_REAL_VEC g22rhsL =
+ kmadd(beta1L,JacPDstandardNth1g22,kmadd(beta2L,JacPDstandardNth2g22,kmadd(beta3L,JacPDstandardNth3g22,kmadd(alphaL,kmul(K22L,ToReal(-2)),kmul(kmadd(g12L,JacPDstandardNth2beta1,kmadd(g22L,JacPDstandardNth2beta2,kmul(g23L,JacPDstandardNth2beta3))),ToReal(2))))));
- CCTK_REAL G133 = 0.5*(gu11*(-PDstandardNth1g33 + 2*PDstandardNth3g13)
- + gu12*(-PDstandardNth2g33 + 2*PDstandardNth3g23) +
- gu13*PDstandardNth3g33);
+ CCTK_REAL_VEC g23rhsL =
+ kmadd(beta1L,JacPDstandardNth1g23,kmadd(g13L,JacPDstandardNth2beta1,kmadd(g33L,JacPDstandardNth2beta3,kmadd(beta2L,JacPDstandardNth2g23,kmadd(g12L,JacPDstandardNth3beta1,kmadd(g22L,JacPDstandardNth3beta2,kmadd(g23L,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),kmadd(beta3L,JacPDstandardNth3g23,kmul(alphaL,kmul(K23L,ToReal(-2)))))))))));
- CCTK_REAL G233 = 0.5*(gu21*(-PDstandardNth1g33 + 2*PDstandardNth3g13)
- + gu22*(-PDstandardNth2g33 + 2*PDstandardNth3g23) +
- gu23*PDstandardNth3g33);
+ CCTK_REAL_VEC g33rhsL =
+ kmadd(beta1L,JacPDstandardNth1g33,kmadd(beta2L,JacPDstandardNth2g33,kmadd(beta3L,JacPDstandardNth3g33,kmadd(alphaL,kmul(K33L,ToReal(-2)),kmul(kmadd(g13L,JacPDstandardNth3beta1,kmadd(g23L,JacPDstandardNth3beta2,kmul(g33L,JacPDstandardNth3beta3))),ToReal(2))))));
- CCTK_REAL G333 = 0.5*(gu31*(-PDstandardNth1g33 + 2*PDstandardNth3g13)
- + gu32*(-PDstandardNth2g33 + 2*PDstandardNth3g23) +
- gu33*PDstandardNth3g33);
+ CCTK_REAL_VEC K11rhsL =
+ kmadd(G111,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K11,kmadd(G211,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K11,kmadd(G311,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K11,kmadd(alphaL,kadd(R11,kmadd(kmadd(K12L,Km21,kmul(K13L,Km31)),ToReal(-2),kmul(K11L,kmadd(Km11,ToReal(-2),trK)))),kmsub(kmadd(JacPDstandardNth1beta1,K11L,kmadd(JacPDstandardNth1beta2,K12L,kmul(JacPDstandardNth1beta3,K13L))),ToReal(2),JacPDstandardNth11alpha))))))));
- CCTK_REAL R11 = 0.5*(4*G213*G312 - 2*(G111*G212 + G223*G311 +
- G111*G313) + G211*(2*G112 - 2*G222 - 2*G323) + G311*(2*G113 - 2*G333) +
- (-gu23 - gu32)*PDstandardNth11g23 + gu23*PDstandardNth13g12 +
- gu32*PDstandardNth13g12 + gu22*(-PDstandardNth11g22 +
- 2*PDstandardNth12g12 - PDstandardNth22g11) + gu23*(PDstandardNth12g13 -
- PDstandardNth23g11) + gu32*(PDstandardNth12g13 - PDstandardNth23g11) +
- gu33*(-PDstandardNth11g33 + 2*PDstandardNth13g13 - PDstandardNth33g11)
- + 2*SQR(G212) + 2*SQR(G313));
+ CCTK_REAL_VEC K12rhsL =
+ kmadd(G112,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K12,kmadd(G212,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K12,kmadd(G312,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K12,kmadd(JacPDstandardNth2beta1,K11L,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),K12L,kmadd(JacPDstandardNth2beta3,K13L,kmadd(JacPDstandardNth1beta2,K22L,kmadd(JacPDstandardNth1beta3,K23L,kmsub(alphaL,kadd(R12,kmadd(kmadd(K11L,Km12,kmul(K13L,Km32)),ToReal(-2),kmul(K12L,kmadd(Km22,ToReal(-2),trK)))),JacPDstandardNth12alpha))))))))))));
- CCTK_REAL R12 = 0.5*(2*(G122*G211 + G123*G311 + G213*G322 + G313*G323)
- - 2*(G112*G212 + G112*G313 + G212*G323 + G312*G333 +
- gu12*PDstandardNth12g12) + gu13*(PDstandardNth11g23 -
- PDstandardNth12g13 - PDstandardNth13g12) + gu12*(PDstandardNth11g22 +
- PDstandardNth22g11) + gu32*PDstandardNth22g13 + gu13*PDstandardNth23g11
- + gu32*(-PDstandardNth12g23 + PDstandardNth13g22 - PDstandardNth23g12)
- + gu33*PDstandardNth23g13 + gu33*(-PDstandardNth12g33 +
- PDstandardNth13g23 - PDstandardNth33g12));
+ CCTK_REAL_VEC K13rhsL =
+ kmadd(G113,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K13,kmadd(G213,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K13,kmadd(G313,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K13,kmadd(JacPDstandardNth3beta1,K11L,kmadd(JacPDstandardNth3beta2,K12L,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),K13L,kmadd(JacPDstandardNth1beta2,K23L,kmadd(JacPDstandardNth1beta3,K33L,kmsub(alphaL,kadd(R13,kmadd(K13L,trK,kmul(kmadd(K11L,Km13,kmadd(K12L,Km23,kmul(K13L,Km33))),ToReal(-2)))),JacPDstandardNth13alpha))))))))))));
- CCTK_REAL R13 = 0.5*(2*(G123*G211 + G212*G223 + G133*G311 + G233*G312)
- - 2*(G213*G222 + G223*G313 + G113*(G212 + G313) +
- gu13*PDstandardNth13g13) + gu12*(PDstandardNth11g23 -
- PDstandardNth12g13 - PDstandardNth13g12 + PDstandardNth23g11) +
- gu22*(PDstandardNth12g23 - PDstandardNth13g22 - PDstandardNth22g13 +
- PDstandardNth23g12) + gu13*(PDstandardNth11g33 + PDstandardNth33g11) +
- gu23*(PDstandardNth12g33 - PDstandardNth13g23 - PDstandardNth23g13 +
- PDstandardNth33g12));
-
- CCTK_REAL R22 = 0.5*(4*G123*G312 + G122*(-2*G111 + 2*G212 - 2*G313) -
- 2*(G112*G222 + G113*G322 + G222*G323) + G322*(2*G223 - 2*G333) + (gu13
- + gu31)*PDstandardNth12g23 + (-gu13 - gu31)*PDstandardNth13g22 +
- gu11*(-PDstandardNth11g22 + 2*PDstandardNth12g12 - PDstandardNth22g11)
- + (-gu13 - gu31)*PDstandardNth22g13 + gu13*PDstandardNth23g12 +
- gu31*PDstandardNth23g12 + gu33*(-PDstandardNth22g33 +
- 2*PDstandardNth23g23 - PDstandardNth33g22) + 2*SQR(G112) +
- 2*SQR(G323));
-
- CCTK_REAL R23 = 0.5*(2*(G112*G113 + G122*G213 + G133*G312 + G233*G322)
- + gu11*(-PDstandardNth11g23 + PDstandardNth12g13 + PDstandardNth13g12 -
- PDstandardNth23g11) + gu21*(-PDstandardNth12g23 + PDstandardNth13g22 +
- PDstandardNth22g13 - PDstandardNth23g12) - 2*(G111*G123 + G113*G323 +
- G223*(G112 + G323) + gu23*PDstandardNth23g23) +
- gu13*(PDstandardNth12g33 - PDstandardNth13g23 - PDstandardNth23g13 +
- PDstandardNth33g12) + gu23*(PDstandardNth22g33 + PDstandardNth33g22));
-
- CCTK_REAL R33 = 0.5*(4*G123*G213 - 2*(G111*G133 + G133*G212 +
- G112*G233 + G222*G233 + G113*G333 + G223*G333) + (-gu12 -
- gu21)*PDstandardNth12g33 + 2*(G133*G313 + G233*G323 +
- gu11*PDstandardNth13g13) + gu12*PDstandardNth13g23 +
- gu21*PDstandardNth13g23 + gu12*PDstandardNth23g13 +
- gu21*PDstandardNth23g13 + gu11*(-PDstandardNth11g33 -
- PDstandardNth33g11) - (gu12 + gu21)*PDstandardNth33g12 +
- gu22*(-PDstandardNth22g33 + 2*PDstandardNth23g23 - PDstandardNth33g22)
- + 2*SQR(G113) + 2*SQR(G223));
-
- CCTK_REAL Km11 = gu11*K11L + gu12*K12L + gu13*K13L;
-
- CCTK_REAL Km21 = gu21*K11L + gu22*K12L + gu23*K13L;
-
- CCTK_REAL Km31 = gu31*K11L + gu32*K12L + gu33*K13L;
-
- CCTK_REAL Km12 = gu11*K12L + gu12*K22L + gu13*K23L;
-
- CCTK_REAL Km22 = gu21*K12L + gu22*K22L + gu23*K23L;
-
- CCTK_REAL Km32 = gu31*K12L + gu32*K22L + gu33*K23L;
-
- CCTK_REAL Km13 = gu11*K13L + gu12*K23L + gu13*K33L;
-
- CCTK_REAL Km23 = gu21*K13L + gu22*K23L + gu23*K33L;
-
- CCTK_REAL Km33 = gu31*K13L + gu32*K23L + gu33*K33L;
-
- CCTK_REAL trK = Km11 + Km22 + Km33;
-
- CCTK_REAL g11rhsL = -2*alphaL*K11L + 2*(g11L*PDstandardNth1beta1 +
- g12L*PDstandardNth1beta2 + g13L*PDstandardNth1beta3) +
- beta1L*PDstandardNth1g11 + beta2L*PDstandardNth2g11 +
- beta3L*PDstandardNth3g11;
-
- CCTK_REAL g12rhsL = -2*alphaL*K12L + g22L*PDstandardNth1beta2 +
- g23L*PDstandardNth1beta3 + beta1L*PDstandardNth1g12 +
- g11L*PDstandardNth2beta1 + g12L*(PDstandardNth1beta1 +
- PDstandardNth2beta2) + g13L*PDstandardNth2beta3 +
- beta2L*PDstandardNth2g12 + beta3L*PDstandardNth3g12;
-
- CCTK_REAL g13rhsL = -2*alphaL*K13L + g23L*PDstandardNth1beta2 +
- g33L*PDstandardNth1beta3 + beta1L*PDstandardNth1g13 +
- beta2L*PDstandardNth2g13 + g11L*PDstandardNth3beta1 +
- g12L*PDstandardNth3beta2 + g13L*(PDstandardNth1beta1 +
- PDstandardNth3beta3) + beta3L*PDstandardNth3g13;
-
- CCTK_REAL g22rhsL = -2*alphaL*K22L + beta1L*PDstandardNth1g22 +
- 2*(g12L*PDstandardNth2beta1 + g22L*PDstandardNth2beta2 +
- g23L*PDstandardNth2beta3) + beta2L*PDstandardNth2g22 +
- beta3L*PDstandardNth3g22;
-
- CCTK_REAL g23rhsL = -2*alphaL*K23L + beta1L*PDstandardNth1g23 +
- g13L*PDstandardNth2beta1 + g33L*PDstandardNth2beta3 +
- beta2L*PDstandardNth2g23 + g12L*PDstandardNth3beta1 +
- g22L*PDstandardNth3beta2 + g23L*(PDstandardNth2beta2 +
- PDstandardNth3beta3) + beta3L*PDstandardNth3g23;
-
- CCTK_REAL g33rhsL = -2*alphaL*K33L + beta1L*PDstandardNth1g33 +
- beta2L*PDstandardNth2g33 + 2*(g13L*PDstandardNth3beta1 +
- g23L*PDstandardNth3beta2 + g33L*PDstandardNth3beta3) +
- beta3L*PDstandardNth3g33;
-
- CCTK_REAL K11rhsL = -PDstandardNth11alpha + G111*PDstandardNth1alpha +
- 2*(K11L*PDstandardNth1beta1 + K12L*PDstandardNth1beta2 +
- K13L*PDstandardNth1beta3) + beta1L*PDstandardNth1K11 +
- G211*PDstandardNth2alpha + beta2L*PDstandardNth2K11 +
- G311*PDstandardNth3alpha + beta3L*PDstandardNth3K11 +
- alphaL*(-2*(K12L*Km21 + K13L*Km31) + R11 + K11L*(-2*Km11 + trK));
-
- CCTK_REAL K12rhsL = -PDstandardNth12alpha + G112*PDstandardNth1alpha +
- K22L*PDstandardNth1beta2 + K23L*PDstandardNth1beta3 +
- beta1L*PDstandardNth1K12 + G212*PDstandardNth2alpha +
- K11L*PDstandardNth2beta1 + K12L*(PDstandardNth1beta1 +
- PDstandardNth2beta2) + K13L*PDstandardNth2beta3 +
- beta2L*PDstandardNth2K12 + G312*PDstandardNth3alpha +
- beta3L*PDstandardNth3K12 + alphaL*(-2*(K11L*Km12 + K13L*Km32) + R12 +
- K12L*(-2*Km22 + trK));
-
- CCTK_REAL K13rhsL = -PDstandardNth13alpha + G113*PDstandardNth1alpha +
- K23L*PDstandardNth1beta2 + K33L*PDstandardNth1beta3 +
- beta1L*PDstandardNth1K13 + G213*PDstandardNth2alpha +
- beta2L*PDstandardNth2K13 + G313*PDstandardNth3alpha +
- K11L*PDstandardNth3beta1 + K12L*PDstandardNth3beta2 +
- K13L*(PDstandardNth1beta1 + PDstandardNth3beta3) +
- beta3L*PDstandardNth3K13 + alphaL*(-2*(K11L*Km13 + K12L*Km23 +
- K13L*Km33) + R13 + K13L*trK);
-
- CCTK_REAL K22rhsL = G122*PDstandardNth1alpha +
- beta1L*PDstandardNth1K22 - PDstandardNth22alpha +
- G222*PDstandardNth2alpha + 2*(K12L*PDstandardNth2beta1 +
- K22L*PDstandardNth2beta2 + K23L*PDstandardNth2beta3) +
- beta2L*PDstandardNth2K22 + G322*PDstandardNth3alpha +
- beta3L*PDstandardNth3K22 + alphaL*(-2*(K12L*Km12 + K23L*Km32) + R22 +
- K22L*(-2*Km22 + trK));
-
- CCTK_REAL K23rhsL = G123*PDstandardNth1alpha +
- beta1L*PDstandardNth1K23 - PDstandardNth23alpha +
- G223*PDstandardNth2alpha + K13L*PDstandardNth2beta1 +
- K33L*PDstandardNth2beta3 + beta2L*PDstandardNth2K23 +
- G323*PDstandardNth3alpha + K12L*PDstandardNth3beta1 +
- K22L*PDstandardNth3beta2 + K23L*(PDstandardNth2beta2 +
- PDstandardNth3beta3) + beta3L*PDstandardNth3K23 + alphaL*(-2*(K12L*Km13
- + K22L*Km23 + K23L*Km33) + R23 + K23L*trK);
-
- CCTK_REAL K33rhsL = G133*PDstandardNth1alpha +
- beta1L*PDstandardNth1K33 + G233*PDstandardNth2alpha +
- beta2L*PDstandardNth2K33 - PDstandardNth33alpha +
- G333*PDstandardNth3alpha + 2*(K13L*PDstandardNth3beta1 +
- K23L*PDstandardNth3beta2 + K33L*PDstandardNth3beta3) +
- beta3L*PDstandardNth3K33 + alphaL*(-2*(K13L*Km13 + K23L*Km23 +
- K33L*Km33) + R33 + K33L*trK);
-
- CCTK_REAL alpharhsL = 0;
-
- CCTK_REAL beta1rhsL = 0;
-
- CCTK_REAL beta2rhsL = 0;
-
- CCTK_REAL beta3rhsL = 0;
+ CCTK_REAL_VEC K22rhsL =
+ kmadd(G122,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K22,kmadd(G222,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K22,kmadd(G322,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K22,kmadd(alphaL,kadd(R22,kmadd(kmadd(K12L,Km12,kmul(K23L,Km32)),ToReal(-2),kmul(K22L,kmadd(Km22,ToReal(-2),trK)))),kmsub(kmadd(JacPDstandardNth2beta1,K12L,kmadd(JacPDstandardNth2beta2,K22L,kmul(JacPDstandardNth2beta3,K23L))),ToReal(2),JacPDstandardNth22alpha))))))));
+
+ CCTK_REAL_VEC K23rhsL =
+ kmadd(G123,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K23,kmadd(G223,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K23,kmadd(G323,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K23,kmadd(JacPDstandardNth3beta1,K12L,kmadd(JacPDstandardNth2beta1,K13L,kmadd(JacPDstandardNth3beta2,K22L,kmadd(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),K23L,kmadd(JacPDstandardNth2beta3,K33L,kmsub(alphaL,kadd(R23,kmadd(K23L,trK,kmul(kmadd(K12L,Km13,kmadd(K22L,Km23,kmul(K23L,Km33))),ToReal(-2)))),JacPDstandardNth23alpha))))))))))));
+
+ CCTK_REAL_VEC K33rhsL =
+ kmadd(G133,JacPDstandardNth1alpha,kmadd(beta1L,JacPDstandardNth1K33,kmadd(G233,JacPDstandardNth2alpha,kmadd(beta2L,JacPDstandardNth2K33,kmadd(G333,JacPDstandardNth3alpha,kmadd(beta3L,JacPDstandardNth3K33,kmadd(alphaL,kadd(R33,kmadd(K33L,trK,kmul(kmadd(K13L,Km13,kmadd(K23L,Km23,kmul(K33L,Km33))),ToReal(-2)))),kmsub(kmadd(JacPDstandardNth3beta1,K13L,kmadd(JacPDstandardNth3beta2,K23L,kmul(JacPDstandardNth3beta3,K33L))),ToReal(2),JacPDstandardNth33alpha))))))));
+
+ CCTK_REAL_VEC alpharhsL = ToReal(0);
+
+ CCTK_REAL_VEC beta1rhsL = ToReal(0);
+
+ CCTK_REAL_VEC beta2rhsL = ToReal(0);
+
+ CCTK_REAL_VEC beta3rhsL = ToReal(0);
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(alpharhs[index],alpharhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta1rhs[index],beta1rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta2rhs[index],beta2rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta3rhs[index],beta3rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g11rhs[index],g11rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g12rhs[index],g12rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g13rhs[index],g13rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g22rhs[index],g22rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g23rhs[index],g23rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g33rhs[index],g33rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K11rhs[index],K11rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K12rhs[index],K12rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K13rhs[index],K13rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K22rhs[index],K22rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K23rhs[index],K23rhsL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K33rhs[index],K33rhsL,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(alpharhs[index],alpharhsL,elt_count);
+ vec_store_nta_partial_hi(beta1rhs[index],beta1rhsL,elt_count);
+ vec_store_nta_partial_hi(beta2rhs[index],beta2rhsL,elt_count);
+ vec_store_nta_partial_hi(beta3rhs[index],beta3rhsL,elt_count);
+ vec_store_nta_partial_hi(g11rhs[index],g11rhsL,elt_count);
+ vec_store_nta_partial_hi(g12rhs[index],g12rhsL,elt_count);
+ vec_store_nta_partial_hi(g13rhs[index],g13rhsL,elt_count);
+ vec_store_nta_partial_hi(g22rhs[index],g22rhsL,elt_count);
+ vec_store_nta_partial_hi(g23rhs[index],g23rhsL,elt_count);
+ vec_store_nta_partial_hi(g33rhs[index],g33rhsL,elt_count);
+ vec_store_nta_partial_hi(K11rhs[index],K11rhsL,elt_count);
+ vec_store_nta_partial_hi(K12rhs[index],K12rhsL,elt_count);
+ vec_store_nta_partial_hi(K13rhs[index],K13rhsL,elt_count);
+ vec_store_nta_partial_hi(K22rhs[index],K22rhsL,elt_count);
+ vec_store_nta_partial_hi(K23rhs[index],K23rhsL,elt_count);
+ vec_store_nta_partial_hi(K33rhs[index],K33rhsL,elt_count);
+ continue;
+ }
+
+ /* If necessary, store only partial vectors after the last iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(alpharhs[index],alpharhsL,elt_count);
+ vec_store_nta_partial_lo(beta1rhs[index],beta1rhsL,elt_count);
+ vec_store_nta_partial_lo(beta2rhs[index],beta2rhsL,elt_count);
+ vec_store_nta_partial_lo(beta3rhs[index],beta3rhsL,elt_count);
+ vec_store_nta_partial_lo(g11rhs[index],g11rhsL,elt_count);
+ vec_store_nta_partial_lo(g12rhs[index],g12rhsL,elt_count);
+ vec_store_nta_partial_lo(g13rhs[index],g13rhsL,elt_count);
+ vec_store_nta_partial_lo(g22rhs[index],g22rhsL,elt_count);
+ vec_store_nta_partial_lo(g23rhs[index],g23rhsL,elt_count);
+ vec_store_nta_partial_lo(g33rhs[index],g33rhsL,elt_count);
+ vec_store_nta_partial_lo(K11rhs[index],K11rhsL,elt_count);
+ vec_store_nta_partial_lo(K12rhs[index],K12rhsL,elt_count);
+ vec_store_nta_partial_lo(K13rhs[index],K13rhsL,elt_count);
+ vec_store_nta_partial_lo(K22rhs[index],K22rhsL,elt_count);
+ vec_store_nta_partial_lo(K23rhs[index],K23rhsL,elt_count);
+ vec_store_nta_partial_lo(K33rhs[index],K33rhsL,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- alpharhs[index] = alpharhsL;
- beta1rhs[index] = beta1rhsL;
- beta2rhs[index] = beta2rhsL;
- beta3rhs[index] = beta3rhsL;
- g11rhs[index] = g11rhsL;
- g12rhs[index] = g12rhsL;
- g13rhs[index] = g13rhsL;
- g22rhs[index] = g22rhsL;
- g23rhs[index] = g23rhsL;
- g33rhs[index] = g33rhsL;
- K11rhs[index] = K11rhsL;
- K12rhs[index] = K12rhsL;
- K13rhs[index] = K13rhsL;
- K22rhs[index] = K22rhsL;
- K23rhs[index] = K23rhsL;
- K33rhs[index] = K33rhsL;
+ vec_store_nta(alpharhs[index],alpharhsL);
+ vec_store_nta(beta1rhs[index],beta1rhsL);
+ vec_store_nta(beta2rhs[index],beta2rhsL);
+ vec_store_nta(beta3rhs[index],beta3rhsL);
+ vec_store_nta(g11rhs[index],g11rhsL);
+ vec_store_nta(g12rhs[index],g12rhsL);
+ vec_store_nta(g13rhs[index],g13rhsL);
+ vec_store_nta(g22rhs[index],g22rhsL);
+ vec_store_nta(g23rhs[index],g23rhsL);
+ vec_store_nta(g33rhs[index],g33rhsL);
+ vec_store_nta(K11rhs[index],K11rhsL);
+ vec_store_nta(K12rhs[index],K12rhsL);
+ vec_store_nta(K13rhs[index],K13rhsL);
+ vec_store_nta(K22rhs[index],K22rhsL);
+ vec_store_nta(K23rhs[index],K23rhsL);
+ vec_store_nta(K33rhs[index],K33rhsL);
}
- LC_ENDLOOP3 (ML_ADM_RHS);
+ LC_ENDLOOP3VEC (ML_ADM_RHS);
}
extern "C" void ML_ADM_RHS(CCTK_ARGUMENTS)
diff --git a/ML_ADM/src/ML_ADM_boundary.cc b/ML_ADM/src/ML_ADM_boundary.cc
index bc59bfa..d7f1970 100644
--- a/ML_ADM/src/ML_ADM_boundary.cc
+++ b/ML_ADM/src/ML_ADM_boundary.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void ML_ADM_boundary_SelectBCs(CCTK_ARGUMENTS)
{
@@ -63,6 +64,20 @@ static void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const di
const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_boundary", 4, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -73,38 +88,111 @@ static void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const di
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_boundary,
+ LC_LOOP3VEC (ML_ADM_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -112,62 +200,151 @@ static void ML_ADM_boundary_Body(cGH const * restrict const cctkGH, int const di
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
- CCTK_REAL g11L = 1;
+ CCTK_REAL_VEC g11L = ToReal(1);
+
+ CCTK_REAL_VEC g12L = ToReal(0);
+
+ CCTK_REAL_VEC g13L = ToReal(0);
+
+ CCTK_REAL_VEC g22L = ToReal(1);
+
+ CCTK_REAL_VEC g23L = ToReal(0);
+
+ CCTK_REAL_VEC g33L = ToReal(1);
+
+ CCTK_REAL_VEC K11L = ToReal(0);
- CCTK_REAL g12L = 0;
+ CCTK_REAL_VEC K12L = ToReal(0);
- CCTK_REAL g13L = 0;
+ CCTK_REAL_VEC K13L = ToReal(0);
- CCTK_REAL g22L = 1;
+ CCTK_REAL_VEC K22L = ToReal(0);
- CCTK_REAL g23L = 0;
+ CCTK_REAL_VEC K23L = ToReal(0);
- CCTK_REAL g33L = 1;
+ CCTK_REAL_VEC K33L = ToReal(0);
- CCTK_REAL K11L = 0;
+ CCTK_REAL_VEC alphaL = ToReal(1);
- CCTK_REAL K12L = 0;
+ CCTK_REAL_VEC beta1L = ToReal(0);
- CCTK_REAL K13L = 0;
+ CCTK_REAL_VEC beta2L = ToReal(0);
- CCTK_REAL K22L = 0;
+ CCTK_REAL_VEC beta3L = ToReal(0);
- CCTK_REAL K23L = 0;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL K33L = 0;
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(alpha[index],alphaL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta1[index],beta1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta2[index],beta2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta3[index],beta3L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g11[index],g11L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g12[index],g12L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g13[index],g13L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g22[index],g22L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g23[index],g23L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g33[index],g33L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K11[index],K11L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K12[index],K12L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K13[index],K13L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K22[index],K22L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K23[index],K23L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K33[index],K33L,elt_count_lo,elt_count_hi);
+ break;
+ }
- CCTK_REAL alphaL = 1;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL beta1L = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(alpha[index],alphaL,elt_count);
+ vec_store_nta_partial_hi(beta1[index],beta1L,elt_count);
+ vec_store_nta_partial_hi(beta2[index],beta2L,elt_count);
+ vec_store_nta_partial_hi(beta3[index],beta3L,elt_count);
+ vec_store_nta_partial_hi(g11[index],g11L,elt_count);
+ vec_store_nta_partial_hi(g12[index],g12L,elt_count);
+ vec_store_nta_partial_hi(g13[index],g13L,elt_count);
+ vec_store_nta_partial_hi(g22[index],g22L,elt_count);
+ vec_store_nta_partial_hi(g23[index],g23L,elt_count);
+ vec_store_nta_partial_hi(g33[index],g33L,elt_count);
+ vec_store_nta_partial_hi(K11[index],K11L,elt_count);
+ vec_store_nta_partial_hi(K12[index],K12L,elt_count);
+ vec_store_nta_partial_hi(K13[index],K13L,elt_count);
+ vec_store_nta_partial_hi(K22[index],K22L,elt_count);
+ vec_store_nta_partial_hi(K23[index],K23L,elt_count);
+ vec_store_nta_partial_hi(K33[index],K33L,elt_count);
+ continue;
+ }
- CCTK_REAL beta2L = 0;
+ /* If necessary, store only partial vectors after the last iteration */
- CCTK_REAL beta3L = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(alpha[index],alphaL,elt_count);
+ vec_store_nta_partial_lo(beta1[index],beta1L,elt_count);
+ vec_store_nta_partial_lo(beta2[index],beta2L,elt_count);
+ vec_store_nta_partial_lo(beta3[index],beta3L,elt_count);
+ vec_store_nta_partial_lo(g11[index],g11L,elt_count);
+ vec_store_nta_partial_lo(g12[index],g12L,elt_count);
+ vec_store_nta_partial_lo(g13[index],g13L,elt_count);
+ vec_store_nta_partial_lo(g22[index],g22L,elt_count);
+ vec_store_nta_partial_lo(g23[index],g23L,elt_count);
+ vec_store_nta_partial_lo(g33[index],g33L,elt_count);
+ vec_store_nta_partial_lo(K11[index],K11L,elt_count);
+ vec_store_nta_partial_lo(K12[index],K12L,elt_count);
+ vec_store_nta_partial_lo(K13[index],K13L,elt_count);
+ vec_store_nta_partial_lo(K22[index],K22L,elt_count);
+ vec_store_nta_partial_lo(K23[index],K23L,elt_count);
+ vec_store_nta_partial_lo(K33[index],K33L,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- alpha[index] = alphaL;
- beta1[index] = beta1L;
- beta2[index] = beta2L;
- beta3[index] = beta3L;
- g11[index] = g11L;
- g12[index] = g12L;
- g13[index] = g13L;
- g22[index] = g22L;
- g23[index] = g23L;
- g33[index] = g33L;
- K11[index] = K11L;
- K12[index] = K12L;
- K13[index] = K13L;
- K22[index] = K22L;
- K23[index] = K23L;
- K33[index] = K33L;
+ vec_store_nta(alpha[index],alphaL);
+ vec_store_nta(beta1[index],beta1L);
+ vec_store_nta(beta2[index],beta2L);
+ vec_store_nta(beta3[index],beta3L);
+ vec_store_nta(g11[index],g11L);
+ vec_store_nta(g12[index],g12L);
+ vec_store_nta(g13[index],g13L);
+ vec_store_nta(g22[index],g22L);
+ vec_store_nta(g23[index],g23L);
+ vec_store_nta(g33[index],g33L);
+ vec_store_nta(K11[index],K11L);
+ vec_store_nta(K12[index],K12L);
+ vec_store_nta(K13[index],K13L);
+ vec_store_nta(K22[index],K22L);
+ vec_store_nta(K23[index],K23L);
+ vec_store_nta(K33[index],K33L);
}
- LC_ENDLOOP3 (ML_ADM_boundary);
+ LC_ENDLOOP3VEC (ML_ADM_boundary);
}
extern "C" void ML_ADM_boundary(CCTK_ARGUMENTS)
diff --git a/ML_ADM/src/ML_ADM_constraints.cc b/ML_ADM/src/ML_ADM_constraints.cc
index efca3d3..efd9a37 100644
--- a/ML_ADM/src/ML_ADM_constraints.cc
+++ b/ML_ADM/src/ML_ADM_constraints.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void ML_ADM_constraints_SelectBCs(CCTK_ARGUMENTS)
{
@@ -57,7 +58,24 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const
const char *groups[] = {"ML_ADM::ML_curv","ML_ADM::ML_Ham","ML_ADM::ML_metric","ML_ADM::ML_mom"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_constraints", 4, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_ADM_constraints", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -68,328 +86,1198 @@ static void ML_ADM_constraints_Body(cGH const * restrict const cctkGH, int const
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_constraints,
+ LC_LOOP3VEC (ML_ADM_constraints,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL g11L = g11[index];
- CCTK_REAL g12L = g12[index];
- CCTK_REAL g13L = g13[index];
- CCTK_REAL g22L = g22[index];
- CCTK_REAL g23L = g23[index];
- CCTK_REAL g33L = g33[index];
- CCTK_REAL K11L = K11[index];
- CCTK_REAL K12L = K12[index];
- CCTK_REAL K13L = K13[index];
- CCTK_REAL K22L = K22[index];
- CCTK_REAL K23L = K23[index];
- CCTK_REAL K33L = K33[index];
+ CCTK_REAL_VEC g11L = vec_load(g11[index]);
+ CCTK_REAL_VEC g12L = vec_load(g12[index]);
+ CCTK_REAL_VEC g13L = vec_load(g13[index]);
+ CCTK_REAL_VEC g22L = vec_load(g22[index]);
+ CCTK_REAL_VEC g23L = vec_load(g23[index]);
+ CCTK_REAL_VEC g33L = vec_load(g33[index]);
+ CCTK_REAL_VEC K11L = vec_load(K11[index]);
+ CCTK_REAL_VEC K12L = vec_load(K12[index]);
+ CCTK_REAL_VEC K13L = vec_load(K13[index]);
+ CCTK_REAL_VEC K22L = vec_load(K22[index]);
+ CCTK_REAL_VEC K23L = vec_load(K23[index]);
+ CCTK_REAL_VEC K33L = vec_load(K33[index]);
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL const PDstandardNth1g11 = PDstandardNth1(&g11[index]);
- CCTK_REAL const PDstandardNth2g11 = PDstandardNth2(&g11[index]);
- CCTK_REAL const PDstandardNth3g11 = PDstandardNth3(&g11[index]);
- CCTK_REAL const PDstandardNth22g11 = PDstandardNth22(&g11[index]);
- CCTK_REAL const PDstandardNth33g11 = PDstandardNth33(&g11[index]);
- CCTK_REAL const PDstandardNth23g11 = PDstandardNth23(&g11[index]);
- CCTK_REAL const PDstandardNth1g12 = PDstandardNth1(&g12[index]);
- CCTK_REAL const PDstandardNth2g12 = PDstandardNth2(&g12[index]);
- CCTK_REAL const PDstandardNth3g12 = PDstandardNth3(&g12[index]);
- CCTK_REAL const PDstandardNth33g12 = PDstandardNth33(&g12[index]);
- CCTK_REAL const PDstandardNth12g12 = PDstandardNth12(&g12[index]);
- CCTK_REAL const PDstandardNth13g12 = PDstandardNth13(&g12[index]);
- CCTK_REAL const PDstandardNth23g12 = PDstandardNth23(&g12[index]);
- CCTK_REAL const PDstandardNth1g13 = PDstandardNth1(&g13[index]);
- CCTK_REAL const PDstandardNth2g13 = PDstandardNth2(&g13[index]);
- CCTK_REAL const PDstandardNth3g13 = PDstandardNth3(&g13[index]);
- CCTK_REAL const PDstandardNth22g13 = PDstandardNth22(&g13[index]);
- CCTK_REAL const PDstandardNth12g13 = PDstandardNth12(&g13[index]);
- CCTK_REAL const PDstandardNth13g13 = PDstandardNth13(&g13[index]);
- CCTK_REAL const PDstandardNth23g13 = PDstandardNth23(&g13[index]);
- CCTK_REAL const PDstandardNth1g22 = PDstandardNth1(&g22[index]);
- CCTK_REAL const PDstandardNth2g22 = PDstandardNth2(&g22[index]);
- CCTK_REAL const PDstandardNth3g22 = PDstandardNth3(&g22[index]);
- CCTK_REAL const PDstandardNth11g22 = PDstandardNth11(&g22[index]);
- CCTK_REAL const PDstandardNth33g22 = PDstandardNth33(&g22[index]);
- CCTK_REAL const PDstandardNth13g22 = PDstandardNth13(&g22[index]);
- CCTK_REAL const PDstandardNth1g23 = PDstandardNth1(&g23[index]);
- CCTK_REAL const PDstandardNth2g23 = PDstandardNth2(&g23[index]);
- CCTK_REAL const PDstandardNth3g23 = PDstandardNth3(&g23[index]);
- CCTK_REAL const PDstandardNth11g23 = PDstandardNth11(&g23[index]);
- CCTK_REAL const PDstandardNth12g23 = PDstandardNth12(&g23[index]);
- CCTK_REAL const PDstandardNth13g23 = PDstandardNth13(&g23[index]);
- CCTK_REAL const PDstandardNth23g23 = PDstandardNth23(&g23[index]);
- CCTK_REAL const PDstandardNth1g33 = PDstandardNth1(&g33[index]);
- CCTK_REAL const PDstandardNth2g33 = PDstandardNth2(&g33[index]);
- CCTK_REAL const PDstandardNth3g33 = PDstandardNth3(&g33[index]);
- CCTK_REAL const PDstandardNth11g33 = PDstandardNth11(&g33[index]);
- CCTK_REAL const PDstandardNth22g33 = PDstandardNth22(&g33[index]);
- CCTK_REAL const PDstandardNth12g33 = PDstandardNth12(&g33[index]);
- CCTK_REAL const PDstandardNth2K11 = PDstandardNth2(&K11[index]);
- CCTK_REAL const PDstandardNth3K11 = PDstandardNth3(&K11[index]);
- CCTK_REAL const PDstandardNth1K12 = PDstandardNth1(&K12[index]);
- CCTK_REAL const PDstandardNth2K12 = PDstandardNth2(&K12[index]);
- CCTK_REAL const PDstandardNth3K12 = PDstandardNth3(&K12[index]);
- CCTK_REAL const PDstandardNth1K13 = PDstandardNth1(&K13[index]);
- CCTK_REAL const PDstandardNth2K13 = PDstandardNth2(&K13[index]);
- CCTK_REAL const PDstandardNth3K13 = PDstandardNth3(&K13[index]);
- CCTK_REAL const PDstandardNth1K22 = PDstandardNth1(&K22[index]);
- CCTK_REAL const PDstandardNth3K22 = PDstandardNth3(&K22[index]);
- CCTK_REAL const PDstandardNth1K23 = PDstandardNth1(&K23[index]);
- CCTK_REAL const PDstandardNth2K23 = PDstandardNth2(&K23[index]);
- CCTK_REAL const PDstandardNth3K23 = PDstandardNth3(&K23[index]);
- CCTK_REAL const PDstandardNth1K33 = PDstandardNth1(&K33[index]);
- CCTK_REAL const PDstandardNth2K33 = PDstandardNth2(&K33[index]);
+ CCTK_REAL_VEC PDstandardNth1g11;
+ CCTK_REAL_VEC PDstandardNth2g11;
+ CCTK_REAL_VEC PDstandardNth3g11;
+ CCTK_REAL_VEC PDstandardNth11g11;
+ CCTK_REAL_VEC PDstandardNth22g11;
+ CCTK_REAL_VEC PDstandardNth33g11;
+ CCTK_REAL_VEC PDstandardNth12g11;
+ CCTK_REAL_VEC PDstandardNth13g11;
+ CCTK_REAL_VEC PDstandardNth23g11;
+ CCTK_REAL_VEC PDstandardNth1g12;
+ CCTK_REAL_VEC PDstandardNth2g12;
+ CCTK_REAL_VEC PDstandardNth3g12;
+ CCTK_REAL_VEC PDstandardNth11g12;
+ CCTK_REAL_VEC PDstandardNth22g12;
+ CCTK_REAL_VEC PDstandardNth33g12;
+ CCTK_REAL_VEC PDstandardNth12g12;
+ CCTK_REAL_VEC PDstandardNth13g12;
+ CCTK_REAL_VEC PDstandardNth23g12;
+ CCTK_REAL_VEC PDstandardNth1g13;
+ CCTK_REAL_VEC PDstandardNth2g13;
+ CCTK_REAL_VEC PDstandardNth3g13;
+ CCTK_REAL_VEC PDstandardNth11g13;
+ CCTK_REAL_VEC PDstandardNth22g13;
+ CCTK_REAL_VEC PDstandardNth33g13;
+ CCTK_REAL_VEC PDstandardNth12g13;
+ CCTK_REAL_VEC PDstandardNth13g13;
+ CCTK_REAL_VEC PDstandardNth23g13;
+ CCTK_REAL_VEC PDstandardNth1g22;
+ CCTK_REAL_VEC PDstandardNth2g22;
+ CCTK_REAL_VEC PDstandardNth3g22;
+ CCTK_REAL_VEC PDstandardNth11g22;
+ CCTK_REAL_VEC PDstandardNth22g22;
+ CCTK_REAL_VEC PDstandardNth33g22;
+ CCTK_REAL_VEC PDstandardNth12g22;
+ CCTK_REAL_VEC PDstandardNth13g22;
+ CCTK_REAL_VEC PDstandardNth23g22;
+ CCTK_REAL_VEC PDstandardNth1g23;
+ CCTK_REAL_VEC PDstandardNth2g23;
+ CCTK_REAL_VEC PDstandardNth3g23;
+ CCTK_REAL_VEC PDstandardNth11g23;
+ CCTK_REAL_VEC PDstandardNth22g23;
+ CCTK_REAL_VEC PDstandardNth33g23;
+ CCTK_REAL_VEC PDstandardNth12g23;
+ CCTK_REAL_VEC PDstandardNth13g23;
+ CCTK_REAL_VEC PDstandardNth23g23;
+ CCTK_REAL_VEC PDstandardNth1g33;
+ CCTK_REAL_VEC PDstandardNth2g33;
+ CCTK_REAL_VEC PDstandardNth3g33;
+ CCTK_REAL_VEC PDstandardNth11g33;
+ CCTK_REAL_VEC PDstandardNth22g33;
+ CCTK_REAL_VEC PDstandardNth33g33;
+ CCTK_REAL_VEC PDstandardNth12g33;
+ CCTK_REAL_VEC PDstandardNth13g33;
+ CCTK_REAL_VEC PDstandardNth23g33;
+ CCTK_REAL_VEC PDstandardNth1K11;
+ CCTK_REAL_VEC PDstandardNth2K11;
+ CCTK_REAL_VEC PDstandardNth3K11;
+ CCTK_REAL_VEC PDstandardNth1K12;
+ CCTK_REAL_VEC PDstandardNth2K12;
+ CCTK_REAL_VEC PDstandardNth3K12;
+ CCTK_REAL_VEC PDstandardNth1K13;
+ CCTK_REAL_VEC PDstandardNth2K13;
+ CCTK_REAL_VEC PDstandardNth3K13;
+ CCTK_REAL_VEC PDstandardNth1K22;
+ CCTK_REAL_VEC PDstandardNth2K22;
+ CCTK_REAL_VEC PDstandardNth3K22;
+ CCTK_REAL_VEC PDstandardNth1K23;
+ CCTK_REAL_VEC PDstandardNth2K23;
+ CCTK_REAL_VEC PDstandardNth3K23;
+ CCTK_REAL_VEC PDstandardNth1K33;
+ CCTK_REAL_VEC PDstandardNth2K33;
+ CCTK_REAL_VEC PDstandardNth3K33;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandardNth1g11 = PDstandardNthfdOrder21(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder22(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder23(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder211(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder222(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder233(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder212(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder213(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder223(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder21(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder22(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder23(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder211(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder222(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder233(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder212(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder213(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder223(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder21(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder22(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder23(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder211(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder222(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder233(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder212(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder213(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder223(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder21(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder22(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder23(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder211(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder222(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder233(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder212(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder213(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder223(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder21(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder22(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder23(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder211(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder222(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder233(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder212(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder213(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder223(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder21(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder22(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder23(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder211(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder222(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder233(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder212(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder213(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder223(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder21(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder22(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder23(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder21(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder22(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder23(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder21(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder22(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder23(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder21(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder22(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder23(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder21(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder22(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder23(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder21(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder22(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder23(&K33[index]);
+ break;
+
+ case 4:
+ PDstandardNth1g11 = PDstandardNthfdOrder41(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder42(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder43(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder411(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder422(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder433(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder412(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder413(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder423(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder41(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder42(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder43(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder411(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder422(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder433(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder412(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder413(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder423(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder41(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder42(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder43(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder411(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder422(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder433(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder412(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder413(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder423(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder41(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder42(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder43(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder411(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder422(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder433(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder412(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder413(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder423(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder41(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder42(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder43(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder411(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder422(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder433(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder412(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder413(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder423(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder41(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder42(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder43(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder411(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder422(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder433(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder412(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder413(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder423(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder41(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder42(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder43(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder41(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder42(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder43(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder41(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder42(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder43(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder41(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder42(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder43(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder41(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder42(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder43(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder41(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder42(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder43(&K33[index]);
+ break;
+
+ case 6:
+ PDstandardNth1g11 = PDstandardNthfdOrder61(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder62(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder63(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder611(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder622(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder633(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder612(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder613(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder623(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder61(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder62(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder63(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder611(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder622(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder633(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder612(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder613(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder623(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder61(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder62(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder63(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder611(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder622(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder633(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder612(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder613(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder623(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder61(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder62(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder63(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder611(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder622(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder633(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder612(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder613(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder623(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder61(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder62(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder63(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder611(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder622(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder633(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder612(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder613(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder623(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder61(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder62(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder63(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder611(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder622(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder633(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder612(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder613(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder623(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder61(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder62(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder63(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder61(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder62(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder63(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder61(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder62(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder63(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder61(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder62(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder63(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder61(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder62(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder63(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder61(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder62(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder63(&K33[index]);
+ break;
+
+ case 8:
+ PDstandardNth1g11 = PDstandardNthfdOrder81(&g11[index]);
+ PDstandardNth2g11 = PDstandardNthfdOrder82(&g11[index]);
+ PDstandardNth3g11 = PDstandardNthfdOrder83(&g11[index]);
+ PDstandardNth11g11 = PDstandardNthfdOrder811(&g11[index]);
+ PDstandardNth22g11 = PDstandardNthfdOrder822(&g11[index]);
+ PDstandardNth33g11 = PDstandardNthfdOrder833(&g11[index]);
+ PDstandardNth12g11 = PDstandardNthfdOrder812(&g11[index]);
+ PDstandardNth13g11 = PDstandardNthfdOrder813(&g11[index]);
+ PDstandardNth23g11 = PDstandardNthfdOrder823(&g11[index]);
+ PDstandardNth1g12 = PDstandardNthfdOrder81(&g12[index]);
+ PDstandardNth2g12 = PDstandardNthfdOrder82(&g12[index]);
+ PDstandardNth3g12 = PDstandardNthfdOrder83(&g12[index]);
+ PDstandardNth11g12 = PDstandardNthfdOrder811(&g12[index]);
+ PDstandardNth22g12 = PDstandardNthfdOrder822(&g12[index]);
+ PDstandardNth33g12 = PDstandardNthfdOrder833(&g12[index]);
+ PDstandardNth12g12 = PDstandardNthfdOrder812(&g12[index]);
+ PDstandardNth13g12 = PDstandardNthfdOrder813(&g12[index]);
+ PDstandardNth23g12 = PDstandardNthfdOrder823(&g12[index]);
+ PDstandardNth1g13 = PDstandardNthfdOrder81(&g13[index]);
+ PDstandardNth2g13 = PDstandardNthfdOrder82(&g13[index]);
+ PDstandardNth3g13 = PDstandardNthfdOrder83(&g13[index]);
+ PDstandardNth11g13 = PDstandardNthfdOrder811(&g13[index]);
+ PDstandardNth22g13 = PDstandardNthfdOrder822(&g13[index]);
+ PDstandardNth33g13 = PDstandardNthfdOrder833(&g13[index]);
+ PDstandardNth12g13 = PDstandardNthfdOrder812(&g13[index]);
+ PDstandardNth13g13 = PDstandardNthfdOrder813(&g13[index]);
+ PDstandardNth23g13 = PDstandardNthfdOrder823(&g13[index]);
+ PDstandardNth1g22 = PDstandardNthfdOrder81(&g22[index]);
+ PDstandardNth2g22 = PDstandardNthfdOrder82(&g22[index]);
+ PDstandardNth3g22 = PDstandardNthfdOrder83(&g22[index]);
+ PDstandardNth11g22 = PDstandardNthfdOrder811(&g22[index]);
+ PDstandardNth22g22 = PDstandardNthfdOrder822(&g22[index]);
+ PDstandardNth33g22 = PDstandardNthfdOrder833(&g22[index]);
+ PDstandardNth12g22 = PDstandardNthfdOrder812(&g22[index]);
+ PDstandardNth13g22 = PDstandardNthfdOrder813(&g22[index]);
+ PDstandardNth23g22 = PDstandardNthfdOrder823(&g22[index]);
+ PDstandardNth1g23 = PDstandardNthfdOrder81(&g23[index]);
+ PDstandardNth2g23 = PDstandardNthfdOrder82(&g23[index]);
+ PDstandardNth3g23 = PDstandardNthfdOrder83(&g23[index]);
+ PDstandardNth11g23 = PDstandardNthfdOrder811(&g23[index]);
+ PDstandardNth22g23 = PDstandardNthfdOrder822(&g23[index]);
+ PDstandardNth33g23 = PDstandardNthfdOrder833(&g23[index]);
+ PDstandardNth12g23 = PDstandardNthfdOrder812(&g23[index]);
+ PDstandardNth13g23 = PDstandardNthfdOrder813(&g23[index]);
+ PDstandardNth23g23 = PDstandardNthfdOrder823(&g23[index]);
+ PDstandardNth1g33 = PDstandardNthfdOrder81(&g33[index]);
+ PDstandardNth2g33 = PDstandardNthfdOrder82(&g33[index]);
+ PDstandardNth3g33 = PDstandardNthfdOrder83(&g33[index]);
+ PDstandardNth11g33 = PDstandardNthfdOrder811(&g33[index]);
+ PDstandardNth22g33 = PDstandardNthfdOrder822(&g33[index]);
+ PDstandardNth33g33 = PDstandardNthfdOrder833(&g33[index]);
+ PDstandardNth12g33 = PDstandardNthfdOrder812(&g33[index]);
+ PDstandardNth13g33 = PDstandardNthfdOrder813(&g33[index]);
+ PDstandardNth23g33 = PDstandardNthfdOrder823(&g33[index]);
+ PDstandardNth1K11 = PDstandardNthfdOrder81(&K11[index]);
+ PDstandardNth2K11 = PDstandardNthfdOrder82(&K11[index]);
+ PDstandardNth3K11 = PDstandardNthfdOrder83(&K11[index]);
+ PDstandardNth1K12 = PDstandardNthfdOrder81(&K12[index]);
+ PDstandardNth2K12 = PDstandardNthfdOrder82(&K12[index]);
+ PDstandardNth3K12 = PDstandardNthfdOrder83(&K12[index]);
+ PDstandardNth1K13 = PDstandardNthfdOrder81(&K13[index]);
+ PDstandardNth2K13 = PDstandardNthfdOrder82(&K13[index]);
+ PDstandardNth3K13 = PDstandardNthfdOrder83(&K13[index]);
+ PDstandardNth1K22 = PDstandardNthfdOrder81(&K22[index]);
+ PDstandardNth2K22 = PDstandardNthfdOrder82(&K22[index]);
+ PDstandardNth3K22 = PDstandardNthfdOrder83(&K22[index]);
+ PDstandardNth1K23 = PDstandardNthfdOrder81(&K23[index]);
+ PDstandardNth2K23 = PDstandardNthfdOrder82(&K23[index]);
+ PDstandardNth3K23 = PDstandardNthfdOrder83(&K23[index]);
+ PDstandardNth1K33 = PDstandardNthfdOrder81(&K33[index]);
+ PDstandardNth2K33 = PDstandardNthfdOrder82(&K33[index]);
+ PDstandardNth3K33 = PDstandardNthfdOrder83(&K33[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
- CCTK_REAL detg = 2*g12L*g13L*g23L + g33L*(g11L*g22L - SQR(g12L)) -
- g22L*SQR(g13L) - g11L*SQR(g23L);
+ CCTK_REAL_VEC JacPDstandardNth11g22;
+ CCTK_REAL_VEC JacPDstandardNth11g23;
+ CCTK_REAL_VEC JacPDstandardNth11g33;
+ CCTK_REAL_VEC JacPDstandardNth12g11;
+ CCTK_REAL_VEC JacPDstandardNth12g12;
+ CCTK_REAL_VEC JacPDstandardNth12g13;
+ CCTK_REAL_VEC JacPDstandardNth12g22;
+ CCTK_REAL_VEC JacPDstandardNth12g23;
+ CCTK_REAL_VEC JacPDstandardNth12g33;
+ CCTK_REAL_VEC JacPDstandardNth13g11;
+ CCTK_REAL_VEC JacPDstandardNth13g12;
+ CCTK_REAL_VEC JacPDstandardNth13g13;
+ CCTK_REAL_VEC JacPDstandardNth13g22;
+ CCTK_REAL_VEC JacPDstandardNth13g23;
+ CCTK_REAL_VEC JacPDstandardNth13g33;
+ CCTK_REAL_VEC JacPDstandardNth1g11;
+ CCTK_REAL_VEC JacPDstandardNth1g12;
+ CCTK_REAL_VEC JacPDstandardNth1g13;
+ CCTK_REAL_VEC JacPDstandardNth1g22;
+ CCTK_REAL_VEC JacPDstandardNth1g23;
+ CCTK_REAL_VEC JacPDstandardNth1g33;
+ CCTK_REAL_VEC JacPDstandardNth1K12;
+ CCTK_REAL_VEC JacPDstandardNth1K13;
+ CCTK_REAL_VEC JacPDstandardNth1K22;
+ CCTK_REAL_VEC JacPDstandardNth1K23;
+ CCTK_REAL_VEC JacPDstandardNth1K33;
+ CCTK_REAL_VEC JacPDstandardNth21g11;
+ CCTK_REAL_VEC JacPDstandardNth21g12;
+ CCTK_REAL_VEC JacPDstandardNth21g13;
+ CCTK_REAL_VEC JacPDstandardNth21g22;
+ CCTK_REAL_VEC JacPDstandardNth21g23;
+ CCTK_REAL_VEC JacPDstandardNth21g33;
+ CCTK_REAL_VEC JacPDstandardNth22g11;
+ CCTK_REAL_VEC JacPDstandardNth22g13;
+ CCTK_REAL_VEC JacPDstandardNth22g33;
+ CCTK_REAL_VEC JacPDstandardNth23g11;
+ CCTK_REAL_VEC JacPDstandardNth23g12;
+ CCTK_REAL_VEC JacPDstandardNth23g13;
+ CCTK_REAL_VEC JacPDstandardNth23g22;
+ CCTK_REAL_VEC JacPDstandardNth23g23;
+ CCTK_REAL_VEC JacPDstandardNth23g33;
+ CCTK_REAL_VEC JacPDstandardNth2g11;
+ CCTK_REAL_VEC JacPDstandardNth2g12;
+ CCTK_REAL_VEC JacPDstandardNth2g13;
+ CCTK_REAL_VEC JacPDstandardNth2g22;
+ CCTK_REAL_VEC JacPDstandardNth2g23;
+ CCTK_REAL_VEC JacPDstandardNth2g33;
+ CCTK_REAL_VEC JacPDstandardNth2K11;
+ CCTK_REAL_VEC JacPDstandardNth2K12;
+ CCTK_REAL_VEC JacPDstandardNth2K13;
+ CCTK_REAL_VEC JacPDstandardNth2K23;
+ CCTK_REAL_VEC JacPDstandardNth2K33;
+ CCTK_REAL_VEC JacPDstandardNth31g11;
+ CCTK_REAL_VEC JacPDstandardNth31g12;
+ CCTK_REAL_VEC JacPDstandardNth31g13;
+ CCTK_REAL_VEC JacPDstandardNth31g22;
+ CCTK_REAL_VEC JacPDstandardNth31g23;
+ CCTK_REAL_VEC JacPDstandardNth31g33;
+ CCTK_REAL_VEC JacPDstandardNth32g11;
+ CCTK_REAL_VEC JacPDstandardNth32g12;
+ CCTK_REAL_VEC JacPDstandardNth32g13;
+ CCTK_REAL_VEC JacPDstandardNth32g22;
+ CCTK_REAL_VEC JacPDstandardNth32g23;
+ CCTK_REAL_VEC JacPDstandardNth32g33;
+ CCTK_REAL_VEC JacPDstandardNth33g11;
+ CCTK_REAL_VEC JacPDstandardNth33g12;
+ CCTK_REAL_VEC JacPDstandardNth33g22;
+ CCTK_REAL_VEC JacPDstandardNth3g11;
+ CCTK_REAL_VEC JacPDstandardNth3g12;
+ CCTK_REAL_VEC JacPDstandardNth3g13;
+ CCTK_REAL_VEC JacPDstandardNth3g22;
+ CCTK_REAL_VEC JacPDstandardNth3g23;
+ CCTK_REAL_VEC JacPDstandardNth3g33;
+ CCTK_REAL_VEC JacPDstandardNth3K11;
+ CCTK_REAL_VEC JacPDstandardNth3K12;
+ CCTK_REAL_VEC JacPDstandardNth3K13;
+ CCTK_REAL_VEC JacPDstandardNth3K22;
+ CCTK_REAL_VEC JacPDstandardNth3K23;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1g11 =
+ kmadd(J11L,PDstandardNth1g11,kmadd(J21L,PDstandardNth2g11,kmul(J31L,PDstandardNth3g11)));
+
+ JacPDstandardNth1g12 =
+ kmadd(J11L,PDstandardNth1g12,kmadd(J21L,PDstandardNth2g12,kmul(J31L,PDstandardNth3g12)));
+
+ JacPDstandardNth1g13 =
+ kmadd(J11L,PDstandardNth1g13,kmadd(J21L,PDstandardNth2g13,kmul(J31L,PDstandardNth3g13)));
+
+ JacPDstandardNth1g22 =
+ kmadd(J11L,PDstandardNth1g22,kmadd(J21L,PDstandardNth2g22,kmul(J31L,PDstandardNth3g22)));
+
+ JacPDstandardNth1g23 =
+ kmadd(J11L,PDstandardNth1g23,kmadd(J21L,PDstandardNth2g23,kmul(J31L,PDstandardNth3g23)));
+
+ JacPDstandardNth1g33 =
+ kmadd(J11L,PDstandardNth1g33,kmadd(J21L,PDstandardNth2g33,kmul(J31L,PDstandardNth3g33)));
+
+ JacPDstandardNth1K12 =
+ kmadd(J11L,PDstandardNth1K12,kmadd(J21L,PDstandardNth2K12,kmul(J31L,PDstandardNth3K12)));
+
+ JacPDstandardNth1K13 =
+ kmadd(J11L,PDstandardNth1K13,kmadd(J21L,PDstandardNth2K13,kmul(J31L,PDstandardNth3K13)));
+
+ JacPDstandardNth1K22 =
+ kmadd(J11L,PDstandardNth1K22,kmadd(J21L,PDstandardNth2K22,kmul(J31L,PDstandardNth3K22)));
+
+ JacPDstandardNth1K23 =
+ kmadd(J11L,PDstandardNth1K23,kmadd(J21L,PDstandardNth2K23,kmul(J31L,PDstandardNth3K23)));
+
+ JacPDstandardNth1K33 =
+ kmadd(J11L,PDstandardNth1K33,kmadd(J21L,PDstandardNth2K33,kmul(J31L,PDstandardNth3K33)));
+
+ JacPDstandardNth2g11 =
+ kmadd(J12L,PDstandardNth1g11,kmadd(J22L,PDstandardNth2g11,kmul(J32L,PDstandardNth3g11)));
+
+ JacPDstandardNth2g12 =
+ kmadd(J12L,PDstandardNth1g12,kmadd(J22L,PDstandardNth2g12,kmul(J32L,PDstandardNth3g12)));
+
+ JacPDstandardNth2g13 =
+ kmadd(J12L,PDstandardNth1g13,kmadd(J22L,PDstandardNth2g13,kmul(J32L,PDstandardNth3g13)));
+
+ JacPDstandardNth2g22 =
+ kmadd(J12L,PDstandardNth1g22,kmadd(J22L,PDstandardNth2g22,kmul(J32L,PDstandardNth3g22)));
+
+ JacPDstandardNth2g23 =
+ kmadd(J12L,PDstandardNth1g23,kmadd(J22L,PDstandardNth2g23,kmul(J32L,PDstandardNth3g23)));
+
+ JacPDstandardNth2g33 =
+ kmadd(J12L,PDstandardNth1g33,kmadd(J22L,PDstandardNth2g33,kmul(J32L,PDstandardNth3g33)));
+
+ JacPDstandardNth2K11 =
+ kmadd(J12L,PDstandardNth1K11,kmadd(J22L,PDstandardNth2K11,kmul(J32L,PDstandardNth3K11)));
+
+ JacPDstandardNth2K12 =
+ kmadd(J12L,PDstandardNth1K12,kmadd(J22L,PDstandardNth2K12,kmul(J32L,PDstandardNth3K12)));
+
+ JacPDstandardNth2K13 =
+ kmadd(J12L,PDstandardNth1K13,kmadd(J22L,PDstandardNth2K13,kmul(J32L,PDstandardNth3K13)));
+
+ JacPDstandardNth2K23 =
+ kmadd(J12L,PDstandardNth1K23,kmadd(J22L,PDstandardNth2K23,kmul(J32L,PDstandardNth3K23)));
+
+ JacPDstandardNth2K33 =
+ kmadd(J12L,PDstandardNth1K33,kmadd(J22L,PDstandardNth2K33,kmul(J32L,PDstandardNth3K33)));
+
+ JacPDstandardNth3g11 =
+ kmadd(J13L,PDstandardNth1g11,kmadd(J23L,PDstandardNth2g11,kmul(J33L,PDstandardNth3g11)));
+
+ JacPDstandardNth3g12 =
+ kmadd(J13L,PDstandardNth1g12,kmadd(J23L,PDstandardNth2g12,kmul(J33L,PDstandardNth3g12)));
+
+ JacPDstandardNth3g13 =
+ kmadd(J13L,PDstandardNth1g13,kmadd(J23L,PDstandardNth2g13,kmul(J33L,PDstandardNth3g13)));
+
+ JacPDstandardNth3g22 =
+ kmadd(J13L,PDstandardNth1g22,kmadd(J23L,PDstandardNth2g22,kmul(J33L,PDstandardNth3g22)));
+
+ JacPDstandardNth3g23 =
+ kmadd(J13L,PDstandardNth1g23,kmadd(J23L,PDstandardNth2g23,kmul(J33L,PDstandardNth3g23)));
+
+ JacPDstandardNth3g33 =
+ kmadd(J13L,PDstandardNth1g33,kmadd(J23L,PDstandardNth2g33,kmul(J33L,PDstandardNth3g33)));
+
+ JacPDstandardNth3K11 =
+ kmadd(J13L,PDstandardNth1K11,kmadd(J23L,PDstandardNth2K11,kmul(J33L,PDstandardNth3K11)));
+
+ JacPDstandardNth3K12 =
+ kmadd(J13L,PDstandardNth1K12,kmadd(J23L,PDstandardNth2K12,kmul(J33L,PDstandardNth3K12)));
+
+ JacPDstandardNth3K13 =
+ kmadd(J13L,PDstandardNth1K13,kmadd(J23L,PDstandardNth2K13,kmul(J33L,PDstandardNth3K13)));
+
+ JacPDstandardNth3K22 =
+ kmadd(J13L,PDstandardNth1K22,kmadd(J23L,PDstandardNth2K22,kmul(J33L,PDstandardNth3K22)));
+
+ JacPDstandardNth3K23 =
+ kmadd(J13L,PDstandardNth1K23,kmadd(J23L,PDstandardNth2K23,kmul(J33L,PDstandardNth3K23)));
+
+ JacPDstandardNth11g22 =
+ kmadd(dJ111L,PDstandardNth1g22,kmadd(dJ211L,PDstandardNth2g22,kmadd(dJ311L,PDstandardNth3g22,kmadd(PDstandardNth11g22,SQR(J11L),kmadd(PDstandardNth22g22,SQR(J21L),kmadd(PDstandardNth33g22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22)),kmul(J21L,kmul(J31L,PDstandardNth23g22))),ToReal(2))))))));
+
+ JacPDstandardNth11g23 =
+ kmadd(dJ111L,PDstandardNth1g23,kmadd(dJ211L,PDstandardNth2g23,kmadd(dJ311L,PDstandardNth3g23,kmadd(PDstandardNth11g23,SQR(J11L),kmadd(PDstandardNth22g23,SQR(J21L),kmadd(PDstandardNth33g23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23)),kmul(J21L,kmul(J31L,PDstandardNth23g23))),ToReal(2))))))));
+
+ JacPDstandardNth11g33 =
+ kmadd(dJ111L,PDstandardNth1g33,kmadd(dJ211L,PDstandardNth2g33,kmadd(dJ311L,PDstandardNth3g33,kmadd(PDstandardNth11g33,SQR(J11L),kmadd(PDstandardNth22g33,SQR(J21L),kmadd(PDstandardNth33g33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33)),kmul(J21L,kmul(J31L,PDstandardNth23g33))),ToReal(2))))))));
+
+ JacPDstandardNth22g11 =
+ kmadd(dJ122L,PDstandardNth1g11,kmadd(dJ222L,PDstandardNth2g11,kmadd(dJ322L,PDstandardNth3g11,kmadd(PDstandardNth11g11,SQR(J12L),kmadd(PDstandardNth22g11,SQR(J22L),kmadd(PDstandardNth33g11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmul(J22L,kmul(J32L,PDstandardNth23g11))),ToReal(2))))))));
+
+ JacPDstandardNth22g13 =
+ kmadd(dJ122L,PDstandardNth1g13,kmadd(dJ222L,PDstandardNth2g13,kmadd(dJ322L,PDstandardNth3g13,kmadd(PDstandardNth11g13,SQR(J12L),kmadd(PDstandardNth22g13,SQR(J22L),kmadd(PDstandardNth33g13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmul(J22L,kmul(J32L,PDstandardNth23g13))),ToReal(2))))))));
+
+ JacPDstandardNth22g33 =
+ kmadd(dJ122L,PDstandardNth1g33,kmadd(dJ222L,PDstandardNth2g33,kmadd(dJ322L,PDstandardNth3g33,kmadd(PDstandardNth11g33,SQR(J12L),kmadd(PDstandardNth22g33,SQR(J22L),kmadd(PDstandardNth33g33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmul(J22L,kmul(J32L,PDstandardNth23g33))),ToReal(2))))))));
+
+ JacPDstandardNth33g11 =
+ kmadd(dJ133L,PDstandardNth1g11,kmadd(dJ233L,PDstandardNth2g11,kmadd(dJ333L,PDstandardNth3g11,kmadd(PDstandardNth11g11,SQR(J13L),kmadd(PDstandardNth22g11,SQR(J23L),kmadd(PDstandardNth33g11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmul(J23L,kmul(J33L,PDstandardNth23g11))),ToReal(2))))))));
+
+ JacPDstandardNth33g12 =
+ kmadd(dJ133L,PDstandardNth1g12,kmadd(dJ233L,PDstandardNth2g12,kmadd(dJ333L,PDstandardNth3g12,kmadd(PDstandardNth11g12,SQR(J13L),kmadd(PDstandardNth22g12,SQR(J23L),kmadd(PDstandardNth33g12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmul(J23L,kmul(J33L,PDstandardNth23g12))),ToReal(2))))))));
+
+ JacPDstandardNth33g22 =
+ kmadd(dJ133L,PDstandardNth1g22,kmadd(dJ233L,PDstandardNth2g22,kmadd(dJ333L,PDstandardNth3g22,kmadd(PDstandardNth11g22,SQR(J13L),kmadd(PDstandardNth22g22,SQR(J23L),kmadd(PDstandardNth33g22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmul(J23L,kmul(J33L,PDstandardNth23g22))),ToReal(2))))))));
+
+ JacPDstandardNth12g11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmadd(dJ112L,PDstandardNth1g11,kmadd(J22L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ212L,PDstandardNth2g11,kmadd(J32L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ312L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth12g12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12)),kmadd(dJ112L,PDstandardNth1g12,kmadd(J22L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ212L,PDstandardNth2g12,kmadd(J32L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ312L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth12g13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmadd(dJ112L,PDstandardNth1g13,kmadd(J22L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ212L,PDstandardNth2g13,kmadd(J32L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ312L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth12g22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22)),kmadd(dJ112L,PDstandardNth1g22,kmadd(J22L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ212L,PDstandardNth2g22,kmadd(J32L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ312L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth12g23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23)),kmadd(dJ112L,PDstandardNth1g23,kmadd(J22L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ212L,PDstandardNth2g23,kmadd(J32L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ312L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth12g33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmadd(dJ112L,PDstandardNth1g33,kmadd(J22L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ212L,PDstandardNth2g33,kmadd(J32L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ312L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth13g11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ113L,PDstandardNth1g11,kmadd(J23L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ213L,PDstandardNth2g11,kmadd(J33L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ313L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth13g12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ113L,PDstandardNth1g12,kmadd(J23L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ213L,PDstandardNth2g12,kmadd(J33L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ313L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth13g13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ113L,PDstandardNth1g13,kmadd(J23L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ213L,PDstandardNth2g13,kmadd(J33L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ313L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth13g22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ113L,PDstandardNth1g22,kmadd(J23L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ213L,PDstandardNth2g22,kmadd(J33L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ313L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth13g23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ113L,PDstandardNth1g23,kmadd(J23L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ213L,PDstandardNth2g23,kmadd(J33L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ313L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth13g33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ113L,PDstandardNth1g33,kmadd(J23L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ213L,PDstandardNth2g33,kmadd(J33L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ313L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth21g11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11)),kmadd(dJ112L,PDstandardNth1g11,kmadd(J22L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ212L,PDstandardNth2g11,kmadd(J32L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ312L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth21g12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12)),kmadd(dJ112L,PDstandardNth1g12,kmadd(J22L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ212L,PDstandardNth2g12,kmadd(J32L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ312L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth21g13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13)),kmadd(dJ112L,PDstandardNth1g13,kmadd(J22L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ212L,PDstandardNth2g13,kmadd(J32L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ312L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth21g22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22)),kmadd(dJ112L,PDstandardNth1g22,kmadd(J22L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ212L,PDstandardNth2g22,kmadd(J32L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ312L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth21g23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23)),kmadd(dJ112L,PDstandardNth1g23,kmadd(J22L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ212L,PDstandardNth2g23,kmadd(J32L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ312L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth21g33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33)),kmadd(dJ112L,PDstandardNth1g33,kmadd(J22L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ212L,PDstandardNth2g33,kmadd(J32L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ312L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth23g11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g11,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11))),kmadd(J12L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ123L,PDstandardNth1g11,kmadd(J23L,kmadd(J22L,PDstandardNth22g11,kmul(J32L,PDstandardNth23g11)),kmadd(dJ223L,PDstandardNth2g11,kmadd(J33L,kmadd(J22L,PDstandardNth23g11,kmul(J32L,PDstandardNth33g11)),kmul(dJ323L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth23g12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g12,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12))),kmadd(J12L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ123L,PDstandardNth1g12,kmadd(J23L,kmadd(J22L,PDstandardNth22g12,kmul(J32L,PDstandardNth23g12)),kmadd(dJ223L,PDstandardNth2g12,kmadd(J33L,kmadd(J22L,PDstandardNth23g12,kmul(J32L,PDstandardNth33g12)),kmul(dJ323L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth23g13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g13,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13))),kmadd(J12L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ123L,PDstandardNth1g13,kmadd(J23L,kmadd(J22L,PDstandardNth22g13,kmul(J32L,PDstandardNth23g13)),kmadd(dJ223L,PDstandardNth2g13,kmadd(J33L,kmadd(J22L,PDstandardNth23g13,kmul(J32L,PDstandardNth33g13)),kmul(dJ323L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth23g22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g22,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22))),kmadd(J12L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ123L,PDstandardNth1g22,kmadd(J23L,kmadd(J22L,PDstandardNth22g22,kmul(J32L,PDstandardNth23g22)),kmadd(dJ223L,PDstandardNth2g22,kmadd(J33L,kmadd(J22L,PDstandardNth23g22,kmul(J32L,PDstandardNth33g22)),kmul(dJ323L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth23g23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g23,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23))),kmadd(J12L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ123L,PDstandardNth1g23,kmadd(J23L,kmadd(J22L,PDstandardNth22g23,kmul(J32L,PDstandardNth23g23)),kmadd(dJ223L,PDstandardNth2g23,kmadd(J33L,kmadd(J22L,PDstandardNth23g23,kmul(J32L,PDstandardNth33g23)),kmul(dJ323L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth23g33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g33,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33))),kmadd(J12L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ123L,PDstandardNth1g33,kmadd(J23L,kmadd(J22L,PDstandardNth22g33,kmul(J32L,PDstandardNth23g33)),kmadd(dJ223L,PDstandardNth2g33,kmadd(J33L,kmadd(J22L,PDstandardNth23g33,kmul(J32L,PDstandardNth33g33)),kmul(dJ323L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth31g11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g11,kmadd(J21L,PDstandardNth12g11,kmul(J31L,PDstandardNth13g11))),kmadd(J11L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ113L,PDstandardNth1g11,kmadd(J23L,kmadd(J21L,PDstandardNth22g11,kmul(J31L,PDstandardNth23g11)),kmadd(dJ213L,PDstandardNth2g11,kmadd(J33L,kmadd(J21L,PDstandardNth23g11,kmul(J31L,PDstandardNth33g11)),kmul(dJ313L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth31g12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g12,kmadd(J21L,PDstandardNth12g12,kmul(J31L,PDstandardNth13g12))),kmadd(J11L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ113L,PDstandardNth1g12,kmadd(J23L,kmadd(J21L,PDstandardNth22g12,kmul(J31L,PDstandardNth23g12)),kmadd(dJ213L,PDstandardNth2g12,kmadd(J33L,kmadd(J21L,PDstandardNth23g12,kmul(J31L,PDstandardNth33g12)),kmul(dJ313L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth31g13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g13,kmadd(J21L,PDstandardNth12g13,kmul(J31L,PDstandardNth13g13))),kmadd(J11L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ113L,PDstandardNth1g13,kmadd(J23L,kmadd(J21L,PDstandardNth22g13,kmul(J31L,PDstandardNth23g13)),kmadd(dJ213L,PDstandardNth2g13,kmadd(J33L,kmadd(J21L,PDstandardNth23g13,kmul(J31L,PDstandardNth33g13)),kmul(dJ313L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth31g22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g22,kmadd(J21L,PDstandardNth12g22,kmul(J31L,PDstandardNth13g22))),kmadd(J11L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ113L,PDstandardNth1g22,kmadd(J23L,kmadd(J21L,PDstandardNth22g22,kmul(J31L,PDstandardNth23g22)),kmadd(dJ213L,PDstandardNth2g22,kmadd(J33L,kmadd(J21L,PDstandardNth23g22,kmul(J31L,PDstandardNth33g22)),kmul(dJ313L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth31g23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g23,kmadd(J21L,PDstandardNth12g23,kmul(J31L,PDstandardNth13g23))),kmadd(J11L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ113L,PDstandardNth1g23,kmadd(J23L,kmadd(J21L,PDstandardNth22g23,kmul(J31L,PDstandardNth23g23)),kmadd(dJ213L,PDstandardNth2g23,kmadd(J33L,kmadd(J21L,PDstandardNth23g23,kmul(J31L,PDstandardNth33g23)),kmul(dJ313L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth31g33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11g33,kmadd(J21L,PDstandardNth12g33,kmul(J31L,PDstandardNth13g33))),kmadd(J11L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ113L,PDstandardNth1g33,kmadd(J23L,kmadd(J21L,PDstandardNth22g33,kmul(J31L,PDstandardNth23g33)),kmadd(dJ213L,PDstandardNth2g33,kmadd(J33L,kmadd(J21L,PDstandardNth23g33,kmul(J31L,PDstandardNth33g33)),kmul(dJ313L,PDstandardNth3g33)))))));
+
+ JacPDstandardNth32g11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g11,kmadd(J22L,PDstandardNth12g11,kmul(J32L,PDstandardNth13g11))),kmadd(J12L,kmadd(J23L,PDstandardNth12g11,kmul(J33L,PDstandardNth13g11)),kmadd(dJ123L,PDstandardNth1g11,kmadd(J23L,kmadd(J22L,PDstandardNth22g11,kmul(J32L,PDstandardNth23g11)),kmadd(dJ223L,PDstandardNth2g11,kmadd(J33L,kmadd(J22L,PDstandardNth23g11,kmul(J32L,PDstandardNth33g11)),kmul(dJ323L,PDstandardNth3g11)))))));
+
+ JacPDstandardNth32g12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g12,kmadd(J22L,PDstandardNth12g12,kmul(J32L,PDstandardNth13g12))),kmadd(J12L,kmadd(J23L,PDstandardNth12g12,kmul(J33L,PDstandardNth13g12)),kmadd(dJ123L,PDstandardNth1g12,kmadd(J23L,kmadd(J22L,PDstandardNth22g12,kmul(J32L,PDstandardNth23g12)),kmadd(dJ223L,PDstandardNth2g12,kmadd(J33L,kmadd(J22L,PDstandardNth23g12,kmul(J32L,PDstandardNth33g12)),kmul(dJ323L,PDstandardNth3g12)))))));
+
+ JacPDstandardNth32g13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g13,kmadd(J22L,PDstandardNth12g13,kmul(J32L,PDstandardNth13g13))),kmadd(J12L,kmadd(J23L,PDstandardNth12g13,kmul(J33L,PDstandardNth13g13)),kmadd(dJ123L,PDstandardNth1g13,kmadd(J23L,kmadd(J22L,PDstandardNth22g13,kmul(J32L,PDstandardNth23g13)),kmadd(dJ223L,PDstandardNth2g13,kmadd(J33L,kmadd(J22L,PDstandardNth23g13,kmul(J32L,PDstandardNth33g13)),kmul(dJ323L,PDstandardNth3g13)))))));
+
+ JacPDstandardNth32g22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g22,kmadd(J22L,PDstandardNth12g22,kmul(J32L,PDstandardNth13g22))),kmadd(J12L,kmadd(J23L,PDstandardNth12g22,kmul(J33L,PDstandardNth13g22)),kmadd(dJ123L,PDstandardNth1g22,kmadd(J23L,kmadd(J22L,PDstandardNth22g22,kmul(J32L,PDstandardNth23g22)),kmadd(dJ223L,PDstandardNth2g22,kmadd(J33L,kmadd(J22L,PDstandardNth23g22,kmul(J32L,PDstandardNth33g22)),kmul(dJ323L,PDstandardNth3g22)))))));
+
+ JacPDstandardNth32g23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g23,kmadd(J22L,PDstandardNth12g23,kmul(J32L,PDstandardNth13g23))),kmadd(J12L,kmadd(J23L,PDstandardNth12g23,kmul(J33L,PDstandardNth13g23)),kmadd(dJ123L,PDstandardNth1g23,kmadd(J23L,kmadd(J22L,PDstandardNth22g23,kmul(J32L,PDstandardNth23g23)),kmadd(dJ223L,PDstandardNth2g23,kmadd(J33L,kmadd(J22L,PDstandardNth23g23,kmul(J32L,PDstandardNth33g23)),kmul(dJ323L,PDstandardNth3g23)))))));
+
+ JacPDstandardNth32g33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11g33,kmadd(J22L,PDstandardNth12g33,kmul(J32L,PDstandardNth13g33))),kmadd(J12L,kmadd(J23L,PDstandardNth12g33,kmul(J33L,PDstandardNth13g33)),kmadd(dJ123L,PDstandardNth1g33,kmadd(J23L,kmadd(J22L,PDstandardNth22g33,kmul(J32L,PDstandardNth23g33)),kmadd(dJ223L,PDstandardNth2g33,kmadd(J33L,kmadd(J22L,PDstandardNth23g33,kmul(J32L,PDstandardNth33g33)),kmul(dJ323L,PDstandardNth3g33)))))));
+ }
+ else
+ {
+ JacPDstandardNth1g11 = PDstandardNth1g11;
+
+ JacPDstandardNth1g12 = PDstandardNth1g12;
+
+ JacPDstandardNth1g13 = PDstandardNth1g13;
+
+ JacPDstandardNth1g22 = PDstandardNth1g22;
+
+ JacPDstandardNth1g23 = PDstandardNth1g23;
+
+ JacPDstandardNth1g33 = PDstandardNth1g33;
+
+ JacPDstandardNth1K12 = PDstandardNth1K12;
+
+ JacPDstandardNth1K13 = PDstandardNth1K13;
+
+ JacPDstandardNth1K22 = PDstandardNth1K22;
+
+ JacPDstandardNth1K23 = PDstandardNth1K23;
+
+ JacPDstandardNth1K33 = PDstandardNth1K33;
+
+ JacPDstandardNth2g11 = PDstandardNth2g11;
+
+ JacPDstandardNth2g12 = PDstandardNth2g12;
+
+ JacPDstandardNth2g13 = PDstandardNth2g13;
+
+ JacPDstandardNth2g22 = PDstandardNth2g22;
+
+ JacPDstandardNth2g23 = PDstandardNth2g23;
+
+ JacPDstandardNth2g33 = PDstandardNth2g33;
+
+ JacPDstandardNth2K11 = PDstandardNth2K11;
+
+ JacPDstandardNth2K12 = PDstandardNth2K12;
+
+ JacPDstandardNth2K13 = PDstandardNth2K13;
+
+ JacPDstandardNth2K23 = PDstandardNth2K23;
+
+ JacPDstandardNth2K33 = PDstandardNth2K33;
+
+ JacPDstandardNth3g11 = PDstandardNth3g11;
+
+ JacPDstandardNth3g12 = PDstandardNth3g12;
+
+ JacPDstandardNth3g13 = PDstandardNth3g13;
+
+ JacPDstandardNth3g22 = PDstandardNth3g22;
+
+ JacPDstandardNth3g23 = PDstandardNth3g23;
+
+ JacPDstandardNth3g33 = PDstandardNth3g33;
+
+ JacPDstandardNth3K11 = PDstandardNth3K11;
+
+ JacPDstandardNth3K12 = PDstandardNth3K12;
+
+ JacPDstandardNth3K13 = PDstandardNth3K13;
+
+ JacPDstandardNth3K22 = PDstandardNth3K22;
+
+ JacPDstandardNth3K23 = PDstandardNth3K23;
+
+ JacPDstandardNth11g22 = PDstandardNth11g22;
+
+ JacPDstandardNth11g23 = PDstandardNth11g23;
+
+ JacPDstandardNth11g33 = PDstandardNth11g33;
+
+ JacPDstandardNth22g11 = PDstandardNth22g11;
+
+ JacPDstandardNth22g13 = PDstandardNth22g13;
+
+ JacPDstandardNth22g33 = PDstandardNth22g33;
+
+ JacPDstandardNth33g11 = PDstandardNth33g11;
+
+ JacPDstandardNth33g12 = PDstandardNth33g12;
+
+ JacPDstandardNth33g22 = PDstandardNth33g22;
+
+ JacPDstandardNth12g11 = PDstandardNth12g11;
+
+ JacPDstandardNth12g12 = PDstandardNth12g12;
+
+ JacPDstandardNth12g13 = PDstandardNth12g13;
+
+ JacPDstandardNth12g22 = PDstandardNth12g22;
+
+ JacPDstandardNth12g23 = PDstandardNth12g23;
+
+ JacPDstandardNth12g33 = PDstandardNth12g33;
+
+ JacPDstandardNth13g11 = PDstandardNth13g11;
+
+ JacPDstandardNth13g12 = PDstandardNth13g12;
+
+ JacPDstandardNth13g13 = PDstandardNth13g13;
+
+ JacPDstandardNth13g22 = PDstandardNth13g22;
+
+ JacPDstandardNth13g23 = PDstandardNth13g23;
+
+ JacPDstandardNth13g33 = PDstandardNth13g33;
+
+ JacPDstandardNth21g11 = PDstandardNth12g11;
+
+ JacPDstandardNth21g12 = PDstandardNth12g12;
+
+ JacPDstandardNth21g13 = PDstandardNth12g13;
+
+ JacPDstandardNth21g22 = PDstandardNth12g22;
+
+ JacPDstandardNth21g23 = PDstandardNth12g23;
+
+ JacPDstandardNth21g33 = PDstandardNth12g33;
+
+ JacPDstandardNth23g11 = PDstandardNth23g11;
+
+ JacPDstandardNth23g12 = PDstandardNth23g12;
+
+ JacPDstandardNth23g13 = PDstandardNth23g13;
+
+ JacPDstandardNth23g22 = PDstandardNth23g22;
+
+ JacPDstandardNth23g23 = PDstandardNth23g23;
+
+ JacPDstandardNth23g33 = PDstandardNth23g33;
+
+ JacPDstandardNth31g11 = PDstandardNth13g11;
+
+ JacPDstandardNth31g12 = PDstandardNth13g12;
+
+ JacPDstandardNth31g13 = PDstandardNth13g13;
+
+ JacPDstandardNth31g22 = PDstandardNth13g22;
+
+ JacPDstandardNth31g23 = PDstandardNth13g23;
+
+ JacPDstandardNth31g33 = PDstandardNth13g33;
+
+ JacPDstandardNth32g11 = PDstandardNth23g11;
+
+ JacPDstandardNth32g12 = PDstandardNth23g12;
+
+ JacPDstandardNth32g13 = PDstandardNth23g13;
+
+ JacPDstandardNth32g22 = PDstandardNth23g22;
+
+ JacPDstandardNth32g23 = PDstandardNth23g23;
+
+ JacPDstandardNth32g33 = PDstandardNth23g33;
+ }
+
+ CCTK_REAL_VEC detg =
+ knmsub(g22L,SQR(g13L),knmsub(g11L,SQR(g23L),kmadd(g33L,kmsub(g11L,g22L,SQR(g12L)),kmul(g12L,kmul(g13L,kmul(g23L,ToReal(2)))))));
+
+ CCTK_REAL_VEC gu11 = kmul(INV(detg),kmsub(g22L,g33L,SQR(g23L)));
+
+ CCTK_REAL_VEC gu12 = kmul(INV(detg),kmsub(g13L,g23L,kmul(g12L,g33L)));
+
+ CCTK_REAL_VEC gu13 = kmul(INV(detg),kmsub(g12L,g23L,kmul(g13L,g22L)));
+
+ CCTK_REAL_VEC gu21 = kmul(INV(detg),kmsub(g13L,g23L,kmul(g12L,g33L)));
+
+ CCTK_REAL_VEC gu22 = kmul(INV(detg),kmsub(g11L,g33L,SQR(g13L)));
+
+ CCTK_REAL_VEC gu23 = kmul(INV(detg),kmsub(g12L,g13L,kmul(g11L,g23L)));
+
+ CCTK_REAL_VEC gu31 = kmul(INV(detg),kmsub(g12L,g23L,kmul(g13L,g22L)));
+
+ CCTK_REAL_VEC gu32 = kmul(INV(detg),kmsub(g12L,g13L,kmul(g11L,g23L)));
+
+ CCTK_REAL_VEC gu33 = kmul(INV(detg),kmsub(g11L,g22L,SQR(g12L)));
+
+ CCTK_REAL_VEC G111 =
+ kmul(ToReal(0.5),kmadd(gu11,JacPDstandardNth1g11,knmsub(gu12,JacPDstandardNth2g11,kmsub(kmadd(gu12,JacPDstandardNth1g12,kmul(gu13,JacPDstandardNth1g13)),ToReal(2),kmul(gu13,JacPDstandardNth3g11)))));
+
+ CCTK_REAL_VEC G211 =
+ kmul(ToReal(0.5),kmadd(gu21,JacPDstandardNth1g11,knmsub(gu22,JacPDstandardNth2g11,kmsub(kmadd(gu22,JacPDstandardNth1g12,kmul(gu23,JacPDstandardNth1g13)),ToReal(2),kmul(gu23,JacPDstandardNth3g11)))));
+
+ CCTK_REAL_VEC G311 =
+ kmul(ToReal(0.5),kmadd(gu31,JacPDstandardNth1g11,knmsub(gu32,JacPDstandardNth2g11,kmsub(kmadd(gu32,JacPDstandardNth1g12,kmul(gu33,JacPDstandardNth1g13)),ToReal(2),kmul(gu33,JacPDstandardNth3g11)))));
+
+ CCTK_REAL_VEC G112 =
+ kmul(kmadd(gu12,JacPDstandardNth1g22,kmadd(gu11,JacPDstandardNth2g11,kmul(gu13,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G212 =
+ kmul(kmadd(gu22,JacPDstandardNth1g22,kmadd(gu21,JacPDstandardNth2g11,kmul(gu23,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G312 =
+ kmul(kmadd(gu32,JacPDstandardNth1g22,kmadd(gu31,JacPDstandardNth2g11,kmul(gu33,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth2g13,JacPDstandardNth3g12))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G113 =
+ kmul(kmadd(gu13,JacPDstandardNth1g33,kmadd(gu11,JacPDstandardNth3g11,kmul(gu12,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G213 =
+ kmul(kmadd(gu23,JacPDstandardNth1g33,kmadd(gu21,JacPDstandardNth3g11,kmul(gu22,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G313 =
+ kmul(kmadd(gu33,JacPDstandardNth1g33,kmadd(gu31,JacPDstandardNth3g11,kmul(gu32,kadd(JacPDstandardNth1g23,ksub(JacPDstandardNth3g12,JacPDstandardNth2g13))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G122 =
+ kmul(ToReal(0.5),kmadd(gu12,JacPDstandardNth2g22,kmadd(gu11,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu13,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22)))));
+
+ CCTK_REAL_VEC G222 =
+ kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth2g22,kmadd(gu21,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu23,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22)))));
+
+ CCTK_REAL_VEC G322 =
+ kmul(ToReal(0.5),kmadd(gu32,JacPDstandardNth2g22,kmadd(gu31,kmsub(JacPDstandardNth2g12,ToReal(2),JacPDstandardNth1g22),kmul(gu33,kmsub(JacPDstandardNth2g23,ToReal(2),JacPDstandardNth3g22)))));
+
+ CCTK_REAL_VEC G123 =
+ kmul(kmadd(gu13,JacPDstandardNth2g33,kmadd(gu12,JacPDstandardNth3g22,kmul(gu11,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G223 =
+ kmul(kmadd(gu23,JacPDstandardNth2g33,kmadd(gu22,JacPDstandardNth3g22,kmul(gu21,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G323 =
+ kmul(kmadd(gu33,JacPDstandardNth2g33,kmadd(gu32,JacPDstandardNth3g22,kmul(gu31,kadd(JacPDstandardNth2g13,ksub(JacPDstandardNth3g12,JacPDstandardNth1g23))))),ToReal(0.5));
+
+ CCTK_REAL_VEC G133 =
+ kmul(ToReal(0.5),kmadd(gu13,JacPDstandardNth3g33,kmadd(gu11,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu12,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33)))));
+
+ CCTK_REAL_VEC G233 =
+ kmul(ToReal(0.5),kmadd(gu23,JacPDstandardNth3g33,kmadd(gu21,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu22,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33)))));
+
+ CCTK_REAL_VEC G333 =
+ kmul(ToReal(0.5),kmadd(gu33,JacPDstandardNth3g33,kmadd(gu31,kmsub(JacPDstandardNth3g13,ToReal(2),JacPDstandardNth1g33),kmul(gu32,kmsub(JacPDstandardNth3g23,ToReal(2),JacPDstandardNth2g33)))));
+
+ CCTK_REAL_VEC R11 =
+ kadd(SQR(G111),kadd(SQR(G112),kadd(SQR(G113),kadd(SQR(G211),kadd(SQR(G212),kadd(SQR(G213),kadd(SQR(G311),kadd(SQR(G312),kadd(SQR(G313),knmsub(G111,kadd(G111,kadd(G122,G133)),knmsub(G211,kadd(G211,kadd(G222,G233)),knmsub(G311,kadd(G311,kadd(G322,G333)),kmadd(gu22,kmul(kadd(JacPDstandardNth11g22,kmadd(JacPDstandardNth21g12,ToReal(-2),JacPDstandardNth22g11)),ToReal(-0.5)),kmadd(gu33,kmul(kadd(JacPDstandardNth11g33,kmadd(JacPDstandardNth31g13,ToReal(-2),JacPDstandardNth33g11)),ToReal(-0.5)),kmadd(gu12,kmul(ksub(JacPDstandardNth21g11,JacPDstandardNth12g11),ToReal(0.5)),kmadd(gu13,kmul(ksub(JacPDstandardNth31g11,JacPDstandardNth13g11),ToReal(0.5)),kmadd(gu23,kmul(kadd(JacPDstandardNth21g13,ksub(JacPDstandardNth31g12,kadd(JacPDstandardNth23g11,JacPDstandardNth11g23))),ToReal(0.5)),kmul(gu32,kmul(kadd(JacPDstandardNth21g13,ksub(JacPDstandardNth31g12,kadd(JacPDstandardNth32g11,JacPDstandardNth11g23))),ToReal(0.5))))))))))))))))))));
+
+ CCTK_REAL_VEC R12 =
+ kmul(ToReal(0.5),kmadd(gu12,kadd(JacPDstandardNth11g22,JacPDstandardNth22g11),kmadd(gu32,JacPDstandardNth31g22,kmadd(gu13,JacPDstandardNth32g11,kmadd(gu23,JacPDstandardNth32g12,kmadd(gu33,JacPDstandardNth32g13,kmadd(kmadd(G112,G133,kmadd(G212,G233,kmadd(G312,G333,kmul(gu12,JacPDstandardNth12g12)))),ToReal(-2),knmsub(JacPDstandardNth12g23,kadd(gu32,gu23),kmadd(gu22,ksub(JacPDstandardNth21g22,JacPDstandardNth12g22),kmadd(gu13,ksub(JacPDstandardNth11g23,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13)),kmadd(gu23,ksub(JacPDstandardNth21g23,JacPDstandardNth23g12),kmadd(gu32,ksub(JacPDstandardNth22g13,JacPDstandardNth32g12),kmadd(gu33,ksub(JacPDstandardNth31g23,kadd(JacPDstandardNth33g12,JacPDstandardNth12g33)),kmul(kmadd(G113,G123,kmadd(G213,G223,kmul(G313,G323))),ToReal(2)))))))))))))));
+
+ CCTK_REAL_VEC R13 =
+ kmul(ToReal(0.5),kmadd(gu22,JacPDstandardNth23g12,kmadd(gu32,JacPDstandardNth31g23,kmadd(gu13,kadd(JacPDstandardNth11g33,JacPDstandardNth33g11),kmadd(gu23,JacPDstandardNth33g12,kmadd(kmadd(G113,G122,kmadd(G213,G222,kmadd(G313,G322,kmul(gu13,JacPDstandardNth13g13)))),ToReal(-2),knmsub(JacPDstandardNth13g23,kadd(gu32,gu23),kmadd(gu12,kadd(JacPDstandardNth11g23,ksub(JacPDstandardNth23g11,kadd(JacPDstandardNth13g12,JacPDstandardNth12g13))),kmadd(gu33,ksub(JacPDstandardNth31g33,JacPDstandardNth13g33),kmadd(gu22,ksub(JacPDstandardNth21g23,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22)),kmadd(gu23,ksub(JacPDstandardNth21g33,JacPDstandardNth23g13),kmadd(gu32,ksub(JacPDstandardNth23g13,JacPDstandardNth32g13),kmul(kmadd(G112,G123,kmadd(G212,G223,kmul(G312,G323))),ToReal(2))))))))))))));
+
+ CCTK_REAL_VEC R22 =
+ kadd(SQR(G112),kadd(SQR(G122),kadd(SQR(G123),kadd(SQR(G212),kadd(SQR(G222),kadd(SQR(G223),kadd(SQR(G312),kadd(SQR(G322),kadd(SQR(G323),knmsub(G122,kadd(G111,kadd(G122,G133)),knmsub(G222,kadd(G211,kadd(G222,G233)),knmsub(G322,kadd(G311,kadd(G322,G333)),kmadd(gu11,kmul(kadd(JacPDstandardNth11g22,kmadd(JacPDstandardNth12g12,ToReal(-2),JacPDstandardNth22g11)),ToReal(-0.5)),kmadd(gu33,kmul(kadd(JacPDstandardNth22g33,kmadd(JacPDstandardNth32g23,ToReal(-2),JacPDstandardNth33g22)),ToReal(-0.5)),kmadd(gu21,kmul(ksub(JacPDstandardNth12g22,JacPDstandardNth21g22),ToReal(0.5)),kmadd(gu13,kmul(kadd(JacPDstandardNth12g23,ksub(JacPDstandardNth32g12,kadd(JacPDstandardNth22g13,JacPDstandardNth13g22))),ToReal(0.5)),kmadd(gu23,kmul(ksub(JacPDstandardNth32g22,JacPDstandardNth23g22),ToReal(0.5)),kmul(gu31,kmul(kadd(JacPDstandardNth12g23,ksub(JacPDstandardNth32g12,kadd(JacPDstandardNth31g22,JacPDstandardNth22g13))),ToReal(0.5))))))))))))))))))));
- CCTK_REAL gu11 = INV(detg)*(g22L*g33L - SQR(g23L));
+ CCTK_REAL_VEC R23 =
+ kmul(ToReal(0.5),kmadd(gu23,kadd(JacPDstandardNth22g33,JacPDstandardNth33g22),kmadd(kmadd(G111,G123,kmadd(G211,G223,kmadd(G311,G323,kmul(gu23,JacPDstandardNth23g23)))),ToReal(-2),kmadd(gu11,kadd(JacPDstandardNth12g13,ksub(JacPDstandardNth13g12,kadd(JacPDstandardNth23g11,JacPDstandardNth11g23))),kmadd(gu21,kadd(JacPDstandardNth13g22,ksub(JacPDstandardNth22g13,kadd(JacPDstandardNth23g12,JacPDstandardNth21g23))),kmadd(gu13,kadd(JacPDstandardNth12g33,ksub(JacPDstandardNth33g12,kadd(JacPDstandardNth23g13,JacPDstandardNth13g23))),kmadd(gu33,ksub(JacPDstandardNth32g33,JacPDstandardNth23g33),kmadd(gu31,kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth32g13,kadd(JacPDstandardNth31g23,JacPDstandardNth23g13))),kmul(kmadd(G112,G113,kmadd(G212,G213,kmul(G312,G313))),ToReal(2))))))))));
- CCTK_REAL gu12 = (g13L*g23L - g12L*g33L)*INV(detg);
+ CCTK_REAL_VEC R33 =
+ kadd(SQR(G113),kadd(SQR(G123),kadd(SQR(G133),kadd(SQR(G213),kadd(SQR(G223),kadd(SQR(G233),kadd(SQR(G313),kadd(SQR(G323),kadd(SQR(G333),knmsub(G133,kadd(G111,kadd(G122,G133)),knmsub(G233,kadd(G211,kadd(G222,G233)),knmsub(G333,kadd(G311,kadd(G322,G333)),kmadd(gu11,kmul(kadd(JacPDstandardNth11g33,kmadd(JacPDstandardNth13g13,ToReal(-2),JacPDstandardNth33g11)),ToReal(-0.5)),kmadd(gu22,kmul(kadd(JacPDstandardNth22g33,kmadd(JacPDstandardNth23g23,ToReal(-2),JacPDstandardNth33g22)),ToReal(-0.5)),kmadd(gu31,kmul(ksub(JacPDstandardNth13g33,JacPDstandardNth31g33),ToReal(0.5)),kmadd(gu32,kmul(ksub(JacPDstandardNth23g33,JacPDstandardNth32g33),ToReal(0.5)),kmadd(gu12,kmul(kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth23g13,kadd(JacPDstandardNth33g12,JacPDstandardNth12g33))),ToReal(0.5)),kmul(gu21,kmul(kadd(JacPDstandardNth13g23,ksub(JacPDstandardNth23g13,kadd(JacPDstandardNth33g12,JacPDstandardNth21g33))),ToReal(0.5))))))))))))))))))));
- CCTK_REAL gu13 = (-(g13L*g22L) + g12L*g23L)*INV(detg);
+ CCTK_REAL_VEC trR =
+ kmadd(gu11,R11,kmadd(kadd(gu12,gu21),R12,kmadd(kadd(gu13,gu31),R13,kmadd(gu22,R22,kmadd(kadd(gu23,gu32),R23,kmul(gu33,R33))))));
- CCTK_REAL gu21 = (g13L*g23L - g12L*g33L)*INV(detg);
+ CCTK_REAL_VEC Km11 =
+ kmadd(gu11,K11L,kmadd(gu12,K12L,kmul(gu13,K13L)));
- CCTK_REAL gu22 = INV(detg)*(g11L*g33L - SQR(g13L));
+ CCTK_REAL_VEC Km21 =
+ kmadd(gu21,K11L,kmadd(gu22,K12L,kmul(gu23,K13L)));
- CCTK_REAL gu23 = (g12L*g13L - g11L*g23L)*INV(detg);
+ CCTK_REAL_VEC Km31 =
+ kmadd(gu31,K11L,kmadd(gu32,K12L,kmul(gu33,K13L)));
- CCTK_REAL gu31 = (-(g13L*g22L) + g12L*g23L)*INV(detg);
+ CCTK_REAL_VEC Km12 =
+ kmadd(gu11,K12L,kmadd(gu12,K22L,kmul(gu13,K23L)));
- CCTK_REAL gu32 = (g12L*g13L - g11L*g23L)*INV(detg);
+ CCTK_REAL_VEC Km22 =
+ kmadd(gu21,K12L,kmadd(gu22,K22L,kmul(gu23,K23L)));
- CCTK_REAL gu33 = INV(detg)*(g11L*g22L - SQR(g12L));
+ CCTK_REAL_VEC Km32 =
+ kmadd(gu31,K12L,kmadd(gu32,K22L,kmul(gu33,K23L)));
- CCTK_REAL G111 = 0.5*(gu11*PDstandardNth1g11 +
- 2*(gu12*PDstandardNth1g12 + gu13*PDstandardNth1g13) -
- gu12*PDstandardNth2g11 - gu13*PDstandardNth3g11);
+ CCTK_REAL_VEC Km13 =
+ kmadd(gu11,K13L,kmadd(gu12,K23L,kmul(gu13,K33L)));
- CCTK_REAL G211 = 0.5*(gu21*PDstandardNth1g11 +
- 2*(gu22*PDstandardNth1g12 + gu23*PDstandardNth1g13) -
- gu22*PDstandardNth2g11 - gu23*PDstandardNth3g11);
+ CCTK_REAL_VEC Km23 =
+ kmadd(gu21,K13L,kmadd(gu22,K23L,kmul(gu23,K33L)));
- CCTK_REAL G311 = 0.5*(gu31*PDstandardNth1g11 +
- 2*(gu32*PDstandardNth1g12 + gu33*PDstandardNth1g13) -
- gu32*PDstandardNth2g11 - gu33*PDstandardNth3g11);
+ CCTK_REAL_VEC Km33 =
+ kmadd(gu31,K13L,kmadd(gu32,K23L,kmul(gu33,K33L)));
- CCTK_REAL G112 = 0.5*(gu12*PDstandardNth1g22 + gu11*PDstandardNth2g11
- + gu13*(PDstandardNth1g23 + PDstandardNth2g13 - PDstandardNth3g12));
-
- CCTK_REAL G212 = 0.5*(gu22*PDstandardNth1g22 + gu21*PDstandardNth2g11
- + gu23*(PDstandardNth1g23 + PDstandardNth2g13 - PDstandardNth3g12));
-
- CCTK_REAL G312 = 0.5*(gu32*PDstandardNth1g22 + gu31*PDstandardNth2g11
- + gu33*(PDstandardNth1g23 + PDstandardNth2g13 - PDstandardNth3g12));
-
- CCTK_REAL G113 = 0.5*(gu13*PDstandardNth1g33 + gu11*PDstandardNth3g11
- + gu12*(PDstandardNth1g23 - PDstandardNth2g13 + PDstandardNth3g12));
-
- CCTK_REAL G213 = 0.5*(gu23*PDstandardNth1g33 + gu21*PDstandardNth3g11
- + gu22*(PDstandardNth1g23 - PDstandardNth2g13 + PDstandardNth3g12));
-
- CCTK_REAL G313 = 0.5*(gu33*PDstandardNth1g33 + gu31*PDstandardNth3g11
- + gu32*(PDstandardNth1g23 - PDstandardNth2g13 + PDstandardNth3g12));
+ CCTK_REAL_VEC trK = kadd(Km11,kadd(Km22,Km33));
- CCTK_REAL G122 = 0.5*(gu11*(-PDstandardNth1g22 + 2*PDstandardNth2g12)
- + gu12*PDstandardNth2g22 + gu13*(2*PDstandardNth2g23 -
- PDstandardNth3g22));
+ CCTK_REAL_VEC HL =
+ kadd(trR,kadd(SQR(trK),kmsub(kmadd(Km12,Km21,kmadd(Km13,Km31,kmul(Km23,Km32))),ToReal(-2),kadd(kadd(SQR(Km33),SQR(Km22)),SQR(Km11)))));
- CCTK_REAL G222 = 0.5*(gu21*(-PDstandardNth1g22 + 2*PDstandardNth2g12)
- + gu22*PDstandardNth2g22 + gu23*(2*PDstandardNth2g23 -
- PDstandardNth3g22));
+ CCTK_REAL_VEC M1L =
+ kmadd(gu21,kadd(JacPDstandardNth2K11,kmadd(G211,K22L,kmadd(G311,K23L,ksub(knmsub(G112,K11L,kmsub(K12L,ksub(G111,G212),kmul(G312,K13L))),JacPDstandardNth1K12)))),kmadd(gu22,kadd(JacPDstandardNth2K12,kmadd(G212,K22L,kmadd(G312,K23L,ksub(knmsub(G122,K11L,kmsub(K12L,ksub(G112,G222),kmul(G322,K13L))),JacPDstandardNth1K22)))),kmadd(gu23,kadd(JacPDstandardNth2K13,kmadd(G213,K22L,kmadd(G313,K23L,ksub(knmsub(G123,K11L,kmsub(K12L,ksub(G113,G223),kmul(G323,K13L))),JacPDstandardNth1K23)))),kmadd(gu31,kadd(JacPDstandardNth3K11,kmadd(G211,K23L,kmadd(G311,K33L,ksub(knmsub(G113,K11L,kmsub(K13L,ksub(G111,G313),kmul(G213,K12L))),JacPDstandardNth1K13)))),kmadd(gu32,kadd(JacPDstandardNth3K12,kmadd(G212,K23L,kmadd(G312,K33L,ksub(knmsub(G123,K11L,kmsub(K13L,ksub(G112,G323),kmul(G223,K12L))),JacPDstandardNth1K23)))),kmul(gu33,kadd(JacPDstandardNth3K13,kmadd(G213,K23L,kmadd(G313,K33L,ksub(knmsub(G133,K11L,kmsub(K13L,ksub(G113,G333),kmul(G233,K12L))),JacPDstandardNth1K33))))))))));
- CCTK_REAL G322 = 0.5*(gu31*(-PDstandardNth1g22 + 2*PDstandardNth2g12)
- + gu32*PDstandardNth2g22 + gu33*(2*PDstandardNth2g23 -
- PDstandardNth3g22));
+ CCTK_REAL_VEC M2L =
+ kmadd(gu11,kadd(JacPDstandardNth1K12,kmadd(G112,K11L,kmadd(G312,K13L,ksub(knmsub(G211,K22L,kmsub(K12L,ksub(G212,G111),kmul(G311,K23L))),JacPDstandardNth2K11)))),kmadd(gu12,kadd(JacPDstandardNth1K22,kmadd(G122,K11L,kmadd(G322,K13L,ksub(knmsub(G212,K22L,kmsub(K12L,ksub(G222,G112),kmul(G312,K23L))),JacPDstandardNth2K12)))),kmadd(gu13,kadd(JacPDstandardNth1K23,kmadd(G123,K11L,kmadd(G323,K13L,ksub(knmsub(G213,K22L,kmsub(K12L,ksub(G223,G113),kmul(G313,K23L))),JacPDstandardNth2K13)))),kmadd(gu31,kadd(JacPDstandardNth3K12,kmadd(G112,K13L,kmadd(G312,K33L,ksub(knmsub(G113,K12L,kmsub(K23L,ksub(G212,G313),kmul(G213,K22L))),JacPDstandardNth2K13)))),kmadd(gu32,kadd(JacPDstandardNth3K22,kmadd(G122,K13L,kmadd(G322,K33L,ksub(knmsub(G123,K12L,kmsub(K23L,ksub(G222,G323),kmul(G223,K22L))),JacPDstandardNth2K23)))),kmul(gu33,kadd(JacPDstandardNth3K23,kmadd(G123,K13L,kmadd(G323,K33L,ksub(knmsub(G133,K12L,kmsub(K23L,ksub(G223,G333),kmul(G233,K22L))),JacPDstandardNth2K33))))))))));
- CCTK_REAL G123 = 0.5*(gu13*PDstandardNth2g33 +
- gu11*(-PDstandardNth1g23 + PDstandardNth2g13 + PDstandardNth3g12) +
- gu12*PDstandardNth3g22);
+ CCTK_REAL_VEC M3L =
+ kmadd(gu11,kadd(JacPDstandardNth1K13,kmadd(G113,K11L,kmadd(G213,K12L,ksub(knmsub(G211,K23L,kmsub(K13L,ksub(G313,G111),kmul(G311,K33L))),JacPDstandardNth3K11)))),kmadd(gu12,kadd(JacPDstandardNth1K23,kmadd(G123,K11L,kmadd(G223,K12L,ksub(knmsub(G212,K23L,kmsub(K13L,ksub(G323,G112),kmul(G312,K33L))),JacPDstandardNth3K12)))),kmadd(gu13,kadd(JacPDstandardNth1K33,kmadd(G133,K11L,kmadd(G233,K12L,ksub(knmsub(G213,K23L,kmsub(K13L,ksub(G333,G113),kmul(G313,K33L))),JacPDstandardNth3K13)))),kmadd(gu21,kadd(JacPDstandardNth2K13,kmadd(G113,K12L,kmadd(G213,K22L,ksub(knmsub(G112,K13L,kmsub(K23L,ksub(G313,G212),kmul(G312,K33L))),JacPDstandardNth3K12)))),kmadd(gu22,kadd(JacPDstandardNth2K23,kmadd(G123,K12L,kmadd(G223,K22L,ksub(knmsub(G122,K13L,kmsub(K23L,ksub(G323,G222),kmul(G322,K33L))),JacPDstandardNth3K22)))),kmul(gu23,kadd(JacPDstandardNth2K33,kmadd(G133,K12L,kmadd(G233,K22L,ksub(knmsub(G123,K13L,kmsub(K23L,ksub(G333,G223),kmul(G323,K33L))),JacPDstandardNth3K23))))))))));
- CCTK_REAL G223 = 0.5*(gu23*PDstandardNth2g33 +
- gu21*(-PDstandardNth1g23 + PDstandardNth2g13 + PDstandardNth3g12) +
- gu22*PDstandardNth3g22);
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL G323 = 0.5*(gu33*PDstandardNth2g33 +
- gu31*(-PDstandardNth1g23 + PDstandardNth2g13 + PDstandardNth3g12) +
- gu32*PDstandardNth3g22);
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(H[index],HL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(M1[index],M1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(M2[index],M2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(M3[index],M3L,elt_count_lo,elt_count_hi);
+ break;
+ }
- CCTK_REAL G133 = 0.5*(gu11*(-PDstandardNth1g33 + 2*PDstandardNth3g13)
- + gu12*(-PDstandardNth2g33 + 2*PDstandardNth3g23) +
- gu13*PDstandardNth3g33);
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL G233 = 0.5*(gu21*(-PDstandardNth1g33 + 2*PDstandardNth3g13)
- + gu22*(-PDstandardNth2g33 + 2*PDstandardNth3g23) +
- gu23*PDstandardNth3g33);
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(H[index],HL,elt_count);
+ vec_store_nta_partial_hi(M1[index],M1L,elt_count);
+ vec_store_nta_partial_hi(M2[index],M2L,elt_count);
+ vec_store_nta_partial_hi(M3[index],M3L,elt_count);
+ continue;
+ }
- CCTK_REAL G333 = 0.5*(gu31*(-PDstandardNth1g33 + 2*PDstandardNth3g13)
- + gu32*(-PDstandardNth2g33 + 2*PDstandardNth3g23) +
- gu33*PDstandardNth3g33);
+ /* If necessary, store only partial vectors after the last iteration */
- CCTK_REAL R11 = -(G111*(G111 + G122 + G133)) - G211*(G211 + G222 +
- G233) - G311*(G311 + G322 + G333) - 0.5*gu22*(PDstandardNth11g22 -
- 2*PDstandardNth12g12 + PDstandardNth22g11) +
- 0.5*gu23*(-PDstandardNth11g23 + PDstandardNth12g13 + PDstandardNth13g12
- - PDstandardNth23g11) + 0.5*gu32*(-PDstandardNth11g23 +
- PDstandardNth12g13 + PDstandardNth13g12 - PDstandardNth23g11) -
- 0.5*gu33*(PDstandardNth11g33 - 2*PDstandardNth13g13 +
- PDstandardNth33g11) + SQR(G111) + SQR(G112) + SQR(G113) + SQR(G211) +
- SQR(G212) + SQR(G213) + SQR(G311) + SQR(G312) + SQR(G313);
-
- CCTK_REAL R12 = 0.5*(2*(G113*G123 + G213*G223 + G313*G323) -
- 2*(G112*G133 + G212*G233 + G312*G333 + gu12*PDstandardNth12g12) +
- gu13*(PDstandardNth11g23 - PDstandardNth12g13 - PDstandardNth13g12) +
- gu12*(PDstandardNth11g22 + PDstandardNth22g11) +
- gu32*PDstandardNth22g13 + gu13*PDstandardNth23g11 +
- gu32*(-PDstandardNth12g23 + PDstandardNth13g22 - PDstandardNth23g12) +
- gu33*PDstandardNth23g13 + gu33*(-PDstandardNth12g33 +
- PDstandardNth13g23 - PDstandardNth33g12));
-
- CCTK_REAL R13 = 0.5*(2*(G112*G123 + G212*G223 + G312*G323) -
- 2*(G113*G122 + G213*G222 + G313*G322 + gu13*PDstandardNth13g13) +
- gu12*(PDstandardNth11g23 - PDstandardNth12g13 - PDstandardNth13g12 +
- PDstandardNth23g11) + gu22*(PDstandardNth12g23 - PDstandardNth13g22 -
- PDstandardNth22g13 + PDstandardNth23g12) + gu13*(PDstandardNth11g33 +
- PDstandardNth33g11) + gu23*(PDstandardNth12g33 - PDstandardNth13g23 -
- PDstandardNth23g13 + PDstandardNth33g12));
-
- CCTK_REAL R22 = -(G122*(G111 + G122 + G133)) - G222*(G211 + G222 +
- G233) - G322*(G311 + G322 + G333) - 0.5*gu11*(PDstandardNth11g22 -
- 2*PDstandardNth12g12 + PDstandardNth22g11) +
- 0.5*gu13*(PDstandardNth12g23 - PDstandardNth13g22 - PDstandardNth22g13
- + PDstandardNth23g12) + 0.5*gu31*(PDstandardNth12g23 -
- PDstandardNth13g22 - PDstandardNth22g13 + PDstandardNth23g12) -
- 0.5*gu33*(PDstandardNth22g33 - 2*PDstandardNth23g23 +
- PDstandardNth33g22) + SQR(G112) + SQR(G122) + SQR(G123) + SQR(G212) +
- SQR(G222) + SQR(G223) + SQR(G312) + SQR(G322) + SQR(G323);
-
- CCTK_REAL R23 = 0.5*(2*(G112*G113 + G212*G213 + G312*G313) +
- gu11*(-PDstandardNth11g23 + PDstandardNth12g13 + PDstandardNth13g12 -
- PDstandardNth23g11) + gu21*(-PDstandardNth12g23 + PDstandardNth13g22 +
- PDstandardNth22g13 - PDstandardNth23g12) - 2*(G111*G123 + G211*G223 +
- G311*G323 + gu23*PDstandardNth23g23) + gu13*(PDstandardNth12g33 -
- PDstandardNth13g23 - PDstandardNth23g13 + PDstandardNth33g12) +
- gu23*(PDstandardNth22g33 + PDstandardNth33g22));
-
- CCTK_REAL R33 = -(G133*(G111 + G122 + G133)) - G233*(G211 + G222 +
- G233) - G333*(G311 + G322 + G333) - 0.5*gu11*(PDstandardNth11g33 -
- 2*PDstandardNth13g13 + PDstandardNth33g11) +
- 0.5*gu12*(-PDstandardNth12g33 + PDstandardNth13g23 + PDstandardNth23g13
- - PDstandardNth33g12) + 0.5*gu21*(-PDstandardNth12g33 +
- PDstandardNth13g23 + PDstandardNth23g13 - PDstandardNth33g12) -
- 0.5*gu22*(PDstandardNth22g33 - 2*PDstandardNth23g23 +
- PDstandardNth33g22) + SQR(G113) + SQR(G123) + SQR(G133) + SQR(G213) +
- SQR(G223) + SQR(G233) + SQR(G313) + SQR(G323) + SQR(G333);
-
- CCTK_REAL trR = gu11*R11 + (gu12 + gu21)*R12 + (gu13 + gu31)*R13 +
- gu22*R22 + (gu23 + gu32)*R23 + gu33*R33;
-
- CCTK_REAL Km11 = gu11*K11L + gu12*K12L + gu13*K13L;
-
- CCTK_REAL Km21 = gu21*K11L + gu22*K12L + gu23*K13L;
-
- CCTK_REAL Km31 = gu31*K11L + gu32*K12L + gu33*K13L;
-
- CCTK_REAL Km12 = gu11*K12L + gu12*K22L + gu13*K23L;
-
- CCTK_REAL Km22 = gu21*K12L + gu22*K22L + gu23*K23L;
-
- CCTK_REAL Km32 = gu31*K12L + gu32*K22L + gu33*K23L;
-
- CCTK_REAL Km13 = gu11*K13L + gu12*K23L + gu13*K33L;
-
- CCTK_REAL Km23 = gu21*K13L + gu22*K23L + gu23*K33L;
-
- CCTK_REAL Km33 = gu31*K13L + gu32*K23L + gu33*K33L;
-
- CCTK_REAL trK = Km11 + Km22 + Km33;
-
- CCTK_REAL HL = -2*(Km12*Km21 + Km13*Km31 + Km23*Km32) + trR -
- SQR(Km11) - SQR(Km22) - SQR(Km33) + SQR(trK);
-
- CCTK_REAL M1L = gu21*(-(G112*K11L) + (G111 - G212)*K12L - G312*K13L +
- G211*K22L + G311*K23L - PDstandardNth1K12 + PDstandardNth2K11) +
- gu22*(-(G122*K11L) + (G112 - G222)*K12L - G322*K13L + G212*K22L +
- G312*K23L - PDstandardNth1K22 + PDstandardNth2K12) + gu23*(-(G123*K11L)
- + (G113 - G223)*K12L - G323*K13L + G213*K22L + G313*K23L -
- PDstandardNth1K23 + PDstandardNth2K13) + gu31*(-(G113*K11L) - G213*K12L
- + (G111 - G313)*K13L + G211*K23L + G311*K33L - PDstandardNth1K13 +
- PDstandardNth3K11) + gu32*(-(G123*K11L) - G223*K12L + (G112 -
- G323)*K13L + G212*K23L + G312*K33L - PDstandardNth1K23 +
- PDstandardNth3K12) + gu33*(-(G133*K11L) - G233*K12L + (G113 -
- G333)*K13L + G213*K23L + G313*K33L - PDstandardNth1K33 +
- PDstandardNth3K13);
-
- CCTK_REAL M2L = gu11*(G112*K11L + (-G111 + G212)*K12L + G312*K13L -
- G211*K22L - G311*K23L + PDstandardNth1K12 - PDstandardNth2K11) +
- gu12*(G122*K11L + (-G112 + G222)*K12L + G322*K13L - G212*K22L -
- G312*K23L + PDstandardNth1K22 - PDstandardNth2K12) + gu13*(G123*K11L +
- (-G113 + G223)*K12L + G323*K13L - G213*K22L - G313*K23L +
- PDstandardNth1K23 - PDstandardNth2K13) + gu31*(-(G113*K12L) + G112*K13L
- - G213*K22L + (G212 - G313)*K23L + G312*K33L - PDstandardNth2K13 +
- PDstandardNth3K12) + gu32*(-(G123*K12L) + G122*K13L - G223*K22L + (G222
- - G323)*K23L + G322*K33L - PDstandardNth2K23 + PDstandardNth3K22) +
- gu33*(-(G133*K12L) + G123*K13L - G233*K22L + (G223 - G333)*K23L +
- G323*K33L - PDstandardNth2K33 + PDstandardNth3K23);
-
- CCTK_REAL M3L = gu11*(G113*K11L + G213*K12L + (-G111 + G313)*K13L -
- G211*K23L - G311*K33L + PDstandardNth1K13 - PDstandardNth3K11) +
- gu12*(G123*K11L + G223*K12L + (-G112 + G323)*K13L - G212*K23L -
- G312*K33L + PDstandardNth1K23 - PDstandardNth3K12) + gu21*(G113*K12L -
- G112*K13L + G213*K22L + (-G212 + G313)*K23L - G312*K33L +
- PDstandardNth2K13 - PDstandardNth3K12) + gu13*(G133*K11L + G233*K12L +
- (-G113 + G333)*K13L - G213*K23L - G313*K33L + PDstandardNth1K33 -
- PDstandardNth3K13) + gu22*(G123*K12L - G122*K13L + G223*K22L + (-G222 +
- G323)*K23L - G322*K33L + PDstandardNth2K23 - PDstandardNth3K22) +
- gu23*(G133*K12L - G123*K13L + G233*K22L + (-G223 + G333)*K23L -
- G323*K33L + PDstandardNth2K33 - PDstandardNth3K23);
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(H[index],HL,elt_count);
+ vec_store_nta_partial_lo(M1[index],M1L,elt_count);
+ vec_store_nta_partial_lo(M2[index],M2L,elt_count);
+ vec_store_nta_partial_lo(M3[index],M3L,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- H[index] = HL;
- M1[index] = M1L;
- M2[index] = M2L;
- M3[index] = M3L;
+ vec_store_nta(H[index],HL);
+ vec_store_nta(M1[index],M1L);
+ vec_store_nta(M2[index],M2L);
+ vec_store_nta(M3[index],M3L);
}
- LC_ENDLOOP3 (ML_ADM_constraints);
+ LC_ENDLOOP3VEC (ML_ADM_constraints);
}
extern "C" void ML_ADM_constraints(CCTK_ARGUMENTS)
diff --git a/ML_ADM/src/ML_ADM_constraints_boundary.cc b/ML_ADM/src/ML_ADM_constraints_boundary.cc
index b5322c5..3df350b 100644
--- a/ML_ADM/src/ML_ADM_constraints_boundary.cc
+++ b/ML_ADM/src/ML_ADM_constraints_boundary.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
extern "C" void ML_ADM_constraints_boundary_SelectBCs(CCTK_ARGUMENTS)
{
@@ -57,6 +58,20 @@ static void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH,
const char *groups[] = {"ML_ADM::ML_Ham","ML_ADM::ML_mom"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_constraints_boundary", 2, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -67,38 +82,111 @@ static void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH,
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_constraints_boundary,
+ LC_LOOP3VEC (ML_ADM_constraints_boundary,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
@@ -106,26 +194,79 @@ static void ML_ADM_constraints_boundary_Body(cGH const * restrict const cctkGH,
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
- CCTK_REAL HL = 0;
+ CCTK_REAL_VEC HL = ToReal(0);
+
+ CCTK_REAL_VEC M1L = ToReal(0);
+
+ CCTK_REAL_VEC M2L = ToReal(0);
+
+ CCTK_REAL_VEC M3L = ToReal(0);
+
+ /* If necessary, store only partial vectors after the first iteration */
+
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(H[index],HL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(M1[index],M1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(M2[index],M2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(M3[index],M3L,elt_count_lo,elt_count_hi);
+ break;
+ }
+
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL M1L = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(H[index],HL,elt_count);
+ vec_store_nta_partial_hi(M1[index],M1L,elt_count);
+ vec_store_nta_partial_hi(M2[index],M2L,elt_count);
+ vec_store_nta_partial_hi(M3[index],M3L,elt_count);
+ continue;
+ }
- CCTK_REAL M2L = 0;
+ /* If necessary, store only partial vectors after the last iteration */
- CCTK_REAL M3L = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(H[index],HL,elt_count);
+ vec_store_nta_partial_lo(M1[index],M1L,elt_count);
+ vec_store_nta_partial_lo(M2[index],M2L,elt_count);
+ vec_store_nta_partial_lo(M3[index],M3L,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- H[index] = HL;
- M1[index] = M1L;
- M2[index] = M2L;
- M3[index] = M3L;
+ vec_store_nta(H[index],HL);
+ vec_store_nta(M1[index],M1L);
+ vec_store_nta(M2[index],M2L);
+ vec_store_nta(M3[index],M3L);
}
- LC_ENDLOOP3 (ML_ADM_constraints_boundary);
+ LC_ENDLOOP3VEC (ML_ADM_constraints_boundary);
}
extern "C" void ML_ADM_constraints_boundary(CCTK_ARGUMENTS)
diff --git a/ML_ADM/src/ML_ADM_convertFromADMBase.cc b/ML_ADM/src/ML_ADM_convertFromADMBase.cc
index 8c67661..36c4eb4 100644
--- a/ML_ADM/src/ML_ADM_convertFromADMBase.cc
+++ b/ML_ADM/src/ML_ADM_convertFromADMBase.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
@@ -42,6 +43,20 @@ static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, in
const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_convertFromADMBase", 8, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -52,117 +67,279 @@ static void ML_ADM_convertFromADMBase_Body(cGH const * restrict const cctkGH, in
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_convertFromADMBase,
+ LC_LOOP3VEC (ML_ADM_convertFromADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL alpL = alp[index];
- CCTK_REAL betaxL = betax[index];
- CCTK_REAL betayL = betay[index];
- CCTK_REAL betazL = betaz[index];
- CCTK_REAL gxxL = gxx[index];
- CCTK_REAL gxyL = gxy[index];
- CCTK_REAL gxzL = gxz[index];
- CCTK_REAL gyyL = gyy[index];
- CCTK_REAL gyzL = gyz[index];
- CCTK_REAL gzzL = gzz[index];
- CCTK_REAL kxxL = kxx[index];
- CCTK_REAL kxyL = kxy[index];
- CCTK_REAL kxzL = kxz[index];
- CCTK_REAL kyyL = kyy[index];
- CCTK_REAL kyzL = kyz[index];
- CCTK_REAL kzzL = kzz[index];
+ CCTK_REAL_VEC alpL = vec_load(alp[index]);
+ CCTK_REAL_VEC betaxL = vec_load(betax[index]);
+ CCTK_REAL_VEC betayL = vec_load(betay[index]);
+ CCTK_REAL_VEC betazL = vec_load(betaz[index]);
+ CCTK_REAL_VEC gxxL = vec_load(gxx[index]);
+ CCTK_REAL_VEC gxyL = vec_load(gxy[index]);
+ CCTK_REAL_VEC gxzL = vec_load(gxz[index]);
+ CCTK_REAL_VEC gyyL = vec_load(gyy[index]);
+ CCTK_REAL_VEC gyzL = vec_load(gyz[index]);
+ CCTK_REAL_VEC gzzL = vec_load(gzz[index]);
+ CCTK_REAL_VEC kxxL = vec_load(kxx[index]);
+ CCTK_REAL_VEC kxyL = vec_load(kxy[index]);
+ CCTK_REAL_VEC kxzL = vec_load(kxz[index]);
+ CCTK_REAL_VEC kyyL = vec_load(kyy[index]);
+ CCTK_REAL_VEC kyzL = vec_load(kyz[index]);
+ CCTK_REAL_VEC kzzL = vec_load(kzz[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
- CCTK_REAL g11L = gxxL;
+ CCTK_REAL_VEC g11L = gxxL;
+
+ CCTK_REAL_VEC g12L = gxyL;
+
+ CCTK_REAL_VEC g13L = gxzL;
+
+ CCTK_REAL_VEC g22L = gyyL;
+
+ CCTK_REAL_VEC g23L = gyzL;
+
+ CCTK_REAL_VEC g33L = gzzL;
+
+ CCTK_REAL_VEC K11L = kxxL;
- CCTK_REAL g12L = gxyL;
+ CCTK_REAL_VEC K12L = kxyL;
- CCTK_REAL g13L = gxzL;
+ CCTK_REAL_VEC K13L = kxzL;
- CCTK_REAL g22L = gyyL;
+ CCTK_REAL_VEC K22L = kyyL;
- CCTK_REAL g23L = gyzL;
+ CCTK_REAL_VEC K23L = kyzL;
- CCTK_REAL g33L = gzzL;
+ CCTK_REAL_VEC K33L = kzzL;
- CCTK_REAL K11L = kxxL;
+ CCTK_REAL_VEC alphaL = alpL;
- CCTK_REAL K12L = kxyL;
+ CCTK_REAL_VEC beta1L = betaxL;
- CCTK_REAL K13L = kxzL;
+ CCTK_REAL_VEC beta2L = betayL;
- CCTK_REAL K22L = kyyL;
+ CCTK_REAL_VEC beta3L = betazL;
- CCTK_REAL K23L = kyzL;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL K33L = kzzL;
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(alpha[index],alphaL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta1[index],beta1L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta2[index],beta2L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(beta3[index],beta3L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g11[index],g11L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g12[index],g12L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g13[index],g13L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g22[index],g22L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g23[index],g23L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(g33[index],g33L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K11[index],K11L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K12[index],K12L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K13[index],K13L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K22[index],K22L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K23[index],K23L,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(K33[index],K33L,elt_count_lo,elt_count_hi);
+ break;
+ }
- CCTK_REAL alphaL = alpL;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL beta1L = betaxL;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(alpha[index],alphaL,elt_count);
+ vec_store_nta_partial_hi(beta1[index],beta1L,elt_count);
+ vec_store_nta_partial_hi(beta2[index],beta2L,elt_count);
+ vec_store_nta_partial_hi(beta3[index],beta3L,elt_count);
+ vec_store_nta_partial_hi(g11[index],g11L,elt_count);
+ vec_store_nta_partial_hi(g12[index],g12L,elt_count);
+ vec_store_nta_partial_hi(g13[index],g13L,elt_count);
+ vec_store_nta_partial_hi(g22[index],g22L,elt_count);
+ vec_store_nta_partial_hi(g23[index],g23L,elt_count);
+ vec_store_nta_partial_hi(g33[index],g33L,elt_count);
+ vec_store_nta_partial_hi(K11[index],K11L,elt_count);
+ vec_store_nta_partial_hi(K12[index],K12L,elt_count);
+ vec_store_nta_partial_hi(K13[index],K13L,elt_count);
+ vec_store_nta_partial_hi(K22[index],K22L,elt_count);
+ vec_store_nta_partial_hi(K23[index],K23L,elt_count);
+ vec_store_nta_partial_hi(K33[index],K33L,elt_count);
+ continue;
+ }
- CCTK_REAL beta2L = betayL;
+ /* If necessary, store only partial vectors after the last iteration */
- CCTK_REAL beta3L = betazL;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(alpha[index],alphaL,elt_count);
+ vec_store_nta_partial_lo(beta1[index],beta1L,elt_count);
+ vec_store_nta_partial_lo(beta2[index],beta2L,elt_count);
+ vec_store_nta_partial_lo(beta3[index],beta3L,elt_count);
+ vec_store_nta_partial_lo(g11[index],g11L,elt_count);
+ vec_store_nta_partial_lo(g12[index],g12L,elt_count);
+ vec_store_nta_partial_lo(g13[index],g13L,elt_count);
+ vec_store_nta_partial_lo(g22[index],g22L,elt_count);
+ vec_store_nta_partial_lo(g23[index],g23L,elt_count);
+ vec_store_nta_partial_lo(g33[index],g33L,elt_count);
+ vec_store_nta_partial_lo(K11[index],K11L,elt_count);
+ vec_store_nta_partial_lo(K12[index],K12L,elt_count);
+ vec_store_nta_partial_lo(K13[index],K13L,elt_count);
+ vec_store_nta_partial_lo(K22[index],K22L,elt_count);
+ vec_store_nta_partial_lo(K23[index],K23L,elt_count);
+ vec_store_nta_partial_lo(K33[index],K33L,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- alpha[index] = alphaL;
- beta1[index] = beta1L;
- beta2[index] = beta2L;
- beta3[index] = beta3L;
- g11[index] = g11L;
- g12[index] = g12L;
- g13[index] = g13L;
- g22[index] = g22L;
- g23[index] = g23L;
- g33[index] = g33L;
- K11[index] = K11L;
- K12[index] = K12L;
- K13[index] = K13L;
- K22[index] = K22L;
- K23[index] = K23L;
- K33[index] = K33L;
+ vec_store_nta(alpha[index],alphaL);
+ vec_store_nta(beta1[index],beta1L);
+ vec_store_nta(beta2[index],beta2L);
+ vec_store_nta(beta3[index],beta3L);
+ vec_store_nta(g11[index],g11L);
+ vec_store_nta(g12[index],g12L);
+ vec_store_nta(g13[index],g13L);
+ vec_store_nta(g22[index],g22L);
+ vec_store_nta(g23[index],g23L);
+ vec_store_nta(g33[index],g33L);
+ vec_store_nta(K11[index],K11L);
+ vec_store_nta(K12[index],K12L);
+ vec_store_nta(K13[index],K13L);
+ vec_store_nta(K22[index],K22L);
+ vec_store_nta(K23[index],K23L);
+ vec_store_nta(K33[index],K33L);
}
- LC_ENDLOOP3 (ML_ADM_convertFromADMBase);
+ LC_ENDLOOP3VEC (ML_ADM_convertFromADMBase);
}
extern "C" void ML_ADM_convertFromADMBase(CCTK_ARGUMENTS)
diff --git a/ML_ADM/src/ML_ADM_convertToADMBase.cc b/ML_ADM/src/ML_ADM_convertToADMBase.cc
index d6a8e73..75748bf 100644
--- a/ML_ADM/src/ML_ADM_convertToADMBase.cc
+++ b/ML_ADM/src/ML_ADM_convertToADMBase.cc
@@ -13,13 +13,14 @@
#include "GenericFD.h"
#include "Differencing.h"
#include "loopcontrol.h"
+#include "vectors.h"
/* Define macros used in calculations */
#define INITVALUE (42)
#define QAD(x) (SQR(SQR(x)))
-#define INV(x) ((1.0) / (x))
-#define SQR(x) ((x) * (x))
-#define CUB(x) ((x) * (x) * (x))
+#define INV(x) (kdiv(ToReal(1.0),x))
+#define SQR(x) (kmul(x,x))
+#define CUB(x) (kmul(x,SQR(x)))
static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[])
{
@@ -42,6 +43,20 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int
const char *groups[] = {"ADMBase::curv","ADMBase::dtlapse","ADMBase::dtshift","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_ADM::ML_curv","ML_ADM::ML_lapse","ML_ADM::ML_metric","ML_ADM::ML_shift"};
GenericFD_AssertGroupStorage(cctkGH, "ML_ADM_convertToADMBase", 10, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -52,129 +67,303 @@ static void ML_ADM_convertToADMBase_Body(cGH const * restrict const cctkGH, int
ptrdiff_t const cdi = sizeof(CCTK_REAL) * di;
ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj;
ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk;
- CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0));
- CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1));
- CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2));
- CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME);
- CCTK_REAL const dxi = INV(dx);
- CCTK_REAL const dyi = INV(dy);
- CCTK_REAL const dzi = INV(dz);
- CCTK_REAL const khalf = 0.5;
- CCTK_REAL const kthird = 1/3.0;
- CCTK_REAL const ktwothird = 2.0/3.0;
- CCTK_REAL const kfourthird = 4.0/3.0;
- CCTK_REAL const keightthird = 8.0/3.0;
- CCTK_REAL const hdxi = 0.5 * dxi;
- CCTK_REAL const hdyi = 0.5 * dyi;
- CCTK_REAL const hdzi = 0.5 * dzi;
+ CCTK_REAL_VEC const dx = ToReal(CCTK_DELTA_SPACE(0));
+ CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1));
+ CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2));
+ CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME);
+ CCTK_REAL_VEC const dxi = INV(dx);
+ CCTK_REAL_VEC const dyi = INV(dy);
+ CCTK_REAL_VEC const dzi = INV(dz);
+ CCTK_REAL_VEC const khalf = ToReal(0.5);
+ CCTK_REAL_VEC const kthird = ToReal(1.0/3.0);
+ CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0);
+ CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0);
+ CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0);
+ CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi);
+ CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi);
+ CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
- CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx);
- CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy);
- CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz);
- CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy);
- CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz);
- CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz);
- CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx));
- CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy));
- CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz));
+ CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444)));
+ CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556));
+ CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5));
+ CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5));
+ CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778)));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413));
+ CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6)));
+ CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048));
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333));
+
+ /* Jacobian variable pointers */
+ bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ && strlen(jacobian_group) > 0;
+ if (use_jacobian && strlen(jacobian_derivative_group) == 0)
+ {
+ CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
+ }
+
+ CCTK_REAL const *restrict jacobian_ptrs[9];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ 9, jacobian_ptrs);
+
+ CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0;
+ CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0;
+ CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0;
+ CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0;
+ CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0;
+ CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0;
+ CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0;
+ CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0;
+ CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0;
+
+ CCTK_REAL const *restrict jacobian_derivative_ptrs[18];
+ if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
+
+ CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
+ CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
+ CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
+ CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
+ CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
+ CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
+ CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
+ CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
+ CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
+ CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
+ CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
+ CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
+ CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
+ CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
+ CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
+ CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
+ CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
+ CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3 (ML_ADM_convertToADMBase,
+ LC_LOOP3VEC (ML_ADM_convertToADMBase,
i,j,k, min[0],min[1],min[2], max[0],max[1],max[2],
- cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ CCTK_REAL_VEC_SIZE)
{
ptrdiff_t const index = di*i + dj*j + dk*k;
/* Assign local copies of grid functions */
- CCTK_REAL alphaL = alpha[index];
- CCTK_REAL beta1L = beta1[index];
- CCTK_REAL beta2L = beta2[index];
- CCTK_REAL beta3L = beta3[index];
- CCTK_REAL g11L = g11[index];
- CCTK_REAL g12L = g12[index];
- CCTK_REAL g13L = g13[index];
- CCTK_REAL g22L = g22[index];
- CCTK_REAL g23L = g23[index];
- CCTK_REAL g33L = g33[index];
- CCTK_REAL K11L = K11[index];
- CCTK_REAL K12L = K12[index];
- CCTK_REAL K13L = K13[index];
- CCTK_REAL K22L = K22[index];
- CCTK_REAL K23L = K23[index];
- CCTK_REAL K33L = K33[index];
+ CCTK_REAL_VEC alphaL = vec_load(alpha[index]);
+ CCTK_REAL_VEC beta1L = vec_load(beta1[index]);
+ CCTK_REAL_VEC beta2L = vec_load(beta2[index]);
+ CCTK_REAL_VEC beta3L = vec_load(beta3[index]);
+ CCTK_REAL_VEC g11L = vec_load(g11[index]);
+ CCTK_REAL_VEC g12L = vec_load(g12[index]);
+ CCTK_REAL_VEC g13L = vec_load(g13[index]);
+ CCTK_REAL_VEC g22L = vec_load(g22[index]);
+ CCTK_REAL_VEC g23L = vec_load(g23[index]);
+ CCTK_REAL_VEC g33L = vec_load(g33[index]);
+ CCTK_REAL_VEC K11L = vec_load(K11[index]);
+ CCTK_REAL_VEC K12L = vec_load(K12[index]);
+ CCTK_REAL_VEC K13L = vec_load(K13[index]);
+ CCTK_REAL_VEC K22L = vec_load(K22[index]);
+ CCTK_REAL_VEC K23L = vec_load(K23[index]);
+ CCTK_REAL_VEC K33L = vec_load(K33[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
- CCTK_REAL gxxL = g11L;
+ CCTK_REAL_VEC gxxL = g11L;
+
+ CCTK_REAL_VEC gxyL = g12L;
+
+ CCTK_REAL_VEC gxzL = g13L;
+
+ CCTK_REAL_VEC gyyL = g22L;
+
+ CCTK_REAL_VEC gyzL = g23L;
+
+ CCTK_REAL_VEC gzzL = g33L;
+
+ CCTK_REAL_VEC kxxL = K11L;
- CCTK_REAL gxyL = g12L;
+ CCTK_REAL_VEC kxyL = K12L;
- CCTK_REAL gxzL = g13L;
+ CCTK_REAL_VEC kxzL = K13L;
- CCTK_REAL gyyL = g22L;
+ CCTK_REAL_VEC kyyL = K22L;
- CCTK_REAL gyzL = g23L;
+ CCTK_REAL_VEC kyzL = K23L;
- CCTK_REAL gzzL = g33L;
+ CCTK_REAL_VEC kzzL = K33L;
- CCTK_REAL kxxL = K11L;
+ CCTK_REAL_VEC alpL = alphaL;
- CCTK_REAL kxyL = K12L;
+ CCTK_REAL_VEC dtalpL = ToReal(0);
- CCTK_REAL kxzL = K13L;
+ CCTK_REAL_VEC betaxL = beta1L;
- CCTK_REAL kyyL = K22L;
+ CCTK_REAL_VEC betayL = beta2L;
- CCTK_REAL kyzL = K23L;
+ CCTK_REAL_VEC betazL = beta3L;
- CCTK_REAL kzzL = K33L;
+ CCTK_REAL_VEC dtbetaxL = ToReal(0);
- CCTK_REAL alpL = alphaL;
+ CCTK_REAL_VEC dtbetayL = ToReal(0);
- CCTK_REAL dtalpL = 0;
+ CCTK_REAL_VEC dtbetazL = ToReal(0);
- CCTK_REAL betaxL = beta1L;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL betayL = beta2L;
+ if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count_lo = lc_imin-i;
+ ptrdiff_t const elt_count_hi = lc_imax-i;
+ vec_store_nta_partial_mid(alp[index],alpL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(betax[index],betaxL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(betay[index],betayL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(betaz[index],betazL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(dtalp[index],dtalpL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(dtbetax[index],dtbetaxL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(dtbetay[index],dtbetayL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(dtbetaz[index],dtbetazL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(gxx[index],gxxL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(gxy[index],gxyL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(gxz[index],gxzL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(gyy[index],gyyL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(gyz[index],gyzL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(gzz[index],gzzL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(kxx[index],kxxL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(kxy[index],kxyL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(kxz[index],kxzL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(kyy[index],kyyL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(kyz[index],kyzL,elt_count_lo,elt_count_hi);
+ vec_store_nta_partial_mid(kzz[index],kzzL,elt_count_lo,elt_count_hi);
+ break;
+ }
- CCTK_REAL betazL = beta3L;
+ /* If necessary, store only partial vectors after the first iteration */
- CCTK_REAL dtbetaxL = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0))
+ {
+ ptrdiff_t const elt_count = lc_imin-i;
+ vec_store_nta_partial_hi(alp[index],alpL,elt_count);
+ vec_store_nta_partial_hi(betax[index],betaxL,elt_count);
+ vec_store_nta_partial_hi(betay[index],betayL,elt_count);
+ vec_store_nta_partial_hi(betaz[index],betazL,elt_count);
+ vec_store_nta_partial_hi(dtalp[index],dtalpL,elt_count);
+ vec_store_nta_partial_hi(dtbetax[index],dtbetaxL,elt_count);
+ vec_store_nta_partial_hi(dtbetay[index],dtbetayL,elt_count);
+ vec_store_nta_partial_hi(dtbetaz[index],dtbetazL,elt_count);
+ vec_store_nta_partial_hi(gxx[index],gxxL,elt_count);
+ vec_store_nta_partial_hi(gxy[index],gxyL,elt_count);
+ vec_store_nta_partial_hi(gxz[index],gxzL,elt_count);
+ vec_store_nta_partial_hi(gyy[index],gyyL,elt_count);
+ vec_store_nta_partial_hi(gyz[index],gyzL,elt_count);
+ vec_store_nta_partial_hi(gzz[index],gzzL,elt_count);
+ vec_store_nta_partial_hi(kxx[index],kxxL,elt_count);
+ vec_store_nta_partial_hi(kxy[index],kxyL,elt_count);
+ vec_store_nta_partial_hi(kxz[index],kxzL,elt_count);
+ vec_store_nta_partial_hi(kyy[index],kyyL,elt_count);
+ vec_store_nta_partial_hi(kyz[index],kyzL,elt_count);
+ vec_store_nta_partial_hi(kzz[index],kzzL,elt_count);
+ continue;
+ }
- CCTK_REAL dtbetayL = 0;
+ /* If necessary, store only partial vectors after the last iteration */
- CCTK_REAL dtbetazL = 0;
+ if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0))
+ {
+ ptrdiff_t const elt_count = lc_imax-i;
+ vec_store_nta_partial_lo(alp[index],alpL,elt_count);
+ vec_store_nta_partial_lo(betax[index],betaxL,elt_count);
+ vec_store_nta_partial_lo(betay[index],betayL,elt_count);
+ vec_store_nta_partial_lo(betaz[index],betazL,elt_count);
+ vec_store_nta_partial_lo(dtalp[index],dtalpL,elt_count);
+ vec_store_nta_partial_lo(dtbetax[index],dtbetaxL,elt_count);
+ vec_store_nta_partial_lo(dtbetay[index],dtbetayL,elt_count);
+ vec_store_nta_partial_lo(dtbetaz[index],dtbetazL,elt_count);
+ vec_store_nta_partial_lo(gxx[index],gxxL,elt_count);
+ vec_store_nta_partial_lo(gxy[index],gxyL,elt_count);
+ vec_store_nta_partial_lo(gxz[index],gxzL,elt_count);
+ vec_store_nta_partial_lo(gyy[index],gyyL,elt_count);
+ vec_store_nta_partial_lo(gyz[index],gyzL,elt_count);
+ vec_store_nta_partial_lo(gzz[index],gzzL,elt_count);
+ vec_store_nta_partial_lo(kxx[index],kxxL,elt_count);
+ vec_store_nta_partial_lo(kxy[index],kxyL,elt_count);
+ vec_store_nta_partial_lo(kxz[index],kxzL,elt_count);
+ vec_store_nta_partial_lo(kyy[index],kyyL,elt_count);
+ vec_store_nta_partial_lo(kyz[index],kyzL,elt_count);
+ vec_store_nta_partial_lo(kzz[index],kzzL,elt_count);
+ break;
+ }
/* Copy local copies back to grid functions */
- alp[index] = alpL;
- betax[index] = betaxL;
- betay[index] = betayL;
- betaz[index] = betazL;
- dtalp[index] = dtalpL;
- dtbetax[index] = dtbetaxL;
- dtbetay[index] = dtbetayL;
- dtbetaz[index] = dtbetazL;
- gxx[index] = gxxL;
- gxy[index] = gxyL;
- gxz[index] = gxzL;
- gyy[index] = gyyL;
- gyz[index] = gyzL;
- gzz[index] = gzzL;
- kxx[index] = kxxL;
- kxy[index] = kxyL;
- kxz[index] = kxzL;
- kyy[index] = kyyL;
- kyz[index] = kyzL;
- kzz[index] = kzzL;
+ vec_store_nta(alp[index],alpL);
+ vec_store_nta(betax[index],betaxL);
+ vec_store_nta(betay[index],betayL);
+ vec_store_nta(betaz[index],betazL);
+ vec_store_nta(dtalp[index],dtalpL);
+ vec_store_nta(dtbetax[index],dtbetaxL);
+ vec_store_nta(dtbetay[index],dtbetayL);
+ vec_store_nta(dtbetaz[index],dtbetazL);
+ vec_store_nta(gxx[index],gxxL);
+ vec_store_nta(gxy[index],gxyL);
+ vec_store_nta(gxz[index],gxzL);
+ vec_store_nta(gyy[index],gyyL);
+ vec_store_nta(gyz[index],gyzL);
+ vec_store_nta(gzz[index],gzzL);
+ vec_store_nta(kxx[index],kxxL);
+ vec_store_nta(kxy[index],kxyL);
+ vec_store_nta(kxz[index],kxzL);
+ vec_store_nta(kyy[index],kyyL);
+ vec_store_nta(kyz[index],kyzL);
+ vec_store_nta(kzz[index],kzzL);
}
- LC_ENDLOOP3 (ML_ADM_convertToADMBase);
+ LC_ENDLOOP3VEC (ML_ADM_convertToADMBase);
}
extern "C" void ML_ADM_convertToADMBase(CCTK_ARGUMENTS)