aboutsummaryrefslogtreecommitdiff
path: root/ML_BSSN
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2011-09-19 17:44:24 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-09-19 17:44:24 +0200
commit99b2621c33bff4e5adb35d95bfa5a9472c1121ef (patch)
tree7ca730e6731761032c89de6a23e530870a89607f /ML_BSSN
parent13b0e6baecf6fe824f1ff60ed4502cda613a4308 (diff)
Regenerate code
Diffstat (limited to 'ML_BSSN')
-rw-r--r--ML_BSSN/param.ccl9
-rw-r--r--ML_BSSN/src/Differencing.h1047
-rw-r--r--ML_BSSN/src/ML_BSSN_Advect.cc2010
-rw-r--r--ML_BSSN/src/ML_BSSN_Dissipation.cc1110
-rw-r--r--ML_BSSN/src/ML_BSSN_InitGamma.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_InitRHS.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_Minkowski.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_RHS1.cc1034
-rw-r--r--ML_BSSN/src/ML_BSSN_RHS2.cc1456
-rw-r--r--ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_boundary.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints1.cc1216
-rw-r--r--ML_BSSN/src/ML_BSSN_constraints2.cc712
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBase.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc708
-rw-r--r--ML_BSSN/src/ML_BSSN_convertToADMBase.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc456
-rw-r--r--ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc135
-rw-r--r--ML_BSSN/src/ML_BSSN_enforce.cc135
20 files changed, 10230 insertions, 878 deletions
diff --git a/ML_BSSN/param.ccl b/ML_BSSN/param.ccl
index 3d1cb43..f201772 100644
--- a/ML_BSSN/param.ccl
+++ b/ML_BSSN/param.ccl
@@ -37,6 +37,9 @@ EXTENDS CCTK_KEYWORD dtshift_evolution_method "dtshift_evolution_method"
shares: GenericFD
+USES CCTK_STRING jacobian_group
+USES CCTK_STRING jacobian_derivative_group
+USES CCTK_INT jacobian_identity_map
shares: MethodOfLines
@@ -139,6 +142,12 @@ CCTK_INT conformalMethod "Treatment of conformal factor"
*:* :: ""
} 0
+restricted:
+CCTK_INT fdOrder "fdOrder"
+{
+ *:* :: ""
+} 4
+
private:
KEYWORD my_initial_data "my_initial_data"
{
diff --git a/ML_BSSN/src/Differencing.h b/ML_BSSN/src/Differencing.h
index 3fab658..5b657ef 100644
--- a/ML_BSSN/src/Differencing.h
+++ b/ML_BSSN/src/Differencing.h
@@ -2,11 +2,47 @@
#include "vectors.h"
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth1(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)]))))))
+# 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 PDstandardNth1(u) (PDstandardNth1_impl(u,p1o12dx,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth1_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 PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))));
@@ -14,11 +50,11 @@ static CCTK_REAL_VEC PDstandardNth1_impl(CCTK_REAL const* restrict const u, CCTK
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth2(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)]))))))
+# 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 PDstandardNth2(u) (PDstandardNth2_impl(u,p1o12dy,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth2_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 PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))));
@@ -26,11 +62,11 @@ static CCTK_REAL_VEC PDstandardNth2_impl(CCTK_REAL const* restrict const u, CCTK
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth3(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)]))))))
+# 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 PDstandardNth3(u) (PDstandardNth3_impl(u,p1o12dz,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth3_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 PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))));
@@ -38,11 +74,119 @@ static CCTK_REAL_VEC PDstandardNth3_impl(CCTK_REAL const* restrict const u, CCTK
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth11(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)))))))
+# 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 PDstandardNth11(u) (PDstandardNth11_impl(u,pm1o12dx2,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth11_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 PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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))))));
@@ -50,11 +194,11 @@ static CCTK_REAL_VEC PDstandardNth11_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth22(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)))))))
+# 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 PDstandardNth22(u) (PDstandardNth22_impl(u,pm1o12dy2,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth22_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 PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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))))));
@@ -62,11 +206,11 @@ static CCTK_REAL_VEC PDstandardNth22_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth33(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)))))))
+# 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 PDstandardNth33(u) (PDstandardNth33_impl(u,pm1o12dz2,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth33_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 PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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))))));
@@ -74,11 +218,155 @@ static CCTK_REAL_VEC PDstandardNth33_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth12(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)]))))))))
+# 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 PDstandardNth12(u) (PDstandardNth12_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth12_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 PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))))));
@@ -86,11 +374,11 @@ static CCTK_REAL_VEC PDstandardNth12_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth13(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)]))))))))
+# 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 PDstandardNth13(u) (PDstandardNth13_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth13_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 PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))))));
@@ -98,11 +386,11 @@ static CCTK_REAL_VEC PDstandardNth13_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth21(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)]))))))))
+# 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 PDstandardNth21(u) (PDstandardNth21_impl(u,p1o144dxdy,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth21_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 PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))))));
@@ -110,11 +398,11 @@ static CCTK_REAL_VEC PDstandardNth21_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth23(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)]))))))))
+# 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 PDstandardNth23(u) (PDstandardNth23_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth23_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 PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))))));
@@ -122,11 +410,11 @@ static CCTK_REAL_VEC PDstandardNth23_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth31(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)]))))))))
+# 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 PDstandardNth31(u) (PDstandardNth31_impl(u,p1o144dxdz,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth31_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 PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))))));
@@ -134,11 +422,11 @@ static CCTK_REAL_VEC PDstandardNth31_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardNth32(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)]))))))))
+# 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 PDstandardNth32(u) (PDstandardNth32_impl(u,p1o144dydz,cdj,cdk))
-static CCTK_REAL_VEC PDstandardNth32_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 PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# 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)])))))));
@@ -146,11 +434,191 @@ static CCTK_REAL_VEC PDstandardNth32_impl(CCTK_REAL const* restrict const u, CCT
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDdissipationNth1(u) (kmul(p1o64dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+# 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 PDdissipationNthfdOrder21(u) (kmul(p1o16dx,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6)))))))
#else
-# define PDdissipationNth1(u) (PDdissipationNth1_impl(u,p1o64dx,cdj,cdk))
-static CCTK_REAL_VEC PDdissipationNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDdissipationNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDdissipationNthfdOrder21(u) (PDdissipationNthfdOrder21_impl(u,p1o16dx,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o16dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o16dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o16dx,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder22(u) (kmul(p1o16dy,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6)))))))
+#else
+# define PDdissipationNthfdOrder22(u) (PDdissipationNthfdOrder22_impl(u,p1o16dy,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o16dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o16dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o16dy,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder23(u) (kmul(p1o16dz,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6)))))))
+#else
+# define PDdissipationNthfdOrder23(u) (PDdissipationNthfdOrder23_impl(u,p1o16dz,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o16dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o16dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o16dz,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder41(u) (kmul(p1o64dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+#else
+# define PDdissipationNthfdOrder41(u) (PDdissipationNthfdOrder41_impl(u,p1o64dx,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
return kmul(p1o64dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
@@ -158,11 +626,11 @@ static CCTK_REAL_VEC PDdissipationNth1_impl(CCTK_REAL const* restrict const u, C
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDdissipationNth2(u) (kmul(p1o64dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+# define PDdissipationNthfdOrder42(u) (kmul(p1o64dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
#else
-# define PDdissipationNth2(u) (PDdissipationNth2_impl(u,p1o64dy,cdj,cdk))
-static CCTK_REAL_VEC PDdissipationNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDdissipationNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDdissipationNthfdOrder42(u) (PDdissipationNthfdOrder42_impl(u,p1o64dy,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
return kmul(p1o64dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
@@ -170,11 +638,11 @@ static CCTK_REAL_VEC PDdissipationNth2_impl(CCTK_REAL const* restrict const u, C
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDdissipationNth3(u) (kmul(p1o64dz,kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),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,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+# define PDdissipationNthfdOrder43(u) (kmul(p1o64dz,kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),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,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
#else
-# define PDdissipationNth3(u) (PDdissipationNth3_impl(u,p1o64dz,cdj,cdk))
-static CCTK_REAL_VEC PDdissipationNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDdissipationNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDdissipationNthfdOrder43(u) (PDdissipationNthfdOrder43_impl(u,p1o64dz,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o64dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
return kmul(p1o64dz,kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),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,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
@@ -182,33 +650,210 @@ static CCTK_REAL_VEC PDdissipationNth3_impl(CCTK_REAL const* restrict const u, C
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNth1(u) (kmul(p1o12dx,kmul(dir1,kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3*dir1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-10),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir1)+cdj*(0)+cdk*(0)]),ToReal(-6),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-dir1)+cdj*(0)+cdk*(0)]),ToReal(-3),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir1)+cdj*(0)+cdk*(0)]),ToReal(18)))))))))
+# define PDdissipationNthfdOrder61(u) (kmul(p1o256dx,kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70)))))))))
+#else
+# define PDdissipationNthfdOrder61(u) (PDdissipationNthfdOrder61_impl(u,p1o256dx,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o256dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o256dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o256dx,kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder62(u) (kmul(p1o256dy,kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70)))))))))
+#else
+# define PDdissipationNthfdOrder62(u) (PDdissipationNthfdOrder62_impl(u,p1o256dy,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o256dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o256dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o256dy,kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder63(u) (kmul(p1o256dz,kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70)))))))))
+#else
+# define PDdissipationNthfdOrder63(u) (PDdissipationNthfdOrder63_impl(u,p1o256dz,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o256dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o256dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o256dz,kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder81(u) (kmul(p1o1024dx,kadd(vec_loadu_maybe3(-5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-5)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210))))))))))
+#else
+# define PDdissipationNthfdOrder81(u) (PDdissipationNthfdOrder81_impl(u,p1o1024dx,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1024dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1024dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o1024dx,kadd(vec_loadu_maybe3(-5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-5)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210)))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder82(u) (kmul(p1o1024dy,kadd(vec_loadu_maybe3(0,-5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-5)+cdk*(0)]),kadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210))))))))))
+#else
+# define PDdissipationNthfdOrder82(u) (PDdissipationNthfdOrder82_impl(u,p1o1024dy,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1024dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1024dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o1024dy,kadd(vec_loadu_maybe3(0,-5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-5)+cdk*(0)]),kadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210)))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDdissipationNthfdOrder83(u) (kmul(p1o1024dz,kadd(vec_loadu_maybe3(0,0,-5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-5)]),kadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210))))))))))
+#else
+# define PDdissipationNthfdOrder83(u) (PDdissipationNthfdOrder83_impl(u,p1o1024dz,cdj,cdk))
+static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1024dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDdissipationNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1024dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o1024dz,kadd(vec_loadu_maybe3(0,0,-5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-5)]),kadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210)))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder21(u) (kmul(pm1o2dx,kmul(dir1,kadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir1)+cdj*(0)+cdk*(0)]),ToReal(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(3)))))))
#else
-# define PDupwindNth1(u) (PDupwindNth1_impl(u,p1o12dx,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNth1_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 PDupwindNth1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthfdOrder21(u) (PDupwindNthfdOrder21_impl(u,pm1o2dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{ assert(0); return ToReal(1e30); /* ERROR */ }
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNth2(u) (kmul(p1o12dy,kmul(dir2,kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3*dir2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-10),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir2)+cdk*(0)]),ToReal(-6),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-dir2)+cdk*(0)]),ToReal(-3),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir2)+cdk*(0)]),ToReal(18)))))))))
+# define PDupwindNthfdOrder41(u) (kmul(p1o12dx,kmul(dir1,kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3*dir1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-10),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir1)+cdj*(0)+cdk*(0)]),ToReal(-6),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-dir1)+cdj*(0)+cdk*(0)]),ToReal(-3),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir1)+cdj*(0)+cdk*(0)]),ToReal(18)))))))))
#else
-# define PDupwindNth2(u) (PDupwindNth2_impl(u,p1o12dy,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNth2_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 PDupwindNth2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthfdOrder41(u) (PDupwindNthfdOrder41_impl(u,p1o12dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder41_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 PDupwindNthfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{ assert(0); return ToReal(1e30); /* ERROR */ }
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNth3(u) (kmul(p1o12dz,kmul(dir3,kadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3*dir3)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-10),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir3)]),ToReal(-6),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-dir3)]),ToReal(-3),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),ToReal(18)))))))))
+# define PDupwindNthfdOrder61(u) (kmul(pm1o60dx,kmul(dir1,kadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4*dir1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir1)+cdj*(0)+cdk*(0)]),ToReal(-80),kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3*dir1)+cdj*(0)+cdk*(0)]),ToReal(-8),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2*dir1)+cdj*(0)+cdk*(0)]),ToReal(-2),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-dir1)+cdj*(0)+cdk*(0)]),ToReal(24),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir1)+cdj*(0)+cdk*(0)]),ToReal(30),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(35)))))))))))
#else
-# define PDupwindNth3(u) (PDupwindNth3_impl(u,p1o12dz,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNth3_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 PDupwindNth3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthfdOrder61(u) (PDupwindNthfdOrder61_impl(u,pm1o60dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
{ assert(0); return ToReal(1e30); /* ERROR */ }
#endif
#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder81(u) (kmul(p1o840dx,kmul(dir1,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-378),kmadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5*dir1)+cdj*(0)+cdk*(0)]),ToReal(3),kmul(ToReal(-5),kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3*dir1)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir1)+cdj*(0)+cdk*(0)]),ToReal(-210),kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3*dir1)+cdj*(0)+cdk*(0)]),ToReal(-28),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2*dir1)+cdj*(0)+cdk*(0)]),ToReal(-12),kmadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4*dir1)+cdj*(0)+cdk*(0)]),ToReal(6),kmul(kadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-dir1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2*dir1)+cdj*(0)+cdk*(0)])),ToReal(84)))))))))))))
+#else
+# define PDupwindNthfdOrder81(u) (PDupwindNthfdOrder81_impl(u,p1o840dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder81_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 PDupwindNthfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder21(u) (kmul(p1o4dx,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(-4),kmsub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(4),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))))))
+#else
+# define PDupwindNthAntifdOrder21(u) (PDupwindNthAntifdOrder21_impl(u,p1o4dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dx,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(-4),kmsub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(4),vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder41(u) (kmul(p1o24dx,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(-21),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)])))))))
+#else
+# define PDupwindNthAntifdOrder41(u) (PDupwindNthAntifdOrder41_impl(u,p1o24dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o24dx,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(-21),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder61(u) (kmul(p1o120dx,kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-104),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),ToReal(-8),ksub(kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),ToReal(8),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(32),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(104)))),vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]))))))))
+#else
+# define PDupwindNthAntifdOrder61(u) (PDupwindNthAntifdOrder61_impl(u,p1o120dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o120dx,kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-104),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),ToReal(-8),ksub(kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),ToReal(8),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(32),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(104)))),vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder81(u) (kmul(p1o1680dx,kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-1470),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-480),kmadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),ToReal(-145),kmadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]),ToReal(-30),kmadd(vec_loadu_maybe3(-5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-5)+cdj*(0)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5)+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(30),kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),ToReal(145),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(480),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(1470)))))))))))))
+#else
+# define PDupwindNthAntifdOrder81(u) (PDupwindNthAntifdOrder81_impl(u,p1o1680dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1680dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1680dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o1680dx,kmadd(vec_loadu_maybe3(-1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]),ToReal(-1470),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-480),kmadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),ToReal(-145),kmadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]),ToReal(-30),kmadd(vec_loadu_maybe3(-5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-5)+cdj*(0)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5)+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(30),kmadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),ToReal(145),kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(480),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(1470))))))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder21(u) (kmul(pm1o4dx,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6)))))))
+#else
+# define PDupwindNthSymmfdOrder21(u) (PDupwindNthSymmfdOrder21_impl(u,pm1o4dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o4dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o4dx,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder41(u) (kmul(p1o24dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+#else
+# define PDupwindNthSymmfdOrder41(u) (PDupwindNthSymmfdOrder41_impl(u,p1o24dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o24dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder61(u) (kmul(pm1o120dx,kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70)))))))))
+#else
+# define PDupwindNthSymmfdOrder61(u) (PDupwindNthSymmfdOrder61_impl(u,pm1o120dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o120dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o120dx,kadd(vec_loadu_maybe3(-4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(4,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder81(u) (kmul(p1o560dx,kadd(vec_loadu_maybe3(-5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-5)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210))))))))))
+#else
+# define PDupwindNthSymmfdOrder81(u) (PDupwindNthSymmfdOrder81_impl(u,p1o560dx,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o560dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o560dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o560dx,kadd(vec_loadu_maybe3(-5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-5)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(5,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(5)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210)))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
# define PDonesided1(u) (kmul(p1odx,kmul(dir1,ksub(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(dir1)+cdj*(0)+cdk*(0)]),vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)])))))
#else
# define PDonesided1(u) (PDonesided1_impl(u,p1odx,cdj,cdk))
@@ -218,6 +863,138 @@ static CCTK_REAL_VEC PDonesided1_impl(CCTK_REAL const* restrict const u, CCTK_RE
#endif
#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder22(u) (kmul(pm1o2dy,kmul(dir2,kadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir2)+cdk*(0)]),ToReal(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(3)))))))
+#else
+# define PDupwindNthfdOrder22(u) (PDupwindNthfdOrder22_impl(u,pm1o2dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder42(u) (kmul(p1o12dy,kmul(dir2,kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3*dir2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-10),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir2)+cdk*(0)]),ToReal(-6),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-dir2)+cdk*(0)]),ToReal(-3),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir2)+cdk*(0)]),ToReal(18)))))))))
+#else
+# define PDupwindNthfdOrder42(u) (PDupwindNthfdOrder42_impl(u,p1o12dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder42_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 PDupwindNthfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder62(u) (kmul(pm1o60dy,kmul(dir2,kadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4*dir2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir2)+cdk*(0)]),ToReal(-80),kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3*dir2)+cdk*(0)]),ToReal(-8),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2*dir2)+cdk*(0)]),ToReal(-2),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-dir2)+cdk*(0)]),ToReal(24),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir2)+cdk*(0)]),ToReal(30),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(35)))))))))))
+#else
+# define PDupwindNthfdOrder62(u) (PDupwindNthfdOrder62_impl(u,pm1o60dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder82(u) (kmul(p1o840dy,kmul(dir2,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-378),kmadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5*dir2)+cdk*(0)]),ToReal(3),kmul(ToReal(-5),kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3*dir2)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir2)+cdk*(0)]),ToReal(-210),kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3*dir2)+cdk*(0)]),ToReal(-28),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2*dir2)+cdk*(0)]),ToReal(-12),kmadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4*dir2)+cdk*(0)]),ToReal(6),kmul(kadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-dir2)+cdk*(0)]),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2*dir2)+cdk*(0)])),ToReal(84)))))))))))))
+#else
+# define PDupwindNthfdOrder82(u) (PDupwindNthfdOrder82_impl(u,p1o840dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder82_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 PDupwindNthfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder22(u) (kmul(p1o4dy,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(-4),kmsub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(4),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))))))
+#else
+# define PDupwindNthAntifdOrder22(u) (PDupwindNthAntifdOrder22_impl(u,p1o4dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o4dy,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(-4),kmsub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(4),vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder42(u) (kmul(p1o24dy,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(-21),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)])))))))
+#else
+# define PDupwindNthAntifdOrder42(u) (PDupwindNthAntifdOrder42_impl(u,p1o24dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o24dy,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(-21),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder62(u) (kmul(p1o120dy,kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-104),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),ToReal(-8),ksub(kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),ToReal(8),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(32),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(104)))),vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]))))))))
+#else
+# define PDupwindNthAntifdOrder62(u) (PDupwindNthAntifdOrder62_impl(u,p1o120dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o120dy,kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-104),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),ToReal(-8),ksub(kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),ToReal(8),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(32),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(104)))),vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder82(u) (kmul(p1o1680dy,kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-1470),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-480),kmadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),ToReal(-145),kmadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]),ToReal(-30),kmadd(vec_loadu_maybe3(0,-5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-5)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5)+cdk*(0)]),ToReal(3),kmadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),ToReal(30),kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),ToReal(145),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(480),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(1470)))))))))))))
+#else
+# define PDupwindNthAntifdOrder82(u) (PDupwindNthAntifdOrder82_impl(u,p1o1680dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1680dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1680dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o1680dy,kmadd(vec_loadu_maybe3(0,-1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]),ToReal(-1470),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-480),kmadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),ToReal(-145),kmadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]),ToReal(-30),kmadd(vec_loadu_maybe3(0,-5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-5)+cdk*(0)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5)+cdk*(0)]),ToReal(3),kmadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),ToReal(30),kmadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),ToReal(145),kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(480),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(1470))))))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder22(u) (kmul(pm1o4dy,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6)))))))
+#else
+# define PDupwindNthSymmfdOrder22(u) (PDupwindNthSymmfdOrder22_impl(u,pm1o4dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o4dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o4dy,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder42(u) (kmul(p1o24dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+#else
+# define PDupwindNthSymmfdOrder42(u) (PDupwindNthSymmfdOrder42_impl(u,p1o24dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o24dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder62(u) (kmul(pm1o120dy,kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70)))))))))
+#else
+# define PDupwindNthSymmfdOrder62(u) (PDupwindNthSymmfdOrder62_impl(u,pm1o120dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o120dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o120dy,kadd(vec_loadu_maybe3(0,-4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]),kadd(vec_loadu_maybe3(0,4,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder82(u) (kmul(p1o560dy,kadd(vec_loadu_maybe3(0,-5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-5)+cdk*(0)]),kadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210))))))))))
+#else
+# define PDupwindNthSymmfdOrder82(u) (PDupwindNthSymmfdOrder82_impl(u,p1o560dy,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o560dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o560dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o560dy,kadd(vec_loadu_maybe3(0,-5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-5)+cdk*(0)]),kadd(vec_loadu_maybe3(0,5,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(5)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210)))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
# define PDonesided2(u) (kmul(p1ody,kmul(dir2,ksub(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(dir2)+cdk*(0)]),vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)])))))
#else
# define PDonesided2(u) (PDonesided2_impl(u,p1ody,cdj,cdk))
@@ -227,83 +1004,143 @@ static CCTK_REAL_VEC PDonesided2_impl(CCTK_REAL const* restrict const u, CCTK_RE
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDonesided3(u) (kmul(p1odz,kmul(dir3,ksub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)])))))
+# define PDupwindNthfdOrder23(u) (kmul(pm1o2dz,kmul(dir3,kadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir3)]),kmadd(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),ToReal(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(3)))))))
#else
-# define PDonesided3(u) (PDonesided3_impl(u,p1odz,cdj,cdk))
-static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthfdOrder23(u) (PDupwindNthfdOrder23_impl(u,pm1o2dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder43(u) (kmul(p1o12dz,kmul(dir3,kadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3*dir3)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-10),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir3)]),ToReal(-6),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-dir3)]),ToReal(-3),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),ToReal(18)))))))))
+#else
+# define PDupwindNthfdOrder43(u) (PDupwindNthfdOrder43_impl(u,p1o12dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder43_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 PDupwindNthfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{ assert(0); return ToReal(1e30); /* ERROR */ }
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNthAnti1(u) (kmul(p1o24dx,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(-21),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)])))))))
+# define PDupwindNthfdOrder63(u) (kmul(pm1o60dz,kmul(dir3,kadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4*dir3)]),kmadd(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),ToReal(-80),kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3*dir3)]),ToReal(-8),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2*dir3)]),ToReal(-2),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-dir3)]),ToReal(24),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir3)]),ToReal(30),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(35)))))))))))
#else
-# define PDupwindNthAnti1(u) (PDupwindNthAnti1_impl(u,p1o24dx,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNthAnti1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDupwindNthAnti1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthfdOrder63(u) (PDupwindNthfdOrder63_impl(u,pm1o60dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthfdOrder83(u) (kmul(p1o840dz,kmul(dir3,kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-378),kmadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5*dir3)]),ToReal(3),kmul(ToReal(-5),kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3*dir3)]),kmadd(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),ToReal(-210),kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3*dir3)]),ToReal(-28),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2*dir3)]),ToReal(-12),kmadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4*dir3)]),ToReal(6),kmul(kadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-dir3)]),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2*dir3)])),ToReal(84)))))))))))))
+#else
+# define PDupwindNthfdOrder83(u) (PDupwindNthfdOrder83_impl(u,p1o840dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthfdOrder83_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 PDupwindNthfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthAntifdOrder23(u) (kmul(p1o4dz,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(-4),kmsub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(4),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))))))
+#else
+# define PDupwindNthAntifdOrder23(u) (PDupwindNthAntifdOrder23_impl(u,p1o4dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return kmul(p1o24dx,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(-21),kmadd(vec_loadu_maybe3(2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(-2,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(1,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]))))));
+ return kmul(p1o4dz,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(-4),kmsub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(4),vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNthSymm1(u) (kmul(p1o24dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+# define PDupwindNthAntifdOrder43(u) (kmul(p1o24dz,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(-21),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(6),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(21))),vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)])))))))
#else
-# define PDupwindNthSymm1(u) (PDupwindNthSymm1_impl(u,p1o24dx,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNthSymm1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDupwindNthSymm1_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dx, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthAntifdOrder43(u) (PDupwindNthAntifdOrder43_impl(u,p1o24dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return kmul(p1o24dx,kadd(vec_loadu_maybe3(-3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]),kadd(vec_loadu_maybe3(3,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
+ return kmul(p1o24dz,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(-21),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(6),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(21))),vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNthAnti2(u) (kmul(p1o24dy,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(-21),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)])))))))
+# define PDupwindNthAntifdOrder63(u) (kmul(p1o120dz,kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-104),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),ToReal(-8),ksub(kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),ToReal(8),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(32),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(104)))),vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]))))))))
#else
-# define PDupwindNthAnti2(u) (PDupwindNthAnti2_impl(u,p1o24dy,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNthAnti2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDupwindNthAnti2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthAntifdOrder63(u) (PDupwindNthAntifdOrder63_impl(u,p1o120dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return kmul(p1o24dy,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(-21),kmadd(vec_loadu_maybe3(0,2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,-2,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]),ToReal(6),kmul(vec_loadu_maybe3(0,1,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]),ToReal(21))),vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]))))));
+ return kmul(p1o120dz,kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-104),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-32),kmadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),ToReal(-8),ksub(kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),ToReal(8),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(32),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(104)))),vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNthSymm2(u) (kmul(p1o24dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+# define PDupwindNthAntifdOrder83(u) (kmul(p1o1680dz,kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-1470),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-480),kmadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),ToReal(-145),kmadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),ToReal(-30),kmadd(vec_loadu_maybe3(0,0,-5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-5)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5)]),ToReal(3),kmadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),ToReal(30),kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),ToReal(145),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(480),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(1470)))))))))))))
#else
-# define PDupwindNthSymm2(u) (PDupwindNthSymm2_impl(u,p1o24dy,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNthSymm2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDupwindNthSymm2_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dy, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthAntifdOrder83(u) (PDupwindNthAntifdOrder83_impl(u,p1o1680dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1680dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthAntifdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o1680dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return kmul(p1o24dy,kadd(vec_loadu_maybe3(0,-3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]),kadd(vec_loadu_maybe3(0,3,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
+ return kmul(p1o1680dz,kmadd(vec_loadu_maybe3(0,0,-1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]),ToReal(-1470),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-480),kmadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),ToReal(-145),kmadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),ToReal(-30),kmadd(vec_loadu_maybe3(0,0,-5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-5)]),ToReal(-3),kmadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5)]),ToReal(3),kmadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),ToReal(30),kmadd(vec_loadu_maybe3(0,0,3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]),ToReal(145),kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(480),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(1470))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNthAnti3(u) (kmul(p1o24dz,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(-21),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(6),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(21))),vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)])))))))
+# define PDupwindNthSymmfdOrder23(u) (kmul(pm1o4dz,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6)))))))
#else
-# define PDupwindNthAnti3(u) (PDupwindNthAnti3_impl(u,p1o24dz,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNthAnti3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDupwindNthAnti3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthSymmfdOrder23(u) (PDupwindNthSymmfdOrder23_impl(u,pm1o4dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o4dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
- return kmul(p1o24dz,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(-21),kmadd(vec_loadu_maybe3(0,0,2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]),ToReal(-6),ksub(kmadd(vec_loadu_maybe3(0,0,-2,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]),ToReal(6),kmul(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]),ToReal(21))),vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]))))));
+ return kmul(pm1o4dz,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(-4),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(6))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDupwindNthSymm3(u) (kmul(p1o24dz,kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),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,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
+# define PDupwindNthSymmfdOrder43(u) (kmul(p1o24dz,kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),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,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15))))))))
#else
-# define PDupwindNthSymm3(u) (PDupwindNthSymm3_impl(u,p1o24dz,cdj,cdk))
-static CCTK_REAL_VEC PDupwindNthSymm3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
-static CCTK_REAL_VEC PDupwindNthSymm3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+# define PDupwindNthSymmfdOrder43(u) (PDupwindNthSymmfdOrder43_impl(u,p1o24dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o24dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
{
ptrdiff_t const cdi=sizeof(CCTK_REAL);
return kmul(p1o24dz,kadd(vec_loadu_maybe3(0,0,-3,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]),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,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-20),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(-6),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(15)))))));
}
#endif
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder63(u) (kmul(pm1o120dz,kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70)))))))))
+#else
+# define PDupwindNthSymmfdOrder63(u) (PDupwindNthSymmfdOrder63_impl(u,pm1o120dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const pm1o120dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(pm1o120dz,kadd(vec_loadu_maybe3(0,0,-4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]),kadd(vec_loadu_maybe3(0,0,4,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]),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(-56),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(-8),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(28),kmul(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(70))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDupwindNthSymmfdOrder83(u) (kmul(p1o560dz,kadd(vec_loadu_maybe3(0,0,-5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-5)]),kadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210))))))))))
+#else
+# define PDupwindNthSymmfdOrder83(u) (PDupwindNthSymmfdOrder83_impl(u,p1o560dz,cdj,cdk))
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o560dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDupwindNthSymmfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1o560dz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{
+ ptrdiff_t const cdi=sizeof(CCTK_REAL);
+ return kmul(p1o560dz,kadd(vec_loadu_maybe3(0,0,-5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-5)]),kadd(vec_loadu_maybe3(0,0,5,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(5)]),kmadd(vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]),ToReal(-252),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(-120),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(-10),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(45),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(210)))))))));
+}
+#endif
+
+#ifndef KRANC_DIFF_FUNCTIONS
+# define PDonesided3(u) (kmul(p1odz,kmul(dir3,ksub(vec_loadu_maybe3(0,0,1,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(dir3)]),vec_loadu_maybe3(0,0,0,*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)])))))
+#else
+# define PDonesided3(u) (PDonesided3_impl(u,p1odz,cdj,cdk))
+static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
+static CCTK_REAL_VEC PDonesided3_impl(CCTK_REAL const* restrict const u, CCTK_REAL_VEC const p1odz, ptrdiff_t const cdj, ptrdiff_t const cdk)
+{ assert(0); return ToReal(1e30); /* ERROR */ }
+#endif
+
diff --git a/ML_BSSN/src/ML_BSSN_Advect.cc b/ML_BSSN/src/ML_BSSN_Advect.cc
index 3b09d04..1ef1e4c 100644
--- a/ML_BSSN/src/ML_BSSN_Advect.cc
+++ b/ML_BSSN/src/ML_BSSN_Advect.cc
@@ -79,7 +79,24 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_curvrhs","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshift","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapse","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confac","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metric","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shift","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curv","ML_BSSN::ML_trace_curvrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Advect", 18, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 3, 3, 3);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 3, 3, 3);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 4, 4, 4);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Advect", 5, 5, 5);
+ break;
+ }
/* Include user-supplied include files */
@@ -107,24 +124,129 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -189,161 +311,1697 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir
CCTK_REAL_VEC Xt3rhsL = vec_load(Xt3rhs[index]);
+ CCTK_REAL_VEC J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDupwindNthAnti1A = PDupwindNthAnti1(&A[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1A = PDupwindNthSymm1(&A[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2A = PDupwindNthAnti2(&A[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2A = PDupwindNthSymm2(&A[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3A = PDupwindNthAnti3(&A[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3A = PDupwindNthSymm3(&A[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1alpha = PDupwindNthAnti1(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1alpha = PDupwindNthSymm1(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2alpha = PDupwindNthAnti2(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2alpha = PDupwindNthSymm2(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3alpha = PDupwindNthAnti3(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3alpha = PDupwindNthSymm3(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1At11 = PDupwindNthAnti1(&At11[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1At11 = PDupwindNthSymm1(&At11[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2At11 = PDupwindNthAnti2(&At11[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2At11 = PDupwindNthSymm2(&At11[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3At11 = PDupwindNthAnti3(&At11[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3At11 = PDupwindNthSymm3(&At11[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1At12 = PDupwindNthAnti1(&At12[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1At12 = PDupwindNthSymm1(&At12[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2At12 = PDupwindNthAnti2(&At12[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2At12 = PDupwindNthSymm2(&At12[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3At12 = PDupwindNthAnti3(&At12[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3At12 = PDupwindNthSymm3(&At12[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1At13 = PDupwindNthAnti1(&At13[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1At13 = PDupwindNthSymm1(&At13[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2At13 = PDupwindNthAnti2(&At13[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2At13 = PDupwindNthSymm2(&At13[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3At13 = PDupwindNthAnti3(&At13[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3At13 = PDupwindNthSymm3(&At13[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1At22 = PDupwindNthAnti1(&At22[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1At22 = PDupwindNthSymm1(&At22[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2At22 = PDupwindNthAnti2(&At22[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2At22 = PDupwindNthSymm2(&At22[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3At22 = PDupwindNthAnti3(&At22[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3At22 = PDupwindNthSymm3(&At22[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1At23 = PDupwindNthAnti1(&At23[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1At23 = PDupwindNthSymm1(&At23[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2At23 = PDupwindNthAnti2(&At23[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2At23 = PDupwindNthSymm2(&At23[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3At23 = PDupwindNthAnti3(&At23[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3At23 = PDupwindNthSymm3(&At23[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1At33 = PDupwindNthAnti1(&At33[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1At33 = PDupwindNthSymm1(&At33[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2At33 = PDupwindNthAnti2(&At33[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2At33 = PDupwindNthSymm2(&At33[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3At33 = PDupwindNthAnti3(&At33[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3At33 = PDupwindNthSymm3(&At33[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1B1 = PDupwindNthAnti1(&B1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1B1 = PDupwindNthSymm1(&B1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2B1 = PDupwindNthAnti2(&B1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2B1 = PDupwindNthSymm2(&B1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3B1 = PDupwindNthAnti3(&B1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3B1 = PDupwindNthSymm3(&B1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1B2 = PDupwindNthAnti1(&B2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1B2 = PDupwindNthSymm1(&B2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2B2 = PDupwindNthAnti2(&B2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2B2 = PDupwindNthSymm2(&B2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3B2 = PDupwindNthAnti3(&B2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3B2 = PDupwindNthSymm3(&B2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1B3 = PDupwindNthAnti1(&B3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1B3 = PDupwindNthSymm1(&B3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2B3 = PDupwindNthAnti2(&B3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2B3 = PDupwindNthSymm2(&B3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3B3 = PDupwindNthAnti3(&B3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3B3 = PDupwindNthSymm3(&B3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta1 = PDupwindNthAnti1(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta1 = PDupwindNthSymm1(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta1 = PDupwindNthAnti2(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta1 = PDupwindNthSymm2(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta1 = PDupwindNthAnti3(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta1 = PDupwindNthSymm3(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta2 = PDupwindNthAnti1(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta2 = PDupwindNthSymm1(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta2 = PDupwindNthAnti2(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta2 = PDupwindNthSymm2(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta2 = PDupwindNthAnti3(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta2 = PDupwindNthSymm3(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta3 = PDupwindNthAnti1(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta3 = PDupwindNthSymm1(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta3 = PDupwindNthAnti2(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta3 = PDupwindNthSymm2(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta3 = PDupwindNthAnti3(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta3 = PDupwindNthSymm3(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1gt11 = PDupwindNthAnti1(&gt11[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1gt11 = PDupwindNthSymm1(&gt11[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2gt11 = PDupwindNthAnti2(&gt11[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2gt11 = PDupwindNthSymm2(&gt11[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3gt11 = PDupwindNthAnti3(&gt11[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3gt11 = PDupwindNthSymm3(&gt11[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1gt12 = PDupwindNthAnti1(&gt12[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1gt12 = PDupwindNthSymm1(&gt12[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2gt12 = PDupwindNthAnti2(&gt12[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2gt12 = PDupwindNthSymm2(&gt12[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3gt12 = PDupwindNthAnti3(&gt12[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3gt12 = PDupwindNthSymm3(&gt12[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1gt13 = PDupwindNthAnti1(&gt13[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1gt13 = PDupwindNthSymm1(&gt13[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2gt13 = PDupwindNthAnti2(&gt13[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2gt13 = PDupwindNthSymm2(&gt13[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3gt13 = PDupwindNthAnti3(&gt13[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3gt13 = PDupwindNthSymm3(&gt13[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1gt22 = PDupwindNthAnti1(&gt22[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1gt22 = PDupwindNthSymm1(&gt22[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2gt22 = PDupwindNthAnti2(&gt22[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2gt22 = PDupwindNthSymm2(&gt22[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3gt22 = PDupwindNthAnti3(&gt22[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3gt22 = PDupwindNthSymm3(&gt22[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1gt23 = PDupwindNthAnti1(&gt23[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1gt23 = PDupwindNthSymm1(&gt23[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2gt23 = PDupwindNthAnti2(&gt23[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2gt23 = PDupwindNthSymm2(&gt23[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3gt23 = PDupwindNthAnti3(&gt23[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3gt23 = PDupwindNthSymm3(&gt23[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1gt33 = PDupwindNthAnti1(&gt33[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1gt33 = PDupwindNthSymm1(&gt33[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2gt33 = PDupwindNthAnti2(&gt33[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2gt33 = PDupwindNthSymm2(&gt33[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3gt33 = PDupwindNthAnti3(&gt33[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3gt33 = PDupwindNthSymm3(&gt33[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1phi = PDupwindNthAnti1(&phi[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1phi = PDupwindNthSymm1(&phi[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2phi = PDupwindNthAnti2(&phi[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2phi = PDupwindNthSymm2(&phi[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3phi = PDupwindNthAnti3(&phi[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3phi = PDupwindNthSymm3(&phi[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1trK = PDupwindNthAnti1(&trK[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1trK = PDupwindNthSymm1(&trK[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2trK = PDupwindNthAnti2(&trK[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2trK = PDupwindNthSymm2(&trK[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3trK = PDupwindNthAnti3(&trK[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3trK = PDupwindNthSymm3(&trK[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1Xt1 = PDupwindNthAnti1(&Xt1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1Xt1 = PDupwindNthSymm1(&Xt1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2Xt1 = PDupwindNthAnti2(&Xt1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2Xt1 = PDupwindNthSymm2(&Xt1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3Xt1 = PDupwindNthAnti3(&Xt1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3Xt1 = PDupwindNthSymm3(&Xt1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1Xt2 = PDupwindNthAnti1(&Xt2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1Xt2 = PDupwindNthSymm1(&Xt2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2Xt2 = PDupwindNthAnti2(&Xt2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2Xt2 = PDupwindNthSymm2(&Xt2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3Xt2 = PDupwindNthAnti3(&Xt2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3Xt2 = PDupwindNthSymm3(&Xt2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1Xt3 = PDupwindNthAnti1(&Xt3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1Xt3 = PDupwindNthSymm1(&Xt3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2Xt3 = PDupwindNthAnti2(&Xt3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2Xt3 = PDupwindNthSymm2(&Xt3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3Xt3 = PDupwindNthAnti3(&Xt3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3Xt3 = PDupwindNthSymm3(&Xt3[index]);
+ CCTK_REAL_VEC PDupwindNthAnti1A;
+ CCTK_REAL_VEC PDupwindNthSymm1A;
+ CCTK_REAL_VEC PDupwindNthAnti2A;
+ CCTK_REAL_VEC PDupwindNthSymm2A;
+ CCTK_REAL_VEC PDupwindNthAnti3A;
+ CCTK_REAL_VEC PDupwindNthSymm3A;
+ CCTK_REAL_VEC PDupwindNthAnti1alpha;
+ CCTK_REAL_VEC PDupwindNthSymm1alpha;
+ CCTK_REAL_VEC PDupwindNthAnti2alpha;
+ CCTK_REAL_VEC PDupwindNthSymm2alpha;
+ CCTK_REAL_VEC PDupwindNthAnti3alpha;
+ CCTK_REAL_VEC PDupwindNthSymm3alpha;
+ CCTK_REAL_VEC PDupwindNthAnti1At11;
+ CCTK_REAL_VEC PDupwindNthSymm1At11;
+ CCTK_REAL_VEC PDupwindNthAnti2At11;
+ CCTK_REAL_VEC PDupwindNthSymm2At11;
+ CCTK_REAL_VEC PDupwindNthAnti3At11;
+ CCTK_REAL_VEC PDupwindNthSymm3At11;
+ CCTK_REAL_VEC PDupwindNthAnti1At12;
+ CCTK_REAL_VEC PDupwindNthSymm1At12;
+ CCTK_REAL_VEC PDupwindNthAnti2At12;
+ CCTK_REAL_VEC PDupwindNthSymm2At12;
+ CCTK_REAL_VEC PDupwindNthAnti3At12;
+ CCTK_REAL_VEC PDupwindNthSymm3At12;
+ CCTK_REAL_VEC PDupwindNthAnti1At13;
+ CCTK_REAL_VEC PDupwindNthSymm1At13;
+ CCTK_REAL_VEC PDupwindNthAnti2At13;
+ CCTK_REAL_VEC PDupwindNthSymm2At13;
+ CCTK_REAL_VEC PDupwindNthAnti3At13;
+ CCTK_REAL_VEC PDupwindNthSymm3At13;
+ CCTK_REAL_VEC PDupwindNthAnti1At22;
+ CCTK_REAL_VEC PDupwindNthSymm1At22;
+ CCTK_REAL_VEC PDupwindNthAnti2At22;
+ CCTK_REAL_VEC PDupwindNthSymm2At22;
+ CCTK_REAL_VEC PDupwindNthAnti3At22;
+ CCTK_REAL_VEC PDupwindNthSymm3At22;
+ CCTK_REAL_VEC PDupwindNthAnti1At23;
+ CCTK_REAL_VEC PDupwindNthSymm1At23;
+ CCTK_REAL_VEC PDupwindNthAnti2At23;
+ CCTK_REAL_VEC PDupwindNthSymm2At23;
+ CCTK_REAL_VEC PDupwindNthAnti3At23;
+ CCTK_REAL_VEC PDupwindNthSymm3At23;
+ CCTK_REAL_VEC PDupwindNthAnti1At33;
+ CCTK_REAL_VEC PDupwindNthSymm1At33;
+ CCTK_REAL_VEC PDupwindNthAnti2At33;
+ CCTK_REAL_VEC PDupwindNthSymm2At33;
+ CCTK_REAL_VEC PDupwindNthAnti3At33;
+ CCTK_REAL_VEC PDupwindNthSymm3At33;
+ CCTK_REAL_VEC PDupwindNthAnti1B1;
+ CCTK_REAL_VEC PDupwindNthSymm1B1;
+ CCTK_REAL_VEC PDupwindNthAnti2B1;
+ CCTK_REAL_VEC PDupwindNthSymm2B1;
+ CCTK_REAL_VEC PDupwindNthAnti3B1;
+ CCTK_REAL_VEC PDupwindNthSymm3B1;
+ CCTK_REAL_VEC PDupwindNthAnti1B2;
+ CCTK_REAL_VEC PDupwindNthSymm1B2;
+ CCTK_REAL_VEC PDupwindNthAnti2B2;
+ CCTK_REAL_VEC PDupwindNthSymm2B2;
+ CCTK_REAL_VEC PDupwindNthAnti3B2;
+ CCTK_REAL_VEC PDupwindNthSymm3B2;
+ CCTK_REAL_VEC PDupwindNthAnti1B3;
+ CCTK_REAL_VEC PDupwindNthSymm1B3;
+ CCTK_REAL_VEC PDupwindNthAnti2B3;
+ CCTK_REAL_VEC PDupwindNthSymm2B3;
+ CCTK_REAL_VEC PDupwindNthAnti3B3;
+ CCTK_REAL_VEC PDupwindNthSymm3B3;
+ CCTK_REAL_VEC PDupwindNthAnti1beta1;
+ CCTK_REAL_VEC PDupwindNthSymm1beta1;
+ CCTK_REAL_VEC PDupwindNthAnti2beta1;
+ CCTK_REAL_VEC PDupwindNthSymm2beta1;
+ CCTK_REAL_VEC PDupwindNthAnti3beta1;
+ CCTK_REAL_VEC PDupwindNthSymm3beta1;
+ CCTK_REAL_VEC PDupwindNthAnti1beta2;
+ CCTK_REAL_VEC PDupwindNthSymm1beta2;
+ CCTK_REAL_VEC PDupwindNthAnti2beta2;
+ CCTK_REAL_VEC PDupwindNthSymm2beta2;
+ CCTK_REAL_VEC PDupwindNthAnti3beta2;
+ CCTK_REAL_VEC PDupwindNthSymm3beta2;
+ CCTK_REAL_VEC PDupwindNthAnti1beta3;
+ CCTK_REAL_VEC PDupwindNthSymm1beta3;
+ CCTK_REAL_VEC PDupwindNthAnti2beta3;
+ CCTK_REAL_VEC PDupwindNthSymm2beta3;
+ CCTK_REAL_VEC PDupwindNthAnti3beta3;
+ CCTK_REAL_VEC PDupwindNthSymm3beta3;
+ CCTK_REAL_VEC PDupwindNthAnti1gt11;
+ CCTK_REAL_VEC PDupwindNthSymm1gt11;
+ CCTK_REAL_VEC PDupwindNthAnti2gt11;
+ CCTK_REAL_VEC PDupwindNthSymm2gt11;
+ CCTK_REAL_VEC PDupwindNthAnti3gt11;
+ CCTK_REAL_VEC PDupwindNthSymm3gt11;
+ CCTK_REAL_VEC PDupwindNthAnti1gt12;
+ CCTK_REAL_VEC PDupwindNthSymm1gt12;
+ CCTK_REAL_VEC PDupwindNthAnti2gt12;
+ CCTK_REAL_VEC PDupwindNthSymm2gt12;
+ CCTK_REAL_VEC PDupwindNthAnti3gt12;
+ CCTK_REAL_VEC PDupwindNthSymm3gt12;
+ CCTK_REAL_VEC PDupwindNthAnti1gt13;
+ CCTK_REAL_VEC PDupwindNthSymm1gt13;
+ CCTK_REAL_VEC PDupwindNthAnti2gt13;
+ CCTK_REAL_VEC PDupwindNthSymm2gt13;
+ CCTK_REAL_VEC PDupwindNthAnti3gt13;
+ CCTK_REAL_VEC PDupwindNthSymm3gt13;
+ CCTK_REAL_VEC PDupwindNthAnti1gt22;
+ CCTK_REAL_VEC PDupwindNthSymm1gt22;
+ CCTK_REAL_VEC PDupwindNthAnti2gt22;
+ CCTK_REAL_VEC PDupwindNthSymm2gt22;
+ CCTK_REAL_VEC PDupwindNthAnti3gt22;
+ CCTK_REAL_VEC PDupwindNthSymm3gt22;
+ CCTK_REAL_VEC PDupwindNthAnti1gt23;
+ CCTK_REAL_VEC PDupwindNthSymm1gt23;
+ CCTK_REAL_VEC PDupwindNthAnti2gt23;
+ CCTK_REAL_VEC PDupwindNthSymm2gt23;
+ CCTK_REAL_VEC PDupwindNthAnti3gt23;
+ CCTK_REAL_VEC PDupwindNthSymm3gt23;
+ CCTK_REAL_VEC PDupwindNthAnti1gt33;
+ CCTK_REAL_VEC PDupwindNthSymm1gt33;
+ CCTK_REAL_VEC PDupwindNthAnti2gt33;
+ CCTK_REAL_VEC PDupwindNthSymm2gt33;
+ CCTK_REAL_VEC PDupwindNthAnti3gt33;
+ CCTK_REAL_VEC PDupwindNthSymm3gt33;
+ CCTK_REAL_VEC PDupwindNthAnti1phi;
+ CCTK_REAL_VEC PDupwindNthSymm1phi;
+ CCTK_REAL_VEC PDupwindNthAnti2phi;
+ CCTK_REAL_VEC PDupwindNthSymm2phi;
+ CCTK_REAL_VEC PDupwindNthAnti3phi;
+ CCTK_REAL_VEC PDupwindNthSymm3phi;
+ CCTK_REAL_VEC PDupwindNthAnti1trK;
+ CCTK_REAL_VEC PDupwindNthSymm1trK;
+ CCTK_REAL_VEC PDupwindNthAnti2trK;
+ CCTK_REAL_VEC PDupwindNthSymm2trK;
+ CCTK_REAL_VEC PDupwindNthAnti3trK;
+ CCTK_REAL_VEC PDupwindNthSymm3trK;
+ CCTK_REAL_VEC PDupwindNthAnti1Xt1;
+ CCTK_REAL_VEC PDupwindNthSymm1Xt1;
+ CCTK_REAL_VEC PDupwindNthAnti2Xt1;
+ CCTK_REAL_VEC PDupwindNthSymm2Xt1;
+ CCTK_REAL_VEC PDupwindNthAnti3Xt1;
+ CCTK_REAL_VEC PDupwindNthSymm3Xt1;
+ CCTK_REAL_VEC PDupwindNthAnti1Xt2;
+ CCTK_REAL_VEC PDupwindNthSymm1Xt2;
+ CCTK_REAL_VEC PDupwindNthAnti2Xt2;
+ CCTK_REAL_VEC PDupwindNthSymm2Xt2;
+ CCTK_REAL_VEC PDupwindNthAnti3Xt2;
+ CCTK_REAL_VEC PDupwindNthSymm3Xt2;
+ CCTK_REAL_VEC PDupwindNthAnti1Xt3;
+ CCTK_REAL_VEC PDupwindNthSymm1Xt3;
+ CCTK_REAL_VEC PDupwindNthAnti2Xt3;
+ CCTK_REAL_VEC PDupwindNthSymm2Xt3;
+ CCTK_REAL_VEC PDupwindNthAnti3Xt3;
+ CCTK_REAL_VEC PDupwindNthSymm3Xt3;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDupwindNthAnti1A = PDupwindNthAntifdOrder21(&A[index]);
+ PDupwindNthSymm1A = PDupwindNthSymmfdOrder21(&A[index]);
+ PDupwindNthAnti2A = PDupwindNthAntifdOrder22(&A[index]);
+ PDupwindNthSymm2A = PDupwindNthSymmfdOrder22(&A[index]);
+ PDupwindNthAnti3A = PDupwindNthAntifdOrder23(&A[index]);
+ PDupwindNthSymm3A = PDupwindNthSymmfdOrder23(&A[index]);
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder22(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder23(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder23(&alpha[index]);
+ PDupwindNthAnti1At11 = PDupwindNthAntifdOrder21(&At11[index]);
+ PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder21(&At11[index]);
+ PDupwindNthAnti2At11 = PDupwindNthAntifdOrder22(&At11[index]);
+ PDupwindNthSymm2At11 = PDupwindNthSymmfdOrder22(&At11[index]);
+ PDupwindNthAnti3At11 = PDupwindNthAntifdOrder23(&At11[index]);
+ PDupwindNthSymm3At11 = PDupwindNthSymmfdOrder23(&At11[index]);
+ PDupwindNthAnti1At12 = PDupwindNthAntifdOrder21(&At12[index]);
+ PDupwindNthSymm1At12 = PDupwindNthSymmfdOrder21(&At12[index]);
+ PDupwindNthAnti2At12 = PDupwindNthAntifdOrder22(&At12[index]);
+ PDupwindNthSymm2At12 = PDupwindNthSymmfdOrder22(&At12[index]);
+ PDupwindNthAnti3At12 = PDupwindNthAntifdOrder23(&At12[index]);
+ PDupwindNthSymm3At12 = PDupwindNthSymmfdOrder23(&At12[index]);
+ PDupwindNthAnti1At13 = PDupwindNthAntifdOrder21(&At13[index]);
+ PDupwindNthSymm1At13 = PDupwindNthSymmfdOrder21(&At13[index]);
+ PDupwindNthAnti2At13 = PDupwindNthAntifdOrder22(&At13[index]);
+ PDupwindNthSymm2At13 = PDupwindNthSymmfdOrder22(&At13[index]);
+ PDupwindNthAnti3At13 = PDupwindNthAntifdOrder23(&At13[index]);
+ PDupwindNthSymm3At13 = PDupwindNthSymmfdOrder23(&At13[index]);
+ PDupwindNthAnti1At22 = PDupwindNthAntifdOrder21(&At22[index]);
+ PDupwindNthSymm1At22 = PDupwindNthSymmfdOrder21(&At22[index]);
+ PDupwindNthAnti2At22 = PDupwindNthAntifdOrder22(&At22[index]);
+ PDupwindNthSymm2At22 = PDupwindNthSymmfdOrder22(&At22[index]);
+ PDupwindNthAnti3At22 = PDupwindNthAntifdOrder23(&At22[index]);
+ PDupwindNthSymm3At22 = PDupwindNthSymmfdOrder23(&At22[index]);
+ PDupwindNthAnti1At23 = PDupwindNthAntifdOrder21(&At23[index]);
+ PDupwindNthSymm1At23 = PDupwindNthSymmfdOrder21(&At23[index]);
+ PDupwindNthAnti2At23 = PDupwindNthAntifdOrder22(&At23[index]);
+ PDupwindNthSymm2At23 = PDupwindNthSymmfdOrder22(&At23[index]);
+ PDupwindNthAnti3At23 = PDupwindNthAntifdOrder23(&At23[index]);
+ PDupwindNthSymm3At23 = PDupwindNthSymmfdOrder23(&At23[index]);
+ PDupwindNthAnti1At33 = PDupwindNthAntifdOrder21(&At33[index]);
+ PDupwindNthSymm1At33 = PDupwindNthSymmfdOrder21(&At33[index]);
+ PDupwindNthAnti2At33 = PDupwindNthAntifdOrder22(&At33[index]);
+ PDupwindNthSymm2At33 = PDupwindNthSymmfdOrder22(&At33[index]);
+ PDupwindNthAnti3At33 = PDupwindNthAntifdOrder23(&At33[index]);
+ PDupwindNthSymm3At33 = PDupwindNthSymmfdOrder23(&At33[index]);
+ PDupwindNthAnti1B1 = PDupwindNthAntifdOrder21(&B1[index]);
+ PDupwindNthSymm1B1 = PDupwindNthSymmfdOrder21(&B1[index]);
+ PDupwindNthAnti2B1 = PDupwindNthAntifdOrder22(&B1[index]);
+ PDupwindNthSymm2B1 = PDupwindNthSymmfdOrder22(&B1[index]);
+ PDupwindNthAnti3B1 = PDupwindNthAntifdOrder23(&B1[index]);
+ PDupwindNthSymm3B1 = PDupwindNthSymmfdOrder23(&B1[index]);
+ PDupwindNthAnti1B2 = PDupwindNthAntifdOrder21(&B2[index]);
+ PDupwindNthSymm1B2 = PDupwindNthSymmfdOrder21(&B2[index]);
+ PDupwindNthAnti2B2 = PDupwindNthAntifdOrder22(&B2[index]);
+ PDupwindNthSymm2B2 = PDupwindNthSymmfdOrder22(&B2[index]);
+ PDupwindNthAnti3B2 = PDupwindNthAntifdOrder23(&B2[index]);
+ PDupwindNthSymm3B2 = PDupwindNthSymmfdOrder23(&B2[index]);
+ PDupwindNthAnti1B3 = PDupwindNthAntifdOrder21(&B3[index]);
+ PDupwindNthSymm1B3 = PDupwindNthSymmfdOrder21(&B3[index]);
+ PDupwindNthAnti2B3 = PDupwindNthAntifdOrder22(&B3[index]);
+ PDupwindNthSymm2B3 = PDupwindNthSymmfdOrder22(&B3[index]);
+ PDupwindNthAnti3B3 = PDupwindNthAntifdOrder23(&B3[index]);
+ PDupwindNthSymm3B3 = PDupwindNthSymmfdOrder23(&B3[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder21(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder21(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder22(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder22(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder23(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder23(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder21(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder21(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder22(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder22(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder23(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder23(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder21(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder21(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder22(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder22(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder23(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder23(&beta3[index]);
+ PDupwindNthAnti1gt11 = PDupwindNthAntifdOrder21(&gt11[index]);
+ PDupwindNthSymm1gt11 = PDupwindNthSymmfdOrder21(&gt11[index]);
+ PDupwindNthAnti2gt11 = PDupwindNthAntifdOrder22(&gt11[index]);
+ PDupwindNthSymm2gt11 = PDupwindNthSymmfdOrder22(&gt11[index]);
+ PDupwindNthAnti3gt11 = PDupwindNthAntifdOrder23(&gt11[index]);
+ PDupwindNthSymm3gt11 = PDupwindNthSymmfdOrder23(&gt11[index]);
+ PDupwindNthAnti1gt12 = PDupwindNthAntifdOrder21(&gt12[index]);
+ PDupwindNthSymm1gt12 = PDupwindNthSymmfdOrder21(&gt12[index]);
+ PDupwindNthAnti2gt12 = PDupwindNthAntifdOrder22(&gt12[index]);
+ PDupwindNthSymm2gt12 = PDupwindNthSymmfdOrder22(&gt12[index]);
+ PDupwindNthAnti3gt12 = PDupwindNthAntifdOrder23(&gt12[index]);
+ PDupwindNthSymm3gt12 = PDupwindNthSymmfdOrder23(&gt12[index]);
+ PDupwindNthAnti1gt13 = PDupwindNthAntifdOrder21(&gt13[index]);
+ PDupwindNthSymm1gt13 = PDupwindNthSymmfdOrder21(&gt13[index]);
+ PDupwindNthAnti2gt13 = PDupwindNthAntifdOrder22(&gt13[index]);
+ PDupwindNthSymm2gt13 = PDupwindNthSymmfdOrder22(&gt13[index]);
+ PDupwindNthAnti3gt13 = PDupwindNthAntifdOrder23(&gt13[index]);
+ PDupwindNthSymm3gt13 = PDupwindNthSymmfdOrder23(&gt13[index]);
+ PDupwindNthAnti1gt22 = PDupwindNthAntifdOrder21(&gt22[index]);
+ PDupwindNthSymm1gt22 = PDupwindNthSymmfdOrder21(&gt22[index]);
+ PDupwindNthAnti2gt22 = PDupwindNthAntifdOrder22(&gt22[index]);
+ PDupwindNthSymm2gt22 = PDupwindNthSymmfdOrder22(&gt22[index]);
+ PDupwindNthAnti3gt22 = PDupwindNthAntifdOrder23(&gt22[index]);
+ PDupwindNthSymm3gt22 = PDupwindNthSymmfdOrder23(&gt22[index]);
+ PDupwindNthAnti1gt23 = PDupwindNthAntifdOrder21(&gt23[index]);
+ PDupwindNthSymm1gt23 = PDupwindNthSymmfdOrder21(&gt23[index]);
+ PDupwindNthAnti2gt23 = PDupwindNthAntifdOrder22(&gt23[index]);
+ PDupwindNthSymm2gt23 = PDupwindNthSymmfdOrder22(&gt23[index]);
+ PDupwindNthAnti3gt23 = PDupwindNthAntifdOrder23(&gt23[index]);
+ PDupwindNthSymm3gt23 = PDupwindNthSymmfdOrder23(&gt23[index]);
+ PDupwindNthAnti1gt33 = PDupwindNthAntifdOrder21(&gt33[index]);
+ PDupwindNthSymm1gt33 = PDupwindNthSymmfdOrder21(&gt33[index]);
+ PDupwindNthAnti2gt33 = PDupwindNthAntifdOrder22(&gt33[index]);
+ PDupwindNthSymm2gt33 = PDupwindNthSymmfdOrder22(&gt33[index]);
+ PDupwindNthAnti3gt33 = PDupwindNthAntifdOrder23(&gt33[index]);
+ PDupwindNthSymm3gt33 = PDupwindNthSymmfdOrder23(&gt33[index]);
+ PDupwindNthAnti1phi = PDupwindNthAntifdOrder21(&phi[index]);
+ PDupwindNthSymm1phi = PDupwindNthSymmfdOrder21(&phi[index]);
+ PDupwindNthAnti2phi = PDupwindNthAntifdOrder22(&phi[index]);
+ PDupwindNthSymm2phi = PDupwindNthSymmfdOrder22(&phi[index]);
+ PDupwindNthAnti3phi = PDupwindNthAntifdOrder23(&phi[index]);
+ PDupwindNthSymm3phi = PDupwindNthSymmfdOrder23(&phi[index]);
+ PDupwindNthAnti1trK = PDupwindNthAntifdOrder21(&trK[index]);
+ PDupwindNthSymm1trK = PDupwindNthSymmfdOrder21(&trK[index]);
+ PDupwindNthAnti2trK = PDupwindNthAntifdOrder22(&trK[index]);
+ PDupwindNthSymm2trK = PDupwindNthSymmfdOrder22(&trK[index]);
+ PDupwindNthAnti3trK = PDupwindNthAntifdOrder23(&trK[index]);
+ PDupwindNthSymm3trK = PDupwindNthSymmfdOrder23(&trK[index]);
+ PDupwindNthAnti1Xt1 = PDupwindNthAntifdOrder21(&Xt1[index]);
+ PDupwindNthSymm1Xt1 = PDupwindNthSymmfdOrder21(&Xt1[index]);
+ PDupwindNthAnti2Xt1 = PDupwindNthAntifdOrder22(&Xt1[index]);
+ PDupwindNthSymm2Xt1 = PDupwindNthSymmfdOrder22(&Xt1[index]);
+ PDupwindNthAnti3Xt1 = PDupwindNthAntifdOrder23(&Xt1[index]);
+ PDupwindNthSymm3Xt1 = PDupwindNthSymmfdOrder23(&Xt1[index]);
+ PDupwindNthAnti1Xt2 = PDupwindNthAntifdOrder21(&Xt2[index]);
+ PDupwindNthSymm1Xt2 = PDupwindNthSymmfdOrder21(&Xt2[index]);
+ PDupwindNthAnti2Xt2 = PDupwindNthAntifdOrder22(&Xt2[index]);
+ PDupwindNthSymm2Xt2 = PDupwindNthSymmfdOrder22(&Xt2[index]);
+ PDupwindNthAnti3Xt2 = PDupwindNthAntifdOrder23(&Xt2[index]);
+ PDupwindNthSymm3Xt2 = PDupwindNthSymmfdOrder23(&Xt2[index]);
+ PDupwindNthAnti1Xt3 = PDupwindNthAntifdOrder21(&Xt3[index]);
+ PDupwindNthSymm1Xt3 = PDupwindNthSymmfdOrder21(&Xt3[index]);
+ PDupwindNthAnti2Xt3 = PDupwindNthAntifdOrder22(&Xt3[index]);
+ PDupwindNthSymm2Xt3 = PDupwindNthSymmfdOrder22(&Xt3[index]);
+ PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder23(&Xt3[index]);
+ PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder23(&Xt3[index]);
+ break;
+
+ case 4:
+ PDupwindNthAnti1A = PDupwindNthAntifdOrder41(&A[index]);
+ PDupwindNthSymm1A = PDupwindNthSymmfdOrder41(&A[index]);
+ PDupwindNthAnti2A = PDupwindNthAntifdOrder42(&A[index]);
+ PDupwindNthSymm2A = PDupwindNthSymmfdOrder42(&A[index]);
+ PDupwindNthAnti3A = PDupwindNthAntifdOrder43(&A[index]);
+ PDupwindNthSymm3A = PDupwindNthSymmfdOrder43(&A[index]);
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder42(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder43(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder43(&alpha[index]);
+ PDupwindNthAnti1At11 = PDupwindNthAntifdOrder41(&At11[index]);
+ PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder41(&At11[index]);
+ PDupwindNthAnti2At11 = PDupwindNthAntifdOrder42(&At11[index]);
+ PDupwindNthSymm2At11 = PDupwindNthSymmfdOrder42(&At11[index]);
+ PDupwindNthAnti3At11 = PDupwindNthAntifdOrder43(&At11[index]);
+ PDupwindNthSymm3At11 = PDupwindNthSymmfdOrder43(&At11[index]);
+ PDupwindNthAnti1At12 = PDupwindNthAntifdOrder41(&At12[index]);
+ PDupwindNthSymm1At12 = PDupwindNthSymmfdOrder41(&At12[index]);
+ PDupwindNthAnti2At12 = PDupwindNthAntifdOrder42(&At12[index]);
+ PDupwindNthSymm2At12 = PDupwindNthSymmfdOrder42(&At12[index]);
+ PDupwindNthAnti3At12 = PDupwindNthAntifdOrder43(&At12[index]);
+ PDupwindNthSymm3At12 = PDupwindNthSymmfdOrder43(&At12[index]);
+ PDupwindNthAnti1At13 = PDupwindNthAntifdOrder41(&At13[index]);
+ PDupwindNthSymm1At13 = PDupwindNthSymmfdOrder41(&At13[index]);
+ PDupwindNthAnti2At13 = PDupwindNthAntifdOrder42(&At13[index]);
+ PDupwindNthSymm2At13 = PDupwindNthSymmfdOrder42(&At13[index]);
+ PDupwindNthAnti3At13 = PDupwindNthAntifdOrder43(&At13[index]);
+ PDupwindNthSymm3At13 = PDupwindNthSymmfdOrder43(&At13[index]);
+ PDupwindNthAnti1At22 = PDupwindNthAntifdOrder41(&At22[index]);
+ PDupwindNthSymm1At22 = PDupwindNthSymmfdOrder41(&At22[index]);
+ PDupwindNthAnti2At22 = PDupwindNthAntifdOrder42(&At22[index]);
+ PDupwindNthSymm2At22 = PDupwindNthSymmfdOrder42(&At22[index]);
+ PDupwindNthAnti3At22 = PDupwindNthAntifdOrder43(&At22[index]);
+ PDupwindNthSymm3At22 = PDupwindNthSymmfdOrder43(&At22[index]);
+ PDupwindNthAnti1At23 = PDupwindNthAntifdOrder41(&At23[index]);
+ PDupwindNthSymm1At23 = PDupwindNthSymmfdOrder41(&At23[index]);
+ PDupwindNthAnti2At23 = PDupwindNthAntifdOrder42(&At23[index]);
+ PDupwindNthSymm2At23 = PDupwindNthSymmfdOrder42(&At23[index]);
+ PDupwindNthAnti3At23 = PDupwindNthAntifdOrder43(&At23[index]);
+ PDupwindNthSymm3At23 = PDupwindNthSymmfdOrder43(&At23[index]);
+ PDupwindNthAnti1At33 = PDupwindNthAntifdOrder41(&At33[index]);
+ PDupwindNthSymm1At33 = PDupwindNthSymmfdOrder41(&At33[index]);
+ PDupwindNthAnti2At33 = PDupwindNthAntifdOrder42(&At33[index]);
+ PDupwindNthSymm2At33 = PDupwindNthSymmfdOrder42(&At33[index]);
+ PDupwindNthAnti3At33 = PDupwindNthAntifdOrder43(&At33[index]);
+ PDupwindNthSymm3At33 = PDupwindNthSymmfdOrder43(&At33[index]);
+ PDupwindNthAnti1B1 = PDupwindNthAntifdOrder41(&B1[index]);
+ PDupwindNthSymm1B1 = PDupwindNthSymmfdOrder41(&B1[index]);
+ PDupwindNthAnti2B1 = PDupwindNthAntifdOrder42(&B1[index]);
+ PDupwindNthSymm2B1 = PDupwindNthSymmfdOrder42(&B1[index]);
+ PDupwindNthAnti3B1 = PDupwindNthAntifdOrder43(&B1[index]);
+ PDupwindNthSymm3B1 = PDupwindNthSymmfdOrder43(&B1[index]);
+ PDupwindNthAnti1B2 = PDupwindNthAntifdOrder41(&B2[index]);
+ PDupwindNthSymm1B2 = PDupwindNthSymmfdOrder41(&B2[index]);
+ PDupwindNthAnti2B2 = PDupwindNthAntifdOrder42(&B2[index]);
+ PDupwindNthSymm2B2 = PDupwindNthSymmfdOrder42(&B2[index]);
+ PDupwindNthAnti3B2 = PDupwindNthAntifdOrder43(&B2[index]);
+ PDupwindNthSymm3B2 = PDupwindNthSymmfdOrder43(&B2[index]);
+ PDupwindNthAnti1B3 = PDupwindNthAntifdOrder41(&B3[index]);
+ PDupwindNthSymm1B3 = PDupwindNthSymmfdOrder41(&B3[index]);
+ PDupwindNthAnti2B3 = PDupwindNthAntifdOrder42(&B3[index]);
+ PDupwindNthSymm2B3 = PDupwindNthSymmfdOrder42(&B3[index]);
+ PDupwindNthAnti3B3 = PDupwindNthAntifdOrder43(&B3[index]);
+ PDupwindNthSymm3B3 = PDupwindNthSymmfdOrder43(&B3[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder41(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder41(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder42(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder42(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder43(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder43(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder41(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder41(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder42(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder42(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder43(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder43(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder41(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder41(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder42(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder42(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder43(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder43(&beta3[index]);
+ PDupwindNthAnti1gt11 = PDupwindNthAntifdOrder41(&gt11[index]);
+ PDupwindNthSymm1gt11 = PDupwindNthSymmfdOrder41(&gt11[index]);
+ PDupwindNthAnti2gt11 = PDupwindNthAntifdOrder42(&gt11[index]);
+ PDupwindNthSymm2gt11 = PDupwindNthSymmfdOrder42(&gt11[index]);
+ PDupwindNthAnti3gt11 = PDupwindNthAntifdOrder43(&gt11[index]);
+ PDupwindNthSymm3gt11 = PDupwindNthSymmfdOrder43(&gt11[index]);
+ PDupwindNthAnti1gt12 = PDupwindNthAntifdOrder41(&gt12[index]);
+ PDupwindNthSymm1gt12 = PDupwindNthSymmfdOrder41(&gt12[index]);
+ PDupwindNthAnti2gt12 = PDupwindNthAntifdOrder42(&gt12[index]);
+ PDupwindNthSymm2gt12 = PDupwindNthSymmfdOrder42(&gt12[index]);
+ PDupwindNthAnti3gt12 = PDupwindNthAntifdOrder43(&gt12[index]);
+ PDupwindNthSymm3gt12 = PDupwindNthSymmfdOrder43(&gt12[index]);
+ PDupwindNthAnti1gt13 = PDupwindNthAntifdOrder41(&gt13[index]);
+ PDupwindNthSymm1gt13 = PDupwindNthSymmfdOrder41(&gt13[index]);
+ PDupwindNthAnti2gt13 = PDupwindNthAntifdOrder42(&gt13[index]);
+ PDupwindNthSymm2gt13 = PDupwindNthSymmfdOrder42(&gt13[index]);
+ PDupwindNthAnti3gt13 = PDupwindNthAntifdOrder43(&gt13[index]);
+ PDupwindNthSymm3gt13 = PDupwindNthSymmfdOrder43(&gt13[index]);
+ PDupwindNthAnti1gt22 = PDupwindNthAntifdOrder41(&gt22[index]);
+ PDupwindNthSymm1gt22 = PDupwindNthSymmfdOrder41(&gt22[index]);
+ PDupwindNthAnti2gt22 = PDupwindNthAntifdOrder42(&gt22[index]);
+ PDupwindNthSymm2gt22 = PDupwindNthSymmfdOrder42(&gt22[index]);
+ PDupwindNthAnti3gt22 = PDupwindNthAntifdOrder43(&gt22[index]);
+ PDupwindNthSymm3gt22 = PDupwindNthSymmfdOrder43(&gt22[index]);
+ PDupwindNthAnti1gt23 = PDupwindNthAntifdOrder41(&gt23[index]);
+ PDupwindNthSymm1gt23 = PDupwindNthSymmfdOrder41(&gt23[index]);
+ PDupwindNthAnti2gt23 = PDupwindNthAntifdOrder42(&gt23[index]);
+ PDupwindNthSymm2gt23 = PDupwindNthSymmfdOrder42(&gt23[index]);
+ PDupwindNthAnti3gt23 = PDupwindNthAntifdOrder43(&gt23[index]);
+ PDupwindNthSymm3gt23 = PDupwindNthSymmfdOrder43(&gt23[index]);
+ PDupwindNthAnti1gt33 = PDupwindNthAntifdOrder41(&gt33[index]);
+ PDupwindNthSymm1gt33 = PDupwindNthSymmfdOrder41(&gt33[index]);
+ PDupwindNthAnti2gt33 = PDupwindNthAntifdOrder42(&gt33[index]);
+ PDupwindNthSymm2gt33 = PDupwindNthSymmfdOrder42(&gt33[index]);
+ PDupwindNthAnti3gt33 = PDupwindNthAntifdOrder43(&gt33[index]);
+ PDupwindNthSymm3gt33 = PDupwindNthSymmfdOrder43(&gt33[index]);
+ PDupwindNthAnti1phi = PDupwindNthAntifdOrder41(&phi[index]);
+ PDupwindNthSymm1phi = PDupwindNthSymmfdOrder41(&phi[index]);
+ PDupwindNthAnti2phi = PDupwindNthAntifdOrder42(&phi[index]);
+ PDupwindNthSymm2phi = PDupwindNthSymmfdOrder42(&phi[index]);
+ PDupwindNthAnti3phi = PDupwindNthAntifdOrder43(&phi[index]);
+ PDupwindNthSymm3phi = PDupwindNthSymmfdOrder43(&phi[index]);
+ PDupwindNthAnti1trK = PDupwindNthAntifdOrder41(&trK[index]);
+ PDupwindNthSymm1trK = PDupwindNthSymmfdOrder41(&trK[index]);
+ PDupwindNthAnti2trK = PDupwindNthAntifdOrder42(&trK[index]);
+ PDupwindNthSymm2trK = PDupwindNthSymmfdOrder42(&trK[index]);
+ PDupwindNthAnti3trK = PDupwindNthAntifdOrder43(&trK[index]);
+ PDupwindNthSymm3trK = PDupwindNthSymmfdOrder43(&trK[index]);
+ PDupwindNthAnti1Xt1 = PDupwindNthAntifdOrder41(&Xt1[index]);
+ PDupwindNthSymm1Xt1 = PDupwindNthSymmfdOrder41(&Xt1[index]);
+ PDupwindNthAnti2Xt1 = PDupwindNthAntifdOrder42(&Xt1[index]);
+ PDupwindNthSymm2Xt1 = PDupwindNthSymmfdOrder42(&Xt1[index]);
+ PDupwindNthAnti3Xt1 = PDupwindNthAntifdOrder43(&Xt1[index]);
+ PDupwindNthSymm3Xt1 = PDupwindNthSymmfdOrder43(&Xt1[index]);
+ PDupwindNthAnti1Xt2 = PDupwindNthAntifdOrder41(&Xt2[index]);
+ PDupwindNthSymm1Xt2 = PDupwindNthSymmfdOrder41(&Xt2[index]);
+ PDupwindNthAnti2Xt2 = PDupwindNthAntifdOrder42(&Xt2[index]);
+ PDupwindNthSymm2Xt2 = PDupwindNthSymmfdOrder42(&Xt2[index]);
+ PDupwindNthAnti3Xt2 = PDupwindNthAntifdOrder43(&Xt2[index]);
+ PDupwindNthSymm3Xt2 = PDupwindNthSymmfdOrder43(&Xt2[index]);
+ PDupwindNthAnti1Xt3 = PDupwindNthAntifdOrder41(&Xt3[index]);
+ PDupwindNthSymm1Xt3 = PDupwindNthSymmfdOrder41(&Xt3[index]);
+ PDupwindNthAnti2Xt3 = PDupwindNthAntifdOrder42(&Xt3[index]);
+ PDupwindNthSymm2Xt3 = PDupwindNthSymmfdOrder42(&Xt3[index]);
+ PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder43(&Xt3[index]);
+ PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder43(&Xt3[index]);
+ break;
+
+ case 6:
+ PDupwindNthAnti1A = PDupwindNthAntifdOrder61(&A[index]);
+ PDupwindNthSymm1A = PDupwindNthSymmfdOrder61(&A[index]);
+ PDupwindNthAnti2A = PDupwindNthAntifdOrder62(&A[index]);
+ PDupwindNthSymm2A = PDupwindNthSymmfdOrder62(&A[index]);
+ PDupwindNthAnti3A = PDupwindNthAntifdOrder63(&A[index]);
+ PDupwindNthSymm3A = PDupwindNthSymmfdOrder63(&A[index]);
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder62(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder63(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder63(&alpha[index]);
+ PDupwindNthAnti1At11 = PDupwindNthAntifdOrder61(&At11[index]);
+ PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder61(&At11[index]);
+ PDupwindNthAnti2At11 = PDupwindNthAntifdOrder62(&At11[index]);
+ PDupwindNthSymm2At11 = PDupwindNthSymmfdOrder62(&At11[index]);
+ PDupwindNthAnti3At11 = PDupwindNthAntifdOrder63(&At11[index]);
+ PDupwindNthSymm3At11 = PDupwindNthSymmfdOrder63(&At11[index]);
+ PDupwindNthAnti1At12 = PDupwindNthAntifdOrder61(&At12[index]);
+ PDupwindNthSymm1At12 = PDupwindNthSymmfdOrder61(&At12[index]);
+ PDupwindNthAnti2At12 = PDupwindNthAntifdOrder62(&At12[index]);
+ PDupwindNthSymm2At12 = PDupwindNthSymmfdOrder62(&At12[index]);
+ PDupwindNthAnti3At12 = PDupwindNthAntifdOrder63(&At12[index]);
+ PDupwindNthSymm3At12 = PDupwindNthSymmfdOrder63(&At12[index]);
+ PDupwindNthAnti1At13 = PDupwindNthAntifdOrder61(&At13[index]);
+ PDupwindNthSymm1At13 = PDupwindNthSymmfdOrder61(&At13[index]);
+ PDupwindNthAnti2At13 = PDupwindNthAntifdOrder62(&At13[index]);
+ PDupwindNthSymm2At13 = PDupwindNthSymmfdOrder62(&At13[index]);
+ PDupwindNthAnti3At13 = PDupwindNthAntifdOrder63(&At13[index]);
+ PDupwindNthSymm3At13 = PDupwindNthSymmfdOrder63(&At13[index]);
+ PDupwindNthAnti1At22 = PDupwindNthAntifdOrder61(&At22[index]);
+ PDupwindNthSymm1At22 = PDupwindNthSymmfdOrder61(&At22[index]);
+ PDupwindNthAnti2At22 = PDupwindNthAntifdOrder62(&At22[index]);
+ PDupwindNthSymm2At22 = PDupwindNthSymmfdOrder62(&At22[index]);
+ PDupwindNthAnti3At22 = PDupwindNthAntifdOrder63(&At22[index]);
+ PDupwindNthSymm3At22 = PDupwindNthSymmfdOrder63(&At22[index]);
+ PDupwindNthAnti1At23 = PDupwindNthAntifdOrder61(&At23[index]);
+ PDupwindNthSymm1At23 = PDupwindNthSymmfdOrder61(&At23[index]);
+ PDupwindNthAnti2At23 = PDupwindNthAntifdOrder62(&At23[index]);
+ PDupwindNthSymm2At23 = PDupwindNthSymmfdOrder62(&At23[index]);
+ PDupwindNthAnti3At23 = PDupwindNthAntifdOrder63(&At23[index]);
+ PDupwindNthSymm3At23 = PDupwindNthSymmfdOrder63(&At23[index]);
+ PDupwindNthAnti1At33 = PDupwindNthAntifdOrder61(&At33[index]);
+ PDupwindNthSymm1At33 = PDupwindNthSymmfdOrder61(&At33[index]);
+ PDupwindNthAnti2At33 = PDupwindNthAntifdOrder62(&At33[index]);
+ PDupwindNthSymm2At33 = PDupwindNthSymmfdOrder62(&At33[index]);
+ PDupwindNthAnti3At33 = PDupwindNthAntifdOrder63(&At33[index]);
+ PDupwindNthSymm3At33 = PDupwindNthSymmfdOrder63(&At33[index]);
+ PDupwindNthAnti1B1 = PDupwindNthAntifdOrder61(&B1[index]);
+ PDupwindNthSymm1B1 = PDupwindNthSymmfdOrder61(&B1[index]);
+ PDupwindNthAnti2B1 = PDupwindNthAntifdOrder62(&B1[index]);
+ PDupwindNthSymm2B1 = PDupwindNthSymmfdOrder62(&B1[index]);
+ PDupwindNthAnti3B1 = PDupwindNthAntifdOrder63(&B1[index]);
+ PDupwindNthSymm3B1 = PDupwindNthSymmfdOrder63(&B1[index]);
+ PDupwindNthAnti1B2 = PDupwindNthAntifdOrder61(&B2[index]);
+ PDupwindNthSymm1B2 = PDupwindNthSymmfdOrder61(&B2[index]);
+ PDupwindNthAnti2B2 = PDupwindNthAntifdOrder62(&B2[index]);
+ PDupwindNthSymm2B2 = PDupwindNthSymmfdOrder62(&B2[index]);
+ PDupwindNthAnti3B2 = PDupwindNthAntifdOrder63(&B2[index]);
+ PDupwindNthSymm3B2 = PDupwindNthSymmfdOrder63(&B2[index]);
+ PDupwindNthAnti1B3 = PDupwindNthAntifdOrder61(&B3[index]);
+ PDupwindNthSymm1B3 = PDupwindNthSymmfdOrder61(&B3[index]);
+ PDupwindNthAnti2B3 = PDupwindNthAntifdOrder62(&B3[index]);
+ PDupwindNthSymm2B3 = PDupwindNthSymmfdOrder62(&B3[index]);
+ PDupwindNthAnti3B3 = PDupwindNthAntifdOrder63(&B3[index]);
+ PDupwindNthSymm3B3 = PDupwindNthSymmfdOrder63(&B3[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder61(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder61(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder62(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder62(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder63(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder63(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder61(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder61(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder62(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder62(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder63(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder63(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder61(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder61(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder62(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder62(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder63(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder63(&beta3[index]);
+ PDupwindNthAnti1gt11 = PDupwindNthAntifdOrder61(&gt11[index]);
+ PDupwindNthSymm1gt11 = PDupwindNthSymmfdOrder61(&gt11[index]);
+ PDupwindNthAnti2gt11 = PDupwindNthAntifdOrder62(&gt11[index]);
+ PDupwindNthSymm2gt11 = PDupwindNthSymmfdOrder62(&gt11[index]);
+ PDupwindNthAnti3gt11 = PDupwindNthAntifdOrder63(&gt11[index]);
+ PDupwindNthSymm3gt11 = PDupwindNthSymmfdOrder63(&gt11[index]);
+ PDupwindNthAnti1gt12 = PDupwindNthAntifdOrder61(&gt12[index]);
+ PDupwindNthSymm1gt12 = PDupwindNthSymmfdOrder61(&gt12[index]);
+ PDupwindNthAnti2gt12 = PDupwindNthAntifdOrder62(&gt12[index]);
+ PDupwindNthSymm2gt12 = PDupwindNthSymmfdOrder62(&gt12[index]);
+ PDupwindNthAnti3gt12 = PDupwindNthAntifdOrder63(&gt12[index]);
+ PDupwindNthSymm3gt12 = PDupwindNthSymmfdOrder63(&gt12[index]);
+ PDupwindNthAnti1gt13 = PDupwindNthAntifdOrder61(&gt13[index]);
+ PDupwindNthSymm1gt13 = PDupwindNthSymmfdOrder61(&gt13[index]);
+ PDupwindNthAnti2gt13 = PDupwindNthAntifdOrder62(&gt13[index]);
+ PDupwindNthSymm2gt13 = PDupwindNthSymmfdOrder62(&gt13[index]);
+ PDupwindNthAnti3gt13 = PDupwindNthAntifdOrder63(&gt13[index]);
+ PDupwindNthSymm3gt13 = PDupwindNthSymmfdOrder63(&gt13[index]);
+ PDupwindNthAnti1gt22 = PDupwindNthAntifdOrder61(&gt22[index]);
+ PDupwindNthSymm1gt22 = PDupwindNthSymmfdOrder61(&gt22[index]);
+ PDupwindNthAnti2gt22 = PDupwindNthAntifdOrder62(&gt22[index]);
+ PDupwindNthSymm2gt22 = PDupwindNthSymmfdOrder62(&gt22[index]);
+ PDupwindNthAnti3gt22 = PDupwindNthAntifdOrder63(&gt22[index]);
+ PDupwindNthSymm3gt22 = PDupwindNthSymmfdOrder63(&gt22[index]);
+ PDupwindNthAnti1gt23 = PDupwindNthAntifdOrder61(&gt23[index]);
+ PDupwindNthSymm1gt23 = PDupwindNthSymmfdOrder61(&gt23[index]);
+ PDupwindNthAnti2gt23 = PDupwindNthAntifdOrder62(&gt23[index]);
+ PDupwindNthSymm2gt23 = PDupwindNthSymmfdOrder62(&gt23[index]);
+ PDupwindNthAnti3gt23 = PDupwindNthAntifdOrder63(&gt23[index]);
+ PDupwindNthSymm3gt23 = PDupwindNthSymmfdOrder63(&gt23[index]);
+ PDupwindNthAnti1gt33 = PDupwindNthAntifdOrder61(&gt33[index]);
+ PDupwindNthSymm1gt33 = PDupwindNthSymmfdOrder61(&gt33[index]);
+ PDupwindNthAnti2gt33 = PDupwindNthAntifdOrder62(&gt33[index]);
+ PDupwindNthSymm2gt33 = PDupwindNthSymmfdOrder62(&gt33[index]);
+ PDupwindNthAnti3gt33 = PDupwindNthAntifdOrder63(&gt33[index]);
+ PDupwindNthSymm3gt33 = PDupwindNthSymmfdOrder63(&gt33[index]);
+ PDupwindNthAnti1phi = PDupwindNthAntifdOrder61(&phi[index]);
+ PDupwindNthSymm1phi = PDupwindNthSymmfdOrder61(&phi[index]);
+ PDupwindNthAnti2phi = PDupwindNthAntifdOrder62(&phi[index]);
+ PDupwindNthSymm2phi = PDupwindNthSymmfdOrder62(&phi[index]);
+ PDupwindNthAnti3phi = PDupwindNthAntifdOrder63(&phi[index]);
+ PDupwindNthSymm3phi = PDupwindNthSymmfdOrder63(&phi[index]);
+ PDupwindNthAnti1trK = PDupwindNthAntifdOrder61(&trK[index]);
+ PDupwindNthSymm1trK = PDupwindNthSymmfdOrder61(&trK[index]);
+ PDupwindNthAnti2trK = PDupwindNthAntifdOrder62(&trK[index]);
+ PDupwindNthSymm2trK = PDupwindNthSymmfdOrder62(&trK[index]);
+ PDupwindNthAnti3trK = PDupwindNthAntifdOrder63(&trK[index]);
+ PDupwindNthSymm3trK = PDupwindNthSymmfdOrder63(&trK[index]);
+ PDupwindNthAnti1Xt1 = PDupwindNthAntifdOrder61(&Xt1[index]);
+ PDupwindNthSymm1Xt1 = PDupwindNthSymmfdOrder61(&Xt1[index]);
+ PDupwindNthAnti2Xt1 = PDupwindNthAntifdOrder62(&Xt1[index]);
+ PDupwindNthSymm2Xt1 = PDupwindNthSymmfdOrder62(&Xt1[index]);
+ PDupwindNthAnti3Xt1 = PDupwindNthAntifdOrder63(&Xt1[index]);
+ PDupwindNthSymm3Xt1 = PDupwindNthSymmfdOrder63(&Xt1[index]);
+ PDupwindNthAnti1Xt2 = PDupwindNthAntifdOrder61(&Xt2[index]);
+ PDupwindNthSymm1Xt2 = PDupwindNthSymmfdOrder61(&Xt2[index]);
+ PDupwindNthAnti2Xt2 = PDupwindNthAntifdOrder62(&Xt2[index]);
+ PDupwindNthSymm2Xt2 = PDupwindNthSymmfdOrder62(&Xt2[index]);
+ PDupwindNthAnti3Xt2 = PDupwindNthAntifdOrder63(&Xt2[index]);
+ PDupwindNthSymm3Xt2 = PDupwindNthSymmfdOrder63(&Xt2[index]);
+ PDupwindNthAnti1Xt3 = PDupwindNthAntifdOrder61(&Xt3[index]);
+ PDupwindNthSymm1Xt3 = PDupwindNthSymmfdOrder61(&Xt3[index]);
+ PDupwindNthAnti2Xt3 = PDupwindNthAntifdOrder62(&Xt3[index]);
+ PDupwindNthSymm2Xt3 = PDupwindNthSymmfdOrder62(&Xt3[index]);
+ PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder63(&Xt3[index]);
+ PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder63(&Xt3[index]);
+ break;
+
+ case 8:
+ PDupwindNthAnti1A = PDupwindNthAntifdOrder81(&A[index]);
+ PDupwindNthSymm1A = PDupwindNthSymmfdOrder81(&A[index]);
+ PDupwindNthAnti2A = PDupwindNthAntifdOrder82(&A[index]);
+ PDupwindNthSymm2A = PDupwindNthSymmfdOrder82(&A[index]);
+ PDupwindNthAnti3A = PDupwindNthAntifdOrder83(&A[index]);
+ PDupwindNthSymm3A = PDupwindNthSymmfdOrder83(&A[index]);
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder82(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder83(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder83(&alpha[index]);
+ PDupwindNthAnti1At11 = PDupwindNthAntifdOrder81(&At11[index]);
+ PDupwindNthSymm1At11 = PDupwindNthSymmfdOrder81(&At11[index]);
+ PDupwindNthAnti2At11 = PDupwindNthAntifdOrder82(&At11[index]);
+ PDupwindNthSymm2At11 = PDupwindNthSymmfdOrder82(&At11[index]);
+ PDupwindNthAnti3At11 = PDupwindNthAntifdOrder83(&At11[index]);
+ PDupwindNthSymm3At11 = PDupwindNthSymmfdOrder83(&At11[index]);
+ PDupwindNthAnti1At12 = PDupwindNthAntifdOrder81(&At12[index]);
+ PDupwindNthSymm1At12 = PDupwindNthSymmfdOrder81(&At12[index]);
+ PDupwindNthAnti2At12 = PDupwindNthAntifdOrder82(&At12[index]);
+ PDupwindNthSymm2At12 = PDupwindNthSymmfdOrder82(&At12[index]);
+ PDupwindNthAnti3At12 = PDupwindNthAntifdOrder83(&At12[index]);
+ PDupwindNthSymm3At12 = PDupwindNthSymmfdOrder83(&At12[index]);
+ PDupwindNthAnti1At13 = PDupwindNthAntifdOrder81(&At13[index]);
+ PDupwindNthSymm1At13 = PDupwindNthSymmfdOrder81(&At13[index]);
+ PDupwindNthAnti2At13 = PDupwindNthAntifdOrder82(&At13[index]);
+ PDupwindNthSymm2At13 = PDupwindNthSymmfdOrder82(&At13[index]);
+ PDupwindNthAnti3At13 = PDupwindNthAntifdOrder83(&At13[index]);
+ PDupwindNthSymm3At13 = PDupwindNthSymmfdOrder83(&At13[index]);
+ PDupwindNthAnti1At22 = PDupwindNthAntifdOrder81(&At22[index]);
+ PDupwindNthSymm1At22 = PDupwindNthSymmfdOrder81(&At22[index]);
+ PDupwindNthAnti2At22 = PDupwindNthAntifdOrder82(&At22[index]);
+ PDupwindNthSymm2At22 = PDupwindNthSymmfdOrder82(&At22[index]);
+ PDupwindNthAnti3At22 = PDupwindNthAntifdOrder83(&At22[index]);
+ PDupwindNthSymm3At22 = PDupwindNthSymmfdOrder83(&At22[index]);
+ PDupwindNthAnti1At23 = PDupwindNthAntifdOrder81(&At23[index]);
+ PDupwindNthSymm1At23 = PDupwindNthSymmfdOrder81(&At23[index]);
+ PDupwindNthAnti2At23 = PDupwindNthAntifdOrder82(&At23[index]);
+ PDupwindNthSymm2At23 = PDupwindNthSymmfdOrder82(&At23[index]);
+ PDupwindNthAnti3At23 = PDupwindNthAntifdOrder83(&At23[index]);
+ PDupwindNthSymm3At23 = PDupwindNthSymmfdOrder83(&At23[index]);
+ PDupwindNthAnti1At33 = PDupwindNthAntifdOrder81(&At33[index]);
+ PDupwindNthSymm1At33 = PDupwindNthSymmfdOrder81(&At33[index]);
+ PDupwindNthAnti2At33 = PDupwindNthAntifdOrder82(&At33[index]);
+ PDupwindNthSymm2At33 = PDupwindNthSymmfdOrder82(&At33[index]);
+ PDupwindNthAnti3At33 = PDupwindNthAntifdOrder83(&At33[index]);
+ PDupwindNthSymm3At33 = PDupwindNthSymmfdOrder83(&At33[index]);
+ PDupwindNthAnti1B1 = PDupwindNthAntifdOrder81(&B1[index]);
+ PDupwindNthSymm1B1 = PDupwindNthSymmfdOrder81(&B1[index]);
+ PDupwindNthAnti2B1 = PDupwindNthAntifdOrder82(&B1[index]);
+ PDupwindNthSymm2B1 = PDupwindNthSymmfdOrder82(&B1[index]);
+ PDupwindNthAnti3B1 = PDupwindNthAntifdOrder83(&B1[index]);
+ PDupwindNthSymm3B1 = PDupwindNthSymmfdOrder83(&B1[index]);
+ PDupwindNthAnti1B2 = PDupwindNthAntifdOrder81(&B2[index]);
+ PDupwindNthSymm1B2 = PDupwindNthSymmfdOrder81(&B2[index]);
+ PDupwindNthAnti2B2 = PDupwindNthAntifdOrder82(&B2[index]);
+ PDupwindNthSymm2B2 = PDupwindNthSymmfdOrder82(&B2[index]);
+ PDupwindNthAnti3B2 = PDupwindNthAntifdOrder83(&B2[index]);
+ PDupwindNthSymm3B2 = PDupwindNthSymmfdOrder83(&B2[index]);
+ PDupwindNthAnti1B3 = PDupwindNthAntifdOrder81(&B3[index]);
+ PDupwindNthSymm1B3 = PDupwindNthSymmfdOrder81(&B3[index]);
+ PDupwindNthAnti2B3 = PDupwindNthAntifdOrder82(&B3[index]);
+ PDupwindNthSymm2B3 = PDupwindNthSymmfdOrder82(&B3[index]);
+ PDupwindNthAnti3B3 = PDupwindNthAntifdOrder83(&B3[index]);
+ PDupwindNthSymm3B3 = PDupwindNthSymmfdOrder83(&B3[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder81(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder81(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder82(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder82(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder83(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder83(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder81(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder81(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder82(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder82(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder83(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder83(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder81(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder81(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder82(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder82(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder83(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder83(&beta3[index]);
+ PDupwindNthAnti1gt11 = PDupwindNthAntifdOrder81(&gt11[index]);
+ PDupwindNthSymm1gt11 = PDupwindNthSymmfdOrder81(&gt11[index]);
+ PDupwindNthAnti2gt11 = PDupwindNthAntifdOrder82(&gt11[index]);
+ PDupwindNthSymm2gt11 = PDupwindNthSymmfdOrder82(&gt11[index]);
+ PDupwindNthAnti3gt11 = PDupwindNthAntifdOrder83(&gt11[index]);
+ PDupwindNthSymm3gt11 = PDupwindNthSymmfdOrder83(&gt11[index]);
+ PDupwindNthAnti1gt12 = PDupwindNthAntifdOrder81(&gt12[index]);
+ PDupwindNthSymm1gt12 = PDupwindNthSymmfdOrder81(&gt12[index]);
+ PDupwindNthAnti2gt12 = PDupwindNthAntifdOrder82(&gt12[index]);
+ PDupwindNthSymm2gt12 = PDupwindNthSymmfdOrder82(&gt12[index]);
+ PDupwindNthAnti3gt12 = PDupwindNthAntifdOrder83(&gt12[index]);
+ PDupwindNthSymm3gt12 = PDupwindNthSymmfdOrder83(&gt12[index]);
+ PDupwindNthAnti1gt13 = PDupwindNthAntifdOrder81(&gt13[index]);
+ PDupwindNthSymm1gt13 = PDupwindNthSymmfdOrder81(&gt13[index]);
+ PDupwindNthAnti2gt13 = PDupwindNthAntifdOrder82(&gt13[index]);
+ PDupwindNthSymm2gt13 = PDupwindNthSymmfdOrder82(&gt13[index]);
+ PDupwindNthAnti3gt13 = PDupwindNthAntifdOrder83(&gt13[index]);
+ PDupwindNthSymm3gt13 = PDupwindNthSymmfdOrder83(&gt13[index]);
+ PDupwindNthAnti1gt22 = PDupwindNthAntifdOrder81(&gt22[index]);
+ PDupwindNthSymm1gt22 = PDupwindNthSymmfdOrder81(&gt22[index]);
+ PDupwindNthAnti2gt22 = PDupwindNthAntifdOrder82(&gt22[index]);
+ PDupwindNthSymm2gt22 = PDupwindNthSymmfdOrder82(&gt22[index]);
+ PDupwindNthAnti3gt22 = PDupwindNthAntifdOrder83(&gt22[index]);
+ PDupwindNthSymm3gt22 = PDupwindNthSymmfdOrder83(&gt22[index]);
+ PDupwindNthAnti1gt23 = PDupwindNthAntifdOrder81(&gt23[index]);
+ PDupwindNthSymm1gt23 = PDupwindNthSymmfdOrder81(&gt23[index]);
+ PDupwindNthAnti2gt23 = PDupwindNthAntifdOrder82(&gt23[index]);
+ PDupwindNthSymm2gt23 = PDupwindNthSymmfdOrder82(&gt23[index]);
+ PDupwindNthAnti3gt23 = PDupwindNthAntifdOrder83(&gt23[index]);
+ PDupwindNthSymm3gt23 = PDupwindNthSymmfdOrder83(&gt23[index]);
+ PDupwindNthAnti1gt33 = PDupwindNthAntifdOrder81(&gt33[index]);
+ PDupwindNthSymm1gt33 = PDupwindNthSymmfdOrder81(&gt33[index]);
+ PDupwindNthAnti2gt33 = PDupwindNthAntifdOrder82(&gt33[index]);
+ PDupwindNthSymm2gt33 = PDupwindNthSymmfdOrder82(&gt33[index]);
+ PDupwindNthAnti3gt33 = PDupwindNthAntifdOrder83(&gt33[index]);
+ PDupwindNthSymm3gt33 = PDupwindNthSymmfdOrder83(&gt33[index]);
+ PDupwindNthAnti1phi = PDupwindNthAntifdOrder81(&phi[index]);
+ PDupwindNthSymm1phi = PDupwindNthSymmfdOrder81(&phi[index]);
+ PDupwindNthAnti2phi = PDupwindNthAntifdOrder82(&phi[index]);
+ PDupwindNthSymm2phi = PDupwindNthSymmfdOrder82(&phi[index]);
+ PDupwindNthAnti3phi = PDupwindNthAntifdOrder83(&phi[index]);
+ PDupwindNthSymm3phi = PDupwindNthSymmfdOrder83(&phi[index]);
+ PDupwindNthAnti1trK = PDupwindNthAntifdOrder81(&trK[index]);
+ PDupwindNthSymm1trK = PDupwindNthSymmfdOrder81(&trK[index]);
+ PDupwindNthAnti2trK = PDupwindNthAntifdOrder82(&trK[index]);
+ PDupwindNthSymm2trK = PDupwindNthSymmfdOrder82(&trK[index]);
+ PDupwindNthAnti3trK = PDupwindNthAntifdOrder83(&trK[index]);
+ PDupwindNthSymm3trK = PDupwindNthSymmfdOrder83(&trK[index]);
+ PDupwindNthAnti1Xt1 = PDupwindNthAntifdOrder81(&Xt1[index]);
+ PDupwindNthSymm1Xt1 = PDupwindNthSymmfdOrder81(&Xt1[index]);
+ PDupwindNthAnti2Xt1 = PDupwindNthAntifdOrder82(&Xt1[index]);
+ PDupwindNthSymm2Xt1 = PDupwindNthSymmfdOrder82(&Xt1[index]);
+ PDupwindNthAnti3Xt1 = PDupwindNthAntifdOrder83(&Xt1[index]);
+ PDupwindNthSymm3Xt1 = PDupwindNthSymmfdOrder83(&Xt1[index]);
+ PDupwindNthAnti1Xt2 = PDupwindNthAntifdOrder81(&Xt2[index]);
+ PDupwindNthSymm1Xt2 = PDupwindNthSymmfdOrder81(&Xt2[index]);
+ PDupwindNthAnti2Xt2 = PDupwindNthAntifdOrder82(&Xt2[index]);
+ PDupwindNthSymm2Xt2 = PDupwindNthSymmfdOrder82(&Xt2[index]);
+ PDupwindNthAnti3Xt2 = PDupwindNthAntifdOrder83(&Xt2[index]);
+ PDupwindNthSymm3Xt2 = PDupwindNthSymmfdOrder83(&Xt2[index]);
+ PDupwindNthAnti1Xt3 = PDupwindNthAntifdOrder81(&Xt3[index]);
+ PDupwindNthSymm1Xt3 = PDupwindNthSymmfdOrder81(&Xt3[index]);
+ PDupwindNthAnti2Xt3 = PDupwindNthAntifdOrder82(&Xt3[index]);
+ PDupwindNthSymm2Xt3 = PDupwindNthSymmfdOrder82(&Xt3[index]);
+ PDupwindNthAnti3Xt3 = PDupwindNthAntifdOrder83(&Xt3[index]);
+ PDupwindNthSymm3Xt3 = PDupwindNthSymmfdOrder83(&Xt3[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDupwindNthAnti1A;
+ CCTK_REAL_VEC JacPDupwindNthAnti1alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti1At11;
+ CCTK_REAL_VEC JacPDupwindNthAnti1At12;
+ CCTK_REAL_VEC JacPDupwindNthAnti1At13;
+ CCTK_REAL_VEC JacPDupwindNthAnti1At22;
+ CCTK_REAL_VEC JacPDupwindNthAnti1At23;
+ CCTK_REAL_VEC JacPDupwindNthAnti1At33;
+ CCTK_REAL_VEC JacPDupwindNthAnti1B1;
+ CCTK_REAL_VEC JacPDupwindNthAnti1B2;
+ CCTK_REAL_VEC JacPDupwindNthAnti1B3;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti1gt11;
+ CCTK_REAL_VEC JacPDupwindNthAnti1gt12;
+ CCTK_REAL_VEC JacPDupwindNthAnti1gt13;
+ CCTK_REAL_VEC JacPDupwindNthAnti1gt22;
+ CCTK_REAL_VEC JacPDupwindNthAnti1gt23;
+ CCTK_REAL_VEC JacPDupwindNthAnti1gt33;
+ CCTK_REAL_VEC JacPDupwindNthAnti1phi;
+ CCTK_REAL_VEC JacPDupwindNthAnti1trK;
+ CCTK_REAL_VEC JacPDupwindNthAnti1Xt1;
+ CCTK_REAL_VEC JacPDupwindNthAnti1Xt2;
+ CCTK_REAL_VEC JacPDupwindNthAnti1Xt3;
+ CCTK_REAL_VEC JacPDupwindNthAnti2A;
+ CCTK_REAL_VEC JacPDupwindNthAnti2alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti2At11;
+ CCTK_REAL_VEC JacPDupwindNthAnti2At12;
+ CCTK_REAL_VEC JacPDupwindNthAnti2At13;
+ CCTK_REAL_VEC JacPDupwindNthAnti2At22;
+ CCTK_REAL_VEC JacPDupwindNthAnti2At23;
+ CCTK_REAL_VEC JacPDupwindNthAnti2At33;
+ CCTK_REAL_VEC JacPDupwindNthAnti2B1;
+ CCTK_REAL_VEC JacPDupwindNthAnti2B2;
+ CCTK_REAL_VEC JacPDupwindNthAnti2B3;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti2gt11;
+ CCTK_REAL_VEC JacPDupwindNthAnti2gt12;
+ CCTK_REAL_VEC JacPDupwindNthAnti2gt13;
+ CCTK_REAL_VEC JacPDupwindNthAnti2gt22;
+ CCTK_REAL_VEC JacPDupwindNthAnti2gt23;
+ CCTK_REAL_VEC JacPDupwindNthAnti2gt33;
+ CCTK_REAL_VEC JacPDupwindNthAnti2phi;
+ CCTK_REAL_VEC JacPDupwindNthAnti2trK;
+ CCTK_REAL_VEC JacPDupwindNthAnti2Xt1;
+ CCTK_REAL_VEC JacPDupwindNthAnti2Xt2;
+ CCTK_REAL_VEC JacPDupwindNthAnti2Xt3;
+ CCTK_REAL_VEC JacPDupwindNthAnti3A;
+ CCTK_REAL_VEC JacPDupwindNthAnti3alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti3At11;
+ CCTK_REAL_VEC JacPDupwindNthAnti3At12;
+ CCTK_REAL_VEC JacPDupwindNthAnti3At13;
+ CCTK_REAL_VEC JacPDupwindNthAnti3At22;
+ CCTK_REAL_VEC JacPDupwindNthAnti3At23;
+ CCTK_REAL_VEC JacPDupwindNthAnti3At33;
+ CCTK_REAL_VEC JacPDupwindNthAnti3B1;
+ CCTK_REAL_VEC JacPDupwindNthAnti3B2;
+ CCTK_REAL_VEC JacPDupwindNthAnti3B3;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti3gt11;
+ CCTK_REAL_VEC JacPDupwindNthAnti3gt12;
+ CCTK_REAL_VEC JacPDupwindNthAnti3gt13;
+ CCTK_REAL_VEC JacPDupwindNthAnti3gt22;
+ CCTK_REAL_VEC JacPDupwindNthAnti3gt23;
+ CCTK_REAL_VEC JacPDupwindNthAnti3gt33;
+ CCTK_REAL_VEC JacPDupwindNthAnti3phi;
+ CCTK_REAL_VEC JacPDupwindNthAnti3trK;
+ CCTK_REAL_VEC JacPDupwindNthAnti3Xt1;
+ CCTK_REAL_VEC JacPDupwindNthAnti3Xt2;
+ CCTK_REAL_VEC JacPDupwindNthAnti3Xt3;
+ CCTK_REAL_VEC JacPDupwindNthSymm1A;
+ CCTK_REAL_VEC JacPDupwindNthSymm1alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm1At11;
+ CCTK_REAL_VEC JacPDupwindNthSymm1At12;
+ CCTK_REAL_VEC JacPDupwindNthSymm1At13;
+ CCTK_REAL_VEC JacPDupwindNthSymm1At22;
+ CCTK_REAL_VEC JacPDupwindNthSymm1At23;
+ CCTK_REAL_VEC JacPDupwindNthSymm1At33;
+ CCTK_REAL_VEC JacPDupwindNthSymm1B1;
+ CCTK_REAL_VEC JacPDupwindNthSymm1B2;
+ CCTK_REAL_VEC JacPDupwindNthSymm1B3;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm1gt11;
+ CCTK_REAL_VEC JacPDupwindNthSymm1gt12;
+ CCTK_REAL_VEC JacPDupwindNthSymm1gt13;
+ CCTK_REAL_VEC JacPDupwindNthSymm1gt22;
+ CCTK_REAL_VEC JacPDupwindNthSymm1gt23;
+ CCTK_REAL_VEC JacPDupwindNthSymm1gt33;
+ CCTK_REAL_VEC JacPDupwindNthSymm1phi;
+ CCTK_REAL_VEC JacPDupwindNthSymm1trK;
+ CCTK_REAL_VEC JacPDupwindNthSymm1Xt1;
+ CCTK_REAL_VEC JacPDupwindNthSymm1Xt2;
+ CCTK_REAL_VEC JacPDupwindNthSymm1Xt3;
+ CCTK_REAL_VEC JacPDupwindNthSymm2A;
+ CCTK_REAL_VEC JacPDupwindNthSymm2alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm2At11;
+ CCTK_REAL_VEC JacPDupwindNthSymm2At12;
+ CCTK_REAL_VEC JacPDupwindNthSymm2At13;
+ CCTK_REAL_VEC JacPDupwindNthSymm2At22;
+ CCTK_REAL_VEC JacPDupwindNthSymm2At23;
+ CCTK_REAL_VEC JacPDupwindNthSymm2At33;
+ CCTK_REAL_VEC JacPDupwindNthSymm2B1;
+ CCTK_REAL_VEC JacPDupwindNthSymm2B2;
+ CCTK_REAL_VEC JacPDupwindNthSymm2B3;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm2gt11;
+ CCTK_REAL_VEC JacPDupwindNthSymm2gt12;
+ CCTK_REAL_VEC JacPDupwindNthSymm2gt13;
+ CCTK_REAL_VEC JacPDupwindNthSymm2gt22;
+ CCTK_REAL_VEC JacPDupwindNthSymm2gt23;
+ CCTK_REAL_VEC JacPDupwindNthSymm2gt33;
+ CCTK_REAL_VEC JacPDupwindNthSymm2phi;
+ CCTK_REAL_VEC JacPDupwindNthSymm2trK;
+ CCTK_REAL_VEC JacPDupwindNthSymm2Xt1;
+ CCTK_REAL_VEC JacPDupwindNthSymm2Xt2;
+ CCTK_REAL_VEC JacPDupwindNthSymm2Xt3;
+ CCTK_REAL_VEC JacPDupwindNthSymm3A;
+ CCTK_REAL_VEC JacPDupwindNthSymm3alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm3At11;
+ CCTK_REAL_VEC JacPDupwindNthSymm3At12;
+ CCTK_REAL_VEC JacPDupwindNthSymm3At13;
+ CCTK_REAL_VEC JacPDupwindNthSymm3At22;
+ CCTK_REAL_VEC JacPDupwindNthSymm3At23;
+ CCTK_REAL_VEC JacPDupwindNthSymm3At33;
+ CCTK_REAL_VEC JacPDupwindNthSymm3B1;
+ CCTK_REAL_VEC JacPDupwindNthSymm3B2;
+ CCTK_REAL_VEC JacPDupwindNthSymm3B3;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm3gt11;
+ CCTK_REAL_VEC JacPDupwindNthSymm3gt12;
+ CCTK_REAL_VEC JacPDupwindNthSymm3gt13;
+ CCTK_REAL_VEC JacPDupwindNthSymm3gt22;
+ CCTK_REAL_VEC JacPDupwindNthSymm3gt23;
+ CCTK_REAL_VEC JacPDupwindNthSymm3gt33;
+ CCTK_REAL_VEC JacPDupwindNthSymm3phi;
+ CCTK_REAL_VEC JacPDupwindNthSymm3trK;
+ CCTK_REAL_VEC JacPDupwindNthSymm3Xt1;
+ CCTK_REAL_VEC JacPDupwindNthSymm3Xt2;
+ CCTK_REAL_VEC JacPDupwindNthSymm3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDupwindNthAnti1A =
+ kmadd(J11L,PDupwindNthAnti1A,kmadd(J21L,PDupwindNthAnti2A,kmul(J31L,PDupwindNthAnti3A)));
+
+ JacPDupwindNthAnti1alpha =
+ kmadd(J11L,PDupwindNthAnti1alpha,kmadd(J21L,PDupwindNthAnti2alpha,kmul(J31L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti1At11 =
+ kmadd(J11L,PDupwindNthAnti1At11,kmadd(J21L,PDupwindNthAnti2At11,kmul(J31L,PDupwindNthAnti3At11)));
+
+ JacPDupwindNthAnti1At12 =
+ kmadd(J11L,PDupwindNthAnti1At12,kmadd(J21L,PDupwindNthAnti2At12,kmul(J31L,PDupwindNthAnti3At12)));
+
+ JacPDupwindNthAnti1At13 =
+ kmadd(J11L,PDupwindNthAnti1At13,kmadd(J21L,PDupwindNthAnti2At13,kmul(J31L,PDupwindNthAnti3At13)));
+
+ JacPDupwindNthAnti1At22 =
+ kmadd(J11L,PDupwindNthAnti1At22,kmadd(J21L,PDupwindNthAnti2At22,kmul(J31L,PDupwindNthAnti3At22)));
+
+ JacPDupwindNthAnti1At23 =
+ kmadd(J11L,PDupwindNthAnti1At23,kmadd(J21L,PDupwindNthAnti2At23,kmul(J31L,PDupwindNthAnti3At23)));
+
+ JacPDupwindNthAnti1At33 =
+ kmadd(J11L,PDupwindNthAnti1At33,kmadd(J21L,PDupwindNthAnti2At33,kmul(J31L,PDupwindNthAnti3At33)));
+
+ JacPDupwindNthAnti1B1 =
+ kmadd(J11L,PDupwindNthAnti1B1,kmadd(J21L,PDupwindNthAnti2B1,kmul(J31L,PDupwindNthAnti3B1)));
+
+ JacPDupwindNthAnti1B2 =
+ kmadd(J11L,PDupwindNthAnti1B2,kmadd(J21L,PDupwindNthAnti2B2,kmul(J31L,PDupwindNthAnti3B2)));
+
+ JacPDupwindNthAnti1B3 =
+ kmadd(J11L,PDupwindNthAnti1B3,kmadd(J21L,PDupwindNthAnti2B3,kmul(J31L,PDupwindNthAnti3B3)));
+
+ JacPDupwindNthAnti1beta1 =
+ kmadd(J11L,PDupwindNthAnti1beta1,kmadd(J21L,PDupwindNthAnti2beta1,kmul(J31L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti1beta2 =
+ kmadd(J11L,PDupwindNthAnti1beta2,kmadd(J21L,PDupwindNthAnti2beta2,kmul(J31L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti1beta3 =
+ kmadd(J11L,PDupwindNthAnti1beta3,kmadd(J21L,PDupwindNthAnti2beta3,kmul(J31L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthAnti1gt11 =
+ kmadd(J11L,PDupwindNthAnti1gt11,kmadd(J21L,PDupwindNthAnti2gt11,kmul(J31L,PDupwindNthAnti3gt11)));
+
+ JacPDupwindNthAnti1gt12 =
+ kmadd(J11L,PDupwindNthAnti1gt12,kmadd(J21L,PDupwindNthAnti2gt12,kmul(J31L,PDupwindNthAnti3gt12)));
+
+ JacPDupwindNthAnti1gt13 =
+ kmadd(J11L,PDupwindNthAnti1gt13,kmadd(J21L,PDupwindNthAnti2gt13,kmul(J31L,PDupwindNthAnti3gt13)));
+
+ JacPDupwindNthAnti1gt22 =
+ kmadd(J11L,PDupwindNthAnti1gt22,kmadd(J21L,PDupwindNthAnti2gt22,kmul(J31L,PDupwindNthAnti3gt22)));
+
+ JacPDupwindNthAnti1gt23 =
+ kmadd(J11L,PDupwindNthAnti1gt23,kmadd(J21L,PDupwindNthAnti2gt23,kmul(J31L,PDupwindNthAnti3gt23)));
+
+ JacPDupwindNthAnti1gt33 =
+ kmadd(J11L,PDupwindNthAnti1gt33,kmadd(J21L,PDupwindNthAnti2gt33,kmul(J31L,PDupwindNthAnti3gt33)));
+
+ JacPDupwindNthAnti1phi =
+ kmadd(J11L,PDupwindNthAnti1phi,kmadd(J21L,PDupwindNthAnti2phi,kmul(J31L,PDupwindNthAnti3phi)));
+
+ JacPDupwindNthAnti1trK =
+ kmadd(J11L,PDupwindNthAnti1trK,kmadd(J21L,PDupwindNthAnti2trK,kmul(J31L,PDupwindNthAnti3trK)));
+
+ JacPDupwindNthAnti1Xt1 =
+ kmadd(J11L,PDupwindNthAnti1Xt1,kmadd(J21L,PDupwindNthAnti2Xt1,kmul(J31L,PDupwindNthAnti3Xt1)));
+
+ JacPDupwindNthAnti1Xt2 =
+ kmadd(J11L,PDupwindNthAnti1Xt2,kmadd(J21L,PDupwindNthAnti2Xt2,kmul(J31L,PDupwindNthAnti3Xt2)));
+
+ JacPDupwindNthAnti1Xt3 =
+ kmadd(J11L,PDupwindNthAnti1Xt3,kmadd(J21L,PDupwindNthAnti2Xt3,kmul(J31L,PDupwindNthAnti3Xt3)));
+
+ JacPDupwindNthSymm1A =
+ kmadd(J11L,PDupwindNthSymm1A,kmadd(J21L,PDupwindNthSymm2A,kmul(J31L,PDupwindNthSymm3A)));
+
+ JacPDupwindNthSymm1alpha =
+ kmadd(J11L,PDupwindNthSymm1alpha,kmadd(J21L,PDupwindNthSymm2alpha,kmul(J31L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm1At11 =
+ kmadd(J11L,PDupwindNthSymm1At11,kmadd(J21L,PDupwindNthSymm2At11,kmul(J31L,PDupwindNthSymm3At11)));
+
+ JacPDupwindNthSymm1At12 =
+ kmadd(J11L,PDupwindNthSymm1At12,kmadd(J21L,PDupwindNthSymm2At12,kmul(J31L,PDupwindNthSymm3At12)));
+
+ JacPDupwindNthSymm1At13 =
+ kmadd(J11L,PDupwindNthSymm1At13,kmadd(J21L,PDupwindNthSymm2At13,kmul(J31L,PDupwindNthSymm3At13)));
+
+ JacPDupwindNthSymm1At22 =
+ kmadd(J11L,PDupwindNthSymm1At22,kmadd(J21L,PDupwindNthSymm2At22,kmul(J31L,PDupwindNthSymm3At22)));
+
+ JacPDupwindNthSymm1At23 =
+ kmadd(J11L,PDupwindNthSymm1At23,kmadd(J21L,PDupwindNthSymm2At23,kmul(J31L,PDupwindNthSymm3At23)));
+
+ JacPDupwindNthSymm1At33 =
+ kmadd(J11L,PDupwindNthSymm1At33,kmadd(J21L,PDupwindNthSymm2At33,kmul(J31L,PDupwindNthSymm3At33)));
+
+ JacPDupwindNthSymm1B1 =
+ kmadd(J11L,PDupwindNthSymm1B1,kmadd(J21L,PDupwindNthSymm2B1,kmul(J31L,PDupwindNthSymm3B1)));
+
+ JacPDupwindNthSymm1B2 =
+ kmadd(J11L,PDupwindNthSymm1B2,kmadd(J21L,PDupwindNthSymm2B2,kmul(J31L,PDupwindNthSymm3B2)));
+
+ JacPDupwindNthSymm1B3 =
+ kmadd(J11L,PDupwindNthSymm1B3,kmadd(J21L,PDupwindNthSymm2B3,kmul(J31L,PDupwindNthSymm3B3)));
+
+ JacPDupwindNthSymm1beta1 =
+ kmadd(J11L,PDupwindNthSymm1beta1,kmadd(J21L,PDupwindNthSymm2beta1,kmul(J31L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm1beta2 =
+ kmadd(J11L,PDupwindNthSymm1beta2,kmadd(J21L,PDupwindNthSymm2beta2,kmul(J31L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm1beta3 =
+ kmadd(J11L,PDupwindNthSymm1beta3,kmadd(J21L,PDupwindNthSymm2beta3,kmul(J31L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthSymm1gt11 =
+ kmadd(J11L,PDupwindNthSymm1gt11,kmadd(J21L,PDupwindNthSymm2gt11,kmul(J31L,PDupwindNthSymm3gt11)));
+
+ JacPDupwindNthSymm1gt12 =
+ kmadd(J11L,PDupwindNthSymm1gt12,kmadd(J21L,PDupwindNthSymm2gt12,kmul(J31L,PDupwindNthSymm3gt12)));
+
+ JacPDupwindNthSymm1gt13 =
+ kmadd(J11L,PDupwindNthSymm1gt13,kmadd(J21L,PDupwindNthSymm2gt13,kmul(J31L,PDupwindNthSymm3gt13)));
+
+ JacPDupwindNthSymm1gt22 =
+ kmadd(J11L,PDupwindNthSymm1gt22,kmadd(J21L,PDupwindNthSymm2gt22,kmul(J31L,PDupwindNthSymm3gt22)));
+
+ JacPDupwindNthSymm1gt23 =
+ kmadd(J11L,PDupwindNthSymm1gt23,kmadd(J21L,PDupwindNthSymm2gt23,kmul(J31L,PDupwindNthSymm3gt23)));
+
+ JacPDupwindNthSymm1gt33 =
+ kmadd(J11L,PDupwindNthSymm1gt33,kmadd(J21L,PDupwindNthSymm2gt33,kmul(J31L,PDupwindNthSymm3gt33)));
+
+ JacPDupwindNthSymm1phi =
+ kmadd(J11L,PDupwindNthSymm1phi,kmadd(J21L,PDupwindNthSymm2phi,kmul(J31L,PDupwindNthSymm3phi)));
+
+ JacPDupwindNthSymm1trK =
+ kmadd(J11L,PDupwindNthSymm1trK,kmadd(J21L,PDupwindNthSymm2trK,kmul(J31L,PDupwindNthSymm3trK)));
+
+ JacPDupwindNthSymm1Xt1 =
+ kmadd(J11L,PDupwindNthSymm1Xt1,kmadd(J21L,PDupwindNthSymm2Xt1,kmul(J31L,PDupwindNthSymm3Xt1)));
+
+ JacPDupwindNthSymm1Xt2 =
+ kmadd(J11L,PDupwindNthSymm1Xt2,kmadd(J21L,PDupwindNthSymm2Xt2,kmul(J31L,PDupwindNthSymm3Xt2)));
+
+ JacPDupwindNthSymm1Xt3 =
+ kmadd(J11L,PDupwindNthSymm1Xt3,kmadd(J21L,PDupwindNthSymm2Xt3,kmul(J31L,PDupwindNthSymm3Xt3)));
+
+ JacPDupwindNthAnti2A =
+ kmadd(J12L,PDupwindNthAnti1A,kmadd(J22L,PDupwindNthAnti2A,kmul(J32L,PDupwindNthAnti3A)));
+
+ JacPDupwindNthAnti2alpha =
+ kmadd(J12L,PDupwindNthAnti1alpha,kmadd(J22L,PDupwindNthAnti2alpha,kmul(J32L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti2At11 =
+ kmadd(J12L,PDupwindNthAnti1At11,kmadd(J22L,PDupwindNthAnti2At11,kmul(J32L,PDupwindNthAnti3At11)));
+
+ JacPDupwindNthAnti2At12 =
+ kmadd(J12L,PDupwindNthAnti1At12,kmadd(J22L,PDupwindNthAnti2At12,kmul(J32L,PDupwindNthAnti3At12)));
+
+ JacPDupwindNthAnti2At13 =
+ kmadd(J12L,PDupwindNthAnti1At13,kmadd(J22L,PDupwindNthAnti2At13,kmul(J32L,PDupwindNthAnti3At13)));
+
+ JacPDupwindNthAnti2At22 =
+ kmadd(J12L,PDupwindNthAnti1At22,kmadd(J22L,PDupwindNthAnti2At22,kmul(J32L,PDupwindNthAnti3At22)));
+
+ JacPDupwindNthAnti2At23 =
+ kmadd(J12L,PDupwindNthAnti1At23,kmadd(J22L,PDupwindNthAnti2At23,kmul(J32L,PDupwindNthAnti3At23)));
+
+ JacPDupwindNthAnti2At33 =
+ kmadd(J12L,PDupwindNthAnti1At33,kmadd(J22L,PDupwindNthAnti2At33,kmul(J32L,PDupwindNthAnti3At33)));
+
+ JacPDupwindNthAnti2B1 =
+ kmadd(J12L,PDupwindNthAnti1B1,kmadd(J22L,PDupwindNthAnti2B1,kmul(J32L,PDupwindNthAnti3B1)));
+
+ JacPDupwindNthAnti2B2 =
+ kmadd(J12L,PDupwindNthAnti1B2,kmadd(J22L,PDupwindNthAnti2B2,kmul(J32L,PDupwindNthAnti3B2)));
+
+ JacPDupwindNthAnti2B3 =
+ kmadd(J12L,PDupwindNthAnti1B3,kmadd(J22L,PDupwindNthAnti2B3,kmul(J32L,PDupwindNthAnti3B3)));
+
+ JacPDupwindNthAnti2beta1 =
+ kmadd(J12L,PDupwindNthAnti1beta1,kmadd(J22L,PDupwindNthAnti2beta1,kmul(J32L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti2beta2 =
+ kmadd(J12L,PDupwindNthAnti1beta2,kmadd(J22L,PDupwindNthAnti2beta2,kmul(J32L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti2beta3 =
+ kmadd(J12L,PDupwindNthAnti1beta3,kmadd(J22L,PDupwindNthAnti2beta3,kmul(J32L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthAnti2gt11 =
+ kmadd(J12L,PDupwindNthAnti1gt11,kmadd(J22L,PDupwindNthAnti2gt11,kmul(J32L,PDupwindNthAnti3gt11)));
+
+ JacPDupwindNthAnti2gt12 =
+ kmadd(J12L,PDupwindNthAnti1gt12,kmadd(J22L,PDupwindNthAnti2gt12,kmul(J32L,PDupwindNthAnti3gt12)));
+
+ JacPDupwindNthAnti2gt13 =
+ kmadd(J12L,PDupwindNthAnti1gt13,kmadd(J22L,PDupwindNthAnti2gt13,kmul(J32L,PDupwindNthAnti3gt13)));
+
+ JacPDupwindNthAnti2gt22 =
+ kmadd(J12L,PDupwindNthAnti1gt22,kmadd(J22L,PDupwindNthAnti2gt22,kmul(J32L,PDupwindNthAnti3gt22)));
+
+ JacPDupwindNthAnti2gt23 =
+ kmadd(J12L,PDupwindNthAnti1gt23,kmadd(J22L,PDupwindNthAnti2gt23,kmul(J32L,PDupwindNthAnti3gt23)));
+
+ JacPDupwindNthAnti2gt33 =
+ kmadd(J12L,PDupwindNthAnti1gt33,kmadd(J22L,PDupwindNthAnti2gt33,kmul(J32L,PDupwindNthAnti3gt33)));
+
+ JacPDupwindNthAnti2phi =
+ kmadd(J12L,PDupwindNthAnti1phi,kmadd(J22L,PDupwindNthAnti2phi,kmul(J32L,PDupwindNthAnti3phi)));
+
+ JacPDupwindNthAnti2trK =
+ kmadd(J12L,PDupwindNthAnti1trK,kmadd(J22L,PDupwindNthAnti2trK,kmul(J32L,PDupwindNthAnti3trK)));
+
+ JacPDupwindNthAnti2Xt1 =
+ kmadd(J12L,PDupwindNthAnti1Xt1,kmadd(J22L,PDupwindNthAnti2Xt1,kmul(J32L,PDupwindNthAnti3Xt1)));
+
+ JacPDupwindNthAnti2Xt2 =
+ kmadd(J12L,PDupwindNthAnti1Xt2,kmadd(J22L,PDupwindNthAnti2Xt2,kmul(J32L,PDupwindNthAnti3Xt2)));
+
+ JacPDupwindNthAnti2Xt3 =
+ kmadd(J12L,PDupwindNthAnti1Xt3,kmadd(J22L,PDupwindNthAnti2Xt3,kmul(J32L,PDupwindNthAnti3Xt3)));
+
+ JacPDupwindNthSymm2A =
+ kmadd(J12L,PDupwindNthSymm1A,kmadd(J22L,PDupwindNthSymm2A,kmul(J32L,PDupwindNthSymm3A)));
+
+ JacPDupwindNthSymm2alpha =
+ kmadd(J12L,PDupwindNthSymm1alpha,kmadd(J22L,PDupwindNthSymm2alpha,kmul(J32L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm2At11 =
+ kmadd(J12L,PDupwindNthSymm1At11,kmadd(J22L,PDupwindNthSymm2At11,kmul(J32L,PDupwindNthSymm3At11)));
+
+ JacPDupwindNthSymm2At12 =
+ kmadd(J12L,PDupwindNthSymm1At12,kmadd(J22L,PDupwindNthSymm2At12,kmul(J32L,PDupwindNthSymm3At12)));
+
+ JacPDupwindNthSymm2At13 =
+ kmadd(J12L,PDupwindNthSymm1At13,kmadd(J22L,PDupwindNthSymm2At13,kmul(J32L,PDupwindNthSymm3At13)));
+
+ JacPDupwindNthSymm2At22 =
+ kmadd(J12L,PDupwindNthSymm1At22,kmadd(J22L,PDupwindNthSymm2At22,kmul(J32L,PDupwindNthSymm3At22)));
+
+ JacPDupwindNthSymm2At23 =
+ kmadd(J12L,PDupwindNthSymm1At23,kmadd(J22L,PDupwindNthSymm2At23,kmul(J32L,PDupwindNthSymm3At23)));
+
+ JacPDupwindNthSymm2At33 =
+ kmadd(J12L,PDupwindNthSymm1At33,kmadd(J22L,PDupwindNthSymm2At33,kmul(J32L,PDupwindNthSymm3At33)));
+
+ JacPDupwindNthSymm2B1 =
+ kmadd(J12L,PDupwindNthSymm1B1,kmadd(J22L,PDupwindNthSymm2B1,kmul(J32L,PDupwindNthSymm3B1)));
+
+ JacPDupwindNthSymm2B2 =
+ kmadd(J12L,PDupwindNthSymm1B2,kmadd(J22L,PDupwindNthSymm2B2,kmul(J32L,PDupwindNthSymm3B2)));
+
+ JacPDupwindNthSymm2B3 =
+ kmadd(J12L,PDupwindNthSymm1B3,kmadd(J22L,PDupwindNthSymm2B3,kmul(J32L,PDupwindNthSymm3B3)));
+
+ JacPDupwindNthSymm2beta1 =
+ kmadd(J12L,PDupwindNthSymm1beta1,kmadd(J22L,PDupwindNthSymm2beta1,kmul(J32L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm2beta2 =
+ kmadd(J12L,PDupwindNthSymm1beta2,kmadd(J22L,PDupwindNthSymm2beta2,kmul(J32L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm2beta3 =
+ kmadd(J12L,PDupwindNthSymm1beta3,kmadd(J22L,PDupwindNthSymm2beta3,kmul(J32L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthSymm2gt11 =
+ kmadd(J12L,PDupwindNthSymm1gt11,kmadd(J22L,PDupwindNthSymm2gt11,kmul(J32L,PDupwindNthSymm3gt11)));
+
+ JacPDupwindNthSymm2gt12 =
+ kmadd(J12L,PDupwindNthSymm1gt12,kmadd(J22L,PDupwindNthSymm2gt12,kmul(J32L,PDupwindNthSymm3gt12)));
+
+ JacPDupwindNthSymm2gt13 =
+ kmadd(J12L,PDupwindNthSymm1gt13,kmadd(J22L,PDupwindNthSymm2gt13,kmul(J32L,PDupwindNthSymm3gt13)));
+
+ JacPDupwindNthSymm2gt22 =
+ kmadd(J12L,PDupwindNthSymm1gt22,kmadd(J22L,PDupwindNthSymm2gt22,kmul(J32L,PDupwindNthSymm3gt22)));
+
+ JacPDupwindNthSymm2gt23 =
+ kmadd(J12L,PDupwindNthSymm1gt23,kmadd(J22L,PDupwindNthSymm2gt23,kmul(J32L,PDupwindNthSymm3gt23)));
+
+ JacPDupwindNthSymm2gt33 =
+ kmadd(J12L,PDupwindNthSymm1gt33,kmadd(J22L,PDupwindNthSymm2gt33,kmul(J32L,PDupwindNthSymm3gt33)));
+
+ JacPDupwindNthSymm2phi =
+ kmadd(J12L,PDupwindNthSymm1phi,kmadd(J22L,PDupwindNthSymm2phi,kmul(J32L,PDupwindNthSymm3phi)));
+
+ JacPDupwindNthSymm2trK =
+ kmadd(J12L,PDupwindNthSymm1trK,kmadd(J22L,PDupwindNthSymm2trK,kmul(J32L,PDupwindNthSymm3trK)));
+
+ JacPDupwindNthSymm2Xt1 =
+ kmadd(J12L,PDupwindNthSymm1Xt1,kmadd(J22L,PDupwindNthSymm2Xt1,kmul(J32L,PDupwindNthSymm3Xt1)));
+
+ JacPDupwindNthSymm2Xt2 =
+ kmadd(J12L,PDupwindNthSymm1Xt2,kmadd(J22L,PDupwindNthSymm2Xt2,kmul(J32L,PDupwindNthSymm3Xt2)));
+
+ JacPDupwindNthSymm2Xt3 =
+ kmadd(J12L,PDupwindNthSymm1Xt3,kmadd(J22L,PDupwindNthSymm2Xt3,kmul(J32L,PDupwindNthSymm3Xt3)));
+
+ JacPDupwindNthAnti3A =
+ kmadd(J13L,PDupwindNthAnti1A,kmadd(J23L,PDupwindNthAnti2A,kmul(J33L,PDupwindNthAnti3A)));
+
+ JacPDupwindNthAnti3alpha =
+ kmadd(J13L,PDupwindNthAnti1alpha,kmadd(J23L,PDupwindNthAnti2alpha,kmul(J33L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti3At11 =
+ kmadd(J13L,PDupwindNthAnti1At11,kmadd(J23L,PDupwindNthAnti2At11,kmul(J33L,PDupwindNthAnti3At11)));
+
+ JacPDupwindNthAnti3At12 =
+ kmadd(J13L,PDupwindNthAnti1At12,kmadd(J23L,PDupwindNthAnti2At12,kmul(J33L,PDupwindNthAnti3At12)));
+
+ JacPDupwindNthAnti3At13 =
+ kmadd(J13L,PDupwindNthAnti1At13,kmadd(J23L,PDupwindNthAnti2At13,kmul(J33L,PDupwindNthAnti3At13)));
+
+ JacPDupwindNthAnti3At22 =
+ kmadd(J13L,PDupwindNthAnti1At22,kmadd(J23L,PDupwindNthAnti2At22,kmul(J33L,PDupwindNthAnti3At22)));
+
+ JacPDupwindNthAnti3At23 =
+ kmadd(J13L,PDupwindNthAnti1At23,kmadd(J23L,PDupwindNthAnti2At23,kmul(J33L,PDupwindNthAnti3At23)));
+
+ JacPDupwindNthAnti3At33 =
+ kmadd(J13L,PDupwindNthAnti1At33,kmadd(J23L,PDupwindNthAnti2At33,kmul(J33L,PDupwindNthAnti3At33)));
+
+ JacPDupwindNthAnti3B1 =
+ kmadd(J13L,PDupwindNthAnti1B1,kmadd(J23L,PDupwindNthAnti2B1,kmul(J33L,PDupwindNthAnti3B1)));
+
+ JacPDupwindNthAnti3B2 =
+ kmadd(J13L,PDupwindNthAnti1B2,kmadd(J23L,PDupwindNthAnti2B2,kmul(J33L,PDupwindNthAnti3B2)));
+
+ JacPDupwindNthAnti3B3 =
+ kmadd(J13L,PDupwindNthAnti1B3,kmadd(J23L,PDupwindNthAnti2B3,kmul(J33L,PDupwindNthAnti3B3)));
+
+ JacPDupwindNthAnti3beta1 =
+ kmadd(J13L,PDupwindNthAnti1beta1,kmadd(J23L,PDupwindNthAnti2beta1,kmul(J33L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti3beta2 =
+ kmadd(J13L,PDupwindNthAnti1beta2,kmadd(J23L,PDupwindNthAnti2beta2,kmul(J33L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti3beta3 =
+ kmadd(J13L,PDupwindNthAnti1beta3,kmadd(J23L,PDupwindNthAnti2beta3,kmul(J33L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthAnti3gt11 =
+ kmadd(J13L,PDupwindNthAnti1gt11,kmadd(J23L,PDupwindNthAnti2gt11,kmul(J33L,PDupwindNthAnti3gt11)));
+
+ JacPDupwindNthAnti3gt12 =
+ kmadd(J13L,PDupwindNthAnti1gt12,kmadd(J23L,PDupwindNthAnti2gt12,kmul(J33L,PDupwindNthAnti3gt12)));
+
+ JacPDupwindNthAnti3gt13 =
+ kmadd(J13L,PDupwindNthAnti1gt13,kmadd(J23L,PDupwindNthAnti2gt13,kmul(J33L,PDupwindNthAnti3gt13)));
+
+ JacPDupwindNthAnti3gt22 =
+ kmadd(J13L,PDupwindNthAnti1gt22,kmadd(J23L,PDupwindNthAnti2gt22,kmul(J33L,PDupwindNthAnti3gt22)));
+
+ JacPDupwindNthAnti3gt23 =
+ kmadd(J13L,PDupwindNthAnti1gt23,kmadd(J23L,PDupwindNthAnti2gt23,kmul(J33L,PDupwindNthAnti3gt23)));
+
+ JacPDupwindNthAnti3gt33 =
+ kmadd(J13L,PDupwindNthAnti1gt33,kmadd(J23L,PDupwindNthAnti2gt33,kmul(J33L,PDupwindNthAnti3gt33)));
+
+ JacPDupwindNthAnti3phi =
+ kmadd(J13L,PDupwindNthAnti1phi,kmadd(J23L,PDupwindNthAnti2phi,kmul(J33L,PDupwindNthAnti3phi)));
+
+ JacPDupwindNthAnti3trK =
+ kmadd(J13L,PDupwindNthAnti1trK,kmadd(J23L,PDupwindNthAnti2trK,kmul(J33L,PDupwindNthAnti3trK)));
+
+ JacPDupwindNthAnti3Xt1 =
+ kmadd(J13L,PDupwindNthAnti1Xt1,kmadd(J23L,PDupwindNthAnti2Xt1,kmul(J33L,PDupwindNthAnti3Xt1)));
+
+ JacPDupwindNthAnti3Xt2 =
+ kmadd(J13L,PDupwindNthAnti1Xt2,kmadd(J23L,PDupwindNthAnti2Xt2,kmul(J33L,PDupwindNthAnti3Xt2)));
+
+ JacPDupwindNthAnti3Xt3 =
+ kmadd(J13L,PDupwindNthAnti1Xt3,kmadd(J23L,PDupwindNthAnti2Xt3,kmul(J33L,PDupwindNthAnti3Xt3)));
+
+ JacPDupwindNthSymm3A =
+ kmadd(J13L,PDupwindNthSymm1A,kmadd(J23L,PDupwindNthSymm2A,kmul(J33L,PDupwindNthSymm3A)));
+
+ JacPDupwindNthSymm3alpha =
+ kmadd(J13L,PDupwindNthSymm1alpha,kmadd(J23L,PDupwindNthSymm2alpha,kmul(J33L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm3At11 =
+ kmadd(J13L,PDupwindNthSymm1At11,kmadd(J23L,PDupwindNthSymm2At11,kmul(J33L,PDupwindNthSymm3At11)));
+
+ JacPDupwindNthSymm3At12 =
+ kmadd(J13L,PDupwindNthSymm1At12,kmadd(J23L,PDupwindNthSymm2At12,kmul(J33L,PDupwindNthSymm3At12)));
+
+ JacPDupwindNthSymm3At13 =
+ kmadd(J13L,PDupwindNthSymm1At13,kmadd(J23L,PDupwindNthSymm2At13,kmul(J33L,PDupwindNthSymm3At13)));
+
+ JacPDupwindNthSymm3At22 =
+ kmadd(J13L,PDupwindNthSymm1At22,kmadd(J23L,PDupwindNthSymm2At22,kmul(J33L,PDupwindNthSymm3At22)));
+
+ JacPDupwindNthSymm3At23 =
+ kmadd(J13L,PDupwindNthSymm1At23,kmadd(J23L,PDupwindNthSymm2At23,kmul(J33L,PDupwindNthSymm3At23)));
+
+ JacPDupwindNthSymm3At33 =
+ kmadd(J13L,PDupwindNthSymm1At33,kmadd(J23L,PDupwindNthSymm2At33,kmul(J33L,PDupwindNthSymm3At33)));
+
+ JacPDupwindNthSymm3B1 =
+ kmadd(J13L,PDupwindNthSymm1B1,kmadd(J23L,PDupwindNthSymm2B1,kmul(J33L,PDupwindNthSymm3B1)));
+
+ JacPDupwindNthSymm3B2 =
+ kmadd(J13L,PDupwindNthSymm1B2,kmadd(J23L,PDupwindNthSymm2B2,kmul(J33L,PDupwindNthSymm3B2)));
+
+ JacPDupwindNthSymm3B3 =
+ kmadd(J13L,PDupwindNthSymm1B3,kmadd(J23L,PDupwindNthSymm2B3,kmul(J33L,PDupwindNthSymm3B3)));
+
+ JacPDupwindNthSymm3beta1 =
+ kmadd(J13L,PDupwindNthSymm1beta1,kmadd(J23L,PDupwindNthSymm2beta1,kmul(J33L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm3beta2 =
+ kmadd(J13L,PDupwindNthSymm1beta2,kmadd(J23L,PDupwindNthSymm2beta2,kmul(J33L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm3beta3 =
+ kmadd(J13L,PDupwindNthSymm1beta3,kmadd(J23L,PDupwindNthSymm2beta3,kmul(J33L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthSymm3gt11 =
+ kmadd(J13L,PDupwindNthSymm1gt11,kmadd(J23L,PDupwindNthSymm2gt11,kmul(J33L,PDupwindNthSymm3gt11)));
+
+ JacPDupwindNthSymm3gt12 =
+ kmadd(J13L,PDupwindNthSymm1gt12,kmadd(J23L,PDupwindNthSymm2gt12,kmul(J33L,PDupwindNthSymm3gt12)));
+
+ JacPDupwindNthSymm3gt13 =
+ kmadd(J13L,PDupwindNthSymm1gt13,kmadd(J23L,PDupwindNthSymm2gt13,kmul(J33L,PDupwindNthSymm3gt13)));
+
+ JacPDupwindNthSymm3gt22 =
+ kmadd(J13L,PDupwindNthSymm1gt22,kmadd(J23L,PDupwindNthSymm2gt22,kmul(J33L,PDupwindNthSymm3gt22)));
+
+ JacPDupwindNthSymm3gt23 =
+ kmadd(J13L,PDupwindNthSymm1gt23,kmadd(J23L,PDupwindNthSymm2gt23,kmul(J33L,PDupwindNthSymm3gt23)));
+
+ JacPDupwindNthSymm3gt33 =
+ kmadd(J13L,PDupwindNthSymm1gt33,kmadd(J23L,PDupwindNthSymm2gt33,kmul(J33L,PDupwindNthSymm3gt33)));
+
+ JacPDupwindNthSymm3phi =
+ kmadd(J13L,PDupwindNthSymm1phi,kmadd(J23L,PDupwindNthSymm2phi,kmul(J33L,PDupwindNthSymm3phi)));
+
+ JacPDupwindNthSymm3trK =
+ kmadd(J13L,PDupwindNthSymm1trK,kmadd(J23L,PDupwindNthSymm2trK,kmul(J33L,PDupwindNthSymm3trK)));
+
+ JacPDupwindNthSymm3Xt1 =
+ kmadd(J13L,PDupwindNthSymm1Xt1,kmadd(J23L,PDupwindNthSymm2Xt1,kmul(J33L,PDupwindNthSymm3Xt1)));
+
+ JacPDupwindNthSymm3Xt2 =
+ kmadd(J13L,PDupwindNthSymm1Xt2,kmadd(J23L,PDupwindNthSymm2Xt2,kmul(J33L,PDupwindNthSymm3Xt2)));
+
+ JacPDupwindNthSymm3Xt3 =
+ kmadd(J13L,PDupwindNthSymm1Xt3,kmadd(J23L,PDupwindNthSymm2Xt3,kmul(J33L,PDupwindNthSymm3Xt3)));
+ }
+ else
+ {
+ JacPDupwindNthAnti1A = PDupwindNthAnti1A;
+
+ JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha;
+
+ JacPDupwindNthAnti1At11 = PDupwindNthAnti1At11;
+
+ JacPDupwindNthAnti1At12 = PDupwindNthAnti1At12;
+
+ JacPDupwindNthAnti1At13 = PDupwindNthAnti1At13;
+
+ JacPDupwindNthAnti1At22 = PDupwindNthAnti1At22;
+
+ JacPDupwindNthAnti1At23 = PDupwindNthAnti1At23;
+
+ JacPDupwindNthAnti1At33 = PDupwindNthAnti1At33;
+
+ JacPDupwindNthAnti1B1 = PDupwindNthAnti1B1;
+
+ JacPDupwindNthAnti1B2 = PDupwindNthAnti1B2;
+
+ JacPDupwindNthAnti1B3 = PDupwindNthAnti1B3;
+
+ JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1;
+
+ JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2;
+
+ JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3;
+
+ JacPDupwindNthAnti1gt11 = PDupwindNthAnti1gt11;
+
+ JacPDupwindNthAnti1gt12 = PDupwindNthAnti1gt12;
+
+ JacPDupwindNthAnti1gt13 = PDupwindNthAnti1gt13;
+
+ JacPDupwindNthAnti1gt22 = PDupwindNthAnti1gt22;
+
+ JacPDupwindNthAnti1gt23 = PDupwindNthAnti1gt23;
+
+ JacPDupwindNthAnti1gt33 = PDupwindNthAnti1gt33;
+
+ JacPDupwindNthAnti1phi = PDupwindNthAnti1phi;
+
+ JacPDupwindNthAnti1trK = PDupwindNthAnti1trK;
+
+ JacPDupwindNthAnti1Xt1 = PDupwindNthAnti1Xt1;
+
+ JacPDupwindNthAnti1Xt2 = PDupwindNthAnti1Xt2;
+
+ JacPDupwindNthAnti1Xt3 = PDupwindNthAnti1Xt3;
+
+ JacPDupwindNthSymm1A = PDupwindNthSymm1A;
+
+ JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha;
+
+ JacPDupwindNthSymm1At11 = PDupwindNthSymm1At11;
+
+ JacPDupwindNthSymm1At12 = PDupwindNthSymm1At12;
+
+ JacPDupwindNthSymm1At13 = PDupwindNthSymm1At13;
+
+ JacPDupwindNthSymm1At22 = PDupwindNthSymm1At22;
+
+ JacPDupwindNthSymm1At23 = PDupwindNthSymm1At23;
+
+ JacPDupwindNthSymm1At33 = PDupwindNthSymm1At33;
+
+ JacPDupwindNthSymm1B1 = PDupwindNthSymm1B1;
+
+ JacPDupwindNthSymm1B2 = PDupwindNthSymm1B2;
+
+ JacPDupwindNthSymm1B3 = PDupwindNthSymm1B3;
+
+ JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1;
+
+ JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2;
+
+ JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3;
+
+ JacPDupwindNthSymm1gt11 = PDupwindNthSymm1gt11;
+
+ JacPDupwindNthSymm1gt12 = PDupwindNthSymm1gt12;
+
+ JacPDupwindNthSymm1gt13 = PDupwindNthSymm1gt13;
+
+ JacPDupwindNthSymm1gt22 = PDupwindNthSymm1gt22;
+
+ JacPDupwindNthSymm1gt23 = PDupwindNthSymm1gt23;
+
+ JacPDupwindNthSymm1gt33 = PDupwindNthSymm1gt33;
+
+ JacPDupwindNthSymm1phi = PDupwindNthSymm1phi;
+
+ JacPDupwindNthSymm1trK = PDupwindNthSymm1trK;
+
+ JacPDupwindNthSymm1Xt1 = PDupwindNthSymm1Xt1;
+
+ JacPDupwindNthSymm1Xt2 = PDupwindNthSymm1Xt2;
+
+ JacPDupwindNthSymm1Xt3 = PDupwindNthSymm1Xt3;
+
+ JacPDupwindNthAnti2A = PDupwindNthAnti2A;
+
+ JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha;
+
+ JacPDupwindNthAnti2At11 = PDupwindNthAnti2At11;
+
+ JacPDupwindNthAnti2At12 = PDupwindNthAnti2At12;
+
+ JacPDupwindNthAnti2At13 = PDupwindNthAnti2At13;
+
+ JacPDupwindNthAnti2At22 = PDupwindNthAnti2At22;
+
+ JacPDupwindNthAnti2At23 = PDupwindNthAnti2At23;
+
+ JacPDupwindNthAnti2At33 = PDupwindNthAnti2At33;
+
+ JacPDupwindNthAnti2B1 = PDupwindNthAnti2B1;
+
+ JacPDupwindNthAnti2B2 = PDupwindNthAnti2B2;
+
+ JacPDupwindNthAnti2B3 = PDupwindNthAnti2B3;
+
+ JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1;
+
+ JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2;
+
+ JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3;
+
+ JacPDupwindNthAnti2gt11 = PDupwindNthAnti2gt11;
+
+ JacPDupwindNthAnti2gt12 = PDupwindNthAnti2gt12;
+
+ JacPDupwindNthAnti2gt13 = PDupwindNthAnti2gt13;
+
+ JacPDupwindNthAnti2gt22 = PDupwindNthAnti2gt22;
+
+ JacPDupwindNthAnti2gt23 = PDupwindNthAnti2gt23;
+
+ JacPDupwindNthAnti2gt33 = PDupwindNthAnti2gt33;
+
+ JacPDupwindNthAnti2phi = PDupwindNthAnti2phi;
+
+ JacPDupwindNthAnti2trK = PDupwindNthAnti2trK;
+
+ JacPDupwindNthAnti2Xt1 = PDupwindNthAnti2Xt1;
+
+ JacPDupwindNthAnti2Xt2 = PDupwindNthAnti2Xt2;
+
+ JacPDupwindNthAnti2Xt3 = PDupwindNthAnti2Xt3;
+
+ JacPDupwindNthSymm2A = PDupwindNthSymm2A;
+
+ JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha;
+
+ JacPDupwindNthSymm2At11 = PDupwindNthSymm2At11;
+
+ JacPDupwindNthSymm2At12 = PDupwindNthSymm2At12;
+
+ JacPDupwindNthSymm2At13 = PDupwindNthSymm2At13;
+
+ JacPDupwindNthSymm2At22 = PDupwindNthSymm2At22;
+
+ JacPDupwindNthSymm2At23 = PDupwindNthSymm2At23;
+
+ JacPDupwindNthSymm2At33 = PDupwindNthSymm2At33;
+
+ JacPDupwindNthSymm2B1 = PDupwindNthSymm2B1;
+
+ JacPDupwindNthSymm2B2 = PDupwindNthSymm2B2;
+
+ JacPDupwindNthSymm2B3 = PDupwindNthSymm2B3;
+
+ JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1;
+
+ JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2;
+
+ JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3;
+
+ JacPDupwindNthSymm2gt11 = PDupwindNthSymm2gt11;
+
+ JacPDupwindNthSymm2gt12 = PDupwindNthSymm2gt12;
+
+ JacPDupwindNthSymm2gt13 = PDupwindNthSymm2gt13;
+
+ JacPDupwindNthSymm2gt22 = PDupwindNthSymm2gt22;
+
+ JacPDupwindNthSymm2gt23 = PDupwindNthSymm2gt23;
+
+ JacPDupwindNthSymm2gt33 = PDupwindNthSymm2gt33;
+
+ JacPDupwindNthSymm2phi = PDupwindNthSymm2phi;
+
+ JacPDupwindNthSymm2trK = PDupwindNthSymm2trK;
+
+ JacPDupwindNthSymm2Xt1 = PDupwindNthSymm2Xt1;
+
+ JacPDupwindNthSymm2Xt2 = PDupwindNthSymm2Xt2;
+
+ JacPDupwindNthSymm2Xt3 = PDupwindNthSymm2Xt3;
+
+ JacPDupwindNthAnti3A = PDupwindNthAnti3A;
+
+ JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3At11 = PDupwindNthAnti3At11;
+
+ JacPDupwindNthAnti3At12 = PDupwindNthAnti3At12;
+
+ JacPDupwindNthAnti3At13 = PDupwindNthAnti3At13;
+
+ JacPDupwindNthAnti3At22 = PDupwindNthAnti3At22;
+
+ JacPDupwindNthAnti3At23 = PDupwindNthAnti3At23;
+
+ JacPDupwindNthAnti3At33 = PDupwindNthAnti3At33;
+
+ JacPDupwindNthAnti3B1 = PDupwindNthAnti3B1;
+
+ JacPDupwindNthAnti3B2 = PDupwindNthAnti3B2;
+
+ JacPDupwindNthAnti3B3 = PDupwindNthAnti3B3;
+
+ JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3;
+
+ JacPDupwindNthAnti3gt11 = PDupwindNthAnti3gt11;
+
+ JacPDupwindNthAnti3gt12 = PDupwindNthAnti3gt12;
+
+ JacPDupwindNthAnti3gt13 = PDupwindNthAnti3gt13;
+
+ JacPDupwindNthAnti3gt22 = PDupwindNthAnti3gt22;
+
+ JacPDupwindNthAnti3gt23 = PDupwindNthAnti3gt23;
+
+ JacPDupwindNthAnti3gt33 = PDupwindNthAnti3gt33;
+
+ JacPDupwindNthAnti3phi = PDupwindNthAnti3phi;
+
+ JacPDupwindNthAnti3trK = PDupwindNthAnti3trK;
+
+ JacPDupwindNthAnti3Xt1 = PDupwindNthAnti3Xt1;
+
+ JacPDupwindNthAnti3Xt2 = PDupwindNthAnti3Xt2;
+
+ JacPDupwindNthAnti3Xt3 = PDupwindNthAnti3Xt3;
+
+ JacPDupwindNthSymm3A = PDupwindNthSymm3A;
+
+ JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3At11 = PDupwindNthSymm3At11;
+
+ JacPDupwindNthSymm3At12 = PDupwindNthSymm3At12;
+
+ JacPDupwindNthSymm3At13 = PDupwindNthSymm3At13;
+
+ JacPDupwindNthSymm3At22 = PDupwindNthSymm3At22;
+
+ JacPDupwindNthSymm3At23 = PDupwindNthSymm3At23;
+
+ JacPDupwindNthSymm3At33 = PDupwindNthSymm3At33;
+
+ JacPDupwindNthSymm3B1 = PDupwindNthSymm3B1;
+
+ JacPDupwindNthSymm3B2 = PDupwindNthSymm3B2;
+
+ JacPDupwindNthSymm3B3 = PDupwindNthSymm3B3;
+
+ JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3;
+
+ JacPDupwindNthSymm3gt11 = PDupwindNthSymm3gt11;
+
+ JacPDupwindNthSymm3gt12 = PDupwindNthSymm3gt12;
+
+ JacPDupwindNthSymm3gt13 = PDupwindNthSymm3gt13;
+
+ JacPDupwindNthSymm3gt22 = PDupwindNthSymm3gt22;
+
+ JacPDupwindNthSymm3gt23 = PDupwindNthSymm3gt23;
+
+ JacPDupwindNthSymm3gt33 = PDupwindNthSymm3gt33;
+
+ JacPDupwindNthSymm3phi = PDupwindNthSymm3phi;
+
+ JacPDupwindNthSymm3trK = PDupwindNthSymm3trK;
+
+ JacPDupwindNthSymm3Xt1 = PDupwindNthSymm3Xt1;
+
+ JacPDupwindNthSymm3Xt2 = PDupwindNthSymm3Xt2;
+
+ JacPDupwindNthSymm3Xt3 = PDupwindNthSymm3Xt3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -351,79 +2009,79 @@ static void ML_BSSN_Advect_Body(cGH const * restrict const cctkGH, int const dir
ptrdiff_t dir3 = Sign(beta3L);
phirhsL =
- kmadd(beta1L,PDupwindNthAnti1phi,kmadd(beta2L,PDupwindNthAnti2phi,kmadd(beta3L,PDupwindNthAnti3phi,kadd(phirhsL,kmadd(PDupwindNthSymm1phi,kfabs(beta1L),kmadd(PDupwindNthSymm2phi,kfabs(beta2L),kmul(PDupwindNthSymm3phi,kfabs(beta3L))))))));
+ kmadd(beta1L,JacPDupwindNthAnti1phi,kmadd(beta2L,JacPDupwindNthAnti2phi,kmadd(beta3L,JacPDupwindNthAnti3phi,kadd(phirhsL,kmadd(JacPDupwindNthSymm1phi,kfabs(beta1L),kmadd(JacPDupwindNthSymm2phi,kfabs(beta2L),kmul(JacPDupwindNthSymm3phi,kfabs(beta3L))))))));
gt11rhsL =
- kadd(gt11rhsL,kmadd(beta1L,PDupwindNthAnti1gt11,kmadd(beta2L,PDupwindNthAnti2gt11,kmadd(beta3L,PDupwindNthAnti3gt11,kmadd(PDupwindNthSymm1gt11,kfabs(beta1L),kmadd(PDupwindNthSymm2gt11,kfabs(beta2L),kmul(PDupwindNthSymm3gt11,kfabs(beta3L))))))));
+ kadd(gt11rhsL,kmadd(beta1L,JacPDupwindNthAnti1gt11,kmadd(beta2L,JacPDupwindNthAnti2gt11,kmadd(beta3L,JacPDupwindNthAnti3gt11,kmadd(JacPDupwindNthSymm1gt11,kfabs(beta1L),kmadd(JacPDupwindNthSymm2gt11,kfabs(beta2L),kmul(JacPDupwindNthSymm3gt11,kfabs(beta3L))))))));
gt12rhsL =
- kadd(gt12rhsL,kmadd(beta1L,PDupwindNthAnti1gt12,kmadd(beta2L,PDupwindNthAnti2gt12,kmadd(beta3L,PDupwindNthAnti3gt12,kmadd(PDupwindNthSymm1gt12,kfabs(beta1L),kmadd(PDupwindNthSymm2gt12,kfabs(beta2L),kmul(PDupwindNthSymm3gt12,kfabs(beta3L))))))));
+ kadd(gt12rhsL,kmadd(beta1L,JacPDupwindNthAnti1gt12,kmadd(beta2L,JacPDupwindNthAnti2gt12,kmadd(beta3L,JacPDupwindNthAnti3gt12,kmadd(JacPDupwindNthSymm1gt12,kfabs(beta1L),kmadd(JacPDupwindNthSymm2gt12,kfabs(beta2L),kmul(JacPDupwindNthSymm3gt12,kfabs(beta3L))))))));
gt13rhsL =
- kadd(gt13rhsL,kmadd(beta1L,PDupwindNthAnti1gt13,kmadd(beta2L,PDupwindNthAnti2gt13,kmadd(beta3L,PDupwindNthAnti3gt13,kmadd(PDupwindNthSymm1gt13,kfabs(beta1L),kmadd(PDupwindNthSymm2gt13,kfabs(beta2L),kmul(PDupwindNthSymm3gt13,kfabs(beta3L))))))));
+ kadd(gt13rhsL,kmadd(beta1L,JacPDupwindNthAnti1gt13,kmadd(beta2L,JacPDupwindNthAnti2gt13,kmadd(beta3L,JacPDupwindNthAnti3gt13,kmadd(JacPDupwindNthSymm1gt13,kfabs(beta1L),kmadd(JacPDupwindNthSymm2gt13,kfabs(beta2L),kmul(JacPDupwindNthSymm3gt13,kfabs(beta3L))))))));
gt22rhsL =
- kadd(gt22rhsL,kmadd(beta1L,PDupwindNthAnti1gt22,kmadd(beta2L,PDupwindNthAnti2gt22,kmadd(beta3L,PDupwindNthAnti3gt22,kmadd(PDupwindNthSymm1gt22,kfabs(beta1L),kmadd(PDupwindNthSymm2gt22,kfabs(beta2L),kmul(PDupwindNthSymm3gt22,kfabs(beta3L))))))));
+ kadd(gt22rhsL,kmadd(beta1L,JacPDupwindNthAnti1gt22,kmadd(beta2L,JacPDupwindNthAnti2gt22,kmadd(beta3L,JacPDupwindNthAnti3gt22,kmadd(JacPDupwindNthSymm1gt22,kfabs(beta1L),kmadd(JacPDupwindNthSymm2gt22,kfabs(beta2L),kmul(JacPDupwindNthSymm3gt22,kfabs(beta3L))))))));
gt23rhsL =
- kadd(gt23rhsL,kmadd(beta1L,PDupwindNthAnti1gt23,kmadd(beta2L,PDupwindNthAnti2gt23,kmadd(beta3L,PDupwindNthAnti3gt23,kmadd(PDupwindNthSymm1gt23,kfabs(beta1L),kmadd(PDupwindNthSymm2gt23,kfabs(beta2L),kmul(PDupwindNthSymm3gt23,kfabs(beta3L))))))));
+ kadd(gt23rhsL,kmadd(beta1L,JacPDupwindNthAnti1gt23,kmadd(beta2L,JacPDupwindNthAnti2gt23,kmadd(beta3L,JacPDupwindNthAnti3gt23,kmadd(JacPDupwindNthSymm1gt23,kfabs(beta1L),kmadd(JacPDupwindNthSymm2gt23,kfabs(beta2L),kmul(JacPDupwindNthSymm3gt23,kfabs(beta3L))))))));
gt33rhsL =
- kadd(gt33rhsL,kmadd(beta1L,PDupwindNthAnti1gt33,kmadd(beta2L,PDupwindNthAnti2gt33,kmadd(beta3L,PDupwindNthAnti3gt33,kmadd(PDupwindNthSymm1gt33,kfabs(beta1L),kmadd(PDupwindNthSymm2gt33,kfabs(beta2L),kmul(PDupwindNthSymm3gt33,kfabs(beta3L))))))));
+ kadd(gt33rhsL,kmadd(beta1L,JacPDupwindNthAnti1gt33,kmadd(beta2L,JacPDupwindNthAnti2gt33,kmadd(beta3L,JacPDupwindNthAnti3gt33,kmadd(JacPDupwindNthSymm1gt33,kfabs(beta1L),kmadd(JacPDupwindNthSymm2gt33,kfabs(beta2L),kmul(JacPDupwindNthSymm3gt33,kfabs(beta3L))))))));
Xt1rhsL =
- kmadd(beta1L,PDupwindNthAnti1Xt1,kmadd(beta2L,PDupwindNthAnti2Xt1,kmadd(beta3L,PDupwindNthAnti3Xt1,kadd(Xt1rhsL,kmadd(PDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(PDupwindNthSymm2Xt1,kfabs(beta2L),kmul(PDupwindNthSymm3Xt1,kfabs(beta3L))))))));
+ kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kadd(Xt1rhsL,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))));
Xt2rhsL =
- kmadd(beta1L,PDupwindNthAnti1Xt2,kmadd(beta2L,PDupwindNthAnti2Xt2,kmadd(beta3L,PDupwindNthAnti3Xt2,kadd(Xt2rhsL,kmadd(PDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(PDupwindNthSymm2Xt2,kfabs(beta2L),kmul(PDupwindNthSymm3Xt2,kfabs(beta3L))))))));
+ kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kadd(Xt2rhsL,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))));
Xt3rhsL =
- kmadd(beta1L,PDupwindNthAnti1Xt3,kmadd(beta2L,PDupwindNthAnti2Xt3,kmadd(beta3L,PDupwindNthAnti3Xt3,kadd(Xt3rhsL,kmadd(PDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(PDupwindNthSymm2Xt3,kfabs(beta2L),kmul(PDupwindNthSymm3Xt3,kfabs(beta3L))))))));
+ kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kadd(Xt3rhsL,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))));
trKrhsL =
- kmadd(beta1L,PDupwindNthAnti1trK,kmadd(beta2L,PDupwindNthAnti2trK,kmadd(beta3L,PDupwindNthAnti3trK,kadd(trKrhsL,kmadd(PDupwindNthSymm1trK,kfabs(beta1L),kmadd(PDupwindNthSymm2trK,kfabs(beta2L),kmul(PDupwindNthSymm3trK,kfabs(beta3L))))))));
+ kmadd(beta1L,JacPDupwindNthAnti1trK,kmadd(beta2L,JacPDupwindNthAnti2trK,kmadd(beta3L,JacPDupwindNthAnti3trK,kadd(trKrhsL,kmadd(JacPDupwindNthSymm1trK,kfabs(beta1L),kmadd(JacPDupwindNthSymm2trK,kfabs(beta2L),kmul(JacPDupwindNthSymm3trK,kfabs(beta3L))))))));
At11rhsL =
- kadd(At11rhsL,kmadd(beta1L,PDupwindNthAnti1At11,kmadd(beta2L,PDupwindNthAnti2At11,kmadd(beta3L,PDupwindNthAnti3At11,kmadd(PDupwindNthSymm1At11,kfabs(beta1L),kmadd(PDupwindNthSymm2At11,kfabs(beta2L),kmul(PDupwindNthSymm3At11,kfabs(beta3L))))))));
+ kadd(At11rhsL,kmadd(beta1L,JacPDupwindNthAnti1At11,kmadd(beta2L,JacPDupwindNthAnti2At11,kmadd(beta3L,JacPDupwindNthAnti3At11,kmadd(JacPDupwindNthSymm1At11,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At11,kfabs(beta2L),kmul(JacPDupwindNthSymm3At11,kfabs(beta3L))))))));
At12rhsL =
- kadd(At12rhsL,kmadd(beta1L,PDupwindNthAnti1At12,kmadd(beta2L,PDupwindNthAnti2At12,kmadd(beta3L,PDupwindNthAnti3At12,kmadd(PDupwindNthSymm1At12,kfabs(beta1L),kmadd(PDupwindNthSymm2At12,kfabs(beta2L),kmul(PDupwindNthSymm3At12,kfabs(beta3L))))))));
+ kadd(At12rhsL,kmadd(beta1L,JacPDupwindNthAnti1At12,kmadd(beta2L,JacPDupwindNthAnti2At12,kmadd(beta3L,JacPDupwindNthAnti3At12,kmadd(JacPDupwindNthSymm1At12,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At12,kfabs(beta2L),kmul(JacPDupwindNthSymm3At12,kfabs(beta3L))))))));
At13rhsL =
- kadd(At13rhsL,kmadd(beta1L,PDupwindNthAnti1At13,kmadd(beta2L,PDupwindNthAnti2At13,kmadd(beta3L,PDupwindNthAnti3At13,kmadd(PDupwindNthSymm1At13,kfabs(beta1L),kmadd(PDupwindNthSymm2At13,kfabs(beta2L),kmul(PDupwindNthSymm3At13,kfabs(beta3L))))))));
+ kadd(At13rhsL,kmadd(beta1L,JacPDupwindNthAnti1At13,kmadd(beta2L,JacPDupwindNthAnti2At13,kmadd(beta3L,JacPDupwindNthAnti3At13,kmadd(JacPDupwindNthSymm1At13,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At13,kfabs(beta2L),kmul(JacPDupwindNthSymm3At13,kfabs(beta3L))))))));
At22rhsL =
- kadd(At22rhsL,kmadd(beta1L,PDupwindNthAnti1At22,kmadd(beta2L,PDupwindNthAnti2At22,kmadd(beta3L,PDupwindNthAnti3At22,kmadd(PDupwindNthSymm1At22,kfabs(beta1L),kmadd(PDupwindNthSymm2At22,kfabs(beta2L),kmul(PDupwindNthSymm3At22,kfabs(beta3L))))))));
+ kadd(At22rhsL,kmadd(beta1L,JacPDupwindNthAnti1At22,kmadd(beta2L,JacPDupwindNthAnti2At22,kmadd(beta3L,JacPDupwindNthAnti3At22,kmadd(JacPDupwindNthSymm1At22,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At22,kfabs(beta2L),kmul(JacPDupwindNthSymm3At22,kfabs(beta3L))))))));
At23rhsL =
- kadd(At23rhsL,kmadd(beta1L,PDupwindNthAnti1At23,kmadd(beta2L,PDupwindNthAnti2At23,kmadd(beta3L,PDupwindNthAnti3At23,kmadd(PDupwindNthSymm1At23,kfabs(beta1L),kmadd(PDupwindNthSymm2At23,kfabs(beta2L),kmul(PDupwindNthSymm3At23,kfabs(beta3L))))))));
+ kadd(At23rhsL,kmadd(beta1L,JacPDupwindNthAnti1At23,kmadd(beta2L,JacPDupwindNthAnti2At23,kmadd(beta3L,JacPDupwindNthAnti3At23,kmadd(JacPDupwindNthSymm1At23,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At23,kfabs(beta2L),kmul(JacPDupwindNthSymm3At23,kfabs(beta3L))))))));
At33rhsL =
- kadd(At33rhsL,kmadd(beta1L,PDupwindNthAnti1At33,kmadd(beta2L,PDupwindNthAnti2At33,kmadd(beta3L,PDupwindNthAnti3At33,kmadd(PDupwindNthSymm1At33,kfabs(beta1L),kmadd(PDupwindNthSymm2At33,kfabs(beta2L),kmul(PDupwindNthSymm3At33,kfabs(beta3L))))))));
+ kadd(At33rhsL,kmadd(beta1L,JacPDupwindNthAnti1At33,kmadd(beta2L,JacPDupwindNthAnti2At33,kmadd(beta3L,JacPDupwindNthAnti3At33,kmadd(JacPDupwindNthSymm1At33,kfabs(beta1L),kmadd(JacPDupwindNthSymm2At33,kfabs(beta2L),kmul(JacPDupwindNthSymm3At33,kfabs(beta3L))))))));
alpharhsL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1alpha,kmadd(beta2L,PDupwindNthAnti2alpha,kmadd(beta3L,PDupwindNthAnti3alpha,kmadd(PDupwindNthSymm1alpha,kfabs(beta1L),kmadd(PDupwindNthSymm2alpha,kfabs(beta2L),kmul(PDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),alpharhsL);
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),alpharhsL);
ArhsL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1A,kmadd(beta2L,PDupwindNthAnti2A,kmadd(beta3L,PDupwindNthAnti3A,kmadd(PDupwindNthSymm1A,kfabs(beta1L),kmadd(PDupwindNthSymm2A,kfabs(beta2L),kmul(PDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),ArhsL);
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1A,kmadd(beta2L,JacPDupwindNthAnti2A,kmadd(beta3L,JacPDupwindNthAnti3A,kmadd(JacPDupwindNthSymm1A,kfabs(beta1L),kmadd(JacPDupwindNthSymm2A,kfabs(beta2L),kmul(JacPDupwindNthSymm3A,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),ArhsL);
beta1rhsL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1beta1,kmadd(beta2L,PDupwindNthAnti2beta1,kmadd(beta3L,PDupwindNthAnti3beta1,kmadd(PDupwindNthSymm1beta1,kfabs(beta1L),kmadd(PDupwindNthSymm2beta1,kfabs(beta2L),kmul(PDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta1rhsL);
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta1rhsL);
beta2rhsL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1beta2,kmadd(beta2L,PDupwindNthAnti2beta2,kmadd(beta3L,PDupwindNthAnti3beta2,kmadd(PDupwindNthSymm1beta2,kfabs(beta1L),kmadd(PDupwindNthSymm2beta2,kfabs(beta2L),kmul(PDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta2rhsL);
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta2rhsL);
beta3rhsL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1beta3,kmadd(beta2L,PDupwindNthAnti2beta3,kmadd(beta3L,PDupwindNthAnti3beta3,kmadd(PDupwindNthSymm1beta3,kfabs(beta1L),kmadd(PDupwindNthSymm2beta3,kfabs(beta2L),kmul(PDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta3rhsL);
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),beta3rhsL);
B1rhsL =
- kadd(B1rhsL,kmadd(kmadd(beta1L,ksub(PDupwindNthAnti1B1,PDupwindNthAnti1Xt1),kmadd(beta2L,ksub(PDupwindNthAnti2B1,PDupwindNthAnti2Xt1),kmadd(beta3L,ksub(PDupwindNthAnti3B1,PDupwindNthAnti3Xt1),kmadd(kfabs(beta1L),ksub(PDupwindNthSymm1B1,PDupwindNthSymm1Xt1),kmadd(kfabs(beta2L),ksub(PDupwindNthSymm2B1,PDupwindNthSymm2Xt1),kmul(kfabs(beta3L),ksub(PDupwindNthSymm3B1,PDupwindNthSymm3Xt1))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,PDupwindNthAnti1Xt1,kmadd(beta2L,PDupwindNthAnti2Xt1,kmadd(beta3L,PDupwindNthAnti3Xt1,kmadd(PDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(PDupwindNthSymm2Xt1,kfabs(beta2L),kmul(PDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(ShiftBCoeff))));
+ kadd(B1rhsL,kmadd(kmadd(beta1L,ksub(JacPDupwindNthAnti1B1,JacPDupwindNthAnti1Xt1),kmadd(beta2L,ksub(JacPDupwindNthAnti2B1,JacPDupwindNthAnti2Xt1),kmadd(beta3L,ksub(JacPDupwindNthAnti3B1,JacPDupwindNthAnti3Xt1),kmadd(kfabs(beta1L),ksub(JacPDupwindNthSymm1B1,JacPDupwindNthSymm1Xt1),kmadd(kfabs(beta2L),ksub(JacPDupwindNthSymm2B1,JacPDupwindNthSymm2Xt1),kmul(kfabs(beta3L),ksub(JacPDupwindNthSymm3B1,JacPDupwindNthSymm3Xt1))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt1,kmadd(beta2L,JacPDupwindNthAnti2Xt1,kmadd(beta3L,JacPDupwindNthAnti3Xt1,kmadd(JacPDupwindNthSymm1Xt1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt1,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt1,kfabs(beta3L))))))),ToReal(ShiftBCoeff))));
B2rhsL =
- kadd(B2rhsL,kmadd(kmadd(beta1L,ksub(PDupwindNthAnti1B2,PDupwindNthAnti1Xt2),kmadd(beta2L,ksub(PDupwindNthAnti2B2,PDupwindNthAnti2Xt2),kmadd(beta3L,ksub(PDupwindNthAnti3B2,PDupwindNthAnti3Xt2),kmadd(kfabs(beta1L),ksub(PDupwindNthSymm1B2,PDupwindNthSymm1Xt2),kmadd(kfabs(beta2L),ksub(PDupwindNthSymm2B2,PDupwindNthSymm2Xt2),kmul(kfabs(beta3L),ksub(PDupwindNthSymm3B2,PDupwindNthSymm3Xt2))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,PDupwindNthAnti1Xt2,kmadd(beta2L,PDupwindNthAnti2Xt2,kmadd(beta3L,PDupwindNthAnti3Xt2,kmadd(PDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(PDupwindNthSymm2Xt2,kfabs(beta2L),kmul(PDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(ShiftBCoeff))));
+ kadd(B2rhsL,kmadd(kmadd(beta1L,ksub(JacPDupwindNthAnti1B2,JacPDupwindNthAnti1Xt2),kmadd(beta2L,ksub(JacPDupwindNthAnti2B2,JacPDupwindNthAnti2Xt2),kmadd(beta3L,ksub(JacPDupwindNthAnti3B2,JacPDupwindNthAnti3Xt2),kmadd(kfabs(beta1L),ksub(JacPDupwindNthSymm1B2,JacPDupwindNthSymm1Xt2),kmadd(kfabs(beta2L),ksub(JacPDupwindNthSymm2B2,JacPDupwindNthSymm2Xt2),kmul(kfabs(beta3L),ksub(JacPDupwindNthSymm3B2,JacPDupwindNthSymm3Xt2))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt2,kmadd(beta2L,JacPDupwindNthAnti2Xt2,kmadd(beta3L,JacPDupwindNthAnti3Xt2,kmadd(JacPDupwindNthSymm1Xt2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt2,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt2,kfabs(beta3L))))))),ToReal(ShiftBCoeff))));
B3rhsL =
- kadd(B3rhsL,kmadd(kmadd(beta1L,ksub(PDupwindNthAnti1B3,PDupwindNthAnti1Xt3),kmadd(beta2L,ksub(PDupwindNthAnti2B3,PDupwindNthAnti2Xt3),kmadd(beta3L,ksub(PDupwindNthAnti3B3,PDupwindNthAnti3Xt3),kmadd(kfabs(beta1L),ksub(PDupwindNthSymm1B3,PDupwindNthSymm1Xt3),kmadd(kfabs(beta2L),ksub(PDupwindNthSymm2B3,PDupwindNthSymm2Xt3),kmul(kfabs(beta3L),ksub(PDupwindNthSymm3B3,PDupwindNthSymm3Xt3))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,PDupwindNthAnti1Xt3,kmadd(beta2L,PDupwindNthAnti2Xt3,kmadd(beta3L,PDupwindNthAnti3Xt3,kmadd(PDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(PDupwindNthSymm2Xt3,kfabs(beta2L),kmul(PDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(ShiftBCoeff))));
+ kadd(B3rhsL,kmadd(kmadd(beta1L,ksub(JacPDupwindNthAnti1B3,JacPDupwindNthAnti1Xt3),kmadd(beta2L,ksub(JacPDupwindNthAnti2B3,JacPDupwindNthAnti2Xt3),kmadd(beta3L,ksub(JacPDupwindNthAnti3B3,JacPDupwindNthAnti3Xt3),kmadd(kfabs(beta1L),ksub(JacPDupwindNthSymm1B3,JacPDupwindNthSymm1Xt3),kmadd(kfabs(beta2L),ksub(JacPDupwindNthSymm2B3,JacPDupwindNthSymm2Xt3),kmul(kfabs(beta3L),ksub(JacPDupwindNthSymm3B3,JacPDupwindNthSymm3Xt3))))))),ToReal(ShiftAdvectionCoeff),kmul(kmadd(beta1L,JacPDupwindNthAnti1Xt3,kmadd(beta2L,JacPDupwindNthAnti2Xt3,kmadd(beta3L,JacPDupwindNthAnti3Xt3,kmadd(JacPDupwindNthSymm1Xt3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2Xt3,kfabs(beta2L),kmul(JacPDupwindNthSymm3Xt3,kfabs(beta3L))))))),ToReal(ShiftBCoeff))));
/* If necessary, store only partial vectors after the first iteration */
diff --git a/ML_BSSN/src/ML_BSSN_Dissipation.cc b/ML_BSSN/src/ML_BSSN_Dissipation.cc
index 524b6d8..34683db 100644
--- a/ML_BSSN/src/ML_BSSN_Dissipation.cc
+++ b/ML_BSSN/src/ML_BSSN_Dissipation.cc
@@ -79,7 +79,24 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_curvrhs","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshift","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapse","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confac","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metric","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shift","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curv","ML_BSSN::ML_trace_curvrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Dissipation", 18, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 3, 3, 3);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 3, 3, 3);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 4, 4, 4);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_Dissipation", 5, 5, 5);
+ break;
+ }
/* Include user-supplied include files */
@@ -107,24 +124,129 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -189,86 +311,872 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons
CCTK_REAL_VEC Xt3rhsL = vec_load(Xt3rhs[index]);
+ CCTK_REAL_VEC J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDdissipationNth1A = PDdissipationNth1(&A[index]);
- CCTK_REAL_VEC const PDdissipationNth2A = PDdissipationNth2(&A[index]);
- CCTK_REAL_VEC const PDdissipationNth3A = PDdissipationNth3(&A[index]);
- CCTK_REAL_VEC const PDdissipationNth1alpha = PDdissipationNth1(&alpha[index]);
- CCTK_REAL_VEC const PDdissipationNth2alpha = PDdissipationNth2(&alpha[index]);
- CCTK_REAL_VEC const PDdissipationNth3alpha = PDdissipationNth3(&alpha[index]);
- CCTK_REAL_VEC const PDdissipationNth1At11 = PDdissipationNth1(&At11[index]);
- CCTK_REAL_VEC const PDdissipationNth2At11 = PDdissipationNth2(&At11[index]);
- CCTK_REAL_VEC const PDdissipationNth3At11 = PDdissipationNth3(&At11[index]);
- CCTK_REAL_VEC const PDdissipationNth1At12 = PDdissipationNth1(&At12[index]);
- CCTK_REAL_VEC const PDdissipationNth2At12 = PDdissipationNth2(&At12[index]);
- CCTK_REAL_VEC const PDdissipationNth3At12 = PDdissipationNth3(&At12[index]);
- CCTK_REAL_VEC const PDdissipationNth1At13 = PDdissipationNth1(&At13[index]);
- CCTK_REAL_VEC const PDdissipationNth2At13 = PDdissipationNth2(&At13[index]);
- CCTK_REAL_VEC const PDdissipationNth3At13 = PDdissipationNth3(&At13[index]);
- CCTK_REAL_VEC const PDdissipationNth1At22 = PDdissipationNth1(&At22[index]);
- CCTK_REAL_VEC const PDdissipationNth2At22 = PDdissipationNth2(&At22[index]);
- CCTK_REAL_VEC const PDdissipationNth3At22 = PDdissipationNth3(&At22[index]);
- CCTK_REAL_VEC const PDdissipationNth1At23 = PDdissipationNth1(&At23[index]);
- CCTK_REAL_VEC const PDdissipationNth2At23 = PDdissipationNth2(&At23[index]);
- CCTK_REAL_VEC const PDdissipationNth3At23 = PDdissipationNth3(&At23[index]);
- CCTK_REAL_VEC const PDdissipationNth1At33 = PDdissipationNth1(&At33[index]);
- CCTK_REAL_VEC const PDdissipationNth2At33 = PDdissipationNth2(&At33[index]);
- CCTK_REAL_VEC const PDdissipationNth3At33 = PDdissipationNth3(&At33[index]);
- CCTK_REAL_VEC const PDdissipationNth1B1 = PDdissipationNth1(&B1[index]);
- CCTK_REAL_VEC const PDdissipationNth2B1 = PDdissipationNth2(&B1[index]);
- CCTK_REAL_VEC const PDdissipationNth3B1 = PDdissipationNth3(&B1[index]);
- CCTK_REAL_VEC const PDdissipationNth1B2 = PDdissipationNth1(&B2[index]);
- CCTK_REAL_VEC const PDdissipationNth2B2 = PDdissipationNth2(&B2[index]);
- CCTK_REAL_VEC const PDdissipationNth3B2 = PDdissipationNth3(&B2[index]);
- CCTK_REAL_VEC const PDdissipationNth1B3 = PDdissipationNth1(&B3[index]);
- CCTK_REAL_VEC const PDdissipationNth2B3 = PDdissipationNth2(&B3[index]);
- CCTK_REAL_VEC const PDdissipationNth3B3 = PDdissipationNth3(&B3[index]);
- CCTK_REAL_VEC const PDdissipationNth1beta1 = PDdissipationNth1(&beta1[index]);
- CCTK_REAL_VEC const PDdissipationNth2beta1 = PDdissipationNth2(&beta1[index]);
- CCTK_REAL_VEC const PDdissipationNth3beta1 = PDdissipationNth3(&beta1[index]);
- CCTK_REAL_VEC const PDdissipationNth1beta2 = PDdissipationNth1(&beta2[index]);
- CCTK_REAL_VEC const PDdissipationNth2beta2 = PDdissipationNth2(&beta2[index]);
- CCTK_REAL_VEC const PDdissipationNth3beta2 = PDdissipationNth3(&beta2[index]);
- CCTK_REAL_VEC const PDdissipationNth1beta3 = PDdissipationNth1(&beta3[index]);
- CCTK_REAL_VEC const PDdissipationNth2beta3 = PDdissipationNth2(&beta3[index]);
- CCTK_REAL_VEC const PDdissipationNth3beta3 = PDdissipationNth3(&beta3[index]);
- CCTK_REAL_VEC const PDdissipationNth1gt11 = PDdissipationNth1(&gt11[index]);
- CCTK_REAL_VEC const PDdissipationNth2gt11 = PDdissipationNth2(&gt11[index]);
- CCTK_REAL_VEC const PDdissipationNth3gt11 = PDdissipationNth3(&gt11[index]);
- CCTK_REAL_VEC const PDdissipationNth1gt12 = PDdissipationNth1(&gt12[index]);
- CCTK_REAL_VEC const PDdissipationNth2gt12 = PDdissipationNth2(&gt12[index]);
- CCTK_REAL_VEC const PDdissipationNth3gt12 = PDdissipationNth3(&gt12[index]);
- CCTK_REAL_VEC const PDdissipationNth1gt13 = PDdissipationNth1(&gt13[index]);
- CCTK_REAL_VEC const PDdissipationNth2gt13 = PDdissipationNth2(&gt13[index]);
- CCTK_REAL_VEC const PDdissipationNth3gt13 = PDdissipationNth3(&gt13[index]);
- CCTK_REAL_VEC const PDdissipationNth1gt22 = PDdissipationNth1(&gt22[index]);
- CCTK_REAL_VEC const PDdissipationNth2gt22 = PDdissipationNth2(&gt22[index]);
- CCTK_REAL_VEC const PDdissipationNth3gt22 = PDdissipationNth3(&gt22[index]);
- CCTK_REAL_VEC const PDdissipationNth1gt23 = PDdissipationNth1(&gt23[index]);
- CCTK_REAL_VEC const PDdissipationNth2gt23 = PDdissipationNth2(&gt23[index]);
- CCTK_REAL_VEC const PDdissipationNth3gt23 = PDdissipationNth3(&gt23[index]);
- CCTK_REAL_VEC const PDdissipationNth1gt33 = PDdissipationNth1(&gt33[index]);
- CCTK_REAL_VEC const PDdissipationNth2gt33 = PDdissipationNth2(&gt33[index]);
- CCTK_REAL_VEC const PDdissipationNth3gt33 = PDdissipationNth3(&gt33[index]);
- CCTK_REAL_VEC const PDdissipationNth1phi = PDdissipationNth1(&phi[index]);
- CCTK_REAL_VEC const PDdissipationNth2phi = PDdissipationNth2(&phi[index]);
- CCTK_REAL_VEC const PDdissipationNth3phi = PDdissipationNth3(&phi[index]);
- CCTK_REAL_VEC const PDdissipationNth1trK = PDdissipationNth1(&trK[index]);
- CCTK_REAL_VEC const PDdissipationNth2trK = PDdissipationNth2(&trK[index]);
- CCTK_REAL_VEC const PDdissipationNth3trK = PDdissipationNth3(&trK[index]);
- CCTK_REAL_VEC const PDdissipationNth1Xt1 = PDdissipationNth1(&Xt1[index]);
- CCTK_REAL_VEC const PDdissipationNth2Xt1 = PDdissipationNth2(&Xt1[index]);
- CCTK_REAL_VEC const PDdissipationNth3Xt1 = PDdissipationNth3(&Xt1[index]);
- CCTK_REAL_VEC const PDdissipationNth1Xt2 = PDdissipationNth1(&Xt2[index]);
- CCTK_REAL_VEC const PDdissipationNth2Xt2 = PDdissipationNth2(&Xt2[index]);
- CCTK_REAL_VEC const PDdissipationNth3Xt2 = PDdissipationNth3(&Xt2[index]);
- CCTK_REAL_VEC const PDdissipationNth1Xt3 = PDdissipationNth1(&Xt3[index]);
- CCTK_REAL_VEC const PDdissipationNth2Xt3 = PDdissipationNth2(&Xt3[index]);
- CCTK_REAL_VEC const PDdissipationNth3Xt3 = PDdissipationNth3(&Xt3[index]);
+ CCTK_REAL_VEC PDdissipationNth1A;
+ CCTK_REAL_VEC PDdissipationNth2A;
+ CCTK_REAL_VEC PDdissipationNth3A;
+ CCTK_REAL_VEC PDdissipationNth1alpha;
+ CCTK_REAL_VEC PDdissipationNth2alpha;
+ CCTK_REAL_VEC PDdissipationNth3alpha;
+ CCTK_REAL_VEC PDdissipationNth1At11;
+ CCTK_REAL_VEC PDdissipationNth2At11;
+ CCTK_REAL_VEC PDdissipationNth3At11;
+ CCTK_REAL_VEC PDdissipationNth1At12;
+ CCTK_REAL_VEC PDdissipationNth2At12;
+ CCTK_REAL_VEC PDdissipationNth3At12;
+ CCTK_REAL_VEC PDdissipationNth1At13;
+ CCTK_REAL_VEC PDdissipationNth2At13;
+ CCTK_REAL_VEC PDdissipationNth3At13;
+ CCTK_REAL_VEC PDdissipationNth1At22;
+ CCTK_REAL_VEC PDdissipationNth2At22;
+ CCTK_REAL_VEC PDdissipationNth3At22;
+ CCTK_REAL_VEC PDdissipationNth1At23;
+ CCTK_REAL_VEC PDdissipationNth2At23;
+ CCTK_REAL_VEC PDdissipationNth3At23;
+ CCTK_REAL_VEC PDdissipationNth1At33;
+ CCTK_REAL_VEC PDdissipationNth2At33;
+ CCTK_REAL_VEC PDdissipationNth3At33;
+ CCTK_REAL_VEC PDdissipationNth1B1;
+ CCTK_REAL_VEC PDdissipationNth2B1;
+ CCTK_REAL_VEC PDdissipationNth3B1;
+ CCTK_REAL_VEC PDdissipationNth1B2;
+ CCTK_REAL_VEC PDdissipationNth2B2;
+ CCTK_REAL_VEC PDdissipationNth3B2;
+ CCTK_REAL_VEC PDdissipationNth1B3;
+ CCTK_REAL_VEC PDdissipationNth2B3;
+ CCTK_REAL_VEC PDdissipationNth3B3;
+ CCTK_REAL_VEC PDdissipationNth1beta1;
+ CCTK_REAL_VEC PDdissipationNth2beta1;
+ CCTK_REAL_VEC PDdissipationNth3beta1;
+ CCTK_REAL_VEC PDdissipationNth1beta2;
+ CCTK_REAL_VEC PDdissipationNth2beta2;
+ CCTK_REAL_VEC PDdissipationNth3beta2;
+ CCTK_REAL_VEC PDdissipationNth1beta3;
+ CCTK_REAL_VEC PDdissipationNth2beta3;
+ CCTK_REAL_VEC PDdissipationNth3beta3;
+ CCTK_REAL_VEC PDdissipationNth1gt11;
+ CCTK_REAL_VEC PDdissipationNth2gt11;
+ CCTK_REAL_VEC PDdissipationNth3gt11;
+ CCTK_REAL_VEC PDdissipationNth1gt12;
+ CCTK_REAL_VEC PDdissipationNth2gt12;
+ CCTK_REAL_VEC PDdissipationNth3gt12;
+ CCTK_REAL_VEC PDdissipationNth1gt13;
+ CCTK_REAL_VEC PDdissipationNth2gt13;
+ CCTK_REAL_VEC PDdissipationNth3gt13;
+ CCTK_REAL_VEC PDdissipationNth1gt22;
+ CCTK_REAL_VEC PDdissipationNth2gt22;
+ CCTK_REAL_VEC PDdissipationNth3gt22;
+ CCTK_REAL_VEC PDdissipationNth1gt23;
+ CCTK_REAL_VEC PDdissipationNth2gt23;
+ CCTK_REAL_VEC PDdissipationNth3gt23;
+ CCTK_REAL_VEC PDdissipationNth1gt33;
+ CCTK_REAL_VEC PDdissipationNth2gt33;
+ CCTK_REAL_VEC PDdissipationNth3gt33;
+ CCTK_REAL_VEC PDdissipationNth1phi;
+ CCTK_REAL_VEC PDdissipationNth2phi;
+ CCTK_REAL_VEC PDdissipationNth3phi;
+ CCTK_REAL_VEC PDdissipationNth1trK;
+ CCTK_REAL_VEC PDdissipationNth2trK;
+ CCTK_REAL_VEC PDdissipationNth3trK;
+ CCTK_REAL_VEC PDdissipationNth1Xt1;
+ CCTK_REAL_VEC PDdissipationNth2Xt1;
+ CCTK_REAL_VEC PDdissipationNth3Xt1;
+ CCTK_REAL_VEC PDdissipationNth1Xt2;
+ CCTK_REAL_VEC PDdissipationNth2Xt2;
+ CCTK_REAL_VEC PDdissipationNth3Xt2;
+ CCTK_REAL_VEC PDdissipationNth1Xt3;
+ CCTK_REAL_VEC PDdissipationNth2Xt3;
+ CCTK_REAL_VEC PDdissipationNth3Xt3;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDdissipationNth1A = PDdissipationNthfdOrder21(&A[index]);
+ PDdissipationNth2A = PDdissipationNthfdOrder22(&A[index]);
+ PDdissipationNth3A = PDdissipationNthfdOrder23(&A[index]);
+ PDdissipationNth1alpha = PDdissipationNthfdOrder21(&alpha[index]);
+ PDdissipationNth2alpha = PDdissipationNthfdOrder22(&alpha[index]);
+ PDdissipationNth3alpha = PDdissipationNthfdOrder23(&alpha[index]);
+ PDdissipationNth1At11 = PDdissipationNthfdOrder21(&At11[index]);
+ PDdissipationNth2At11 = PDdissipationNthfdOrder22(&At11[index]);
+ PDdissipationNth3At11 = PDdissipationNthfdOrder23(&At11[index]);
+ PDdissipationNth1At12 = PDdissipationNthfdOrder21(&At12[index]);
+ PDdissipationNth2At12 = PDdissipationNthfdOrder22(&At12[index]);
+ PDdissipationNth3At12 = PDdissipationNthfdOrder23(&At12[index]);
+ PDdissipationNth1At13 = PDdissipationNthfdOrder21(&At13[index]);
+ PDdissipationNth2At13 = PDdissipationNthfdOrder22(&At13[index]);
+ PDdissipationNth3At13 = PDdissipationNthfdOrder23(&At13[index]);
+ PDdissipationNth1At22 = PDdissipationNthfdOrder21(&At22[index]);
+ PDdissipationNth2At22 = PDdissipationNthfdOrder22(&At22[index]);
+ PDdissipationNth3At22 = PDdissipationNthfdOrder23(&At22[index]);
+ PDdissipationNth1At23 = PDdissipationNthfdOrder21(&At23[index]);
+ PDdissipationNth2At23 = PDdissipationNthfdOrder22(&At23[index]);
+ PDdissipationNth3At23 = PDdissipationNthfdOrder23(&At23[index]);
+ PDdissipationNth1At33 = PDdissipationNthfdOrder21(&At33[index]);
+ PDdissipationNth2At33 = PDdissipationNthfdOrder22(&At33[index]);
+ PDdissipationNth3At33 = PDdissipationNthfdOrder23(&At33[index]);
+ PDdissipationNth1B1 = PDdissipationNthfdOrder21(&B1[index]);
+ PDdissipationNth2B1 = PDdissipationNthfdOrder22(&B1[index]);
+ PDdissipationNth3B1 = PDdissipationNthfdOrder23(&B1[index]);
+ PDdissipationNth1B2 = PDdissipationNthfdOrder21(&B2[index]);
+ PDdissipationNth2B2 = PDdissipationNthfdOrder22(&B2[index]);
+ PDdissipationNth3B2 = PDdissipationNthfdOrder23(&B2[index]);
+ PDdissipationNth1B3 = PDdissipationNthfdOrder21(&B3[index]);
+ PDdissipationNth2B3 = PDdissipationNthfdOrder22(&B3[index]);
+ PDdissipationNth3B3 = PDdissipationNthfdOrder23(&B3[index]);
+ PDdissipationNth1beta1 = PDdissipationNthfdOrder21(&beta1[index]);
+ PDdissipationNth2beta1 = PDdissipationNthfdOrder22(&beta1[index]);
+ PDdissipationNth3beta1 = PDdissipationNthfdOrder23(&beta1[index]);
+ PDdissipationNth1beta2 = PDdissipationNthfdOrder21(&beta2[index]);
+ PDdissipationNth2beta2 = PDdissipationNthfdOrder22(&beta2[index]);
+ PDdissipationNth3beta2 = PDdissipationNthfdOrder23(&beta2[index]);
+ PDdissipationNth1beta3 = PDdissipationNthfdOrder21(&beta3[index]);
+ PDdissipationNth2beta3 = PDdissipationNthfdOrder22(&beta3[index]);
+ PDdissipationNth3beta3 = PDdissipationNthfdOrder23(&beta3[index]);
+ PDdissipationNth1gt11 = PDdissipationNthfdOrder21(&gt11[index]);
+ PDdissipationNth2gt11 = PDdissipationNthfdOrder22(&gt11[index]);
+ PDdissipationNth3gt11 = PDdissipationNthfdOrder23(&gt11[index]);
+ PDdissipationNth1gt12 = PDdissipationNthfdOrder21(&gt12[index]);
+ PDdissipationNth2gt12 = PDdissipationNthfdOrder22(&gt12[index]);
+ PDdissipationNth3gt12 = PDdissipationNthfdOrder23(&gt12[index]);
+ PDdissipationNth1gt13 = PDdissipationNthfdOrder21(&gt13[index]);
+ PDdissipationNth2gt13 = PDdissipationNthfdOrder22(&gt13[index]);
+ PDdissipationNth3gt13 = PDdissipationNthfdOrder23(&gt13[index]);
+ PDdissipationNth1gt22 = PDdissipationNthfdOrder21(&gt22[index]);
+ PDdissipationNth2gt22 = PDdissipationNthfdOrder22(&gt22[index]);
+ PDdissipationNth3gt22 = PDdissipationNthfdOrder23(&gt22[index]);
+ PDdissipationNth1gt23 = PDdissipationNthfdOrder21(&gt23[index]);
+ PDdissipationNth2gt23 = PDdissipationNthfdOrder22(&gt23[index]);
+ PDdissipationNth3gt23 = PDdissipationNthfdOrder23(&gt23[index]);
+ PDdissipationNth1gt33 = PDdissipationNthfdOrder21(&gt33[index]);
+ PDdissipationNth2gt33 = PDdissipationNthfdOrder22(&gt33[index]);
+ PDdissipationNth3gt33 = PDdissipationNthfdOrder23(&gt33[index]);
+ PDdissipationNth1phi = PDdissipationNthfdOrder21(&phi[index]);
+ PDdissipationNth2phi = PDdissipationNthfdOrder22(&phi[index]);
+ PDdissipationNth3phi = PDdissipationNthfdOrder23(&phi[index]);
+ PDdissipationNth1trK = PDdissipationNthfdOrder21(&trK[index]);
+ PDdissipationNth2trK = PDdissipationNthfdOrder22(&trK[index]);
+ PDdissipationNth3trK = PDdissipationNthfdOrder23(&trK[index]);
+ PDdissipationNth1Xt1 = PDdissipationNthfdOrder21(&Xt1[index]);
+ PDdissipationNth2Xt1 = PDdissipationNthfdOrder22(&Xt1[index]);
+ PDdissipationNth3Xt1 = PDdissipationNthfdOrder23(&Xt1[index]);
+ PDdissipationNth1Xt2 = PDdissipationNthfdOrder21(&Xt2[index]);
+ PDdissipationNth2Xt2 = PDdissipationNthfdOrder22(&Xt2[index]);
+ PDdissipationNth3Xt2 = PDdissipationNthfdOrder23(&Xt2[index]);
+ PDdissipationNth1Xt3 = PDdissipationNthfdOrder21(&Xt3[index]);
+ PDdissipationNth2Xt3 = PDdissipationNthfdOrder22(&Xt3[index]);
+ PDdissipationNth3Xt3 = PDdissipationNthfdOrder23(&Xt3[index]);
+ break;
+
+ case 4:
+ PDdissipationNth1A = PDdissipationNthfdOrder41(&A[index]);
+ PDdissipationNth2A = PDdissipationNthfdOrder42(&A[index]);
+ PDdissipationNth3A = PDdissipationNthfdOrder43(&A[index]);
+ PDdissipationNth1alpha = PDdissipationNthfdOrder41(&alpha[index]);
+ PDdissipationNth2alpha = PDdissipationNthfdOrder42(&alpha[index]);
+ PDdissipationNth3alpha = PDdissipationNthfdOrder43(&alpha[index]);
+ PDdissipationNth1At11 = PDdissipationNthfdOrder41(&At11[index]);
+ PDdissipationNth2At11 = PDdissipationNthfdOrder42(&At11[index]);
+ PDdissipationNth3At11 = PDdissipationNthfdOrder43(&At11[index]);
+ PDdissipationNth1At12 = PDdissipationNthfdOrder41(&At12[index]);
+ PDdissipationNth2At12 = PDdissipationNthfdOrder42(&At12[index]);
+ PDdissipationNth3At12 = PDdissipationNthfdOrder43(&At12[index]);
+ PDdissipationNth1At13 = PDdissipationNthfdOrder41(&At13[index]);
+ PDdissipationNth2At13 = PDdissipationNthfdOrder42(&At13[index]);
+ PDdissipationNth3At13 = PDdissipationNthfdOrder43(&At13[index]);
+ PDdissipationNth1At22 = PDdissipationNthfdOrder41(&At22[index]);
+ PDdissipationNth2At22 = PDdissipationNthfdOrder42(&At22[index]);
+ PDdissipationNth3At22 = PDdissipationNthfdOrder43(&At22[index]);
+ PDdissipationNth1At23 = PDdissipationNthfdOrder41(&At23[index]);
+ PDdissipationNth2At23 = PDdissipationNthfdOrder42(&At23[index]);
+ PDdissipationNth3At23 = PDdissipationNthfdOrder43(&At23[index]);
+ PDdissipationNth1At33 = PDdissipationNthfdOrder41(&At33[index]);
+ PDdissipationNth2At33 = PDdissipationNthfdOrder42(&At33[index]);
+ PDdissipationNth3At33 = PDdissipationNthfdOrder43(&At33[index]);
+ PDdissipationNth1B1 = PDdissipationNthfdOrder41(&B1[index]);
+ PDdissipationNth2B1 = PDdissipationNthfdOrder42(&B1[index]);
+ PDdissipationNth3B1 = PDdissipationNthfdOrder43(&B1[index]);
+ PDdissipationNth1B2 = PDdissipationNthfdOrder41(&B2[index]);
+ PDdissipationNth2B2 = PDdissipationNthfdOrder42(&B2[index]);
+ PDdissipationNth3B2 = PDdissipationNthfdOrder43(&B2[index]);
+ PDdissipationNth1B3 = PDdissipationNthfdOrder41(&B3[index]);
+ PDdissipationNth2B3 = PDdissipationNthfdOrder42(&B3[index]);
+ PDdissipationNth3B3 = PDdissipationNthfdOrder43(&B3[index]);
+ PDdissipationNth1beta1 = PDdissipationNthfdOrder41(&beta1[index]);
+ PDdissipationNth2beta1 = PDdissipationNthfdOrder42(&beta1[index]);
+ PDdissipationNth3beta1 = PDdissipationNthfdOrder43(&beta1[index]);
+ PDdissipationNth1beta2 = PDdissipationNthfdOrder41(&beta2[index]);
+ PDdissipationNth2beta2 = PDdissipationNthfdOrder42(&beta2[index]);
+ PDdissipationNth3beta2 = PDdissipationNthfdOrder43(&beta2[index]);
+ PDdissipationNth1beta3 = PDdissipationNthfdOrder41(&beta3[index]);
+ PDdissipationNth2beta3 = PDdissipationNthfdOrder42(&beta3[index]);
+ PDdissipationNth3beta3 = PDdissipationNthfdOrder43(&beta3[index]);
+ PDdissipationNth1gt11 = PDdissipationNthfdOrder41(&gt11[index]);
+ PDdissipationNth2gt11 = PDdissipationNthfdOrder42(&gt11[index]);
+ PDdissipationNth3gt11 = PDdissipationNthfdOrder43(&gt11[index]);
+ PDdissipationNth1gt12 = PDdissipationNthfdOrder41(&gt12[index]);
+ PDdissipationNth2gt12 = PDdissipationNthfdOrder42(&gt12[index]);
+ PDdissipationNth3gt12 = PDdissipationNthfdOrder43(&gt12[index]);
+ PDdissipationNth1gt13 = PDdissipationNthfdOrder41(&gt13[index]);
+ PDdissipationNth2gt13 = PDdissipationNthfdOrder42(&gt13[index]);
+ PDdissipationNth3gt13 = PDdissipationNthfdOrder43(&gt13[index]);
+ PDdissipationNth1gt22 = PDdissipationNthfdOrder41(&gt22[index]);
+ PDdissipationNth2gt22 = PDdissipationNthfdOrder42(&gt22[index]);
+ PDdissipationNth3gt22 = PDdissipationNthfdOrder43(&gt22[index]);
+ PDdissipationNth1gt23 = PDdissipationNthfdOrder41(&gt23[index]);
+ PDdissipationNth2gt23 = PDdissipationNthfdOrder42(&gt23[index]);
+ PDdissipationNth3gt23 = PDdissipationNthfdOrder43(&gt23[index]);
+ PDdissipationNth1gt33 = PDdissipationNthfdOrder41(&gt33[index]);
+ PDdissipationNth2gt33 = PDdissipationNthfdOrder42(&gt33[index]);
+ PDdissipationNth3gt33 = PDdissipationNthfdOrder43(&gt33[index]);
+ PDdissipationNth1phi = PDdissipationNthfdOrder41(&phi[index]);
+ PDdissipationNth2phi = PDdissipationNthfdOrder42(&phi[index]);
+ PDdissipationNth3phi = PDdissipationNthfdOrder43(&phi[index]);
+ PDdissipationNth1trK = PDdissipationNthfdOrder41(&trK[index]);
+ PDdissipationNth2trK = PDdissipationNthfdOrder42(&trK[index]);
+ PDdissipationNth3trK = PDdissipationNthfdOrder43(&trK[index]);
+ PDdissipationNth1Xt1 = PDdissipationNthfdOrder41(&Xt1[index]);
+ PDdissipationNth2Xt1 = PDdissipationNthfdOrder42(&Xt1[index]);
+ PDdissipationNth3Xt1 = PDdissipationNthfdOrder43(&Xt1[index]);
+ PDdissipationNth1Xt2 = PDdissipationNthfdOrder41(&Xt2[index]);
+ PDdissipationNth2Xt2 = PDdissipationNthfdOrder42(&Xt2[index]);
+ PDdissipationNth3Xt2 = PDdissipationNthfdOrder43(&Xt2[index]);
+ PDdissipationNth1Xt3 = PDdissipationNthfdOrder41(&Xt3[index]);
+ PDdissipationNth2Xt3 = PDdissipationNthfdOrder42(&Xt3[index]);
+ PDdissipationNth3Xt3 = PDdissipationNthfdOrder43(&Xt3[index]);
+ break;
+
+ case 6:
+ PDdissipationNth1A = PDdissipationNthfdOrder61(&A[index]);
+ PDdissipationNth2A = PDdissipationNthfdOrder62(&A[index]);
+ PDdissipationNth3A = PDdissipationNthfdOrder63(&A[index]);
+ PDdissipationNth1alpha = PDdissipationNthfdOrder61(&alpha[index]);
+ PDdissipationNth2alpha = PDdissipationNthfdOrder62(&alpha[index]);
+ PDdissipationNth3alpha = PDdissipationNthfdOrder63(&alpha[index]);
+ PDdissipationNth1At11 = PDdissipationNthfdOrder61(&At11[index]);
+ PDdissipationNth2At11 = PDdissipationNthfdOrder62(&At11[index]);
+ PDdissipationNth3At11 = PDdissipationNthfdOrder63(&At11[index]);
+ PDdissipationNth1At12 = PDdissipationNthfdOrder61(&At12[index]);
+ PDdissipationNth2At12 = PDdissipationNthfdOrder62(&At12[index]);
+ PDdissipationNth3At12 = PDdissipationNthfdOrder63(&At12[index]);
+ PDdissipationNth1At13 = PDdissipationNthfdOrder61(&At13[index]);
+ PDdissipationNth2At13 = PDdissipationNthfdOrder62(&At13[index]);
+ PDdissipationNth3At13 = PDdissipationNthfdOrder63(&At13[index]);
+ PDdissipationNth1At22 = PDdissipationNthfdOrder61(&At22[index]);
+ PDdissipationNth2At22 = PDdissipationNthfdOrder62(&At22[index]);
+ PDdissipationNth3At22 = PDdissipationNthfdOrder63(&At22[index]);
+ PDdissipationNth1At23 = PDdissipationNthfdOrder61(&At23[index]);
+ PDdissipationNth2At23 = PDdissipationNthfdOrder62(&At23[index]);
+ PDdissipationNth3At23 = PDdissipationNthfdOrder63(&At23[index]);
+ PDdissipationNth1At33 = PDdissipationNthfdOrder61(&At33[index]);
+ PDdissipationNth2At33 = PDdissipationNthfdOrder62(&At33[index]);
+ PDdissipationNth3At33 = PDdissipationNthfdOrder63(&At33[index]);
+ PDdissipationNth1B1 = PDdissipationNthfdOrder61(&B1[index]);
+ PDdissipationNth2B1 = PDdissipationNthfdOrder62(&B1[index]);
+ PDdissipationNth3B1 = PDdissipationNthfdOrder63(&B1[index]);
+ PDdissipationNth1B2 = PDdissipationNthfdOrder61(&B2[index]);
+ PDdissipationNth2B2 = PDdissipationNthfdOrder62(&B2[index]);
+ PDdissipationNth3B2 = PDdissipationNthfdOrder63(&B2[index]);
+ PDdissipationNth1B3 = PDdissipationNthfdOrder61(&B3[index]);
+ PDdissipationNth2B3 = PDdissipationNthfdOrder62(&B3[index]);
+ PDdissipationNth3B3 = PDdissipationNthfdOrder63(&B3[index]);
+ PDdissipationNth1beta1 = PDdissipationNthfdOrder61(&beta1[index]);
+ PDdissipationNth2beta1 = PDdissipationNthfdOrder62(&beta1[index]);
+ PDdissipationNth3beta1 = PDdissipationNthfdOrder63(&beta1[index]);
+ PDdissipationNth1beta2 = PDdissipationNthfdOrder61(&beta2[index]);
+ PDdissipationNth2beta2 = PDdissipationNthfdOrder62(&beta2[index]);
+ PDdissipationNth3beta2 = PDdissipationNthfdOrder63(&beta2[index]);
+ PDdissipationNth1beta3 = PDdissipationNthfdOrder61(&beta3[index]);
+ PDdissipationNth2beta3 = PDdissipationNthfdOrder62(&beta3[index]);
+ PDdissipationNth3beta3 = PDdissipationNthfdOrder63(&beta3[index]);
+ PDdissipationNth1gt11 = PDdissipationNthfdOrder61(&gt11[index]);
+ PDdissipationNth2gt11 = PDdissipationNthfdOrder62(&gt11[index]);
+ PDdissipationNth3gt11 = PDdissipationNthfdOrder63(&gt11[index]);
+ PDdissipationNth1gt12 = PDdissipationNthfdOrder61(&gt12[index]);
+ PDdissipationNth2gt12 = PDdissipationNthfdOrder62(&gt12[index]);
+ PDdissipationNth3gt12 = PDdissipationNthfdOrder63(&gt12[index]);
+ PDdissipationNth1gt13 = PDdissipationNthfdOrder61(&gt13[index]);
+ PDdissipationNth2gt13 = PDdissipationNthfdOrder62(&gt13[index]);
+ PDdissipationNth3gt13 = PDdissipationNthfdOrder63(&gt13[index]);
+ PDdissipationNth1gt22 = PDdissipationNthfdOrder61(&gt22[index]);
+ PDdissipationNth2gt22 = PDdissipationNthfdOrder62(&gt22[index]);
+ PDdissipationNth3gt22 = PDdissipationNthfdOrder63(&gt22[index]);
+ PDdissipationNth1gt23 = PDdissipationNthfdOrder61(&gt23[index]);
+ PDdissipationNth2gt23 = PDdissipationNthfdOrder62(&gt23[index]);
+ PDdissipationNth3gt23 = PDdissipationNthfdOrder63(&gt23[index]);
+ PDdissipationNth1gt33 = PDdissipationNthfdOrder61(&gt33[index]);
+ PDdissipationNth2gt33 = PDdissipationNthfdOrder62(&gt33[index]);
+ PDdissipationNth3gt33 = PDdissipationNthfdOrder63(&gt33[index]);
+ PDdissipationNth1phi = PDdissipationNthfdOrder61(&phi[index]);
+ PDdissipationNth2phi = PDdissipationNthfdOrder62(&phi[index]);
+ PDdissipationNth3phi = PDdissipationNthfdOrder63(&phi[index]);
+ PDdissipationNth1trK = PDdissipationNthfdOrder61(&trK[index]);
+ PDdissipationNth2trK = PDdissipationNthfdOrder62(&trK[index]);
+ PDdissipationNth3trK = PDdissipationNthfdOrder63(&trK[index]);
+ PDdissipationNth1Xt1 = PDdissipationNthfdOrder61(&Xt1[index]);
+ PDdissipationNth2Xt1 = PDdissipationNthfdOrder62(&Xt1[index]);
+ PDdissipationNth3Xt1 = PDdissipationNthfdOrder63(&Xt1[index]);
+ PDdissipationNth1Xt2 = PDdissipationNthfdOrder61(&Xt2[index]);
+ PDdissipationNth2Xt2 = PDdissipationNthfdOrder62(&Xt2[index]);
+ PDdissipationNth3Xt2 = PDdissipationNthfdOrder63(&Xt2[index]);
+ PDdissipationNth1Xt3 = PDdissipationNthfdOrder61(&Xt3[index]);
+ PDdissipationNth2Xt3 = PDdissipationNthfdOrder62(&Xt3[index]);
+ PDdissipationNth3Xt3 = PDdissipationNthfdOrder63(&Xt3[index]);
+ break;
+
+ case 8:
+ PDdissipationNth1A = PDdissipationNthfdOrder81(&A[index]);
+ PDdissipationNth2A = PDdissipationNthfdOrder82(&A[index]);
+ PDdissipationNth3A = PDdissipationNthfdOrder83(&A[index]);
+ PDdissipationNth1alpha = PDdissipationNthfdOrder81(&alpha[index]);
+ PDdissipationNth2alpha = PDdissipationNthfdOrder82(&alpha[index]);
+ PDdissipationNth3alpha = PDdissipationNthfdOrder83(&alpha[index]);
+ PDdissipationNth1At11 = PDdissipationNthfdOrder81(&At11[index]);
+ PDdissipationNth2At11 = PDdissipationNthfdOrder82(&At11[index]);
+ PDdissipationNth3At11 = PDdissipationNthfdOrder83(&At11[index]);
+ PDdissipationNth1At12 = PDdissipationNthfdOrder81(&At12[index]);
+ PDdissipationNth2At12 = PDdissipationNthfdOrder82(&At12[index]);
+ PDdissipationNth3At12 = PDdissipationNthfdOrder83(&At12[index]);
+ PDdissipationNth1At13 = PDdissipationNthfdOrder81(&At13[index]);
+ PDdissipationNth2At13 = PDdissipationNthfdOrder82(&At13[index]);
+ PDdissipationNth3At13 = PDdissipationNthfdOrder83(&At13[index]);
+ PDdissipationNth1At22 = PDdissipationNthfdOrder81(&At22[index]);
+ PDdissipationNth2At22 = PDdissipationNthfdOrder82(&At22[index]);
+ PDdissipationNth3At22 = PDdissipationNthfdOrder83(&At22[index]);
+ PDdissipationNth1At23 = PDdissipationNthfdOrder81(&At23[index]);
+ PDdissipationNth2At23 = PDdissipationNthfdOrder82(&At23[index]);
+ PDdissipationNth3At23 = PDdissipationNthfdOrder83(&At23[index]);
+ PDdissipationNth1At33 = PDdissipationNthfdOrder81(&At33[index]);
+ PDdissipationNth2At33 = PDdissipationNthfdOrder82(&At33[index]);
+ PDdissipationNth3At33 = PDdissipationNthfdOrder83(&At33[index]);
+ PDdissipationNth1B1 = PDdissipationNthfdOrder81(&B1[index]);
+ PDdissipationNth2B1 = PDdissipationNthfdOrder82(&B1[index]);
+ PDdissipationNth3B1 = PDdissipationNthfdOrder83(&B1[index]);
+ PDdissipationNth1B2 = PDdissipationNthfdOrder81(&B2[index]);
+ PDdissipationNth2B2 = PDdissipationNthfdOrder82(&B2[index]);
+ PDdissipationNth3B2 = PDdissipationNthfdOrder83(&B2[index]);
+ PDdissipationNth1B3 = PDdissipationNthfdOrder81(&B3[index]);
+ PDdissipationNth2B3 = PDdissipationNthfdOrder82(&B3[index]);
+ PDdissipationNth3B3 = PDdissipationNthfdOrder83(&B3[index]);
+ PDdissipationNth1beta1 = PDdissipationNthfdOrder81(&beta1[index]);
+ PDdissipationNth2beta1 = PDdissipationNthfdOrder82(&beta1[index]);
+ PDdissipationNth3beta1 = PDdissipationNthfdOrder83(&beta1[index]);
+ PDdissipationNth1beta2 = PDdissipationNthfdOrder81(&beta2[index]);
+ PDdissipationNth2beta2 = PDdissipationNthfdOrder82(&beta2[index]);
+ PDdissipationNth3beta2 = PDdissipationNthfdOrder83(&beta2[index]);
+ PDdissipationNth1beta3 = PDdissipationNthfdOrder81(&beta3[index]);
+ PDdissipationNth2beta3 = PDdissipationNthfdOrder82(&beta3[index]);
+ PDdissipationNth3beta3 = PDdissipationNthfdOrder83(&beta3[index]);
+ PDdissipationNth1gt11 = PDdissipationNthfdOrder81(&gt11[index]);
+ PDdissipationNth2gt11 = PDdissipationNthfdOrder82(&gt11[index]);
+ PDdissipationNth3gt11 = PDdissipationNthfdOrder83(&gt11[index]);
+ PDdissipationNth1gt12 = PDdissipationNthfdOrder81(&gt12[index]);
+ PDdissipationNth2gt12 = PDdissipationNthfdOrder82(&gt12[index]);
+ PDdissipationNth3gt12 = PDdissipationNthfdOrder83(&gt12[index]);
+ PDdissipationNth1gt13 = PDdissipationNthfdOrder81(&gt13[index]);
+ PDdissipationNth2gt13 = PDdissipationNthfdOrder82(&gt13[index]);
+ PDdissipationNth3gt13 = PDdissipationNthfdOrder83(&gt13[index]);
+ PDdissipationNth1gt22 = PDdissipationNthfdOrder81(&gt22[index]);
+ PDdissipationNth2gt22 = PDdissipationNthfdOrder82(&gt22[index]);
+ PDdissipationNth3gt22 = PDdissipationNthfdOrder83(&gt22[index]);
+ PDdissipationNth1gt23 = PDdissipationNthfdOrder81(&gt23[index]);
+ PDdissipationNth2gt23 = PDdissipationNthfdOrder82(&gt23[index]);
+ PDdissipationNth3gt23 = PDdissipationNthfdOrder83(&gt23[index]);
+ PDdissipationNth1gt33 = PDdissipationNthfdOrder81(&gt33[index]);
+ PDdissipationNth2gt33 = PDdissipationNthfdOrder82(&gt33[index]);
+ PDdissipationNth3gt33 = PDdissipationNthfdOrder83(&gt33[index]);
+ PDdissipationNth1phi = PDdissipationNthfdOrder81(&phi[index]);
+ PDdissipationNth2phi = PDdissipationNthfdOrder82(&phi[index]);
+ PDdissipationNth3phi = PDdissipationNthfdOrder83(&phi[index]);
+ PDdissipationNth1trK = PDdissipationNthfdOrder81(&trK[index]);
+ PDdissipationNth2trK = PDdissipationNthfdOrder82(&trK[index]);
+ PDdissipationNth3trK = PDdissipationNthfdOrder83(&trK[index]);
+ PDdissipationNth1Xt1 = PDdissipationNthfdOrder81(&Xt1[index]);
+ PDdissipationNth2Xt1 = PDdissipationNthfdOrder82(&Xt1[index]);
+ PDdissipationNth3Xt1 = PDdissipationNthfdOrder83(&Xt1[index]);
+ PDdissipationNth1Xt2 = PDdissipationNthfdOrder81(&Xt2[index]);
+ PDdissipationNth2Xt2 = PDdissipationNthfdOrder82(&Xt2[index]);
+ PDdissipationNth3Xt2 = PDdissipationNthfdOrder83(&Xt2[index]);
+ PDdissipationNth1Xt3 = PDdissipationNthfdOrder81(&Xt3[index]);
+ PDdissipationNth2Xt3 = PDdissipationNthfdOrder82(&Xt3[index]);
+ PDdissipationNth3Xt3 = PDdissipationNthfdOrder83(&Xt3[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDdissipationNth1A;
+ CCTK_REAL_VEC JacPDdissipationNth1alpha;
+ CCTK_REAL_VEC JacPDdissipationNth1At11;
+ CCTK_REAL_VEC JacPDdissipationNth1At12;
+ CCTK_REAL_VEC JacPDdissipationNth1At13;
+ CCTK_REAL_VEC JacPDdissipationNth1At22;
+ CCTK_REAL_VEC JacPDdissipationNth1At23;
+ CCTK_REAL_VEC JacPDdissipationNth1At33;
+ CCTK_REAL_VEC JacPDdissipationNth1B1;
+ CCTK_REAL_VEC JacPDdissipationNth1B2;
+ CCTK_REAL_VEC JacPDdissipationNth1B3;
+ CCTK_REAL_VEC JacPDdissipationNth1beta1;
+ CCTK_REAL_VEC JacPDdissipationNth1beta2;
+ CCTK_REAL_VEC JacPDdissipationNth1beta3;
+ CCTK_REAL_VEC JacPDdissipationNth1gt11;
+ CCTK_REAL_VEC JacPDdissipationNth1gt12;
+ CCTK_REAL_VEC JacPDdissipationNth1gt13;
+ CCTK_REAL_VEC JacPDdissipationNth1gt22;
+ CCTK_REAL_VEC JacPDdissipationNth1gt23;
+ CCTK_REAL_VEC JacPDdissipationNth1gt33;
+ CCTK_REAL_VEC JacPDdissipationNth1phi;
+ CCTK_REAL_VEC JacPDdissipationNth1trK;
+ CCTK_REAL_VEC JacPDdissipationNth1Xt1;
+ CCTK_REAL_VEC JacPDdissipationNth1Xt2;
+ CCTK_REAL_VEC JacPDdissipationNth1Xt3;
+ CCTK_REAL_VEC JacPDdissipationNth2A;
+ CCTK_REAL_VEC JacPDdissipationNth2alpha;
+ CCTK_REAL_VEC JacPDdissipationNth2At11;
+ CCTK_REAL_VEC JacPDdissipationNth2At12;
+ CCTK_REAL_VEC JacPDdissipationNth2At13;
+ CCTK_REAL_VEC JacPDdissipationNth2At22;
+ CCTK_REAL_VEC JacPDdissipationNth2At23;
+ CCTK_REAL_VEC JacPDdissipationNth2At33;
+ CCTK_REAL_VEC JacPDdissipationNth2B1;
+ CCTK_REAL_VEC JacPDdissipationNth2B2;
+ CCTK_REAL_VEC JacPDdissipationNth2B3;
+ CCTK_REAL_VEC JacPDdissipationNth2beta1;
+ CCTK_REAL_VEC JacPDdissipationNth2beta2;
+ CCTK_REAL_VEC JacPDdissipationNth2beta3;
+ CCTK_REAL_VEC JacPDdissipationNth2gt11;
+ CCTK_REAL_VEC JacPDdissipationNth2gt12;
+ CCTK_REAL_VEC JacPDdissipationNth2gt13;
+ CCTK_REAL_VEC JacPDdissipationNth2gt22;
+ CCTK_REAL_VEC JacPDdissipationNth2gt23;
+ CCTK_REAL_VEC JacPDdissipationNth2gt33;
+ CCTK_REAL_VEC JacPDdissipationNth2phi;
+ CCTK_REAL_VEC JacPDdissipationNth2trK;
+ CCTK_REAL_VEC JacPDdissipationNth2Xt1;
+ CCTK_REAL_VEC JacPDdissipationNth2Xt2;
+ CCTK_REAL_VEC JacPDdissipationNth2Xt3;
+ CCTK_REAL_VEC JacPDdissipationNth3A;
+ CCTK_REAL_VEC JacPDdissipationNth3alpha;
+ CCTK_REAL_VEC JacPDdissipationNth3At11;
+ CCTK_REAL_VEC JacPDdissipationNth3At12;
+ CCTK_REAL_VEC JacPDdissipationNth3At13;
+ CCTK_REAL_VEC JacPDdissipationNth3At22;
+ CCTK_REAL_VEC JacPDdissipationNth3At23;
+ CCTK_REAL_VEC JacPDdissipationNth3At33;
+ CCTK_REAL_VEC JacPDdissipationNth3B1;
+ CCTK_REAL_VEC JacPDdissipationNth3B2;
+ CCTK_REAL_VEC JacPDdissipationNth3B3;
+ CCTK_REAL_VEC JacPDdissipationNth3beta1;
+ CCTK_REAL_VEC JacPDdissipationNth3beta2;
+ CCTK_REAL_VEC JacPDdissipationNth3beta3;
+ CCTK_REAL_VEC JacPDdissipationNth3gt11;
+ CCTK_REAL_VEC JacPDdissipationNth3gt12;
+ CCTK_REAL_VEC JacPDdissipationNth3gt13;
+ CCTK_REAL_VEC JacPDdissipationNth3gt22;
+ CCTK_REAL_VEC JacPDdissipationNth3gt23;
+ CCTK_REAL_VEC JacPDdissipationNth3gt33;
+ CCTK_REAL_VEC JacPDdissipationNth3phi;
+ CCTK_REAL_VEC JacPDdissipationNth3trK;
+ CCTK_REAL_VEC JacPDdissipationNth3Xt1;
+ CCTK_REAL_VEC JacPDdissipationNth3Xt2;
+ CCTK_REAL_VEC JacPDdissipationNth3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDdissipationNth1A =
+ kmadd(J11L,PDdissipationNth1A,kmadd(J21L,PDdissipationNth2A,kmul(J31L,PDdissipationNth3A)));
+
+ JacPDdissipationNth1alpha =
+ kmadd(J11L,PDdissipationNth1alpha,kmadd(J21L,PDdissipationNth2alpha,kmul(J31L,PDdissipationNth3alpha)));
+
+ JacPDdissipationNth1At11 =
+ kmadd(J11L,PDdissipationNth1At11,kmadd(J21L,PDdissipationNth2At11,kmul(J31L,PDdissipationNth3At11)));
+
+ JacPDdissipationNth1At12 =
+ kmadd(J11L,PDdissipationNth1At12,kmadd(J21L,PDdissipationNth2At12,kmul(J31L,PDdissipationNth3At12)));
+
+ JacPDdissipationNth1At13 =
+ kmadd(J11L,PDdissipationNth1At13,kmadd(J21L,PDdissipationNth2At13,kmul(J31L,PDdissipationNth3At13)));
+
+ JacPDdissipationNth1At22 =
+ kmadd(J11L,PDdissipationNth1At22,kmadd(J21L,PDdissipationNth2At22,kmul(J31L,PDdissipationNth3At22)));
+
+ JacPDdissipationNth1At23 =
+ kmadd(J11L,PDdissipationNth1At23,kmadd(J21L,PDdissipationNth2At23,kmul(J31L,PDdissipationNth3At23)));
+
+ JacPDdissipationNth1At33 =
+ kmadd(J11L,PDdissipationNth1At33,kmadd(J21L,PDdissipationNth2At33,kmul(J31L,PDdissipationNth3At33)));
+
+ JacPDdissipationNth1B1 =
+ kmadd(J11L,PDdissipationNth1B1,kmadd(J21L,PDdissipationNth2B1,kmul(J31L,PDdissipationNth3B1)));
+
+ JacPDdissipationNth1B2 =
+ kmadd(J11L,PDdissipationNth1B2,kmadd(J21L,PDdissipationNth2B2,kmul(J31L,PDdissipationNth3B2)));
+
+ JacPDdissipationNth1B3 =
+ kmadd(J11L,PDdissipationNth1B3,kmadd(J21L,PDdissipationNth2B3,kmul(J31L,PDdissipationNth3B3)));
+
+ JacPDdissipationNth1beta1 =
+ kmadd(J11L,PDdissipationNth1beta1,kmadd(J21L,PDdissipationNth2beta1,kmul(J31L,PDdissipationNth3beta1)));
+
+ JacPDdissipationNth1beta2 =
+ kmadd(J11L,PDdissipationNth1beta2,kmadd(J21L,PDdissipationNth2beta2,kmul(J31L,PDdissipationNth3beta2)));
+
+ JacPDdissipationNth1beta3 =
+ kmadd(J11L,PDdissipationNth1beta3,kmadd(J21L,PDdissipationNth2beta3,kmul(J31L,PDdissipationNth3beta3)));
+
+ JacPDdissipationNth1gt11 =
+ kmadd(J11L,PDdissipationNth1gt11,kmadd(J21L,PDdissipationNth2gt11,kmul(J31L,PDdissipationNth3gt11)));
+
+ JacPDdissipationNth1gt12 =
+ kmadd(J11L,PDdissipationNth1gt12,kmadd(J21L,PDdissipationNth2gt12,kmul(J31L,PDdissipationNth3gt12)));
+
+ JacPDdissipationNth1gt13 =
+ kmadd(J11L,PDdissipationNth1gt13,kmadd(J21L,PDdissipationNth2gt13,kmul(J31L,PDdissipationNth3gt13)));
+
+ JacPDdissipationNth1gt22 =
+ kmadd(J11L,PDdissipationNth1gt22,kmadd(J21L,PDdissipationNth2gt22,kmul(J31L,PDdissipationNth3gt22)));
+
+ JacPDdissipationNth1gt23 =
+ kmadd(J11L,PDdissipationNth1gt23,kmadd(J21L,PDdissipationNth2gt23,kmul(J31L,PDdissipationNth3gt23)));
+
+ JacPDdissipationNth1gt33 =
+ kmadd(J11L,PDdissipationNth1gt33,kmadd(J21L,PDdissipationNth2gt33,kmul(J31L,PDdissipationNth3gt33)));
+
+ JacPDdissipationNth1phi =
+ kmadd(J11L,PDdissipationNth1phi,kmadd(J21L,PDdissipationNth2phi,kmul(J31L,PDdissipationNth3phi)));
+
+ JacPDdissipationNth1trK =
+ kmadd(J11L,PDdissipationNth1trK,kmadd(J21L,PDdissipationNth2trK,kmul(J31L,PDdissipationNth3trK)));
+
+ JacPDdissipationNth1Xt1 =
+ kmadd(J11L,PDdissipationNth1Xt1,kmadd(J21L,PDdissipationNth2Xt1,kmul(J31L,PDdissipationNth3Xt1)));
+
+ JacPDdissipationNth1Xt2 =
+ kmadd(J11L,PDdissipationNth1Xt2,kmadd(J21L,PDdissipationNth2Xt2,kmul(J31L,PDdissipationNth3Xt2)));
+
+ JacPDdissipationNth1Xt3 =
+ kmadd(J11L,PDdissipationNth1Xt3,kmadd(J21L,PDdissipationNth2Xt3,kmul(J31L,PDdissipationNth3Xt3)));
+
+ JacPDdissipationNth2A =
+ kmadd(J12L,PDdissipationNth1A,kmadd(J22L,PDdissipationNth2A,kmul(J32L,PDdissipationNth3A)));
+
+ JacPDdissipationNth2alpha =
+ kmadd(J12L,PDdissipationNth1alpha,kmadd(J22L,PDdissipationNth2alpha,kmul(J32L,PDdissipationNth3alpha)));
+
+ JacPDdissipationNth2At11 =
+ kmadd(J12L,PDdissipationNth1At11,kmadd(J22L,PDdissipationNth2At11,kmul(J32L,PDdissipationNth3At11)));
+
+ JacPDdissipationNth2At12 =
+ kmadd(J12L,PDdissipationNth1At12,kmadd(J22L,PDdissipationNth2At12,kmul(J32L,PDdissipationNth3At12)));
+
+ JacPDdissipationNth2At13 =
+ kmadd(J12L,PDdissipationNth1At13,kmadd(J22L,PDdissipationNth2At13,kmul(J32L,PDdissipationNth3At13)));
+
+ JacPDdissipationNth2At22 =
+ kmadd(J12L,PDdissipationNth1At22,kmadd(J22L,PDdissipationNth2At22,kmul(J32L,PDdissipationNth3At22)));
+
+ JacPDdissipationNth2At23 =
+ kmadd(J12L,PDdissipationNth1At23,kmadd(J22L,PDdissipationNth2At23,kmul(J32L,PDdissipationNth3At23)));
+
+ JacPDdissipationNth2At33 =
+ kmadd(J12L,PDdissipationNth1At33,kmadd(J22L,PDdissipationNth2At33,kmul(J32L,PDdissipationNth3At33)));
+
+ JacPDdissipationNth2B1 =
+ kmadd(J12L,PDdissipationNth1B1,kmadd(J22L,PDdissipationNth2B1,kmul(J32L,PDdissipationNth3B1)));
+
+ JacPDdissipationNth2B2 =
+ kmadd(J12L,PDdissipationNth1B2,kmadd(J22L,PDdissipationNth2B2,kmul(J32L,PDdissipationNth3B2)));
+
+ JacPDdissipationNth2B3 =
+ kmadd(J12L,PDdissipationNth1B3,kmadd(J22L,PDdissipationNth2B3,kmul(J32L,PDdissipationNth3B3)));
+
+ JacPDdissipationNth2beta1 =
+ kmadd(J12L,PDdissipationNth1beta1,kmadd(J22L,PDdissipationNth2beta1,kmul(J32L,PDdissipationNth3beta1)));
+
+ JacPDdissipationNth2beta2 =
+ kmadd(J12L,PDdissipationNth1beta2,kmadd(J22L,PDdissipationNth2beta2,kmul(J32L,PDdissipationNth3beta2)));
+
+ JacPDdissipationNth2beta3 =
+ kmadd(J12L,PDdissipationNth1beta3,kmadd(J22L,PDdissipationNth2beta3,kmul(J32L,PDdissipationNth3beta3)));
+
+ JacPDdissipationNth2gt11 =
+ kmadd(J12L,PDdissipationNth1gt11,kmadd(J22L,PDdissipationNth2gt11,kmul(J32L,PDdissipationNth3gt11)));
+
+ JacPDdissipationNth2gt12 =
+ kmadd(J12L,PDdissipationNth1gt12,kmadd(J22L,PDdissipationNth2gt12,kmul(J32L,PDdissipationNth3gt12)));
+
+ JacPDdissipationNth2gt13 =
+ kmadd(J12L,PDdissipationNth1gt13,kmadd(J22L,PDdissipationNth2gt13,kmul(J32L,PDdissipationNth3gt13)));
+
+ JacPDdissipationNth2gt22 =
+ kmadd(J12L,PDdissipationNth1gt22,kmadd(J22L,PDdissipationNth2gt22,kmul(J32L,PDdissipationNth3gt22)));
+
+ JacPDdissipationNth2gt23 =
+ kmadd(J12L,PDdissipationNth1gt23,kmadd(J22L,PDdissipationNth2gt23,kmul(J32L,PDdissipationNth3gt23)));
+
+ JacPDdissipationNth2gt33 =
+ kmadd(J12L,PDdissipationNth1gt33,kmadd(J22L,PDdissipationNth2gt33,kmul(J32L,PDdissipationNth3gt33)));
+
+ JacPDdissipationNth2phi =
+ kmadd(J12L,PDdissipationNth1phi,kmadd(J22L,PDdissipationNth2phi,kmul(J32L,PDdissipationNth3phi)));
+
+ JacPDdissipationNth2trK =
+ kmadd(J12L,PDdissipationNth1trK,kmadd(J22L,PDdissipationNth2trK,kmul(J32L,PDdissipationNth3trK)));
+
+ JacPDdissipationNth2Xt1 =
+ kmadd(J12L,PDdissipationNth1Xt1,kmadd(J22L,PDdissipationNth2Xt1,kmul(J32L,PDdissipationNth3Xt1)));
+
+ JacPDdissipationNth2Xt2 =
+ kmadd(J12L,PDdissipationNth1Xt2,kmadd(J22L,PDdissipationNth2Xt2,kmul(J32L,PDdissipationNth3Xt2)));
+
+ JacPDdissipationNth2Xt3 =
+ kmadd(J12L,PDdissipationNth1Xt3,kmadd(J22L,PDdissipationNth2Xt3,kmul(J32L,PDdissipationNth3Xt3)));
+
+ JacPDdissipationNth3A =
+ kmadd(J13L,PDdissipationNth1A,kmadd(J23L,PDdissipationNth2A,kmul(J33L,PDdissipationNth3A)));
+
+ JacPDdissipationNth3alpha =
+ kmadd(J13L,PDdissipationNth1alpha,kmadd(J23L,PDdissipationNth2alpha,kmul(J33L,PDdissipationNth3alpha)));
+
+ JacPDdissipationNth3At11 =
+ kmadd(J13L,PDdissipationNth1At11,kmadd(J23L,PDdissipationNth2At11,kmul(J33L,PDdissipationNth3At11)));
+
+ JacPDdissipationNth3At12 =
+ kmadd(J13L,PDdissipationNth1At12,kmadd(J23L,PDdissipationNth2At12,kmul(J33L,PDdissipationNth3At12)));
+
+ JacPDdissipationNth3At13 =
+ kmadd(J13L,PDdissipationNth1At13,kmadd(J23L,PDdissipationNth2At13,kmul(J33L,PDdissipationNth3At13)));
+
+ JacPDdissipationNth3At22 =
+ kmadd(J13L,PDdissipationNth1At22,kmadd(J23L,PDdissipationNth2At22,kmul(J33L,PDdissipationNth3At22)));
+
+ JacPDdissipationNth3At23 =
+ kmadd(J13L,PDdissipationNth1At23,kmadd(J23L,PDdissipationNth2At23,kmul(J33L,PDdissipationNth3At23)));
+
+ JacPDdissipationNth3At33 =
+ kmadd(J13L,PDdissipationNth1At33,kmadd(J23L,PDdissipationNth2At33,kmul(J33L,PDdissipationNth3At33)));
+
+ JacPDdissipationNth3B1 =
+ kmadd(J13L,PDdissipationNth1B1,kmadd(J23L,PDdissipationNth2B1,kmul(J33L,PDdissipationNth3B1)));
+
+ JacPDdissipationNth3B2 =
+ kmadd(J13L,PDdissipationNth1B2,kmadd(J23L,PDdissipationNth2B2,kmul(J33L,PDdissipationNth3B2)));
+
+ JacPDdissipationNth3B3 =
+ kmadd(J13L,PDdissipationNth1B3,kmadd(J23L,PDdissipationNth2B3,kmul(J33L,PDdissipationNth3B3)));
+
+ JacPDdissipationNth3beta1 =
+ kmadd(J13L,PDdissipationNth1beta1,kmadd(J23L,PDdissipationNth2beta1,kmul(J33L,PDdissipationNth3beta1)));
+
+ JacPDdissipationNth3beta2 =
+ kmadd(J13L,PDdissipationNth1beta2,kmadd(J23L,PDdissipationNth2beta2,kmul(J33L,PDdissipationNth3beta2)));
+
+ JacPDdissipationNth3beta3 =
+ kmadd(J13L,PDdissipationNth1beta3,kmadd(J23L,PDdissipationNth2beta3,kmul(J33L,PDdissipationNth3beta3)));
+
+ JacPDdissipationNth3gt11 =
+ kmadd(J13L,PDdissipationNth1gt11,kmadd(J23L,PDdissipationNth2gt11,kmul(J33L,PDdissipationNth3gt11)));
+
+ JacPDdissipationNth3gt12 =
+ kmadd(J13L,PDdissipationNth1gt12,kmadd(J23L,PDdissipationNth2gt12,kmul(J33L,PDdissipationNth3gt12)));
+
+ JacPDdissipationNth3gt13 =
+ kmadd(J13L,PDdissipationNth1gt13,kmadd(J23L,PDdissipationNth2gt13,kmul(J33L,PDdissipationNth3gt13)));
+
+ JacPDdissipationNth3gt22 =
+ kmadd(J13L,PDdissipationNth1gt22,kmadd(J23L,PDdissipationNth2gt22,kmul(J33L,PDdissipationNth3gt22)));
+
+ JacPDdissipationNth3gt23 =
+ kmadd(J13L,PDdissipationNth1gt23,kmadd(J23L,PDdissipationNth2gt23,kmul(J33L,PDdissipationNth3gt23)));
+
+ JacPDdissipationNth3gt33 =
+ kmadd(J13L,PDdissipationNth1gt33,kmadd(J23L,PDdissipationNth2gt33,kmul(J33L,PDdissipationNth3gt33)));
+
+ JacPDdissipationNth3phi =
+ kmadd(J13L,PDdissipationNth1phi,kmadd(J23L,PDdissipationNth2phi,kmul(J33L,PDdissipationNth3phi)));
+
+ JacPDdissipationNth3trK =
+ kmadd(J13L,PDdissipationNth1trK,kmadd(J23L,PDdissipationNth2trK,kmul(J33L,PDdissipationNth3trK)));
+
+ JacPDdissipationNth3Xt1 =
+ kmadd(J13L,PDdissipationNth1Xt1,kmadd(J23L,PDdissipationNth2Xt1,kmul(J33L,PDdissipationNth3Xt1)));
+
+ JacPDdissipationNth3Xt2 =
+ kmadd(J13L,PDdissipationNth1Xt2,kmadd(J23L,PDdissipationNth2Xt2,kmul(J33L,PDdissipationNth3Xt2)));
+
+ JacPDdissipationNth3Xt3 =
+ kmadd(J13L,PDdissipationNth1Xt3,kmadd(J23L,PDdissipationNth2Xt3,kmul(J33L,PDdissipationNth3Xt3)));
+ }
+ else
+ {
+ JacPDdissipationNth1A = PDdissipationNth1A;
+
+ JacPDdissipationNth1alpha = PDdissipationNth1alpha;
+
+ JacPDdissipationNth1At11 = PDdissipationNth1At11;
+
+ JacPDdissipationNth1At12 = PDdissipationNth1At12;
+
+ JacPDdissipationNth1At13 = PDdissipationNth1At13;
+
+ JacPDdissipationNth1At22 = PDdissipationNth1At22;
+
+ JacPDdissipationNth1At23 = PDdissipationNth1At23;
+
+ JacPDdissipationNth1At33 = PDdissipationNth1At33;
+
+ JacPDdissipationNth1B1 = PDdissipationNth1B1;
+
+ JacPDdissipationNth1B2 = PDdissipationNth1B2;
+
+ JacPDdissipationNth1B3 = PDdissipationNth1B3;
+
+ JacPDdissipationNth1beta1 = PDdissipationNth1beta1;
+
+ JacPDdissipationNth1beta2 = PDdissipationNth1beta2;
+
+ JacPDdissipationNth1beta3 = PDdissipationNth1beta3;
+
+ JacPDdissipationNth1gt11 = PDdissipationNth1gt11;
+
+ JacPDdissipationNth1gt12 = PDdissipationNth1gt12;
+
+ JacPDdissipationNth1gt13 = PDdissipationNth1gt13;
+
+ JacPDdissipationNth1gt22 = PDdissipationNth1gt22;
+
+ JacPDdissipationNth1gt23 = PDdissipationNth1gt23;
+
+ JacPDdissipationNth1gt33 = PDdissipationNth1gt33;
+
+ JacPDdissipationNth1phi = PDdissipationNth1phi;
+
+ JacPDdissipationNth1trK = PDdissipationNth1trK;
+
+ JacPDdissipationNth1Xt1 = PDdissipationNth1Xt1;
+
+ JacPDdissipationNth1Xt2 = PDdissipationNth1Xt2;
+
+ JacPDdissipationNth1Xt3 = PDdissipationNth1Xt3;
+
+ JacPDdissipationNth2A = PDdissipationNth2A;
+
+ JacPDdissipationNth2alpha = PDdissipationNth2alpha;
+
+ JacPDdissipationNth2At11 = PDdissipationNth2At11;
+
+ JacPDdissipationNth2At12 = PDdissipationNth2At12;
+
+ JacPDdissipationNth2At13 = PDdissipationNth2At13;
+
+ JacPDdissipationNth2At22 = PDdissipationNth2At22;
+
+ JacPDdissipationNth2At23 = PDdissipationNth2At23;
+
+ JacPDdissipationNth2At33 = PDdissipationNth2At33;
+
+ JacPDdissipationNth2B1 = PDdissipationNth2B1;
+
+ JacPDdissipationNth2B2 = PDdissipationNth2B2;
+
+ JacPDdissipationNth2B3 = PDdissipationNth2B3;
+
+ JacPDdissipationNth2beta1 = PDdissipationNth2beta1;
+
+ JacPDdissipationNth2beta2 = PDdissipationNth2beta2;
+
+ JacPDdissipationNth2beta3 = PDdissipationNth2beta3;
+
+ JacPDdissipationNth2gt11 = PDdissipationNth2gt11;
+
+ JacPDdissipationNth2gt12 = PDdissipationNth2gt12;
+
+ JacPDdissipationNth2gt13 = PDdissipationNth2gt13;
+
+ JacPDdissipationNth2gt22 = PDdissipationNth2gt22;
+
+ JacPDdissipationNth2gt23 = PDdissipationNth2gt23;
+
+ JacPDdissipationNth2gt33 = PDdissipationNth2gt33;
+
+ JacPDdissipationNth2phi = PDdissipationNth2phi;
+
+ JacPDdissipationNth2trK = PDdissipationNth2trK;
+
+ JacPDdissipationNth2Xt1 = PDdissipationNth2Xt1;
+
+ JacPDdissipationNth2Xt2 = PDdissipationNth2Xt2;
+
+ JacPDdissipationNth2Xt3 = PDdissipationNth2Xt3;
+
+ JacPDdissipationNth3A = PDdissipationNth3A;
+
+ JacPDdissipationNth3alpha = PDdissipationNth3alpha;
+
+ JacPDdissipationNth3At11 = PDdissipationNth3At11;
+
+ JacPDdissipationNth3At12 = PDdissipationNth3At12;
+
+ JacPDdissipationNth3At13 = PDdissipationNth3At13;
+
+ JacPDdissipationNth3At22 = PDdissipationNth3At22;
+
+ JacPDdissipationNth3At23 = PDdissipationNth3At23;
+
+ JacPDdissipationNth3At33 = PDdissipationNth3At33;
+
+ JacPDdissipationNth3B1 = PDdissipationNth3B1;
+
+ JacPDdissipationNth3B2 = PDdissipationNth3B2;
+
+ JacPDdissipationNth3B3 = PDdissipationNth3B3;
+
+ JacPDdissipationNth3beta1 = PDdissipationNth3beta1;
+
+ JacPDdissipationNth3beta2 = PDdissipationNth3beta2;
+
+ JacPDdissipationNth3beta3 = PDdissipationNth3beta3;
+
+ JacPDdissipationNth3gt11 = PDdissipationNth3gt11;
+
+ JacPDdissipationNth3gt12 = PDdissipationNth3gt12;
+
+ JacPDdissipationNth3gt13 = PDdissipationNth3gt13;
+
+ JacPDdissipationNth3gt22 = PDdissipationNth3gt22;
+
+ JacPDdissipationNth3gt23 = PDdissipationNth3gt23;
+
+ JacPDdissipationNth3gt33 = PDdissipationNth3gt33;
+
+ JacPDdissipationNth3phi = PDdissipationNth3phi;
+
+ JacPDdissipationNth3trK = PDdissipationNth3trK;
+
+ JacPDdissipationNth3Xt1 = PDdissipationNth3Xt1;
+
+ JacPDdissipationNth3Xt2 = PDdissipationNth3Xt2;
+
+ JacPDdissipationNth3Xt3 = PDdissipationNth3Xt3;
+ }
+
CCTK_REAL_VEC epsdiss1 = ToReal(EpsDiss);
CCTK_REAL_VEC epsdiss2 = ToReal(EpsDiss);
@@ -276,79 +1184,79 @@ static void ML_BSSN_Dissipation_Body(cGH const * restrict const cctkGH, int cons
CCTK_REAL_VEC epsdiss3 = ToReal(EpsDiss);
phirhsL =
- kmadd(epsdiss1,PDdissipationNth1phi,kmadd(epsdiss2,PDdissipationNth2phi,kmadd(epsdiss3,PDdissipationNth3phi,phirhsL)));
+ kmadd(epsdiss1,JacPDdissipationNth1phi,kmadd(epsdiss2,JacPDdissipationNth2phi,kmadd(epsdiss3,JacPDdissipationNth3phi,phirhsL)));
gt11rhsL =
- kadd(gt11rhsL,kmadd(epsdiss1,PDdissipationNth1gt11,kmadd(epsdiss2,PDdissipationNth2gt11,kmul(epsdiss3,PDdissipationNth3gt11))));
+ kadd(gt11rhsL,kmadd(epsdiss1,JacPDdissipationNth1gt11,kmadd(epsdiss2,JacPDdissipationNth2gt11,kmul(epsdiss3,JacPDdissipationNth3gt11))));
gt12rhsL =
- kadd(gt12rhsL,kmadd(epsdiss1,PDdissipationNth1gt12,kmadd(epsdiss2,PDdissipationNth2gt12,kmul(epsdiss3,PDdissipationNth3gt12))));
+ kadd(gt12rhsL,kmadd(epsdiss1,JacPDdissipationNth1gt12,kmadd(epsdiss2,JacPDdissipationNth2gt12,kmul(epsdiss3,JacPDdissipationNth3gt12))));
gt13rhsL =
- kadd(gt13rhsL,kmadd(epsdiss1,PDdissipationNth1gt13,kmadd(epsdiss2,PDdissipationNth2gt13,kmul(epsdiss3,PDdissipationNth3gt13))));
+ kadd(gt13rhsL,kmadd(epsdiss1,JacPDdissipationNth1gt13,kmadd(epsdiss2,JacPDdissipationNth2gt13,kmul(epsdiss3,JacPDdissipationNth3gt13))));
gt22rhsL =
- kadd(gt22rhsL,kmadd(epsdiss1,PDdissipationNth1gt22,kmadd(epsdiss2,PDdissipationNth2gt22,kmul(epsdiss3,PDdissipationNth3gt22))));
+ kadd(gt22rhsL,kmadd(epsdiss1,JacPDdissipationNth1gt22,kmadd(epsdiss2,JacPDdissipationNth2gt22,kmul(epsdiss3,JacPDdissipationNth3gt22))));
gt23rhsL =
- kadd(gt23rhsL,kmadd(epsdiss1,PDdissipationNth1gt23,kmadd(epsdiss2,PDdissipationNth2gt23,kmul(epsdiss3,PDdissipationNth3gt23))));
+ kadd(gt23rhsL,kmadd(epsdiss1,JacPDdissipationNth1gt23,kmadd(epsdiss2,JacPDdissipationNth2gt23,kmul(epsdiss3,JacPDdissipationNth3gt23))));
gt33rhsL =
- kadd(gt33rhsL,kmadd(epsdiss1,PDdissipationNth1gt33,kmadd(epsdiss2,PDdissipationNth2gt33,kmul(epsdiss3,PDdissipationNth3gt33))));
+ kadd(gt33rhsL,kmadd(epsdiss1,JacPDdissipationNth1gt33,kmadd(epsdiss2,JacPDdissipationNth2gt33,kmul(epsdiss3,JacPDdissipationNth3gt33))));
Xt1rhsL =
- kmadd(epsdiss1,PDdissipationNth1Xt1,kmadd(epsdiss2,PDdissipationNth2Xt1,kmadd(epsdiss3,PDdissipationNth3Xt1,Xt1rhsL)));
+ kmadd(epsdiss1,JacPDdissipationNth1Xt1,kmadd(epsdiss2,JacPDdissipationNth2Xt1,kmadd(epsdiss3,JacPDdissipationNth3Xt1,Xt1rhsL)));
Xt2rhsL =
- kmadd(epsdiss1,PDdissipationNth1Xt2,kmadd(epsdiss2,PDdissipationNth2Xt2,kmadd(epsdiss3,PDdissipationNth3Xt2,Xt2rhsL)));
+ kmadd(epsdiss1,JacPDdissipationNth1Xt2,kmadd(epsdiss2,JacPDdissipationNth2Xt2,kmadd(epsdiss3,JacPDdissipationNth3Xt2,Xt2rhsL)));
Xt3rhsL =
- kmadd(epsdiss1,PDdissipationNth1Xt3,kmadd(epsdiss2,PDdissipationNth2Xt3,kmadd(epsdiss3,PDdissipationNth3Xt3,Xt3rhsL)));
+ kmadd(epsdiss1,JacPDdissipationNth1Xt3,kmadd(epsdiss2,JacPDdissipationNth2Xt3,kmadd(epsdiss3,JacPDdissipationNth3Xt3,Xt3rhsL)));
trKrhsL =
- kmadd(epsdiss1,PDdissipationNth1trK,kmadd(epsdiss2,PDdissipationNth2trK,kmadd(epsdiss3,PDdissipationNth3trK,trKrhsL)));
+ kmadd(epsdiss1,JacPDdissipationNth1trK,kmadd(epsdiss2,JacPDdissipationNth2trK,kmadd(epsdiss3,JacPDdissipationNth3trK,trKrhsL)));
At11rhsL =
- kadd(At11rhsL,kmadd(epsdiss1,PDdissipationNth1At11,kmadd(epsdiss2,PDdissipationNth2At11,kmul(epsdiss3,PDdissipationNth3At11))));
+ kadd(At11rhsL,kmadd(epsdiss1,JacPDdissipationNth1At11,kmadd(epsdiss2,JacPDdissipationNth2At11,kmul(epsdiss3,JacPDdissipationNth3At11))));
At12rhsL =
- kadd(At12rhsL,kmadd(epsdiss1,PDdissipationNth1At12,kmadd(epsdiss2,PDdissipationNth2At12,kmul(epsdiss3,PDdissipationNth3At12))));
+ kadd(At12rhsL,kmadd(epsdiss1,JacPDdissipationNth1At12,kmadd(epsdiss2,JacPDdissipationNth2At12,kmul(epsdiss3,JacPDdissipationNth3At12))));
At13rhsL =
- kadd(At13rhsL,kmadd(epsdiss1,PDdissipationNth1At13,kmadd(epsdiss2,PDdissipationNth2At13,kmul(epsdiss3,PDdissipationNth3At13))));
+ kadd(At13rhsL,kmadd(epsdiss1,JacPDdissipationNth1At13,kmadd(epsdiss2,JacPDdissipationNth2At13,kmul(epsdiss3,JacPDdissipationNth3At13))));
At22rhsL =
- kadd(At22rhsL,kmadd(epsdiss1,PDdissipationNth1At22,kmadd(epsdiss2,PDdissipationNth2At22,kmul(epsdiss3,PDdissipationNth3At22))));
+ kadd(At22rhsL,kmadd(epsdiss1,JacPDdissipationNth1At22,kmadd(epsdiss2,JacPDdissipationNth2At22,kmul(epsdiss3,JacPDdissipationNth3At22))));
At23rhsL =
- kadd(At23rhsL,kmadd(epsdiss1,PDdissipationNth1At23,kmadd(epsdiss2,PDdissipationNth2At23,kmul(epsdiss3,PDdissipationNth3At23))));
+ kadd(At23rhsL,kmadd(epsdiss1,JacPDdissipationNth1At23,kmadd(epsdiss2,JacPDdissipationNth2At23,kmul(epsdiss3,JacPDdissipationNth3At23))));
At33rhsL =
- kadd(At33rhsL,kmadd(epsdiss1,PDdissipationNth1At33,kmadd(epsdiss2,PDdissipationNth2At33,kmul(epsdiss3,PDdissipationNth3At33))));
+ kadd(At33rhsL,kmadd(epsdiss1,JacPDdissipationNth1At33,kmadd(epsdiss2,JacPDdissipationNth2At33,kmul(epsdiss3,JacPDdissipationNth3At33))));
alpharhsL =
- kadd(alpharhsL,kmadd(epsdiss1,PDdissipationNth1alpha,kmadd(epsdiss2,PDdissipationNth2alpha,kmul(epsdiss3,PDdissipationNth3alpha))));
+ kadd(alpharhsL,kmadd(epsdiss1,JacPDdissipationNth1alpha,kmadd(epsdiss2,JacPDdissipationNth2alpha,kmul(epsdiss3,JacPDdissipationNth3alpha))));
ArhsL =
- kadd(ArhsL,kmadd(epsdiss1,PDdissipationNth1A,kmadd(epsdiss2,PDdissipationNth2A,kmul(epsdiss3,PDdissipationNth3A))));
+ kadd(ArhsL,kmadd(epsdiss1,JacPDdissipationNth1A,kmadd(epsdiss2,JacPDdissipationNth2A,kmul(epsdiss3,JacPDdissipationNth3A))));
beta1rhsL =
- kadd(beta1rhsL,kmadd(epsdiss1,PDdissipationNth1beta1,kmadd(epsdiss2,PDdissipationNth2beta1,kmul(epsdiss3,PDdissipationNth3beta1))));
+ kadd(beta1rhsL,kmadd(epsdiss1,JacPDdissipationNth1beta1,kmadd(epsdiss2,JacPDdissipationNth2beta1,kmul(epsdiss3,JacPDdissipationNth3beta1))));
beta2rhsL =
- kadd(beta2rhsL,kmadd(epsdiss1,PDdissipationNth1beta2,kmadd(epsdiss2,PDdissipationNth2beta2,kmul(epsdiss3,PDdissipationNth3beta2))));
+ kadd(beta2rhsL,kmadd(epsdiss1,JacPDdissipationNth1beta2,kmadd(epsdiss2,JacPDdissipationNth2beta2,kmul(epsdiss3,JacPDdissipationNth3beta2))));
beta3rhsL =
- kadd(beta3rhsL,kmadd(epsdiss1,PDdissipationNth1beta3,kmadd(epsdiss2,PDdissipationNth2beta3,kmul(epsdiss3,PDdissipationNth3beta3))));
+ kadd(beta3rhsL,kmadd(epsdiss1,JacPDdissipationNth1beta3,kmadd(epsdiss2,JacPDdissipationNth2beta3,kmul(epsdiss3,JacPDdissipationNth3beta3))));
B1rhsL =
- kadd(B1rhsL,kmadd(epsdiss1,PDdissipationNth1B1,kmadd(epsdiss2,PDdissipationNth2B1,kmul(epsdiss3,PDdissipationNth3B1))));
+ kadd(B1rhsL,kmadd(epsdiss1,JacPDdissipationNth1B1,kmadd(epsdiss2,JacPDdissipationNth2B1,kmul(epsdiss3,JacPDdissipationNth3B1))));
B2rhsL =
- kadd(B2rhsL,kmadd(epsdiss1,PDdissipationNth1B2,kmadd(epsdiss2,PDdissipationNth2B2,kmul(epsdiss3,PDdissipationNth3B2))));
+ kadd(B2rhsL,kmadd(epsdiss1,JacPDdissipationNth1B2,kmadd(epsdiss2,JacPDdissipationNth2B2,kmul(epsdiss3,JacPDdissipationNth3B2))));
B3rhsL =
- kadd(B3rhsL,kmadd(epsdiss1,PDdissipationNth1B3,kmadd(epsdiss2,PDdissipationNth2B3,kmul(epsdiss3,PDdissipationNth3B3))));
+ kadd(B3rhsL,kmadd(epsdiss1,JacPDdissipationNth1B3,kmadd(epsdiss2,JacPDdissipationNth2B3,kmul(epsdiss3,JacPDdissipationNth3B3))));
/* If necessary, store only partial vectors after the first iteration */
diff --git a/ML_BSSN/src/ML_BSSN_InitGamma.cc b/ML_BSSN/src/ML_BSSN_InitGamma.cc
index ab44fd1..52fd007 100644
--- a/ML_BSSN/src/ML_BSSN_InitGamma.cc
+++ b/ML_BSSN/src/ML_BSSN_InitGamma.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_InitGamma_Body(cGH const * restrict const cctkGH, int const
const char *groups[] = {"ML_BSSN::ML_Gamma"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitGamma", 1, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_InitGamma_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -102,10 +221,26 @@ static void ML_BSSN_InitGamma_Body(cGH const * restrict const cctkGH, int const
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC Xt1L = ToReal(0);
diff --git a/ML_BSSN/src/ML_BSSN_InitRHS.cc b/ML_BSSN/src/ML_BSSN_InitRHS.cc
index 140c059..80a0539 100644
--- a/ML_BSSN/src/ML_BSSN_InitRHS.cc
+++ b/ML_BSSN/src/ML_BSSN_InitRHS.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_InitRHS_Body(cGH const * restrict const cctkGH, int const di
const char *groups[] = {"ML_BSSN::ML_curvrhs","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curvrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_InitRHS", 9, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_InitRHS_Body(cGH const * restrict const cctkGH, int const di
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -102,10 +221,26 @@ static void ML_BSSN_InitRHS_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_VEC phirhsL = ToReal(0);
diff --git a/ML_BSSN/src/ML_BSSN_Minkowski.cc b/ML_BSSN/src/ML_BSSN_Minkowski.cc
index 7efbe04..fbbefee 100644
--- a/ML_BSSN/src/ML_BSSN_Minkowski.cc
+++ b/ML_BSSN/src/ML_BSSN_Minkowski.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_Minkowski_Body(cGH const * restrict const cctkGH, int const
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_Minkowski", 9, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_Minkowski_Body(cGH const * restrict const cctkGH, int const
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -102,10 +221,26 @@ static void ML_BSSN_Minkowski_Body(cGH const * restrict const cctkGH, int const
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC phiL = IfThen(conformalMethod,ToReal(1),ToReal(0));
diff --git a/ML_BSSN/src/ML_BSSN_RHS1.cc b/ML_BSSN/src/ML_BSSN_RHS1.cc
index 41593a4..e5b7817 100644
--- a/ML_BSSN/src/ML_BSSN_RHS1.cc
+++ b/ML_BSSN/src/ML_BSSN_RHS1.cc
@@ -76,7 +76,24 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
const char *groups[] = {"grid::coordinates","Grid::coordinates","ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshift","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapse","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confac","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metric","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shift","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curv","ML_BSSN::ML_trace_curvrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS1", 19, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS1", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -104,24 +121,129 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -190,71 +312,797 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
eTzzL = ToReal(0.0);
}
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDstandardNth1alpha = PDstandardNth1(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth2alpha = PDstandardNth2(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth3alpha = PDstandardNth3(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth11alpha = PDstandardNth11(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth22alpha = PDstandardNth22(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth33alpha = PDstandardNth33(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth12alpha = PDstandardNth12(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth13alpha = PDstandardNth13(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth23alpha = PDstandardNth23(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth1beta1 = PDstandardNth1(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth2beta1 = PDstandardNth2(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth3beta1 = PDstandardNth3(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth11beta1 = PDstandardNth11(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth22beta1 = PDstandardNth22(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth33beta1 = PDstandardNth33(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth12beta1 = PDstandardNth12(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth13beta1 = PDstandardNth13(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth23beta1 = PDstandardNth23(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth1beta2 = PDstandardNth1(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth2beta2 = PDstandardNth2(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth3beta2 = PDstandardNth3(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth11beta2 = PDstandardNth11(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth22beta2 = PDstandardNth22(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth33beta2 = PDstandardNth33(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth12beta2 = PDstandardNth12(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth13beta2 = PDstandardNth13(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth23beta2 = PDstandardNth23(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth1beta3 = PDstandardNth1(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth2beta3 = PDstandardNth2(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth3beta3 = PDstandardNth3(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth11beta3 = PDstandardNth11(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth22beta3 = PDstandardNth22(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth33beta3 = PDstandardNth33(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth12beta3 = PDstandardNth12(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth13beta3 = PDstandardNth13(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth23beta3 = PDstandardNth23(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth1phi = PDstandardNth1(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth2phi = PDstandardNth2(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth3phi = PDstandardNth3(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth1trK = PDstandardNth1(&trK[index]);
- CCTK_REAL_VEC const PDstandardNth2trK = PDstandardNth2(&trK[index]);
- CCTK_REAL_VEC const PDstandardNth3trK = PDstandardNth3(&trK[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 PDstandardNth11beta1;
+ CCTK_REAL_VEC PDstandardNth22beta1;
+ CCTK_REAL_VEC PDstandardNth33beta1;
+ CCTK_REAL_VEC PDstandardNth12beta1;
+ CCTK_REAL_VEC PDstandardNth13beta1;
+ CCTK_REAL_VEC PDstandardNth23beta1;
+ CCTK_REAL_VEC PDstandardNth1beta2;
+ CCTK_REAL_VEC PDstandardNth2beta2;
+ CCTK_REAL_VEC PDstandardNth3beta2;
+ CCTK_REAL_VEC PDstandardNth11beta2;
+ CCTK_REAL_VEC PDstandardNth22beta2;
+ CCTK_REAL_VEC PDstandardNth33beta2;
+ CCTK_REAL_VEC PDstandardNth12beta2;
+ CCTK_REAL_VEC PDstandardNth13beta2;
+ CCTK_REAL_VEC PDstandardNth23beta2;
+ CCTK_REAL_VEC PDstandardNth1beta3;
+ CCTK_REAL_VEC PDstandardNth2beta3;
+ CCTK_REAL_VEC PDstandardNth3beta3;
+ CCTK_REAL_VEC PDstandardNth11beta3;
+ CCTK_REAL_VEC PDstandardNth22beta3;
+ CCTK_REAL_VEC PDstandardNth33beta3;
+ CCTK_REAL_VEC PDstandardNth12beta3;
+ CCTK_REAL_VEC PDstandardNth13beta3;
+ CCTK_REAL_VEC PDstandardNth23beta3;
+ CCTK_REAL_VEC PDstandardNth1gt11;
+ CCTK_REAL_VEC PDstandardNth2gt11;
+ CCTK_REAL_VEC PDstandardNth3gt11;
+ CCTK_REAL_VEC PDstandardNth1gt12;
+ CCTK_REAL_VEC PDstandardNth2gt12;
+ CCTK_REAL_VEC PDstandardNth3gt12;
+ CCTK_REAL_VEC PDstandardNth1gt13;
+ CCTK_REAL_VEC PDstandardNth2gt13;
+ CCTK_REAL_VEC PDstandardNth3gt13;
+ CCTK_REAL_VEC PDstandardNth1gt22;
+ CCTK_REAL_VEC PDstandardNth2gt22;
+ CCTK_REAL_VEC PDstandardNth3gt22;
+ CCTK_REAL_VEC PDstandardNth1gt23;
+ CCTK_REAL_VEC PDstandardNth2gt23;
+ CCTK_REAL_VEC PDstandardNth3gt23;
+ CCTK_REAL_VEC PDstandardNth1gt33;
+ CCTK_REAL_VEC PDstandardNth2gt33;
+ CCTK_REAL_VEC PDstandardNth3gt33;
+ CCTK_REAL_VEC PDstandardNth1phi;
+ CCTK_REAL_VEC PDstandardNth2phi;
+ CCTK_REAL_VEC PDstandardNth3phi;
+ CCTK_REAL_VEC PDstandardNth1trK;
+ CCTK_REAL_VEC PDstandardNth2trK;
+ CCTK_REAL_VEC PDstandardNth3trK;
+
+ 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]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder211(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder222(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder233(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder212(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder213(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder223(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder21(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder22(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder23(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder211(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder222(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder233(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder212(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder213(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder223(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder21(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder22(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder23(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder211(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder222(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder233(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder212(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder213(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder223(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder23(&trK[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]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder411(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder422(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder433(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder412(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder413(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder423(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder41(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder42(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder43(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder411(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder422(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder433(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder412(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder413(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder423(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder41(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder42(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder43(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder411(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder422(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder433(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder412(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder413(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder423(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder43(&trK[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]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder611(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder622(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder633(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder612(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder613(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder623(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder61(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder62(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder63(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder611(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder622(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder633(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder612(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder613(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder623(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder61(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder62(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder63(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder611(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder622(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder633(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder612(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder613(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder623(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder63(&trK[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]);
+ PDstandardNth11beta1 = PDstandardNthfdOrder811(&beta1[index]);
+ PDstandardNth22beta1 = PDstandardNthfdOrder822(&beta1[index]);
+ PDstandardNth33beta1 = PDstandardNthfdOrder833(&beta1[index]);
+ PDstandardNth12beta1 = PDstandardNthfdOrder812(&beta1[index]);
+ PDstandardNth13beta1 = PDstandardNthfdOrder813(&beta1[index]);
+ PDstandardNth23beta1 = PDstandardNthfdOrder823(&beta1[index]);
+ PDstandardNth1beta2 = PDstandardNthfdOrder81(&beta2[index]);
+ PDstandardNth2beta2 = PDstandardNthfdOrder82(&beta2[index]);
+ PDstandardNth3beta2 = PDstandardNthfdOrder83(&beta2[index]);
+ PDstandardNth11beta2 = PDstandardNthfdOrder811(&beta2[index]);
+ PDstandardNth22beta2 = PDstandardNthfdOrder822(&beta2[index]);
+ PDstandardNth33beta2 = PDstandardNthfdOrder833(&beta2[index]);
+ PDstandardNth12beta2 = PDstandardNthfdOrder812(&beta2[index]);
+ PDstandardNth13beta2 = PDstandardNthfdOrder813(&beta2[index]);
+ PDstandardNth23beta2 = PDstandardNthfdOrder823(&beta2[index]);
+ PDstandardNth1beta3 = PDstandardNthfdOrder81(&beta3[index]);
+ PDstandardNth2beta3 = PDstandardNthfdOrder82(&beta3[index]);
+ PDstandardNth3beta3 = PDstandardNthfdOrder83(&beta3[index]);
+ PDstandardNth11beta3 = PDstandardNthfdOrder811(&beta3[index]);
+ PDstandardNth22beta3 = PDstandardNthfdOrder822(&beta3[index]);
+ PDstandardNth33beta3 = PDstandardNthfdOrder833(&beta3[index]);
+ PDstandardNth12beta3 = PDstandardNthfdOrder812(&beta3[index]);
+ PDstandardNth13beta3 = PDstandardNthfdOrder813(&beta3[index]);
+ PDstandardNth23beta3 = PDstandardNthfdOrder823(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandardNth11alpha;
+ CCTK_REAL_VEC JacPDstandardNth11beta1;
+ CCTK_REAL_VEC JacPDstandardNth11beta2;
+ CCTK_REAL_VEC JacPDstandardNth11beta3;
+ CCTK_REAL_VEC JacPDstandardNth12alpha;
+ CCTK_REAL_VEC JacPDstandardNth12beta1;
+ CCTK_REAL_VEC JacPDstandardNth12beta2;
+ CCTK_REAL_VEC JacPDstandardNth12beta3;
+ CCTK_REAL_VEC JacPDstandardNth13alpha;
+ CCTK_REAL_VEC JacPDstandardNth13beta1;
+ CCTK_REAL_VEC JacPDstandardNth13beta2;
+ CCTK_REAL_VEC JacPDstandardNth13beta3;
+ CCTK_REAL_VEC JacPDstandardNth1alpha;
+ CCTK_REAL_VEC JacPDstandardNth1beta1;
+ CCTK_REAL_VEC JacPDstandardNth1beta2;
+ CCTK_REAL_VEC JacPDstandardNth1beta3;
+ CCTK_REAL_VEC JacPDstandardNth1gt11;
+ CCTK_REAL_VEC JacPDstandardNth1gt12;
+ CCTK_REAL_VEC JacPDstandardNth1gt13;
+ CCTK_REAL_VEC JacPDstandardNth1gt22;
+ CCTK_REAL_VEC JacPDstandardNth1gt23;
+ CCTK_REAL_VEC JacPDstandardNth1gt33;
+ CCTK_REAL_VEC JacPDstandardNth1phi;
+ CCTK_REAL_VEC JacPDstandardNth1trK;
+ CCTK_REAL_VEC JacPDstandardNth21alpha;
+ CCTK_REAL_VEC JacPDstandardNth21beta1;
+ CCTK_REAL_VEC JacPDstandardNth21beta2;
+ CCTK_REAL_VEC JacPDstandardNth21beta3;
+ CCTK_REAL_VEC JacPDstandardNth22alpha;
+ CCTK_REAL_VEC JacPDstandardNth22beta1;
+ CCTK_REAL_VEC JacPDstandardNth22beta2;
+ CCTK_REAL_VEC JacPDstandardNth22beta3;
+ CCTK_REAL_VEC JacPDstandardNth23alpha;
+ CCTK_REAL_VEC JacPDstandardNth23beta1;
+ CCTK_REAL_VEC JacPDstandardNth23beta2;
+ CCTK_REAL_VEC JacPDstandardNth23beta3;
+ CCTK_REAL_VEC JacPDstandardNth2alpha;
+ CCTK_REAL_VEC JacPDstandardNth2beta1;
+ CCTK_REAL_VEC JacPDstandardNth2beta2;
+ CCTK_REAL_VEC JacPDstandardNth2beta3;
+ CCTK_REAL_VEC JacPDstandardNth2gt11;
+ CCTK_REAL_VEC JacPDstandardNth2gt12;
+ CCTK_REAL_VEC JacPDstandardNth2gt13;
+ CCTK_REAL_VEC JacPDstandardNth2gt22;
+ CCTK_REAL_VEC JacPDstandardNth2gt23;
+ CCTK_REAL_VEC JacPDstandardNth2gt33;
+ CCTK_REAL_VEC JacPDstandardNth2phi;
+ CCTK_REAL_VEC JacPDstandardNth2trK;
+ CCTK_REAL_VEC JacPDstandardNth31alpha;
+ CCTK_REAL_VEC JacPDstandardNth31beta1;
+ CCTK_REAL_VEC JacPDstandardNth31beta2;
+ CCTK_REAL_VEC JacPDstandardNth31beta3;
+ CCTK_REAL_VEC JacPDstandardNth32alpha;
+ CCTK_REAL_VEC JacPDstandardNth32beta1;
+ CCTK_REAL_VEC JacPDstandardNth32beta2;
+ CCTK_REAL_VEC JacPDstandardNth32beta3;
+ CCTK_REAL_VEC JacPDstandardNth33alpha;
+ CCTK_REAL_VEC JacPDstandardNth33beta1;
+ CCTK_REAL_VEC JacPDstandardNth33beta2;
+ CCTK_REAL_VEC JacPDstandardNth33beta3;
+ CCTK_REAL_VEC JacPDstandardNth3alpha;
+ CCTK_REAL_VEC JacPDstandardNth3beta1;
+ CCTK_REAL_VEC JacPDstandardNth3beta2;
+ CCTK_REAL_VEC JacPDstandardNth3beta3;
+ CCTK_REAL_VEC JacPDstandardNth3gt11;
+ CCTK_REAL_VEC JacPDstandardNth3gt12;
+ CCTK_REAL_VEC JacPDstandardNth3gt13;
+ CCTK_REAL_VEC JacPDstandardNth3gt22;
+ CCTK_REAL_VEC JacPDstandardNth3gt23;
+ CCTK_REAL_VEC JacPDstandardNth3gt33;
+ CCTK_REAL_VEC JacPDstandardNth3phi;
+ CCTK_REAL_VEC JacPDstandardNth3trK;
+
+ 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)));
+
+ JacPDstandardNth1gt11 =
+ kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11)));
+
+ JacPDstandardNth1gt12 =
+ kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12)));
+
+ JacPDstandardNth1gt13 =
+ kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13)));
+
+ JacPDstandardNth1gt22 =
+ kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22)));
+
+ JacPDstandardNth1gt23 =
+ kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23)));
+
+ JacPDstandardNth1gt33 =
+ kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33)));
+
+ JacPDstandardNth1phi =
+ kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi)));
+
+ JacPDstandardNth1trK =
+ kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK)));
+
+ 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)));
+
+ JacPDstandardNth2gt11 =
+ kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11)));
+
+ JacPDstandardNth2gt12 =
+ kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12)));
+
+ JacPDstandardNth2gt13 =
+ kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13)));
+
+ JacPDstandardNth2gt22 =
+ kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22)));
+
+ JacPDstandardNth2gt23 =
+ kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23)));
+
+ JacPDstandardNth2gt33 =
+ kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33)));
+
+ JacPDstandardNth2phi =
+ kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi)));
+
+ JacPDstandardNth2trK =
+ kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK)));
+
+ 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)));
+
+ JacPDstandardNth3gt11 =
+ kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11)));
+
+ JacPDstandardNth3gt12 =
+ kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12)));
+
+ JacPDstandardNth3gt13 =
+ kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13)));
+
+ JacPDstandardNth3gt22 =
+ kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22)));
+
+ JacPDstandardNth3gt23 =
+ kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23)));
+
+ JacPDstandardNth3gt33 =
+ kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33)));
+
+ JacPDstandardNth3phi =
+ kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi)));
+
+ JacPDstandardNth3trK =
+ kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK)));
+
+ 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))))))));
+
+ JacPDstandardNth11beta1 =
+ kmadd(dJ111L,PDstandardNth1beta1,kmadd(dJ211L,PDstandardNth2beta1,kmadd(dJ311L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J11L),kmadd(PDstandardNth22beta1,SQR(J21L),kmadd(PDstandardNth33beta1,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1)),kmul(J21L,kmul(J31L,PDstandardNth23beta1))),ToReal(2))))))));
+
+ JacPDstandardNth11beta2 =
+ kmadd(dJ111L,PDstandardNth1beta2,kmadd(dJ211L,PDstandardNth2beta2,kmadd(dJ311L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J11L),kmadd(PDstandardNth22beta2,SQR(J21L),kmadd(PDstandardNth33beta2,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2)),kmul(J21L,kmul(J31L,PDstandardNth23beta2))),ToReal(2))))))));
+
+ JacPDstandardNth11beta3 =
+ kmadd(dJ111L,PDstandardNth1beta3,kmadd(dJ211L,PDstandardNth2beta3,kmadd(dJ311L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J11L),kmadd(PDstandardNth22beta3,SQR(J21L),kmadd(PDstandardNth33beta3,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3)),kmul(J21L,kmul(J31L,PDstandardNth23beta3))),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))))))));
+
+ JacPDstandardNth22beta1 =
+ kmadd(dJ122L,PDstandardNth1beta1,kmadd(dJ222L,PDstandardNth2beta1,kmadd(dJ322L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J12L),kmadd(PDstandardNth22beta1,SQR(J22L),kmadd(PDstandardNth33beta1,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmul(J22L,kmul(J32L,PDstandardNth23beta1))),ToReal(2))))))));
+
+ JacPDstandardNth22beta2 =
+ kmadd(dJ122L,PDstandardNth1beta2,kmadd(dJ222L,PDstandardNth2beta2,kmadd(dJ322L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J12L),kmadd(PDstandardNth22beta2,SQR(J22L),kmadd(PDstandardNth33beta2,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmul(J22L,kmul(J32L,PDstandardNth23beta2))),ToReal(2))))))));
+
+ JacPDstandardNth22beta3 =
+ kmadd(dJ122L,PDstandardNth1beta3,kmadd(dJ222L,PDstandardNth2beta3,kmadd(dJ322L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J12L),kmadd(PDstandardNth22beta3,SQR(J22L),kmadd(PDstandardNth33beta3,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmul(J22L,kmul(J32L,PDstandardNth23beta3))),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))))))));
+
+ JacPDstandardNth33beta1 =
+ kmadd(dJ133L,PDstandardNth1beta1,kmadd(dJ233L,PDstandardNth2beta1,kmadd(dJ333L,PDstandardNth3beta1,kmadd(PDstandardNth11beta1,SQR(J13L),kmadd(PDstandardNth22beta1,SQR(J23L),kmadd(PDstandardNth33beta1,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmul(J23L,kmul(J33L,PDstandardNth23beta1))),ToReal(2))))))));
+
+ JacPDstandardNth33beta2 =
+ kmadd(dJ133L,PDstandardNth1beta2,kmadd(dJ233L,PDstandardNth2beta2,kmadd(dJ333L,PDstandardNth3beta2,kmadd(PDstandardNth11beta2,SQR(J13L),kmadd(PDstandardNth22beta2,SQR(J23L),kmadd(PDstandardNth33beta2,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmul(J23L,kmul(J33L,PDstandardNth23beta2))),ToReal(2))))))));
+
+ JacPDstandardNth33beta3 =
+ kmadd(dJ133L,PDstandardNth1beta3,kmadd(dJ233L,PDstandardNth2beta3,kmadd(dJ333L,PDstandardNth3beta3,kmadd(PDstandardNth11beta3,SQR(J13L),kmadd(PDstandardNth22beta3,SQR(J23L),kmadd(PDstandardNth33beta3,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmul(J23L,kmul(J33L,PDstandardNth23beta3))),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)))))));
+
+ JacPDstandardNth12beta1 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth12beta2 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth12beta3 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3)))))));
+
+ 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)))))));
+
+ JacPDstandardNth13beta1 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth13beta2 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth13beta3 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth21alpha =
+ 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)))))));
+
+ JacPDstandardNth21beta1 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1)),kmadd(dJ112L,PDstandardNth1beta1,kmadd(J22L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ212L,PDstandardNth2beta1,kmadd(J32L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ312L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth21beta2 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2)),kmadd(dJ112L,PDstandardNth1beta2,kmadd(J22L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ212L,PDstandardNth2beta2,kmadd(J32L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ312L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth21beta3 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3)),kmadd(dJ112L,PDstandardNth1beta3,kmadd(J22L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ212L,PDstandardNth2beta3,kmadd(J32L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ312L,PDstandardNth3beta3)))))));
+
+ 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)))))));
+
+ JacPDstandardNth23beta1 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth23beta2 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth23beta3 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth31alpha =
+ 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)))))));
+
+ JacPDstandardNth31beta1 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta1,kmadd(J21L,PDstandardNth12beta1,kmul(J31L,PDstandardNth13beta1))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ113L,PDstandardNth1beta1,kmadd(J23L,kmadd(J21L,PDstandardNth22beta1,kmul(J31L,PDstandardNth23beta1)),kmadd(dJ213L,PDstandardNth2beta1,kmadd(J33L,kmadd(J21L,PDstandardNth23beta1,kmul(J31L,PDstandardNth33beta1)),kmul(dJ313L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth31beta2 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta2,kmadd(J21L,PDstandardNth12beta2,kmul(J31L,PDstandardNth13beta2))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ113L,PDstandardNth1beta2,kmadd(J23L,kmadd(J21L,PDstandardNth22beta2,kmul(J31L,PDstandardNth23beta2)),kmadd(dJ213L,PDstandardNth2beta2,kmadd(J33L,kmadd(J21L,PDstandardNth23beta2,kmul(J31L,PDstandardNth33beta2)),kmul(dJ313L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth31beta3 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11beta3,kmadd(J21L,PDstandardNth12beta3,kmul(J31L,PDstandardNth13beta3))),kmadd(J11L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ113L,PDstandardNth1beta3,kmadd(J23L,kmadd(J21L,PDstandardNth22beta3,kmul(J31L,PDstandardNth23beta3)),kmadd(dJ213L,PDstandardNth2beta3,kmadd(J33L,kmadd(J21L,PDstandardNth23beta3,kmul(J31L,PDstandardNth33beta3)),kmul(dJ313L,PDstandardNth3beta3)))))));
+
+ JacPDstandardNth32alpha =
+ 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)))))));
+
+ JacPDstandardNth32beta1 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta1,kmadd(J22L,PDstandardNth12beta1,kmul(J32L,PDstandardNth13beta1))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta1,kmul(J33L,PDstandardNth13beta1)),kmadd(dJ123L,PDstandardNth1beta1,kmadd(J23L,kmadd(J22L,PDstandardNth22beta1,kmul(J32L,PDstandardNth23beta1)),kmadd(dJ223L,PDstandardNth2beta1,kmadd(J33L,kmadd(J22L,PDstandardNth23beta1,kmul(J32L,PDstandardNth33beta1)),kmul(dJ323L,PDstandardNth3beta1)))))));
+
+ JacPDstandardNth32beta2 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta2,kmadd(J22L,PDstandardNth12beta2,kmul(J32L,PDstandardNth13beta2))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta2,kmul(J33L,PDstandardNth13beta2)),kmadd(dJ123L,PDstandardNth1beta2,kmadd(J23L,kmadd(J22L,PDstandardNth22beta2,kmul(J32L,PDstandardNth23beta2)),kmadd(dJ223L,PDstandardNth2beta2,kmadd(J33L,kmadd(J22L,PDstandardNth23beta2,kmul(J32L,PDstandardNth33beta2)),kmul(dJ323L,PDstandardNth3beta2)))))));
+
+ JacPDstandardNth32beta3 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11beta3,kmadd(J22L,PDstandardNth12beta3,kmul(J32L,PDstandardNth13beta3))),kmadd(J12L,kmadd(J23L,PDstandardNth12beta3,kmul(J33L,PDstandardNth13beta3)),kmadd(dJ123L,PDstandardNth1beta3,kmadd(J23L,kmadd(J22L,PDstandardNth22beta3,kmul(J32L,PDstandardNth23beta3)),kmadd(dJ223L,PDstandardNth2beta3,kmadd(J33L,kmadd(J22L,PDstandardNth23beta3,kmul(J32L,PDstandardNth33beta3)),kmul(dJ323L,PDstandardNth3beta3)))))));
+ }
+ else
+ {
+ JacPDstandardNth1alpha = PDstandardNth1alpha;
+
+ JacPDstandardNth1beta1 = PDstandardNth1beta1;
+
+ JacPDstandardNth1beta2 = PDstandardNth1beta2;
+
+ JacPDstandardNth1beta3 = PDstandardNth1beta3;
+
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1trK = PDstandardNth1trK;
+
+ JacPDstandardNth2alpha = PDstandardNth2alpha;
+
+ JacPDstandardNth2beta1 = PDstandardNth2beta1;
+
+ JacPDstandardNth2beta2 = PDstandardNth2beta2;
+
+ JacPDstandardNth2beta3 = PDstandardNth2beta3;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2trK = PDstandardNth2trK;
+
+ JacPDstandardNth3alpha = PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = PDstandardNth3beta3;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3trK = PDstandardNth3trK;
+
+ JacPDstandardNth11alpha = PDstandardNth11alpha;
+
+ JacPDstandardNth11beta1 = PDstandardNth11beta1;
+
+ JacPDstandardNth11beta2 = PDstandardNth11beta2;
+
+ JacPDstandardNth11beta3 = PDstandardNth11beta3;
+
+ JacPDstandardNth22alpha = PDstandardNth22alpha;
+
+ JacPDstandardNth22beta1 = PDstandardNth22beta1;
+
+ JacPDstandardNth22beta2 = PDstandardNth22beta2;
+
+ JacPDstandardNth22beta3 = PDstandardNth22beta3;
+
+ JacPDstandardNth33alpha = PDstandardNth33alpha;
+
+ JacPDstandardNth33beta1 = PDstandardNth33beta1;
+
+ JacPDstandardNth33beta2 = PDstandardNth33beta2;
+
+ JacPDstandardNth33beta3 = PDstandardNth33beta3;
+
+ JacPDstandardNth12alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth12beta1 = PDstandardNth12beta1;
+
+ JacPDstandardNth12beta2 = PDstandardNth12beta2;
+
+ JacPDstandardNth12beta3 = PDstandardNth12beta3;
+
+ JacPDstandardNth13alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth13beta1 = PDstandardNth13beta1;
+
+ JacPDstandardNth13beta2 = PDstandardNth13beta2;
+
+ JacPDstandardNth13beta3 = PDstandardNth13beta3;
+
+ JacPDstandardNth21alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth21beta1 = PDstandardNth12beta1;
+
+ JacPDstandardNth21beta2 = PDstandardNth12beta2;
+
+ JacPDstandardNth21beta3 = PDstandardNth12beta3;
+
+ JacPDstandardNth23alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth23beta1 = PDstandardNth23beta1;
+
+ JacPDstandardNth23beta2 = PDstandardNth23beta2;
+
+ JacPDstandardNth23beta3 = PDstandardNth23beta3;
+
+ JacPDstandardNth31alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth31beta1 = PDstandardNth13beta1;
+
+ JacPDstandardNth31beta2 = PDstandardNth13beta2;
+
+ JacPDstandardNth31beta3 = PDstandardNth13beta3;
+
+ JacPDstandardNth32alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth32beta1 = PDstandardNth23beta1;
+
+ JacPDstandardNth32beta2 = PDstandardNth23beta2;
+
+ JacPDstandardNth32beta3 = PDstandardNth23beta3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -278,50 +1126,50 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
- CCTK_REAL_VEC Gtl111 = kmul(PDstandardNth1gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl112 = kmul(PDstandardNth2gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl112 = kmul(JacPDstandardNth2gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl113 = kmul(PDstandardNth3gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl113 = kmul(JacPDstandardNth3gt11,ToReal(0.5));
CCTK_REAL_VEC Gtl122 =
- kmadd(PDstandardNth1gt22,ToReal(-0.5),PDstandardNth2gt12);
+ kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
CCTK_REAL_VEC Gtl123 =
- kmul(kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
CCTK_REAL_VEC Gtl133 =
- kmadd(PDstandardNth1gt33,ToReal(-0.5),PDstandardNth3gt13);
+ kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
CCTK_REAL_VEC Gtl211 =
- kmadd(PDstandardNth2gt11,ToReal(-0.5),PDstandardNth1gt12);
+ kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12);
- CCTK_REAL_VEC Gtl212 = kmul(PDstandardNth1gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl212 = kmul(JacPDstandardNth1gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl213 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
- CCTK_REAL_VEC Gtl222 = kmul(PDstandardNth2gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5));
- CCTK_REAL_VEC Gtl223 = kmul(PDstandardNth3gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl223 = kmul(JacPDstandardNth3gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl233 =
- kmadd(PDstandardNth2gt33,ToReal(-0.5),PDstandardNth3gt23);
+ kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23);
CCTK_REAL_VEC Gtl311 =
- kmadd(PDstandardNth3gt11,ToReal(-0.5),PDstandardNth1gt13);
+ kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
CCTK_REAL_VEC Gtl312 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
- CCTK_REAL_VEC Gtl313 = kmul(PDstandardNth1gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5));
CCTK_REAL_VEC Gtl322 =
- kmadd(PDstandardNth3gt22,ToReal(-0.5),PDstandardNth2gt23);
+ kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23);
- CCTK_REAL_VEC Gtl323 = kmul(PDstandardNth2gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl323 = kmul(JacPDstandardNth2gt33,ToReal(0.5));
- CCTK_REAL_VEC Gtl333 = kmul(PDstandardNth3gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl333 = kmul(JacPDstandardNth3gt33,ToReal(0.5));
CCTK_REAL_VEC Gt111 =
kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13)));
@@ -389,11 +1237,11 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC fac1 =
IfThen(conformalMethod,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
- CCTK_REAL_VEC cdphi1 = kmul(fac1,PDstandardNth1phi);
+ CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
- CCTK_REAL_VEC cdphi2 = kmul(fac1,PDstandardNth2phi);
+ CCTK_REAL_VEC cdphi2 = kmul(fac1,JacPDstandardNth2phi);
- CCTK_REAL_VEC cdphi3 = kmul(fac1,PDstandardNth3phi);
+ CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC Atm11 =
kmadd(At11L,gtu11,kmadd(At12L,gtu12,kmul(At13L,gtu13)));
@@ -461,34 +1309,34 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2))))));
CCTK_REAL_VEC phirhsL =
- IfThen(conformalMethod,kmul(phiL,kmadd(kadd(PDstandardNth1beta1,kadd(PDstandardNth2beta2,PDstandardNth3beta3)),ToReal(-0.333333333333333333333333333333),kmul(alphaL,kmul(trKL,ToReal(0.333333333333333333333333333333))))),kmadd(alphaL,kmul(trKL,ToReal(-0.166666666666666666666666666667)),kmul(kadd(PDstandardNth1beta1,kadd(PDstandardNth2beta2,PDstandardNth3beta3)),ToReal(0.166666666666666666666666666667))));
+ IfThen(conformalMethod,kmul(phiL,kmadd(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(-0.333333333333333333333333333333),kmul(alphaL,kmul(trKL,ToReal(0.333333333333333333333333333333))))),kmadd(alphaL,kmul(trKL,ToReal(-0.166666666666666666666666666667)),kmul(kadd(JacPDstandardNth1beta1,kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3)),ToReal(0.166666666666666666666666666667))));
CCTK_REAL_VEC gt11rhsL =
- kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,PDstandardNth1beta2,kmul(gt13L,PDstandardNth1beta3)),ToReal(-3),kmadd(gt11L,kadd(PDstandardNth2beta2,kmadd(PDstandardNth1beta1,ToReal(-2),PDstandardNth3beta3)),kmul(alphaL,kmul(At11L,ToReal(3))))));
+ kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,JacPDstandardNth1beta2,kmul(gt13L,JacPDstandardNth1beta3)),ToReal(-3),kmadd(gt11L,kadd(JacPDstandardNth2beta2,kmadd(JacPDstandardNth1beta1,ToReal(-2),JacPDstandardNth3beta3)),kmul(alphaL,kmul(At11L,ToReal(3))))));
CCTK_REAL_VEC gt12rhsL =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At12L,ToReal(-6)),kmadd(gt12L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth3beta3,ToReal(-2),PDstandardNth2beta2)),kmul(kmadd(gt22L,PDstandardNth1beta2,kmadd(gt23L,PDstandardNth1beta3,kmadd(gt11L,PDstandardNth2beta1,kmul(gt13L,PDstandardNth2beta3)))),ToReal(3)))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At12L,ToReal(-6)),kmadd(gt12L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmul(kmadd(gt22L,JacPDstandardNth1beta2,kmadd(gt23L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth2beta1,kmul(gt13L,JacPDstandardNth2beta3)))),ToReal(3)))));
CCTK_REAL_VEC gt13rhsL =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At13L,ToReal(-6)),kmadd(gt13L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth2beta2,ToReal(-2),PDstandardNth3beta3)),kmul(kmadd(gt23L,PDstandardNth1beta2,kmadd(gt33L,PDstandardNth1beta3,kmadd(gt11L,PDstandardNth3beta1,kmul(gt12L,PDstandardNth3beta2)))),ToReal(3)))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At13L,ToReal(-6)),kmadd(gt13L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth2beta2,ToReal(-2),JacPDstandardNth3beta3)),kmul(kmadd(gt23L,JacPDstandardNth1beta2,kmadd(gt33L,JacPDstandardNth1beta3,kmadd(gt11L,JacPDstandardNth3beta1,kmul(gt12L,JacPDstandardNth3beta2)))),ToReal(3)))));
CCTK_REAL_VEC gt22rhsL =
- kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,PDstandardNth2beta1,kmul(gt23L,PDstandardNth2beta3)),ToReal(-3),kmadd(gt22L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth2beta2,ToReal(-2),PDstandardNth3beta3)),kmul(alphaL,kmul(At22L,ToReal(3))))));
+ kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt12L,JacPDstandardNth2beta1,kmul(gt23L,JacPDstandardNth2beta3)),ToReal(-3),kmadd(gt22L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth2beta2,ToReal(-2),JacPDstandardNth3beta3)),kmul(alphaL,kmul(At22L,ToReal(3))))));
CCTK_REAL_VEC gt23rhsL =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At23L,ToReal(-6)),kmadd(gt23L,kadd(PDstandardNth2beta2,kmadd(PDstandardNth1beta1,ToReal(-2),PDstandardNth3beta3)),kmul(kmadd(gt13L,PDstandardNth2beta1,kmadd(gt33L,PDstandardNth2beta3,kmadd(gt12L,PDstandardNth3beta1,kmul(gt22L,PDstandardNth3beta2)))),ToReal(3)))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(alphaL,kmul(At23L,ToReal(-6)),kmadd(gt23L,kadd(JacPDstandardNth2beta2,kmadd(JacPDstandardNth1beta1,ToReal(-2),JacPDstandardNth3beta3)),kmul(kmadd(gt13L,JacPDstandardNth2beta1,kmadd(gt33L,JacPDstandardNth2beta3,kmadd(gt12L,JacPDstandardNth3beta1,kmul(gt22L,JacPDstandardNth3beta2)))),ToReal(3)))));
CCTK_REAL_VEC gt33rhsL =
- kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt13L,PDstandardNth3beta1,kmul(gt23L,PDstandardNth3beta2)),ToReal(-3),kmadd(gt33L,kadd(PDstandardNth1beta1,kmadd(PDstandardNth3beta3,ToReal(-2),PDstandardNth2beta2)),kmul(alphaL,kmul(At33L,ToReal(3))))));
+ kmul(ToReal(-0.666666666666666666666666666667),kmadd(kmadd(gt13L,JacPDstandardNth3beta1,kmul(gt23L,JacPDstandardNth3beta2)),ToReal(-3),kmadd(gt33L,kadd(JacPDstandardNth1beta1,kmadd(JacPDstandardNth3beta3,ToReal(-2),JacPDstandardNth2beta2)),kmul(alphaL,kmul(At33L,ToReal(3))))));
CCTK_REAL_VEC dotXt1 =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(gtu12,kadd(PDstandardNth22beta2,kmadd(alphaL,kmul(S2,ToReal(-150.7964473723100754462068823974161384415)),PDstandardNth23beta3)),kmadd(gtu13,kadd(PDstandardNth23beta2,kmadd(alphaL,kmul(S3,ToReal(-150.7964473723100754462068823974161384415)),PDstandardNth33beta3)),kmadd(kmadd(Atu11,PDstandardNth1alpha,kmadd(Atu12,PDstandardNth2alpha,kmul(Atu13,PDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(PDstandardNth2beta1,Xtn2,kmul(PDstandardNth3beta1,Xtn3)),ToReal(-3),kmadd(Xtn1,kmsub(PDstandardNth3beta3,ToReal(2),PDstandardNth1beta1),kmadd(kmadd(gtu22,PDstandardNth22beta1,kmul(gtu33,PDstandardNth33beta1)),ToReal(3),kmadd(gtu11,kadd(PDstandardNth12beta2,kadd(PDstandardNth13beta3,kmadd(alphaL,kmul(S1,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth11beta1,ToReal(4))))),kmadd(gtu23,kmul(PDstandardNth23beta1,ToReal(6)),kmadd(kmadd(gtu12,PDstandardNth12beta1,kmul(gtu13,PDstandardNth13beta1)),ToReal(7),kmul(ToReal(2),kmadd(PDstandardNth2beta2,Xtn1,kmul(alphaL,kmadd(kmadd(gtu11,PDstandardNth1trK,kmadd(gtu12,PDstandardNth2trK,kmul(gtu13,PDstandardNth3trK))),ToReal(-2),kmadd(kmadd(Atu11,Gt111,kmadd(Atu22,Gt122,kmul(Atu33,Gt133))),ToReal(3),kmadd(kmadd(Atu12,Gt112,kmadd(Atu13,Gt113,kmul(Atu23,Gt123))),ToReal(6),kmul(kmadd(Atu11,cdphi1,kmadd(Atu12,cdphi2,kmul(Atu13,cdphi3))),ToReal(18))))))))))))))))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu11,JacPDstandardNth1alpha,kmadd(Atu12,JacPDstandardNth2alpha,kmul(Atu13,JacPDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(JacPDstandardNth2beta1,Xtn2,kmul(JacPDstandardNth3beta1,Xtn3)),ToReal(-3),kmadd(Xtn1,kmsub(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth1beta1),kmadd(kmadd(gtu12,JacPDstandardNth12beta1,kmadd(gtu13,JacPDstandardNth13beta1,kmadd(gtu22,JacPDstandardNth22beta1,kmadd(gtu23,kadd(JacPDstandardNth23beta1,JacPDstandardNth32beta1),kmul(gtu33,JacPDstandardNth33beta1))))),ToReal(3),kmadd(gtu11,kadd(JacPDstandardNth12beta2,kmadd(JacPDstandardNth11beta1,ToReal(4),JacPDstandardNth13beta3)),kmadd(gtu12,kadd(JacPDstandardNth22beta2,kmadd(JacPDstandardNth21beta1,ToReal(4),JacPDstandardNth23beta3)),kmadd(gtu13,kadd(JacPDstandardNth32beta2,kmadd(JacPDstandardNth31beta1,ToReal(4),JacPDstandardNth33beta3)),kmul(alphaL,kmadd(kmadd(gtu11,S1,kmadd(gtu12,S2,kmul(gtu13,S3))),ToReal(-150.7964473723100754462068823974161384415),kmadd(kmadd(gtu11,JacPDstandardNth1trK,kmadd(gtu12,JacPDstandardNth2trK,kmul(gtu13,JacPDstandardNth3trK))),ToReal(-4),kmadd(ToReal(6),kmadd(Atu22,Gt122,kmadd(Atu33,Gt133,kmul(Atu11,kmadd(cdphi1,ToReal(6),Gt111)))),kmadd(kmadd(Atu23,Gt123,kmul(Atu12,kmadd(cdphi2,ToReal(3),Gt112))),ToReal(12),kmul(Atu13,kmadd(Gt113,ToReal(12),kmul(cdphi3,ToReal(36)))))))))))))))));
CCTK_REAL_VEC dotXt2 =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu12,PDstandardNth1alpha,kmadd(Atu22,PDstandardNth2alpha,kmul(Atu23,PDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(PDstandardNth1beta2,Xtn1,kmul(PDstandardNth3beta2,Xtn3)),ToReal(-3),kmadd(Xtn2,kmsub(PDstandardNth3beta3,ToReal(2),PDstandardNth2beta2),kmadd(kmadd(gtu11,PDstandardNth11beta2,kmul(gtu33,PDstandardNth33beta2)),ToReal(3),kmadd(gtu22,kadd(PDstandardNth12beta1,kadd(PDstandardNth23beta3,kmadd(alphaL,kmul(S2,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth22beta2,ToReal(4))))),kmadd(gtu13,kmul(PDstandardNth13beta2,ToReal(6)),kmadd(gtu12,kadd(PDstandardNth11beta1,kadd(PDstandardNth13beta3,kmadd(alphaL,kmul(S1,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth12beta2,ToReal(7))))),kmadd(gtu23,kadd(PDstandardNth13beta1,kadd(PDstandardNth33beta3,kmadd(alphaL,kmul(S3,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth23beta2,ToReal(7))))),kmul(ToReal(2),kmadd(PDstandardNth1beta1,Xtn2,kmul(alphaL,kmadd(kmadd(gtu12,PDstandardNth1trK,kmadd(gtu22,PDstandardNth2trK,kmul(gtu23,PDstandardNth3trK))),ToReal(-2),kmadd(kmadd(Atu11,Gt211,kmadd(Atu22,Gt222,kmul(Atu33,Gt233))),ToReal(3),kmadd(kmadd(Atu12,Gt212,kmadd(Atu13,Gt213,kmul(Atu23,Gt223))),ToReal(6),kmul(kmadd(Atu12,cdphi1,kmadd(Atu22,cdphi2,kmul(Atu23,cdphi3))),ToReal(18)))))))))))))))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu12,JacPDstandardNth1alpha,kmadd(Atu22,JacPDstandardNth2alpha,kmul(Atu23,JacPDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(JacPDstandardNth1beta2,Xtn1,kmul(JacPDstandardNth3beta2,Xtn3)),ToReal(-3),kmadd(Xtn2,kmsub(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(2),JacPDstandardNth2beta2),kmadd(kmadd(gtu11,JacPDstandardNth11beta2,kmadd(gtu23,JacPDstandardNth23beta2,kmadd(gtu13,kadd(JacPDstandardNth13beta2,JacPDstandardNth31beta2),kmul(gtu33,JacPDstandardNth33beta2)))),ToReal(3),kmadd(gtu12,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth13beta3,kmadd(JacPDstandardNth21beta2,ToReal(3),kmul(JacPDstandardNth12beta2,ToReal(4))))),kmadd(gtu22,kadd(JacPDstandardNth21beta1,kmadd(JacPDstandardNth22beta2,ToReal(4),JacPDstandardNth23beta3)),kmadd(gtu23,kadd(JacPDstandardNth31beta1,kmadd(JacPDstandardNth32beta2,ToReal(4),JacPDstandardNth33beta3)),kmul(alphaL,kmadd(kmadd(gtu12,S1,kmadd(gtu22,S2,kmul(gtu23,S3))),ToReal(-150.7964473723100754462068823974161384415),kmadd(kmadd(gtu12,JacPDstandardNth1trK,kmadd(gtu22,JacPDstandardNth2trK,kmul(gtu23,JacPDstandardNth3trK))),ToReal(-4),kmadd(ToReal(6),kmadd(Atu11,Gt211,kmadd(Atu33,Gt233,kmul(Atu22,kmadd(cdphi2,ToReal(6),Gt222)))),kmadd(kmadd(Atu13,Gt213,kmul(Atu12,kmadd(cdphi1,ToReal(3),Gt212))),ToReal(12),kmul(Atu23,kmadd(Gt223,ToReal(12),kmul(cdphi3,ToReal(36)))))))))))))))));
CCTK_REAL_VEC dotXt3 =
- kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu13,PDstandardNth1alpha,kmadd(Atu23,PDstandardNth2alpha,kmul(Atu33,PDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(PDstandardNth1beta3,Xtn1,kmul(PDstandardNth2beta3,Xtn2)),ToReal(-3),kmadd(Xtn3,kmsub(PDstandardNth2beta2,ToReal(2),PDstandardNth3beta3),kmadd(kmadd(gtu11,PDstandardNth11beta3,kmul(gtu22,PDstandardNth22beta3)),ToReal(3),kmadd(gtu33,kadd(PDstandardNth13beta1,kadd(PDstandardNth23beta2,kmadd(alphaL,kmul(S3,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth33beta3,ToReal(4))))),kmadd(gtu12,kmul(PDstandardNth12beta3,ToReal(6)),kmadd(gtu13,kadd(PDstandardNth11beta1,kadd(PDstandardNth12beta2,kmadd(alphaL,kmul(S1,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth13beta3,ToReal(7))))),kmadd(gtu23,kadd(PDstandardNth12beta1,kadd(PDstandardNth22beta2,kmadd(alphaL,kmul(S2,ToReal(-150.7964473723100754462068823974161384415)),kmul(PDstandardNth23beta3,ToReal(7))))),kmul(ToReal(2),kmadd(PDstandardNth1beta1,Xtn3,kmul(alphaL,kmadd(kmadd(gtu13,PDstandardNth1trK,kmadd(gtu23,PDstandardNth2trK,kmul(gtu33,PDstandardNth3trK))),ToReal(-2),kmadd(kmadd(Atu11,Gt311,kmadd(Atu22,Gt322,kmul(Atu33,Gt333))),ToReal(3),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,Gt313,kmul(Atu23,Gt323))),ToReal(6),kmul(kmadd(Atu13,cdphi1,kmadd(Atu23,cdphi2,kmul(Atu33,cdphi3))),ToReal(18)))))))))))))))));
+ kmul(ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atu13,JacPDstandardNth1alpha,kmadd(Atu23,JacPDstandardNth2alpha,kmul(Atu33,JacPDstandardNth3alpha))),ToReal(-6),kmadd(kmadd(JacPDstandardNth1beta3,Xtn1,kmul(JacPDstandardNth2beta3,Xtn2)),ToReal(-3),kmadd(Xtn3,kmsub(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),ToReal(2),JacPDstandardNth3beta3),kmadd(kmadd(gtu11,JacPDstandardNth11beta3,kmadd(gtu12,kadd(JacPDstandardNth12beta3,JacPDstandardNth21beta3),kmadd(gtu22,JacPDstandardNth22beta3,kmul(gtu23,JacPDstandardNth32beta3)))),ToReal(3),kmadd(gtu13,kadd(JacPDstandardNth11beta1,kadd(JacPDstandardNth12beta2,kmadd(JacPDstandardNth31beta3,ToReal(3),kmul(JacPDstandardNth13beta3,ToReal(4))))),kmadd(gtu23,kadd(JacPDstandardNth21beta1,kmadd(JacPDstandardNth23beta3,ToReal(4),JacPDstandardNth22beta2)),kmadd(gtu33,kadd(JacPDstandardNth31beta1,kmadd(JacPDstandardNth33beta3,ToReal(4),JacPDstandardNth32beta2)),kmul(alphaL,kmadd(kmadd(gtu13,S1,kmadd(gtu23,S2,kmul(gtu33,S3))),ToReal(-150.7964473723100754462068823974161384415),kmadd(kmadd(gtu13,JacPDstandardNth1trK,kmadd(gtu23,JacPDstandardNth2trK,kmul(gtu33,JacPDstandardNth3trK))),ToReal(-4),kmadd(kmadd(Atu11,Gt311,kmul(Atu22,Gt322)),ToReal(6),kmadd(kmadd(Atu12,Gt312,kmadd(Atu13,kmadd(cdphi1,ToReal(3),Gt313),kmul(Atu23,kmadd(cdphi2,ToReal(3),Gt323)))),ToReal(12),kmul(Atu33,kmadd(Gt333,ToReal(6),kmul(cdphi3,ToReal(36)))))))))))))))));
CCTK_REAL_VEC Xt1rhsL = dotXt1;
@@ -497,7 +1345,7 @@ static void ML_BSSN_RHS1_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC Xt3rhsL = dotXt3;
CCTK_REAL_VEC dottrK =
- kmsub(alphaL,kadd(SQR(Atm11),kadd(SQR(Atm22),kadd(SQR(Atm33),kmadd(SQR(trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2),kmul(kadd(rho,trS),ToReal(12.56637061435917295385057353311801153679))))))),kmul(em4phi,kmadd(gtu11,PDstandardNth11alpha,kmadd(gtu22,PDstandardNth22alpha,knmsub(PDstandardNth3alpha,Xtn3,kmadd(kmadd(gtu12,PDstandardNth12alpha,kmadd(gtu13,kmadd(cdphi1,PDstandardNth3alpha,PDstandardNth13alpha),kmul(gtu23,kmadd(cdphi2,PDstandardNth3alpha,PDstandardNth23alpha)))),ToReal(2),kmadd(PDstandardNth1alpha,kmsub(kmadd(cdphi1,gtu11,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13))),ToReal(2),Xtn1),kmadd(PDstandardNth2alpha,kmsub(kmadd(cdphi1,gtu12,kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23))),ToReal(2),Xtn2),kmul(gtu33,kmadd(cdphi3,kmul(PDstandardNth3alpha,ToReal(2)),PDstandardNth33alpha))))))))));
+ kmsub(alphaL,kadd(SQR(Atm11),kadd(SQR(Atm22),kadd(SQR(Atm33),kmadd(SQR(trKL),ToReal(0.333333333333333333333333333333),kmadd(kmadd(Atm12,Atm21,kmadd(Atm13,Atm31,kmul(Atm23,Atm32))),ToReal(2),kmul(kadd(rho,trS),ToReal(12.56637061435917295385057353311801153679))))))),kmul(em4phi,knmsub(JacPDstandardNth1alpha,Xtn1,knmsub(JacPDstandardNth2alpha,Xtn2,knmsub(JacPDstandardNth3alpha,Xtn3,kmadd(gtu11,kmadd(cdphi1,kmul(JacPDstandardNth1alpha,ToReal(2)),JacPDstandardNth11alpha),kmadd(gtu12,kadd(JacPDstandardNth12alpha,kadd(JacPDstandardNth21alpha,kmadd(cdphi2,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth2alpha,ToReal(2)))))),kmadd(gtu22,kmadd(cdphi2,kmul(JacPDstandardNth2alpha,ToReal(2)),JacPDstandardNth22alpha),kmadd(gtu13,kadd(JacPDstandardNth13alpha,kadd(JacPDstandardNth31alpha,kmadd(cdphi3,kmul(JacPDstandardNth1alpha,ToReal(2)),kmul(cdphi1,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmadd(gtu23,kadd(JacPDstandardNth23alpha,kadd(JacPDstandardNth32alpha,kmadd(cdphi3,kmul(JacPDstandardNth2alpha,ToReal(2)),kmul(cdphi2,kmul(JacPDstandardNth3alpha,ToReal(2)))))),kmul(gtu33,kmadd(cdphi3,kmul(JacPDstandardNth3alpha,ToReal(2)),JacPDstandardNth33alpha))))))))))));
CCTK_REAL_VEC trKrhsL = dottrK;
diff --git a/ML_BSSN/src/ML_BSSN_RHS2.cc b/ML_BSSN/src/ML_BSSN_RHS2.cc
index 8710f4b..6015743 100644
--- a/ML_BSSN/src/ML_BSSN_RHS2.cc
+++ b/ML_BSSN/src/ML_BSSN_RHS2.cc
@@ -55,7 +55,24 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_curvrhs","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHS2", 8, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_RHS2", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -83,24 +100,129 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -156,101 +278,1163 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
eTzzL = ToReal(0.0);
}
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDstandardNth1alpha = PDstandardNth1(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth2alpha = PDstandardNth2(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth3alpha = PDstandardNth3(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth11alpha = PDstandardNth11(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth22alpha = PDstandardNth22(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth33alpha = PDstandardNth33(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth12alpha = PDstandardNth12(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth13alpha = PDstandardNth13(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth23alpha = PDstandardNth23(&alpha[index]);
- CCTK_REAL_VEC const PDstandardNth1beta1 = PDstandardNth1(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth2beta1 = PDstandardNth2(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth3beta1 = PDstandardNth3(&beta1[index]);
- CCTK_REAL_VEC const PDstandardNth1beta2 = PDstandardNth1(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth2beta2 = PDstandardNth2(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth3beta2 = PDstandardNth3(&beta2[index]);
- CCTK_REAL_VEC const PDstandardNth1beta3 = PDstandardNth1(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth2beta3 = PDstandardNth2(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth3beta3 = PDstandardNth3(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth11gt11 = PDstandardNth11(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth22gt11 = PDstandardNth22(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth33gt11 = PDstandardNth33(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth12gt11 = PDstandardNth12(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth13gt11 = PDstandardNth13(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth23gt11 = PDstandardNth23(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth11gt12 = PDstandardNth11(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth22gt12 = PDstandardNth22(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth33gt12 = PDstandardNth33(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth12gt12 = PDstandardNth12(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth13gt12 = PDstandardNth13(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth23gt12 = PDstandardNth23(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth11gt13 = PDstandardNth11(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth22gt13 = PDstandardNth22(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth33gt13 = PDstandardNth33(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth12gt13 = PDstandardNth12(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth13gt13 = PDstandardNth13(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth23gt13 = PDstandardNth23(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth11gt22 = PDstandardNth11(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth22gt22 = PDstandardNth22(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth33gt22 = PDstandardNth33(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth12gt22 = PDstandardNth12(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth13gt22 = PDstandardNth13(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth23gt22 = PDstandardNth23(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth11gt23 = PDstandardNth11(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth22gt23 = PDstandardNth22(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth33gt23 = PDstandardNth33(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth12gt23 = PDstandardNth12(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth13gt23 = PDstandardNth13(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth23gt23 = PDstandardNth23(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth11gt33 = PDstandardNth11(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth22gt33 = PDstandardNth22(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth33gt33 = PDstandardNth33(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth12gt33 = PDstandardNth12(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth13gt33 = PDstandardNth13(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth23gt33 = PDstandardNth23(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth1phi = PDstandardNth1(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth2phi = PDstandardNth2(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth3phi = PDstandardNth3(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth11phi = PDstandardNth11(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth22phi = PDstandardNth22(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth33phi = PDstandardNth33(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth12phi = PDstandardNth12(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth13phi = PDstandardNth13(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth23phi = PDstandardNth23(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth1Xt1 = PDstandardNth1(&Xt1[index]);
- CCTK_REAL_VEC const PDstandardNth2Xt1 = PDstandardNth2(&Xt1[index]);
- CCTK_REAL_VEC const PDstandardNth3Xt1 = PDstandardNth3(&Xt1[index]);
- CCTK_REAL_VEC const PDstandardNth1Xt2 = PDstandardNth1(&Xt2[index]);
- CCTK_REAL_VEC const PDstandardNth2Xt2 = PDstandardNth2(&Xt2[index]);
- CCTK_REAL_VEC const PDstandardNth3Xt2 = PDstandardNth3(&Xt2[index]);
- CCTK_REAL_VEC const PDstandardNth1Xt3 = PDstandardNth1(&Xt3[index]);
- CCTK_REAL_VEC const PDstandardNth2Xt3 = PDstandardNth2(&Xt3[index]);
- CCTK_REAL_VEC const PDstandardNth3Xt3 = PDstandardNth3(&Xt3[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 PDstandardNth1gt11;
+ CCTK_REAL_VEC PDstandardNth2gt11;
+ CCTK_REAL_VEC PDstandardNth3gt11;
+ CCTK_REAL_VEC PDstandardNth11gt11;
+ CCTK_REAL_VEC PDstandardNth22gt11;
+ CCTK_REAL_VEC PDstandardNth33gt11;
+ CCTK_REAL_VEC PDstandardNth12gt11;
+ CCTK_REAL_VEC PDstandardNth13gt11;
+ CCTK_REAL_VEC PDstandardNth23gt11;
+ CCTK_REAL_VEC PDstandardNth1gt12;
+ CCTK_REAL_VEC PDstandardNth2gt12;
+ CCTK_REAL_VEC PDstandardNth3gt12;
+ CCTK_REAL_VEC PDstandardNth11gt12;
+ CCTK_REAL_VEC PDstandardNth22gt12;
+ CCTK_REAL_VEC PDstandardNth33gt12;
+ CCTK_REAL_VEC PDstandardNth12gt12;
+ CCTK_REAL_VEC PDstandardNth13gt12;
+ CCTK_REAL_VEC PDstandardNth23gt12;
+ CCTK_REAL_VEC PDstandardNth1gt13;
+ CCTK_REAL_VEC PDstandardNth2gt13;
+ CCTK_REAL_VEC PDstandardNth3gt13;
+ CCTK_REAL_VEC PDstandardNth11gt13;
+ CCTK_REAL_VEC PDstandardNth22gt13;
+ CCTK_REAL_VEC PDstandardNth33gt13;
+ CCTK_REAL_VEC PDstandardNth12gt13;
+ CCTK_REAL_VEC PDstandardNth13gt13;
+ CCTK_REAL_VEC PDstandardNth23gt13;
+ CCTK_REAL_VEC PDstandardNth1gt22;
+ CCTK_REAL_VEC PDstandardNth2gt22;
+ CCTK_REAL_VEC PDstandardNth3gt22;
+ CCTK_REAL_VEC PDstandardNth11gt22;
+ CCTK_REAL_VEC PDstandardNth22gt22;
+ CCTK_REAL_VEC PDstandardNth33gt22;
+ CCTK_REAL_VEC PDstandardNth12gt22;
+ CCTK_REAL_VEC PDstandardNth13gt22;
+ CCTK_REAL_VEC PDstandardNth23gt22;
+ CCTK_REAL_VEC PDstandardNth1gt23;
+ CCTK_REAL_VEC PDstandardNth2gt23;
+ CCTK_REAL_VEC PDstandardNth3gt23;
+ CCTK_REAL_VEC PDstandardNth11gt23;
+ CCTK_REAL_VEC PDstandardNth22gt23;
+ CCTK_REAL_VEC PDstandardNth33gt23;
+ CCTK_REAL_VEC PDstandardNth12gt23;
+ CCTK_REAL_VEC PDstandardNth13gt23;
+ CCTK_REAL_VEC PDstandardNth23gt23;
+ CCTK_REAL_VEC PDstandardNth1gt33;
+ CCTK_REAL_VEC PDstandardNth2gt33;
+ CCTK_REAL_VEC PDstandardNth3gt33;
+ CCTK_REAL_VEC PDstandardNth11gt33;
+ CCTK_REAL_VEC PDstandardNth22gt33;
+ CCTK_REAL_VEC PDstandardNth33gt33;
+ CCTK_REAL_VEC PDstandardNth12gt33;
+ CCTK_REAL_VEC PDstandardNth13gt33;
+ CCTK_REAL_VEC PDstandardNth23gt33;
+ CCTK_REAL_VEC PDstandardNth1phi;
+ CCTK_REAL_VEC PDstandardNth2phi;
+ CCTK_REAL_VEC PDstandardNth3phi;
+ CCTK_REAL_VEC PDstandardNth11phi;
+ CCTK_REAL_VEC PDstandardNth22phi;
+ CCTK_REAL_VEC PDstandardNth33phi;
+ CCTK_REAL_VEC PDstandardNth12phi;
+ CCTK_REAL_VEC PDstandardNth13phi;
+ CCTK_REAL_VEC PDstandardNth23phi;
+ CCTK_REAL_VEC PDstandardNth1Xt1;
+ CCTK_REAL_VEC PDstandardNth2Xt1;
+ CCTK_REAL_VEC PDstandardNth3Xt1;
+ CCTK_REAL_VEC PDstandardNth1Xt2;
+ CCTK_REAL_VEC PDstandardNth2Xt2;
+ CCTK_REAL_VEC PDstandardNth3Xt2;
+ CCTK_REAL_VEC PDstandardNth1Xt3;
+ CCTK_REAL_VEC PDstandardNth2Xt3;
+ CCTK_REAL_VEC PDstandardNth3Xt3;
+
+ 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]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder211(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder222(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder233(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder212(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder213(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder223(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder211(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder222(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder233(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder212(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder213(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder223(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder211(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder222(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder233(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder212(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder213(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder223(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder211(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder222(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder233(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder212(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder213(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder223(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder211(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder222(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder233(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder212(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder213(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder223(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder211(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder222(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder233(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder212(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder213(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder223(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder211(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder222(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder233(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder212(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder213(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder223(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder21(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder22(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder23(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder21(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder22(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder23(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder21(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[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]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder411(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder422(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder433(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder412(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder413(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder423(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder411(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder422(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder433(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder412(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder413(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder423(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder411(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder422(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder433(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder412(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder413(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder423(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder411(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder422(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder433(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder412(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder413(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder423(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder411(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder422(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder433(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder412(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder413(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder423(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder411(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder422(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder433(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder412(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder413(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder423(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder411(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder422(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder433(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder412(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder413(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder423(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder41(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder42(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder43(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder41(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder42(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder43(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder41(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[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]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder611(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder622(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder633(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder612(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder613(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder623(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder611(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder622(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder633(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder612(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder613(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder623(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder611(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder622(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder633(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder612(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder613(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder623(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder611(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder622(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder633(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder612(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder613(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder623(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder611(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder622(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder633(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder612(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder613(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder623(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder611(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder622(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder633(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder612(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder613(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder623(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder611(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder622(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder633(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder612(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder613(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder623(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder61(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder62(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder63(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder61(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder62(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder63(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder61(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[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]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder811(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder822(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder833(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder812(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder813(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder823(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder811(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder822(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder833(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder812(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder813(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder823(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder811(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder822(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder833(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder812(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder813(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder823(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder811(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder822(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder833(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder812(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder813(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder823(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder811(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder822(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder833(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder812(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder813(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder823(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder811(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder822(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder833(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder812(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder813(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder823(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder811(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder822(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder833(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder812(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder813(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder823(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder81(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder82(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder83(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder81(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder82(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder83(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder81(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandardNth11alpha;
+ CCTK_REAL_VEC JacPDstandardNth11gt11;
+ CCTK_REAL_VEC JacPDstandardNth11gt12;
+ CCTK_REAL_VEC JacPDstandardNth11gt13;
+ CCTK_REAL_VEC JacPDstandardNth11gt22;
+ CCTK_REAL_VEC JacPDstandardNth11gt23;
+ CCTK_REAL_VEC JacPDstandardNth11gt33;
+ CCTK_REAL_VEC JacPDstandardNth11phi;
+ CCTK_REAL_VEC JacPDstandardNth12alpha;
+ CCTK_REAL_VEC JacPDstandardNth12gt11;
+ CCTK_REAL_VEC JacPDstandardNth12gt12;
+ CCTK_REAL_VEC JacPDstandardNth12gt13;
+ CCTK_REAL_VEC JacPDstandardNth12gt22;
+ CCTK_REAL_VEC JacPDstandardNth12gt23;
+ CCTK_REAL_VEC JacPDstandardNth12gt33;
+ CCTK_REAL_VEC JacPDstandardNth12phi;
+ CCTK_REAL_VEC JacPDstandardNth13alpha;
+ CCTK_REAL_VEC JacPDstandardNth13gt11;
+ CCTK_REAL_VEC JacPDstandardNth13gt12;
+ CCTK_REAL_VEC JacPDstandardNth13gt13;
+ CCTK_REAL_VEC JacPDstandardNth13gt22;
+ CCTK_REAL_VEC JacPDstandardNth13gt23;
+ CCTK_REAL_VEC JacPDstandardNth13gt33;
+ CCTK_REAL_VEC JacPDstandardNth13phi;
+ CCTK_REAL_VEC JacPDstandardNth1alpha;
+ CCTK_REAL_VEC JacPDstandardNth1beta1;
+ CCTK_REAL_VEC JacPDstandardNth1beta2;
+ CCTK_REAL_VEC JacPDstandardNth1beta3;
+ CCTK_REAL_VEC JacPDstandardNth1gt11;
+ CCTK_REAL_VEC JacPDstandardNth1gt12;
+ CCTK_REAL_VEC JacPDstandardNth1gt13;
+ CCTK_REAL_VEC JacPDstandardNth1gt22;
+ CCTK_REAL_VEC JacPDstandardNth1gt23;
+ CCTK_REAL_VEC JacPDstandardNth1gt33;
+ CCTK_REAL_VEC JacPDstandardNth1phi;
+ CCTK_REAL_VEC JacPDstandardNth1Xt1;
+ CCTK_REAL_VEC JacPDstandardNth1Xt2;
+ CCTK_REAL_VEC JacPDstandardNth1Xt3;
+ CCTK_REAL_VEC JacPDstandardNth21gt11;
+ CCTK_REAL_VEC JacPDstandardNth21gt12;
+ CCTK_REAL_VEC JacPDstandardNth21gt13;
+ CCTK_REAL_VEC JacPDstandardNth21gt22;
+ CCTK_REAL_VEC JacPDstandardNth21gt23;
+ CCTK_REAL_VEC JacPDstandardNth21gt33;
+ CCTK_REAL_VEC JacPDstandardNth22alpha;
+ CCTK_REAL_VEC JacPDstandardNth22gt11;
+ CCTK_REAL_VEC JacPDstandardNth22gt12;
+ CCTK_REAL_VEC JacPDstandardNth22gt13;
+ CCTK_REAL_VEC JacPDstandardNth22gt22;
+ CCTK_REAL_VEC JacPDstandardNth22gt23;
+ CCTK_REAL_VEC JacPDstandardNth22gt33;
+ CCTK_REAL_VEC JacPDstandardNth22phi;
+ CCTK_REAL_VEC JacPDstandardNth23alpha;
+ CCTK_REAL_VEC JacPDstandardNth23gt11;
+ CCTK_REAL_VEC JacPDstandardNth23gt12;
+ CCTK_REAL_VEC JacPDstandardNth23gt13;
+ CCTK_REAL_VEC JacPDstandardNth23gt22;
+ CCTK_REAL_VEC JacPDstandardNth23gt23;
+ CCTK_REAL_VEC JacPDstandardNth23gt33;
+ CCTK_REAL_VEC JacPDstandardNth23phi;
+ CCTK_REAL_VEC JacPDstandardNth2alpha;
+ CCTK_REAL_VEC JacPDstandardNth2beta1;
+ CCTK_REAL_VEC JacPDstandardNth2beta2;
+ CCTK_REAL_VEC JacPDstandardNth2beta3;
+ CCTK_REAL_VEC JacPDstandardNth2gt11;
+ CCTK_REAL_VEC JacPDstandardNth2gt12;
+ CCTK_REAL_VEC JacPDstandardNth2gt13;
+ CCTK_REAL_VEC JacPDstandardNth2gt22;
+ CCTK_REAL_VEC JacPDstandardNth2gt23;
+ CCTK_REAL_VEC JacPDstandardNth2gt33;
+ CCTK_REAL_VEC JacPDstandardNth2phi;
+ CCTK_REAL_VEC JacPDstandardNth2Xt1;
+ CCTK_REAL_VEC JacPDstandardNth2Xt2;
+ CCTK_REAL_VEC JacPDstandardNth2Xt3;
+ CCTK_REAL_VEC JacPDstandardNth31gt11;
+ CCTK_REAL_VEC JacPDstandardNth31gt12;
+ CCTK_REAL_VEC JacPDstandardNth31gt13;
+ CCTK_REAL_VEC JacPDstandardNth31gt22;
+ CCTK_REAL_VEC JacPDstandardNth31gt23;
+ CCTK_REAL_VEC JacPDstandardNth31gt33;
+ CCTK_REAL_VEC JacPDstandardNth32gt11;
+ CCTK_REAL_VEC JacPDstandardNth32gt12;
+ CCTK_REAL_VEC JacPDstandardNth32gt13;
+ CCTK_REAL_VEC JacPDstandardNth32gt22;
+ CCTK_REAL_VEC JacPDstandardNth32gt23;
+ CCTK_REAL_VEC JacPDstandardNth32gt33;
+ CCTK_REAL_VEC JacPDstandardNth33alpha;
+ CCTK_REAL_VEC JacPDstandardNth33gt11;
+ CCTK_REAL_VEC JacPDstandardNth33gt12;
+ CCTK_REAL_VEC JacPDstandardNth33gt13;
+ CCTK_REAL_VEC JacPDstandardNth33gt22;
+ CCTK_REAL_VEC JacPDstandardNth33gt23;
+ CCTK_REAL_VEC JacPDstandardNth33gt33;
+ CCTK_REAL_VEC JacPDstandardNth33phi;
+ CCTK_REAL_VEC JacPDstandardNth3alpha;
+ CCTK_REAL_VEC JacPDstandardNth3beta1;
+ CCTK_REAL_VEC JacPDstandardNth3beta2;
+ CCTK_REAL_VEC JacPDstandardNth3beta3;
+ CCTK_REAL_VEC JacPDstandardNth3gt11;
+ CCTK_REAL_VEC JacPDstandardNth3gt12;
+ CCTK_REAL_VEC JacPDstandardNth3gt13;
+ CCTK_REAL_VEC JacPDstandardNth3gt22;
+ CCTK_REAL_VEC JacPDstandardNth3gt23;
+ CCTK_REAL_VEC JacPDstandardNth3gt33;
+ CCTK_REAL_VEC JacPDstandardNth3phi;
+ CCTK_REAL_VEC JacPDstandardNth3Xt1;
+ CCTK_REAL_VEC JacPDstandardNth3Xt2;
+ CCTK_REAL_VEC JacPDstandardNth3Xt3;
+
+ 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)));
+
+ JacPDstandardNth1gt11 =
+ kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11)));
+
+ JacPDstandardNth1gt12 =
+ kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12)));
+
+ JacPDstandardNth1gt13 =
+ kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13)));
+
+ JacPDstandardNth1gt22 =
+ kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22)));
+
+ JacPDstandardNth1gt23 =
+ kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23)));
+
+ JacPDstandardNth1gt33 =
+ kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33)));
+
+ JacPDstandardNth1phi =
+ kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi)));
+
+ JacPDstandardNth1Xt1 =
+ kmadd(J11L,PDstandardNth1Xt1,kmadd(J21L,PDstandardNth2Xt1,kmul(J31L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth1Xt2 =
+ kmadd(J11L,PDstandardNth1Xt2,kmadd(J21L,PDstandardNth2Xt2,kmul(J31L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth1Xt3 =
+ kmadd(J11L,PDstandardNth1Xt3,kmadd(J21L,PDstandardNth2Xt3,kmul(J31L,PDstandardNth3Xt3)));
+
+ 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)));
+
+ JacPDstandardNth2gt11 =
+ kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11)));
+
+ JacPDstandardNth2gt12 =
+ kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12)));
+
+ JacPDstandardNth2gt13 =
+ kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13)));
+
+ JacPDstandardNth2gt22 =
+ kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22)));
+
+ JacPDstandardNth2gt23 =
+ kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23)));
+
+ JacPDstandardNth2gt33 =
+ kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33)));
+
+ JacPDstandardNth2phi =
+ kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi)));
+
+ JacPDstandardNth2Xt1 =
+ kmadd(J12L,PDstandardNth1Xt1,kmadd(J22L,PDstandardNth2Xt1,kmul(J32L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth2Xt2 =
+ kmadd(J12L,PDstandardNth1Xt2,kmadd(J22L,PDstandardNth2Xt2,kmul(J32L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth2Xt3 =
+ kmadd(J12L,PDstandardNth1Xt3,kmadd(J22L,PDstandardNth2Xt3,kmul(J32L,PDstandardNth3Xt3)));
+
+ 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)));
+
+ JacPDstandardNth3gt11 =
+ kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11)));
+
+ JacPDstandardNth3gt12 =
+ kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12)));
+
+ JacPDstandardNth3gt13 =
+ kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13)));
+
+ JacPDstandardNth3gt22 =
+ kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22)));
+
+ JacPDstandardNth3gt23 =
+ kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23)));
+
+ JacPDstandardNth3gt33 =
+ kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33)));
+
+ JacPDstandardNth3phi =
+ kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi)));
+
+ JacPDstandardNth3Xt1 =
+ kmadd(J13L,PDstandardNth1Xt1,kmadd(J23L,PDstandardNth2Xt1,kmul(J33L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth3Xt2 =
+ kmadd(J13L,PDstandardNth1Xt2,kmadd(J23L,PDstandardNth2Xt2,kmul(J33L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth3Xt3 =
+ kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3)));
+
+ 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))))))));
+
+ JacPDstandardNth11gt11 =
+ kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J11L),kmadd(PDstandardNth22gt11,SQR(J21L),kmadd(PDstandardNth33gt11,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth11gt12 =
+ kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J11L),kmadd(PDstandardNth22gt12,SQR(J21L),kmadd(PDstandardNth33gt12,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth11gt13 =
+ kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J11L),kmadd(PDstandardNth22gt13,SQR(J21L),kmadd(PDstandardNth33gt13,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth11gt22 =
+ kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J11L),kmadd(PDstandardNth22gt22,SQR(J21L),kmadd(PDstandardNth33gt22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth11gt23 =
+ kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J11L),kmadd(PDstandardNth22gt23,SQR(J21L),kmadd(PDstandardNth33gt23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth11gt33 =
+ kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J11L),kmadd(PDstandardNth22gt33,SQR(J21L),kmadd(PDstandardNth33gt33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth11phi =
+ kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J11L),kmadd(PDstandardNth22phi,SQR(J21L),kmadd(PDstandardNth33phi,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),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))))))));
+
+ JacPDstandardNth22gt11 =
+ kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J12L),kmadd(PDstandardNth22gt11,SQR(J22L),kmadd(PDstandardNth33gt11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth22gt12 =
+ kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J12L),kmadd(PDstandardNth22gt12,SQR(J22L),kmadd(PDstandardNth33gt12,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth22gt13 =
+ kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J12L),kmadd(PDstandardNth22gt13,SQR(J22L),kmadd(PDstandardNth33gt13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth22gt22 =
+ kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J12L),kmadd(PDstandardNth22gt22,SQR(J22L),kmadd(PDstandardNth33gt22,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth22gt23 =
+ kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J12L),kmadd(PDstandardNth22gt23,SQR(J22L),kmadd(PDstandardNth33gt23,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth22gt33 =
+ kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J12L),kmadd(PDstandardNth22gt33,SQR(J22L),kmadd(PDstandardNth33gt33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth22phi =
+ kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J12L),kmadd(PDstandardNth22phi,SQR(J22L),kmadd(PDstandardNth33phi,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),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))))))));
+
+ JacPDstandardNth33gt11 =
+ kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J13L),kmadd(PDstandardNth22gt11,SQR(J23L),kmadd(PDstandardNth33gt11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth33gt12 =
+ kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J13L),kmadd(PDstandardNth22gt12,SQR(J23L),kmadd(PDstandardNth33gt12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth33gt13 =
+ kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J13L),kmadd(PDstandardNth22gt13,SQR(J23L),kmadd(PDstandardNth33gt13,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth33gt22 =
+ kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J13L),kmadd(PDstandardNth22gt22,SQR(J23L),kmadd(PDstandardNth33gt22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth33gt23 =
+ kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J13L),kmadd(PDstandardNth22gt23,SQR(J23L),kmadd(PDstandardNth33gt23,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth33gt33 =
+ kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J13L),kmadd(PDstandardNth22gt33,SQR(J23L),kmadd(PDstandardNth33gt33,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth33phi =
+ kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J13L),kmadd(PDstandardNth22phi,SQR(J23L),kmadd(PDstandardNth33phi,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),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)))))));
+
+ JacPDstandardNth12gt11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth12gt12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth12gt13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth12gt22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth12gt23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth12gt33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth12phi =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmadd(dJ112L,PDstandardNth1phi,kmadd(J22L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ212L,PDstandardNth2phi,kmadd(J32L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ312L,PDstandardNth3phi)))))));
+
+ 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)))))));
+
+ JacPDstandardNth13gt11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth13gt12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth13gt13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth13gt22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth13gt23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth13gt33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth13phi =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ113L,PDstandardNth1phi,kmadd(J23L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ213L,PDstandardNth2phi,kmadd(J33L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ313L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth21gt11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth21gt12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth21gt13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth21gt22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth21gt23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth21gt33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33)))))));
+
+ 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)))))));
+
+ JacPDstandardNth23gt11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth23gt12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth23gt13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth23gt22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth23gt23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth23gt33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth23phi =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11phi,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi))),kmadd(J12L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ123L,PDstandardNth1phi,kmadd(J23L,kmadd(J22L,PDstandardNth22phi,kmul(J32L,PDstandardNth23phi)),kmadd(dJ223L,PDstandardNth2phi,kmadd(J33L,kmadd(J22L,PDstandardNth23phi,kmul(J32L,PDstandardNth33phi)),kmul(dJ323L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth31gt11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth31gt12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth31gt13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth31gt22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth31gt23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth31gt33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth32gt11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth32gt12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth32gt13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth32gt22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth32gt23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth32gt33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33)))))));
+ }
+ else
+ {
+ JacPDstandardNth1alpha = PDstandardNth1alpha;
+
+ JacPDstandardNth1beta1 = PDstandardNth1beta1;
+
+ JacPDstandardNth1beta2 = PDstandardNth1beta2;
+
+ JacPDstandardNth1beta3 = PDstandardNth1beta3;
+
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1Xt1 = PDstandardNth1Xt1;
+
+ JacPDstandardNth1Xt2 = PDstandardNth1Xt2;
+
+ JacPDstandardNth1Xt3 = PDstandardNth1Xt3;
+
+ JacPDstandardNth2alpha = PDstandardNth2alpha;
+
+ JacPDstandardNth2beta1 = PDstandardNth2beta1;
+
+ JacPDstandardNth2beta2 = PDstandardNth2beta2;
+
+ JacPDstandardNth2beta3 = PDstandardNth2beta3;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2Xt1 = PDstandardNth2Xt1;
+
+ JacPDstandardNth2Xt2 = PDstandardNth2Xt2;
+
+ JacPDstandardNth2Xt3 = PDstandardNth2Xt3;
+
+ JacPDstandardNth3alpha = PDstandardNth3alpha;
+
+ JacPDstandardNth3beta1 = PDstandardNth3beta1;
+
+ JacPDstandardNth3beta2 = PDstandardNth3beta2;
+
+ JacPDstandardNth3beta3 = PDstandardNth3beta3;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3Xt1 = PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = PDstandardNth3Xt3;
+
+ JacPDstandardNth11alpha = PDstandardNth11alpha;
+
+ JacPDstandardNth11gt11 = PDstandardNth11gt11;
+
+ JacPDstandardNth11gt12 = PDstandardNth11gt12;
+
+ JacPDstandardNth11gt13 = PDstandardNth11gt13;
+
+ JacPDstandardNth11gt22 = PDstandardNth11gt22;
+
+ JacPDstandardNth11gt23 = PDstandardNth11gt23;
+
+ JacPDstandardNth11gt33 = PDstandardNth11gt33;
+
+ JacPDstandardNth11phi = PDstandardNth11phi;
+
+ JacPDstandardNth22alpha = PDstandardNth22alpha;
+
+ JacPDstandardNth22gt11 = PDstandardNth22gt11;
+
+ JacPDstandardNth22gt12 = PDstandardNth22gt12;
+
+ JacPDstandardNth22gt13 = PDstandardNth22gt13;
+
+ JacPDstandardNth22gt22 = PDstandardNth22gt22;
+
+ JacPDstandardNth22gt23 = PDstandardNth22gt23;
+
+ JacPDstandardNth22gt33 = PDstandardNth22gt33;
+
+ JacPDstandardNth22phi = PDstandardNth22phi;
+
+ JacPDstandardNth33alpha = PDstandardNth33alpha;
+
+ JacPDstandardNth33gt11 = PDstandardNth33gt11;
+
+ JacPDstandardNth33gt12 = PDstandardNth33gt12;
+
+ JacPDstandardNth33gt13 = PDstandardNth33gt13;
+
+ JacPDstandardNth33gt22 = PDstandardNth33gt22;
+
+ JacPDstandardNth33gt23 = PDstandardNth33gt23;
+
+ JacPDstandardNth33gt33 = PDstandardNth33gt33;
+
+ JacPDstandardNth33phi = PDstandardNth33phi;
+
+ JacPDstandardNth12alpha = PDstandardNth12alpha;
+
+ JacPDstandardNth12gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth12gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth12gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth12gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth12gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth12gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth12phi = PDstandardNth12phi;
+
+ JacPDstandardNth13alpha = PDstandardNth13alpha;
+
+ JacPDstandardNth13gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth13gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth13gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth13gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth13gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth13gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth13phi = PDstandardNth13phi;
+
+ JacPDstandardNth21gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth21gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth21gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth21gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth21gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth21gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth23alpha = PDstandardNth23alpha;
+
+ JacPDstandardNth23gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth23gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth23gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth23gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth23gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth23gt33 = PDstandardNth23gt33;
+
+ JacPDstandardNth23phi = PDstandardNth23phi;
+
+ JacPDstandardNth31gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth31gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth31gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth31gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth31gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth31gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth32gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth32gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth32gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth32gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth32gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth32gt33 = PDstandardNth23gt33;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -274,50 +1458,50 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
- CCTK_REAL_VEC Gtl111 = kmul(PDstandardNth1gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl112 = kmul(PDstandardNth2gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl112 = kmul(JacPDstandardNth2gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl113 = kmul(PDstandardNth3gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl113 = kmul(JacPDstandardNth3gt11,ToReal(0.5));
CCTK_REAL_VEC Gtl122 =
- kmadd(PDstandardNth1gt22,ToReal(-0.5),PDstandardNth2gt12);
+ kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
CCTK_REAL_VEC Gtl123 =
- kmul(kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
CCTK_REAL_VEC Gtl133 =
- kmadd(PDstandardNth1gt33,ToReal(-0.5),PDstandardNth3gt13);
+ kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
CCTK_REAL_VEC Gtl211 =
- kmadd(PDstandardNth2gt11,ToReal(-0.5),PDstandardNth1gt12);
+ kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12);
- CCTK_REAL_VEC Gtl212 = kmul(PDstandardNth1gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl212 = kmul(JacPDstandardNth1gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl213 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
- CCTK_REAL_VEC Gtl222 = kmul(PDstandardNth2gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5));
- CCTK_REAL_VEC Gtl223 = kmul(PDstandardNth3gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl223 = kmul(JacPDstandardNth3gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl233 =
- kmadd(PDstandardNth2gt33,ToReal(-0.5),PDstandardNth3gt23);
+ kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23);
CCTK_REAL_VEC Gtl311 =
- kmadd(PDstandardNth3gt11,ToReal(-0.5),PDstandardNth1gt13);
+ kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
CCTK_REAL_VEC Gtl312 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
- CCTK_REAL_VEC Gtl313 = kmul(PDstandardNth1gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5));
CCTK_REAL_VEC Gtl322 =
- kmadd(PDstandardNth3gt22,ToReal(-0.5),PDstandardNth2gt23);
+ kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23);
- CCTK_REAL_VEC Gtl323 = kmul(PDstandardNth2gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl323 = kmul(JacPDstandardNth2gt33,ToReal(0.5));
- CCTK_REAL_VEC Gtl333 = kmul(PDstandardNth3gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl333 = kmul(JacPDstandardNth3gt33,ToReal(0.5));
CCTK_REAL_VEC Gtlu111 =
kmadd(Gtl111,gtu11,kmadd(Gtl112,gtu12,kmul(Gtl113,gtu13)));
@@ -464,52 +1648,52 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC Rt11 =
- kmul(ToReal(0.5),kmadd(gtu12,kmul(PDstandardNth12gt11,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt11,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt11,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt11,knmsub(gtu22,PDstandardNth22gt11,knmsub(gtu33,PDstandardNth33gt11,kmadd(kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmul(gt11L,PDstandardNth1Xt1))))))),ToReal(2),kmadd(gt12L,kmul(PDstandardNth1Xt2,ToReal(2)),kmadd(gt13L,kmul(PDstandardNth1Xt3,ToReal(2)),kmadd(Gtl111,kmul(Xtn1,ToReal(2)),kmadd(Gtl112,kmul(Xtn2,ToReal(2)),kmadd(Gtl113,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(4),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(6))))))))))))))));
+ kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt11,knmsub(gtu22,JacPDstandardNth22gt11,knmsub(gtu33,JacPDstandardNth33gt11,knmsub(gtu12,kadd(JacPDstandardNth21gt11,JacPDstandardNth12gt11),knmsub(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11),knmsub(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmadd(kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmul(gt11L,JacPDstandardNth1Xt1))))))),ToReal(2),kmadd(gt12L,kmul(JacPDstandardNth1Xt2,ToReal(2)),kmadd(gt13L,kmul(JacPDstandardNth1Xt3,ToReal(2)),kmadd(Gtl111,kmul(Xtn1,ToReal(2)),kmadd(Gtl112,kmul(Xtn2,ToReal(2)),kmadd(Gtl113,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(4),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(6))))))))))))))));
CCTK_REAL_VEC Rt12 =
- kmul(ToReal(0.5),kmadd(gt12L,PDstandardNth1Xt1,kmadd(gt22L,PDstandardNth1Xt2,kmadd(gt23L,PDstandardNth1Xt3,kmadd(gt11L,PDstandardNth2Xt1,kmadd(gt12L,PDstandardNth2Xt2,kmadd(gt13L,PDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,kmadd(gtu12,kmul(PDstandardNth12gt12,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt12,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt12,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt12,knmsub(gtu22,PDstandardNth22gt12,knmsub(gtu33,PDstandardNth33gt12,kmadd(kmadd(Gt112,Gtlu111,kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt112,Gtlu122,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,Gtlu212,kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4))))))))))))))))))))));
+ kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4))))))))))))))))))))));
CCTK_REAL_VEC Rt13 =
- kmul(ToReal(0.5),kmadd(gt13L,PDstandardNth1Xt1,kmadd(gt23L,PDstandardNth1Xt2,kmadd(gt33L,PDstandardNth1Xt3,kmadd(gt11L,PDstandardNth3Xt1,kmadd(gt12L,PDstandardNth3Xt2,kmadd(gt13L,PDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,kmadd(gtu12,kmul(PDstandardNth12gt13,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt13,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt13,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt13,knmsub(gtu22,PDstandardNth22gt13,knmsub(gtu33,PDstandardNth33gt13,kmadd(kmadd(Gt113,Gtlu111,kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt113,Gtlu133,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,Gtlu313,kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4))))))))))))))))))))));
+ kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4))))))))))))))))))))));
CCTK_REAL_VEC Rt22 =
- kmul(ToReal(0.5),kmadd(gtu12,kmul(PDstandardNth12gt22,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt22,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt22,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt22,knmsub(gtu22,PDstandardNth22gt22,knmsub(gtu33,PDstandardNth33gt22,kmadd(kmadd(Gt112,Gtlu121,kmadd(Gt122,Gtlu122,kmadd(Gt123,Gtlu123,kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmul(gt12L,PDstandardNth2Xt1))))))),ToReal(2),kmadd(gt22L,kmul(PDstandardNth2Xt2,ToReal(2)),kmadd(gt23L,kmul(PDstandardNth2Xt3,ToReal(2)),kmadd(Gtl212,kmul(Xtn1,ToReal(2)),kmadd(Gtl222,kmul(Xtn2,ToReal(2)),kmadd(Gtl223,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt112,Gtlu211,kmadd(Gt122,Gtlu212,kmadd(Gt123,Gtlu213,kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233)))))),ToReal(4),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(6))))))))))))))));
+ kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt22,knmsub(gtu22,JacPDstandardNth22gt22,knmsub(gtu33,JacPDstandardNth33gt22,knmsub(gtu12,kadd(JacPDstandardNth21gt22,JacPDstandardNth12gt22),knmsub(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22),knmsub(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmadd(gt22L,kmul(JacPDstandardNth2Xt2,ToReal(2)),kmadd(gt23L,kmul(JacPDstandardNth2Xt3,ToReal(2)),kmadd(Gtl212,kmul(Xtn1,ToReal(2)),kmadd(Gtl222,kmul(Xtn2,ToReal(2)),kmadd(Gtl223,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt123,Gtlu123,kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmul(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122)))))))),kmadd(kmadd(Gt123,Gtlu213,kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233)))),ToReal(4),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(6))))))))))))))));
CCTK_REAL_VEC Rt23 =
- kmul(ToReal(0.5),kmadd(gt13L,PDstandardNth2Xt1,kmadd(gt23L,PDstandardNth2Xt2,kmadd(gt33L,PDstandardNth2Xt3,kmadd(gt12L,PDstandardNth3Xt1,kmadd(gt22L,PDstandardNth3Xt2,kmadd(gt23L,PDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,kmadd(gtu12,kmul(PDstandardNth12gt23,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt23,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt23,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt23,knmsub(gtu22,PDstandardNth22gt23,knmsub(gtu33,PDstandardNth33gt23,kmadd(kmadd(Gt112,Gtlu131,kmadd(Gt122,Gtlu132,kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,Gtlu311,kmadd(Gt122,Gtlu312,kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4))))))))))))))))))))));
+ kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4))))))))))))))))))))));
CCTK_REAL_VEC Rt33 =
- kmul(ToReal(0.5),kmadd(gtu12,kmul(PDstandardNth12gt33,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt33,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt33,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt33,knmsub(gtu22,PDstandardNth22gt33,knmsub(gtu33,PDstandardNth33gt33,kmadd(kmadd(Gt113,Gtlu131,kmadd(Gt123,Gtlu132,kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmul(gt13L,PDstandardNth3Xt1))))))),ToReal(2),kmadd(gt23L,kmul(PDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(PDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt113,Gtlu311,kmadd(Gt123,Gtlu312,kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
+ kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt33,knmsub(gtu22,JacPDstandardNth22gt33,knmsub(gtu33,JacPDstandardNth33gt33,knmsub(gtu12,kadd(JacPDstandardNth21gt33,JacPDstandardNth12gt33),knmsub(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33),knmsub(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmadd(gt23L,kmul(JacPDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(JacPDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmul(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132)))))))),kmadd(kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
CCTK_REAL_VEC fac1 =
IfThen(conformalMethod,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
- CCTK_REAL_VEC cdphi1 = kmul(fac1,PDstandardNth1phi);
+ CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
- CCTK_REAL_VEC cdphi2 = kmul(fac1,PDstandardNth2phi);
+ CCTK_REAL_VEC cdphi2 = kmul(fac1,JacPDstandardNth2phi);
- CCTK_REAL_VEC cdphi3 = kmul(fac1,PDstandardNth3phi);
+ CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC fac2 =
IfThen(conformalMethod,kmul(INV(SQR(phiL)),ToReal(0.5)),ToReal(0));
CCTK_REAL_VEC cdphi211 =
- kmsub(fac2,SQR(PDstandardNth1phi),kmul(fac1,kmadd(Gt111,PDstandardNth1phi,kmadd(Gt211,PDstandardNth2phi,kmsub(Gt311,PDstandardNth3phi,PDstandardNth11phi)))));
+ kmadd(fac2,SQR(JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi212 =
- kmsub(fac2,kmul(PDstandardNth1phi,PDstandardNth2phi),kmul(fac1,kmadd(Gt112,PDstandardNth1phi,kmadd(Gt212,PDstandardNth2phi,kmsub(Gt312,PDstandardNth3phi,PDstandardNth12phi)))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi213 =
- kmsub(fac2,kmul(PDstandardNth1phi,PDstandardNth3phi),kmul(fac1,kmadd(Gt113,PDstandardNth1phi,kmadd(Gt213,PDstandardNth2phi,kmsub(Gt313,PDstandardNth3phi,PDstandardNth13phi)))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi222 =
- kmsub(fac2,SQR(PDstandardNth2phi),kmul(fac1,kmadd(Gt122,PDstandardNth1phi,kmadd(Gt222,PDstandardNth2phi,kmsub(Gt322,PDstandardNth3phi,PDstandardNth22phi)))));
+ kmsub(fac2,SQR(JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
CCTK_REAL_VEC cdphi223 =
- kmsub(fac2,kmul(PDstandardNth2phi,PDstandardNth3phi),kmul(fac1,kmadd(Gt123,PDstandardNth1phi,kmadd(Gt223,PDstandardNth2phi,kmsub(Gt323,PDstandardNth3phi,PDstandardNth23phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi)))));
CCTK_REAL_VEC cdphi233 =
- kmsub(fac2,SQR(PDstandardNth3phi),kmul(fac1,kmadd(Gt133,PDstandardNth1phi,kmadd(Gt233,PDstandardNth2phi,kmsub(Gt333,PDstandardNth3phi,PDstandardNth33phi)))));
+ kmsub(fac2,SQR(JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
CCTK_REAL_VEC Rphi11 =
kmul(ToReal(-2),kadd(cdphi211,kmadd(SQR(cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
@@ -601,43 +1785,43 @@ static void ML_BSSN_RHS2_Body(cGH const * restrict const cctkGH, int const dir,
kmul(em4phi,kmadd(eTxxL,gtu11,kmadd(eTyyL,gtu22,kmadd(eTzzL,gtu33,kmul(kmadd(eTxyL,gtu12,kmadd(eTxzL,gtu13,kmul(eTyzL,gtu23))),ToReal(2))))));
CCTK_REAL_VEC Ats11 =
- kmadd(Gt211,PDstandardNth2alpha,kmadd(Gt311,PDstandardNth3alpha,kmadd(alphaL,R11,kmsub(PDstandardNth1alpha,kmadd(cdphi1,ToReal(4),Gt111),PDstandardNth11alpha))));
+ kmadd(Gt211,JacPDstandardNth2alpha,kmadd(Gt311,JacPDstandardNth3alpha,kmadd(alphaL,R11,kmsub(JacPDstandardNth1alpha,kmadd(cdphi1,ToReal(4),Gt111),JacPDstandardNth11alpha))));
CCTK_REAL_VEC Ats12 =
- kmadd(Gt312,PDstandardNth3alpha,kmadd(alphaL,R12,ksub(kmadd(PDstandardNth2alpha,kmadd(cdphi1,ToReal(2),Gt212),kmul(PDstandardNth1alpha,kmadd(cdphi2,ToReal(2),Gt112))),PDstandardNth12alpha)));
+ kmadd(Gt312,JacPDstandardNth3alpha,kmadd(alphaL,R12,ksub(kmadd(JacPDstandardNth2alpha,kmadd(cdphi1,ToReal(2),Gt212),kmul(JacPDstandardNth1alpha,kmadd(cdphi2,ToReal(2),Gt112))),JacPDstandardNth12alpha)));
CCTK_REAL_VEC Ats13 =
- kmadd(Gt213,PDstandardNth2alpha,kmadd(alphaL,R13,ksub(kmadd(PDstandardNth3alpha,kmadd(cdphi1,ToReal(2),Gt313),kmul(PDstandardNth1alpha,kmadd(cdphi3,ToReal(2),Gt113))),PDstandardNth13alpha)));
+ kmadd(Gt213,JacPDstandardNth2alpha,kmadd(alphaL,R13,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi1,ToReal(2),Gt313),kmul(JacPDstandardNth1alpha,kmadd(cdphi3,ToReal(2),Gt113))),JacPDstandardNth13alpha)));
CCTK_REAL_VEC Ats22 =
- kmadd(Gt122,PDstandardNth1alpha,kmadd(Gt322,PDstandardNth3alpha,kmadd(alphaL,R22,kmsub(PDstandardNth2alpha,kmadd(cdphi2,ToReal(4),Gt222),PDstandardNth22alpha))));
+ kmadd(Gt122,JacPDstandardNth1alpha,kmadd(Gt322,JacPDstandardNth3alpha,kmadd(alphaL,R22,kmsub(JacPDstandardNth2alpha,kmadd(cdphi2,ToReal(4),Gt222),JacPDstandardNth22alpha))));
CCTK_REAL_VEC Ats23 =
- kmadd(Gt123,PDstandardNth1alpha,kmadd(alphaL,R23,ksub(kmadd(PDstandardNth3alpha,kmadd(cdphi2,ToReal(2),Gt323),kmul(PDstandardNth2alpha,kmadd(cdphi3,ToReal(2),Gt223))),PDstandardNth23alpha)));
+ kmadd(Gt123,JacPDstandardNth1alpha,kmadd(alphaL,R23,ksub(kmadd(JacPDstandardNth3alpha,kmadd(cdphi2,ToReal(2),Gt323),kmul(JacPDstandardNth2alpha,kmadd(cdphi3,ToReal(2),Gt223))),JacPDstandardNth23alpha)));
CCTK_REAL_VEC Ats33 =
- kmadd(Gt133,PDstandardNth1alpha,kmadd(Gt233,PDstandardNth2alpha,kmadd(alphaL,R33,kmsub(PDstandardNth3alpha,kmadd(cdphi3,ToReal(4),Gt333),PDstandardNth33alpha))));
+ kmadd(Gt133,JacPDstandardNth1alpha,kmadd(Gt233,JacPDstandardNth2alpha,kmadd(alphaL,R33,kmsub(JacPDstandardNth3alpha,kmadd(cdphi3,ToReal(4),Gt333),JacPDstandardNth33alpha))));
CCTK_REAL_VEC trAts =
kmadd(Ats11,gu11,kmadd(Ats22,gu22,kmadd(Ats33,gu33,kmul(kmadd(Ats12,gu12,kmadd(Ats13,gu13,kmul(Ats23,gu23))),ToReal(2)))));
CCTK_REAL_VEC At11rhsL =
- kmadd(alphaL,kmul(kmadd(At11L,Atm11,kmadd(At12L,Atm21,kmul(At13L,Atm31))),ToReal(-2.)),kmadd(At11L,kmadd(alphaL,trKL,kmadd(kadd(PDstandardNth2beta2,PDstandardNth3beta3),ToReal(-0.6666666666666666666666666666666666666667),kmul(PDstandardNth1beta1,ToReal(1.333333333333333333333333333333333333333)))),kmadd(kmadd(At12L,PDstandardNth1beta2,kmul(At13L,PDstandardNth1beta3)),ToReal(2.),kmul(em4phi,kadd(Ats11,kmadd(g11,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),kmul(alphaL,kmadd(eTxxL,ToReal(-25.13274122871834590770114706623602307358),kmul(g11,kmul(trS,ToReal(8.377580409572781969233715688745341024526)))))))))));
+ kmadd(em4phi,kmadd(g11,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),Ats11),kmadd(At11L,kmadd(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(-0.6666666666666666666666666666666666666667),kmul(JacPDstandardNth1beta1,ToReal(1.333333333333333333333333333333333333333))),kmadd(kmadd(At12L,JacPDstandardNth1beta2,kmul(At13L,JacPDstandardNth1beta3)),ToReal(2.),kmul(alphaL,kmadd(kmadd(At12L,Atm21,kmul(At13L,Atm31)),ToReal(-2.),kmadd(At11L,kmadd(Atm11,ToReal(-2.),trKL),kmul(em4phi,kmadd(eTxxL,ToReal(-25.13274122871834590770114706623602307358),kmul(g11,kmul(trS,ToReal(8.377580409572781969233715688745341024526)))))))))));
CCTK_REAL_VEC At12rhsL =
- kmadd(At22L,PDstandardNth1beta2,kmadd(At23L,PDstandardNth1beta3,kmadd(At11L,PDstandardNth2beta1,kmadd(At13L,PDstandardNth2beta3,kmadd(alphaL,kmul(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2.)),kmadd(At12L,kmadd(alphaL,trKL,kmadd(PDstandardNth3beta3,ToReal(-0.6666666666666666666666666666666666666667),kmul(kadd(PDstandardNth1beta1,PDstandardNth2beta2),ToReal(0.3333333333333333333333333333333333333333)))),kmul(em4phi,kadd(Ats12,kmadd(g12,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),kmul(alphaL,kmadd(eTxyL,ToReal(-25.13274122871834590770114706623602307358),kmul(g12,kmul(trS,ToReal(8.377580409572781969233715688745341024526))))))))))))));
+ kmadd(At22L,JacPDstandardNth1beta2,kmadd(At23L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth2beta1,kmadd(At13L,JacPDstandardNth2beta3,kmadd(em4phi,kmadd(g12,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),Ats12),kmadd(At12L,kmadd(JacPDstandardNth3beta3,ToReal(-0.6666666666666666666666666666666666666667),kmul(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),ToReal(0.3333333333333333333333333333333333333333))),kmul(alphaL,kmadd(At12L,trKL,kmadd(kmadd(At11L,Atm12,kmadd(At12L,Atm22,kmul(At13L,Atm32))),ToReal(-2.),kmul(em4phi,kmadd(eTxyL,ToReal(-25.13274122871834590770114706623602307358),kmul(g12,kmul(trS,ToReal(8.377580409572781969233715688745341024526))))))))))))));
CCTK_REAL_VEC At13rhsL =
- kmadd(At23L,PDstandardNth1beta2,kmadd(At33L,PDstandardNth1beta3,kmadd(At11L,PDstandardNth3beta1,kmadd(At12L,PDstandardNth3beta2,kmadd(alphaL,kmul(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2.)),kmadd(At13L,kmadd(alphaL,trKL,kmadd(PDstandardNth2beta2,ToReal(-0.6666666666666666666666666666666666666667),kmul(kadd(PDstandardNth1beta1,PDstandardNth3beta3),ToReal(0.3333333333333333333333333333333333333333)))),kmul(em4phi,kadd(Ats13,kmadd(g13,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),kmul(alphaL,kmadd(eTxzL,ToReal(-25.13274122871834590770114706623602307358),kmul(g13,kmul(trS,ToReal(8.377580409572781969233715688745341024526))))))))))))));
+ kmadd(At23L,JacPDstandardNth1beta2,kmadd(At33L,JacPDstandardNth1beta3,kmadd(At11L,JacPDstandardNth3beta1,kmadd(At12L,JacPDstandardNth3beta2,kmadd(em4phi,kmadd(g13,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),Ats13),kmadd(At13L,kmadd(JacPDstandardNth2beta2,ToReal(-0.6666666666666666666666666666666666666667),kmul(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(0.3333333333333333333333333333333333333333))),kmul(alphaL,kmadd(At13L,trKL,kmadd(kmadd(At11L,Atm13,kmadd(At12L,Atm23,kmul(At13L,Atm33))),ToReal(-2.),kmul(em4phi,kmadd(eTxzL,ToReal(-25.13274122871834590770114706623602307358),kmul(g13,kmul(trS,ToReal(8.377580409572781969233715688745341024526))))))))))))));
CCTK_REAL_VEC At22rhsL =
- kmadd(alphaL,kmul(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2.)),kmadd(At22L,kmadd(alphaL,trKL,kmadd(kadd(PDstandardNth1beta1,PDstandardNth3beta3),ToReal(-0.6666666666666666666666666666666666666667),kmul(PDstandardNth2beta2,ToReal(1.333333333333333333333333333333333333333)))),kmadd(kmadd(At12L,PDstandardNth2beta1,kmul(At23L,PDstandardNth2beta3)),ToReal(2.),kmul(em4phi,kadd(Ats22,kmadd(g22,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),kmul(alphaL,kmadd(eTyyL,ToReal(-25.13274122871834590770114706623602307358),kmul(g22,kmul(trS,ToReal(8.377580409572781969233715688745341024526)))))))))));
+ kmadd(em4phi,kmadd(g22,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),Ats22),kmadd(At22L,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth3beta3),ToReal(-0.6666666666666666666666666666666666666667),kmul(JacPDstandardNth2beta2,ToReal(1.333333333333333333333333333333333333333))),kmadd(kmadd(At12L,JacPDstandardNth2beta1,kmul(At23L,JacPDstandardNth2beta3)),ToReal(2.),kmul(alphaL,kmadd(At22L,trKL,kmadd(kmadd(At12L,Atm12,kmadd(At22L,Atm22,kmul(At23L,Atm32))),ToReal(-2.),kmul(em4phi,kmadd(eTyyL,ToReal(-25.13274122871834590770114706623602307358),kmul(g22,kmul(trS,ToReal(8.377580409572781969233715688745341024526)))))))))));
CCTK_REAL_VEC At23rhsL =
- kmadd(At13L,PDstandardNth2beta1,kmadd(At33L,PDstandardNth2beta3,kmadd(At12L,PDstandardNth3beta1,kmadd(At22L,PDstandardNth3beta2,kmadd(alphaL,kmul(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2.)),kmadd(At23L,kmadd(alphaL,trKL,kmadd(PDstandardNth1beta1,ToReal(-0.6666666666666666666666666666666666666667),kmul(kadd(PDstandardNth2beta2,PDstandardNth3beta3),ToReal(0.3333333333333333333333333333333333333333)))),kmul(em4phi,kadd(Ats23,kmadd(g23,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),kmul(alphaL,kmadd(eTyzL,ToReal(-25.13274122871834590770114706623602307358),kmul(g23,kmul(trS,ToReal(8.377580409572781969233715688745341024526))))))))))))));
+ kmadd(At13L,JacPDstandardNth2beta1,kmadd(At33L,JacPDstandardNth2beta3,kmadd(At12L,JacPDstandardNth3beta1,kmadd(At22L,JacPDstandardNth3beta2,kmadd(em4phi,kmadd(g23,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),Ats23),kmadd(At23L,kmadd(JacPDstandardNth1beta1,ToReal(-0.6666666666666666666666666666666666666667),kmul(kadd(JacPDstandardNth2beta2,JacPDstandardNth3beta3),ToReal(0.3333333333333333333333333333333333333333))),kmul(alphaL,kmadd(At23L,trKL,kmadd(kmadd(At12L,Atm13,kmadd(At22L,Atm23,kmul(At23L,Atm33))),ToReal(-2.),kmul(em4phi,kmadd(eTyzL,ToReal(-25.13274122871834590770114706623602307358),kmul(g23,kmul(trS,ToReal(8.377580409572781969233715688745341024526))))))))))))));
CCTK_REAL_VEC At33rhsL =
- kmadd(alphaL,kmul(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2.)),kmadd(At33L,kmadd(alphaL,trKL,kmadd(kadd(PDstandardNth1beta1,PDstandardNth2beta2),ToReal(-0.6666666666666666666666666666666666666667),kmul(PDstandardNth3beta3,ToReal(1.333333333333333333333333333333333333333)))),kmadd(kmadd(At13L,PDstandardNth3beta1,kmul(At23L,PDstandardNth3beta2)),ToReal(2.),kmul(em4phi,kadd(Ats33,kmadd(g33,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),kmul(alphaL,kmadd(eTzzL,ToReal(-25.13274122871834590770114706623602307358),kmul(g33,kmul(trS,ToReal(8.377580409572781969233715688745341024526)))))))))));
+ kmadd(em4phi,kmadd(g33,kmul(trAts,ToReal(-0.3333333333333333333333333333333333333333)),Ats33),kmadd(At33L,kmadd(kadd(JacPDstandardNth1beta1,JacPDstandardNth2beta2),ToReal(-0.6666666666666666666666666666666666666667),kmul(JacPDstandardNth3beta3,ToReal(1.333333333333333333333333333333333333333))),kmadd(kmadd(At13L,JacPDstandardNth3beta1,kmul(At23L,JacPDstandardNth3beta2)),ToReal(2.),kmul(alphaL,kmadd(At33L,trKL,kmadd(kmadd(At13L,Atm13,kmadd(At23L,Atm23,kmul(At33L,Atm33))),ToReal(-2.),kmul(em4phi,kmadd(eTzzL,ToReal(-25.13274122871834590770114706623602307358),kmul(g33,kmul(trS,ToReal(8.377580409572781969233715688745341024526)))))))))));
/* If necessary, store only partial vectors after the first iteration */
diff --git a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc
index 6d1c90d..4b16e2c 100644
--- a/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc
+++ b/ML_BSSN/src/ML_BSSN_RHSStaticBoundary.cc
@@ -79,6 +79,20 @@ static void ML_BSSN_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, in
const char *groups[] = {"ML_BSSN::ML_curvrhs","ML_BSSN::ML_dtlapserhs","ML_BSSN::ML_dtshiftrhs","ML_BSSN::ML_Gammarhs","ML_BSSN::ML_lapserhs","ML_BSSN::ML_log_confacrhs","ML_BSSN::ML_metricrhs","ML_BSSN::ML_shiftrhs","ML_BSSN::ML_trace_curvrhs"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_RHSStaticBoundary", 9, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -106,24 +120,129 @@ static void ML_BSSN_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, in
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -138,10 +257,26 @@ static void ML_BSSN_RHSStaticBoundary_Body(cGH const * restrict const cctkGH, in
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC phirhsL = ToReal(0);
diff --git a/ML_BSSN/src/ML_BSSN_boundary.cc b/ML_BSSN/src/ML_BSSN_boundary.cc
index b00443d..948c591 100644
--- a/ML_BSSN/src/ML_BSSN_boundary.cc
+++ b/ML_BSSN/src/ML_BSSN_boundary.cc
@@ -79,6 +79,20 @@ static void ML_BSSN_boundary_Body(cGH const * restrict const cctkGH, int const d
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_boundary", 9, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -106,24 +120,129 @@ static void ML_BSSN_boundary_Body(cGH const * restrict const cctkGH, int const d
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -138,10 +257,26 @@ static void ML_BSSN_boundary_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_VEC phiL = IfThen(conformalMethod,ToReal(1),ToReal(0));
diff --git a/ML_BSSN/src/ML_BSSN_constraints1.cc b/ML_BSSN/src/ML_BSSN_constraints1.cc
index 3fb83d9..4b443d9 100644
--- a/ML_BSSN/src/ML_BSSN_constraints1.cc
+++ b/ML_BSSN/src/ML_BSSN_constraints1.cc
@@ -55,7 +55,24 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_Gamma","ML_BSSN::ML_Ham","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints1", 8, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints1", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -83,24 +100,129 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -164,83 +286,965 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con
eTzzL = ToReal(0.0);
}
+ CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ dJ111L = vec_load(dJ111[index]);
+ dJ112L = vec_load(dJ112[index]);
+ dJ113L = vec_load(dJ113[index]);
+ dJ122L = vec_load(dJ122[index]);
+ dJ123L = vec_load(dJ123[index]);
+ dJ133L = vec_load(dJ133[index]);
+ dJ211L = vec_load(dJ211[index]);
+ dJ212L = vec_load(dJ212[index]);
+ dJ213L = vec_load(dJ213[index]);
+ dJ222L = vec_load(dJ222[index]);
+ dJ223L = vec_load(dJ223[index]);
+ dJ233L = vec_load(dJ233[index]);
+ dJ311L = vec_load(dJ311[index]);
+ dJ312L = vec_load(dJ312[index]);
+ dJ313L = vec_load(dJ313[index]);
+ dJ322L = vec_load(dJ322[index]);
+ dJ323L = vec_load(dJ323[index]);
+ dJ333L = vec_load(dJ333[index]);
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth11gt11 = PDstandardNth11(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth22gt11 = PDstandardNth22(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth33gt11 = PDstandardNth33(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth12gt11 = PDstandardNth12(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth13gt11 = PDstandardNth13(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth23gt11 = PDstandardNth23(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth11gt12 = PDstandardNth11(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth22gt12 = PDstandardNth22(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth33gt12 = PDstandardNth33(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth12gt12 = PDstandardNth12(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth13gt12 = PDstandardNth13(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth23gt12 = PDstandardNth23(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth11gt13 = PDstandardNth11(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth22gt13 = PDstandardNth22(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth33gt13 = PDstandardNth33(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth12gt13 = PDstandardNth12(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth13gt13 = PDstandardNth13(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth23gt13 = PDstandardNth23(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth11gt22 = PDstandardNth11(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth22gt22 = PDstandardNth22(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth33gt22 = PDstandardNth33(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth12gt22 = PDstandardNth12(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth13gt22 = PDstandardNth13(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth23gt22 = PDstandardNth23(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth11gt23 = PDstandardNth11(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth22gt23 = PDstandardNth22(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth33gt23 = PDstandardNth33(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth12gt23 = PDstandardNth12(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth13gt23 = PDstandardNth13(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth23gt23 = PDstandardNth23(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth11gt33 = PDstandardNth11(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth22gt33 = PDstandardNth22(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth33gt33 = PDstandardNth33(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth12gt33 = PDstandardNth12(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth13gt33 = PDstandardNth13(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth23gt33 = PDstandardNth23(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth1phi = PDstandardNth1(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth2phi = PDstandardNth2(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth3phi = PDstandardNth3(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth11phi = PDstandardNth11(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth22phi = PDstandardNth22(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth33phi = PDstandardNth33(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth12phi = PDstandardNth12(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth13phi = PDstandardNth13(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth23phi = PDstandardNth23(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth1Xt1 = PDstandardNth1(&Xt1[index]);
- CCTK_REAL_VEC const PDstandardNth2Xt1 = PDstandardNth2(&Xt1[index]);
- CCTK_REAL_VEC const PDstandardNth3Xt1 = PDstandardNth3(&Xt1[index]);
- CCTK_REAL_VEC const PDstandardNth1Xt2 = PDstandardNth1(&Xt2[index]);
- CCTK_REAL_VEC const PDstandardNth2Xt2 = PDstandardNth2(&Xt2[index]);
- CCTK_REAL_VEC const PDstandardNth3Xt2 = PDstandardNth3(&Xt2[index]);
- CCTK_REAL_VEC const PDstandardNth1Xt3 = PDstandardNth1(&Xt3[index]);
- CCTK_REAL_VEC const PDstandardNth2Xt3 = PDstandardNth2(&Xt3[index]);
- CCTK_REAL_VEC const PDstandardNth3Xt3 = PDstandardNth3(&Xt3[index]);
+ CCTK_REAL_VEC PDstandardNth1gt11;
+ CCTK_REAL_VEC PDstandardNth2gt11;
+ CCTK_REAL_VEC PDstandardNth3gt11;
+ CCTK_REAL_VEC PDstandardNth11gt11;
+ CCTK_REAL_VEC PDstandardNth22gt11;
+ CCTK_REAL_VEC PDstandardNth33gt11;
+ CCTK_REAL_VEC PDstandardNth12gt11;
+ CCTK_REAL_VEC PDstandardNth13gt11;
+ CCTK_REAL_VEC PDstandardNth23gt11;
+ CCTK_REAL_VEC PDstandardNth1gt12;
+ CCTK_REAL_VEC PDstandardNth2gt12;
+ CCTK_REAL_VEC PDstandardNth3gt12;
+ CCTK_REAL_VEC PDstandardNth11gt12;
+ CCTK_REAL_VEC PDstandardNth22gt12;
+ CCTK_REAL_VEC PDstandardNth33gt12;
+ CCTK_REAL_VEC PDstandardNth12gt12;
+ CCTK_REAL_VEC PDstandardNth13gt12;
+ CCTK_REAL_VEC PDstandardNth23gt12;
+ CCTK_REAL_VEC PDstandardNth1gt13;
+ CCTK_REAL_VEC PDstandardNth2gt13;
+ CCTK_REAL_VEC PDstandardNth3gt13;
+ CCTK_REAL_VEC PDstandardNth11gt13;
+ CCTK_REAL_VEC PDstandardNth22gt13;
+ CCTK_REAL_VEC PDstandardNth33gt13;
+ CCTK_REAL_VEC PDstandardNth12gt13;
+ CCTK_REAL_VEC PDstandardNth13gt13;
+ CCTK_REAL_VEC PDstandardNth23gt13;
+ CCTK_REAL_VEC PDstandardNth1gt22;
+ CCTK_REAL_VEC PDstandardNth2gt22;
+ CCTK_REAL_VEC PDstandardNth3gt22;
+ CCTK_REAL_VEC PDstandardNth11gt22;
+ CCTK_REAL_VEC PDstandardNth22gt22;
+ CCTK_REAL_VEC PDstandardNth33gt22;
+ CCTK_REAL_VEC PDstandardNth12gt22;
+ CCTK_REAL_VEC PDstandardNth13gt22;
+ CCTK_REAL_VEC PDstandardNth23gt22;
+ CCTK_REAL_VEC PDstandardNth1gt23;
+ CCTK_REAL_VEC PDstandardNth2gt23;
+ CCTK_REAL_VEC PDstandardNth3gt23;
+ CCTK_REAL_VEC PDstandardNth11gt23;
+ CCTK_REAL_VEC PDstandardNth22gt23;
+ CCTK_REAL_VEC PDstandardNth33gt23;
+ CCTK_REAL_VEC PDstandardNth12gt23;
+ CCTK_REAL_VEC PDstandardNth13gt23;
+ CCTK_REAL_VEC PDstandardNth23gt23;
+ CCTK_REAL_VEC PDstandardNth1gt33;
+ CCTK_REAL_VEC PDstandardNth2gt33;
+ CCTK_REAL_VEC PDstandardNth3gt33;
+ CCTK_REAL_VEC PDstandardNth11gt33;
+ CCTK_REAL_VEC PDstandardNth22gt33;
+ CCTK_REAL_VEC PDstandardNth33gt33;
+ CCTK_REAL_VEC PDstandardNth12gt33;
+ CCTK_REAL_VEC PDstandardNth13gt33;
+ CCTK_REAL_VEC PDstandardNth23gt33;
+ CCTK_REAL_VEC PDstandardNth1phi;
+ CCTK_REAL_VEC PDstandardNth2phi;
+ CCTK_REAL_VEC PDstandardNth3phi;
+ CCTK_REAL_VEC PDstandardNth11phi;
+ CCTK_REAL_VEC PDstandardNth22phi;
+ CCTK_REAL_VEC PDstandardNth33phi;
+ CCTK_REAL_VEC PDstandardNth12phi;
+ CCTK_REAL_VEC PDstandardNth13phi;
+ CCTK_REAL_VEC PDstandardNth23phi;
+ CCTK_REAL_VEC PDstandardNth1Xt1;
+ CCTK_REAL_VEC PDstandardNth2Xt1;
+ CCTK_REAL_VEC PDstandardNth3Xt1;
+ CCTK_REAL_VEC PDstandardNth1Xt2;
+ CCTK_REAL_VEC PDstandardNth2Xt2;
+ CCTK_REAL_VEC PDstandardNth3Xt2;
+ CCTK_REAL_VEC PDstandardNth1Xt3;
+ CCTK_REAL_VEC PDstandardNth2Xt3;
+ CCTK_REAL_VEC PDstandardNth3Xt3;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder211(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder222(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder233(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder212(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder213(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder223(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder211(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder222(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder233(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder212(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder213(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder223(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder211(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder222(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder233(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder212(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder213(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder223(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder211(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder222(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder233(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder212(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder213(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder223(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder211(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder222(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder233(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder212(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder213(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder223(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder211(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder222(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder233(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder212(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder213(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder223(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder211(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder222(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder233(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder212(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder213(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder223(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder21(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder22(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder23(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder21(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder22(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder23(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder21(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder22(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder23(&Xt3[index]);
+ break;
+
+ case 4:
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder411(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder422(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder433(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder412(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder413(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder423(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder411(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder422(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder433(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder412(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder413(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder423(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder411(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder422(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder433(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder412(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder413(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder423(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder411(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder422(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder433(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder412(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder413(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder423(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder411(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder422(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder433(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder412(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder413(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder423(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder411(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder422(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder433(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder412(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder413(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder423(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder411(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder422(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder433(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder412(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder413(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder423(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder41(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder42(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder43(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder41(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder42(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder43(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder41(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder42(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder43(&Xt3[index]);
+ break;
+
+ case 6:
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder611(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder622(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder633(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder612(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder613(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder623(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder611(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder622(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder633(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder612(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder613(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder623(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder611(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder622(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder633(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder612(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder613(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder623(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder611(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder622(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder633(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder612(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder613(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder623(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder611(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder622(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder633(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder612(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder613(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder623(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder611(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder622(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder633(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder612(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder613(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder623(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder611(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder622(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder633(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder612(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder613(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder623(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder61(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder62(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder63(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder61(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder62(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder63(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder61(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder62(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder63(&Xt3[index]);
+ break;
+
+ case 8:
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth11gt11 = PDstandardNthfdOrder811(&gt11[index]);
+ PDstandardNth22gt11 = PDstandardNthfdOrder822(&gt11[index]);
+ PDstandardNth33gt11 = PDstandardNthfdOrder833(&gt11[index]);
+ PDstandardNth12gt11 = PDstandardNthfdOrder812(&gt11[index]);
+ PDstandardNth13gt11 = PDstandardNthfdOrder813(&gt11[index]);
+ PDstandardNth23gt11 = PDstandardNthfdOrder823(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth11gt12 = PDstandardNthfdOrder811(&gt12[index]);
+ PDstandardNth22gt12 = PDstandardNthfdOrder822(&gt12[index]);
+ PDstandardNth33gt12 = PDstandardNthfdOrder833(&gt12[index]);
+ PDstandardNth12gt12 = PDstandardNthfdOrder812(&gt12[index]);
+ PDstandardNth13gt12 = PDstandardNthfdOrder813(&gt12[index]);
+ PDstandardNth23gt12 = PDstandardNthfdOrder823(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth11gt13 = PDstandardNthfdOrder811(&gt13[index]);
+ PDstandardNth22gt13 = PDstandardNthfdOrder822(&gt13[index]);
+ PDstandardNth33gt13 = PDstandardNthfdOrder833(&gt13[index]);
+ PDstandardNth12gt13 = PDstandardNthfdOrder812(&gt13[index]);
+ PDstandardNth13gt13 = PDstandardNthfdOrder813(&gt13[index]);
+ PDstandardNth23gt13 = PDstandardNthfdOrder823(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth11gt22 = PDstandardNthfdOrder811(&gt22[index]);
+ PDstandardNth22gt22 = PDstandardNthfdOrder822(&gt22[index]);
+ PDstandardNth33gt22 = PDstandardNthfdOrder833(&gt22[index]);
+ PDstandardNth12gt22 = PDstandardNthfdOrder812(&gt22[index]);
+ PDstandardNth13gt22 = PDstandardNthfdOrder813(&gt22[index]);
+ PDstandardNth23gt22 = PDstandardNthfdOrder823(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth11gt23 = PDstandardNthfdOrder811(&gt23[index]);
+ PDstandardNth22gt23 = PDstandardNthfdOrder822(&gt23[index]);
+ PDstandardNth33gt23 = PDstandardNthfdOrder833(&gt23[index]);
+ PDstandardNth12gt23 = PDstandardNthfdOrder812(&gt23[index]);
+ PDstandardNth13gt23 = PDstandardNthfdOrder813(&gt23[index]);
+ PDstandardNth23gt23 = PDstandardNthfdOrder823(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ PDstandardNth11gt33 = PDstandardNthfdOrder811(&gt33[index]);
+ PDstandardNth22gt33 = PDstandardNthfdOrder822(&gt33[index]);
+ PDstandardNth33gt33 = PDstandardNthfdOrder833(&gt33[index]);
+ PDstandardNth12gt33 = PDstandardNthfdOrder812(&gt33[index]);
+ PDstandardNth13gt33 = PDstandardNthfdOrder813(&gt33[index]);
+ PDstandardNth23gt33 = PDstandardNthfdOrder823(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]);
+ PDstandardNth11phi = PDstandardNthfdOrder811(&phi[index]);
+ PDstandardNth22phi = PDstandardNthfdOrder822(&phi[index]);
+ PDstandardNth33phi = PDstandardNthfdOrder833(&phi[index]);
+ PDstandardNth12phi = PDstandardNthfdOrder812(&phi[index]);
+ PDstandardNth13phi = PDstandardNthfdOrder813(&phi[index]);
+ PDstandardNth23phi = PDstandardNthfdOrder823(&phi[index]);
+ PDstandardNth1Xt1 = PDstandardNthfdOrder81(&Xt1[index]);
+ PDstandardNth2Xt1 = PDstandardNthfdOrder82(&Xt1[index]);
+ PDstandardNth3Xt1 = PDstandardNthfdOrder83(&Xt1[index]);
+ PDstandardNth1Xt2 = PDstandardNthfdOrder81(&Xt2[index]);
+ PDstandardNth2Xt2 = PDstandardNthfdOrder82(&Xt2[index]);
+ PDstandardNth3Xt2 = PDstandardNthfdOrder83(&Xt2[index]);
+ PDstandardNth1Xt3 = PDstandardNthfdOrder81(&Xt3[index]);
+ PDstandardNth2Xt3 = PDstandardNthfdOrder82(&Xt3[index]);
+ PDstandardNth3Xt3 = PDstandardNthfdOrder83(&Xt3[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandardNth11gt11;
+ CCTK_REAL_VEC JacPDstandardNth11gt12;
+ CCTK_REAL_VEC JacPDstandardNth11gt13;
+ CCTK_REAL_VEC JacPDstandardNth11gt22;
+ CCTK_REAL_VEC JacPDstandardNth11gt23;
+ CCTK_REAL_VEC JacPDstandardNth11gt33;
+ CCTK_REAL_VEC JacPDstandardNth11phi;
+ CCTK_REAL_VEC JacPDstandardNth12gt11;
+ CCTK_REAL_VEC JacPDstandardNth12gt12;
+ CCTK_REAL_VEC JacPDstandardNth12gt13;
+ CCTK_REAL_VEC JacPDstandardNth12gt22;
+ CCTK_REAL_VEC JacPDstandardNth12gt23;
+ CCTK_REAL_VEC JacPDstandardNth12gt33;
+ CCTK_REAL_VEC JacPDstandardNth12phi;
+ CCTK_REAL_VEC JacPDstandardNth13gt11;
+ CCTK_REAL_VEC JacPDstandardNth13gt12;
+ CCTK_REAL_VEC JacPDstandardNth13gt13;
+ CCTK_REAL_VEC JacPDstandardNth13gt22;
+ CCTK_REAL_VEC JacPDstandardNth13gt23;
+ CCTK_REAL_VEC JacPDstandardNth13gt33;
+ CCTK_REAL_VEC JacPDstandardNth13phi;
+ CCTK_REAL_VEC JacPDstandardNth1gt11;
+ CCTK_REAL_VEC JacPDstandardNth1gt12;
+ CCTK_REAL_VEC JacPDstandardNth1gt13;
+ CCTK_REAL_VEC JacPDstandardNth1gt22;
+ CCTK_REAL_VEC JacPDstandardNth1gt23;
+ CCTK_REAL_VEC JacPDstandardNth1gt33;
+ CCTK_REAL_VEC JacPDstandardNth1phi;
+ CCTK_REAL_VEC JacPDstandardNth1Xt1;
+ CCTK_REAL_VEC JacPDstandardNth1Xt2;
+ CCTK_REAL_VEC JacPDstandardNth1Xt3;
+ CCTK_REAL_VEC JacPDstandardNth21gt11;
+ CCTK_REAL_VEC JacPDstandardNth21gt12;
+ CCTK_REAL_VEC JacPDstandardNth21gt13;
+ CCTK_REAL_VEC JacPDstandardNth21gt22;
+ CCTK_REAL_VEC JacPDstandardNth21gt23;
+ CCTK_REAL_VEC JacPDstandardNth21gt33;
+ CCTK_REAL_VEC JacPDstandardNth22gt11;
+ CCTK_REAL_VEC JacPDstandardNth22gt12;
+ CCTK_REAL_VEC JacPDstandardNth22gt13;
+ CCTK_REAL_VEC JacPDstandardNth22gt22;
+ CCTK_REAL_VEC JacPDstandardNth22gt23;
+ CCTK_REAL_VEC JacPDstandardNth22gt33;
+ CCTK_REAL_VEC JacPDstandardNth22phi;
+ CCTK_REAL_VEC JacPDstandardNth23gt11;
+ CCTK_REAL_VEC JacPDstandardNth23gt12;
+ CCTK_REAL_VEC JacPDstandardNth23gt13;
+ CCTK_REAL_VEC JacPDstandardNth23gt22;
+ CCTK_REAL_VEC JacPDstandardNth23gt23;
+ CCTK_REAL_VEC JacPDstandardNth23gt33;
+ CCTK_REAL_VEC JacPDstandardNth23phi;
+ CCTK_REAL_VEC JacPDstandardNth2gt11;
+ CCTK_REAL_VEC JacPDstandardNth2gt12;
+ CCTK_REAL_VEC JacPDstandardNth2gt13;
+ CCTK_REAL_VEC JacPDstandardNth2gt22;
+ CCTK_REAL_VEC JacPDstandardNth2gt23;
+ CCTK_REAL_VEC JacPDstandardNth2gt33;
+ CCTK_REAL_VEC JacPDstandardNth2phi;
+ CCTK_REAL_VEC JacPDstandardNth2Xt1;
+ CCTK_REAL_VEC JacPDstandardNth2Xt2;
+ CCTK_REAL_VEC JacPDstandardNth2Xt3;
+ CCTK_REAL_VEC JacPDstandardNth31gt11;
+ CCTK_REAL_VEC JacPDstandardNth31gt12;
+ CCTK_REAL_VEC JacPDstandardNth31gt13;
+ CCTK_REAL_VEC JacPDstandardNth31gt22;
+ CCTK_REAL_VEC JacPDstandardNth31gt23;
+ CCTK_REAL_VEC JacPDstandardNth31gt33;
+ CCTK_REAL_VEC JacPDstandardNth32gt11;
+ CCTK_REAL_VEC JacPDstandardNth32gt12;
+ CCTK_REAL_VEC JacPDstandardNth32gt13;
+ CCTK_REAL_VEC JacPDstandardNth32gt22;
+ CCTK_REAL_VEC JacPDstandardNth32gt23;
+ CCTK_REAL_VEC JacPDstandardNth32gt33;
+ CCTK_REAL_VEC JacPDstandardNth33gt11;
+ CCTK_REAL_VEC JacPDstandardNth33gt12;
+ CCTK_REAL_VEC JacPDstandardNth33gt13;
+ CCTK_REAL_VEC JacPDstandardNth33gt22;
+ CCTK_REAL_VEC JacPDstandardNth33gt23;
+ CCTK_REAL_VEC JacPDstandardNth33gt33;
+ CCTK_REAL_VEC JacPDstandardNth33phi;
+ CCTK_REAL_VEC JacPDstandardNth3gt11;
+ CCTK_REAL_VEC JacPDstandardNth3gt12;
+ CCTK_REAL_VEC JacPDstandardNth3gt13;
+ CCTK_REAL_VEC JacPDstandardNth3gt22;
+ CCTK_REAL_VEC JacPDstandardNth3gt23;
+ CCTK_REAL_VEC JacPDstandardNth3gt33;
+ CCTK_REAL_VEC JacPDstandardNth3phi;
+ CCTK_REAL_VEC JacPDstandardNth3Xt1;
+ CCTK_REAL_VEC JacPDstandardNth3Xt2;
+ CCTK_REAL_VEC JacPDstandardNth3Xt3;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1gt11 =
+ kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11)));
+
+ JacPDstandardNth1gt12 =
+ kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12)));
+
+ JacPDstandardNth1gt13 =
+ kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13)));
+
+ JacPDstandardNth1gt22 =
+ kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22)));
+
+ JacPDstandardNth1gt23 =
+ kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23)));
+
+ JacPDstandardNth1gt33 =
+ kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33)));
+
+ JacPDstandardNth1phi =
+ kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi)));
+
+ JacPDstandardNth1Xt1 =
+ kmadd(J11L,PDstandardNth1Xt1,kmadd(J21L,PDstandardNth2Xt1,kmul(J31L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth1Xt2 =
+ kmadd(J11L,PDstandardNth1Xt2,kmadd(J21L,PDstandardNth2Xt2,kmul(J31L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth1Xt3 =
+ kmadd(J11L,PDstandardNth1Xt3,kmadd(J21L,PDstandardNth2Xt3,kmul(J31L,PDstandardNth3Xt3)));
+
+ JacPDstandardNth2gt11 =
+ kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11)));
+
+ JacPDstandardNth2gt12 =
+ kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12)));
+
+ JacPDstandardNth2gt13 =
+ kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13)));
+
+ JacPDstandardNth2gt22 =
+ kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22)));
+
+ JacPDstandardNth2gt23 =
+ kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23)));
+
+ JacPDstandardNth2gt33 =
+ kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33)));
+
+ JacPDstandardNth2phi =
+ kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi)));
+
+ JacPDstandardNth2Xt1 =
+ kmadd(J12L,PDstandardNth1Xt1,kmadd(J22L,PDstandardNth2Xt1,kmul(J32L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth2Xt2 =
+ kmadd(J12L,PDstandardNth1Xt2,kmadd(J22L,PDstandardNth2Xt2,kmul(J32L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth2Xt3 =
+ kmadd(J12L,PDstandardNth1Xt3,kmadd(J22L,PDstandardNth2Xt3,kmul(J32L,PDstandardNth3Xt3)));
+
+ JacPDstandardNth3gt11 =
+ kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11)));
+
+ JacPDstandardNth3gt12 =
+ kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12)));
+
+ JacPDstandardNth3gt13 =
+ kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13)));
+
+ JacPDstandardNth3gt22 =
+ kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22)));
+
+ JacPDstandardNth3gt23 =
+ kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23)));
+
+ JacPDstandardNth3gt33 =
+ kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33)));
+
+ JacPDstandardNth3phi =
+ kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi)));
+
+ JacPDstandardNth3Xt1 =
+ kmadd(J13L,PDstandardNth1Xt1,kmadd(J23L,PDstandardNth2Xt1,kmul(J33L,PDstandardNth3Xt1)));
+
+ JacPDstandardNth3Xt2 =
+ kmadd(J13L,PDstandardNth1Xt2,kmadd(J23L,PDstandardNth2Xt2,kmul(J33L,PDstandardNth3Xt2)));
+
+ JacPDstandardNth3Xt3 =
+ kmadd(J13L,PDstandardNth1Xt3,kmadd(J23L,PDstandardNth2Xt3,kmul(J33L,PDstandardNth3Xt3)));
+
+ JacPDstandardNth11gt11 =
+ kmadd(dJ111L,PDstandardNth1gt11,kmadd(dJ211L,PDstandardNth2gt11,kmadd(dJ311L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J11L),kmadd(PDstandardNth22gt11,SQR(J21L),kmadd(PDstandardNth33gt11,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11)),kmul(J21L,kmul(J31L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth11gt12 =
+ kmadd(dJ111L,PDstandardNth1gt12,kmadd(dJ211L,PDstandardNth2gt12,kmadd(dJ311L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J11L),kmadd(PDstandardNth22gt12,SQR(J21L),kmadd(PDstandardNth33gt12,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12)),kmul(J21L,kmul(J31L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth11gt13 =
+ kmadd(dJ111L,PDstandardNth1gt13,kmadd(dJ211L,PDstandardNth2gt13,kmadd(dJ311L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J11L),kmadd(PDstandardNth22gt13,SQR(J21L),kmadd(PDstandardNth33gt13,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13)),kmul(J21L,kmul(J31L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth11gt22 =
+ kmadd(dJ111L,PDstandardNth1gt22,kmadd(dJ211L,PDstandardNth2gt22,kmadd(dJ311L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J11L),kmadd(PDstandardNth22gt22,SQR(J21L),kmadd(PDstandardNth33gt22,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22)),kmul(J21L,kmul(J31L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth11gt23 =
+ kmadd(dJ111L,PDstandardNth1gt23,kmadd(dJ211L,PDstandardNth2gt23,kmadd(dJ311L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J11L),kmadd(PDstandardNth22gt23,SQR(J21L),kmadd(PDstandardNth33gt23,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23)),kmul(J21L,kmul(J31L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth11gt33 =
+ kmadd(dJ111L,PDstandardNth1gt33,kmadd(dJ211L,PDstandardNth2gt33,kmadd(dJ311L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J11L),kmadd(PDstandardNth22gt33,SQR(J21L),kmadd(PDstandardNth33gt33,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33)),kmul(J21L,kmul(J31L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth11phi =
+ kmadd(dJ111L,PDstandardNth1phi,kmadd(dJ211L,PDstandardNth2phi,kmadd(dJ311L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J11L),kmadd(PDstandardNth22phi,SQR(J21L),kmadd(PDstandardNth33phi,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi)),kmul(J21L,kmul(J31L,PDstandardNth23phi))),ToReal(2))))))));
+
+ JacPDstandardNth22gt11 =
+ kmadd(dJ122L,PDstandardNth1gt11,kmadd(dJ222L,PDstandardNth2gt11,kmadd(dJ322L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J12L),kmadd(PDstandardNth22gt11,SQR(J22L),kmadd(PDstandardNth33gt11,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmul(J22L,kmul(J32L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth22gt12 =
+ kmadd(dJ122L,PDstandardNth1gt12,kmadd(dJ222L,PDstandardNth2gt12,kmadd(dJ322L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J12L),kmadd(PDstandardNth22gt12,SQR(J22L),kmadd(PDstandardNth33gt12,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmul(J22L,kmul(J32L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth22gt13 =
+ kmadd(dJ122L,PDstandardNth1gt13,kmadd(dJ222L,PDstandardNth2gt13,kmadd(dJ322L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J12L),kmadd(PDstandardNth22gt13,SQR(J22L),kmadd(PDstandardNth33gt13,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmul(J22L,kmul(J32L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth22gt22 =
+ kmadd(dJ122L,PDstandardNth1gt22,kmadd(dJ222L,PDstandardNth2gt22,kmadd(dJ322L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J12L),kmadd(PDstandardNth22gt22,SQR(J22L),kmadd(PDstandardNth33gt22,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmul(J22L,kmul(J32L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth22gt23 =
+ kmadd(dJ122L,PDstandardNth1gt23,kmadd(dJ222L,PDstandardNth2gt23,kmadd(dJ322L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J12L),kmadd(PDstandardNth22gt23,SQR(J22L),kmadd(PDstandardNth33gt23,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmul(J22L,kmul(J32L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth22gt33 =
+ kmadd(dJ122L,PDstandardNth1gt33,kmadd(dJ222L,PDstandardNth2gt33,kmadd(dJ322L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J12L),kmadd(PDstandardNth22gt33,SQR(J22L),kmadd(PDstandardNth33gt33,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmul(J22L,kmul(J32L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth22phi =
+ kmadd(dJ122L,PDstandardNth1phi,kmadd(dJ222L,PDstandardNth2phi,kmadd(dJ322L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J12L),kmadd(PDstandardNth22phi,SQR(J22L),kmadd(PDstandardNth33phi,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmul(J22L,kmul(J32L,PDstandardNth23phi))),ToReal(2))))))));
+
+ JacPDstandardNth33gt11 =
+ kmadd(dJ133L,PDstandardNth1gt11,kmadd(dJ233L,PDstandardNth2gt11,kmadd(dJ333L,PDstandardNth3gt11,kmadd(PDstandardNth11gt11,SQR(J13L),kmadd(PDstandardNth22gt11,SQR(J23L),kmadd(PDstandardNth33gt11,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmul(J23L,kmul(J33L,PDstandardNth23gt11))),ToReal(2))))))));
+
+ JacPDstandardNth33gt12 =
+ kmadd(dJ133L,PDstandardNth1gt12,kmadd(dJ233L,PDstandardNth2gt12,kmadd(dJ333L,PDstandardNth3gt12,kmadd(PDstandardNth11gt12,SQR(J13L),kmadd(PDstandardNth22gt12,SQR(J23L),kmadd(PDstandardNth33gt12,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmul(J23L,kmul(J33L,PDstandardNth23gt12))),ToReal(2))))))));
+
+ JacPDstandardNth33gt13 =
+ kmadd(dJ133L,PDstandardNth1gt13,kmadd(dJ233L,PDstandardNth2gt13,kmadd(dJ333L,PDstandardNth3gt13,kmadd(PDstandardNth11gt13,SQR(J13L),kmadd(PDstandardNth22gt13,SQR(J23L),kmadd(PDstandardNth33gt13,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmul(J23L,kmul(J33L,PDstandardNth23gt13))),ToReal(2))))))));
+
+ JacPDstandardNth33gt22 =
+ kmadd(dJ133L,PDstandardNth1gt22,kmadd(dJ233L,PDstandardNth2gt22,kmadd(dJ333L,PDstandardNth3gt22,kmadd(PDstandardNth11gt22,SQR(J13L),kmadd(PDstandardNth22gt22,SQR(J23L),kmadd(PDstandardNth33gt22,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmul(J23L,kmul(J33L,PDstandardNth23gt22))),ToReal(2))))))));
+
+ JacPDstandardNth33gt23 =
+ kmadd(dJ133L,PDstandardNth1gt23,kmadd(dJ233L,PDstandardNth2gt23,kmadd(dJ333L,PDstandardNth3gt23,kmadd(PDstandardNth11gt23,SQR(J13L),kmadd(PDstandardNth22gt23,SQR(J23L),kmadd(PDstandardNth33gt23,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmul(J23L,kmul(J33L,PDstandardNth23gt23))),ToReal(2))))))));
+
+ JacPDstandardNth33gt33 =
+ kmadd(dJ133L,PDstandardNth1gt33,kmadd(dJ233L,PDstandardNth2gt33,kmadd(dJ333L,PDstandardNth3gt33,kmadd(PDstandardNth11gt33,SQR(J13L),kmadd(PDstandardNth22gt33,SQR(J23L),kmadd(PDstandardNth33gt33,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmul(J23L,kmul(J33L,PDstandardNth23gt33))),ToReal(2))))))));
+
+ JacPDstandardNth33phi =
+ kmadd(dJ133L,PDstandardNth1phi,kmadd(dJ233L,PDstandardNth2phi,kmadd(dJ333L,PDstandardNth3phi,kmadd(PDstandardNth11phi,SQR(J13L),kmadd(PDstandardNth22phi,SQR(J23L),kmadd(PDstandardNth33phi,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmul(J23L,kmul(J33L,PDstandardNth23phi))),ToReal(2))))))));
+
+ JacPDstandardNth12gt11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth12gt12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth12gt13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth12gt22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth12gt23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth12gt33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth12phi =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi)),kmadd(dJ112L,PDstandardNth1phi,kmadd(J22L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ212L,PDstandardNth2phi,kmadd(J32L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ312L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth13gt11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth13gt12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth13gt13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth13gt22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth13gt23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth13gt33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth13phi =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11phi,kmadd(J21L,PDstandardNth12phi,kmul(J31L,PDstandardNth13phi))),kmadd(J11L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ113L,PDstandardNth1phi,kmadd(J23L,kmadd(J21L,PDstandardNth22phi,kmul(J31L,PDstandardNth23phi)),kmadd(dJ213L,PDstandardNth2phi,kmadd(J33L,kmadd(J21L,PDstandardNth23phi,kmul(J31L,PDstandardNth33phi)),kmul(dJ313L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth21gt11 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11)),kmadd(dJ112L,PDstandardNth1gt11,kmadd(J22L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ212L,PDstandardNth2gt11,kmadd(J32L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ312L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth21gt12 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12)),kmadd(dJ112L,PDstandardNth1gt12,kmadd(J22L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ212L,PDstandardNth2gt12,kmadd(J32L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ312L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth21gt13 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13)),kmadd(dJ112L,PDstandardNth1gt13,kmadd(J22L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ212L,PDstandardNth2gt13,kmadd(J32L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ312L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth21gt22 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22)),kmadd(dJ112L,PDstandardNth1gt22,kmadd(J22L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ212L,PDstandardNth2gt22,kmadd(J32L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ312L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth21gt23 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23)),kmadd(dJ112L,PDstandardNth1gt23,kmadd(J22L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ212L,PDstandardNth2gt23,kmadd(J32L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ312L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth21gt33 =
+ kmadd(J12L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33)),kmadd(dJ112L,PDstandardNth1gt33,kmadd(J22L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ212L,PDstandardNth2gt33,kmadd(J32L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ312L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth23gt11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth23gt12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth23gt13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth23gt22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth23gt23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth23gt33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth23phi =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11phi,kmadd(J22L,PDstandardNth12phi,kmul(J32L,PDstandardNth13phi))),kmadd(J12L,kmadd(J23L,PDstandardNth12phi,kmul(J33L,PDstandardNth13phi)),kmadd(dJ123L,PDstandardNth1phi,kmadd(J23L,kmadd(J22L,PDstandardNth22phi,kmul(J32L,PDstandardNth23phi)),kmadd(dJ223L,PDstandardNth2phi,kmadd(J33L,kmadd(J22L,PDstandardNth23phi,kmul(J32L,PDstandardNth33phi)),kmul(dJ323L,PDstandardNth3phi)))))));
+
+ JacPDstandardNth31gt11 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt11,kmadd(J21L,PDstandardNth12gt11,kmul(J31L,PDstandardNth13gt11))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ113L,PDstandardNth1gt11,kmadd(J23L,kmadd(J21L,PDstandardNth22gt11,kmul(J31L,PDstandardNth23gt11)),kmadd(dJ213L,PDstandardNth2gt11,kmadd(J33L,kmadd(J21L,PDstandardNth23gt11,kmul(J31L,PDstandardNth33gt11)),kmul(dJ313L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth31gt12 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt12,kmadd(J21L,PDstandardNth12gt12,kmul(J31L,PDstandardNth13gt12))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ113L,PDstandardNth1gt12,kmadd(J23L,kmadd(J21L,PDstandardNth22gt12,kmul(J31L,PDstandardNth23gt12)),kmadd(dJ213L,PDstandardNth2gt12,kmadd(J33L,kmadd(J21L,PDstandardNth23gt12,kmul(J31L,PDstandardNth33gt12)),kmul(dJ313L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth31gt13 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt13,kmadd(J21L,PDstandardNth12gt13,kmul(J31L,PDstandardNth13gt13))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ113L,PDstandardNth1gt13,kmadd(J23L,kmadd(J21L,PDstandardNth22gt13,kmul(J31L,PDstandardNth23gt13)),kmadd(dJ213L,PDstandardNth2gt13,kmadd(J33L,kmadd(J21L,PDstandardNth23gt13,kmul(J31L,PDstandardNth33gt13)),kmul(dJ313L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth31gt22 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt22,kmadd(J21L,PDstandardNth12gt22,kmul(J31L,PDstandardNth13gt22))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ113L,PDstandardNth1gt22,kmadd(J23L,kmadd(J21L,PDstandardNth22gt22,kmul(J31L,PDstandardNth23gt22)),kmadd(dJ213L,PDstandardNth2gt22,kmadd(J33L,kmadd(J21L,PDstandardNth23gt22,kmul(J31L,PDstandardNth33gt22)),kmul(dJ313L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth31gt23 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt23,kmadd(J21L,PDstandardNth12gt23,kmul(J31L,PDstandardNth13gt23))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ113L,PDstandardNth1gt23,kmadd(J23L,kmadd(J21L,PDstandardNth22gt23,kmul(J31L,PDstandardNth23gt23)),kmadd(dJ213L,PDstandardNth2gt23,kmadd(J33L,kmadd(J21L,PDstandardNth23gt23,kmul(J31L,PDstandardNth33gt23)),kmul(dJ313L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth31gt33 =
+ kmadd(J13L,kmadd(J11L,PDstandardNth11gt33,kmadd(J21L,PDstandardNth12gt33,kmul(J31L,PDstandardNth13gt33))),kmadd(J11L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ113L,PDstandardNth1gt33,kmadd(J23L,kmadd(J21L,PDstandardNth22gt33,kmul(J31L,PDstandardNth23gt33)),kmadd(dJ213L,PDstandardNth2gt33,kmadd(J33L,kmadd(J21L,PDstandardNth23gt33,kmul(J31L,PDstandardNth33gt33)),kmul(dJ313L,PDstandardNth3gt33)))))));
+
+ JacPDstandardNth32gt11 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt11,kmadd(J22L,PDstandardNth12gt11,kmul(J32L,PDstandardNth13gt11))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt11,kmul(J33L,PDstandardNth13gt11)),kmadd(dJ123L,PDstandardNth1gt11,kmadd(J23L,kmadd(J22L,PDstandardNth22gt11,kmul(J32L,PDstandardNth23gt11)),kmadd(dJ223L,PDstandardNth2gt11,kmadd(J33L,kmadd(J22L,PDstandardNth23gt11,kmul(J32L,PDstandardNth33gt11)),kmul(dJ323L,PDstandardNth3gt11)))))));
+
+ JacPDstandardNth32gt12 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt12,kmadd(J22L,PDstandardNth12gt12,kmul(J32L,PDstandardNth13gt12))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt12,kmul(J33L,PDstandardNth13gt12)),kmadd(dJ123L,PDstandardNth1gt12,kmadd(J23L,kmadd(J22L,PDstandardNth22gt12,kmul(J32L,PDstandardNth23gt12)),kmadd(dJ223L,PDstandardNth2gt12,kmadd(J33L,kmadd(J22L,PDstandardNth23gt12,kmul(J32L,PDstandardNth33gt12)),kmul(dJ323L,PDstandardNth3gt12)))))));
+
+ JacPDstandardNth32gt13 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt13,kmadd(J22L,PDstandardNth12gt13,kmul(J32L,PDstandardNth13gt13))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt13,kmul(J33L,PDstandardNth13gt13)),kmadd(dJ123L,PDstandardNth1gt13,kmadd(J23L,kmadd(J22L,PDstandardNth22gt13,kmul(J32L,PDstandardNth23gt13)),kmadd(dJ223L,PDstandardNth2gt13,kmadd(J33L,kmadd(J22L,PDstandardNth23gt13,kmul(J32L,PDstandardNth33gt13)),kmul(dJ323L,PDstandardNth3gt13)))))));
+
+ JacPDstandardNth32gt22 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt22,kmadd(J22L,PDstandardNth12gt22,kmul(J32L,PDstandardNth13gt22))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt22,kmul(J33L,PDstandardNth13gt22)),kmadd(dJ123L,PDstandardNth1gt22,kmadd(J23L,kmadd(J22L,PDstandardNth22gt22,kmul(J32L,PDstandardNth23gt22)),kmadd(dJ223L,PDstandardNth2gt22,kmadd(J33L,kmadd(J22L,PDstandardNth23gt22,kmul(J32L,PDstandardNth33gt22)),kmul(dJ323L,PDstandardNth3gt22)))))));
+
+ JacPDstandardNth32gt23 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt23,kmadd(J22L,PDstandardNth12gt23,kmul(J32L,PDstandardNth13gt23))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt23,kmul(J33L,PDstandardNth13gt23)),kmadd(dJ123L,PDstandardNth1gt23,kmadd(J23L,kmadd(J22L,PDstandardNth22gt23,kmul(J32L,PDstandardNth23gt23)),kmadd(dJ223L,PDstandardNth2gt23,kmadd(J33L,kmadd(J22L,PDstandardNth23gt23,kmul(J32L,PDstandardNth33gt23)),kmul(dJ323L,PDstandardNth3gt23)))))));
+
+ JacPDstandardNth32gt33 =
+ kmadd(J13L,kmadd(J12L,PDstandardNth11gt33,kmadd(J22L,PDstandardNth12gt33,kmul(J32L,PDstandardNth13gt33))),kmadd(J12L,kmadd(J23L,PDstandardNth12gt33,kmul(J33L,PDstandardNth13gt33)),kmadd(dJ123L,PDstandardNth1gt33,kmadd(J23L,kmadd(J22L,PDstandardNth22gt33,kmul(J32L,PDstandardNth23gt33)),kmadd(dJ223L,PDstandardNth2gt33,kmadd(J33L,kmadd(J22L,PDstandardNth23gt33,kmul(J32L,PDstandardNth33gt33)),kmul(dJ323L,PDstandardNth3gt33)))))));
+ }
+ else
+ {
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1Xt1 = PDstandardNth1Xt1;
+
+ JacPDstandardNth1Xt2 = PDstandardNth1Xt2;
+
+ JacPDstandardNth1Xt3 = PDstandardNth1Xt3;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2Xt1 = PDstandardNth2Xt1;
+
+ JacPDstandardNth2Xt2 = PDstandardNth2Xt2;
+
+ JacPDstandardNth2Xt3 = PDstandardNth2Xt3;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3Xt1 = PDstandardNth3Xt1;
+
+ JacPDstandardNth3Xt2 = PDstandardNth3Xt2;
+
+ JacPDstandardNth3Xt3 = PDstandardNth3Xt3;
+
+ JacPDstandardNth11gt11 = PDstandardNth11gt11;
+
+ JacPDstandardNth11gt12 = PDstandardNth11gt12;
+
+ JacPDstandardNth11gt13 = PDstandardNth11gt13;
+
+ JacPDstandardNth11gt22 = PDstandardNth11gt22;
+
+ JacPDstandardNth11gt23 = PDstandardNth11gt23;
+
+ JacPDstandardNth11gt33 = PDstandardNth11gt33;
+
+ JacPDstandardNth11phi = PDstandardNth11phi;
+
+ JacPDstandardNth22gt11 = PDstandardNth22gt11;
+
+ JacPDstandardNth22gt12 = PDstandardNth22gt12;
+
+ JacPDstandardNth22gt13 = PDstandardNth22gt13;
+
+ JacPDstandardNth22gt22 = PDstandardNth22gt22;
+
+ JacPDstandardNth22gt23 = PDstandardNth22gt23;
+
+ JacPDstandardNth22gt33 = PDstandardNth22gt33;
+
+ JacPDstandardNth22phi = PDstandardNth22phi;
+
+ JacPDstandardNth33gt11 = PDstandardNth33gt11;
+
+ JacPDstandardNth33gt12 = PDstandardNth33gt12;
+
+ JacPDstandardNth33gt13 = PDstandardNth33gt13;
+
+ JacPDstandardNth33gt22 = PDstandardNth33gt22;
+
+ JacPDstandardNth33gt23 = PDstandardNth33gt23;
+
+ JacPDstandardNth33gt33 = PDstandardNth33gt33;
+
+ JacPDstandardNth33phi = PDstandardNth33phi;
+
+ JacPDstandardNth12gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth12gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth12gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth12gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth12gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth12gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth12phi = PDstandardNth12phi;
+
+ JacPDstandardNth13gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth13gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth13gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth13gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth13gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth13gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth13phi = PDstandardNth13phi;
+
+ JacPDstandardNth21gt11 = PDstandardNth12gt11;
+
+ JacPDstandardNth21gt12 = PDstandardNth12gt12;
+
+ JacPDstandardNth21gt13 = PDstandardNth12gt13;
+
+ JacPDstandardNth21gt22 = PDstandardNth12gt22;
+
+ JacPDstandardNth21gt23 = PDstandardNth12gt23;
+
+ JacPDstandardNth21gt33 = PDstandardNth12gt33;
+
+ JacPDstandardNth23gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth23gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth23gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth23gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth23gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth23gt33 = PDstandardNth23gt33;
+
+ JacPDstandardNth23phi = PDstandardNth23phi;
+
+ JacPDstandardNth31gt11 = PDstandardNth13gt11;
+
+ JacPDstandardNth31gt12 = PDstandardNth13gt12;
+
+ JacPDstandardNth31gt13 = PDstandardNth13gt13;
+
+ JacPDstandardNth31gt22 = PDstandardNth13gt22;
+
+ JacPDstandardNth31gt23 = PDstandardNth13gt23;
+
+ JacPDstandardNth31gt33 = PDstandardNth13gt33;
+
+ JacPDstandardNth32gt11 = PDstandardNth23gt11;
+
+ JacPDstandardNth32gt12 = PDstandardNth23gt12;
+
+ JacPDstandardNth32gt13 = PDstandardNth23gt13;
+
+ JacPDstandardNth32gt22 = PDstandardNth23gt22;
+
+ JacPDstandardNth32gt23 = PDstandardNth23gt23;
+
+ JacPDstandardNth32gt33 = PDstandardNth23gt33;
+ }
+
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 = kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
@@ -258,50 +1262,50 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
- CCTK_REAL_VEC Gtl111 = kmul(PDstandardNth1gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl112 = kmul(PDstandardNth2gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl112 = kmul(JacPDstandardNth2gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl113 = kmul(PDstandardNth3gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl113 = kmul(JacPDstandardNth3gt11,ToReal(0.5));
CCTK_REAL_VEC Gtl122 =
- kmadd(PDstandardNth1gt22,ToReal(-0.5),PDstandardNth2gt12);
+ kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
CCTK_REAL_VEC Gtl123 =
- kmul(kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
CCTK_REAL_VEC Gtl133 =
- kmadd(PDstandardNth1gt33,ToReal(-0.5),PDstandardNth3gt13);
+ kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
CCTK_REAL_VEC Gtl211 =
- kmadd(PDstandardNth2gt11,ToReal(-0.5),PDstandardNth1gt12);
+ kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12);
- CCTK_REAL_VEC Gtl212 = kmul(PDstandardNth1gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl212 = kmul(JacPDstandardNth1gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl213 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
- CCTK_REAL_VEC Gtl222 = kmul(PDstandardNth2gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5));
- CCTK_REAL_VEC Gtl223 = kmul(PDstandardNth3gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl223 = kmul(JacPDstandardNth3gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl233 =
- kmadd(PDstandardNth2gt33,ToReal(-0.5),PDstandardNth3gt23);
+ kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23);
CCTK_REAL_VEC Gtl311 =
- kmadd(PDstandardNth3gt11,ToReal(-0.5),PDstandardNth1gt13);
+ kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
CCTK_REAL_VEC Gtl312 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
- CCTK_REAL_VEC Gtl313 = kmul(PDstandardNth1gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5));
CCTK_REAL_VEC Gtl322 =
- kmadd(PDstandardNth3gt22,ToReal(-0.5),PDstandardNth2gt23);
+ kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23);
- CCTK_REAL_VEC Gtl323 = kmul(PDstandardNth2gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl323 = kmul(JacPDstandardNth2gt33,ToReal(0.5));
- CCTK_REAL_VEC Gtl333 = kmul(PDstandardNth3gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl333 = kmul(JacPDstandardNth3gt33,ToReal(0.5));
CCTK_REAL_VEC Gtlu111 =
kmadd(Gtl111,gtu11,kmadd(Gtl112,gtu12,kmul(Gtl113,gtu13)));
@@ -448,52 +1452,52 @@ static void ML_BSSN_constraints1_Body(cGH const * restrict const cctkGH, int con
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC Rt11 =
- kmul(ToReal(0.5),kmadd(gtu12,kmul(PDstandardNth12gt11,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt11,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt11,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt11,knmsub(gtu22,PDstandardNth22gt11,knmsub(gtu33,PDstandardNth33gt11,kmadd(kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmul(gt11L,PDstandardNth1Xt1))))))),ToReal(2),kmadd(gt12L,kmul(PDstandardNth1Xt2,ToReal(2)),kmadd(gt13L,kmul(PDstandardNth1Xt3,ToReal(2)),kmadd(Gtl111,kmul(Xtn1,ToReal(2)),kmadd(Gtl112,kmul(Xtn2,ToReal(2)),kmadd(Gtl113,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(4),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(6))))))))))))))));
+ kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt11,knmsub(gtu22,JacPDstandardNth22gt11,knmsub(gtu33,JacPDstandardNth33gt11,knmsub(gtu12,kadd(JacPDstandardNth21gt11,JacPDstandardNth12gt11),knmsub(gtu13,kadd(JacPDstandardNth31gt11,JacPDstandardNth13gt11),knmsub(gtu23,kadd(JacPDstandardNth32gt11,JacPDstandardNth23gt11),kmadd(kmadd(Gt211,Gtlu211,kmadd(Gt212,Gtlu212,kmadd(Gt213,Gtlu213,kmadd(Gt311,Gtlu311,kmadd(Gt312,Gtlu312,kmadd(Gt313,Gtlu313,kmul(gt11L,JacPDstandardNth1Xt1))))))),ToReal(2),kmadd(gt12L,kmul(JacPDstandardNth1Xt2,ToReal(2)),kmadd(gt13L,kmul(JacPDstandardNth1Xt3,ToReal(2)),kmadd(Gtl111,kmul(Xtn1,ToReal(2)),kmadd(Gtl112,kmul(Xtn2,ToReal(2)),kmadd(Gtl113,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt211,Gtlu121,kmadd(Gt212,Gtlu122,kmadd(Gt213,Gtlu123,kmadd(Gt311,Gtlu131,kmadd(Gt312,Gtlu132,kmul(Gt313,Gtlu133)))))),ToReal(4),kmul(kmadd(Gt111,Gtlu111,kmadd(Gt112,Gtlu112,kmul(Gt113,Gtlu113))),ToReal(6))))))))))))))));
CCTK_REAL_VEC Rt12 =
- kmul(ToReal(0.5),kmadd(gt12L,PDstandardNth1Xt1,kmadd(gt22L,PDstandardNth1Xt2,kmadd(gt23L,PDstandardNth1Xt3,kmadd(gt11L,PDstandardNth2Xt1,kmadd(gt12L,PDstandardNth2Xt2,kmadd(gt13L,PDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,kmadd(gtu12,kmul(PDstandardNth12gt12,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt12,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt12,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt12,knmsub(gtu22,PDstandardNth22gt12,knmsub(gtu33,PDstandardNth33gt12,kmadd(kmadd(Gt112,Gtlu111,kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt112,Gtlu122,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,Gtlu212,kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4))))))))))))))))))))));
+ kmul(ToReal(0.5),kmadd(gt12L,JacPDstandardNth1Xt1,kmadd(gt22L,JacPDstandardNth1Xt2,kmadd(gt23L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth2Xt1,kmadd(gt12L,JacPDstandardNth2Xt2,kmadd(gt13L,JacPDstandardNth2Xt3,kmadd(Gtl112,Xtn1,kmadd(Gtl211,Xtn1,kmadd(Gtl122,Xtn2,kmadd(Gtl212,Xtn2,kmadd(Gtl123,Xtn3,kmadd(Gtl213,Xtn3,knmsub(gtu11,JacPDstandardNth11gt12,knmsub(gtu22,JacPDstandardNth22gt12,knmsub(gtu33,JacPDstandardNth33gt12,knmsub(gtu12,kadd(JacPDstandardNth21gt12,JacPDstandardNth12gt12),knmsub(gtu13,kadd(JacPDstandardNth31gt12,JacPDstandardNth13gt12),knmsub(gtu23,kadd(JacPDstandardNth32gt12,JacPDstandardNth23gt12),kmadd(kmadd(Gt122,Gtlu112,kmadd(Gt123,Gtlu113,kmadd(Gt111,Gtlu121,kmadd(Gt212,Gtlu121,kmadd(Gt222,Gtlu122,kmadd(Gt113,Gtlu123,kmadd(Gt223,Gtlu123,kmadd(Gt312,Gtlu131,kmadd(Gt322,Gtlu132,kmadd(Gt323,Gtlu133,kmadd(Gt111,Gtlu211,kmadd(Gt112,kadd(Gtlu111,kadd(Gtlu122,Gtlu212)),kmadd(Gt113,Gtlu213,kmadd(Gt311,Gtlu231,kmadd(Gt312,Gtlu232,kmadd(Gt313,Gtlu233,kmadd(Gt311,Gtlu321,kmadd(Gt312,Gtlu322,kmul(Gt313,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt211,Gtlu221,kmadd(Gt212,Gtlu222,kmul(Gt213,Gtlu223))),ToReal(4))))))))))))))))))))));
CCTK_REAL_VEC Rt13 =
- kmul(ToReal(0.5),kmadd(gt13L,PDstandardNth1Xt1,kmadd(gt23L,PDstandardNth1Xt2,kmadd(gt33L,PDstandardNth1Xt3,kmadd(gt11L,PDstandardNth3Xt1,kmadd(gt12L,PDstandardNth3Xt2,kmadd(gt13L,PDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,kmadd(gtu12,kmul(PDstandardNth12gt13,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt13,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt13,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt13,knmsub(gtu22,PDstandardNth22gt13,knmsub(gtu33,PDstandardNth33gt13,kmadd(kmadd(Gt113,Gtlu111,kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt113,Gtlu133,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,Gtlu313,kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4))))))))))))))))))))));
+ kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth1Xt1,kmadd(gt23L,JacPDstandardNth1Xt2,kmadd(gt33L,JacPDstandardNth1Xt3,kmadd(gt11L,JacPDstandardNth3Xt1,kmadd(gt12L,JacPDstandardNth3Xt2,kmadd(gt13L,JacPDstandardNth3Xt3,kmadd(Gtl113,Xtn1,kmadd(Gtl311,Xtn1,kmadd(Gtl123,Xtn2,kmadd(Gtl312,Xtn2,kmadd(Gtl133,Xtn3,kmadd(Gtl313,Xtn3,knmsub(gtu11,JacPDstandardNth11gt13,knmsub(gtu22,JacPDstandardNth22gt13,knmsub(gtu33,JacPDstandardNth33gt13,knmsub(gtu12,kadd(JacPDstandardNth21gt13,JacPDstandardNth12gt13),knmsub(gtu13,kadd(JacPDstandardNth31gt13,JacPDstandardNth13gt13),knmsub(gtu23,kadd(JacPDstandardNth32gt13,JacPDstandardNth23gt13),kmadd(kmadd(Gt123,Gtlu112,kmadd(Gt133,Gtlu113,kmadd(Gt213,Gtlu121,kmadd(Gt223,Gtlu122,kmadd(Gt233,Gtlu123,kmadd(Gt111,Gtlu131,kmadd(Gt313,Gtlu131,kmadd(Gt112,Gtlu132,kmadd(Gt323,Gtlu132,kmadd(Gt333,Gtlu133,kmadd(Gt211,Gtlu231,kmadd(Gt212,Gtlu232,kmadd(Gt213,Gtlu233,kmadd(Gt111,Gtlu311,kmadd(Gt112,Gtlu312,kmadd(Gt113,kadd(Gtlu111,kadd(Gtlu133,Gtlu313)),kmadd(Gt211,Gtlu321,kmadd(Gt212,Gtlu322,kmul(Gt213,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt311,Gtlu331,kmadd(Gt312,Gtlu332,kmul(Gt313,Gtlu333))),ToReal(4))))))))))))))))))))));
CCTK_REAL_VEC Rt22 =
- kmul(ToReal(0.5),kmadd(gtu12,kmul(PDstandardNth12gt22,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt22,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt22,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt22,knmsub(gtu22,PDstandardNth22gt22,knmsub(gtu33,PDstandardNth33gt22,kmadd(kmadd(Gt112,Gtlu121,kmadd(Gt122,Gtlu122,kmadd(Gt123,Gtlu123,kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmul(gt12L,PDstandardNth2Xt1))))))),ToReal(2),kmadd(gt22L,kmul(PDstandardNth2Xt2,ToReal(2)),kmadd(gt23L,kmul(PDstandardNth2Xt3,ToReal(2)),kmadd(Gtl212,kmul(Xtn1,ToReal(2)),kmadd(Gtl222,kmul(Xtn2,ToReal(2)),kmadd(Gtl223,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt112,Gtlu211,kmadd(Gt122,Gtlu212,kmadd(Gt123,Gtlu213,kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233)))))),ToReal(4),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(6))))))))))))))));
+ kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt22,knmsub(gtu22,JacPDstandardNth22gt22,knmsub(gtu33,JacPDstandardNth33gt22,knmsub(gtu12,kadd(JacPDstandardNth21gt22,JacPDstandardNth12gt22),knmsub(gtu13,kadd(JacPDstandardNth31gt22,JacPDstandardNth13gt22),knmsub(gtu23,kadd(JacPDstandardNth32gt22,JacPDstandardNth23gt22),kmadd(gt22L,kmul(JacPDstandardNth2Xt2,ToReal(2)),kmadd(gt23L,kmul(JacPDstandardNth2Xt3,ToReal(2)),kmadd(Gtl212,kmul(Xtn1,ToReal(2)),kmadd(Gtl222,kmul(Xtn2,ToReal(2)),kmadd(Gtl223,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt123,Gtlu123,kmadd(Gt312,Gtlu321,kmadd(Gt322,Gtlu322,kmadd(Gt323,Gtlu323,kmadd(gt12L,JacPDstandardNth2Xt1,kmadd(Gt112,kmadd(Gtlu211,ToReal(2),Gtlu121),kmul(Gt122,kmadd(Gtlu212,ToReal(2),Gtlu122)))))))),kmadd(kmadd(Gt123,Gtlu213,kmadd(Gt312,Gtlu231,kmadd(Gt322,Gtlu232,kmul(Gt323,Gtlu233)))),ToReal(4),kmul(kmadd(Gt212,Gtlu221,kmadd(Gt222,Gtlu222,kmul(Gt223,Gtlu223))),ToReal(6))))))))))))))));
CCTK_REAL_VEC Rt23 =
- kmul(ToReal(0.5),kmadd(gt13L,PDstandardNth2Xt1,kmadd(gt23L,PDstandardNth2Xt2,kmadd(gt33L,PDstandardNth2Xt3,kmadd(gt12L,PDstandardNth3Xt1,kmadd(gt22L,PDstandardNth3Xt2,kmadd(gt23L,PDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,kmadd(gtu12,kmul(PDstandardNth12gt23,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt23,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt23,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt23,knmsub(gtu22,PDstandardNth22gt23,knmsub(gtu33,PDstandardNth33gt23,kmadd(kmadd(Gt112,Gtlu131,kmadd(Gt122,Gtlu132,kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,Gtlu311,kmadd(Gt122,Gtlu312,kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4))))))))))))))))))))));
+ kmul(ToReal(0.5),kmadd(gt13L,JacPDstandardNth2Xt1,kmadd(gt23L,JacPDstandardNth2Xt2,kmadd(gt33L,JacPDstandardNth2Xt3,kmadd(gt12L,JacPDstandardNth3Xt1,kmadd(gt22L,JacPDstandardNth3Xt2,kmadd(gt23L,JacPDstandardNth3Xt3,kmadd(Gtl213,Xtn1,kmadd(Gtl312,Xtn1,kmadd(Gtl223,Xtn2,kmadd(Gtl322,Xtn2,kmadd(Gtl233,Xtn3,kmadd(Gtl323,Xtn3,knmsub(gtu11,JacPDstandardNth11gt23,knmsub(gtu22,JacPDstandardNth22gt23,knmsub(gtu33,JacPDstandardNth33gt23,knmsub(gtu12,kadd(JacPDstandardNth21gt23,JacPDstandardNth12gt23),knmsub(gtu13,kadd(JacPDstandardNth31gt23,JacPDstandardNth13gt23),knmsub(gtu23,kadd(JacPDstandardNth32gt23,JacPDstandardNth23gt23),kmadd(kmadd(Gt123,Gtlu133,kmadd(Gt113,Gtlu211,kmadd(Gt123,Gtlu212,kmadd(Gt133,Gtlu213,kmadd(Gt213,Gtlu221,kmadd(Gt223,Gtlu222,kmadd(Gt233,Gtlu223,kmadd(Gt212,Gtlu231,kmadd(Gt313,Gtlu231,kmadd(Gt222,Gtlu232,kmadd(Gt323,Gtlu232,kmadd(Gt223,Gtlu233,kmadd(Gt333,Gtlu233,kmadd(Gt112,kadd(Gtlu131,Gtlu311),kmadd(Gt122,kadd(Gtlu132,Gtlu312),kmadd(Gt123,Gtlu313,kmadd(Gt212,Gtlu321,kmadd(Gt222,Gtlu322,kmul(Gt223,Gtlu323))))))))))))))))))),ToReal(2),kmul(kmadd(Gt312,Gtlu331,kmadd(Gt322,Gtlu332,kmul(Gt323,Gtlu333))),ToReal(4))))))))))))))))))))));
CCTK_REAL_VEC Rt33 =
- kmul(ToReal(0.5),kmadd(gtu12,kmul(PDstandardNth12gt33,ToReal(-2)),kmadd(gtu13,kmul(PDstandardNth13gt33,ToReal(-2)),kmadd(gtu23,kmul(PDstandardNth23gt33,ToReal(-2)),knmsub(gtu11,PDstandardNth11gt33,knmsub(gtu22,PDstandardNth22gt33,knmsub(gtu33,PDstandardNth33gt33,kmadd(kmadd(Gt113,Gtlu131,kmadd(Gt123,Gtlu132,kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmul(gt13L,PDstandardNth3Xt1))))))),ToReal(2),kmadd(gt23L,kmul(PDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(PDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(kmadd(Gt113,Gtlu311,kmadd(Gt123,Gtlu312,kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
+ kmul(ToReal(0.5),knmsub(gtu11,JacPDstandardNth11gt33,knmsub(gtu22,JacPDstandardNth22gt33,knmsub(gtu33,JacPDstandardNth33gt33,knmsub(gtu12,kadd(JacPDstandardNth21gt33,JacPDstandardNth12gt33),knmsub(gtu13,kadd(JacPDstandardNth31gt33,JacPDstandardNth13gt33),knmsub(gtu23,kadd(JacPDstandardNth32gt33,JacPDstandardNth23gt33),kmadd(gt23L,kmul(JacPDstandardNth3Xt2,ToReal(2)),kmadd(gt33L,kmul(JacPDstandardNth3Xt3,ToReal(2)),kmadd(Gtl313,kmul(Xtn1,ToReal(2)),kmadd(Gtl323,kmul(Xtn2,ToReal(2)),kmadd(Gtl333,kmul(Xtn3,ToReal(2)),kmadd(ToReal(2),kmadd(Gt133,Gtlu133,kmadd(Gt213,Gtlu231,kmadd(Gt223,Gtlu232,kmadd(Gt233,Gtlu233,kmadd(gt13L,JacPDstandardNth3Xt1,kmadd(Gt113,kmadd(Gtlu311,ToReal(2),Gtlu131),kmul(Gt123,kmadd(Gtlu312,ToReal(2),Gtlu132)))))))),kmadd(kmadd(Gt133,Gtlu313,kmadd(Gt213,Gtlu321,kmadd(Gt223,Gtlu322,kmul(Gt233,Gtlu323)))),ToReal(4),kmul(kmadd(Gt313,Gtlu331,kmadd(Gt323,Gtlu332,kmul(Gt333,Gtlu333))),ToReal(6))))))))))))))));
CCTK_REAL_VEC fac1 =
IfThen(conformalMethod,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
- CCTK_REAL_VEC cdphi1 = kmul(fac1,PDstandardNth1phi);
+ CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
- CCTK_REAL_VEC cdphi2 = kmul(fac1,PDstandardNth2phi);
+ CCTK_REAL_VEC cdphi2 = kmul(fac1,JacPDstandardNth2phi);
- CCTK_REAL_VEC cdphi3 = kmul(fac1,PDstandardNth3phi);
+ CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC fac2 =
IfThen(conformalMethod,kmul(INV(SQR(phiL)),ToReal(0.5)),ToReal(0));
CCTK_REAL_VEC cdphi211 =
- kmsub(fac2,SQR(PDstandardNth1phi),kmul(fac1,kmadd(Gt111,PDstandardNth1phi,kmadd(Gt211,PDstandardNth2phi,kmsub(Gt311,PDstandardNth3phi,PDstandardNth11phi)))));
+ kmadd(fac2,SQR(JacPDstandardNth1phi),kmul(fac1,ksub(JacPDstandardNth11phi,kmadd(Gt111,JacPDstandardNth1phi,kmadd(Gt311,JacPDstandardNth3phi,kmul(Gt211,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi212 =
- kmsub(fac2,kmul(PDstandardNth1phi,PDstandardNth2phi),kmul(fac1,kmadd(Gt112,PDstandardNth1phi,kmadd(Gt212,PDstandardNth2phi,kmsub(Gt312,PDstandardNth3phi,PDstandardNth12phi)))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth2phi),kmul(fac1,ksub(JacPDstandardNth12phi,kmadd(Gt112,JacPDstandardNth1phi,kmadd(Gt312,JacPDstandardNth3phi,kmul(Gt212,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi213 =
- kmsub(fac2,kmul(PDstandardNth1phi,PDstandardNth3phi),kmul(fac1,kmadd(Gt113,PDstandardNth1phi,kmadd(Gt213,PDstandardNth2phi,kmsub(Gt313,PDstandardNth3phi,PDstandardNth13phi)))));
+ kmadd(fac2,kmul(JacPDstandardNth1phi,JacPDstandardNth3phi),kmul(fac1,ksub(JacPDstandardNth13phi,kmadd(Gt113,JacPDstandardNth1phi,kmadd(Gt313,JacPDstandardNth3phi,kmul(Gt213,JacPDstandardNth2phi))))));
CCTK_REAL_VEC cdphi222 =
- kmsub(fac2,SQR(PDstandardNth2phi),kmul(fac1,kmadd(Gt122,PDstandardNth1phi,kmadd(Gt222,PDstandardNth2phi,kmsub(Gt322,PDstandardNth3phi,PDstandardNth22phi)))));
+ kmsub(fac2,SQR(JacPDstandardNth2phi),kmul(fac1,kmadd(Gt122,JacPDstandardNth1phi,kmadd(Gt222,JacPDstandardNth2phi,kmsub(Gt322,JacPDstandardNth3phi,JacPDstandardNth22phi)))));
CCTK_REAL_VEC cdphi223 =
- kmsub(fac2,kmul(PDstandardNth2phi,PDstandardNth3phi),kmul(fac1,kmadd(Gt123,PDstandardNth1phi,kmadd(Gt223,PDstandardNth2phi,kmsub(Gt323,PDstandardNth3phi,PDstandardNth23phi)))));
+ kmsub(fac2,kmul(JacPDstandardNth2phi,JacPDstandardNth3phi),kmul(fac1,kmadd(Gt123,JacPDstandardNth1phi,kmadd(Gt223,JacPDstandardNth2phi,kmsub(Gt323,JacPDstandardNth3phi,JacPDstandardNth23phi)))));
CCTK_REAL_VEC cdphi233 =
- kmsub(fac2,SQR(PDstandardNth3phi),kmul(fac1,kmadd(Gt133,PDstandardNth1phi,kmadd(Gt233,PDstandardNth2phi,kmsub(Gt333,PDstandardNth3phi,PDstandardNth33phi)))));
+ kmsub(fac2,SQR(JacPDstandardNth3phi),kmul(fac1,kmadd(Gt133,JacPDstandardNth1phi,kmadd(Gt233,JacPDstandardNth2phi,kmsub(Gt333,JacPDstandardNth3phi,JacPDstandardNth33phi)))));
CCTK_REAL_VEC Rphi11 =
kmul(ToReal(-2),kadd(cdphi211,kmadd(SQR(cdphi1),kmul(kmadd(gt11L,gtu11,ToReal(-1)),ToReal(2)),kmul(gt11L,kmadd(cdphi211,gtu11,kmadd(cdphi233,gtu33,kmadd(kmadd(cdphi212,gtu12,kmadd(cdphi213,gtu13,kmadd(cdphi223,gtu23,kmul(gtu33,SQR(cdphi3))))),ToReal(2),kmadd(gtu22,kmadd(SQR(cdphi2),ToReal(2),cdphi222),kmul(kmadd(cdphi1,kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),kmul(cdphi2,kmul(cdphi3,gtu23))),ToReal(4))))))))));
diff --git a/ML_BSSN/src/ML_BSSN_constraints2.cc b/ML_BSSN/src/ML_BSSN_constraints2.cc
index 442917a..2c39faf 100644
--- a/ML_BSSN/src/ML_BSSN_constraints2.cc
+++ b/ML_BSSN/src/ML_BSSN_constraints2.cc
@@ -64,7 +64,24 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
const char *groups[] = {"ML_BSSN::ML_cons_detg","ML_BSSN::ML_cons_Gamma","ML_BSSN::ML_cons_traceA","ML_BSSN::ML_curv","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_mom","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_constraints2", 11, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 2, 2, 2);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 1, 1, 1);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 2, 2, 2);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 3, 3, 3);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_constraints2", 4, 4, 4);
+ break;
+ }
/* Include user-supplied include files */
@@ -92,24 +109,129 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -171,53 +293,509 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
eTzzL = ToReal(0.0);
}
+ CCTK_REAL_VEC J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDstandardNth1At11 = PDstandardNth1(&At11[index]);
- CCTK_REAL_VEC const PDstandardNth2At11 = PDstandardNth2(&At11[index]);
- CCTK_REAL_VEC const PDstandardNth3At11 = PDstandardNth3(&At11[index]);
- CCTK_REAL_VEC const PDstandardNth1At12 = PDstandardNth1(&At12[index]);
- CCTK_REAL_VEC const PDstandardNth2At12 = PDstandardNth2(&At12[index]);
- CCTK_REAL_VEC const PDstandardNth3At12 = PDstandardNth3(&At12[index]);
- CCTK_REAL_VEC const PDstandardNth1At13 = PDstandardNth1(&At13[index]);
- CCTK_REAL_VEC const PDstandardNth2At13 = PDstandardNth2(&At13[index]);
- CCTK_REAL_VEC const PDstandardNth3At13 = PDstandardNth3(&At13[index]);
- CCTK_REAL_VEC const PDstandardNth1At22 = PDstandardNth1(&At22[index]);
- CCTK_REAL_VEC const PDstandardNth2At22 = PDstandardNth2(&At22[index]);
- CCTK_REAL_VEC const PDstandardNth3At22 = PDstandardNth3(&At22[index]);
- CCTK_REAL_VEC const PDstandardNth1At23 = PDstandardNth1(&At23[index]);
- CCTK_REAL_VEC const PDstandardNth2At23 = PDstandardNth2(&At23[index]);
- CCTK_REAL_VEC const PDstandardNth3At23 = PDstandardNth3(&At23[index]);
- CCTK_REAL_VEC const PDstandardNth1At33 = PDstandardNth1(&At33[index]);
- CCTK_REAL_VEC const PDstandardNth2At33 = PDstandardNth2(&At33[index]);
- CCTK_REAL_VEC const PDstandardNth3At33 = PDstandardNth3(&At33[index]);
- CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth1phi = PDstandardNth1(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth2phi = PDstandardNth2(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth3phi = PDstandardNth3(&phi[index]);
- CCTK_REAL_VEC const PDstandardNth1trK = PDstandardNth1(&trK[index]);
- CCTK_REAL_VEC const PDstandardNth2trK = PDstandardNth2(&trK[index]);
- CCTK_REAL_VEC const PDstandardNth3trK = PDstandardNth3(&trK[index]);
+ CCTK_REAL_VEC PDstandardNth1At11;
+ CCTK_REAL_VEC PDstandardNth2At11;
+ CCTK_REAL_VEC PDstandardNth3At11;
+ CCTK_REAL_VEC PDstandardNth1At12;
+ CCTK_REAL_VEC PDstandardNth2At12;
+ CCTK_REAL_VEC PDstandardNth3At12;
+ CCTK_REAL_VEC PDstandardNth1At13;
+ CCTK_REAL_VEC PDstandardNth2At13;
+ CCTK_REAL_VEC PDstandardNth3At13;
+ CCTK_REAL_VEC PDstandardNth1At22;
+ CCTK_REAL_VEC PDstandardNth2At22;
+ CCTK_REAL_VEC PDstandardNth3At22;
+ CCTK_REAL_VEC PDstandardNth1At23;
+ CCTK_REAL_VEC PDstandardNth2At23;
+ CCTK_REAL_VEC PDstandardNth3At23;
+ CCTK_REAL_VEC PDstandardNth1At33;
+ CCTK_REAL_VEC PDstandardNth2At33;
+ CCTK_REAL_VEC PDstandardNth3At33;
+ CCTK_REAL_VEC PDstandardNth1gt11;
+ CCTK_REAL_VEC PDstandardNth2gt11;
+ CCTK_REAL_VEC PDstandardNth3gt11;
+ CCTK_REAL_VEC PDstandardNth1gt12;
+ CCTK_REAL_VEC PDstandardNth2gt12;
+ CCTK_REAL_VEC PDstandardNth3gt12;
+ CCTK_REAL_VEC PDstandardNth1gt13;
+ CCTK_REAL_VEC PDstandardNth2gt13;
+ CCTK_REAL_VEC PDstandardNth3gt13;
+ CCTK_REAL_VEC PDstandardNth1gt22;
+ CCTK_REAL_VEC PDstandardNth2gt22;
+ CCTK_REAL_VEC PDstandardNth3gt22;
+ CCTK_REAL_VEC PDstandardNth1gt23;
+ CCTK_REAL_VEC PDstandardNth2gt23;
+ CCTK_REAL_VEC PDstandardNth3gt23;
+ CCTK_REAL_VEC PDstandardNth1gt33;
+ CCTK_REAL_VEC PDstandardNth2gt33;
+ CCTK_REAL_VEC PDstandardNth3gt33;
+ CCTK_REAL_VEC PDstandardNth1phi;
+ CCTK_REAL_VEC PDstandardNth2phi;
+ CCTK_REAL_VEC PDstandardNth3phi;
+ CCTK_REAL_VEC PDstandardNth1trK;
+ CCTK_REAL_VEC PDstandardNth2trK;
+ CCTK_REAL_VEC PDstandardNth3trK;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDstandardNth1At11 = PDstandardNthfdOrder21(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder22(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder23(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder21(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder22(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder23(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder21(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder22(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder23(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder21(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder22(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder23(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder21(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder22(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder23(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder21(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder22(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder23(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder21(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder22(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder23(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder21(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder22(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder23(&trK[index]);
+ break;
+
+ case 4:
+ PDstandardNth1At11 = PDstandardNthfdOrder41(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder42(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder43(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder41(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder42(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder43(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder41(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder42(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder43(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder41(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder42(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder43(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder41(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder42(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder43(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder41(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder42(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder43(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder41(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder42(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder43(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder41(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder42(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder43(&trK[index]);
+ break;
+
+ case 6:
+ PDstandardNth1At11 = PDstandardNthfdOrder61(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder62(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder63(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder61(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder62(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder63(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder61(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder62(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder63(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder61(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder62(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder63(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder61(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder62(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder63(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder61(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder62(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder63(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder61(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder62(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder63(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder61(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder62(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder63(&trK[index]);
+ break;
+
+ case 8:
+ PDstandardNth1At11 = PDstandardNthfdOrder81(&At11[index]);
+ PDstandardNth2At11 = PDstandardNthfdOrder82(&At11[index]);
+ PDstandardNth3At11 = PDstandardNthfdOrder83(&At11[index]);
+ PDstandardNth1At12 = PDstandardNthfdOrder81(&At12[index]);
+ PDstandardNth2At12 = PDstandardNthfdOrder82(&At12[index]);
+ PDstandardNth3At12 = PDstandardNthfdOrder83(&At12[index]);
+ PDstandardNth1At13 = PDstandardNthfdOrder81(&At13[index]);
+ PDstandardNth2At13 = PDstandardNthfdOrder82(&At13[index]);
+ PDstandardNth3At13 = PDstandardNthfdOrder83(&At13[index]);
+ PDstandardNth1At22 = PDstandardNthfdOrder81(&At22[index]);
+ PDstandardNth2At22 = PDstandardNthfdOrder82(&At22[index]);
+ PDstandardNth3At22 = PDstandardNthfdOrder83(&At22[index]);
+ PDstandardNth1At23 = PDstandardNthfdOrder81(&At23[index]);
+ PDstandardNth2At23 = PDstandardNthfdOrder82(&At23[index]);
+ PDstandardNth3At23 = PDstandardNthfdOrder83(&At23[index]);
+ PDstandardNth1At33 = PDstandardNthfdOrder81(&At33[index]);
+ PDstandardNth2At33 = PDstandardNthfdOrder82(&At33[index]);
+ PDstandardNth3At33 = PDstandardNthfdOrder83(&At33[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ PDstandardNth1phi = PDstandardNthfdOrder81(&phi[index]);
+ PDstandardNth2phi = PDstandardNthfdOrder82(&phi[index]);
+ PDstandardNth3phi = PDstandardNthfdOrder83(&phi[index]);
+ PDstandardNth1trK = PDstandardNthfdOrder81(&trK[index]);
+ PDstandardNth2trK = PDstandardNthfdOrder82(&trK[index]);
+ PDstandardNth3trK = PDstandardNthfdOrder83(&trK[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandardNth1At11;
+ CCTK_REAL_VEC JacPDstandardNth1At12;
+ CCTK_REAL_VEC JacPDstandardNth1At13;
+ CCTK_REAL_VEC JacPDstandardNth1At22;
+ CCTK_REAL_VEC JacPDstandardNth1At23;
+ CCTK_REAL_VEC JacPDstandardNth1At33;
+ CCTK_REAL_VEC JacPDstandardNth1gt11;
+ CCTK_REAL_VEC JacPDstandardNth1gt12;
+ CCTK_REAL_VEC JacPDstandardNth1gt13;
+ CCTK_REAL_VEC JacPDstandardNth1gt22;
+ CCTK_REAL_VEC JacPDstandardNth1gt23;
+ CCTK_REAL_VEC JacPDstandardNth1gt33;
+ CCTK_REAL_VEC JacPDstandardNth1phi;
+ CCTK_REAL_VEC JacPDstandardNth1trK;
+ CCTK_REAL_VEC JacPDstandardNth2At11;
+ CCTK_REAL_VEC JacPDstandardNth2At12;
+ CCTK_REAL_VEC JacPDstandardNth2At13;
+ CCTK_REAL_VEC JacPDstandardNth2At22;
+ CCTK_REAL_VEC JacPDstandardNth2At23;
+ CCTK_REAL_VEC JacPDstandardNth2At33;
+ CCTK_REAL_VEC JacPDstandardNth2gt11;
+ CCTK_REAL_VEC JacPDstandardNth2gt12;
+ CCTK_REAL_VEC JacPDstandardNth2gt13;
+ CCTK_REAL_VEC JacPDstandardNth2gt22;
+ CCTK_REAL_VEC JacPDstandardNth2gt23;
+ CCTK_REAL_VEC JacPDstandardNth2gt33;
+ CCTK_REAL_VEC JacPDstandardNth2phi;
+ CCTK_REAL_VEC JacPDstandardNth2trK;
+ CCTK_REAL_VEC JacPDstandardNth3At11;
+ CCTK_REAL_VEC JacPDstandardNth3At12;
+ CCTK_REAL_VEC JacPDstandardNth3At13;
+ CCTK_REAL_VEC JacPDstandardNth3At22;
+ CCTK_REAL_VEC JacPDstandardNth3At23;
+ CCTK_REAL_VEC JacPDstandardNth3At33;
+ CCTK_REAL_VEC JacPDstandardNth3gt11;
+ CCTK_REAL_VEC JacPDstandardNth3gt12;
+ CCTK_REAL_VEC JacPDstandardNth3gt13;
+ CCTK_REAL_VEC JacPDstandardNth3gt22;
+ CCTK_REAL_VEC JacPDstandardNth3gt23;
+ CCTK_REAL_VEC JacPDstandardNth3gt33;
+ CCTK_REAL_VEC JacPDstandardNth3phi;
+ CCTK_REAL_VEC JacPDstandardNth3trK;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1At11 =
+ kmadd(J11L,PDstandardNth1At11,kmadd(J21L,PDstandardNth2At11,kmul(J31L,PDstandardNth3At11)));
+
+ JacPDstandardNth1At12 =
+ kmadd(J11L,PDstandardNth1At12,kmadd(J21L,PDstandardNth2At12,kmul(J31L,PDstandardNth3At12)));
+
+ JacPDstandardNth1At13 =
+ kmadd(J11L,PDstandardNth1At13,kmadd(J21L,PDstandardNth2At13,kmul(J31L,PDstandardNth3At13)));
+
+ JacPDstandardNth1At22 =
+ kmadd(J11L,PDstandardNth1At22,kmadd(J21L,PDstandardNth2At22,kmul(J31L,PDstandardNth3At22)));
+
+ JacPDstandardNth1At23 =
+ kmadd(J11L,PDstandardNth1At23,kmadd(J21L,PDstandardNth2At23,kmul(J31L,PDstandardNth3At23)));
+
+ JacPDstandardNth1At33 =
+ kmadd(J11L,PDstandardNth1At33,kmadd(J21L,PDstandardNth2At33,kmul(J31L,PDstandardNth3At33)));
+
+ JacPDstandardNth1gt11 =
+ kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11)));
+
+ JacPDstandardNth1gt12 =
+ kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12)));
+
+ JacPDstandardNth1gt13 =
+ kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13)));
+
+ JacPDstandardNth1gt22 =
+ kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22)));
+
+ JacPDstandardNth1gt23 =
+ kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23)));
+
+ JacPDstandardNth1gt33 =
+ kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33)));
+
+ JacPDstandardNth1phi =
+ kmadd(J11L,PDstandardNth1phi,kmadd(J21L,PDstandardNth2phi,kmul(J31L,PDstandardNth3phi)));
+
+ JacPDstandardNth1trK =
+ kmadd(J11L,PDstandardNth1trK,kmadd(J21L,PDstandardNth2trK,kmul(J31L,PDstandardNth3trK)));
+
+ JacPDstandardNth2At11 =
+ kmadd(J12L,PDstandardNth1At11,kmadd(J22L,PDstandardNth2At11,kmul(J32L,PDstandardNth3At11)));
+
+ JacPDstandardNth2At12 =
+ kmadd(J12L,PDstandardNth1At12,kmadd(J22L,PDstandardNth2At12,kmul(J32L,PDstandardNth3At12)));
+
+ JacPDstandardNth2At13 =
+ kmadd(J12L,PDstandardNth1At13,kmadd(J22L,PDstandardNth2At13,kmul(J32L,PDstandardNth3At13)));
+
+ JacPDstandardNth2At22 =
+ kmadd(J12L,PDstandardNth1At22,kmadd(J22L,PDstandardNth2At22,kmul(J32L,PDstandardNth3At22)));
+
+ JacPDstandardNth2At23 =
+ kmadd(J12L,PDstandardNth1At23,kmadd(J22L,PDstandardNth2At23,kmul(J32L,PDstandardNth3At23)));
+
+ JacPDstandardNth2At33 =
+ kmadd(J12L,PDstandardNth1At33,kmadd(J22L,PDstandardNth2At33,kmul(J32L,PDstandardNth3At33)));
+
+ JacPDstandardNth2gt11 =
+ kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11)));
+
+ JacPDstandardNth2gt12 =
+ kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12)));
+
+ JacPDstandardNth2gt13 =
+ kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13)));
+
+ JacPDstandardNth2gt22 =
+ kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22)));
+
+ JacPDstandardNth2gt23 =
+ kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23)));
+
+ JacPDstandardNth2gt33 =
+ kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33)));
+
+ JacPDstandardNth2phi =
+ kmadd(J12L,PDstandardNth1phi,kmadd(J22L,PDstandardNth2phi,kmul(J32L,PDstandardNth3phi)));
+
+ JacPDstandardNth2trK =
+ kmadd(J12L,PDstandardNth1trK,kmadd(J22L,PDstandardNth2trK,kmul(J32L,PDstandardNth3trK)));
+
+ JacPDstandardNth3At11 =
+ kmadd(J13L,PDstandardNth1At11,kmadd(J23L,PDstandardNth2At11,kmul(J33L,PDstandardNth3At11)));
+
+ JacPDstandardNth3At12 =
+ kmadd(J13L,PDstandardNth1At12,kmadd(J23L,PDstandardNth2At12,kmul(J33L,PDstandardNth3At12)));
+
+ JacPDstandardNth3At13 =
+ kmadd(J13L,PDstandardNth1At13,kmadd(J23L,PDstandardNth2At13,kmul(J33L,PDstandardNth3At13)));
+
+ JacPDstandardNth3At22 =
+ kmadd(J13L,PDstandardNth1At22,kmadd(J23L,PDstandardNth2At22,kmul(J33L,PDstandardNth3At22)));
+
+ JacPDstandardNth3At23 =
+ kmadd(J13L,PDstandardNth1At23,kmadd(J23L,PDstandardNth2At23,kmul(J33L,PDstandardNth3At23)));
+
+ JacPDstandardNth3At33 =
+ kmadd(J13L,PDstandardNth1At33,kmadd(J23L,PDstandardNth2At33,kmul(J33L,PDstandardNth3At33)));
+
+ JacPDstandardNth3gt11 =
+ kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11)));
+
+ JacPDstandardNth3gt12 =
+ kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12)));
+
+ JacPDstandardNth3gt13 =
+ kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13)));
+
+ JacPDstandardNth3gt22 =
+ kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22)));
+
+ JacPDstandardNth3gt23 =
+ kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23)));
+
+ JacPDstandardNth3gt33 =
+ kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33)));
+
+ JacPDstandardNth3phi =
+ kmadd(J13L,PDstandardNth1phi,kmadd(J23L,PDstandardNth2phi,kmul(J33L,PDstandardNth3phi)));
+
+ JacPDstandardNth3trK =
+ kmadd(J13L,PDstandardNth1trK,kmadd(J23L,PDstandardNth2trK,kmul(J33L,PDstandardNth3trK)));
+ }
+ else
+ {
+ JacPDstandardNth1At11 = PDstandardNth1At11;
+
+ JacPDstandardNth1At12 = PDstandardNth1At12;
+
+ JacPDstandardNth1At13 = PDstandardNth1At13;
+
+ JacPDstandardNth1At22 = PDstandardNth1At22;
+
+ JacPDstandardNth1At23 = PDstandardNth1At23;
+
+ JacPDstandardNth1At33 = PDstandardNth1At33;
+
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth1phi = PDstandardNth1phi;
+
+ JacPDstandardNth1trK = PDstandardNth1trK;
+
+ JacPDstandardNth2At11 = PDstandardNth2At11;
+
+ JacPDstandardNth2At12 = PDstandardNth2At12;
+
+ JacPDstandardNth2At13 = PDstandardNth2At13;
+
+ JacPDstandardNth2At22 = PDstandardNth2At22;
+
+ JacPDstandardNth2At23 = PDstandardNth2At23;
+
+ JacPDstandardNth2At33 = PDstandardNth2At33;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth2phi = PDstandardNth2phi;
+
+ JacPDstandardNth2trK = PDstandardNth2trK;
+
+ JacPDstandardNth3At11 = PDstandardNth3At11;
+
+ JacPDstandardNth3At12 = PDstandardNth3At12;
+
+ JacPDstandardNth3At13 = PDstandardNth3At13;
+
+ JacPDstandardNth3At22 = PDstandardNth3At22;
+
+ JacPDstandardNth3At23 = PDstandardNth3At23;
+
+ JacPDstandardNth3At33 = PDstandardNth3At33;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDstandardNth3phi = PDstandardNth3phi;
+
+ JacPDstandardNth3trK = PDstandardNth3trK;
+ }
+
CCTK_REAL_VEC detgt = ToReal(1);
CCTK_REAL_VEC gtu11 = kmul(INV(detgt),kmsub(gt22L,gt33L,SQR(gt23L)));
@@ -235,50 +813,50 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
- CCTK_REAL_VEC Gtl111 = kmul(PDstandardNth1gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl111 = kmul(JacPDstandardNth1gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl112 = kmul(PDstandardNth2gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl112 = kmul(JacPDstandardNth2gt11,ToReal(0.5));
- CCTK_REAL_VEC Gtl113 = kmul(PDstandardNth3gt11,ToReal(0.5));
+ CCTK_REAL_VEC Gtl113 = kmul(JacPDstandardNth3gt11,ToReal(0.5));
CCTK_REAL_VEC Gtl122 =
- kmadd(PDstandardNth1gt22,ToReal(-0.5),PDstandardNth2gt12);
+ kmadd(JacPDstandardNth1gt22,ToReal(-0.5),JacPDstandardNth2gt12);
CCTK_REAL_VEC Gtl123 =
- kmul(kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23)),ToReal(0.5));
CCTK_REAL_VEC Gtl133 =
- kmadd(PDstandardNth1gt33,ToReal(-0.5),PDstandardNth3gt13);
+ kmadd(JacPDstandardNth1gt33,ToReal(-0.5),JacPDstandardNth3gt13);
CCTK_REAL_VEC Gtl211 =
- kmadd(PDstandardNth2gt11,ToReal(-0.5),PDstandardNth1gt12);
+ kmadd(JacPDstandardNth2gt11,ToReal(-0.5),JacPDstandardNth1gt12);
- CCTK_REAL_VEC Gtl212 = kmul(PDstandardNth1gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl212 = kmul(JacPDstandardNth1gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl213 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13)),ToReal(0.5));
- CCTK_REAL_VEC Gtl222 = kmul(PDstandardNth2gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl222 = kmul(JacPDstandardNth2gt22,ToReal(0.5));
- CCTK_REAL_VEC Gtl223 = kmul(PDstandardNth3gt22,ToReal(0.5));
+ CCTK_REAL_VEC Gtl223 = kmul(JacPDstandardNth3gt22,ToReal(0.5));
CCTK_REAL_VEC Gtl233 =
- kmadd(PDstandardNth2gt33,ToReal(-0.5),PDstandardNth3gt23);
+ kmadd(JacPDstandardNth2gt33,ToReal(-0.5),JacPDstandardNth3gt23);
CCTK_REAL_VEC Gtl311 =
- kmadd(PDstandardNth3gt11,ToReal(-0.5),PDstandardNth1gt13);
+ kmadd(JacPDstandardNth3gt11,ToReal(-0.5),JacPDstandardNth1gt13);
CCTK_REAL_VEC Gtl312 =
- kmul(kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12)),ToReal(0.5));
+ kmul(kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12)),ToReal(0.5));
- CCTK_REAL_VEC Gtl313 = kmul(PDstandardNth1gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl313 = kmul(JacPDstandardNth1gt33,ToReal(0.5));
CCTK_REAL_VEC Gtl322 =
- kmadd(PDstandardNth3gt22,ToReal(-0.5),PDstandardNth2gt23);
+ kmadd(JacPDstandardNth3gt22,ToReal(-0.5),JacPDstandardNth2gt23);
- CCTK_REAL_VEC Gtl323 = kmul(PDstandardNth2gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl323 = kmul(JacPDstandardNth2gt33,ToReal(0.5));
- CCTK_REAL_VEC Gtl333 = kmul(PDstandardNth3gt33,ToReal(0.5));
+ CCTK_REAL_VEC Gtl333 = kmul(JacPDstandardNth3gt33,ToReal(0.5));
CCTK_REAL_VEC Gt111 =
kmadd(Gtl111,gtu11,kmadd(Gtl211,gtu12,kmul(Gtl311,gtu13)));
@@ -337,11 +915,11 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
CCTK_REAL_VEC fac1 =
IfThen(conformalMethod,kmul(INV(phiL),ToReal(-0.5)),ToReal(1));
- CCTK_REAL_VEC cdphi1 = kmul(fac1,PDstandardNth1phi);
+ CCTK_REAL_VEC cdphi1 = kmul(fac1,JacPDstandardNth1phi);
- CCTK_REAL_VEC cdphi2 = kmul(fac1,PDstandardNth2phi);
+ CCTK_REAL_VEC cdphi2 = kmul(fac1,JacPDstandardNth2phi);
- CCTK_REAL_VEC cdphi3 = kmul(fac1,PDstandardNth3phi);
+ CCTK_REAL_VEC cdphi3 = kmul(fac1,JacPDstandardNth3phi);
CCTK_REAL_VEC S1 =
kmul(INV(alphaL),kmadd(beta1L,eTxxL,kmadd(beta2L,eTxyL,kmsub(beta3L,eTxzL,eTtxL))));
@@ -353,13 +931,13 @@ static void ML_BSSN_constraints2_Body(cGH const * restrict const cctkGH, int con
kmul(INV(alphaL),kmadd(beta1L,eTxzL,kmadd(beta2L,eTyzL,kmsub(beta3L,eTzzL,eTtzL))));
CCTK_REAL_VEC M1L =
- kmadd(gtu11,PDstandardNth1At11,kmadd(gtu22,PDstandardNth2At12,kmadd(gtu33,PDstandardNth3At13,kmadd(S1,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At12L,Gt211,kmul(At13L,Gt311)),gtu11,kmul(At11L,kmul(Gt123,gtu23))),ToReal(-2.),kmadd(kmadd(kmadd(At22L,Gt212,kmadd(At12L,kadd(Gt112,Gt222),kmul(At23L,Gt312))),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At12L,Gt113,kmul(At23L,Gt212))),gtu23,kmul(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33))),ToReal(-1.),kmadd(gtu12,kadd(PDstandardNth1At12,kadd(PDstandardNth2At11,kmadd(kmadd(At11L,Gt112,kmadd(At12L,Gt212,kmul(At13L,Gt312))),ToReal(-3.),kmul(kmadd(At22L,Gt211,kmul(At23L,Gt311)),ToReal(-1.))))),kmadd(gtu13,kadd(PDstandardNth1At13,kadd(PDstandardNth3At11,kmadd(kmadd(At11L,Gt113,kmul(At13L,Gt313)),ToReal(-3.),kmul(kmadd(At23L,Gt211,kmul(At33L,Gt311)),ToReal(-1.))))),kmadd(gtu23,kadd(PDstandardNth2At13,kadd(PDstandardNth3At12,kmadd(kmadd(At12L,Gt223,kmul(At13L,Gt323)),ToReal(-2.),kmul(kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,Gt313))),ToReal(-1.))))),kmadd(PDstandardNth1trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At11L,kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),ToReal(6.),kmul(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.)))))),kmadd(At12L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))))))),kmul(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.)))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At11,kmadd(gtu22,JacPDstandardNth2At12,kmadd(gtu23,kadd(JacPDstandardNth2At13,JacPDstandardNth3At12),kmadd(gtu33,JacPDstandardNth3At13,kmadd(S1,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At22L,Gt212,kmul(At23L,Gt312)),gtu22,kmadd(kmadd(At13L,Gt112,kmadd(At22L,Gt213,kmadd(At33L,Gt312,kmul(At23L,kadd(Gt212,Gt313))))),gtu23,kmul(kmadd(At13L,Gt113,kmadd(At23L,Gt213,kmul(At33L,Gt313))),gtu33))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At12,kadd(JacPDstandardNth2At11,kmadd(At13L,kmul(Gt312,ToReal(-3.)),kmul(At22L,kmul(Gt211,ToReal(-1.)))))),kmadd(gtu13,kadd(JacPDstandardNth1At13,kadd(JacPDstandardNth3At11,kmadd(At13L,kmul(Gt313,ToReal(-3.)),kmul(At23L,kmul(Gt211,ToReal(-1.)))))),kmadd(Gt311,kmadd(At13L,kmul(gtu11,ToReal(-2.)),kmul(kmadd(At23L,gtu12,kmul(At33L,gtu13)),ToReal(-1.))),kmadd(JacPDstandardNth1trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At13L,kmadd(kmadd(Gt322,gtu22,kmul(Gt333,gtu33)),ToReal(-1.),kmadd(cdphi3,kmul(gtu33,ToReal(6.)),kmadd(gtu13,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmul(gtu23,kmadd(Gt323,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))),kmadd(At11L,kmadd(Gt123,kmul(gtu23,ToReal(-2.)),kmadd(kmadd(Gt122,gtu22,kmul(Gt133,gtu33)),ToReal(-1.),kmadd(gtu11,kmadd(Gt111,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmul(cdphi2,ToReal(6.))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmul(cdphi3,ToReal(6.)))))))),kmul(At12L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(kmadd(Gt211,gtu11,kmul(Gt223,gtu23)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(gtu12,kmadd(Gt212,ToReal(-3.),kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.)))),kmadd(gtu22,kmadd(kadd(Gt112,Gt222),ToReal(-1.),kmul(cdphi2,ToReal(6.))),kmul(gtu23,kmadd(Gt113,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
CCTK_REAL_VEC M2L =
- kmadd(gtu11,PDstandardNth1At12,kmadd(gtu22,PDstandardNth2At22,kmadd(gtu33,PDstandardNth3At23,kmadd(S2,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At11L,Gt112,kmadd(At22L,Gt211,kmadd(At12L,Gt212,kmadd(At23L,Gt311,kmul(At13L,Gt312))))),gtu11,kmadd(Gt122,kmadd(At11L,gtu12,kmul(At13L,gtu23)),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt112,gtu13,kmul(Gt123,gtu33)))))),ToReal(-1.),kmadd(gtu23,kadd(PDstandardNth2At23,kadd(PDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(PDstandardNth2trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At23L,kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.)))),kmadd(gtu12,kadd(PDstandardNth1At22,kadd(PDstandardNth2At12,kmadd(At23L,kmul(Gt312,ToReal(-3.)),kmadd(At13L,kmul(Gt322,ToReal(-1.)),kmadd(At12L,kmadd(Gt112,ToReal(-3.),kmul(Gt222,ToReal(-1.))),kmul(At22L,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))))),kmadd(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),ToReal(6.),kmul(gtu11,kmadd(Gt111,ToReal(-1.),kmul(cdphi1,ToReal(6.)))))))),kmadd(gtu13,kadd(PDstandardNth1At23,kadd(PDstandardNth3At12,kmadd(kmadd(At12L,Gt113,kmul(At22L,Gt213)),ToReal(-2.),kmadd(kmadd(At11L,Gt123,kmadd(At12L,Gt223,kmadd(At33L,Gt312,kmul(At13L,Gt323)))),ToReal(-1.),kmul(At23L,kmadd(Gt313,ToReal(-2.),kmadd(Gt212,ToReal(-1.),kmul(cdphi1,ToReal(6.))))))))),kmul(At22L,kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmul(gtu22,kmadd(Gt222,ToReal(-2.),kmul(cdphi2,ToReal(6.))))))))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At12,kmadd(gtu12,kadd(JacPDstandardNth1At22,JacPDstandardNth2At12),kmadd(gtu22,JacPDstandardNth2At22,kmadd(gtu33,JacPDstandardNth3At23,kmadd(S2,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At22L,Gt211,kmadd(At23L,Gt311,kmul(At13L,Gt312))),gtu11,kmadd(kmadd(At23L,Gt212,kmul(At33L,Gt312)),gtu13,kmadd(At11L,kmadd(Gt112,gtu11,kmadd(Gt122,gtu12,kmul(Gt123,gtu13))),kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),gtu33,kmul(At13L,kmadd(Gt322,gtu12,kmadd(Gt112,gtu13,kmadd(Gt122,gtu23,kmul(Gt123,gtu33))))))))),ToReal(-1.),kmadd(gtu23,kadd(JacPDstandardNth2At23,kadd(JacPDstandardNth3At22,kmadd(kmadd(At22L,Gt223,kmul(At23L,Gt323)),ToReal(-3.),kmul(kmadd(At23L,Gt222,kmul(At33L,Gt322)),ToReal(-1.))))),kmadd(gtu13,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth3At12,kmadd(At23L,kmul(Gt313,ToReal(-2.)),kmul(At13L,kmul(Gt323,ToReal(-1.)))))),kmadd(JacPDstandardNth2trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At23L,kmadd(Gt312,kmul(gtu12,ToReal(-3.)),kmadd(Gt322,kmul(gtu22,ToReal(-2.)),kmadd(Gt333,kmul(gtu33,ToReal(-1.)),kmul(kmadd(cdphi1,gtu13,kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33))),ToReal(6.))))),kmadd(At22L,kmadd(kmadd(Gt213,gtu13,kmul(Gt222,gtu22)),ToReal(-2.),kmadd(Gt233,kmul(gtu33,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu22,kmul(cdphi3,gtu23)),ToReal(6.),kmul(gtu12,kmadd(Gt212,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmul(At12L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt122,kmul(gtu22,ToReal(-2.)),kmadd(Gt133,kmul(gtu33,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt212),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-3.),kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-2.),kmadd(Gt223,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
CCTK_REAL_VEC M3L =
- kmadd(gtu11,PDstandardNth1At13,kmadd(gtu22,PDstandardNth2At23,kmadd(S3,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At11L,Gt113,kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311)))),gtu11,kmadd(kmadd(At22L,Gt223,kmadd(At33L,Gt322,kmul(At23L,Gt323))),gtu22,kmadd(At12L,kmadd(Gt113,gtu12,kmul(Gt123,gtu22)),kmul(Gt133,kmadd(At11L,gtu13,kmul(At12L,gtu23)))))),ToReal(-1.),kmadd(PDstandardNth3trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(gtu13,kadd(PDstandardNth1At33,kadd(PDstandardNth3At13,kmadd(kmadd(At13L,Gt113,kmul(At23L,Gt213)),ToReal(-3.),kmadd(kmadd(At12L,Gt233,kmul(At13L,Gt333)),ToReal(-1.),kmul(At33L,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.)))))))),kmadd(gtu12,kadd(PDstandardNth1At23,kadd(PDstandardNth2At13,kmadd(kmadd(At13L,Gt112,kmul(At33L,Gt312)),ToReal(-2.),kmadd(kmadd(At11L,Gt123,kmadd(At22L,Gt213,kmadd(At12L,Gt223,kmul(At13L,Gt323)))),ToReal(-1.),kmul(At23L,kmadd(Gt212,ToReal(-2.),kmadd(Gt313,ToReal(-1.),kmul(cdphi1,ToReal(6.))))))))),kmadd(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu12,kmul(cdphi3,gtu13)),ToReal(6.),kmul(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.)))))))),kmadd(gtu23,kadd(PDstandardNth2At33,kadd(PDstandardNth3At23,kmadd(At22L,kmul(Gt233,ToReal(-1.)),kmadd(At23L,kmadd(Gt223,ToReal(-3.),kmul(Gt333,ToReal(-1.))),kmul(At33L,kmadd(Gt323,ToReal(-3.),kmul(cdphi2,ToReal(6.)))))))),kmadd(At23L,kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmul(gtu22,kmadd(Gt222,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))),kmul(gtu33,kmadd(At33L,kmadd(Gt333,ToReal(-2.),kmul(cdphi3,ToReal(6.))),PDstandardNth3At33))))))))))));
+ kmadd(gtu11,JacPDstandardNth1At13,kmadd(gtu22,JacPDstandardNth2At23,kmadd(gtu13,kadd(JacPDstandardNth1At33,JacPDstandardNth3At13),kmadd(gtu33,JacPDstandardNth3At33,kmadd(S3,ToReal(-25.13274122871834590770114706623602307358),kmadd(kmadd(kmadd(At23L,Gt211,kmadd(At12L,Gt213,kmul(At33L,Gt311))),gtu11,kmadd(kmadd(At22L,Gt213,kmul(At12L,kadd(Gt113,Gt223))),gtu12,kmadd(At11L,kmadd(Gt113,gtu11,kmadd(Gt123,gtu12,kmul(Gt133,gtu13))),kmadd(kmadd(At23L,Gt222,kmul(At22L,Gt223)),gtu22,kmul(At12L,kmadd(Gt233,gtu13,kmadd(Gt123,gtu22,kmul(Gt133,gtu23)))))))),ToReal(-1.),kmadd(gtu12,kadd(JacPDstandardNth1At23,kadd(JacPDstandardNth2At13,kmadd(At33L,kmul(Gt312,ToReal(-2.)),kmul(At23L,kmul(Gt313,ToReal(-1.)))))),kmadd(gtu23,kadd(JacPDstandardNth2At33,kadd(JacPDstandardNth3At23,kmadd(kmadd(At23L,Gt223,kmul(At33L,Gt323)),ToReal(-3.),kmul(kmadd(At22L,Gt233,kmul(At23L,Gt333)),ToReal(-1.))))),kmadd(JacPDstandardNth3trK,ToReal(-0.6666666666666666666666666666666666666667),kmadd(At33L,kmadd(Gt333,kmul(gtu33,ToReal(-2.)),kmadd(Gt322,kmul(gtu22,ToReal(-1.)),kmadd(kmadd(cdphi2,gtu23,kmul(cdphi3,gtu33)),ToReal(6.),kmul(gtu13,kmadd(Gt313,ToReal(-3.),kmul(cdphi1,ToReal(6.))))))),kmadd(At23L,kmadd(Gt213,kmul(gtu13,ToReal(-3.)),kmadd(Gt233,kmul(gtu33,ToReal(-2.)),kmadd(cdphi3,kmul(gtu23,ToReal(6.)),kmadd(gtu12,kmadd(Gt212,ToReal(-2.),kmul(cdphi1,ToReal(6.))),kmul(gtu22,kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))))))),kmul(At13L,kmadd(Gt123,kmul(gtu23,ToReal(-3.)),kmadd(Gt133,kmul(gtu33,ToReal(-2.)),kmadd(Gt122,kmul(gtu22,ToReal(-1.)),kmadd(gtu11,kmadd(kadd(Gt111,Gt313),ToReal(-1.),kmul(cdphi1,ToReal(6.))),kmadd(gtu12,kmadd(Gt112,ToReal(-2.),kmadd(Gt323,ToReal(-1.),kmul(cdphi2,ToReal(6.)))),kmul(gtu13,kmadd(Gt113,ToReal(-3.),kmadd(Gt333,ToReal(-1.),kmul(cdphi3,ToReal(6.))))))))))))))))))))));
CCTK_REAL_VEC cSL = klog(detgt);
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc
index 74f09e9..685f1de 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBase.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBase", 10, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -120,10 +239,26 @@ static void ML_BSSN_convertFromADMBase_Body(cGH const * restrict const cctkGH, i
CCTK_REAL_VEC trKL = vec_load(trK[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC g11 = gxxL;
diff --git a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc
index 4d543bd..ab6f76c 100644
--- a/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc
+++ b/ML_BSSN/src/ML_BSSN_convertFromADMBaseGamma.cc
@@ -61,7 +61,24 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_metric","ML_BSSN::ML_shift"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 10, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 3, 3, 3);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 3, 3, 3);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 4, 4, 4);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertFromADMBaseGamma", 5, 5, 5);
+ break;
+ }
/* Include user-supplied include files */
@@ -89,24 +106,129 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -136,53 +258,509 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
CCTK_REAL_VEC rL = vec_load(r[index]);
+ CCTK_REAL_VEC J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDupwindNthAnti1alpha = PDupwindNthAnti1(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1alpha = PDupwindNthSymm1(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2alpha = PDupwindNthAnti2(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2alpha = PDupwindNthSymm2(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3alpha = PDupwindNthAnti3(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3alpha = PDupwindNthSymm3(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta1 = PDupwindNthAnti1(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta1 = PDupwindNthSymm1(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta1 = PDupwindNthAnti2(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta1 = PDupwindNthSymm2(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta1 = PDupwindNthAnti3(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta1 = PDupwindNthSymm3(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta2 = PDupwindNthAnti1(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta2 = PDupwindNthSymm1(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta2 = PDupwindNthAnti2(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta2 = PDupwindNthSymm2(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta2 = PDupwindNthAnti3(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta2 = PDupwindNthSymm3(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta3 = PDupwindNthAnti1(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta3 = PDupwindNthSymm1(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta3 = PDupwindNthAnti2(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta3 = PDupwindNthSymm2(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta3 = PDupwindNthAnti3(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta3 = PDupwindNthSymm3(&beta3[index]);
- CCTK_REAL_VEC const PDstandardNth1gt11 = PDstandardNth1(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth2gt11 = PDstandardNth2(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth3gt11 = PDstandardNth3(&gt11[index]);
- CCTK_REAL_VEC const PDstandardNth1gt12 = PDstandardNth1(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth2gt12 = PDstandardNth2(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth3gt12 = PDstandardNth3(&gt12[index]);
- CCTK_REAL_VEC const PDstandardNth1gt13 = PDstandardNth1(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth2gt13 = PDstandardNth2(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth3gt13 = PDstandardNth3(&gt13[index]);
- CCTK_REAL_VEC const PDstandardNth1gt22 = PDstandardNth1(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth2gt22 = PDstandardNth2(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth3gt22 = PDstandardNth3(&gt22[index]);
- CCTK_REAL_VEC const PDstandardNth1gt23 = PDstandardNth1(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth2gt23 = PDstandardNth2(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth3gt23 = PDstandardNth3(&gt23[index]);
- CCTK_REAL_VEC const PDstandardNth1gt33 = PDstandardNth1(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth2gt33 = PDstandardNth2(&gt33[index]);
- CCTK_REAL_VEC const PDstandardNth3gt33 = PDstandardNth3(&gt33[index]);
+ CCTK_REAL_VEC PDupwindNthAnti1alpha;
+ CCTK_REAL_VEC PDupwindNthSymm1alpha;
+ CCTK_REAL_VEC PDupwindNthAnti2alpha;
+ CCTK_REAL_VEC PDupwindNthSymm2alpha;
+ CCTK_REAL_VEC PDupwindNthAnti3alpha;
+ CCTK_REAL_VEC PDupwindNthSymm3alpha;
+ CCTK_REAL_VEC PDupwindNthAnti1beta1;
+ CCTK_REAL_VEC PDupwindNthSymm1beta1;
+ CCTK_REAL_VEC PDupwindNthAnti2beta1;
+ CCTK_REAL_VEC PDupwindNthSymm2beta1;
+ CCTK_REAL_VEC PDupwindNthAnti3beta1;
+ CCTK_REAL_VEC PDupwindNthSymm3beta1;
+ CCTK_REAL_VEC PDupwindNthAnti1beta2;
+ CCTK_REAL_VEC PDupwindNthSymm1beta2;
+ CCTK_REAL_VEC PDupwindNthAnti2beta2;
+ CCTK_REAL_VEC PDupwindNthSymm2beta2;
+ CCTK_REAL_VEC PDupwindNthAnti3beta2;
+ CCTK_REAL_VEC PDupwindNthSymm3beta2;
+ CCTK_REAL_VEC PDupwindNthAnti1beta3;
+ CCTK_REAL_VEC PDupwindNthSymm1beta3;
+ CCTK_REAL_VEC PDupwindNthAnti2beta3;
+ CCTK_REAL_VEC PDupwindNthSymm2beta3;
+ CCTK_REAL_VEC PDupwindNthAnti3beta3;
+ CCTK_REAL_VEC PDupwindNthSymm3beta3;
+ CCTK_REAL_VEC PDstandardNth1gt11;
+ CCTK_REAL_VEC PDstandardNth2gt11;
+ CCTK_REAL_VEC PDstandardNth3gt11;
+ CCTK_REAL_VEC PDstandardNth1gt12;
+ CCTK_REAL_VEC PDstandardNth2gt12;
+ CCTK_REAL_VEC PDstandardNth3gt12;
+ CCTK_REAL_VEC PDstandardNth1gt13;
+ CCTK_REAL_VEC PDstandardNth2gt13;
+ CCTK_REAL_VEC PDstandardNth3gt13;
+ CCTK_REAL_VEC PDstandardNth1gt22;
+ CCTK_REAL_VEC PDstandardNth2gt22;
+ CCTK_REAL_VEC PDstandardNth3gt22;
+ CCTK_REAL_VEC PDstandardNth1gt23;
+ CCTK_REAL_VEC PDstandardNth2gt23;
+ CCTK_REAL_VEC PDstandardNth3gt23;
+ CCTK_REAL_VEC PDstandardNth1gt33;
+ CCTK_REAL_VEC PDstandardNth2gt33;
+ CCTK_REAL_VEC PDstandardNth3gt33;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder22(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder23(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder23(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder21(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder21(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder22(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder22(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder23(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder23(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder21(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder21(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder22(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder22(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder23(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder23(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder21(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder21(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder22(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder22(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder23(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder23(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder21(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder22(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder23(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder21(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder22(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder23(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder21(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder22(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder23(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder21(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder22(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder23(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder21(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder22(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder23(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder21(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder22(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder23(&gt33[index]);
+ break;
+
+ case 4:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder42(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder43(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder43(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder41(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder41(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder42(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder42(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder43(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder43(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder41(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder41(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder42(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder42(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder43(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder43(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder41(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder41(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder42(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder42(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder43(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder43(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder41(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder42(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder43(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder41(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder42(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder43(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder41(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder42(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder43(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder41(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder42(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder43(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder41(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder42(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder43(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder41(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder42(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder43(&gt33[index]);
+ break;
+
+ case 6:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder62(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder63(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder63(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder61(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder61(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder62(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder62(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder63(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder63(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder61(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder61(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder62(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder62(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder63(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder63(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder61(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder61(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder62(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder62(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder63(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder63(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder61(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder62(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder63(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder61(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder62(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder63(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder61(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder62(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder63(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder61(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder62(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder63(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder61(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder62(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder63(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder61(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder62(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder63(&gt33[index]);
+ break;
+
+ case 8:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder82(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder83(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder83(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder81(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder81(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder82(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder82(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder83(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder83(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder81(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder81(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder82(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder82(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder83(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder83(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder81(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder81(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder82(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder82(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder83(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder83(&beta3[index]);
+ PDstandardNth1gt11 = PDstandardNthfdOrder81(&gt11[index]);
+ PDstandardNth2gt11 = PDstandardNthfdOrder82(&gt11[index]);
+ PDstandardNth3gt11 = PDstandardNthfdOrder83(&gt11[index]);
+ PDstandardNth1gt12 = PDstandardNthfdOrder81(&gt12[index]);
+ PDstandardNth2gt12 = PDstandardNthfdOrder82(&gt12[index]);
+ PDstandardNth3gt12 = PDstandardNthfdOrder83(&gt12[index]);
+ PDstandardNth1gt13 = PDstandardNthfdOrder81(&gt13[index]);
+ PDstandardNth2gt13 = PDstandardNthfdOrder82(&gt13[index]);
+ PDstandardNth3gt13 = PDstandardNthfdOrder83(&gt13[index]);
+ PDstandardNth1gt22 = PDstandardNthfdOrder81(&gt22[index]);
+ PDstandardNth2gt22 = PDstandardNthfdOrder82(&gt22[index]);
+ PDstandardNth3gt22 = PDstandardNthfdOrder83(&gt22[index]);
+ PDstandardNth1gt23 = PDstandardNthfdOrder81(&gt23[index]);
+ PDstandardNth2gt23 = PDstandardNthfdOrder82(&gt23[index]);
+ PDstandardNth3gt23 = PDstandardNthfdOrder83(&gt23[index]);
+ PDstandardNth1gt33 = PDstandardNthfdOrder81(&gt33[index]);
+ PDstandardNth2gt33 = PDstandardNthfdOrder82(&gt33[index]);
+ PDstandardNth3gt33 = PDstandardNthfdOrder83(&gt33[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDstandardNth1gt11;
+ CCTK_REAL_VEC JacPDstandardNth1gt12;
+ CCTK_REAL_VEC JacPDstandardNth1gt13;
+ CCTK_REAL_VEC JacPDstandardNth1gt22;
+ CCTK_REAL_VEC JacPDstandardNth1gt23;
+ CCTK_REAL_VEC JacPDstandardNth1gt33;
+ CCTK_REAL_VEC JacPDstandardNth2gt11;
+ CCTK_REAL_VEC JacPDstandardNth2gt12;
+ CCTK_REAL_VEC JacPDstandardNth2gt13;
+ CCTK_REAL_VEC JacPDstandardNth2gt22;
+ CCTK_REAL_VEC JacPDstandardNth2gt23;
+ CCTK_REAL_VEC JacPDstandardNth2gt33;
+ CCTK_REAL_VEC JacPDstandardNth3gt11;
+ CCTK_REAL_VEC JacPDstandardNth3gt12;
+ CCTK_REAL_VEC JacPDstandardNth3gt13;
+ CCTK_REAL_VEC JacPDstandardNth3gt22;
+ CCTK_REAL_VEC JacPDstandardNth3gt23;
+ CCTK_REAL_VEC JacPDstandardNth3gt33;
+ CCTK_REAL_VEC JacPDupwindNthAnti1alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti2alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti3alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm1alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm2alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm3alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta3;
+
+ if (use_jacobian)
+ {
+ JacPDstandardNth1gt11 =
+ kmadd(J11L,PDstandardNth1gt11,kmadd(J21L,PDstandardNth2gt11,kmul(J31L,PDstandardNth3gt11)));
+
+ JacPDstandardNth1gt12 =
+ kmadd(J11L,PDstandardNth1gt12,kmadd(J21L,PDstandardNth2gt12,kmul(J31L,PDstandardNth3gt12)));
+
+ JacPDstandardNth1gt13 =
+ kmadd(J11L,PDstandardNth1gt13,kmadd(J21L,PDstandardNth2gt13,kmul(J31L,PDstandardNth3gt13)));
+
+ JacPDstandardNth1gt22 =
+ kmadd(J11L,PDstandardNth1gt22,kmadd(J21L,PDstandardNth2gt22,kmul(J31L,PDstandardNth3gt22)));
+
+ JacPDstandardNth1gt23 =
+ kmadd(J11L,PDstandardNth1gt23,kmadd(J21L,PDstandardNth2gt23,kmul(J31L,PDstandardNth3gt23)));
+
+ JacPDstandardNth1gt33 =
+ kmadd(J11L,PDstandardNth1gt33,kmadd(J21L,PDstandardNth2gt33,kmul(J31L,PDstandardNth3gt33)));
+
+ JacPDstandardNth2gt11 =
+ kmadd(J12L,PDstandardNth1gt11,kmadd(J22L,PDstandardNth2gt11,kmul(J32L,PDstandardNth3gt11)));
+
+ JacPDstandardNth2gt12 =
+ kmadd(J12L,PDstandardNth1gt12,kmadd(J22L,PDstandardNth2gt12,kmul(J32L,PDstandardNth3gt12)));
+
+ JacPDstandardNth2gt13 =
+ kmadd(J12L,PDstandardNth1gt13,kmadd(J22L,PDstandardNth2gt13,kmul(J32L,PDstandardNth3gt13)));
+
+ JacPDstandardNth2gt22 =
+ kmadd(J12L,PDstandardNth1gt22,kmadd(J22L,PDstandardNth2gt22,kmul(J32L,PDstandardNth3gt22)));
+
+ JacPDstandardNth2gt23 =
+ kmadd(J12L,PDstandardNth1gt23,kmadd(J22L,PDstandardNth2gt23,kmul(J32L,PDstandardNth3gt23)));
+
+ JacPDstandardNth2gt33 =
+ kmadd(J12L,PDstandardNth1gt33,kmadd(J22L,PDstandardNth2gt33,kmul(J32L,PDstandardNth3gt33)));
+
+ JacPDstandardNth3gt11 =
+ kmadd(J13L,PDstandardNth1gt11,kmadd(J23L,PDstandardNth2gt11,kmul(J33L,PDstandardNth3gt11)));
+
+ JacPDstandardNth3gt12 =
+ kmadd(J13L,PDstandardNth1gt12,kmadd(J23L,PDstandardNth2gt12,kmul(J33L,PDstandardNth3gt12)));
+
+ JacPDstandardNth3gt13 =
+ kmadd(J13L,PDstandardNth1gt13,kmadd(J23L,PDstandardNth2gt13,kmul(J33L,PDstandardNth3gt13)));
+
+ JacPDstandardNth3gt22 =
+ kmadd(J13L,PDstandardNth1gt22,kmadd(J23L,PDstandardNth2gt22,kmul(J33L,PDstandardNth3gt22)));
+
+ JacPDstandardNth3gt23 =
+ kmadd(J13L,PDstandardNth1gt23,kmadd(J23L,PDstandardNth2gt23,kmul(J33L,PDstandardNth3gt23)));
+
+ JacPDstandardNth3gt33 =
+ kmadd(J13L,PDstandardNth1gt33,kmadd(J23L,PDstandardNth2gt33,kmul(J33L,PDstandardNth3gt33)));
+
+ JacPDupwindNthAnti1alpha =
+ kmadd(J11L,PDupwindNthAnti1alpha,kmadd(J21L,PDupwindNthAnti2alpha,kmul(J31L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti1beta1 =
+ kmadd(J11L,PDupwindNthAnti1beta1,kmadd(J21L,PDupwindNthAnti2beta1,kmul(J31L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti1beta2 =
+ kmadd(J11L,PDupwindNthAnti1beta2,kmadd(J21L,PDupwindNthAnti2beta2,kmul(J31L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti1beta3 =
+ kmadd(J11L,PDupwindNthAnti1beta3,kmadd(J21L,PDupwindNthAnti2beta3,kmul(J31L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthSymm1alpha =
+ kmadd(J11L,PDupwindNthSymm1alpha,kmadd(J21L,PDupwindNthSymm2alpha,kmul(J31L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm1beta1 =
+ kmadd(J11L,PDupwindNthSymm1beta1,kmadd(J21L,PDupwindNthSymm2beta1,kmul(J31L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm1beta2 =
+ kmadd(J11L,PDupwindNthSymm1beta2,kmadd(J21L,PDupwindNthSymm2beta2,kmul(J31L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm1beta3 =
+ kmadd(J11L,PDupwindNthSymm1beta3,kmadd(J21L,PDupwindNthSymm2beta3,kmul(J31L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthAnti2alpha =
+ kmadd(J12L,PDupwindNthAnti1alpha,kmadd(J22L,PDupwindNthAnti2alpha,kmul(J32L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti2beta1 =
+ kmadd(J12L,PDupwindNthAnti1beta1,kmadd(J22L,PDupwindNthAnti2beta1,kmul(J32L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti2beta2 =
+ kmadd(J12L,PDupwindNthAnti1beta2,kmadd(J22L,PDupwindNthAnti2beta2,kmul(J32L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti2beta3 =
+ kmadd(J12L,PDupwindNthAnti1beta3,kmadd(J22L,PDupwindNthAnti2beta3,kmul(J32L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthSymm2alpha =
+ kmadd(J12L,PDupwindNthSymm1alpha,kmadd(J22L,PDupwindNthSymm2alpha,kmul(J32L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm2beta1 =
+ kmadd(J12L,PDupwindNthSymm1beta1,kmadd(J22L,PDupwindNthSymm2beta1,kmul(J32L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm2beta2 =
+ kmadd(J12L,PDupwindNthSymm1beta2,kmadd(J22L,PDupwindNthSymm2beta2,kmul(J32L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm2beta3 =
+ kmadd(J12L,PDupwindNthSymm1beta3,kmadd(J22L,PDupwindNthSymm2beta3,kmul(J32L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthAnti3alpha =
+ kmadd(J13L,PDupwindNthAnti1alpha,kmadd(J23L,PDupwindNthAnti2alpha,kmul(J33L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti3beta1 =
+ kmadd(J13L,PDupwindNthAnti1beta1,kmadd(J23L,PDupwindNthAnti2beta1,kmul(J33L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti3beta2 =
+ kmadd(J13L,PDupwindNthAnti1beta2,kmadd(J23L,PDupwindNthAnti2beta2,kmul(J33L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti3beta3 =
+ kmadd(J13L,PDupwindNthAnti1beta3,kmadd(J23L,PDupwindNthAnti2beta3,kmul(J33L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthSymm3alpha =
+ kmadd(J13L,PDupwindNthSymm1alpha,kmadd(J23L,PDupwindNthSymm2alpha,kmul(J33L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm3beta1 =
+ kmadd(J13L,PDupwindNthSymm1beta1,kmadd(J23L,PDupwindNthSymm2beta1,kmul(J33L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm3beta2 =
+ kmadd(J13L,PDupwindNthSymm1beta2,kmadd(J23L,PDupwindNthSymm2beta2,kmul(J33L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm3beta3 =
+ kmadd(J13L,PDupwindNthSymm1beta3,kmadd(J23L,PDupwindNthSymm2beta3,kmul(J33L,PDupwindNthSymm3beta3)));
+ }
+ else
+ {
+ JacPDstandardNth1gt11 = PDstandardNth1gt11;
+
+ JacPDstandardNth1gt12 = PDstandardNth1gt12;
+
+ JacPDstandardNth1gt13 = PDstandardNth1gt13;
+
+ JacPDstandardNth1gt22 = PDstandardNth1gt22;
+
+ JacPDstandardNth1gt23 = PDstandardNth1gt23;
+
+ JacPDstandardNth1gt33 = PDstandardNth1gt33;
+
+ JacPDstandardNth2gt11 = PDstandardNth2gt11;
+
+ JacPDstandardNth2gt12 = PDstandardNth2gt12;
+
+ JacPDstandardNth2gt13 = PDstandardNth2gt13;
+
+ JacPDstandardNth2gt22 = PDstandardNth2gt22;
+
+ JacPDstandardNth2gt23 = PDstandardNth2gt23;
+
+ JacPDstandardNth2gt33 = PDstandardNth2gt33;
+
+ JacPDstandardNth3gt11 = PDstandardNth3gt11;
+
+ JacPDstandardNth3gt12 = PDstandardNth3gt12;
+
+ JacPDstandardNth3gt13 = PDstandardNth3gt13;
+
+ JacPDstandardNth3gt22 = PDstandardNth3gt22;
+
+ JacPDstandardNth3gt23 = PDstandardNth3gt23;
+
+ JacPDstandardNth3gt33 = PDstandardNth3gt33;
+
+ JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha;
+
+ JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1;
+
+ JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2;
+
+ JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3;
+
+ JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha;
+
+ JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1;
+
+ JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2;
+
+ JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3;
+
+ JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha;
+
+ JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1;
+
+ JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2;
+
+ JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3;
+
+ JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha;
+
+ JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1;
+
+ JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2;
+
+ JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3;
+
+ JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -207,58 +785,58 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
CCTK_REAL_VEC gtu33 = kmul(INV(detgt),kmsub(gt11L,gt22L,SQR(gt12L)));
CCTK_REAL_VEC Gt111 =
- kmul(ToReal(0.5),kmadd(gtu11,PDstandardNth1gt11,knmsub(gtu12,PDstandardNth2gt11,kmsub(kmadd(gtu12,PDstandardNth1gt12,kmul(gtu13,PDstandardNth1gt13)),ToReal(2),kmul(gtu13,PDstandardNth3gt11)))));
+ kmul(ToReal(0.5),kmadd(gtu11,JacPDstandardNth1gt11,knmsub(gtu12,JacPDstandardNth2gt11,kmsub(kmadd(gtu12,JacPDstandardNth1gt12,kmul(gtu13,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu13,JacPDstandardNth3gt11)))));
CCTK_REAL_VEC Gt211 =
- kmul(ToReal(0.5),kmadd(gtu12,PDstandardNth1gt11,knmsub(gtu22,PDstandardNth2gt11,kmsub(kmadd(gtu22,PDstandardNth1gt12,kmul(gtu23,PDstandardNth1gt13)),ToReal(2),kmul(gtu23,PDstandardNth3gt11)))));
+ kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth1gt11,knmsub(gtu22,JacPDstandardNth2gt11,kmsub(kmadd(gtu22,JacPDstandardNth1gt12,kmul(gtu23,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu23,JacPDstandardNth3gt11)))));
CCTK_REAL_VEC Gt311 =
- kmul(ToReal(0.5),kmadd(gtu13,PDstandardNth1gt11,knmsub(gtu23,PDstandardNth2gt11,kmsub(kmadd(gtu23,PDstandardNth1gt12,kmul(gtu33,PDstandardNth1gt13)),ToReal(2),kmul(gtu33,PDstandardNth3gt11)))));
+ kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth1gt11,knmsub(gtu23,JacPDstandardNth2gt11,kmsub(kmadd(gtu23,JacPDstandardNth1gt12,kmul(gtu33,JacPDstandardNth1gt13)),ToReal(2),kmul(gtu33,JacPDstandardNth3gt11)))));
CCTK_REAL_VEC Gt112 =
- kmul(kmadd(gtu12,PDstandardNth1gt22,kmadd(gtu11,PDstandardNth2gt11,kmul(gtu13,kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12))))),ToReal(0.5));
+ kmul(kmadd(gtu12,JacPDstandardNth1gt22,kmadd(gtu11,JacPDstandardNth2gt11,kmul(gtu13,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5));
CCTK_REAL_VEC Gt212 =
- kmul(kmadd(gtu22,PDstandardNth1gt22,kmadd(gtu12,PDstandardNth2gt11,kmul(gtu23,kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12))))),ToReal(0.5));
+ kmul(kmadd(gtu22,JacPDstandardNth1gt22,kmadd(gtu12,JacPDstandardNth2gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5));
CCTK_REAL_VEC Gt312 =
- kmul(kmadd(gtu23,PDstandardNth1gt22,kmadd(gtu13,PDstandardNth2gt11,kmul(gtu33,kadd(PDstandardNth1gt23,ksub(PDstandardNth2gt13,PDstandardNth3gt12))))),ToReal(0.5));
+ kmul(kmadd(gtu23,JacPDstandardNth1gt22,kmadd(gtu13,JacPDstandardNth2gt11,kmul(gtu33,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth2gt13,JacPDstandardNth3gt12))))),ToReal(0.5));
CCTK_REAL_VEC Gt113 =
- kmul(kmadd(gtu13,PDstandardNth1gt33,kmadd(gtu11,PDstandardNth3gt11,kmul(gtu12,kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13))))),ToReal(0.5));
+ kmul(kmadd(gtu13,JacPDstandardNth1gt33,kmadd(gtu11,JacPDstandardNth3gt11,kmul(gtu12,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5));
CCTK_REAL_VEC Gt213 =
- kmul(kmadd(gtu23,PDstandardNth1gt33,kmadd(gtu12,PDstandardNth3gt11,kmul(gtu22,kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13))))),ToReal(0.5));
+ kmul(kmadd(gtu23,JacPDstandardNth1gt33,kmadd(gtu12,JacPDstandardNth3gt11,kmul(gtu22,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5));
CCTK_REAL_VEC Gt313 =
- kmul(kmadd(gtu33,PDstandardNth1gt33,kmadd(gtu13,PDstandardNth3gt11,kmul(gtu23,kadd(PDstandardNth1gt23,ksub(PDstandardNth3gt12,PDstandardNth2gt13))))),ToReal(0.5));
+ kmul(kmadd(gtu33,JacPDstandardNth1gt33,kmadd(gtu13,JacPDstandardNth3gt11,kmul(gtu23,kadd(JacPDstandardNth1gt23,ksub(JacPDstandardNth3gt12,JacPDstandardNth2gt13))))),ToReal(0.5));
CCTK_REAL_VEC Gt122 =
- kmul(ToReal(0.5),kmadd(gtu12,PDstandardNth2gt22,kmadd(gtu11,kmsub(PDstandardNth2gt12,ToReal(2),PDstandardNth1gt22),kmul(gtu13,kmsub(PDstandardNth2gt23,ToReal(2),PDstandardNth3gt22)))));
+ kmul(ToReal(0.5),kmadd(gtu12,JacPDstandardNth2gt22,kmadd(gtu11,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu13,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22)))));
CCTK_REAL_VEC Gt222 =
- kmul(ToReal(0.5),kmadd(gtu22,PDstandardNth2gt22,kmadd(gtu12,kmsub(PDstandardNth2gt12,ToReal(2),PDstandardNth1gt22),kmul(gtu23,kmsub(PDstandardNth2gt23,ToReal(2),PDstandardNth3gt22)))));
+ kmul(ToReal(0.5),kmadd(gtu22,JacPDstandardNth2gt22,kmadd(gtu12,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu23,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22)))));
CCTK_REAL_VEC Gt322 =
- kmul(ToReal(0.5),kmadd(gtu23,PDstandardNth2gt22,kmadd(gtu13,kmsub(PDstandardNth2gt12,ToReal(2),PDstandardNth1gt22),kmul(gtu33,kmsub(PDstandardNth2gt23,ToReal(2),PDstandardNth3gt22)))));
+ kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth2gt22,kmadd(gtu13,kmsub(JacPDstandardNth2gt12,ToReal(2),JacPDstandardNth1gt22),kmul(gtu33,kmsub(JacPDstandardNth2gt23,ToReal(2),JacPDstandardNth3gt22)))));
CCTK_REAL_VEC Gt123 =
- kmul(kmadd(gtu13,PDstandardNth2gt33,kmadd(gtu12,PDstandardNth3gt22,kmul(gtu11,kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23))))),ToReal(0.5));
+ kmul(kmadd(gtu13,JacPDstandardNth2gt33,kmadd(gtu12,JacPDstandardNth3gt22,kmul(gtu11,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5));
CCTK_REAL_VEC Gt223 =
- kmul(kmadd(gtu23,PDstandardNth2gt33,kmadd(gtu22,PDstandardNth3gt22,kmul(gtu12,kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23))))),ToReal(0.5));
+ kmul(kmadd(gtu23,JacPDstandardNth2gt33,kmadd(gtu22,JacPDstandardNth3gt22,kmul(gtu12,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5));
CCTK_REAL_VEC Gt323 =
- kmul(kmadd(gtu33,PDstandardNth2gt33,kmadd(gtu23,PDstandardNth3gt22,kmul(gtu13,kadd(PDstandardNth2gt13,ksub(PDstandardNth3gt12,PDstandardNth1gt23))))),ToReal(0.5));
+ kmul(kmadd(gtu33,JacPDstandardNth2gt33,kmadd(gtu23,JacPDstandardNth3gt22,kmul(gtu13,kadd(JacPDstandardNth2gt13,ksub(JacPDstandardNth3gt12,JacPDstandardNth1gt23))))),ToReal(0.5));
CCTK_REAL_VEC Gt133 =
- kmul(ToReal(0.5),kmadd(gtu13,PDstandardNth3gt33,kmadd(gtu11,kmsub(PDstandardNth3gt13,ToReal(2),PDstandardNth1gt33),kmul(gtu12,kmsub(PDstandardNth3gt23,ToReal(2),PDstandardNth2gt33)))));
+ kmul(ToReal(0.5),kmadd(gtu13,JacPDstandardNth3gt33,kmadd(gtu11,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu12,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33)))));
CCTK_REAL_VEC Gt233 =
- kmul(ToReal(0.5),kmadd(gtu23,PDstandardNth3gt33,kmadd(gtu12,kmsub(PDstandardNth3gt13,ToReal(2),PDstandardNth1gt33),kmul(gtu22,kmsub(PDstandardNth3gt23,ToReal(2),PDstandardNth2gt33)))));
+ kmul(ToReal(0.5),kmadd(gtu23,JacPDstandardNth3gt33,kmadd(gtu12,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu22,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33)))));
CCTK_REAL_VEC Gt333 =
- kmul(ToReal(0.5),kmadd(gtu33,PDstandardNth3gt33,kmadd(gtu13,kmsub(PDstandardNth3gt13,ToReal(2),PDstandardNth1gt33),kmul(gtu23,kmsub(PDstandardNth3gt23,ToReal(2),PDstandardNth2gt33)))));
+ kmul(ToReal(0.5),kmadd(gtu33,JacPDstandardNth3gt33,kmadd(gtu13,kmsub(JacPDstandardNth3gt13,ToReal(2),JacPDstandardNth1gt33),kmul(gtu23,kmsub(JacPDstandardNth3gt23,ToReal(2),JacPDstandardNth2gt33)))));
CCTK_REAL_VEC Xt1L =
kmadd(Gt111,gtu11,kmadd(Gt122,gtu22,kmadd(Gt133,gtu33,kmul(kmadd(Gt112,gtu12,kmadd(Gt113,gtu13,kmul(Gt123,gtu23))),ToReal(2)))));
@@ -270,7 +848,7 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
kmadd(Gt311,gtu11,kmadd(Gt322,gtu22,kmadd(Gt333,gtu33,kmul(kmadd(Gt312,gtu12,kmadd(Gt313,gtu13,kmul(Gt323,gtu23))),ToReal(2)))));
CCTK_REAL_VEC AL = IfThen(LapseACoeff !=
- 0,kneg(kmul(INV(ToReal(harmonicF)),kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,PDupwindNthAnti1alpha,kmadd(beta2L,PDupwindNthAnti2alpha,kmadd(beta3L,PDupwindNthAnti3alpha,kmadd(PDupwindNthSymm1alpha,kfabs(beta1L),kmadd(PDupwindNthSymm2alpha,kfabs(beta2L),kmul(PDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)))),ToReal(0));
+ 0,kneg(kmul(INV(ToReal(harmonicF)),kmul(kpow(alphaL,-harmonicN),knmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),dtalpL)))),ToReal(0));
CCTK_REAL_VEC theta =
kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
@@ -282,13 +860,13 @@ static void ML_BSSN_convertFromADMBaseGamma_Body(cGH const * restrict const cctk
if (ShiftBCoeff*ShiftGammaCoeff != 0)
{
B1L =
- kmul(INV(theta),kmul(INV(ToReal(ShiftGammaCoeff)),knmsub(kmadd(beta1L,PDupwindNthAnti1beta1,kmadd(beta2L,PDupwindNthAnti2beta1,kmadd(beta3L,PDupwindNthAnti3beta1,kmadd(PDupwindNthSymm1beta1,kfabs(beta1L),kmadd(PDupwindNthSymm2beta1,kfabs(beta2L),kmul(PDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetaxL)));
+ kmul(INV(theta),kmul(INV(ToReal(ShiftGammaCoeff)),knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetaxL)));
B2L =
- kmul(INV(theta),kmul(INV(ToReal(ShiftGammaCoeff)),knmsub(kmadd(beta1L,PDupwindNthAnti1beta2,kmadd(beta2L,PDupwindNthAnti2beta2,kmadd(beta3L,PDupwindNthAnti3beta2,kmadd(PDupwindNthSymm1beta2,kfabs(beta1L),kmadd(PDupwindNthSymm2beta2,kfabs(beta2L),kmul(PDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetayL)));
+ kmul(INV(theta),kmul(INV(ToReal(ShiftGammaCoeff)),knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetayL)));
B3L =
- kmul(INV(theta),kmul(INV(ToReal(ShiftGammaCoeff)),knmsub(kmadd(beta1L,PDupwindNthAnti1beta3,kmadd(beta2L,PDupwindNthAnti2beta3,kmadd(beta3L,PDupwindNthAnti3beta3,kmadd(PDupwindNthSymm1beta3,kfabs(beta1L),kmadd(PDupwindNthSymm2beta3,kfabs(beta2L),kmul(PDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetazL)));
+ kmul(INV(theta),kmul(INV(ToReal(ShiftGammaCoeff)),knmsub(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),dtbetazL)));
}
else
{
diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBase.cc b/ML_BSSN/src/ML_BSSN_convertToADMBase.cc
index 5219ef7..2f2e247 100644
--- a/ML_BSSN/src/ML_BSSN_convertToADMBase.cc
+++ b/ML_BSSN/src/ML_BSSN_convertToADMBase.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_convertToADMBase_Body(cGH const * restrict const cctkGH, int
const char *groups[] = {"ADMBase::curv","ADMBase::lapse","ADMBase::metric","ADMBase::shift","ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_log_confac","ML_BSSN::ML_metric","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBase", 10, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_convertToADMBase_Body(cGH const * restrict const cctkGH, int
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -126,10 +245,26 @@ static void ML_BSSN_convertToADMBase_Body(cGH const * restrict const cctkGH, int
CCTK_REAL_VEC trKL = vec_load(trK[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC e4phi =
IfThen(conformalMethod,INV(SQR(phiL)),kexp(kmul(phiL,ToReal(4))));
diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc
index c310b24..80b6542 100644
--- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc
+++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShift.cc
@@ -58,7 +58,24 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 10, groups);
- GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 3, 3, 3);
+ switch(fdOrder)
+ {
+ case 2:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 2, 2, 2);
+ break;
+
+ case 4:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 3, 3, 3);
+ break;
+
+ case 6:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 4, 4, 4);
+ break;
+
+ case 8:
+ GenericFD_EnsureStencilFits(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShift", 5, 5, 5);
+ break;
+ }
/* Include user-supplied include files */
@@ -86,24 +103,129 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -131,35 +253,311 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
CCTK_REAL_VEC Xt3L = vec_load(Xt3[index]);
+ CCTK_REAL_VEC J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L;
+
+ if (use_jacobian)
+ {
+ J11L = vec_load(J11[index]);
+ J12L = vec_load(J12[index]);
+ J13L = vec_load(J13[index]);
+ J21L = vec_load(J21[index]);
+ J22L = vec_load(J22[index]);
+ J23L = vec_load(J23[index]);
+ J31L = vec_load(J31[index]);
+ J32L = vec_load(J32[index]);
+ J33L = vec_load(J33[index]);
+ }
+
/* Include user supplied include files */
/* Precompute derivatives */
- CCTK_REAL_VEC const PDupwindNthAnti1alpha = PDupwindNthAnti1(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1alpha = PDupwindNthSymm1(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2alpha = PDupwindNthAnti2(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2alpha = PDupwindNthSymm2(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3alpha = PDupwindNthAnti3(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3alpha = PDupwindNthSymm3(&alpha[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta1 = PDupwindNthAnti1(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta1 = PDupwindNthSymm1(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta1 = PDupwindNthAnti2(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta1 = PDupwindNthSymm2(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta1 = PDupwindNthAnti3(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta1 = PDupwindNthSymm3(&beta1[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta2 = PDupwindNthAnti1(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta2 = PDupwindNthSymm1(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta2 = PDupwindNthAnti2(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta2 = PDupwindNthSymm2(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta2 = PDupwindNthAnti3(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta2 = PDupwindNthSymm3(&beta2[index]);
- CCTK_REAL_VEC const PDupwindNthAnti1beta3 = PDupwindNthAnti1(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm1beta3 = PDupwindNthSymm1(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti2beta3 = PDupwindNthAnti2(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm2beta3 = PDupwindNthSymm2(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthAnti3beta3 = PDupwindNthAnti3(&beta3[index]);
- CCTK_REAL_VEC const PDupwindNthSymm3beta3 = PDupwindNthSymm3(&beta3[index]);
+ CCTK_REAL_VEC PDupwindNthAnti1alpha;
+ CCTK_REAL_VEC PDupwindNthSymm1alpha;
+ CCTK_REAL_VEC PDupwindNthAnti2alpha;
+ CCTK_REAL_VEC PDupwindNthSymm2alpha;
+ CCTK_REAL_VEC PDupwindNthAnti3alpha;
+ CCTK_REAL_VEC PDupwindNthSymm3alpha;
+ CCTK_REAL_VEC PDupwindNthAnti1beta1;
+ CCTK_REAL_VEC PDupwindNthSymm1beta1;
+ CCTK_REAL_VEC PDupwindNthAnti2beta1;
+ CCTK_REAL_VEC PDupwindNthSymm2beta1;
+ CCTK_REAL_VEC PDupwindNthAnti3beta1;
+ CCTK_REAL_VEC PDupwindNthSymm3beta1;
+ CCTK_REAL_VEC PDupwindNthAnti1beta2;
+ CCTK_REAL_VEC PDupwindNthSymm1beta2;
+ CCTK_REAL_VEC PDupwindNthAnti2beta2;
+ CCTK_REAL_VEC PDupwindNthSymm2beta2;
+ CCTK_REAL_VEC PDupwindNthAnti3beta2;
+ CCTK_REAL_VEC PDupwindNthSymm3beta2;
+ CCTK_REAL_VEC PDupwindNthAnti1beta3;
+ CCTK_REAL_VEC PDupwindNthSymm1beta3;
+ CCTK_REAL_VEC PDupwindNthAnti2beta3;
+ CCTK_REAL_VEC PDupwindNthSymm2beta3;
+ CCTK_REAL_VEC PDupwindNthAnti3beta3;
+ CCTK_REAL_VEC PDupwindNthSymm3beta3;
+
+ switch(fdOrder)
+ {
+ case 2:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder21(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder21(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder22(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder22(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder23(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder23(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder21(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder21(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder22(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder22(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder23(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder23(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder21(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder21(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder22(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder22(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder23(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder23(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder21(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder21(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder22(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder22(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder23(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder23(&beta3[index]);
+ break;
+
+ case 4:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder41(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder41(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder42(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder42(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder43(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder43(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder41(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder41(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder42(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder42(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder43(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder43(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder41(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder41(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder42(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder42(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder43(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder43(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder41(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder41(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder42(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder42(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder43(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder43(&beta3[index]);
+ break;
+
+ case 6:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder61(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder61(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder62(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder62(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder63(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder63(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder61(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder61(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder62(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder62(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder63(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder63(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder61(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder61(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder62(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder62(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder63(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder63(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder61(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder61(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder62(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder62(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder63(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder63(&beta3[index]);
+ break;
+
+ case 8:
+ PDupwindNthAnti1alpha = PDupwindNthAntifdOrder81(&alpha[index]);
+ PDupwindNthSymm1alpha = PDupwindNthSymmfdOrder81(&alpha[index]);
+ PDupwindNthAnti2alpha = PDupwindNthAntifdOrder82(&alpha[index]);
+ PDupwindNthSymm2alpha = PDupwindNthSymmfdOrder82(&alpha[index]);
+ PDupwindNthAnti3alpha = PDupwindNthAntifdOrder83(&alpha[index]);
+ PDupwindNthSymm3alpha = PDupwindNthSymmfdOrder83(&alpha[index]);
+ PDupwindNthAnti1beta1 = PDupwindNthAntifdOrder81(&beta1[index]);
+ PDupwindNthSymm1beta1 = PDupwindNthSymmfdOrder81(&beta1[index]);
+ PDupwindNthAnti2beta1 = PDupwindNthAntifdOrder82(&beta1[index]);
+ PDupwindNthSymm2beta1 = PDupwindNthSymmfdOrder82(&beta1[index]);
+ PDupwindNthAnti3beta1 = PDupwindNthAntifdOrder83(&beta1[index]);
+ PDupwindNthSymm3beta1 = PDupwindNthSymmfdOrder83(&beta1[index]);
+ PDupwindNthAnti1beta2 = PDupwindNthAntifdOrder81(&beta2[index]);
+ PDupwindNthSymm1beta2 = PDupwindNthSymmfdOrder81(&beta2[index]);
+ PDupwindNthAnti2beta2 = PDupwindNthAntifdOrder82(&beta2[index]);
+ PDupwindNthSymm2beta2 = PDupwindNthSymmfdOrder82(&beta2[index]);
+ PDupwindNthAnti3beta2 = PDupwindNthAntifdOrder83(&beta2[index]);
+ PDupwindNthSymm3beta2 = PDupwindNthSymmfdOrder83(&beta2[index]);
+ PDupwindNthAnti1beta3 = PDupwindNthAntifdOrder81(&beta3[index]);
+ PDupwindNthSymm1beta3 = PDupwindNthSymmfdOrder81(&beta3[index]);
+ PDupwindNthAnti2beta3 = PDupwindNthAntifdOrder82(&beta3[index]);
+ PDupwindNthSymm2beta3 = PDupwindNthSymmfdOrder82(&beta3[index]);
+ PDupwindNthAnti3beta3 = PDupwindNthAntifdOrder83(&beta3[index]);
+ PDupwindNthSymm3beta3 = PDupwindNthSymmfdOrder83(&beta3[index]);
+ break;
+ }
/* Calculate temporaries and grid functions */
+ CCTK_REAL_VEC JacPDupwindNthAnti1alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti1beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti2alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti2beta3;
+ CCTK_REAL_VEC JacPDupwindNthAnti3alpha;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta1;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta2;
+ CCTK_REAL_VEC JacPDupwindNthAnti3beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm1alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm1beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm2alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm2beta3;
+ CCTK_REAL_VEC JacPDupwindNthSymm3alpha;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta1;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta2;
+ CCTK_REAL_VEC JacPDupwindNthSymm3beta3;
+
+ if (use_jacobian)
+ {
+ JacPDupwindNthAnti1alpha =
+ kmadd(J11L,PDupwindNthAnti1alpha,kmadd(J21L,PDupwindNthAnti2alpha,kmul(J31L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti1beta1 =
+ kmadd(J11L,PDupwindNthAnti1beta1,kmadd(J21L,PDupwindNthAnti2beta1,kmul(J31L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti1beta2 =
+ kmadd(J11L,PDupwindNthAnti1beta2,kmadd(J21L,PDupwindNthAnti2beta2,kmul(J31L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti1beta3 =
+ kmadd(J11L,PDupwindNthAnti1beta3,kmadd(J21L,PDupwindNthAnti2beta3,kmul(J31L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthSymm1alpha =
+ kmadd(J11L,PDupwindNthSymm1alpha,kmadd(J21L,PDupwindNthSymm2alpha,kmul(J31L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm1beta1 =
+ kmadd(J11L,PDupwindNthSymm1beta1,kmadd(J21L,PDupwindNthSymm2beta1,kmul(J31L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm1beta2 =
+ kmadd(J11L,PDupwindNthSymm1beta2,kmadd(J21L,PDupwindNthSymm2beta2,kmul(J31L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm1beta3 =
+ kmadd(J11L,PDupwindNthSymm1beta3,kmadd(J21L,PDupwindNthSymm2beta3,kmul(J31L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthAnti2alpha =
+ kmadd(J12L,PDupwindNthAnti1alpha,kmadd(J22L,PDupwindNthAnti2alpha,kmul(J32L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti2beta1 =
+ kmadd(J12L,PDupwindNthAnti1beta1,kmadd(J22L,PDupwindNthAnti2beta1,kmul(J32L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti2beta2 =
+ kmadd(J12L,PDupwindNthAnti1beta2,kmadd(J22L,PDupwindNthAnti2beta2,kmul(J32L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti2beta3 =
+ kmadd(J12L,PDupwindNthAnti1beta3,kmadd(J22L,PDupwindNthAnti2beta3,kmul(J32L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthSymm2alpha =
+ kmadd(J12L,PDupwindNthSymm1alpha,kmadd(J22L,PDupwindNthSymm2alpha,kmul(J32L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm2beta1 =
+ kmadd(J12L,PDupwindNthSymm1beta1,kmadd(J22L,PDupwindNthSymm2beta1,kmul(J32L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm2beta2 =
+ kmadd(J12L,PDupwindNthSymm1beta2,kmadd(J22L,PDupwindNthSymm2beta2,kmul(J32L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm2beta3 =
+ kmadd(J12L,PDupwindNthSymm1beta3,kmadd(J22L,PDupwindNthSymm2beta3,kmul(J32L,PDupwindNthSymm3beta3)));
+
+ JacPDupwindNthAnti3alpha =
+ kmadd(J13L,PDupwindNthAnti1alpha,kmadd(J23L,PDupwindNthAnti2alpha,kmul(J33L,PDupwindNthAnti3alpha)));
+
+ JacPDupwindNthAnti3beta1 =
+ kmadd(J13L,PDupwindNthAnti1beta1,kmadd(J23L,PDupwindNthAnti2beta1,kmul(J33L,PDupwindNthAnti3beta1)));
+
+ JacPDupwindNthAnti3beta2 =
+ kmadd(J13L,PDupwindNthAnti1beta2,kmadd(J23L,PDupwindNthAnti2beta2,kmul(J33L,PDupwindNthAnti3beta2)));
+
+ JacPDupwindNthAnti3beta3 =
+ kmadd(J13L,PDupwindNthAnti1beta3,kmadd(J23L,PDupwindNthAnti2beta3,kmul(J33L,PDupwindNthAnti3beta3)));
+
+ JacPDupwindNthSymm3alpha =
+ kmadd(J13L,PDupwindNthSymm1alpha,kmadd(J23L,PDupwindNthSymm2alpha,kmul(J33L,PDupwindNthSymm3alpha)));
+
+ JacPDupwindNthSymm3beta1 =
+ kmadd(J13L,PDupwindNthSymm1beta1,kmadd(J23L,PDupwindNthSymm2beta1,kmul(J33L,PDupwindNthSymm3beta1)));
+
+ JacPDupwindNthSymm3beta2 =
+ kmadd(J13L,PDupwindNthSymm1beta2,kmadd(J23L,PDupwindNthSymm2beta2,kmul(J33L,PDupwindNthSymm3beta2)));
+
+ JacPDupwindNthSymm3beta3 =
+ kmadd(J13L,PDupwindNthSymm1beta3,kmadd(J23L,PDupwindNthSymm2beta3,kmul(J33L,PDupwindNthSymm3beta3)));
+ }
+ else
+ {
+ JacPDupwindNthAnti1alpha = PDupwindNthAnti1alpha;
+
+ JacPDupwindNthAnti1beta1 = PDupwindNthAnti1beta1;
+
+ JacPDupwindNthAnti1beta2 = PDupwindNthAnti1beta2;
+
+ JacPDupwindNthAnti1beta3 = PDupwindNthAnti1beta3;
+
+ JacPDupwindNthSymm1alpha = PDupwindNthSymm1alpha;
+
+ JacPDupwindNthSymm1beta1 = PDupwindNthSymm1beta1;
+
+ JacPDupwindNthSymm1beta2 = PDupwindNthSymm1beta2;
+
+ JacPDupwindNthSymm1beta3 = PDupwindNthSymm1beta3;
+
+ JacPDupwindNthAnti2alpha = PDupwindNthAnti2alpha;
+
+ JacPDupwindNthAnti2beta1 = PDupwindNthAnti2beta1;
+
+ JacPDupwindNthAnti2beta2 = PDupwindNthAnti2beta2;
+
+ JacPDupwindNthAnti2beta3 = PDupwindNthAnti2beta3;
+
+ JacPDupwindNthSymm2alpha = PDupwindNthSymm2alpha;
+
+ JacPDupwindNthSymm2beta1 = PDupwindNthSymm2beta1;
+
+ JacPDupwindNthSymm2beta2 = PDupwindNthSymm2beta2;
+
+ JacPDupwindNthSymm2beta3 = PDupwindNthSymm2beta3;
+
+ JacPDupwindNthAnti3alpha = PDupwindNthAnti3alpha;
+
+ JacPDupwindNthAnti3beta1 = PDupwindNthAnti3beta1;
+
+ JacPDupwindNthAnti3beta2 = PDupwindNthAnti3beta2;
+
+ JacPDupwindNthAnti3beta3 = PDupwindNthAnti3beta3;
+
+ JacPDupwindNthSymm3alpha = PDupwindNthSymm3alpha;
+
+ JacPDupwindNthSymm3beta1 = PDupwindNthSymm3beta1;
+
+ JacPDupwindNthSymm3beta2 = PDupwindNthSymm3beta2;
+
+ JacPDupwindNthSymm3beta3 = PDupwindNthSymm3beta3;
+ }
+
ptrdiff_t dir1 = Sign(beta1L);
ptrdiff_t dir2 = Sign(beta2L);
@@ -173,20 +571,20 @@ static void ML_BSSN_convertToADMBaseDtLapseShift_Body(cGH const * restrict const
kfmin(ToReal(1),kexp(knmsub(rL,INV(ToReal(SpatialShiftGammaCoeffRadius)),ToReal(1))));
CCTK_REAL_VEC dtalpL =
- kmsub(kmadd(beta1L,PDupwindNthAnti1alpha,kmadd(beta2L,PDupwindNthAnti2alpha,kmadd(beta3L,PDupwindNthAnti3alpha,kmadd(PDupwindNthSymm1alpha,kfabs(beta1L),kmadd(PDupwindNthSymm2alpha,kfabs(beta2L),kmul(PDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL))));
+ kmsub(kmadd(beta1L,JacPDupwindNthAnti1alpha,kmadd(beta2L,JacPDupwindNthAnti2alpha,kmadd(beta3L,JacPDupwindNthAnti3alpha,kmadd(JacPDupwindNthSymm1alpha,kfabs(beta1L),kmadd(JacPDupwindNthSymm2alpha,kfabs(beta2L),kmul(JacPDupwindNthSymm3alpha,kfabs(beta3L))))))),ToReal(LapseAdvectionCoeff),kmul(kpow(alphaL,harmonicN),kmul(ToReal(harmonicF),kmadd(ksub(AL,trKL),ToReal(LapseACoeff),trKL))));
CCTK_REAL_VEC dtbetaxL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1beta1,kmadd(beta2L,PDupwindNthAnti2beta1,kmadd(beta3L,PDupwindNthAnti3beta1,kmadd(PDupwindNthSymm1beta1,kfabs(beta1L),kmadd(PDupwindNthSymm2beta1,kfabs(beta2L),kmul(PDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(theta,kmul(kadd(Xt1L,kmadd(beta1L,kmul(eta,ToReal(BetaDriver*(-1
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta1,kmadd(beta2L,JacPDupwindNthAnti2beta1,kmadd(beta3L,JacPDupwindNthAnti3beta1,kmadd(JacPDupwindNthSymm1beta1,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta1,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta1,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(theta,kmul(kadd(Xt1L,kmadd(beta1L,kmul(eta,ToReal(BetaDriver*(-1
+
ShiftBCoeff))),kmul(ksub(B1L,Xt1L),ToReal(ShiftBCoeff)))),ToReal(ShiftGammaCoeff))));
CCTK_REAL_VEC dtbetayL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1beta2,kmadd(beta2L,PDupwindNthAnti2beta2,kmadd(beta3L,PDupwindNthAnti3beta2,kmadd(PDupwindNthSymm1beta2,kfabs(beta1L),kmadd(PDupwindNthSymm2beta2,kfabs(beta2L),kmul(PDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(theta,kmul(kadd(Xt2L,kmadd(beta2L,kmul(eta,ToReal(BetaDriver*(-1
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta2,kmadd(beta2L,JacPDupwindNthAnti2beta2,kmadd(beta3L,JacPDupwindNthAnti3beta2,kmadd(JacPDupwindNthSymm1beta2,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta2,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta2,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(theta,kmul(kadd(Xt2L,kmadd(beta2L,kmul(eta,ToReal(BetaDriver*(-1
+
ShiftBCoeff))),kmul(ksub(B2L,Xt2L),ToReal(ShiftBCoeff)))),ToReal(ShiftGammaCoeff))));
CCTK_REAL_VEC dtbetazL =
- kmadd(kmadd(beta1L,PDupwindNthAnti1beta3,kmadd(beta2L,PDupwindNthAnti2beta3,kmadd(beta3L,PDupwindNthAnti3beta3,kmadd(PDupwindNthSymm1beta3,kfabs(beta1L),kmadd(PDupwindNthSymm2beta3,kfabs(beta2L),kmul(PDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(theta,kmul(kadd(Xt3L,kmadd(beta3L,kmul(eta,ToReal(BetaDriver*(-1
+ kmadd(kmadd(beta1L,JacPDupwindNthAnti1beta3,kmadd(beta2L,JacPDupwindNthAnti2beta3,kmadd(beta3L,JacPDupwindNthAnti3beta3,kmadd(JacPDupwindNthSymm1beta3,kfabs(beta1L),kmadd(JacPDupwindNthSymm2beta3,kfabs(beta2L),kmul(JacPDupwindNthSymm3beta3,kfabs(beta3L))))))),ToReal(ShiftAdvectionCoeff),kmul(theta,kmul(kadd(Xt3L,kmadd(beta3L,kmul(eta,ToReal(BetaDriver*(-1
+
ShiftBCoeff))),kmul(ksub(B3L,Xt3L),ToReal(ShiftBCoeff)))),ToReal(ShiftGammaCoeff))));
diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc
index 1356fbf..c6ae13c 100644
--- a/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc
+++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseDtLapseShiftBoundary.cc
@@ -58,6 +58,20 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseDtLapseShiftBoundary", 10, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -85,24 +99,129 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -130,10 +249,26 @@ static void ML_BSSN_convertToADMBaseDtLapseShiftBoundary_Body(cGH const * restri
CCTK_REAL_VEC Xt3L = vec_load(Xt3[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC eta =
kfmin(ToReal(1),kmul(INV(rL),ToReal(SpatialBetaDriverRadius)));
diff --git a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc
index 36bd7fa..12af7a3 100644
--- a/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc
+++ b/ML_BSSN/src/ML_BSSN_convertToADMBaseFakeDtLapseShift.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
const char *groups[] = {"ADMBase::dtlapse","ADMBase::dtshift","grid::coordinates","Grid::coordinates","ML_BSSN::ML_dtlapse","ML_BSSN::ML_dtshift","ML_BSSN::ML_Gamma","ML_BSSN::ML_lapse","ML_BSSN::ML_shift","ML_BSSN::ML_trace_curv"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_convertToADMBaseFakeDtLapseShift", 10, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -115,10 +234,26 @@ static void ML_BSSN_convertToADMBaseFakeDtLapseShift_Body(cGH const * restrict c
CCTK_REAL_VEC Xt3L = vec_load(Xt3[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC eta =
kfmin(ToReal(1),kmul(INV(rL),ToReal(SpatialBetaDriverRadius)));
diff --git a/ML_BSSN/src/ML_BSSN_enforce.cc b/ML_BSSN/src/ML_BSSN_enforce.cc
index 997a439..b48a3ed 100644
--- a/ML_BSSN/src/ML_BSSN_enforce.cc
+++ b/ML_BSSN/src/ML_BSSN_enforce.cc
@@ -43,6 +43,20 @@ static void ML_BSSN_enforce_Body(cGH const * restrict const cctkGH, int const di
const char *groups[] = {"ML_BSSN::ML_curv","ML_BSSN::ML_lapse","ML_BSSN::ML_metric"};
GenericFD_AssertGroupStorage(cctkGH, "ML_BSSN_enforce", 3, groups);
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
/* Include user-supplied include files */
@@ -70,24 +84,129 @@ static void ML_BSSN_enforce_Body(cGH const * restrict const cctkGH, int const di
CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi);
/* Initialize predefined quantities */
+ CCTK_REAL_VEC const p1o1024dx = kmul(INV(dx),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dy = kmul(INV(dy),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o1024dz = kmul(INV(dz),ToReal(0.0009765625));
+ CCTK_REAL_VEC const p1o120dx = kmul(INV(dx),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dy = kmul(INV(dy),ToReal(0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const p1o120dz = kmul(INV(dz),ToReal(0.00833333333333333333333333333333));
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 p1o1680dx = kmul(INV(dx),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dy = kmul(INV(dy),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o1680dz = kmul(INV(dz),ToReal(0.000595238095238095238095238095238));
+ CCTK_REAL_VEC const p1o16dx = kmul(INV(dx),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dy = kmul(INV(dy),ToReal(0.0625));
+ CCTK_REAL_VEC const p1o16dz = kmul(INV(dz),ToReal(0.0625));
+ 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 p1o24dx = kmul(INV(dx),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dy = kmul(INV(dy),ToReal(0.0416666666666666666666666666667));
CCTK_REAL_VEC const p1o24dz = kmul(INV(dz),ToReal(0.0416666666666666666666666666667));
+ CCTK_REAL_VEC const p1o256dx = kmul(INV(dx),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dy = kmul(INV(dy),ToReal(0.00390625));
+ CCTK_REAL_VEC const p1o256dz = kmul(INV(dz),ToReal(0.00390625));
+ 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 p1o4dx = kmul(INV(dx),ToReal(0.25));
+ 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 p1o4dy = kmul(INV(dy),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25)));
+ CCTK_REAL_VEC const p1o4dz = 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 p1o560dx = kmul(INV(dx),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dy = kmul(INV(dy),ToReal(0.00178571428571428571428571428571));
+ CCTK_REAL_VEC const p1o560dz = kmul(INV(dz),ToReal(0.00178571428571428571428571428571));
+ 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 p1o64dx = kmul(INV(dx),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dy = kmul(INV(dy),ToReal(0.015625));
CCTK_REAL_VEC const p1o64dz = kmul(INV(dz),ToReal(0.015625));
+ 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 p1odx = INV(dx);
+ CCTK_REAL_VEC const p1odx2 = INV(SQR(dx));
CCTK_REAL_VEC const p1ody = INV(dy);
+ CCTK_REAL_VEC const p1ody2 = INV(SQR(dy));
CCTK_REAL_VEC const p1odz = INV(dz);
+ CCTK_REAL_VEC const p1odz2 = INV(SQR(dz));
+ CCTK_REAL_VEC const pm1o120dx = kmul(INV(dx),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dy = kmul(INV(dy),ToReal(-0.00833333333333333333333333333333));
+ CCTK_REAL_VEC const pm1o120dz = kmul(INV(dz),ToReal(-0.00833333333333333333333333333333));
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));
+ CCTK_REAL_VEC const pm1o2dx = kmul(INV(dx),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dy = kmul(INV(dy),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o2dz = kmul(INV(dz),ToReal(-0.5));
+ CCTK_REAL_VEC const pm1o4dx = kmul(INV(dx),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dy = kmul(INV(dy),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o4dz = kmul(INV(dz),ToReal(-0.25));
+ CCTK_REAL_VEC const pm1o60dx = kmul(INV(dx),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dy = kmul(INV(dy),ToReal(-0.0166666666666666666666666666667));
+ CCTK_REAL_VEC const pm1o60dz = kmul(INV(dz),ToReal(-0.0166666666666666666666666666667));
+
+ /* 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
@@ -115,10 +234,26 @@ static void ML_BSSN_enforce_Body(cGH const * restrict const cctkGH, int const di
CCTK_REAL_VEC gt33L = vec_load(gt33[index]);
+
/* Include user supplied include files */
/* Precompute derivatives */
+ switch(fdOrder)
+ {
+ case 2:
+ break;
+
+ case 4:
+ break;
+
+ case 6:
+ break;
+
+ case 8:
+ break;
+ }
+
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC detgt = ToReal(1);